/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer base,components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.list-item{display:list-item}.table{display:table}.grow{flex-grow:1}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:var(--radius)}.border{border-style:var(--tw-border-style);border-width:1px}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.break-all{word-break:break-all}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.shadow{--tw-shadow:var(--shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--bg:#f9fafb;--bg-header:#fff;--bg-sidebar:#fff;--bg-card:#fff;--bg-elevated:#f3f4f6;--bg-input:#f3f4f6;--border:#e5e7eb;--border-soft:#d1d5db;--text-primary:#111827;--text-body:#111827;--text-muted:#6b7280;--text-faint:#9ca3af;--primary:#18181b;--primary-hover:#27272a;--primary-fg:#fff;--accent:#6366f1;--accent-soft:#eef2ff;--accent-dark:#4338ca;--brand:#e31837;--nav-active-bg:#f3f4f6;--nav-active-text:#111827;--scrollbar-bg:#f3f4f6;--scrollbar-thumb:#d1d5db;--radius-sm:4px;--radius:6px;--radius-md:8px;--radius-lg:12px;--radius-pill:999px;--shadow-sm:0 1px 2px #0f172a0d;--shadow:0 2px 6px -1px #0f172a0f, 0 1px 3px -1px #0f172a0a;--shadow-md:0 4px 8px -2px #0f172a14, 0 2px 4px -2px #0f172a0d;--info:#1e40af;--info-soft:#eff6ff;--info-border:#93c5fd;--warn:#f59e0b;--warn-text:#92400e;--warn-soft:#fffbeb;--warn-border:#fcd34d;--danger:#b91c1c;--danger-soft:#fee2e2;--danger-border:#fca5a5;--success:#15803d;--success-soft:#f0fdf4;--success-border:#86efac;--ai:#7c3aed;--ai-text:#5b21b6;--ai-soft:#ede9fe;--ai-border:#c4b5fd}html[data-theme=dark]{--bg:#0f1117;--bg-header:#0f1117;--bg-sidebar:#0f1117;--bg-card:#1a1d27;--bg-elevated:#242733;--bg-input:#1a1d27;--border:#2d3140;--border-soft:#404560;--text-primary:#e5e7eb;--text-body:#e5e7eb;--text-muted:#9ca3af;--text-faint:#6b7280;--primary:#e5e7eb;--primary-hover:#d1d5db;--primary-fg:#18181b;--accent:#818cf8;--accent-soft:#1f2233;--accent-dark:#a5b4fc;--brand:#e31837;--nav-active-bg:#242733;--nav-active-text:#e5e7eb;--scrollbar-bg:#0f1117;--scrollbar-thumb:#2d3140;--shadow-sm:0 1px 2px #0006;--shadow:0 2px 6px -1px #00000080, 0 1px 3px -1px #0006;--shadow-md:0 4px 12px -2px #0009, 0 2px 6px -2px #00000080;--info:#93c5fd;--info-soft:#1e3a8a33;--info-border:#1d4ed866;--warn:#fbbf24;--warn-text:#fcd34d;--warn-soft:#78350f33;--warn-border:#b4530966;--danger:#fca5a5;--danger-soft:#7f1d1d33;--danger-border:#b91c1c66;--success:#86efac;--success-soft:#14532d33;--success-border:#15803d66;--ai:#c4b5fd;--ai-text:#ddd6fe;--ai-soft:#4c1d9533;--ai-border:#7c3aed66}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text-body);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,DM Sans,Segoe UI,system-ui,sans-serif;font-size:14px}#root{min-height:100vh}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}input,select,textarea{font:inherit;color:inherit}a{color:var(--accent);text-decoration:none}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--radius-sm)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-bg)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}.muted{color:var(--text-muted)}.tnum{font-variant-numeric:tabular-nums}.right{text-align:right}.nowrap{white-space:nowrap}.auth-gate{background:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;max-width:380px;box-shadow:var(--shadow-md);padding:40px}.auth-logo{object-fit:contain;width:56px;height:56px;margin-bottom:16px}.auth-card h1{color:var(--text-primary);margin-bottom:6px;font-size:20px}.auth-card p{margin-bottom:20px}.auth-error{color:var(--danger);font-size:13px}.shell{grid-template-columns:auto 1fr;min-height:100vh;display:grid}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border);flex-direction:column;height:100vh;transition:width .15s;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand{align-items:center;gap:10px;padding:16px 14px;display:flex}.sidebar-brand img{object-fit:contain;flex:none;width:28px;height:28px}.sidebar-brand .bt{color:var(--text-primary);font-size:15px;font-weight:700;line-height:1.15}.sidebar-brand .bs{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.nav-group{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);padding:14px 16px 5px;font-size:10px;font-weight:700}.nav-item{text-align:left;width:100%;color:var(--text-muted);border-left:2px solid #0000;align-items:center;gap:9px;padding:7px 14px;font-size:13.5px;display:flex}.nav-item:hover{background:var(--bg-elevated);color:var(--text-body)}.nav-item.active{background:var(--nav-active-bg);color:var(--nav-active-text);border-left-color:var(--primary);font-weight:600}.nav-item .nav-dot{background:var(--border-soft);border-radius:2px;flex:none;width:6px;height:6px}.nav-item.active .nav-dot{background:var(--primary)}.nav-item .nav-lock{margin-left:auto;font-size:11px}.main-col{flex-direction:column;min-width:0;display:flex}.topbar{background:var(--bg-header);border-bottom:1px solid var(--border);z-index:20;align-items:center;gap:12px;padding:10px 20px;display:flex;position:sticky;top:0}.topbar h1{color:var(--text-primary);font-size:16px;font-weight:650}.topbar .spacer{flex:1}.freshness{color:var(--text-muted);cursor:help;border-bottom:1px dotted var(--border-soft);font-size:12px}.content{flex:1;min-width:0;padding:20px}.content-with-copilot{grid-template-columns:1fr 340px;align-items:start;gap:0;display:grid}.btn{border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--bg-card);color:var(--text-body);white-space:nowrap;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex}.btn:hover:not(:disabled){background:var(--bg-elevated);border-color:var(--text-muted)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-fg);font-weight:600}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-ai{background:var(--ai-soft);border-color:var(--ai-border);color:var(--ai-text);font-weight:600}.btn-ai:hover:not(:disabled){background:var(--ai-soft);filter:brightness(.97)}.btn-sm{padding:3px 9px;font-size:12px}.btn-danger{color:var(--danger);border-color:var(--danger-border)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0;padding:14px}.panel-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.panel-title{color:var(--text-primary);font-size:13px;font-weight:650}.panel-right{color:var(--text-muted);align-items:center;gap:6px;margin-left:auto;font-size:12px;display:flex}.panel-ai{border-color:var(--ai-border);background:linear-gradient(var(--ai-soft), var(--bg-card))}.panel-gated{border-left:3px solid var(--warn)}.grid{gap:12px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-32{grid-template-columns:3fr 2fr}@media (width<=1100px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3,.grid-32,.grid-2{grid-template-columns:minmax(0,1fr)}}.kpi{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px 14px}.kpi-label{letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);font-size:10.5px;font-weight:700}.kpi-value{color:var(--text-primary);font-variant-numeric:tabular-nums;letter-spacing:-.01em;margin-top:3px;font-size:22px;font-weight:680}.kpi-delta{color:var(--text-muted);margin-top:1px;font-size:12px}.kpi-delta.up{color:var(--success)}.kpi-delta.down{color:var(--danger)}.kpi-delta.warn{color:var(--warn-text)}.pill{border-radius:var(--radius-pill);white-space:nowrap;background:var(--bg-input);color:var(--text-muted);padding:2px 9px;font-size:11px;font-weight:650;display:inline-block}.pill-success{background:var(--success-soft);color:var(--success)}.pill-warn{background:var(--warn-soft);color:var(--warn-text)}.pill-danger{background:var(--danger-soft);color:var(--danger)}.pill-info{background:var(--info-soft);color:var(--info)}.pill-ai{background:var(--ai-soft);color:var(--ai-text)}.table-scroll{overflow-x:auto}table.dt{border-collapse:collapse;width:100%;font-size:13px}table.dt th{text-align:left;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border-soft);white-space:nowrap;background:var(--bg-elevated);z-index:1;padding:8px 10px;font-size:10.5px;font-weight:700;position:sticky;top:0}table.dt td{border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 10px}table.dt tbody tr:last-child td{border-bottom:none}table.dt tbody tr:hover{background:var(--bg-elevated)}table.dt td.num,table.dt th.num{text-align:right;font-variant-numeric:tabular-nums}.link-cell{color:var(--accent);cursor:pointer;font-weight:600}.link-cell:hover{text-decoration:underline}.field{flex-direction:column;gap:4px;display:flex}.field label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:650}.input,select.input,textarea.input{border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--bg-input);color:var(--text-body);width:100%;padding:6px 10px;font-size:13px}textarea.input{resize:vertical;white-space:normal;min-height:70px}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.toolbar .spacer{flex:1}.state{text-align:center;color:var(--text-muted);padding:32px 20px;font-size:13px}.state-error{color:var(--danger);background:var(--danger-soft);border:1px solid var(--danger-border);border-radius:var(--radius-md);padding:14px 16px;font-size:13px}.state-restricted{background:var(--warn-soft);border:1px solid var(--warn-border);color:var(--warn-text);border-radius:var(--radius-md);text-align:center;padding:20px}.banner{border-radius:var(--radius-md);align-items:flex-start;gap:10px;margin-bottom:14px;padding:10px 14px;font-size:13px;display:flex}.banner-warn{background:var(--warn-soft);border:1px solid var(--warn-border);color:var(--warn-text)}.banner-info{background:var(--info-soft);border:1px solid var(--info-border);color:var(--info)}.banner-ai{background:var(--ai-soft);border:1px solid var(--ai-border);color:var(--ai-text)}.skeleton{background:var(--bg-input);border-radius:var(--radius);animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:2px;margin-bottom:14px;display:flex}.tab{color:var(--text-muted);border-bottom:2px solid #0000;margin-bottom:-1px;padding:7px 13px;font-size:13px}.tab:hover{color:var(--text-body)}.tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:650}.tl-item{grid-template-columns:14px 1fr;gap:10px;padding-bottom:14px;display:grid;position:relative}.tl-item:before{content:"";background:var(--border);width:1.5px;position:absolute;top:15px;bottom:0;left:6px}.tl-item:last-child:before{display:none}.tl-dot{border:2px solid var(--border-soft);background:var(--bg-card);border-radius:50%;width:12px;height:12px;margin-top:3px}.tl-dot.hl{border-color:var(--accent)}.tl-meta{color:var(--text-muted);font-size:11.5px}.steps{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:4px;font-size:11.5px;display:flex}.step{align-items:center;gap:5px;display:flex}.step-dot{border:1.5px solid var(--border-soft);background:var(--bg-card);border-radius:50%;width:9px;height:9px}.step.done .step-dot{background:var(--success);border-color:var(--success)}.step.done{color:var(--success);font-weight:600}.step.current .step-dot{border-color:var(--accent);background:var(--accent)}.step.current{color:var(--text-primary);font-weight:650}.step-sep{color:var(--border-soft);margin:0 4px}.kanban{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}@media (width<=1100px){.kanban{grid-template-columns:repeat(2,minmax(0,1fr))}}.kan-col{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);min-height:200px;padding:10px}.kan-head{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);justify-content:space-between;margin-bottom:9px;font-size:10.5px;font-weight:700;display:flex}.kan-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;padding:9px 10px;font-size:12px}.kan-card strong{color:var(--text-primary);margin-bottom:3px;font-size:12.5px;display:block}.copilot{border-left:1px solid var(--border);background:var(--bg-card);flex-direction:column;height:calc(100vh - 45px);display:flex;position:sticky;top:45px}.copilot-head{border-bottom:1px solid var(--border);color:var(--ai-text);align-items:center;gap:8px;padding:11px 14px;font-size:13px;font-weight:650;display:flex}.copilot-body{flex-direction:column;flex:1;gap:10px;padding:12px;display:flex;overflow-y:auto}.msg{border-radius:var(--radius-md);white-space:pre-wrap;max-width:94%;padding:9px 12px;font-size:13px;line-height:1.55}.msg-user{background:var(--bg-input);align-self:flex-end}.msg-ai{background:var(--ai-soft);border:1px solid var(--ai-border);align-self:flex-start}.msg-src{color:var(--text-muted);margin-top:6px;font-family:ui-monospace,Consolas,monospace;font-size:10.5px;display:block}.copilot-foot{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.modal-backdrop{z-index:100;background:#00000073;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);width:min(760px,100%);max-height:86vh;overflow-y:auto}.modal-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:14px 18px;display:flex}.modal-head h2{color:var(--text-primary);font-size:15px;font-weight:650}.modal-body{flex-direction:column;gap:14px;padding:18px;display:flex}.modal-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.doc-brief{max-width:720px;line-height:1.65}.doc-brief h3{color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;margin:16px 0 6px;font-size:13px;font-weight:700}.doc-brief p{margin-bottom:8px}.doc-brief ul{margin:0 0 10px 18px}.doc-brief li{margin-bottom:4px}.bar-track{border-radius:var(--radius-pill);background:var(--bg-input);height:7px;overflow:hidden}.bar-fill{border-radius:var(--radius-pill);background:var(--text-muted);height:100%}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
