:root{--bg: #0a0e14;--panel: #11161f;--panel-2: #161c27;--border: #232c3b;--text: #c7d0db;--muted: #7c8a9e;--accent: #e8b339;--green: #3fb950;--red: #f85149;--mono: "JetBrains Mono", ui-monospace, "Cascadia Code", Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--mono);font-size:14px;-webkit-font-smoothing:antialiased}.login-wrap{height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(1200px 600px at 50% -10%,#13202e 0%,var(--bg) 60%)}.login-card{width:360px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:32px 28px;box-shadow:0 20px 60px #00000080}.brand{text-align:center;letter-spacing:.28em;color:var(--accent);font-size:1.25rem;margin-bottom:4px}.brand-sub{text-align:center;color:var(--muted);font-size:.72rem;letter-spacing:.1em;margin-bottom:26px}.field{margin-bottom:14px}.field label{display:block;font-size:.72rem;color:var(--muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.08em}.field input{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);padding:10px 12px;border-radius:6px;font-family:var(--mono);font-size:.9rem;outline:none}.field input:focus{border-color:var(--accent)}.btn{width:100%;cursor:pointer;border:none;border-radius:6px;padding:11px;background:var(--accent);color:#14110a;font-weight:600;font-family:var(--mono);letter-spacing:.04em;transition:filter .15s}.btn:hover{filter:brightness(1.08)}.btn:disabled{opacity:.55;cursor:default}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text);width:auto;padding:9px 16px}.error{color:var(--red);font-size:.8rem;margin-top:12px;min-height:1em}.shell{display:grid;grid-template-columns:210px 1fr;grid-template-rows:48px 1fr;height:100vh}.topbar{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:var(--panel);border-bottom:1px solid var(--border)}.topbar .title{letter-spacing:.22em;color:var(--accent);font-size:.95rem}.topbar .right{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:.8rem}.sidebar{background:var(--panel-2);border-right:1px solid var(--border);padding:12px 0}.navitem{padding:10px 18px;cursor:pointer;color:var(--muted);font-size:.85rem;border-left:2px solid transparent}.navitem:hover{color:var(--text)}.navitem.active{color:var(--text);border-left-color:var(--accent);background:#e8b3390f}.content{padding:24px 28px;overflow:auto}.h1{font-size:1.05rem;color:var(--text);margin:0 0 4px;letter-spacing:.04em}.sub{color:var(--muted);font-size:.8rem;margin-bottom:22px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:20px;max-width:560px}.row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px dashed var(--border)}.row:last-child{border-bottom:none}.row .k{color:var(--muted)}.row .v{color:var(--text)}.badge{display:inline-flex;align-items:center;gap:7px;font-size:.85rem}.dot{width:9px;height:9px;border-radius:50%}.dot.ok{background:var(--green);box-shadow:0 0 8px var(--green)}.dot.bad{background:var(--red);box-shadow:0 0 8px var(--red)}.ok-text{color:var(--green)}.bad-text{color:var(--red)}.mono-block{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:10px 12px;color:var(--muted);font-size:.78rem;margin-top:12px;word-break:break-word}
