@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.css');

:root{
  --navy:#0A2745;
  --navy-8:#0E3560;
  --navy-7:#123E6B;
  --navy-5:#1E5490;
  --orange:#F05F22;
  --orange-dk:#D64E14;
  --orange-lt:#FFF4EE;
  --ink:#1D2A38;
  --muted:#6B7A8D;
  --line:#E5E8EC;
  --line-2:#EFF1F4;
  --bg:#F4F6F8;
  --side-w:224px;
  --top-h:56px;
}

*{margin:0;padding:0;box-sizing:border-box;}
body{
  font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Malgun Gothic',sans-serif;
  background:var(--bg);color:var(--ink);font-size:14px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
li{list-style:none;}
img{display:block;max-width:100%;}
input,select,textarea,button{font-family:inherit;font-size:inherit;color:inherit;}
table{border-collapse:collapse;width:100%;}
.mt8{margin-top:8px;} .mt16{margin-top:16px;} .mt24{margin-top:24px;}
.flex{display:flex;align-items:center;gap:8px;}
.flex-sb{display:flex;align-items:center;justify-content:space-between;gap:12px;}

/* ============ TOP BAR ============ */
.topbar{
  position:fixed;top:0;left:0;right:0;height:var(--top-h);z-index:60;
  background:#fff;border-bottom:1px solid var(--line);
  display:flex;align-items:center;padding:0 20px;
}
.tb-logo{display:flex;align-items:center;gap:9px;flex:0 0 auto;padding-right:20px;}
.tb-logo img{height:26px;width:auto;}
.tb-logo b{font-size:14px;font-weight:700;letter-spacing:-.3px;padding-left:10px;border-left:1px solid var(--line);}
.tb-nav{display:flex;align-items:center;gap:22px;padding-left:20px;border-left:1px solid var(--line);height:22px;}
.tb-nav a{font-size:13.5px;color:#43536A;font-weight:500;}
.tb-nav a:hover{color:var(--orange);}
.tb-r{display:flex;align-items:center;gap:10px;margin-left:auto;}
.tb-r .todo-badge{
  display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 11px;
  border:1px solid var(--orange);border-radius:5px;color:var(--orange);
  font-size:12.5px;font-weight:600;
}
.tb-r .me{font-size:13px;color:#43536A;}
.tb-r .me b{font-weight:600;color:var(--ink);}
.tb-btn{
  display:inline-flex;align-items:center;height:29px;padding:0 12px;
  border:1px solid var(--line);border-radius:5px;background:#fff;
  font-size:12.5px;color:#43536A;cursor:pointer;
}
.tb-btn:hover{border-color:#B9C3CF;color:var(--ink);}
.sidetoggle{display:none;width:32px;height:32px;border:1px solid var(--line);border-radius:5px;background:#fff;cursor:pointer;margin-right:10px;}
.sidetoggle span{display:block;width:15px;height:2px;background:var(--ink);margin:3px auto;}

/* ============ SIDEBAR ============ */
.side{
  position:fixed;top:var(--top-h);left:0;bottom:0;width:var(--side-w);z-index:55;
  background:var(--navy);overflow-y:auto;transition:transform .22s;
}
.side::-webkit-scrollbar{width:6px;}
.side::-webkit-scrollbar-thumb{background:#1B4370;border-radius:3px;}

.side-profile{padding:26px 18px 18px;text-align:center;}
.side-profile .av{
  width:70px;height:70px;margin:0 auto 12px;border-radius:50%;background:var(--orange);
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:30px;font-weight:700;
}
.side-profile b{display:block;color:#fff;font-size:15px;font-weight:700;}
.side-profile span{display:block;color:#7F94AB;font-size:12px;margin-top:3px;}

.side-sel{padding:0 16px 10px;}
.side-sel select{
  width:100%;height:38px;padding:0 10px;border-radius:5px;
  border:1px solid #234A74;background:#0E3560;color:#DCE6F0;font-size:13px;
}
.side-search{padding:0 16px 16px;position:relative;}
.side-search input{
  width:100%;height:36px;padding:0 10px 0 32px;border-radius:5px;
  border:1px solid #234A74;background:#0E3560;color:#DCE6F0;font-size:13px;
}
.side-search input::placeholder{color:#6F87A2;}
.side-search .ico{position:absolute;left:27px;top:8px;color:#6F87A2;font-size:13px;}

.side nav{padding-bottom:10px;}
.side .grp{
  display:flex;align-items:center;gap:10px;height:44px;padding:0 18px;
  color:#C3D2E2;font-size:13.5px;font-weight:500;cursor:pointer;user-select:none;
}
.side .grp svg{width:17px;height:17px;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:1.6;}
.side .grp .no{display:none;}
.side .grp .ar{margin-left:auto;font-size:10px;color:#6F87A2;}
.side .grp:hover{background:#0E3560;color:#fff;}
.side .grp.on{background:var(--orange);color:#fff;font-weight:600;}
.side .grp.on .ar{color:#fff;}
.side .sub{background:#07203A;padding:6px 0;}
.side .sub a{display:block;padding:8px 18px 8px 46px;font-size:12.8px;color:#9AB0C6;}
.side .sub a:hover{color:#fff;}
.side .sub a.on{color:#FF9E6E;font-weight:600;}
.side-foot{padding:16px 18px 30px;color:#5B738F;font-size:12px;border-top:1px solid #12365B;margin-top:10px;}
.side-foot a{display:block;padding:5px 0;color:#8DA3BA;font-size:12.5px;}
.side-foot a:hover{color:#fff;}

/* ============ LAYOUT ============ */
.main{margin-left:var(--side-w);padding-top:var(--top-h);min-height:100vh;}
.content{padding:22px 26px 60px;max-width:1720px;}

.page-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px;}
.crumb-a{font-size:12.5px;color:#8895A5;margin-bottom:5px;}
.page-tit{display:flex;align-items:center;gap:9px;}
.page-tit h1{font-size:25px;font-weight:700;letter-spacing:-.6px;}
.page-tit .code{
  display:inline-flex;align-items:center;height:21px;padding:0 8px;border-radius:4px;
  background:#EEF1F5;color:#6B7A8D;font-size:11.5px;font-weight:600;
}
.page-sub{font-size:13px;color:var(--muted);margin-top:6px;}

/* ============ QUICK RAIL ============ */
.quick{
  position:fixed;right:14px;top:96px;z-index:50;width:58px;
  background:#fff;border:1px solid var(--line);border-radius:12px;
  box-shadow:0 6px 18px rgba(16,35,60,.08);padding:8px 0;
}
.quick a{display:block;padding:9px 0;text-align:center;position:relative;}
.quick i{
  display:flex;width:32px;height:32px;margin:0 auto 4px;border-radius:50%;
  background:#F2F4F7;color:#43536A;align-items:center;justify-content:center;
  font-size:13px;font-weight:700;font-style:normal;
}
.quick span{display:block;font-size:10.5px;color:#6B7A8D;}
.quick a:hover i{background:var(--orange-lt);color:var(--orange);}
.quick .dot{position:absolute;top:7px;right:12px;width:6px;height:6px;border-radius:50%;background:#E5342A;}

/* ============ BUTTONS ============ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:5px;
  height:34px;padding:0 15px;border-radius:5px;border:1px solid transparent;
  font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:.14s;
}
.btn-pri{background:var(--navy-7);color:#fff;}
.btn-pri:hover{background:var(--navy);}
.btn-or{background:var(--orange);color:#fff;}
.btn-or:hover{background:var(--orange-dk);}
.btn-line{background:#fff;border-color:var(--line);color:#43536A;}
.btn-line:hover{border-color:#B9C3CF;color:var(--ink);}
.btn-xs{height:28px;padding:0 10px;font-size:12px;border-radius:4px;}

/* ============ PANEL ============ */
.panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px 20px 20px;}
.panel-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;}
.panel-hd h3{font-size:16px;font-weight:700;letter-spacing:-.3px;}
.panel-hd .hd-r{display:flex;align-items:center;gap:6px;}
.panel-hd .more{font-size:12.5px;color:#8895A5;}
a.more:hover{color:var(--orange);}

.grid{display:grid;gap:14px;}
.g2{grid-template-columns:repeat(2,1fr);}
.g3{grid-template-columns:repeat(3,1fr);}
.g5{grid-template-columns:repeat(5,1fr);}
.g6{grid-template-columns:repeat(6,1fr);}
.g-21{grid-template-columns:2fr 1fr;}
.g-25{grid-template-columns:2fr 5fr;}
.g-side{grid-template-columns:1fr 320px;}

/* ============ KPI ============ */
.kpi{background:#fff;border:1px solid var(--line);border-radius:8px;padding:15px 16px 16px;}
.kpi dt{font-size:12.5px;color:var(--muted);margin-bottom:7px;}
.kpi dd{font-size:26px;font-weight:700;letter-spacing:-1px;line-height:1.15;}
.kpi dd small{font-size:13px;font-weight:600;margin-left:2px;color:#56657A;}
.kpi .dif{font-size:11.8px;color:#1A9E62;margin-top:6px;}
.kpi .dif.dn{color:#D93A3A;}
.kpi .dif.gy{color:#8895A5;}
.kpi.hi{border-color:#F7C3A9;background:var(--orange-lt);}
.kpi.hi dd{color:var(--orange-dk);}
.kpi.al{border-left:3px solid var(--orange);}

/* ============ SEARCH BOX ============ */
.search-box{
  display:flex;flex-wrap:wrap;align-items:center;gap:7px;
  background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px 16px;margin-bottom:16px;
}
.search-box .lbl{font-size:12.5px;color:var(--muted);margin-right:2px;}
.search-box select,.search-box input[type=text]{
  height:34px;border:1px solid var(--line);border-radius:5px;padding:0 10px;
  background:#fff;font-size:13px;
}
.search-box input[type=text]{min-width:240px;flex:1 1 auto;}

/* ============ TABLE ============ */
.tbl-scroll{overflow-x:auto;}
.tbl-scroll .tbl{min-width:1020px;}
.tbl{font-size:13px;border-top:1px solid #D7DCE3;}
.tbl th{
  background:#F7F8FA;border:1px solid var(--line);border-top:0;
  padding:10px 8px;font-weight:600;font-size:12.5px;color:#43536A;text-align:center;
}
.tbl td{border:1px solid var(--line);padding:10px;color:#33445A;}
.tbl tbody tr:hover{background:#FAFBFC;}
.tbl .c{text-align:center;}
.tbl .r{text-align:right;}
.tbl tfoot td{background:#F7F8FA;font-weight:700;color:var(--ink);}
.tbl .subj{font-weight:500;}
.tbl .subj:hover{color:var(--orange);text-decoration:underline;}
.tbl input[type=checkbox]{width:14px;height:14px;accent-color:var(--orange);}

/* ============ BADGE ============ */
.bdg{
  display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:4px;
  font-size:11.5px;font-weight:600;white-space:nowrap;
}
.b-gr{background:#E9F7EF;color:#1A8F58;}
.b-or{background:#FFF0E7;color:#D64E14;}
.b-navy{background:#EAF0F8;color:#1E5490;}
.b-gy{background:#F1F3F6;color:#6B7A8D;}
.b-yl{background:#FFF7E3;color:#B57D09;}
.b-rd{background:#FDECEB;color:#D0332A;}
.b-line{background:#fff;border:1px solid var(--line);color:#6B7A8D;}

/* ============ FORM ============ */
.frm{border-top:1px solid #D7DCE3;}
.frm .row{display:grid;grid-template-columns:150px 1fr;border-bottom:1px solid var(--line);}
.frm dt{background:#F7F8FA;padding:11px 14px;font-size:13px;font-weight:600;color:#43536A;border-right:1px solid var(--line);}
.frm dd{padding:11px 14px;font-size:13px;color:#33445A;}
.frm dd input[type=text],.frm dd select,.frm dd textarea{
  width:100%;border:1px solid var(--line);border-radius:5px;padding:7px 10px;font-size:13px;background:#fff;
}
.frm-foot{display:flex;justify-content:center;gap:8px;margin-top:18px;}

/* ============ BAR ============ */
.bar-row{display:flex;align-items:center;gap:10px;margin-bottom:9px;}
.bar-row .bl{width:118px;font-size:12.5px;color:#43536A;flex:0 0 auto;}
.bar-row .bv{width:46px;text-align:right;font-size:12.5px;font-weight:600;flex:0 0 auto;}
.bar{display:block;flex:1 1 auto;height:8px;border-radius:4px;background:#EEF1F5;overflow:hidden;}
.bar i{display:block;height:100%;background:var(--navy-5);border-radius:4px;}
.bar i.o{background:var(--orange);}
.bar i.g{background:#27A567;}

/* ============ TODO ============ */
.todo li{display:flex;align-items:center;gap:11px;padding:13px 2px;border-bottom:1px solid var(--line-2);}
.todo li:last-child{border-bottom:0;}
.todo .n{
  width:22px;height:22px;border-radius:50%;background:var(--orange);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;flex:0 0 auto;
}
.todo a{font-size:13.5px;font-weight:500;}
.todo a:hover{color:var(--orange);}
.todo .ar{margin-left:auto;color:#B9C3CF;}

/* ============ DL ============ */
.dl li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 2px;border-bottom:1px solid var(--line-2);}
.dl li:last-child{border-bottom:0;}
.dl span{font-size:13px;color:#56657A;}
.dl b{font-size:13.5px;font-weight:600;}

/* ============ TABS ============ */
.tabs{display:flex;gap:4px;border:1px solid var(--line);border-radius:8px;margin-bottom:16px;background:#fff;padding:5px 6px;flex-wrap:wrap;}
.tabs a{padding:8px 15px;font-size:13.5px;font-weight:500;color:#6B7A8D;border-radius:5px;}
.tabs a:hover{color:var(--ink);background:#F5F6F8;}
.tabs a.on{color:#fff;background:var(--navy-7);font-weight:600;}

/* ============ NOTE ============ */
.note{
  font-size:12.5px;line-height:1.7;padding:11px 13px;border-radius:6px;
  background:var(--orange-lt);color:#9C4415;border:1px solid #F7D8C6;
}
.note.gray{background:#F7F8FA;color:#6B7A8D;border-color:var(--line);}
.note.blue{background:#EFF4FB;color:#2A5A8E;border-color:#D3E0EF;}

/* ============ STAGE ============ */
.stage-a{display:flex;align-items:center;flex-wrap:wrap;}
.stage-a li{
  display:flex;align-items:center;gap:7px;padding:7px 14px;background:#F1F3F6;
  color:#6B7A8D;font-size:12.5px;font-weight:600;border-radius:4px;margin:0 6px 6px 0;
}
.stage-a li.done{background:#E9F7EF;color:#1A8F58;}
.stage-a li.now{background:var(--orange);color:#fff;}
.stage-a .ck{font-size:11px;}

/* ============ PAGING ============ */
.paging{display:flex;justify-content:center;gap:4px;margin-top:18px;}
.paging a{
  min-width:30px;height:30px;padding:0 8px;border:1px solid var(--line);border-radius:5px;background:#fff;
  display:flex;align-items:center;justify-content:center;font-size:12.5px;color:#56657A;
}
.paging a.on{background:var(--navy-7);border-color:var(--navy-7);color:#fff;font-weight:600;}
.paging a:hover{border-color:#B9C3CF;}

/* ============ START GUIDE ============ */
.guide{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.guide-c{border:1px solid var(--line);border-radius:7px;padding:16px 18px 18px;}
.guide-c .gh{display:flex;align-items:center;gap:8px;margin-bottom:8px;}
.guide-c .gn{
  width:21px;height:21px;border-radius:50%;background:var(--orange);color:#fff;font-size:11.5px;font-weight:700;
  display:flex;align-items:center;justify-content:center;flex:0 0 auto;
}
.guide-c .gn.ok{background:#27A567;}
.guide-c .gh b{font-size:14.5px;font-weight:700;}
.guide-c p{font-size:12.8px;color:var(--muted);line-height:1.65;margin-bottom:13px;}
.guide-c.act{background:var(--orange-lt);border-color:#F7D8C6;}

/* ============ LOGIN ============ */
.login-page{
  min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px;
  background:linear-gradient(125deg,#F7873A 0%,#F05F22 45%,#DA4A10 100%);
  position:relative;overflow:hidden;
}
.login-page::before{
  content:'';position:absolute;inset:-40px;
  background-image:url('../images/pattern.svg');background-size:170px 170px;opacity:.55;
}
.login-card{
  position:relative;width:100%;max-width:440px;background:#fff;border-radius:10px;
  box-shadow:0 18px 50px rgba(120,45,10,.22);padding:44px 48px 40px;text-align:center;
}
.login-card .lc-logo{display:flex;justify-content:center;margin-bottom:18px;}
.login-card .lc-logo img{height:40px;width:auto;}
.login-card h1{font-size:21px;font-weight:700;letter-spacing:-.5px;margin-bottom:24px;}
.login-card .fld{margin-bottom:10px;text-align:left;}
.login-card .fld input{
  width:100%;height:50px;border:1px solid #DDE1E6;border-radius:6px;padding:0 16px;font-size:14px;background:#fff;
}
.login-card .fld input::placeholder{color:#A3AEBB;}
.login-card .fld input:focus{outline:none;border-color:var(--orange);}
.login-card .fld.otp{display:flex;gap:7px;}
.login-card .fld.otp button{
  flex:0 0 auto;padding:0 14px;border:1px solid #DDE1E6;border-radius:6px;background:#F7F8FA;
  font-size:12.5px;color:#56657A;cursor:pointer;
}
.login-card .save{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#56657A;margin:12px 2px 16px;}
.login-card .save input{accent-color:var(--orange);}
.btn-login{
  display:flex;align-items:center;justify-content:center;width:100%;height:52px;
  background:var(--orange);color:#fff;border:0;border-radius:6px;font-size:15.5px;font-weight:700;cursor:pointer;
}
.btn-login:hover{background:var(--orange-dk);}
.lc-links{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:18px;}
.lc-links a{font-size:13px;font-weight:600;color:var(--orange);}
.lc-links i{width:1px;height:12px;background:#E0E4E9;}
.lc-div{display:flex;align-items:center;gap:12px;margin:24px 0 16px;color:#8895A5;font-size:12.5px;}
.lc-div::before,.lc-div::after{content:'';flex:1 1 auto;height:1px;background:#E8EBEF;}
.btn-sub{
  display:flex;align-items:center;justify-content:center;width:100%;height:52px;
  border:1px solid var(--orange);border-radius:6px;color:var(--orange);font-size:14.5px;font-weight:700;background:#fff;
}
.btn-sub:hover{background:var(--orange-lt);}
.lc-help{display:flex;justify-content:center;gap:18px;margin-top:26px;}
.lc-help a{font-size:13px;font-weight:600;border-bottom:1px solid #C9CFD6;padding-bottom:1px;}
.lc-note{font-size:12px;color:#8895A5;margin-top:10px;}
.lc-lang{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:16px;font-size:12.5px;color:#56657A;}
.lc-lang select{border:0;background:transparent;font-size:12.5px;color:#56657A;}

/* ============ RESPONSIVE ============ */
@media (min-width:1501px){
  .content{padding-right:96px;}
}
@media (max-width:1500px){ .quick{display:none;} }
@media (max-width:1280px){
  .g6{grid-template-columns:repeat(3,1fr);}
  .g5{grid-template-columns:repeat(3,1fr);}
  .g-21{grid-template-columns:1fr;}
  .g-25{grid-template-columns:1fr;}
  .g-side{grid-template-columns:1fr;}
}
@media (max-width:1024px){
  .sidetoggle{display:block;}
  .side{transform:translateX(-100%);}
  .side.open{transform:translateX(0);box-shadow:0 0 40px rgba(0,0,0,.3);}
  .main{margin-left:0;}
  .tb-nav{display:none;}
  .guide{grid-template-columns:1fr;}
}
@media (max-width:760px){
  .content{padding:16px 14px 50px;}
  .g2,.g3,.g5,.g6{grid-template-columns:1fr;}
  .page-bar{flex-direction:column;align-items:flex-start;}
  .page-tit h1{font-size:21px;}
  .tb-r .me,.tb-r .todo-badge{display:none;}
  .login-card{padding:32px 24px 30px;}
}

/* ============ ADMIN FOOTER ============ */
.adm-foot{margin-top:28px;padding:20px 2px 0;border-top:1px solid var(--line);}
.adm-foot .af-links{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:10px;}
.adm-foot .af-links a{font-size:12.5px;font-weight:600;color:#43536A;}
.adm-foot .af-links a:first-child{color:var(--ink);}
.adm-foot .af-links a:hover{color:var(--orange);}
.adm-foot .af-info{font-style:normal;font-size:12px;line-height:1.8;color:#8895A5;}
.adm-foot .af-copy{margin-top:8px;font-size:12px;color:#A3AEBB;}
.side .grp .ar{padding:2px 4px;border-radius:3px;}
.side .grp .ar:hover{background:rgba(255,255,255,.14);}
.adm-foot .af-logo img{height:26px;width:auto;opacity:.8;margin-bottom:12px;}
