@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/variable/pretendard-dynamic-subset.css");@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard-jp/dist/web/variable/pretendard-jp-dynamic-subset.css");:root{--bg:#f7f8fa;--surface:#fff;--surface-2:#fafbfc;--surface-3:#f1f3f6;--border:#e5e8eb;--border-2:#d9dee3;--border-strong:#c4cbd3;--text-1:#191f28;--text-2:#4e5968;--text-3:#6b7684;--text-4:#a3acb7;--brand:#2457c5;--brand-600:#1a3f94;--brand-700:#15306f;--brand-50:#eaf0fc;--brand-100:#d3e0f8;--green:#15a34a;--green-50:#e9faf0;--amber:#e08600;--amber-50:#fdf3e3;--red:#e0394b;--red-50:#fdedef;--purple:#7c4dff;--purple-50:#f1ecff;--cyan:#0e9bb8;--cyan-50:#e6f7fb;--r:16px;--r-sm:12px;--r-lg:20px;--sh-sm:0 1px 2px rgba(16,24,40,.04),0 1px 3px rgba(16,24,40,.06);--sh:0 4px 14px rgba(16,24,40,.06);--sh-md:0 8px 28px rgba(16,24,40,.1);--sh-lg:0 20px 50px rgba(16,24,40,.16);--font:"Pretendard Variable","Pretendard","Inter",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;--mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",monospace}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%}body{background:var(--bg);color:var(--text-1);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5;letter-spacing:-.005em}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none}button,input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:8px;border:3px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.app{display:flex;min-height:100vh}.sidebar{width:248px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto;padding:14px 12px 16px}.main{flex:1 1;display:flex;flex-direction:column;min-width:0}.topbar{height:62px;background:hsla(0,0%,100%,.85);-webkit-backdrop-filter:saturate(1.4) blur(8px);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:14px;padding:0 22px;position:-webkit-sticky;position:sticky;top:0;z-index:20}.content{padding:24px 26px;max-width:1320px;width:100%;margin:0 auto}.skip-link{position:absolute;left:10px;top:-52px;z-index:120;background:var(--brand);color:#fff;font-weight:700;font-size:13px;padding:9px 14px;border-radius:0 0 10px 10px;box-shadow:var(--sh-md);transition:top .15s ease}.skip-link:focus{top:0}#main-content:focus{outline:none}.brand{gap:11px;padding:8px 8px 16px}.brand,.brand-mark{display:flex;align-items:center}.brand-mark{width:36px;height:36px;border-radius:11px;background:linear-gradient(140deg,#2457c5,#4f7fe3);justify-content:center;box-shadow:0 4px 12px rgba(36,87,197,.3)}.brand-name{font-weight:800;font-size:18px;letter-spacing:-.03em;line-height:1}.brand-sub{font-size:9.5px;color:var(--text-3);letter-spacing:.12em;font-weight:700;margin-top:3px}.brand-sub,.nav-group{text-transform:uppercase}.nav-group{font-size:10px;font-weight:800;color:var(--text-4);letter-spacing:.09em;padding:14px 12px 6px}.nav-item{display:flex;align-items:center;gap:11px;padding:8px 11px;border-radius:var(--r-sm);color:var(--text-2);font-weight:600;font-size:13.5px;transition:.13s;position:relative}.nav-item:hover{background:var(--surface-3);color:var(--text-1)}.nav-item.active{background:var(--brand-50);color:var(--brand-600)}.nav-item.active:before{content:"";position:absolute;left:-12px;top:50%;transform:translateY(-50%);width:3px;height:18px;background:var(--brand);border-radius:0 3px 3px 0}.nav-item svg{width:18px;height:18px;flex-shrink:0;opacity:.9}.nav-badge{margin-left:auto;background:var(--surface-3);color:var(--text-2);font-size:10.5px;font-weight:700;padding:1px 7px;border-radius:999px}.nav-item.active .nav-badge{background:var(--brand-100);color:var(--brand-600)}.tb-title{font-size:16px;font-weight:750;letter-spacing:-.02em}.tb-spacer{flex:1 1}.search{display:flex;align-items:center;gap:8px;background:var(--surface-3);border:1px solid transparent;border-radius:10px;padding:7px 12px;min-width:230px;color:var(--text-3);transition:.13s}.search:focus-within{background:#fff;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-50)}.search input{border:none;background:none;outline:none;font-size:13px;color:var(--text-1);width:100%}.iconbtn{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--text-2);position:relative;transition:.13s}.iconbtn:hover{background:var(--surface-3);color:var(--text-1)}.dot{position:absolute;top:8px;right:9px;width:7px;height:7px;border-radius:50%;background:var(--red);border:2px solid #fff}.avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(140deg,#2457c5,#4f7fe3);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}.menu{position:absolute;top:48px;right:0;min-width:220px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--sh-md);padding:7px;z-index:40}.menu-item{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:9px;font-size:13.5px;font-weight:600;color:var(--text-2);width:100%;text-align:left}.menu-item:hover{background:var(--surface-3);color:var(--text-1)}.menu-sep{height:1px;background:var(--border);margin:6px 4px}.h1{font-size:24px;font-weight:800;letter-spacing:-.03em;margin:0}.h-sub{margin-top:4px;font-size:13.5px}.h-sub,.sect{color:var(--text-2)}.sect{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--sh-sm)}.card-pad{padding:18px 20px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:14px;gap:14px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:16px 18px;box-shadow:var(--sh-sm);position:relative;overflow:hidden}.kpi-ic{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.kpi-label{font-size:12px;color:var(--text-3);font-weight:650}.kpi-value{font-size:27px;font-weight:820;letter-spacing:-.03em;margin-top:3px;line-height:1}.kpi-sub{font-size:11.5px;color:var(--text-3);margin-top:5px;font-weight:600}.tbl-wrap{overflow:auto;border-radius:var(--r)}.tbl{width:100%;border-collapse:collapse}.tbl th{text-align:left;font-size:11px;color:var(--text-3);font-weight:750;text-transform:uppercase;letter-spacing:.05em;padding:11px 14px;border-bottom:1px solid var(--border);white-space:nowrap;position:-webkit-sticky;position:sticky;top:0;background:var(--surface);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tbl th.no-sort{cursor:default}.tbl th .arr{opacity:.4;font-size:9px;margin-left:3px}.tbl td{padding:12px 14px;border-bottom:1px solid var(--border);font-size:13.5px;vertical-align:middle}.tbl tr:last-child td{border-bottom:none}.tbl tbody tr{cursor:pointer;transition:.1s}.tbl tbody tr:hover td{background:var(--surface-2)}@media (hover:hover){.tbl td.row-act{opacity:0;transition:opacity .14s}.tbl tbody tr:hover td.row-act,.tbl td.row-act:focus-within{opacity:1}}.tbl-wrap.compact .tbl td{padding:6px 10px;font-size:12.5px}.tbl-wrap.compact .tbl th{padding:7px 10px}.mono{font-family:var(--mono);font-size:12px;color:var(--text-2);font-weight:600}.pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:750;padding:3px 9px;border-radius:999px;white-space:nowrap}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.85}.pill.np:before{display:none}.p-blue{background:var(--brand-50);color:var(--brand-600)}.p-green{background:var(--green-50);color:var(--green)}.p-amber{background:var(--amber-50);color:var(--amber)}.p-red{background:var(--red-50);color:var(--red)}.p-gray{background:var(--surface-3);color:var(--text-2)}.p-purple{background:var(--purple-50);color:var(--purple)}.p-cyan{background:var(--cyan-50);color:var(--cyan)}.btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border-strong);background:#fff;color:var(--text-1);font-weight:650;font-size:13.5px;padding:8px 14px;border-radius:var(--r-sm);transition:.13s;box-shadow:var(--sh-sm)}.btn:hover{background:var(--surface-2);border-color:var(--border-2)}.btn svg{width:16px;height:16px}.btn-pri{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 2px 8px rgba(36,87,197,.26)}.btn-pri:hover{background:var(--brand-600);border-color:var(--brand-600)}.btn-sm{padding:6px 11px;font-size:12.5px}.btn-ghost{border-color:transparent;box-shadow:none;background:transparent;color:var(--text-2)}.btn-ghost:hover{background:var(--surface-3)}.btn-danger{color:var(--red);border-color:transparent;box-shadow:none;background:transparent}.btn-danger:hover{background:var(--red-50)}.seg{display:flex;background:var(--surface-3);padding:3px;border-radius:10px;gap:2px}.seg button{padding:5px 12px;border-radius:8px;font-size:12.5px;font-weight:650;color:var(--text-2);display:flex;align-items:center;gap:6px}.seg button.on{background:#fff;color:var(--text-1);box-shadow:var(--sh-sm)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:12.5px;font-weight:700;color:var(--text-2)}.in{padding:9px 12px;border:1px solid var(--border-strong);border-radius:var(--r-sm);font-size:14px;background:#fff;transition:.13s;width:100%;color:var(--text-1)}.in:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-50)}textarea.in{min-height:84px;resize:vertical}.sel{padding:7px 30px 7px 11px;border:1px solid var(--border-strong);border-radius:var(--r-sm);font-size:13px;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23516076' stroke-width='2.5'><path d='M6 9l6 6 6-6'/></svg>") no-repeat right 10px center;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-weight:600;color:var(--text-1);cursor:pointer}.row{display:flex;gap:10px;align-items:center}.sp{flex:1 1}.toolbar{display:flex;align-items:center;gap:10px;margin:18px 0 14px;flex-wrap:wrap}.scrim{inset:0;background:rgba(11,18,32,.42);z-index:60;animation:fade .15s ease}.over,.scrim{position:fixed}.over{top:0;right:0;height:100vh;width:480px;max-width:94vw;background:#fff;box-shadow:var(--sh-lg);z-index:61;display:flex;flex-direction:column;animation:slide .2s cubic-bezier(.2,.7,.3,1);transition:transform .22s cubic-bezier(.2,.7,.3,1)}.over-grip{display:none}@keyframes slide{0%{transform:translateX(30px);opacity:.6}to{transform:translateX(0);opacity:1}}@keyframes fade{0%{opacity:0}to{opacity:1}}.over-h{padding:18px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}.over-b{padding:20px 22px;overflow-y:auto;flex:1 1}.over-f{padding:14px 22px;border-top:1px solid var(--border);display:flex;gap:8px;align-items:center}.dl{display:grid;grid-template-columns:120px 1fr;grid-gap:10px 14px;gap:10px 14px;font-size:13.5px}.dl dt{color:var(--text-3);font-weight:650}.dl dd{margin:0;font-weight:600}.mscrim{position:fixed;inset:0;background:rgba(11,18,32,.42);display:flex;align-items:flex-start;justify-content:center;padding-top:6vh;z-index:60;animation:fade .15s}.modal{width:540px;max-width:94vw;background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh-lg);max-height:86vh;display:flex;flex-direction:column;animation:pop .16s ease}@keyframes pop{0%{transform:scale(.97);opacity:.6}to{transform:scale(1);opacity:1}}.modal-h{padding:20px 24px 14px;display:flex;align-items:center;gap:10px}.modal-b{padding:0 24px;overflow-y:auto}.modal-f{padding:16px 24px;display:flex;gap:8px;align-items:center;border-top:1px solid var(--border);margin-top:12px}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 14px;gap:0 14px}.muted{color:var(--text-3)}.err,.muted{font-size:12.5px}.err{background:var(--red-50);border:1px solid #f6c9cf;color:var(--red);padding:9px 12px;border-radius:10px;margin:14px 24px 0}.empty{text-align:center;padding:46px 20px;color:var(--text-3)}.empty svg{width:40px;height:40px;opacity:.35;margin-bottom:10px}.skel{background:linear-gradient(90deg,var(--surface-3) 25%,var(--surface-2) 37%,var(--surface-3) 63%);background-size:400% 100%;animation:sh 1.3s infinite;border-radius:6px}@keyframes sh{0%{background-position:100% 0}to{background-position:-100% 0}}.kb{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:14px;gap:14px;align-items:start}.kb-col{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);padding:12px}.kb-h{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:750;margin-bottom:10px;color:var(--text-2)}.kb-h .cnt{margin-left:auto;background:#fff;border:1px solid var(--border);border-radius:999px;padding:1px 8px;font-size:11px}.kb-card{background:#fff;border:1px solid var(--border);border-radius:11px;padding:11px 12px;margin-bottom:9px;box-shadow:var(--sh-sm);cursor:pointer;transition:.12s}.kb-card:hover{box-shadow:var(--sh);transform:translateY(-1px)}.heat{border-collapse:separate;border-spacing:4px}.heat td{width:62px;height:46px;border-radius:9px;text-align:center;font-weight:750;font-size:13px;color:#fff;position:relative}.heat .axis{background:transparent;color:var(--text-3);font-size:11px;font-weight:700;width:auto;height:auto}.bar{height:7px;background:var(--surface-3);overflow:hidden;min-width:80px}.bar,.bar>i{border-radius:99px}.bar>i{display:block;height:100%;background:var(--brand)}.auth{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(130% 130% at 50% -10%,#e7ecff 0,var(--bg) 52%)}.auth-card{width:412px;background:#fff;border:1px solid var(--border);border-radius:22px;box-shadow:var(--sh-lg);padding:36px 34px}.auth-tabs{display:flex;gap:4px;background:var(--surface-3);padding:4px;border-radius:12px;margin-bottom:22px}.auth-tab{flex:1 1;text-align:center;padding:9px;border-radius:9px;font-weight:700;font-size:13px;color:var(--text-2);border:0;background:transparent;cursor:pointer;font-family:inherit;line-height:inherit}.auth-tab.on{background:#fff;color:var(--text-1);box-shadow:var(--sh-sm)}.brandfoot{font-size:11px;color:var(--text-3);padding:10px 12px 4px;display:flex;align-items:center;gap:6px;font-weight:600}.brandfoot b{color:var(--brand);font-weight:800;letter-spacing:.02em}.label-chip{display:inline-flex;align-items:center;font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:6px;background:var(--brand-50);color:var(--brand-600);margin-right:4px}.cmt{display:flex;gap:10px;padding:11px 0;border-bottom:1px solid var(--border)}.cmt:last-child{border-bottom:none}.cmt .av{width:30px;height:30px;border-radius:50%;background:var(--brand-100);color:var(--brand-700);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;flex-shrink:0}.cmt .bd{flex:1 1;min-width:0}.cmt .nm{font-weight:750;font-size:12.5px}.cmt .tx{font-size:13px;color:var(--text-1);margin-top:2px;white-space:pre-wrap;word-break:break-word}.cmt .mt{font-size:10.5px;color:var(--text-3);margin-top:3px}.ment{color:var(--brand-600);font-weight:700}.gantt{overflow-x:auto}.gantt-row{display:flex;align-items:center;height:34px;border-bottom:1px solid var(--border)}.gantt-lbl{width:200px;flex-shrink:0;font-size:12.5px;font-weight:600;padding-right:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-track{position:relative;flex:1 1;height:34px}.gantt-bar{position:absolute;top:8px;height:18px;border-radius:6px;padding:0 7px;color:#fff;white-space:nowrap;overflow:hidden}.gantt-bar,.gantt-head{display:flex;align-items:center;font-size:10.5px;font-weight:700}.gantt-head{color:var(--text-3);border-bottom:1px solid var(--border);height:24px}.gantt-mon{flex:1 1;text-align:center;border-left:1px solid var(--border)}.cmdk-scrim{position:fixed;inset:0;background:rgba(20,14,10,.4);display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;z-index:80}.cmdk{width:560px;max-width:92vw;background:#fff;border-radius:16px;box-shadow:var(--sh-lg);overflow:hidden}.cmdk-in{display:flex;align-items:center;gap:10px;padding:15px 18px;border-bottom:1px solid var(--border)}.cmdk-in input{border:none;outline:none;font-size:15px;width:100%}.cmdk-item{display:flex;align-items:center;gap:11px;padding:11px 18px;font-size:13.5px;font-weight:600;cursor:pointer;color:var(--text-2)}.cmdk-item.sel,.cmdk-item:hover{background:var(--brand-50);color:var(--brand-600)}.kbd{font-family:var(--mono);font-size:10.5px;background:var(--surface-3);border:1px solid var(--border);border-radius:5px;padding:1px 6px;color:var(--text-3)}.content{animation:pageIn .35s cubic-bezier(.2,.7,.3,1)}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.brand{cursor:pointer;transition:.15s}.brand:hover{opacity:.85;transform:translateY(-1px)}.nav-item{transition:background .14s,color .14s,transform .14s}.nav-item:hover{transform:translateX(2px)}.nav-item svg{transition:transform .14s}.nav-item:hover svg{transform:scale(1.12)}.kpi{transition:transform .16s cubic-bezier(.2,.7,.3,1),box-shadow .16s;animation:fadeUp .4s both}.kpi:hover{transform:translateY(-3px);box-shadow:var(--sh-md)}.kpi:after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:3px;background:var(--kac,var(--brand));opacity:.9}.card{transition:box-shadow .16s,transform .16s}.dash-card{animation:fadeUp .45s both}.btn{transition:transform .12s,background .14s,border-color .14s,box-shadow .14s}.btn:active{transform:scale(.97)}.btn-pri:hover{box-shadow:0 4px 16px rgba(36,87,197,.34)}.kb-card{animation:fadeUp .3s both}.tbl tbody tr{transition:background .12s}.label-chip,.pill{transition:transform .12s}.label-chip:hover{transform:translateY(-1px)}.kpi.k0{--kac:#2457c5}.kpi.k1{--kac:#2f8f5b}.kpi.k2{--kac:#d98a16}.kpi.k3{--kac:#c0414f}.kpi.k4{--kac:#7c4dff}.kpi.k5{--kac:#0e9bb8}.donut-seg{transition:stroke-dashoffset 1s cubic-bezier(.3,.8,.3,1)}.gbar{transition:width .9s cubic-bezier(.3,.8,.3,1)}.countup{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hero{position:relative;overflow:hidden;border-radius:18px;padding:22px 24px;color:#fff;background:linear-gradient(120deg,#2457c5,#d97a4e 55%,#e6a36a);box-shadow:0 10px 30px rgba(36,87,197,.3);animation:fadeUp .4s both}.hero:after{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:50%;background:hsla(0,0%,100%,.13)}.hero h2{margin:0;font-size:22px;font-weight:800;letter-spacing:-.02em}.hero p{margin:6px 0 0;font-size:13.5px;opacity:.92}.avatar{cursor:pointer;transition:transform .14s,box-shadow .14s}.avatar:hover{transform:scale(1.06);box-shadow:0 4px 12px rgba(36,87,197,.3)}:root.big{zoom:1.09}.statusblock{margin:6px 8px 2px;padding:9px 11px;background:var(--surface-2);border:1px solid var(--border);border-radius:11px}.menu-btn{display:none}.g2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:16px}.g2,.g3{display:grid;gap:16px}.g3{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:16px}@media (max-width:860px){.sidebar{position:fixed;top:0;left:0;z-index:80;transform:translateX(-100%);transition:transform .22s cubic-bezier(.2,.7,.3,1);box-shadow:var(--sh-lg);width:250px}.sidebar.open{transform:none}.menu-scrim{position:fixed;inset:0;background:rgba(11,18,32,.42);z-index:75;animation:fade .15s}.menu-btn{display:flex}.content{padding:14px 12px}.topbar{padding:0 10px;gap:7px;height:56px}.tb-title{font-size:15px;max-width:34vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .search{display:none}.hide-sm{display:none!important}.hero{padding:16px;border-radius:14px}.hero h2{font-size:18px}.over{width:100%;max-width:100%}.modal{width:96vw}.kpis{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.kpi-value{font-size:23px}.h1{font-size:20px}.toolbar{gap:8px}}@media (max-width:520px){.kpis{grid-template-columns:1fr 1fr}.seg button{padding:5px 9px;font-size:12px}}.tbl tbody tr{animation:fadeUp .28s both}.card{transition:box-shadow .18s,transform .18s,border-color .18s}.card:hover,.panel:hover{border-color:var(--border-2)}.kpi-ic{transition:transform .18s}.kpi:hover .kpi-ic{transform:scale(1.1) rotate(-4deg)}.pill:hover{transform:translateY(-1px)}.modal,.over{will-change:transform}.nav-group{transition:color .14s}.btn:focus-visible,a.brand:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.h1{background:none}.tb-title{position:relative}.gowon-foot{margin:10px 8px 2px;padding-top:10px;border-top:1px solid var(--border)}.gowon-cap{font-size:9.5px;font-weight:700;color:var(--text-4);letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px}.gowon-logo{display:flex;align-items:center;gap:7px;opacity:.92;transition:opacity .15s}.gowon-logo:hover{opacity:1}.gowon-word{font-weight:800;font-size:14px;letter-spacing:.02em;color:var(--text-1)}.hero{background:linear-gradient(120deg,#b34a2c,#d97a4e 52%,#e8a86e)}.kpi{background:linear-gradient(180deg,#fff 0,var(--surface-2) 140%)}.kpi:hover{border-color:var(--brand-100)}.card-pad .sect{position:relative;padding-left:11px}.card-pad .sect:before{content:"";position:absolute;left:0;top:1px;bottom:1px;width:3px;border-radius:3px;background:var(--brand);opacity:.85}.gowon-logo svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.06))}.donut-seg{filter:drop-shadow(0 1px 1px rgba(0,0,0,.04))}.gl{stroke-dasharray:1400;stroke-dashoffset:1400;animation:draw 1.1s ease forwards}@keyframes draw{to{stroke-dashoffset:0}}.gbar2{animation:barin .9s cubic-bezier(.3,.8,.3,1) both}@keyframes barin{0%{width:0}}.gt-row:hover{background:var(--surface-2)}.gowon-logo svg circle{animation:pop2 .5s both}@keyframes pop2{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}.kpi-value{transition:color .2s}@page{margin:14mm}@media print{.menu-scrim,.mobiletabs,.no-print,.sidebar,.topbar{display:none!important}.app{display:block}.main{width:100%}.content{padding:0;max-width:100%}.card,.kpi{box-shadow:none;border:1px solid #ddd}.card,.dash-card,.g2,.kpi,.kpis,table,thead,tr{page-break-inside:avoid;break-inside:avoid}.sect{page-break-after:avoid;break-after:avoid}.tbl-wrap{overflow:visible!important}body{background:#fff}*{transition:none!important;animation:none!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.hero{background:#2457c5!important}}.pbar{height:12px;background:var(--surface-3);overflow:hidden;position:relative;box-shadow:inset 0 1px 2px rgba(0,0,0,.06)}.pbar,.pbar>i{border-radius:99px}.pbar>i{display:block;height:100%;transition:width 1s cubic-bezier(.3,.8,.3,1);box-shadow:0 1px 4px rgba(0,0,0,.14)}.pbar-anim{animation:pbarin 1s cubic-bezier(.3,.8,.3,1) both}@keyframes pbarin{0%{width:0}}@media (max-width:860px){.topbar{gap:6px;overflow:hidden}.tb-title{display:none}.toolbar .search{min-width:0;flex:1 1 150px}.toolbar .sel{flex:1 1 auto}.g2,.g3{grid-template-columns:1fr!important}.content{padding:14px 12px}.card,.seg,.tbl-wrap{max-width:100%}.seg{overflow-x:auto}.seg button{white-space:nowrap}table.tbl{min-width:560px}.kpis{grid-template-columns:1fr 1fr}.over-grip{display:block;width:40px;height:5px;border-radius:5px;background:var(--surface-3);margin:8px auto 0;flex-shrink:0;touch-action:none}.over-h{cursor:-webkit-grab;cursor:grab}}@media (max-width:520px){.proj-btn-text{max-width:84px}.kpis{grid-template-columns:1fr 1fr;gap:8px}}:where(a,button,[role=button],[role=tab],[role=menuitem],input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}.in:focus-visible,.search input:focus-visible,.search:focus-within{outline:none}.avatar:focus-visible,.iconbtn:focus-visible,.menu-item:focus-visible,.nav-item:focus-visible,.pill:focus-visible,.seg button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.tbl tbody tr:focus-within{background:var(--surface-2)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.mobiletabs{display:none}@media (max-width:860px){.mobiletabs{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -2px 12px rgba(11,18,32,.06);padding:4px 4px calc(env(safe-area-inset-bottom,0px) + 4px)}.mobiletab{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:52px;padding:6px 2px;border:none;background:none;cursor:pointer;color:var(--text-3);font-size:10.5px;font-weight:700;text-decoration:none;position:relative;border-radius:10px;transition:color .14s,background .14s}.mobiletab svg{width:21px;height:21px}.mobiletab.active{color:var(--brand);background:var(--brand-50,rgba(36,87,197,.09))}.mobiletab .mt-badge{position:absolute;top:4px;right:calc(50% - 20px);min-width:15px;height:15px;padding:0 3px;border-radius:99px;background:var(--brand);color:#fff;font-size:9.5px;font-weight:800;display:flex;align-items:center;justify-content:center;line-height:1}.main .content{padding-bottom:72px}}@media (max-width:640px){.card-pad{padding:14px 15px}.donut-svg{width:120px;height:120px}.donut-wrap{gap:16px}}@media (max-width:400px){.donut-wrap{flex-direction:column;align-items:stretch;gap:12px}.donut-svg{align-self:center}.kpi{padding:13px 14px}.kpi-value{font-size:21px}}@media (max-width:860px){.btn{min-height:44px}.btn-sm{min-height:40px}.iconbtn{width:44px;height:44px}.seg button{min-height:40px}.tbl td.row-act .btn{min-height:40px;min-width:40px;padding-left:10px;padding-right:10px}.tbl input[type=checkbox]{width:20px;height:20px}.tbl .in{min-height:40px}.tbl select.sel{min-height:38px}.tbl td .pill{padding-top:6px;padding-bottom:6px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tbl th .col-rz{position:absolute;top:0;right:-3px;width:7px;height:100%;cursor:col-resize;z-index:2;touch-action:none}.tbl th .col-rz:active,.tbl th .col-rz:hover{background:var(--brand-100,#dbe6fb)}.tbl th[style*=max-width]{overflow:hidden;text-overflow:ellipsis}.undo-toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:80;display:flex;align-items:center;gap:14px;background:#1f2a44;color:#fff;border-radius:12px;padding:10px 12px 10px 16px;box-shadow:0 10px 30px rgba(15,23,42,.28);font-size:13.5px;max-width:calc(100vw - 32px);overflow:hidden}.undo-toast span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.undo-toast .btn{background:#fff;color:#1f2a44;border-color:#fff;font-weight:800;flex:0 0 auto}.undo-toast i{position:absolute;left:0;bottom:0;height:3px;width:100%;background:#7ea2ef;transform-origin:left;animation:undoBar linear forwards}@keyframes undoBar{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.undo-toast i{animation:none}}@media print{.undo-toast{display:none}}.tb-fav{color:var(--text-4)}.tb-fav.on{color:#d99a16}.tb-fav.on svg{fill:currentColor}.tb-back{margin-right:-4px}.nav-badge.ap{background:#fdf3e3;color:#9a5d00}.nav-item.active .nav-badge.ap{background:#fbe3bf;color:#7a4700}.nav-badge+.nav-badge{margin-left:4px}@media print{.tb-back,.tb-fav{display:none}}.imp-modal{width:min(980px,96vw)}.imp-drop{display:flex;align-items:center;gap:12px;border:1.5px dashed var(--border);border-radius:12px;padding:18px;cursor:pointer;color:var(--text-2)}.imp-drop:focus-within,.imp-drop:hover{border-color:var(--brand);background:var(--brand-50)}.imp-drop input{position:absolute;opacity:0;width:1px;height:1px}.imp-wrap{overflow:auto;max-height:42vh;border:1px solid var(--border);border-radius:10px;margin-top:10px}.imp-tbl th{vertical-align:top;min-width:140px}.imp-tbl th .in{margin-top:6px;font-size:12px;padding:4px 6px}.imp-tbl td{font-size:12.5px;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.imp-sum{margin-top:10px;font-size:13.5px}.imp-bad{color:#c0414f;font-weight:700}.imp-list{margin:8px 0 0;padding-left:18px;max-height:22vh;overflow:auto;font-size:12.5px;line-height:1.7}.imp-prog{position:relative;height:22px;border-radius:11px;background:var(--surface-3);overflow:hidden;margin-top:10px}.imp-prog i{position:absolute;inset:0 auto 0 0;background:var(--brand);transition:width .2s}.imp-prog span{position:relative;display:block;text-align:center;font-size:12px;line-height:22px;font-weight:700;color:#fff;mix-blend-mode:difference}.guest-bar{background:#fdf3e3;color:#7a4700;font-size:13px;font-weight:600;padding:8px 16px;border-bottom:1px solid #f3dfb8}.guest-bar a{color:#2457c5;font-weight:800;margin-left:6px}@media print{.guest-bar{display:none}}