:root{--bg:#07110f;--panel:#0c1a17;--panel-2:#10231e;--line:#244038;--text:#ecf6f2;--muted:#9bb5ac;--green:#25d366;--green-dark:#128c4a;--amber:#f7c65c;--red:#ff7d7d;--blue:#7bb8ff;--shadow:0 18px 50px #00000038}*{box-sizing:border-box}body{background:radial-gradient(circle at top left,#15362b 0,var(--bg)35%);color:var(--text);min-height:100vh;margin:0;font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}a{color:inherit;text-decoration:none}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10;background:#07110fe0;justify-content:space-between;align-items:center;height:72px;padding:0 32px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;display:flex}.brand-mark{background:var(--green);color:#04210f;border-radius:12px;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.brand strong,.brand small{display:block}.brand small{color:var(--muted);margin-top:3px}nav{gap:8px;display:flex}nav a{color:var(--muted);border-radius:9px;padding:9px 14px}nav a:hover{background:var(--panel-2);color:var(--text)}.page{max-width:1440px;margin:0 auto;padding:32px}.page-heading{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.eyebrow{color:var(--green);text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700}h1,h2,h3,p{margin-top:0}h1{margin-bottom:8px;font-size:clamp(28px,4vw,44px)}h2{margin-bottom:16px;font-size:18px}.muted{color:var(--muted)}.panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#0c1a17eb;border-radius:16px}.button{background:var(--green);color:#04210f;cursor:pointer;border:0;border-radius:10px;padding:10px 16px;font-weight:700}.button:hover{background:#4be381}.button:disabled{cursor:not-allowed;opacity:.5}.button.secondary{color:var(--text);border:1px solid var(--line);background:0 0}.button.danger{color:var(--red)}.input{border:1px solid var(--line);width:100%;color:var(--text);background:#071411;border-radius:10px;outline:none;padding:11px 12px}.input:focus{border-color:var(--green-dark)}.error-box,.info-box{border-radius:10px;margin-bottom:14px;padding:12px 14px;font-size:14px}.error-box{color:#ffd0d0;background:#3b1618;border:1px solid #783238}.info-box{color:#d9f1e7;background:#102a23;border:1px solid #275546}.login-wrap{max-width:440px;margin:80px auto;padding:0 20px}.login-card{padding:28px}.login-card form{gap:14px;display:grid}.login-card label{color:var(--muted);gap:7px;font-size:14px;display:grid}.simulator-grid{grid-template-columns:minmax(0,1fr) 320px;gap:22px;display:grid}.chat-shell{flex-direction:column;min-height:650px;display:flex;overflow:hidden}.chat-header{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:16px 18px;display:flex}.avatar{background:var(--green-dark);border-radius:50%;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.chat-header strong,.chat-header small{display:block}.chat-header small{color:var(--muted);margin-top:3px}.messages{background-color:#0b1714;background-image:radial-gradient(#254239 .7px,#0000 .7px);background-size:18px 18px;flex-direction:column;flex:1;gap:12px;max-height:570px;padding:24px;display:flex;overflow-y:auto}.message{max-width:78%}.message.user{align-self:flex-end}.message.assistant{align-self:flex-start}.bubble{white-space:pre-wrap;background:#17322b;border-radius:12px;padding:10px 12px;line-height:1.45;box-shadow:0 3px 12px #0000002e}.message.user .bubble{background:#075e43}.message-meta{color:var(--muted);margin-top:5px;font-size:11px}.message.user .message-meta{text-align:right}.chat-form{border-top:1px solid var(--line);grid-template-columns:1fr auto;gap:10px;padding:14px;display:grid}.debug-panel{align-self:start;padding:20px}.debug-list{gap:10px;display:grid}.debug-item{border:1px solid var(--line);overflow-wrap:anywhere;background:#071411;border-radius:10px;padding:11px}.debug-item strong{color:var(--muted);margin-bottom:6px;font-size:12px;display:block}.dashboard-actions,.filters{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.filters label{color:var(--muted);gap:6px;font-size:13px;display:grid}.filters .input{min-width:150px}.source-line{color:var(--muted);margin:14px 0 22px;font-size:13px}.kpi-grid{grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px;display:grid}.kpi{min-height:132px;padding:16px}.kpi-label{color:var(--muted);min-height:34px;font-size:13px}.kpi-value{margin:8px 0;font-size:28px;font-weight:800}.badge{text-transform:uppercase;letter-spacing:.04em;color:var(--green);background:#1c382f;border-radius:999px;align-items:center;padding:4px 8px;font-size:11px;font-weight:700;display:inline-flex}.badge.inferred{color:var(--amber);background:#3b3218}.badge.partial{color:var(--blue);background:#172d42}.badge.unavailable{color:var(--red);background:#3b1d20}.dashboard-sections{grid-template-columns:1fr 1fr;gap:16px;margin-top:18px;display:grid}.section{padding:20px}.breakdown{gap:10px;display:grid}.breakdown-row{grid-template-columns:1fr auto;align-items:center;gap:12px;display:grid}.bar{background:#071411;border-radius:999px;height:7px;margin-top:6px;overflow:hidden}.bar span{background:var(--green-dark);height:100%;display:block}.reliability-list{gap:12px;display:grid}.reliability-row{grid-template-columns:150px 100px 1fr;align-items:start;gap:12px;display:grid}.table-panel{margin-top:18px;overflow:hidden}.table-heading{border-bottom:1px solid var(--line);padding:18px 20px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:12px 14px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px}td.notes{white-space:normal;min-width:240px;color:var(--muted)}.empty{text-align:center;color:var(--muted);padding:36px}.loading{text-align:center;color:var(--muted);padding:60px}@media (max-width:1100px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.simulator-grid{grid-template-columns:1fr}.debug-panel{align-self:stretch}}@media (max-width:760px){.topbar{gap:12px;height:auto;min-height:68px;padding:0 16px}.brand small{display:none}nav a{padding:8px;font-size:13px}.page{padding:20px 14px}.page-heading{display:block}.dashboard-actions{margin-top:16px}.kpi-grid,.dashboard-sections,.reliability-row{grid-template-columns:1fr}.message{max-width:90%}}
