:root{--bg:#f6f8fb;--panel:#fff;--panel2:#f1f5f9;--line:#e4e9f0;--text:#0f172a;--dim:#64748b;--acc:#2563eb;--ok:#12a150;--warn:#b45309;--err:#dc2626;--shadow:0 1px 2px rgba(15,23,42,.04),0 4px 16px rgba(15,23,42,.06);--ring:0 0 0 3px rgba(37,99,235,.18)}*{box-sizing:border-box}body,html{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto;-webkit-font-smoothing:antialiased}a{color:var(--acc);text-decoration:none}.wrap{display:flex;min-height:100vh}.side{width:220px;background:var(--panel);border-right:1px solid var(--line);padding:16px;flex:0 0 auto}.side h1{font-size:15px;letter-spacing:.5px;margin:0 0 18px}.side a{display:block;padding:8px 10px;border-radius:8px;color:var(--dim)}.side a.on,.side a:hover{background:var(--panel2);color:var(--text)}.main{flex:1 1;padding:24px 28px;min-width:0}h2{margin:0 0 4px;font-size:20px}.sub{color:var(--dim);margin:0 0 20px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:12px;gap:12px;margin-bottom:24px}.tile{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;box-shadow:var(--shadow)}.tile b{display:block;font-size:26px;font-weight:600}.tile span{color:var(--dim);font-size:12px}table{width:100%;border-collapse:collapse;background:var(--panel);border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}th{text-align:left;font-size:12px;color:var(--dim);font-weight:500;background:var(--panel2)}td,th{padding:10px 12px;border-bottom:1px solid var(--line)}td{white-space:nowrap}tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--panel2)}.mask{font-family:ui-monospace,monospace}.mask,.pill{color:var(--dim)}.pill{display:inline-block;padding:2px 8px;border-radius:99px;font-size:12px;background:var(--panel2)}.btn,button{background:var(--acc);color:#fff;border:0;border-radius:8px;padding:7px 12px;cursor:pointer;font:inherit;transition:filter .15s,box-shadow .15s}.btn:hover,button:hover:not(:disabled){filter:brightness(1.06)}button.ghost{background:var(--panel2);color:var(--text);border:1px solid var(--line)}button:disabled{opacity:.55;cursor:not-allowed}input,select,textarea{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:7px 10px;font:inherit;width:100%;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:#94a3b8}a:focus-visible,button:focus-visible,input:focus,select:focus,textarea:focus{outline:none;border-color:var(--acc);box-shadow:var(--ring)}.grp{background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-bottom:16px;overflow:hidden;box-shadow:var(--shadow)}.grp>h3{margin:0;padding:12px 16px;background:var(--panel2);font-size:13px;letter-spacing:.4px;text-transform:uppercase;color:var(--dim)}.row{display:grid;grid-template-columns:1fr 260px;grid-gap:16px;gap:16px;padding:14px 16px;border-top:1px solid var(--line);align-items:center}.row .lbl{font-weight:500}.row .desc{color:var(--dim);font-size:12.5px;margin-top:2px}.dot{width:8px;height:8px;border-radius:99px;display:inline-block}.warn{color:var(--warn)}.err{color:var(--err)}.ok{color:var(--ok)}.note{background:#fffbeb;border:1px solid #fde68a;border-left:3px solid var(--warn);padding:10px 14px;border-radius:8px;color:#78350f;margin-bottom:18px}.auth{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 600px at 50% -10%,#eaf0fb 0,var(--bg) 60%)}.auth-card{width:100%;max-width:380px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:32px 28px;box-shadow:0 1px 2px rgba(15,23,42,.04),0 12px 32px rgba(15,23,42,.08)}.auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:22px}.auth-brand .mark{width:32px;height:32px;border-radius:9px;background:var(--acc);color:#fff;display:grid;place-items:center;font-weight:700;font-size:15px;letter-spacing:-.5px}.auth-brand .name{font-size:17px;font-weight:600;letter-spacing:-.2px}.auth-brand .name small{display:block;font-size:12px;font-weight:400;color:var(--dim);letter-spacing:0}.auth-field{display:grid;grid-gap:6px;gap:6px;margin-bottom:14px}.auth-field label{font-size:12.5px;font-weight:500;color:var(--dim)}.auth button,.auth-field input{padding:10px 12px}.auth button{width:100%;font-weight:600;margin-top:4px}.auth-err{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;border-radius:8px;padding:9px 12px;font-size:13px;margin-bottom:14px}.auth-foot{margin:18px 0 0;text-align:center;font-size:12px;color:var(--dim)}