:root{--bg:#0f1115;--panel:#181b22;--panel-2:#1f232c;--border:#2a2f3a;--text:#e7e9ee;--muted:#99a1b3;--accent:#3b82f6;--accent-2:#2563eb;--good:#22c55e;--bad:#f87171;--warn:#f59e0b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}.app{grid-template-columns:220px 1fr;height:100%;display:grid}.sidebar{background:var(--panel);border-right:1px solid var(--border);flex-direction:column;gap:.25rem;padding:1rem .75rem;display:flex}.sidebar .brand{padding:.25rem .5rem .75rem;font-size:1.05rem;font-weight:700}.sidebar a{color:var(--text);border-radius:8px;padding:.5rem .6rem;display:block}.sidebar a:hover{background:var(--panel-2);text-decoration:none}.sidebar a.active{background:var(--accent);color:#fff}.sidebar .spacer{flex:1}.sidebar .who{color:var(--muted);padding:.5rem;font-size:.8rem}.main{padding:1.25rem 1.5rem;overflow:auto}.page-title{margin:0 0 1rem;font-size:1.2rem}.toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1rem}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.5rem .6rem}th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:600}tr:hover td{background:var(--panel-2)}tbody tr.clickable{cursor:pointer}input[type=text],input[type=password],input[type=url],input[type=number],textarea,select{background:var(--bg);border:1px solid var(--border);border-radius:8px;width:100%;padding:.45rem .55rem}textarea{resize:vertical;min-height:5rem}label{color:var(--muted);margin:.6rem 0 .2rem;font-size:.8rem;display:block}button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:.45rem .8rem;font-weight:600}button:hover{background:var(--accent-2)}button.secondary{background:var(--panel-2);color:var(--text);border:1px solid var(--border)}button.secondary:hover{background:var(--border)}button.danger{color:var(--bad);background:#3a1f24;border:1px solid #5a2a32}button:disabled{opacity:.5;cursor:not-allowed}.badge{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:.1rem .45rem;font-size:.72rem;display:inline-block}.badge.good{color:var(--good);background:#11240f;border-color:#225c33}.badge.bad{color:var(--bad);background:#2a141a;border-color:#5a2a32}.badge.warn{color:var(--warn);background:#2a210f;border-color:#5c4416}.muted{color:var(--muted)}.right{text-align:right}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}.error-banner{color:var(--bad);background:#2a141a;border:1px solid #5a2a32;border-radius:8px;margin-bottom:1rem;padding:.6rem .8rem}.ok-banner{color:var(--good);background:#11240f;border:1px solid #225c33;border-radius:8px;margin-bottom:1rem;padding:.6rem .8rem}.login-wrap{place-items:center;height:100%;display:grid}.login-card{width:min(22rem,92vw)}.chat{flex-direction:column;gap:.5rem;max-width:56rem;display:flex}.bubble{white-space:pre-wrap;word-break:break-word;border-radius:12px;max-width:75%;padding:.5rem .7rem}.bubble .meta{color:var(--muted);margin-top:.25rem;font-size:.7rem}.bubble.in{background:var(--panel-2);border-bottom-left-radius:3px;align-self:flex-start}.bubble.out{background:#1e3a5f;border-bottom-right-radius:3px;align-self:flex-end}.bubble.system{border:1px dashed var(--border);color:var(--muted);background:0 0;align-self:center}.composer{gap:.5rem;max-width:56rem;margin-top:1rem;display:flex}.composer input{flex:1}.modal-backdrop{background:#0000008c;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--border);border-radius:12px;width:min(30rem,94vw);padding:1.25rem}.modal h3{margin-top:0}.modal .actions{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}
