body{margin:0}.admin-shell{max-width:1660px;margin:auto;display:grid;grid-template-columns:225px minmax(0,1fr);min-height:100vh}.admin-sidebar{padding:36px 22px;border-right:1px solid #263044;display:flex;flex-direction:column;gap:20px;background:#0c111c}.admin-brand{font-size:23px;font-weight:750;letter-spacing:-.8px;color:#f3f5fc;text-decoration:none}.admin-brand span{color:#a6b8ff}.eyebrow{font-size:11px;letter-spacing:2px;color:#8f9bb2;font-weight:700}.admin-sidebar nav{display:grid;gap:5px}.admin-sidebar nav a,.sidebar-bottom a{color:#a8b3c9;text-decoration:none;padding:10px 12px;border-radius:9px;font-size:14px}.admin-sidebar nav a:hover,.admin-sidebar nav a[aria-current]{background:#202b43;color:#f2f5ff}.sidebar-bottom{margin-top:auto;display:grid;gap:20px}.admin-main{padding:40px;min-width:0}.admin-heading{margin-bottom:28px}.admin-heading h1{font-size:34px;line-height:1.2;letter-spacing:-1px;margin:8px 0 14px}.admin-heading p,.admin-card p{color:#a6b2c8;line-height:1.6}.admin-card{border:1px solid #293247;border-radius:16px;padding:24px;margin:0 0 24px;background:#121a29;min-width:0}.admin-card h2{margin-top:0;font-size:20px}.admin-card h3{font-size:17px}.admin-main h2{font-size:22px}.admin-main a{color:#a6b8ff}.admin-main label{display:grid;gap:9px;color:#dce3f1;font-size:14px;font-weight:550;margin-bottom:19px}.admin-main input,.admin-main select,.admin-main textarea{box-sizing:border-box;width:100%;border:1px solid #35415a;border-radius:9px;background:#0b1220;color:#eef2fb;padding:12px 13px;font:inherit;min-height:43px}.admin-main textarea{font-family:ui-monospace,SFMono-Regular,monospace;line-height:1.5;resize:vertical}.admin-main input:focus,.admin-main select:focus,.admin-main textarea:focus{outline:2px solid #859dff;outline-offset:2px}.admin-main .check{display:flex;align-items:center;gap:10px;font-weight:400}.admin-main .check input{width:18px;height:18px;min-height:0;accent-color:#9ab0ff}.admin-main small,.help{display:block;font-size:12px;color:#8d9db6;font-weight:400;line-height:1.6}.form-grid,.comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.stat{font-size:38px;font-weight:650;letter-spacing:-1px}.admin-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:12px 0 28px}.admin-actions form{margin:0}.admin-actions .button{margin:0}.admin-main .button,.admin-sidebar .button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:42px;box-sizing:border-box;padding:10px 17px;border-radius:9px;border:1px solid #394663;background:#202d46;color:#edf1ff;font-size:14px;line-height:20px;text-decoration:none;font-weight:600;cursor:pointer;white-space:nowrap}.admin-main .button:hover{background:#2b3b59}.admin-main .button-primary{background:#a8b9ff;border-color:#a8b9ff;color:#101831}.admin-main .button-small{min-height:34px;padding:6px 12px;font-size:12px}.admin-main details{margin:20px 0}.admin-main summary{cursor:pointer;color:#b9c7e6;padding:8px 0 16px}.admin-main pre{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;font-size:12px;color:#abbcd9;max-height:650px;overflow:auto}.admin-main code{font-family:ui-monospace,monospace;color:#becbf2}.notice{padding:14px 18px;background:#202b43;border:1px solid #3b4b6e;border-radius:10px;font-size:13px;color:#c7d4f7}.danger{border-color:#824c59;color:#ffd1d8}.status{font-size:12px;display:inline-flex;background:#25314b;border:1px solid #394965;border-radius:100px;padding:5px 11px;color:#c8d4ef}.good{color:#9ce1c2}.bad{color:#ffa7b5}.table-wrap{overflow-x:auto}.admin-main table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}.admin-main th{color:#8d9cb5;font-weight:550;font-size:12px}.admin-main th,.admin-main td{padding:14px 10px;border-bottom:1px solid #293247;vertical-align:middle}.admin-main tr:last-child td{border:0}.admin-main td .admin-actions{margin:0}.rendered-article{overflow-wrap:anywhere;line-height:1.8;color:#d8dfec}.rendered-article img{max-width:100%;height:auto;border-radius:8px}.rendered-article h1,.rendered-article h2{font-size:23px;letter-spacing:0;line-height:1.4}.rendered-article li{margin-bottom:8px}.event-list{padding-left:20px;font-size:13px;line-height:1.9;color:#a8b9d5}.narrow{max-width:650px}.compact{display:flex;align-items:end;gap:12px}.compact label{flex:1;margin:0}.preserve-lines{white-space:pre-line}.progress-track{height:5px;background:#26344f;border-radius:8px;overflow:hidden;margin-bottom:22px}.progress-track span{display:block;width:35%;height:100%;background:#a6b8ff;animation:progress 1.6s ease-in-out infinite}@keyframes progress{from{transform:translateX(-110%)}to{transform:translateX(390%)}}@media(prefers-reduced-motion:reduce){.progress-track span{animation:none;width:100%}}@media(max-width:1000px){.admin-main{padding:28px}.comparison-grid{grid-template-columns:1fr}.stat-grid{gap:10px}.stat-grid .admin-card{padding:16px}}@media(max-width:700px){.admin-shell{display:block}.admin-sidebar{padding:20px;border-right:0;border-bottom:1px solid #263044}.admin-sidebar nav{display:flex;overflow:auto;gap:6px}.admin-sidebar nav a{white-space:nowrap}.admin-sidebar .eyebrow,.sidebar-bottom{display:none}.admin-main{padding:22px 16px}.form-grid,.stat-grid{grid-template-columns:1fr}.admin-heading h1{font-size:28px}.admin-card{padding:18px}}

/* Login is a standalone page, including when an existing session visits it. */
.admin-shell--login {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    min-height: 100svh;
}
.admin-shell--login .admin-main {
    width: 100%;
    max-width: 480px;
    box-sizing: border-box;
    padding: 32px 24px;
}
.admin-shell--login .admin-heading {
    text-align: center;
}
.admin-shell--login .admin-card {
    margin-bottom: 0;
}
.admin-shell--login .button-primary {
    width: 100%;
}
