:root{--ink:#10241f;--ink-2:#3c5751;--ink-3:#5d7570;--brand:#1f7a66;--brand-strong:#145244;--brand-soft:#e3f2ed;--brand-glow:#3cb89a;--rail:#0d1f1a;--rail-2:#142c25;--rail-text:#c9ddd6;--rail-muted:#86a89b;--bg:#eef3f1;--surface:#fff;--surface-2:#f6f9f8;--line:#dbe5e1;--line-strong:#c3d3cd;--focus:#2a9b82;--ok:#1f7a66;--ok-bg:#e3f2ed;--warn:#8a5d00;--warn-bg:#fdf3dc;--danger:#a33a3a;--danger-bg:#fbe9e9;--info:#2f5f8f;--info-bg:#e7eff8;--neutral:#4a5d58;--neutral-bg:#edf1ef;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--shadow-1:0 1px 2px #10241f0f, 0 1px 1px #10241f0a;--shadow-2:0 12px 32px #10241f29, 0 2px 6px #10241f14;--font-display:Syne, Georgia, sans-serif;--font-body:Figtree, "Segoe UI", system-ui, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", Menlo, monospace;--rail-width:248px}*,:before,:after{box-sizing:border-box}html{font-family:var(--font-body);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:15px;line-height:1.5}body{min-height:100vh;margin:0}body.modal-open{overflow:hidden}#root{min-height:100vh}h1,h2,h3,p{margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--brand-strong);text-underline-offset:2px;text-decoration-thickness:1px}code{font-family:var(--font-mono);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 4px;font-size:.85em}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--ink-3)}.num{font-variant-numeric:tabular-nums;text-align:right}.pre-line{white-space:pre-line}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes slide-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:1px solid #0000;font-weight:600;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.btn-md{min-height:38px;padding:0 var(--space-4);font-size:.93rem}.btn-sm{min-height:30px;padding:0 var(--space-3);font-size:.85rem}.btn-primary{background:var(--brand);color:#fff;box-shadow:var(--shadow-1)}.btn-primary:hover:not(:disabled){background:var(--brand-strong)}.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}.btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--ink-3)}.btn-ghost{color:var(--ink-2);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--neutral-bg);color:var(--ink)}.btn-danger{background:var(--surface);color:var(--danger);border-color:#e3bcbc}.btn-danger:hover:not(:disabled),.confirm .btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn[aria-busy=true]{opacity:.8;cursor:progress}.btn-block{width:100%}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}.icon-btn{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--neutral-bg);color:var(--ink)}.icon-btn.on-dark{color:var(--rail-text)}.icon-btn.on-dark:hover{color:#fff;background:#ffffff14}.button-row{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.link{font-size:.9rem;font-weight:600}.form{gap:var(--space-4);margin-top:var(--space-4);display:grid}.form>.btn{justify-self:start}.form-row{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.field{gap:6px;min-width:0;display:grid}.field-inline{align-items:center;gap:var(--space-2);grid-auto-flow:column}.field-label{color:var(--ink);font-size:.86rem;font-weight:600}.field-hint{color:var(--ink-3);font-size:.8rem}.field-error,.form-error{color:var(--danger);font-size:.82rem;font-weight:600}.input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:38px;padding:8px 12px;transition:border-color .15s,box-shadow .15s}.input:hover:not(:disabled){border-color:var(--ink-3)}.input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #1f7a662e}.input[aria-invalid=true]{border-color:var(--danger)}.input:disabled{background:var(--surface-2);color:var(--ink-3)}.textarea{resize:vertical;min-height:96px;line-height:1.5}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235d7570' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:32px}.select-sm{min-height:30px;padding-top:4px;padding-bottom:4px;font-size:.85rem}.inline-form{gap:var(--space-2);align-items:flex-end;display:flex}.inline-form>.input,.inline-form>.field{flex:1}.radio-list{margin:var(--space-2) 0 0;border:0;gap:4px;padding:0;display:grid}.radio-list label{gap:var(--space-2);align-items:center;font-size:.9rem;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-1);padding:var(--space-5);min-width:0;animation:.3s ease-out both rise}.card-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.card-title{letter-spacing:-.01em;font-size:1rem;font-weight:700}.card-desc{color:var(--ink-3);margin-top:2px;font-size:.88rem}.card-actions{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.panel{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-4);gap:var(--space-2);align-content:start;display:grid}.panel h3,.result-block h3{font-size:.92rem;font-weight:700}.result-block{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--line);gap:var(--space-2);display:grid}.badge{border-radius:var(--radius-pill);white-space:nowrap;background:var(--neutral-bg);color:var(--neutral);align-items:center;gap:4px;padding:2px 8px;font-size:.76rem;font-weight:700;line-height:1.5;display:inline-flex}.badge-ok{background:var(--ok-bg);color:var(--ok)}.badge-warn{background:var(--warn-bg);color:var(--warn)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-info{background:var(--info-bg);color:var(--info)}.badge-brand{background:var(--brand-soft);color:var(--brand-strong)}.chips{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.chip{border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--surface);padding:1px 8px;font-size:.8rem;display:inline-block}.chip-link{font-weight:600;text-decoration:none}.chip-link:hover{border-color:var(--brand);background:var(--brand-soft)}.stat-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-1)}.card .stat,.panel .stat{box-shadow:none;background:var(--surface-2)}.stat-label{color:var(--ink-3);font-size:.8rem;font-weight:600}.stat-value{font-family:var(--font-display);letter-spacing:-.02em;margin-top:2px;font-size:1.5rem;font-weight:700}.stat-hint{color:var(--ink-3);margin-top:4px;font-size:.78rem}.empty-state{text-align:center;padding:var(--space-7) var(--space-4);color:var(--ink-2);justify-items:center;gap:6px;display:grid}.empty-icon{color:var(--brand);background:var(--brand-soft);border-radius:50%;place-items:center;width:52px;height:52px;margin-bottom:4px;display:grid}.empty-title{color:var(--ink);font-weight:700}.empty-body{max-width:44ch;color:var(--ink-3);font-size:.9rem}.empty-action{margin-top:var(--space-2)}.skeleton{padding:var(--space-2) 0;gap:10px;display:grid}.skeleton-row{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--neutral-bg) 0, #f7faf9 60px, var(--neutral-bg) 120px);background-size:400px 100%;height:14px;animation:1.2s linear infinite shimmer;display:block}.notice{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--info-bg);color:var(--info);border:1px solid #cbdcee;align-items:flex-start;font-size:.9rem;display:flex}.notice svg{flex:none;margin-top:2px}.notice-warn{background:var(--warn-bg);color:var(--warn);border-color:#f0dca8}.notice-danger{background:var(--danger-bg);color:var(--danger);border-color:#efc6c6}.notice-ok{background:var(--ok-bg);color:var(--ok);border-color:#bfe0d5}.rows{margin:0;padding:0;list-style:none}.rows>li,.rows>.approval{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--line);display:flex}.rows>li:first-child,.rows>.approval:first-child{border-top:0}.rows>li.empty{display:block}.rows>li>span:first-child,.row-link>span:first-child{min-width:0;display:grid}.rows .req{align-items:flex-start}.rows .req>div{gap:4px;display:grid}.row-link{align-items:center;gap:var(--space-3);width:100%;color:inherit;border-radius:var(--radius-sm);margin:-6px -8px;padding:6px 8px;text-decoration:none;display:flex}.row-link>span:first-child{flex:1}.row-link:hover{background:var(--surface-2)}.row-link svg{color:var(--ink-3)}.row-sub{color:var(--ink-3);font-size:.84rem}.row-note{color:var(--ink-3);font-size:.8rem;font-style:italic}.dup{align-items:flex-start!important}.checklist{gap:6px;margin:0;padding-left:1.2rem;display:grid}.ranked{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.ranked .card{box-shadow:none;padding:var(--space-4)}.bars{gap:10px;margin:0;padding:0;list-style:none;display:grid}.bars li{align-items:center;gap:var(--space-3);grid-template-columns:90px 1fr 28px;font-size:.88rem;display:grid}.bar-track{border-radius:var(--radius-pill);background:var(--neutral-bg);height:10px;overflow:hidden}.bar-fill{border-radius:inherit;background:linear-gradient(90deg, var(--brand), var(--brand-glow));min-width:2px;height:100%;display:block}.bar-count{text-align:right;font-weight:700}.table-wrap{margin:0 calc(var(--space-5) * -1);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.92rem}.table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);padding:var(--space-2) var(--space-5);border-bottom:1px solid var(--line);font-size:.76rem;font-weight:700}.table td{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--line);vertical-align:middle}.table tbody tr:last-child td{border-bottom:0}.table th.num,.table td.num{text-align:right}.table tr.clickable{cursor:pointer}.table tr.clickable:hover,.table tr.highlighted{background:var(--surface-2)}.table tr.highlighted{box-shadow:inset 3px 0 0 var(--brand)}.strong-link{color:var(--ink);font-weight:700;text-decoration:none}.strong-link:hover{color:var(--brand-strong);text-decoration:underline}.row-actions{white-space:nowrap;text-align:right}.kv{margin:0;display:grid}.kv-row{gap:var(--space-3);border-top:1px solid var(--line);grid-template-columns:minmax(120px,34%) 1fr;padding:8px 0;font-size:.9rem;display:grid}.kv-row:first-child{border-top:0}.kv dt{color:var(--ink-3);font-weight:600}.kv dd{overflow-wrap:anywhere;min-width:0;margin:0}.kv-nested{border-left:2px solid var(--line);padding-left:var(--space-3)}.kv-nested .kv-row{border-top:0;grid-template-columns:minmax(100px,38%) 1fr;padding:4px 0}.result-items{gap:6px;margin:0;padding-left:1.1rem;display:grid}.result .tech{margin-top:var(--space-4);border-top:1px dashed var(--line);padding-top:var(--space-3)}.tech summary{cursor:pointer;color:var(--ink-3);font-size:.84rem;font-weight:600}.out{margin:var(--space-2) 0 0;padding:var(--space-3);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);max-height:320px;font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;font-size:.78rem;overflow:auto}.draft-body{padding:var(--space-3);background:var(--surface-2);border-radius:var(--radius-sm);border:1px solid var(--line);margin:var(--space-3) 0;font-size:.9rem}.tabs{border-bottom:1px solid var(--line);scrollbar-width:thin;gap:2px;display:flex;overflow-x:auto}.tabs .tab-btn{color:var(--ink-3);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:10px 14px;font-size:.9rem;font-weight:600;display:inline-flex}.tabs .tab-btn:hover{color:var(--ink)}.tabs .tab-btn.active{color:var(--brand-strong);border-bottom-color:var(--brand)}.segmented{background:var(--neutral-bg);border-radius:var(--radius-sm);flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.segmented .tab-btn{min-height:30px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:6px;padding:4px 12px;font-size:.86rem;font-weight:600;display:inline-flex}.segmented .tab-btn.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}.tab-count{border-radius:var(--radius-pill);background:var(--line);min-width:20px;color:var(--ink-2);text-align:center;padding:0 6px;font-size:.74rem;font-weight:700;display:inline-block}.steps{gap:var(--space-2);counter-reset:step;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.step{flex:1;min-width:150px}.step button{align-items:center;gap:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--ink-2);cursor:pointer;text-align:left;padding:10px 12px;font-size:.88rem;font-weight:600;display:flex}.step-index{background:var(--neutral-bg);border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:.78rem;font-weight:700;display:grid}.step-current button{border-color:var(--brand);color:var(--ink);box-shadow:0 0 0 3px #1f7a6624}.step-current .step-index{background:var(--brand);color:#fff}.step-done .step-index{background:var(--ok-bg);color:var(--ok)}.step-blocked button{color:var(--ink-3);border-style:dashed}.overlay{z-index:50;background:#0a17136b;justify-content:flex-end;animation:.15s ease-out both fade-in;display:flex;position:fixed;inset:0}.overlay-center{padding:var(--space-4);justify-content:center;align-items:center}.overlay-nav{justify-content:flex-start}.drawer{background:var(--surface);width:min(460px,100%);height:100%;box-shadow:var(--shadow-2);flex-direction:column;animation:.2s ease-out both slide-in;display:flex}.drawer-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-5) var(--space-6) var(--space-3);display:flex}.drawer-title{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.25rem;font-weight:700}.drawer-body{padding:0 var(--space-6) var(--space-6);flex:1;overflow-y:auto}.drawer-foot{padding:var(--space-4) var(--space-6);border-top:1px solid var(--line)}.confirm{background:var(--surface);border-radius:var(--radius-lg);width:min(440px,100%);box-shadow:var(--shadow-2);padding:var(--space-6);gap:var(--space-3);animation:.18s ease-out both rise;display:grid}.confirm-body{color:var(--ink-2);font-size:.93rem}.confirm-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2);display:flex}.toast-region{right:var(--space-5);bottom:var(--space-5);z-index:60;gap:var(--space-2);width:min(380px, calc(100vw - 2 * var(--space-4)));display:grid;position:fixed}.toast{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);background:var(--ink);color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-2);font-size:.9rem;animation:.2s ease-out both rise;display:flex}.toast>span{flex:1;padding-top:1px}.toast-success svg:first-child{color:var(--brand-glow)}.toast-error{background:#3a1414}.toast-error svg:first-child{color:#ff9d9d}.toast-close{color:#ffffffb3;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:2px}.toast-close:hover{color:#fff;background:#ffffff1a}.shell{grid-template-columns:var(--rail-width) minmax(0, 1fr);min-height:100vh;display:grid}.skip-link{left:var(--space-3);z-index:100;background:var(--surface);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);font-weight:700;position:absolute;top:-60px}.skip-link:focus{top:var(--space-3)}.brand{font-family:var(--font-display);letter-spacing:-.04em;color:#fff;font-size:1.35rem;font-weight:800;line-height:1}.rail{background:linear-gradient(180deg, var(--rail-2) 0%, var(--rail) 60%, #0a1713 100%);height:100vh;color:var(--rail-text);border-right:1px solid #ffffff0f;flex-direction:column;display:flex;position:sticky;top:0}.rail-brand{padding:var(--space-5) var(--space-5) var(--space-4);justify-content:space-between;align-items:center;display:flex}.nav{padding:0 var(--space-3) var(--space-3);scrollbar-width:thin;scrollbar-color:#ffffff26 transparent;flex:1;overflow-y:auto}.nav-group{margin-top:var(--space-3)}.nav-label{padding:var(--space-2) var(--space-3) 4px;letter-spacing:.1em;text-transform:uppercase;color:var(--rail-muted);font-size:.68rem;font-weight:700}.nav-item{align-items:center;gap:var(--space-3);padding:7px var(--space-3);border-radius:var(--radius-sm);color:var(--rail-text);font-size:.92rem;font-weight:600;text-decoration:none;transition:background .12s,color .12s;display:flex}.nav-item svg{color:var(--rail-muted);flex:none}.nav-item:hover{color:#fff;background:#ffffff0f}.nav-item.active{color:#fff;box-shadow:inset 3px 0 0 var(--brand-glow);background:#3cb89a2e}.nav-item.active svg{color:var(--brand-glow)}.rail-foot{padding:var(--space-3);gap:var(--space-2);border-top:1px solid #ffffff14;display:grid}.safety summary{gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;color:#8fd6c0;align-items:flex-start;list-style:none;display:flex}.safety summary::-webkit-details-marker{display:none}.safety summary:hover{background:#ffffff0d}.safety summary svg{flex:none;margin-top:2px}.safety summary>span{font-size:.82rem;display:grid}.safety summary strong{color:var(--rail-text)}.safety-sub{color:#8fd6c0}.safety-warn summary,.safety-warn .safety-sub{color:#ffb4b4}.safety ul{padding:0 var(--space-3) var(--space-2);gap:4px;margin:4px 0 0;font-size:.8rem;list-style:none;display:grid}.safety li{justify-content:space-between;gap:var(--space-2);display:flex}.flag{font-weight:700}.flag-off{color:#8fd6c0}.flag-on{color:#ffb4b4}.user{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);display:flex}.avatar{background:var(--brand);color:#fff;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:.78rem;font-weight:700;display:grid}.user-text{flex:1;min-width:0;font-size:.84rem;display:grid}.user-text strong{color:#fff;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-text span{color:var(--rail-muted);text-transform:capitalize}.frame{flex-direction:column;min-width:0;display:flex}.topbar{z-index:20;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-7);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#eef3f1e0;display:flex;position:sticky;top:0}.global-search{align-items:center;gap:var(--space-2);width:min(520px,100%);padding:0 var(--space-3);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);min-height:38px;color:var(--ink-3);display:flex}.global-search:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #1f7a662e}.global-search input{min-height:36px;color:var(--ink);background:0 0;border:0;outline:none;flex:1}.main{width:100%;max-width:1440px;padding:var(--space-6) var(--space-7) var(--space-8);gap:var(--space-5);flex:1;align-content:start;display:grid}.mobile-bar,.mobile-search{display:none}.nav-drawer{background:var(--rail);width:min(300px,86vw);height:100%;color:var(--rail-text);box-shadow:var(--shadow-2);flex-direction:column;animation:.2s ease-out both slide-in;display:flex}.page-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.page-header-main{gap:4px;min-width:0;display:grid}.crumbs{color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;font-weight:600}.crumbs a{color:var(--ink-3);text-decoration:none}.crumbs a:hover{color:var(--brand-strong)}.crumb-sep{opacity:.6;margin:0 6px}.page-title{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(1.5rem,2.6vw,1.95rem);font-weight:700;line-height:1.15}.page-title:focus{outline:none}.page-desc{color:var(--ink-2);max-width:64ch}.page-meta{gap:var(--space-3);color:var(--ink-3);flex-wrap:wrap;align-items:center;margin-top:2px;font-size:.88rem;display:flex}.page-actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.grid-2{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.grid-3{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;display:grid}.grid-main-side{gap:var(--space-5);grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);align-items:start;display:grid}.stack{gap:var(--space-5);min-width:0;display:grid}.stat-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.toolbar-search{max-width:320px}.summary{color:var(--ink-2);font-size:.9rem}.workspace-bar{gap:var(--space-4);grid-template-columns:minmax(260px,420px) auto 1fr;align-items:end;display:grid}.board{gap:var(--space-3);padding-bottom:var(--space-2);scroll-snap-type:x proximity;grid-auto-columns:minmax(230px,1fr);grid-auto-flow:column;display:grid;overflow-x:auto}.column{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-md);scroll-snap-align:start;flex-direction:column;min-height:240px;display:flex}.column-head{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-3) var(--space-2);border-bottom:1px solid var(--line);display:flex}.column-head h2{font-size:.88rem;font-weight:700}.column-total{color:var(--ink-3);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.8rem}.column-body{gap:var(--space-2);padding:var(--space-2);align-content:start;display:grid}.column-empty{color:var(--ink-3);text-align:center;padding:var(--space-5) 0;font-size:.84rem}.deal{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-3);gap:var(--space-2);box-shadow:var(--shadow-1);animation:.25s ease-out both rise;display:grid}.deal.highlighted{border-color:var(--brand);box-shadow:0 0 0 3px #1f7a6633}.deal-name{font-size:.93rem;font-weight:700;line-height:1.3}.deal-meta{font-size:.82rem}.deal-meta a{color:var(--ink-3)}.deal-tags{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.deal-amount{font-variant-numeric:tabular-nums;font-size:.88rem;font-weight:700}.deal-actions{gap:4px;display:flex}.chat{flex-direction:column;min-height:460px;display:flex}.thread{gap:var(--space-4);padding-bottom:var(--space-4);flex:1;align-content:start;display:grid}.turn{gap:var(--space-2);display:grid}.bubble{max-width:85%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:.93rem}.bubble-user{background:var(--brand);color:#fff;border-bottom-right-radius:4px;justify-self:end}.bubble-bot{background:var(--surface-2);border:1px solid var(--line);justify-self:start;gap:var(--space-2);border-bottom-left-radius:4px;justify-items:start;display:grid}.chat-input{border-top:1px solid var(--line);padding-top:var(--space-4)}.signin{min-height:100vh;padding:var(--space-6);place-items:center;display:grid;position:relative;overflow:hidden}.signin-backdrop{background:linear-gradient(115deg,#0d1f1ad9 0%,#0d1f1a66 50%,#1f7a6640 100%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-opacity='0.06' d='M0 80h160M80 0v160M20 20l120 120M140 20L20 140'/%3E%3C/svg%3E"),radial-gradient(1200px 700px at 20% 40%,#1a4a3d,#0d1f1a 70%);position:absolute;inset:0}.signin-card{background:var(--surface);border-radius:var(--radius-lg);width:min(420px,100%);padding:var(--space-7);animation:.4s ease-out both rise;position:relative;box-shadow:0 30px 80px #00000059}.signin-card .brand{color:var(--ink);font-size:1.6rem}.signin-card h1{margin-top:var(--space-4);font-family:var(--font-display);letter-spacing:-.02em;font-size:1.3rem}.signin-lede{color:var(--ink-2);margin-top:6px;font-size:.93rem}.signin-hint{margin-top:var(--space-4);color:var(--ink-3);font-size:.84rem}.signin-safety{margin-top:var(--space-3);color:var(--ok);align-items:center;gap:6px;font-size:.8rem;font-weight:600;display:flex}@media (width<=1200px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1024px){.grid-main-side,.workspace-bar{grid-template-columns:1fr}}@media (width<=960px){.shell{grid-template-columns:1fr}.rail,.topbar{display:none}.mobile-bar{z-index:30;padding:var(--space-2) var(--space-3);background:var(--rail);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.mobile-bar .brand{font-size:1.15rem}.mobile-search{z-index:29;padding:var(--space-2) var(--space-3);background:var(--rail-2);display:block;position:sticky;top:52px}.mobile-search .global-search{width:100%}.main{padding:var(--space-5) var(--space-4) var(--space-8)}.grid-2,.grid-3{grid-template-columns:1fr}.stat-grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}.page-header{align-items:flex-start}.drawer{width:100%}}@media (width<=600px){.hide-sm{display:none}.card{padding:var(--space-4)}.table-wrap{margin:0 calc(var(--space-4) * -1)}.table th,.table td{padding-left:var(--space-4);padding-right:var(--space-4)}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.board{grid-auto-columns:82%}.kv-row{grid-template-columns:1fr;gap:2px}.toolbar-search{max-width:none}.inline-form{flex-direction:column;align-items:stretch}.toast-region{right:var(--space-3);left:var(--space-3);bottom:var(--space-3);width:auto}}
