:root { color-scheme:light; --ink:#10243f; --muted:#64748b; --line:#d9e2ef; --page:#f5f8fc; --card:#fff; --accent:#0f3768; --soft:#e9f1fa; --danger:#b42318; --success:#157347; font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif; }
* { box-sizing:border-box; } body { margin:0; min-height:100dvh; background:linear-gradient(135deg,#eef5fc,transparent 40%),var(--page); color:var(--ink); } button,input,textarea,select { font:inherit; } button { cursor:pointer; }
.shell { width:min(1160px,calc(100% - 32px)); margin:0 auto; padding:48px 0 72px; }.login-card { width:min(500px,100%); margin:12vh auto; padding:34px; border:1px solid var(--line); border-radius:18px; background:var(--card); box-shadow:0 22px 60px #10243f14; }.eyebrow { margin:0 0 8px; color:var(--accent); font-size:12px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; } h1,h2,h3 { margin:0; } h1 { font-size:clamp(28px,5vw,42px); } h2 { font-size:20px; } h3 { font-size:16px; } p { color:var(--muted); line-height:1.55; }.primary,.secondary { min-height:43px; padding:0 14px; border-radius:9px; border:1px solid transparent; font-weight:750; }.primary { color:#fff; background:var(--accent); }.secondary { color:var(--accent); background:#fff; border-color:var(--line); }.notice { min-height:1.4em; margin:14px 0 0; font-size:14px; }.notice[data-tone="error"] { color:var(--danger); }.notice[data-tone="success"] { color:var(--success); } header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:25px; border-bottom:1px solid var(--line); }.account { display:flex; align-items:center; gap:12px; color:var(--muted); font-size:14px; }.grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr); gap:22px; margin-top:24px; }.card { display:grid; align-content:start; gap:16px; padding:24px; border:1px solid var(--line); border-radius:16px; background:var(--card); }.card p { margin:0; font-size:14px; } label { display:grid; gap:6px; color:var(--muted); font-size:13px; font-weight:700; } small { display:block; font-weight:500; line-height:1.45; } input,textarea,select { width:100%; border:1px solid var(--line); border-radius:8px; padding:10px; color:var(--ink); background:#fff; } textarea { resize:vertical; }
fieldset { display:grid; gap:10px; margin:0; padding:0; border:0; } legend { margin-bottom:9px; color:var(--ink); font-size:14px; font-weight:800; }.choice { grid-template-columns:auto 1fr; align-items:start; padding:13px; border:1px solid var(--line); border-radius:10px; background:#fbfdff; color:var(--ink); }.choice input { width:auto; margin:3px 0 0; }.choice strong { display:block; margin-bottom:3px; }.policy-status { padding:10px 12px; border-left:3px solid var(--accent); background:var(--soft); color:var(--ink) !important; }.exceptions { border-top:1px solid var(--line); padding-top:16px; }.exceptions summary { cursor:pointer; color:var(--accent); font-weight:800; }.exceptions summary span { color:var(--muted); font-weight:500; }.exceptions > p { margin:12px 0; }.policy { display:grid; gap:11px; padding:15px; border:1px solid var(--line); border-radius:12px; background:#fbfdff; }.policy + .policy { margin-top:12px; }.mandate-meta,.override-state,.mode-help { font-size:13px !important; }.override-state { color:var(--ink) !important; font-weight:700; }.mode-help { margin-top:-4px !important; }.linked-mandates select { min-height:132px; }.admin-row { width:100%; padding:11px; text-align:left; color:var(--ink); background:var(--soft); border:0; border-radius:8px; font-size:13px; }.admin-row + .admin-row { margin-top:8px; }.policy-actions { display:flex; flex-wrap:wrap; gap:8px; } @media (max-width:760px) { .shell { width:min(100% - 24px,1160px); padding-top:24px; } header,.account { align-items:flex-start; flex-direction:column; }.grid { grid-template-columns:1fr; }.login-card { margin:6vh auto; } }
