:root,:root[data-theme=dark]{--bg:#0a0a0f;--bg-1:#0d1117;--bg-2:#161b22;--neon-blue:#0db9f2;--neon-purple:#bc13fe;--neon-pink:#ff44b8;--neon-green:#39ff14;--neon-orange:#ff6a00;--text:#e6edf3;--text-2:#99a3ae;--text-3:#6a7480;--line:#ffffff17;--tint:.05;--dock-bg:#0d1117f5;--bar-bg:#0d1117eb}:root[data-theme=light]{--bg:#f5f6f8;--bg-1:#fff;--bg-2:#eceef1;--neon-blue:#0b7fa8;--neon-purple:#7b1fa2;--neon-pink:#c2185b;--neon-green:#1b7a2f;--neon-orange:#c1560a;--text:#17202a;--text-2:#55606d;--text-3:#6f7885;--line:#0000001c;--tint:.07;--dock-bg:#fffffff7;--bar-bg:#fffffff0}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;padding-bottom:116px;font-family:Pretendard,Noto Sans KR,Malgun Gothic,-apple-system,system-ui,sans-serif;font-size:14px;line-height:1.6;transition:background .18s,color .18s}.mono{letter-spacing:.1em;font-family:JetBrains Mono,D2Coding,Consolas,monospace}.tiny{font-size:10.5px}.dim{color:var(--text-3)}.mt8{margin-top:8px}.wrap{max-width:1180px;margin:0 auto;padding:0 20px}.gate{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.gate-box{border:1px solid var(--line);text-align:center;background:color-mix(in srgb,var(--neon-blue)3%,transparent);width:100%;max-width:380px;padding:30px 26px}.gate-brand{margin-bottom:22px;font-size:15px}.gate-title{margin-bottom:9px;font-size:18px;font-weight:500}.gate-msg{color:var(--text-2);margin-bottom:22px;font-size:13px;line-height:1.7}.gate-msg b{color:var(--text);font-weight:500}.gate-btn{width:100%;color:var(--bg);background:var(--neon-blue);cursor:pointer;border:0;padding:11px;font-family:inherit;font-size:13px}.gate-btn:hover{opacity:.88}.gate-btn:disabled{opacity:.5;cursor:default}.gate-btn.ghost{color:var(--neon-blue);border:1px solid color-mix(in srgb,var(--neon-blue)45%,transparent);background:0 0}.gate-err{color:var(--neon-pink);margin-top:12px;font-size:12px}.gate-foot{color:var(--text-3);letter-spacing:.18em;border-top:1px solid var(--line);margin-top:22px;padding-top:16px;font-size:9px}.topbar{z-index:50;background:var(--bar-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0}.topbar-in{align-items:center;gap:14px;max-width:1180px;margin:0 auto;padding:11px 20px;display:flex}.brand{letter-spacing:.1em;color:var(--neon-blue);white-space:nowrap;font-size:14px;font-weight:700}.brand span{color:var(--text-3);margin-left:5px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:400}.nav{color:var(--text-2);gap:13px;margin-left:auto;font-family:JetBrains Mono,monospace;font-size:11px;display:flex}.nav a{color:inherit;text-decoration:none}.nav a:hover{color:var(--neon-blue)}.theme-btn{letter-spacing:.14em;color:var(--text-2);border:1px solid var(--line);cursor:pointer;background:0 0;padding:5px 9px;font-family:JetBrains Mono,monospace;font-size:9.5px}.theme-btn:hover{border-color:var(--neon-blue);color:var(--neon-blue)}.section{border-bottom:1px solid var(--line);padding:26px 0}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.tag{letter-spacing:.17em;font-family:JetBrains Mono,monospace;font-size:10px}.panel-id{color:var(--text-3);font-family:JetBrains Mono,monospace;font-size:10px}.hello{margin-bottom:4px;font-size:clamp(20px,3vw,26px);font-weight:700}.hello em{color:var(--neon-green);font-style:normal}.hello-sub{color:var(--text-2);font-size:13px}.stats{flex-wrap:wrap;gap:24px;margin-top:18px;display:flex}.stat-l{letter-spacing:.15em;color:var(--text-3);font-family:JetBrains Mono,monospace;font-size:9.5px}.stat-v{font-size:26px;font-weight:700;line-height:1.2}.stat-u{color:var(--text-3);margin-left:3px;font-size:11px;font-weight:400}.card{border:1px solid var(--line);background:color-mix(in srgb,var(--text)2%,transparent);padding:12px 14px}.card-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.card-name{font-weight:500}.grid{grid-template-columns:repeat(auto-fill,minmax(238px,1fr));gap:8px;display:grid}.n-blue{border-color:color-mix(in srgb,var(--neon-blue)45%,transparent);background:color-mix(in srgb,var(--neon-blue)calc(var(--tint)*100%),transparent)}.n-purple{border-color:color-mix(in srgb,var(--neon-purple)45%,transparent);background:color-mix(in srgb,var(--neon-purple)calc(var(--tint)*100%),transparent)}.n-pink{border-color:color-mix(in srgb,var(--neon-pink)45%,transparent);background:color-mix(in srgb,var(--neon-pink)calc(var(--tint)*100%),transparent)}.n-green{border-color:color-mix(in srgb,var(--neon-green)45%,transparent);background:color-mix(in srgb,var(--neon-green)calc(var(--tint)*100%),transparent)}.n-orange{border-color:color-mix(in srgb,var(--neon-orange)45%,transparent);background:color-mix(in srgb,var(--neon-orange)calc(var(--tint)*100%),transparent)}.c-blue{color:var(--neon-blue)}.c-purple{color:var(--neon-purple)}.c-pink{color:var(--neon-pink)}.c-green{color:var(--neon-green)}.c-orange{color:var(--neon-orange)}.c-dim{color:var(--text-2)}.badge{letter-spacing:.1em;color:var(--neon-blue);border:1px solid color-mix(in srgb,var(--neon-blue)45%,transparent);vertical-align:1px;margin-left:6px;padding:1px 5px;font-family:JetBrains Mono,monospace;font-size:9px;font-style:normal}.star{color:var(--neon-orange);margin-left:4px;font-size:10px;font-style:normal}.sub{color:var(--text-3);margin-top:2px;font-size:10px;font-style:normal;display:block}.prj{border-left:2px solid var(--neon-blue);background:color-mix(in srgb,var(--neon-blue)4%,transparent)}.prj.delay{border-left-color:var(--neon-pink);background:color-mix(in srgb,var(--neon-pink)4%,transparent)}.prj.soon{border-left-color:var(--neon-orange);background:color-mix(in srgb,var(--neon-orange)4%,transparent)}.prj+.prj{margin-top:8px}.prj-head{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:11px 14px;display:block}.prj-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.prj-name{font-size:14px;font-weight:500}.prj-cust{color:var(--text-3);margin-left:8px;font-size:11px;font-weight:400}.prj-meta{white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:10px}.caret{margin-left:8px}.prj-reason{color:var(--text-2);margin-top:3px;font-size:11.5px}.stages{color:var(--text-3);flex-wrap:wrap;gap:3px 0;margin-top:8px;font-family:JetBrains Mono,monospace;font-size:9.5px;display:flex}.stg{border-right:1px solid var(--line);white-space:nowrap;padding:0 6px}.stg:last-child{border-right:0}.stg.done{color:var(--text-2)}.stg.now{color:var(--neon-blue);font-weight:700}.prj.delay .stg.now{color:var(--neon-pink)}.prj.soon .stg.now{color:var(--neon-orange)}.detail{border-top:1px solid var(--line);margin-top:2px;padding:0 14px 13px}.detail-title{letter-spacing:.16em;color:var(--text-3);padding:10px 0 6px;font-size:10px}.tbl{flex-direction:column;display:flex;overflow-x:auto}.tr{border-bottom:1px solid var(--line);grid-template-columns:minmax(150px,2.2fr) 52px 52px 52px minmax(94px,1fr) minmax(94px,1fr);align-items:start;gap:8px;min-width:560px;padding:7px 0;font-size:12.5px;display:grid}.tr:last-child{border-bottom:0}.tr.th{letter-spacing:.12em;color:var(--text-3);font-family:JetBrains Mono,monospace;font-size:9.5px}.detail-foot{color:var(--text-3);padding-top:9px;font-size:9.5px}.row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:10px;padding:9px 0;font-size:13px;display:flex}.row:last-child{border-bottom:0}.row-r{color:var(--text-2);text-align:right;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:11px}.mt12{margin-top:12px}.sales-stats{gap:22px;margin-top:4px}.pill-sub{color:var(--text-3);margin-top:2px;font-size:9.5px;font-style:normal;display:block}.docs{flex-wrap:wrap;gap:5px;margin-top:9px;display:flex}.doc{color:var(--text-3);border:1px solid var(--line);white-space:nowrap;padding:2px 7px;font-size:10.5px}.doc.on{color:var(--neon-green);border-color:color-mix(in srgb,var(--neon-green)35%,transparent)}.warn-line{border-top:1px solid var(--line);margin-top:9px;padding-top:8px;font-size:11.5px}.preorder-box{border:1px dashed color-mix(in srgb,var(--neon-blue)40%,transparent);margin-top:10px;padding:10px 12px}.preorder-list{flex-wrap:wrap;gap:6px;margin-top:7px;display:flex}.pill{border:1px solid var(--line);padding:3px 9px;font-size:11.5px}.pill b{color:var(--neon-blue);font-weight:500}.fc{align-items:flex-start;gap:9px;padding:6px 0;display:flex}.fc-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:7px}.fc-dot.danger{background:var(--neon-pink)}.fc-dot.warn{background:var(--neon-orange)}.fc-dot.info{background:var(--neon-blue)}.fc-text{font-size:12.5px;line-height:1.65}.fc-text b{font-weight:500}.fc-foot{color:var(--text-3);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:9px;padding-top:9px;font-size:9.5px;display:flex}.chip{color:var(--text-2);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:14px;padding:4px 11px;font-family:inherit;font-size:11px}.chip:hover{border-color:color-mix(in srgb,var(--neon-blue)45%,transparent);color:var(--neon-blue)}.chip.on{border-color:var(--neon-orange);color:var(--neon-orange)}.ok-btn{letter-spacing:.1em;color:var(--neon-green);border:1px solid color-mix(in srgb,var(--neon-green)45%,transparent);cursor:pointer;background:0 0;margin-top:9px;padding:5px 12px;font-family:JetBrains Mono,monospace;font-size:10px}.ok-btn:hover{background:color-mix(in srgb,var(--neon-green)10%,transparent)}.empty{color:var(--text-3);padding:10px 2px;font-size:12.5px}.dock{z-index:60;background:var(--dock-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid color-mix(in srgb,var(--neon-blue)28%,transparent);position:fixed;bottom:0;left:0;right:0}.dock-in{max-width:1180px;margin:0 auto;padding:10px 20px}.answer{border-bottom:1px solid var(--line);max-height:46vh;overflow-y:auto}.answer-in{max-width:1180px;margin:0 auto;padding:12px 20px 10px}.answer-q{color:var(--neon-blue);justify-content:space-between;gap:10px;margin-bottom:8px;font-size:11px;display:flex}.answer-x{color:var(--text-3);cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:13px;line-height:1}.answer-x:hover{color:var(--text)}.answer-title{margin-bottom:7px;font-size:14px;font-weight:500}.answer-lines{flex-direction:column;gap:5px;list-style:none;display:flex}.answer-lines li{color:var(--text-2);padding-left:13px;font-size:12.5px;line-height:1.6;position:relative}.answer-lines li:before{content:"·";color:var(--text-3);position:absolute;left:3px}.answer-lines li.t-danger{color:var(--neon-pink)}.answer-lines li.t-warn{color:var(--neon-orange)}.answer-lines li.t-ok{color:var(--neon-green)}.answer-hint{color:var(--text-3);border-top:1px solid var(--line);margin-top:9px;padding-top:8px;font-size:9.5px}.chips{flex-wrap:wrap;gap:6px;margin-bottom:9px;display:flex}.dock-row{align-items:center;gap:10px;display:flex}.dock-caret{color:var(--neon-blue);font-family:JetBrains Mono,monospace;font-size:13px}.dock-input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1;font-family:inherit;font-size:13px}.dock-input::placeholder{color:var(--text-3)}.dock-send{letter-spacing:.13em;color:var(--neon-blue);border:1px solid color-mix(in srgb,var(--neon-blue)40%,transparent);cursor:pointer;white-space:nowrap;background:0 0;padding:6px 11px;font-family:JetBrains Mono,monospace;font-size:10px}.dock-send:hover{background:color-mix(in srgb,var(--neon-blue)10%,transparent)}.ai-more{flex-wrap:wrap;gap:7px;margin-top:11px;display:flex}.ai-btn{letter-spacing:.1em;color:var(--neon-purple);border:1px solid color-mix(in srgb,var(--neon-purple)40%,transparent);cursor:pointer;white-space:nowrap;background:0 0;padding:5px 10px;font-family:JetBrains Mono,monospace;font-size:10px}.ai-btn:hover{background:color-mix(in srgb,var(--neon-purple)12%,transparent)}.ai{border-top:1px solid color-mix(in srgb,var(--neon-purple)28%,transparent);margin-top:12px;padding-top:11px}.ai-head{align-items:center;gap:9px;margin-bottom:8px;font-size:10px;display:flex}.ai-badge{letter-spacing:.16em;color:var(--neon-purple);border:1px solid color-mix(in srgb,var(--neon-purple)45%,transparent);padding:2px 6px}.ai-wait{color:var(--text-3)}.ai-wait:after{content:"";animation:1.2s steps(4,end) infinite aidots}@keyframes aidots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.ai-body{color:var(--text);font-size:13px;line-height:1.75}.ai-p{margin:0 0 8px}.ai-h{color:var(--neon-purple);letter-spacing:.02em;margin:12px 0 5px;font-size:12px;font-weight:600}.ai-h:first-child{margin-top:0}.ai-ul{flex-direction:column;gap:4px;margin:0 0 9px;list-style:none;display:flex}.ai-ul li{color:var(--text-2);padding-left:13px;position:relative}.ai-ul li:before{content:"·";color:var(--neon-purple);position:absolute;left:3px}.ai-body strong{color:var(--text);font-weight:600}.ai-fill{color:var(--neon-orange);border-bottom:1px dashed color-mix(in srgb,var(--neon-orange)60%,transparent)}.ai-err{color:var(--neon-pink);margin-top:8px;font-size:12px;line-height:1.6}@media (prefers-reduced-motion:reduce){.ai-wait:after{content:"…";animation:none}}.ed-back{z-index:200;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000008c;justify-content:center;align-items:flex-start;padding:24px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.ed{background:var(--bg-1);border:1px solid color-mix(in srgb,var(--neon-blue)32%,transparent);width:100%;max-width:620px;margin:auto}.ed-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:15px 18px 12px;display:flex}.ed-title{font-size:15px;font-weight:600}.ed-sub{color:var(--text-3);margin-top:3px;font-size:11.5px}.ed-body{flex-direction:column;gap:15px;max-height:62vh;padding:16px 18px;display:flex;overflow-y:auto}.ed-field{flex-direction:column;gap:5px;display:flex}.ed-label{color:var(--text-2);font-size:12px}.ed-req{color:var(--neon-pink);margin-left:3px}.ed-in{background:var(--bg-2);border:1px solid var(--line);width:100%;color:var(--text);outline:0;padding:8px 10px;font-family:inherit;font-size:13px}.ed-in:focus{border-color:color-mix(in srgb,var(--neon-blue)55%,transparent)}.ed-area{resize:vertical;line-height:1.6}.ed-hint{color:var(--text-3);font-size:11px;line-height:1.55}.ed-check{color:var(--text-2);cursor:pointer;align-items:center;gap:7px;font-size:13px;display:flex}.ed-check input{width:15px;height:15px;accent-color:var(--neon-blue)}.ed-rows{flex-direction:column;gap:8px;display:flex}.ed-row{border:1px solid var(--line);background:color-mix(in srgb,var(--text)2%,transparent);flex-wrap:wrap;align-items:flex-end;gap:8px;padding:9px 10px;display:flex}.ed-cell{flex-direction:column;flex:130px;gap:3px;min-width:0;display:flex}.ed-cell-l{color:var(--text-3);font-size:10.5px}.ed-row-x{color:var(--text-3);cursor:pointer;background:0 0;border:0;padding:8px 3px;font-size:12px}.ed-row-x:hover{color:var(--neon-pink)}.ed-add{color:var(--neon-blue);border:1px dashed color-mix(in srgb,var(--neon-blue)45%,transparent);cursor:pointer;background:0 0;align-self:flex-start;padding:6px 11px;font-family:JetBrains Mono,monospace;font-size:10.5px}.ed-add:hover{background:color-mix(in srgb,var(--neon-blue)8%,transparent)}.ed-empty{color:var(--text-3);font-size:11.5px}.ed-err{border:1px solid color-mix(in srgb,var(--neon-pink)45%,transparent);background:color-mix(in srgb,var(--neon-pink)8%,transparent);color:var(--neon-pink);margin:0 18px;padding:9px 11px;font-size:12px;line-height:1.55}.ed-foot{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:13px 18px;display:flex}.ed-gap{flex:1}.ed-confirm{color:var(--neon-pink);font-size:11.5px}.ed-btn{letter-spacing:.08em;color:var(--text-2);border:1px solid var(--line);cursor:pointer;background:0 0;padding:7px 13px;font-family:JetBrains Mono,monospace;font-size:11px}.ed-btn:hover:not(:disabled){color:var(--text);border-color:var(--text-3)}.ed-btn:disabled{opacity:.5;cursor:default}.ed-btn.go{color:var(--bg);background:var(--neon-blue);border-color:var(--neon-blue)}.ed-btn.go:hover:not(:disabled){filter:brightness(1.12)}.ed-btn.del{color:var(--neon-pink);border-color:color-mix(in srgb,var(--neon-pink)40%,transparent)}a.doc{text-decoration:none}a.doc:hover{border-color:color-mix(in srgb,var(--neon-blue)55%,transparent);color:var(--neon-blue)}.meet{border-left:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:8px;margin-top:6px;padding-left:9px;display:flex}.meet-txt{color:var(--text-2);font-size:11.5px;line-height:1.6}.head-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.card-foot{justify-content:space-between;align-items:center;gap:8px;display:flex}.master-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:12px;display:grid}.master-card{flex-direction:column;display:flex}.master-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;padding-bottom:6px;display:flex}.master-find{margin-bottom:6px;padding:6px 9px;font-size:12px}.master-list{overscroll-behavior:contain;max-height:340px;overflow-y:auto}.master-list .row:last-child{border-bottom:0}.add-btn{letter-spacing:.1em;color:var(--neon-green);border:1px solid color-mix(in srgb,var(--neon-green)40%,transparent);cursor:pointer;white-space:nowrap;background:0 0;padding:4px 9px;font-family:JetBrains Mono,monospace;font-size:10px}.add-btn:hover{background:color-mix(in srgb,var(--neon-green)10%,transparent)}.edit-btn{color:var(--text-3);cursor:pointer;background:0 0;border:0;padding:2px 5px;font-size:11px}.edit-btn:hover{color:var(--neon-blue)}.notice{border:1px dashed var(--line);color:var(--text-2);margin-top:22px;padding:11px 14px;font-size:12px}.notice b{color:var(--text);font-weight:500}.foot{color:var(--text-3);flex-wrap:wrap;justify-content:space-between;gap:8px;padding:20px 0 8px;font-family:JetBrains Mono,monospace;font-size:10px;display:flex}@media (max-width:640px){.nav{display:none}.stats{gap:16px}.stat-v{font-size:21px}.wrap{padding:0 14px}.topbar-in{padding:10px 14px}.dock-in{padding:9px 14px}body{padding-bottom:128px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}body{transition:none}}
