:root{--bg: #0f1724;--panel: #162033;--panel-2: #1c2a42;--line: #2a3b55;--text: #e8eef7;--muted: #93a0b5;--accent: #3d8bfd;--good: #3ecf8e;--warn: #f5b942;--bad: #ef6b6b;--ncr: #8b9cff}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{font-family:Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--text)}.app{display:grid;grid-template-columns:220px 1fr;min-height:100%}.nav{background:#0c1320;border-right:1px solid var(--line);padding:20px 14px}.brand{font-weight:700;letter-spacing:.04em;margin-bottom:22px}.brand span{color:var(--accent)}.nav button{display:block;width:100%;text-align:left;background:transparent;color:var(--muted);border:0;padding:9px 10px;border-radius:8px;cursor:pointer}.nav button.active,.nav button:hover{background:var(--panel-2);color:var(--text)}.main{padding:22px 28px 40px;overflow:auto}h1{font-size:22px;margin:0 0 6px}h2{font-size:16px;margin:22px 0 10px}.sub{color:var(--muted);margin-bottom:18px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px}.card .k{color:var(--muted);font-size:12px}.card .v{font-size:22px;font-weight:700;margin-top:4px}table{width:100%;border-collapse:collapse;background:var(--panel);border-radius:12px;overflow:hidden}th,td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}th{color:var(--muted);font-weight:600;background:var(--panel-2)}tr:hover td{background:#1a2740}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;background:var(--panel-2)}.A{background:#214533;color:var(--good)}.B{background:#3a3420;color:var(--warn)}.C{background:#2a3148;color:var(--ncr)}.Nurture{background:#2a2f3a}.btn{background:var(--accent);color:#fff;border:0;border-radius:8px;padding:8px 12px;cursor:pointer;margin:0 6px 8px 0}.btn.ghost{background:var(--panel-2);color:var(--text)}.btn.danger{background:#8b2e2e}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:12px}input,select,textarea{background:#0c1320;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 10px}textarea{width:100%;min-height:110px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pre{white-space:pre-wrap;background:#0c1320;padding:12px;border-radius:8px;font-size:13px}.linkish{color:var(--accent);cursor:pointer;background:none;border:0;padding:0;font:inherit}.toast{margin:8px 0 14px;color:var(--good)}.error{display:flex;align-items:center;gap:10px;margin:8px 0 14px;padding:10px 12px;background:#2a1a20;border:1px solid #5c2a33;border-radius:8px;color:var(--bad)}.error .dismiss{margin-left:auto;background:none;border:0;color:var(--bad);font-size:18px;line-height:1;cursor:pointer;padding:0 4px}.btn:disabled{opacity:.45;cursor:not-allowed}.nav-user{margin-top:24px;border-top:1px solid var(--line);padding-top:12px}.nav-user .sub{margin-bottom:8px;font-size:12px}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.login .card{width:100%;max-width:380px}.login .brand{margin-bottom:6px}.login .btn{width:100%;margin-top:4px}.field{display:block;margin-bottom:12px}.field span{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.field input{width:100%}@media(max-width:900px){.app,.grid2{grid-template-columns:1fr}}
