:root{--brand: #0e9aa7;--brand-dark: #0a6f7a;--brand-soft: #e3f6f7;--ink: #10262b;--ink-2: #47606a;--ink-3: #7c929b;--line: #dfe7ea;--bg: #f4f7f8;--card: #ffffff;--side: #0b2a31;--red: #d64545;--amber: #c98a12;--green: #1f9d61;--red-bg: #fde4e4;--amber-bg: #fdf1d2;--green-bg: #ddf5e8;--radius: 10px;--shadow: 0 1px 2px rgba(16, 38, 43, .06), 0 4px 14px rgba(16, 38, 43, .05)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font:14px/1.5 Inter,Segoe UI,system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}a{color:var(--brand-dark);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:22px;margin:0;letter-spacing:-.01em}h2{font-size:16px;margin:0 0 10px}h3{font-size:14px;margin:0 0 8px}p{margin:0 0 10px}small,.muted{color:var(--ink-3)}code,pre,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px}pre{background:#0f2227;color:#d7eef0;padding:12px;border-radius:8px;overflow:auto;margin:0;max-height:420px}.shell{display:grid;grid-template-columns:232px 1fr;height:100%}.side{background:var(--side);color:#c9dde0;display:flex;flex-direction:column;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;padding:16px 18px;color:#fff;font-weight:700;font-size:17px;letter-spacing:.01em}.brand img{width:34px;height:34px;border-radius:8px;background:#fff;object-fit:cover}.nav{padding:6px 10px;display:flex;flex-direction:column;gap:2px}.nav a{color:#c9dde0;padding:8px 12px;border-radius:8px;display:flex;align-items:center;gap:10px;font-weight:500}.nav a:hover{background:#ffffff12;text-decoration:none}.nav a.active{background:var(--brand);color:#fff}.nav .sec{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:#7fa0a6;padding:14px 12px 4px}.side .foot{margin-top:auto;padding:12px 14px;border-top:1px solid rgba(255,255,255,.08);font-size:12.5px}.side select{width:100%;background:#12383f;color:#fff;border:1px solid #1d4d56}.main{overflow:auto;display:flex;flex-direction:column}.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 26px 0}.page{padding:18px 26px 40px;display:flex;flex-direction:column;gap:16px;max-width:1500px;width:100%}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.card.flat{box-shadow:none}.card.tight{padding:0;overflow:hidden}.grid{display:grid;gap:14px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.grow{flex:1;min-width:0}.stack{display:flex;flex-direction:column;gap:10px}.stat{font-size:26px;font-weight:700;letter-spacing:-.02em}.stat-label{color:var(--ink-3);font-size:12px;text-transform:uppercase;letter-spacing:.06em}button,.btn{font:inherit;font-weight:600;border:1px solid var(--line);background:#fff;color:var(--ink);padding:7px 13px;border-radius:8px;cursor:pointer;white-space:nowrap}button:hover{border-color:#b9c8cd}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--brand);border-color:var(--brand);color:#fff}button.primary:hover{background:var(--brand-dark)}button.danger{color:var(--red);border-color:#f0c4c4}button.ghost{border-color:transparent;background:transparent;color:var(--brand-dark);padding:5px 8px}button.sm{padding:4px 9px;font-size:12.5px}input,select,textarea{font:inherit;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand-soft);border-color:var(--brand)}input[type=checkbox]{width:auto}textarea{min-height:80px;resize:vertical}label.field{display:flex;flex-direction:column;gap:4px;font-size:12.5px;font-weight:600;color:var(--ink-2)}label.field .hint{font-weight:400;color:var(--ink-3)}label.check{display:flex;gap:8px;align-items:center;font-weight:500}table{width:100%;border-collapse:collapse;font-size:13.5px}th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);padding:9px 12px;border-bottom:1px solid var(--line);background:#fafcfc;position:sticky;top:0;white-space:nowrap}td{padding:9px 12px;border-bottom:1px solid #edf2f3;vertical-align:top}tr:last-child td{border-bottom:0}tr.click:hover td{background:#f6fbfb;cursor:pointer}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.scroll{overflow:auto;max-height:520px}.empty{padding:28px;text-align:center;color:var(--ink-3)}.badge{display:inline-block;padding:2px 9px;border-radius:99px;font-size:11.5px;font-weight:700;background:#e9eef0;color:var(--ink-2);white-space:nowrap}.badge.green,.rag-green{background:var(--green-bg);color:#116b40}.badge.red,.rag-red{background:var(--red-bg);color:#a32c2c}.badge.amber,.rag-amber{background:var(--amber-bg);color:#8a5c05}.badge.blue{background:var(--brand-soft);color:var(--brand-dark)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);flex-wrap:wrap}.tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--ink-2);padding:9px 14px}.tabs button.on{color:var(--brand-dark);border-bottom-color:var(--brand)}.note{padding:10px 12px;border-radius:8px;background:var(--brand-soft);color:#0b5560;font-size:13px}.note.warn{background:var(--amber-bg);color:#6f4a03}.note.err{background:var(--red-bg);color:#8f2424}.note.ok{background:var(--green-bg);color:#0f5c37}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b1e2373;display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;z-index:50;overflow:auto}.modal{background:#fff;border-radius:14px;width:min(760px,100%);padding:20px;box-shadow:0 20px 60px #00000040}.modal.wide{width:min(1100px,100%)}.toasts{position:fixed;right:18px;bottom:18px;display:flex;flex-direction:column;gap:8px;z-index:99}.toast{background:var(--ink);color:#fff;padding:10px 14px;border-radius:10px;max-width:420px;box-shadow:var(--shadow)}.toast.err{background:#a32c2c}.progress{height:6px;background:#e6eef0;border-radius:9px;overflow:hidden}.progress>div{height:100%;background:var(--brand);transition:width .4s}.steps{display:flex;gap:6px;flex-wrap:wrap}.step{padding:5px 12px;border-radius:99px;background:#e9eef0;color:var(--ink-2);font-weight:600;font-size:12.5px}.step.on{background:var(--brand);color:#fff}.step.done{background:var(--green-bg);color:#116b40}.login{min-height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#0b2a31,#0e9aa7);padding:20px}.login .card{width:min(400px,100%);padding:28px}.login img{width:64px;height:64px;border-radius:14px}.chat{display:flex;flex-direction:column;gap:12px}.msg{padding:12px 14px;border-radius:12px;max-width:900px;white-space:pre-wrap}.msg.user{background:var(--brand);color:#fff;align-self:flex-end}.msg.assistant{background:#fff;border:1px solid var(--line)}.kv{display:grid;grid-template-columns:170px 1fr;gap:6px 14px;font-size:13.5px}.kv>:nth-child(odd){color:var(--ink-3)}.drop{border:2px dashed #b9d5d9;border-radius:12px;padding:18px;text-align:center;color:var(--ink-2);background:#f8fcfc;cursor:pointer}.drop:hover{border-color:var(--brand)}@media (max-width: 900px){.shell{grid-template-columns:1fr}.side{flex-direction:row;flex-wrap:wrap;align-items:center}.nav{flex-direction:row;flex-wrap:wrap}.nav .sec,.side .foot small{display:none}.side .foot{margin:0;border:0}.g2,.g3,.g4{grid-template-columns:1fr}.page,.top{padding-left:14px;padding-right:14px}.kv{grid-template-columns:1fr}}
