:root{--primary:#2262db;--sidebar:#112341;--bg:#f3f6fb;--panel:#fff;--ink:#19263b;--muted:#64748b;--border:#e0e6ef;--subtle:#f8faff;--danger:#b32636;--ok:#16804d}
*{box-sizing:border-box}
body{margin:0;font:14px/1.5 Inter,'Segoe UI',Arial,sans-serif;background:var(--bg);color:var(--ink)}
button,input,select,textarea{font:inherit}
a{color:var(--primary)}
.btn{border:1px solid var(--border);border-radius:9px;background:var(--panel);color:var(--ink);padding:8px 13px;font-weight:620;cursor:pointer;display:inline-flex;align-items:center;gap:6px;text-decoration:none;min-height:37px}
.btn.primary{background:var(--primary);color:#fff;border-color:transparent}
.btn.danger{color:var(--danger);border-color:#f5c1c9;background:#fff5f6}
.btn.small{padding:4px 9px;min-height:29px;font-size:12px}
.btn:disabled{opacity:.5;cursor:wait}
.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #84b6ff;outline-offset:1px}
.field{display:grid;gap:5px;font-size:12px;font-weight:620;color:var(--muted)}
.field input,.field select,.field textarea{padding:10px;border:1px solid #ced8e6;border-radius:9px;background:#fff;color:var(--ink);font-weight:400;font-size:14px;width:100%}
.err{color:var(--danger);font-size:13px;min-height:20px}
.okmsg{color:var(--ok);font-size:13px}
.brand{display:flex;gap:11px;align-items:center}
.logo{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--sidebar);color:#fff;font-weight:900;letter-spacing:-1px}
.brand strong{font-size:19px;display:block}.brand small{color:var(--muted);font-size:12px}
