:root{--bg:#f4f6f8;--surface:#fff;--ink:#19212b;--muted:#697586;--line:#dfe4ea;--accent:#5b4bea;--accent-soft:#eeecff;--danger:#c63f4e;--warning:#a26106;--success:#157347}*{box-sizing:border-box}html{background:var(--bg)}body{color:var(--ink);background:var(--bg);margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button{cursor:pointer}.login-shell{background:radial-gradient(circle at 50% 0%, #ebe9ff 0, transparent 34%), var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;width:min(420px,100%);padding:40px;box-shadow:0 18px 50px #1c232c14}.brand-mark,.app-icon{color:#fff;background:var(--accent);place-items:center;font-weight:800;display:grid}.brand-mark{border-radius:12px;width:42px;height:42px;margin-bottom:22px}.eyebrow{color:var(--accent);letter-spacing:.13em;margin:0 0 6px;font-size:11px;font-weight:800}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.03em;margin-bottom:8px;font-size:28px}.muted,.section-heading p{color:var(--muted)}.login-form{gap:10px;margin-top:28px;display:grid}label,legend{color:#3c4755;font-size:13px;font-weight:650}input{width:100%;color:var(--ink);background:#fff;border:1px solid #cfd6de;border-radius:9px;outline:none;margin-top:7px;padding:11px 12px}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.primary-button,.ghost-button{border-radius:9px;font-weight:750}.primary-button{color:#fff;background:var(--accent);border:0;padding:12px 16px}.primary-button:hover{background:#4939d5}.primary-button:disabled{opacity:.6;cursor:wait}.ghost-button{color:#414b58;border:1px solid var(--line);background:#fff;padding:9px 13px}.form-error{color:var(--danger)}.success{color:var(--success)}.admin-shell{width:min(1160px,100% - 40px);margin:0 auto;padding:38px 0 80px}.topbar{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.topbar h1{margin:0}.summary{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:38px;display:grid}.summary div{border:1px solid var(--line);background:#ffffffb8;border-radius:12px;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.summary span{color:var(--muted);font-size:13px}.summary strong{font-size:22px}.section-heading{justify-content:space-between;align-items:end;margin-bottom:14px;display:flex}.section-heading h2{margin-bottom:5px;font-size:19px}.section-heading p{margin-bottom:0;font-size:13px}.app-list{gap:18px;display:grid}.app-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;overflow:hidden}.app-title{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:20px 22px;display:flex}.app-title h3{margin:0 0 3px;font-size:17px}.app-title code{color:var(--muted);font-size:12px}.app-icon{border-radius:10px;width:38px;height:38px}.policy-grid{grid-template-columns:repeat(2,1fr);display:grid}.policy-panel{gap:18px;padding:22px;display:grid}.policy-panel+.policy-panel{border-left:1px solid var(--line)}.platform-row,.save-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.status{border-radius:999px;padding:5px 8px;font-size:11px;font-weight:750}.status.off{color:#66717f;background:#edf0f3}.status.optional{color:var(--warning);background:#fff2d9}.status.force{color:var(--danger);background:#ffe5e8}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}fieldset{border:0;min-width:0;margin:0;padding:0}legend{margin-bottom:7px}.segmented{border:1px solid var(--line);background:#f3f5f7;border-radius:10px;grid-template-columns:repeat(3,1fr);padding:3px;display:grid}.segmented label{position:relative}.segmented input{opacity:0;pointer-events:none;position:absolute}.segmented span{color:#657080;text-align:center;border-radius:7px;padding:8px 6px;font-size:12px;display:block}.segmented input:checked+span{color:var(--ink);background:#fff;font-weight:750;box-shadow:0 1px 4px #19212b1f}.save-row small{color:var(--muted);font-size:11px}.save-row .form-error{color:var(--danger)}.save-row .success{color:var(--success)}.compact{padding:9px 18px}@media (max-width:760px){.admin-shell{width:min(100% - 24px,1160px);padding-top:22px}.summary,.policy-grid{grid-template-columns:1fr}.policy-panel+.policy-panel{border-left:0;border-top:1px solid var(--line)}.field-row,.segmented{grid-template-columns:1fr}.topbar{align-items:flex-start}.login-card{padding:30px 24px}}@media (prefers-reduced-motion:no-preference){button,input{transition:border-color .15s,box-shadow .15s,background .15s}}
