:root{--brand:#1d3eb5;--brand-hover:#142a85;--brand-light:#3b58c9;--brand-soft:#eaeefb;--brand-border:#bcc8f0;--accent:#d97706;--accent-soft:#fef3c7;--accent-border:#fbbf24;--bg:#f7f6f3;--surface:#fff;--surface-muted:#fafaf7;--surface-hover:#f3f1ec;--surface-dark:#0f172a;--surface-dark-2:#1e293b;--text:#0f172a;--text-sub:#334155;--text-muted:#64748b;--text-faint:#94a3b8;--text-on-dark:#e2e8f0;--text-on-dark-muted:#94a3b8;--border:#e7e5e0;--border-strong:#d6d3cd;--border-dark:hsla(0,0%,100%,.08);--warning:#b45309;--warning-bg:#fef3c7;--warning-border:#fbbf24;--ok:#166534;--ok-bg:#dcfce7;--ok-border:#86efac;--danger:#991b1b;--danger-bg:#fee2e2;--danger-border:#fca5a5;--info:#1e40af;--info-bg:#dbeafe;--info-border:#93c5fd;--board-done:#fde68a;--board-scheduled:#bbf7d0;--board-pending:#fff;--board-hold:#e5e7eb;--warning-text:var(--warning);--danger-text:var(--danger);--ok-text:var(--ok);--radius-sm:7px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--shadow-xs:0 1px 2px rgba(15,23,42,.04);--shadow-sm:0 1px 3px rgba(15,23,42,.06);--shadow-md:0 4px 12px rgba(15,23,42,.06);--shadow-lg:0 8px 28px rgba(15,23,42,.08);--shadow-brand:0 2px 8px rgba(29,62,181,.25);--shadow-accent:0 2px 8px rgba(217,119,6,.35);--fs-display:30px;--fs-h1:24px;--fs-h2:18px;--fs-h3:15px;--fs-body:13px;--fs-body-sm:12px;--fs-caption:12px;--fs-overline:11px;--fs-micro:10px;--lh-display:1.15;--lh-heading:1.2;--lh-snug:1.3;--lh-table:1.4;--lh-body:1.5;--ls-tight:-0.01em;--ls-snug:-0.005em;--ls-normal:0;--ls-wide:0.04em;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--space-1:2px;--space-2:4px;--space-3:8px;--space-4:12px;--space-5:16px;--space-6:24px;--space-7:32px;--space-8:48px;--row-h-compact:32px;--row-h-comfortable:40px;--cell-py-compact:8px;--cell-px-compact:12px;--cell-py-comfortable:12px;--cell-px-comfortable:16px;--font-sans:"Pretendard","Apple SD Gothic Neo",-apple-system,BlinkMacSystemFont,"Segoe UI","Inter","Noto Sans KR",Helvetica,Arial,sans-serif;--font-mono:"JetBrains Mono","SF Mono",ui-monospace,Menlo,Monaco,Consolas,monospace}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}h1,h2,h3,h4{margin:0 0 var(--space-3);color:var(--text);letter-spacing:var(--ls-tight);line-height:var(--lh-heading);font-weight:var(--fw-bold)}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2);letter-spacing:var(--ls-snug)}h2,h3{font-weight:var(--fw-semibold)}h3{font-size:var(--fs-h3);letter-spacing:var(--ls-normal);line-height:var(--lh-snug)}p{margin:0 0 8px;color:var(--text-muted);font-size:var(--fs-body-sm)}hr{border:none;border-top:1px solid var(--border);margin:16px 0}table{width:100%;border-collapse:collapse;font-size:var(--fs-body-sm)}td,th{text-align:left;padding:var(--cell-py-compact) var(--cell-px-compact);border-bottom:1px solid var(--border);vertical-align:middle;line-height:var(--lh-table)}th{font-weight:var(--fw-semibold);color:var(--text-muted);background:var(--surface-muted);font-size:var(--fs-overline);text-transform:uppercase;letter-spacing:var(--ls-wide)}td.num,td[data-numeric],th.num,th[data-numeric]{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1,"tnum"}tbody tr:hover td{background:var(--surface-hover)}tr:last-child td{border-bottom:none}.mono,[data-numeric],code{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1,"tnum";letter-spacing:var(--ls-normal)}code{background:var(--surface-muted);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-size:var(--fs-caption)}.t-display{font-size:var(--fs-display);line-height:var(--lh-display)}.t-display,.t-h1{letter-spacing:var(--ls-tight);font-weight:var(--fw-bold)}.t-h1{font-size:var(--fs-h1)}.t-h1,.t-h2{line-height:var(--lh-heading)}.t-h2{font-size:var(--fs-h2);letter-spacing:var(--ls-snug)}.t-h2,.t-h3{font-weight:var(--fw-semibold)}.t-h3{font-size:var(--fs-h3);line-height:var(--lh-snug)}.t-body{font-size:var(--fs-body);line-height:var(--lh-body)}.t-cell{font-size:var(--fs-body-sm);line-height:var(--lh-table)}.t-micro,.t-overline{line-height:var(--lh-snug);letter-spacing:var(--ls-wide);font-weight:var(--fw-semibold);text-transform:uppercase;color:var(--text-muted)}.t-overline{font-size:var(--fs-overline)}.t-micro{font-size:var(--fs-micro)}.num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1,"tnum"}table.density-comfortable td,table.density-comfortable th{padding:var(--cell-py-comfortable) var(--cell-px-comfortable);font-size:var(--fs-body);line-height:var(--lh-body)}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:7px 10px;transition:border-color .12s ease,box-shadow .12s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}input::placeholder,textarea::placeholder{color:var(--text-faint)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:5px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}::-webkit-scrollbar-track{background:transparent}.AppShell_shell__YCowG{min-height:100vh;display:flex;background:var(--bg)}.AppShell_sidebar__urELu{width:240px;flex-shrink:0;background:var(--surface-dark);color:var(--text-on-dark);display:flex;flex-direction:column;padding:18px 12px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.AppShell_sidebarTop__IPqpU{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 8px 18px;border-bottom:1px solid var(--border-dark)}.AppShell_brand__tkE0n{display:flex;align-items:center;gap:10px;flex:1 1;min-width:0}.AppShell_brand__tkE0n:hover{text-decoration:none}.AppShell_brandMark__J3PgP{width:30px;height:30px;background:linear-gradient(135deg,var(--brand-light),var(--brand));color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px;letter-spacing:.05em;flex-shrink:0}.AppShell_brandText__6jdeV{display:flex;flex-direction:column;min-width:0}.AppShell_brandName__E75Kw{font-size:var(--fs-body);font-weight:var(--fw-bold);letter-spacing:-.01em;color:#fff;line-height:1.2}.AppShell_brandTag__txmz8{font-size:10px;color:var(--text-on-dark-muted);font-weight:var(--fw-medium);letter-spacing:.02em}.AppShell_devTag__TbSuN{font-size:9px;font-weight:var(--fw-bold);color:var(--accent);background:rgba(217,119,6,.15);border:1px solid rgba(217,119,6,.3);border-radius:999px;padding:2px 7px;letter-spacing:.06em;flex-shrink:0}.AppShell_nav__nv2Pu{display:flex;flex-direction:column;gap:16px;flex:1 1;overflow-y:auto;padding:16px 0;scrollbar-width:thin;scrollbar-color:hsla(0,0%,100%,.1) transparent}.AppShell_nav__nv2Pu::-webkit-scrollbar{width:6px}.AppShell_nav__nv2Pu::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.1);border-radius:3px;border:none}.AppShell_navGroup__vCBVc{display:flex;flex-direction:column;gap:1px}.AppShell_navGroupLabel__1UydY{font-size:10px;font-weight:var(--fw-bold);color:var(--text-faint);padding:4px 12px 6px;text-transform:uppercase;letter-spacing:.1em}.AppShell_navItem__QOYqA{display:flex;align-items:center;gap:10px;padding:7px 12px;border-radius:8px;font-size:var(--fs-body-sm);font-weight:var(--fw-medium);color:#94a3b8;position:relative;transition:background .12s ease,color .12s ease}.AppShell_navItem__QOYqA:hover{background:hsla(0,0%,100%,.05);color:var(--text-on-dark);text-decoration:none}.AppShell_navItemActive__sPOga,.AppShell_navItemActive__sPOga:hover{background:hsla(0,0%,100%,.1);color:#fff;font-weight:var(--fw-semibold)}.AppShell_navItemActive__sPOga:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;background:var(--brand-light);border-radius:2px}.AppShell_navItemPending__SmfFy,.AppShell_navItemPending__SmfFy:hover{background:hsla(0,0%,100%,.07);color:var(--text-on-dark)}.AppShell_navItemPending__SmfFy:after{content:"";width:10px;height:10px;margin-left:auto;border:2px solid hsla(0,0%,100%,.25);border-top:2px solid var(--brand-light);border-radius:999px;animation:AppShell_navSpin__QYrE4 .7s linear infinite}@keyframes AppShell_navSpin__QYrE4{to{transform:rotate(1turn)}}.AppShell_navIcon__G8Ep_{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.75}.AppShell_navItemActive__sPOga .AppShell_navIcon__G8Ep_{color:var(--brand-light);opacity:1}.AppShell_navLabel__0qXzr{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.AppShell_navCount__3ZB6l{font-size:10px;font-weight:var(--fw-bold);color:#cbd5e1;background:hsla(0,0%,100%,.1);border-radius:999px;padding:1px 7px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.AppShell_navCountAccent__iEd68{color:var(--accent);background:rgba(217,119,6,.15)}.AppShell_sidebarBottom__cFf2V{border-top:1px solid var(--border-dark);padding-top:12px;margin-top:4px}.AppShell_userChip__HznHr{display:flex;align-items:center;gap:10px;padding:8px;border-radius:8px;background:hsla(0,0%,100%,.04)}.AppShell_userAvatar__E4kGv{width:32px;height:32px;background:linear-gradient(135deg,var(--accent),#f59e0b);color:#fff;border-radius:999px;display:flex;align-items:center;justify-content:center;font-weight:var(--fw-bold);font-size:13px;flex-shrink:0}.AppShell_userInfo__LtMHS{display:flex;flex-direction:column;flex:1 1;min-width:0;gap:1px}.AppShell_userName___Jj09{font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:#fff;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.AppShell_userMeta__LBA_M{display:flex;align-items:center;gap:5px;line-height:1.2}.AppShell_userRole__mRfBt{font-size:9px;font-weight:var(--fw-bold);color:var(--brand-light);background:rgba(59,88,201,.18);border-radius:999px;padding:1px 6px;letter-spacing:.02em;flex-shrink:0}.AppShell_userEmail__J1aW4{font-size:10px;color:var(--text-on-dark-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.AppShell_logoutForm__pPTCf{margin:0}.AppShell_logoutBtn__l4HN5{background:transparent;border:1px solid hsla(0,0%,100%,.1);color:#94a3b8;border-radius:6px;padding:5px 6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s ease,color .12s ease}.AppShell_logoutBtn__l4HN5:hover{background:hsla(0,0%,100%,.06);color:#fff}.AppShell_signinLink__BuVAV{display:block;padding:10px 12px;text-align:center;font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--brand-light);background:hsla(0,0%,100%,.04);border-radius:8px}.AppShell_body__KAEU_{flex:1 1;min-width:0;display:flex;flex-direction:column}.AppShell_accessBanner__QsoPH{background:var(--warning-bg);color:var(--warning);border-bottom:1px solid var(--warning-border);padding:10px 28px;font-size:var(--fs-caption);font-weight:var(--fw-medium)}.AppShell_bannerLink__HsAE1{font-weight:var(--fw-bold);text-decoration:underline;color:inherit}.AppShell_main__NYoit{flex:1 1;min-width:0;padding:28px 32px 64px;overflow-x:hidden}@media (max-width:900px){.AppShell_shell__YCowG{flex-direction:column}.AppShell_sidebar__urELu{width:100%;height:auto;position:relative;padding:10px 12px}.AppShell_sidebarTop__IPqpU{padding-bottom:10px}.AppShell_nav__nv2Pu{flex-direction:row;overflow-x:auto;overflow-y:hidden;gap:16px;padding:10px 0}.AppShell_navGroup__vCBVc{flex-direction:row;flex-shrink:0;gap:4px}.AppShell_navGroupLabel__1UydY{display:none}.AppShell_navItem__QOYqA{white-space:nowrap;padding:6px 12px}.AppShell_navItemActive__sPOga:before,.AppShell_sidebarBottom__cFf2V{display:none}.AppShell_main__NYoit{padding:18px 16px 48px}}.AppShell_bareMain__FBudc{min-height:100vh;background:var(--bg);padding:40px 20px 64px}