:root{--bg:#0f1220;--card:#181c30;--line:#2a3050;--fg:#e8ebf7;--mut:#8b93b5;--acc:#5b7cff;--ok:#27c281;--bad:#ef5566}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:14px system-ui,sans-serif}h1{margin:0 0 16px;font-size:22px}h3{margin:20px 0 10px}h4{margin:16px 0 8px}.shell{display:flex;min-height:100vh}nav{width:190px;padding:16px;background:var(--card);display:flex;flex-direction:column;gap:4px;border-right:1px solid var(--line)}nav a{color:var(--mut);padding:8px 10px;border-radius:8px;text-decoration:none}nav a.active{background:var(--acc);color:#fff}.spacer{flex:1}main{flex:1;padding:24px;min-width:0}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:16px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.stat b{display:block;font-size:26px;margin-top:6px}.scroll{overflow-x:auto;padding:0}table{width:100%;border-collapse:collapse}th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--mut);font-weight:500}tr:last-child td{border-bottom:0}input,select{background:#0f1220;border:1px solid var(--line);color:var(--fg);padding:8px 10px;border-radius:8px;width:100%}button{background:var(--acc);color:#fff;border:0;padding:8px 12px;border-radius:8px;cursor:pointer;white-space:nowrap}button:disabled{opacity:.4}button.ghost{background:transparent;border:1px solid var(--line);color:var(--fg)}button.danger{background:var(--bad)}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.pill{padding:2px 8px;border-radius:99px;background:var(--line);font-size:12px}.pill.ok{background:#1b4d3a;color:#7df0bd}.pill.bad{background:#59232c;color:#ff9aa6}.muted{color:var(--mut)}.small{font-size:12px}.err{color:var(--bad)}.center{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:12px}.login{max-width:340px;margin:12vh auto;display:flex;flex-direction:column;gap:10px}.form label{display:flex;flex-direction:column;gap:4px;color:var(--mut);margin-bottom:10px}.form label.check{flex-direction:row;align-items:center;color:var(--fg)}.form label.check input{width:auto}.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 12px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000a;display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:24px;z-index:10}.modal .card{width:min(760px,100%)}@media (max-width:700px){.shell{flex-direction:column}nav{width:auto;flex-direction:row;flex-wrap:wrap;align-items:center}.spacer{display:none}}
