:root{--bg:#0b1020;--surface:#121a2e;--surface-2:#182238;--border:#273350;--text:#e6ebf5;--muted:#94a0ba;--mint:#4fd1b3;--mint-dim:#4fd1b324;--amber:#f5b547;--amber-dim:#f5b54724;--red:#f26d6d;--red-dim:#f26d6d24;--radius:10px;--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:32px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border);padding:var(--space-4) var(--space-3);gap:var(--space-4);flex-direction:column;display:flex}.brand{letter-spacing:.02em;font-weight:700}.brand small{color:var(--muted);font-size:.8rem;font-weight:400;display:block}.nav{gap:var(--space-1);flex-direction:column;display:flex}.nav a{padding:var(--space-2) var(--space-3);border-radius:var(--radius);color:var(--muted);justify-content:space-between;align-items:center;display:flex}.nav a:hover{background:var(--surface);color:var(--text)}.nav a[aria-current=page]{background:var(--mint-dim);color:var(--mint)}.badge{color:var(--muted);border:1px solid var(--border);padding:0 var(--space-2);border-radius:999px;font-size:.7rem}.main{padding:var(--space-5);max-width:1100px}.main h1{margin:0 0 var(--space-2);font-size:1.6rem}.lead{color:var(--muted);margin:0 0 var(--space-4)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4)}.card h2{margin:0 0 var(--space-3);font-size:1.05rem}.status{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:999px;font-size:.9rem;font-weight:600;display:inline-flex}.status:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px}.status-ok{background:var(--mint-dim);color:var(--mint)}.status-degraded{background:var(--amber-dim);color:var(--amber)}.status-down{background:var(--red-dim);color:var(--red)}.facts{gap:var(--space-2) var(--space-4);margin:var(--space-3) 0 0;grid-template-columns:max-content 1fr;display:grid}.facts dt{color:var(--muted)}.facts dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0}.notice{margin-top:var(--space-4);color:var(--muted);font-size:.9rem}@media (max-width:800px){.shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border)}.nav{flex-flow:wrap}.main{padding:var(--space-3)}}@media (prefers-reduced-motion:no-preference){.nav a{transition:background-color .12s}}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.page-header h1{margin-bottom:var(--space-1)}.page-header .lead{margin-bottom:0}.section-title{margin:var(--space-5) 0 var(--space-3);font-size:1.05rem}.card+.card{margin-top:var(--space-3)}.card-error{border-color:var(--red)}.button{padding:var(--space-2) var(--space-3);border-radius:var(--radius);background:var(--mint);color:#06281f;cursor:pointer;white-space:nowrap;border:1px solid #0000;align-items:center;font-size:.95rem;font-weight:600;display:inline-flex}.button:hover{filter:brightness(1.08)}.button:disabled{opacity:.6;cursor:progress}.button-secondary{color:var(--text);border-color:var(--border);background:0 0}.table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;overflow:hidden}.table th,.table td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);vertical-align:top}.table th{color:var(--muted);font-size:.85rem;font-weight:600}.table tbody tr:last-child td{border-bottom:0}.table a{color:var(--mint)}.muted{color:var(--muted);font-size:.85rem}.status-neutral{background:var(--surface-2);color:var(--text)}.form{gap:var(--space-3);flex-direction:column;max-width:720px;display:flex}.field{gap:var(--space-1);border:0;flex-direction:column;margin:0;padding:0;display:flex}.field label,.field legend{font-size:.9rem;font-weight:600}.field input,.field textarea,.field select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-2) var(--space-3);font:inherit}.field .radio{gap:var(--space-2);align-items:center;font-weight:400;display:flex}.hint{color:var(--muted);margin:0;font-size:.85rem}.form-actions{gap:var(--space-2);display:flex}.form-error{border:1px solid var(--red);background:var(--red-dim);border-radius:var(--radius);padding:var(--space-3)}.field-errors{margin:var(--space-2) 0 0;padding-left:var(--space-4)}.list{padding-left:var(--space-4);margin:0}.prose{white-space:pre-wrap;margin:0}code{background:var(--surface-2);padding:0 var(--space-1);overflow-wrap:anywhere;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em}@media (max-width:800px){.page-header{flex-direction:column}.table{display:block;overflow-x:auto}}.page-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.inline-form{margin-top:var(--space-3);gap:var(--space-2);flex-direction:column;align-items:flex-start;display:flex}.button-danger{color:var(--red);border-color:var(--red);background:0 0}.approval-card .card{background:var(--surface-2)}.kpis{gap:var(--space-3);margin-top:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.kpis .card+.card{margin-top:0}.kpi-value{font-variant-numeric:tabular-nums;color:var(--mint);font-size:2rem;font-weight:700}.approval-card+.approval-card{margin-top:var(--space-4)}.decision-form{margin-top:var(--space-3);max-width:none}.timeline{padding-left:var(--space-4);gap:var(--space-1);flex-direction:column;margin:0;display:flex}.subsection-title{margin:var(--space-4) 0 var(--space-2);font-size:.95rem}.badge-fake{margin-left:var(--space-2);color:var(--amber);border-color:var(--amber);font-weight:700}.budget-line{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);font-variant-numeric:tabular-nums;flex-wrap:wrap;font-size:.9rem;display:flex}.budget-warning,.budget-exhausted{padding:var(--space-3);border:1px solid var(--border);border-radius:8px}.budget-warning{background:var(--amber-dim)}.budget-exhausted{background:var(--red-dim)}.gate-list li{margin-bottom:var(--space-2)}.page-error{max-width:640px;margin:64px auto;padding-left:16px;padding-right:16px}.prewrap{white-space:pre-wrap}.main{min-width:0}@media (max-width:800px){.shell{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:minmax(0,1fr)}.sidebar{padding-top:calc(var(--space-3) + env(safe-area-inset-top));gap:var(--space-2)}.nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.nav a{white-space:nowrap;gap:var(--space-2);min-height:44px}.button{justify-content:center;min-height:44px}.field input,.field textarea,.field select{min-height:44px;font-size:16px}.form,.form-actions,.page-actions{max-width:none}.form-actions,.page-actions{flex-direction:column;align-items:stretch}.card{padding:var(--space-3)}.facts{gap:var(--space-1);grid-template-columns:1fr}.facts dd{margin-bottom:var(--space-2)}.table-cards,.table-cards tbody,.table-cards tr,.table-cards td{width:100%;display:block}.table-cards{background:0 0;border:0;overflow:visible}.table-cards thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.table-cards tr{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--space-3);padding:var(--space-2) 0}.table-cards td{padding:var(--space-1) var(--space-3);border-bottom:0}.table-cards td:before{content:attr(data-label);color:var(--muted);font-size:.75rem;display:block}.table-cards td:first-child{font-weight:600}.table-cards a{padding:var(--space-1) 0;display:inline-block}}.page-auth{max-width:480px;padding:calc(64px + env(safe-area-inset-top)) var(--space-3) var(--space-3);margin:0 auto}.page-auth h1{margin:0 0 var(--space-2);font-size:1.4rem}.page-auth .hint{margin-top:var(--space-4)}.logout{margin-top:auto}@media (max-width:800px){.logout{margin-top:0}}
