:root{color-scheme:dark;font-family:Inter,system-ui,sans-serif;background:#101614;color:#edf3ef}*{box-sizing:border-box}body{margin:0}header{padding:24px 5%;border-bottom:1px solid #2e3c34;display:flex;justify-content:space-between;gap:16px;align-items:center}header>a{font-size:24px;font-weight:750;text-decoration:none}header span{font-size:12px;color:#a4b5ab;margin-left:16px}a{color:#9de8bb}main{max-width:1200px;margin:auto;padding:40px 24px}h1{font-size:clamp(28px,4vw,42px);letter-spacing:-1px}h2{font-size:22px}p,small{color:#acbcb2;line-height:1.7}button,.primary{display:inline-block;background:#24352b;color:#eef7f1;border:1px solid #3b5143;padding:12px 18px;border-radius:10px;cursor:pointer;text-decoration:none;font:inherit}.primary{background:#b5f5cc;color:#12261b;font-weight:650}button:disabled{opacity:.45;cursor:default}input,textarea{width:100%;background:#101713;border:1px solid #3b5143;border-radius:8px;padding:12px;color:#fff;font:inherit;margin:8px 0}textarea{min-height:88px;resize:vertical}label{display:block;margin:16px 0}input[type=checkbox]{width:auto}fieldset{border:0;padding:0;min-width:0}legend,.eyebrow{color:#b5f5cc;font-weight:650}.eyebrow{font-size:12px;letter-spacing:2px}.columns,.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.stats{grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0}.card{background:#18211c;border:1px solid #2e3c34;border-radius:20px;padding:28px;margin-bottom:24px}.stats .card{margin:0}.stats strong{display:block;font-size:32px;margin-top:10px}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:16px 12px;border-bottom:1px solid #2e3c34}td small{display:block}.pager{display:flex;justify-content:space-between;align-items:center;margin-top:24px}#audit p{border-bottom:1px solid #2e3c34;padding-bottom:12px}#error{color:#ffb7ad}footer{text-align:center;color:#8da596;padding:30px}#login{max-width:600px;margin:40px auto}#save-message{color:#b5f5cc}[hidden]{display:none!important}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #b5f5cc;outline-offset:3px}@media(max-width:650px){.columns,.stats{grid-template-columns:1fr}.heading{display:block}.card{padding:20px}header{align-items:flex-start}header div{display:flex;flex-direction:column;gap:12px}}

/* Authentication layout shares the product's dark surfaces and mint accent. */
.admin-auth{--auth-bg:#0f1412;--auth-surface:#18201c;--auth-border:#303d35;--auth-text:#f0f5f2;--auth-muted:#aab8b0;--auth-accent:#b5f5cc}
.admin-auth[data-view=auth]{min-height:100svh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 70% 40%,#1a302344,transparent 55%),var(--auth-bg)}
.skip-link{position:absolute;left:24px;top:-100px;z-index:10;background:var(--auth-accent);color:#12261b;padding:12px 20px;border-radius:8px}.skip-link:focus{top:16px}
.admin-header{min-height:88px;padding:20px clamp(24px,5vw,80px);border-bottom:1px solid #ffffff0c;flex-shrink:0}
.admin-brand{display:flex;gap:10px;align-items:center;color:var(--auth-text);font-size:24px;letter-spacing:-.8px}.admin-brand img{flex-shrink:0}.admin-brand strong{font-weight:720}.admin-brand .admin-badge{margin-left:6px;padding:5px 9px;border:1px solid var(--auth-border);border-radius:6px;font-size:11px;line-height:1;letter-spacing:1px;text-transform:uppercase;color:var(--auth-muted);font-weight:600}
.header-actions{display:flex;align-items:center;gap:20px}.header-actions #identity:empty{display:none}.back-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:13px;color:var(--auth-muted);text-decoration:none}.back-link:hover{color:var(--auth-text)}
.admin-auth[data-view=auth] main{flex:1;display:grid;align-content:center;width:100%;max-width:1184px;padding:64px 40px}
.admin-auth #login{max-width:none;margin:0}
.auth-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:clamp(48px,7vw,104px);align-items:center}
.auth-eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 24px;font-size:11px;letter-spacing:1.8px;font-weight:600;color:var(--auth-accent)}.auth-eyebrow>span{width:6px;height:6px;border-radius:50%;background:var(--auth-accent);box-shadow:0 0 0 4px #b5f5cc0d}
.auth-intro h1{font-size:clamp(30px,3vw,44px);line-height:1.25;letter-spacing:-1.8px;font-weight:650;margin:0 0 20px;color:var(--auth-text)}.auth-intro h1>span{color:#a4bcad}.auth-description{font-size:15px;line-height:1.8;margin:0;color:var(--auth-muted)}
.auth-features{list-style:none;margin:36px 0 0;padding:0;display:grid;gap:22px}.auth-features li{display:flex;align-items:center;gap:14px}.feature-icon{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border:1px solid var(--auth-border);border-radius:10px;background:#ffffff03;color:#b7c8bd}.feature-icon svg,.auth-card-mark svg,.auth-permission svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.auth-features strong{font-size:13px;font-weight:600;color:#e0e9e3}.auth-features p{font-size:12px;line-height:1.6;margin:5px 0 0;color:var(--auth-muted)}
.auth-card{padding:36px 32px 28px;background:linear-gradient(150deg,#202b24,var(--auth-surface) 60%);border:1px solid var(--auth-border);border-radius:20px;box-shadow:0 20px 80px #0003;text-align:center;min-width:0}
.auth-card-mark{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 24px;border:1px solid #b5f5cc29;border-radius:14px;background:#b5f5cc0d;color:var(--auth-accent)}.auth-card-mark svg{width:26px;height:26px}.auth-card-label{font-size:10px;font-weight:600;letter-spacing:1.6px;color:var(--auth-muted);margin:0 0 12px}.auth-card h2{font-size:26px;line-height:1.3;letter-spacing:-.7px;font-weight:620;color:var(--auth-text);margin:0 0 12px}.auth-card-description{font-size:13px;line-height:1.8;color:var(--auth-muted);margin:0 0 28px}
.google-login{padding:0 16px;display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:48px;border:1px solid #dadce0;border-radius:10px;background:#fff;color:#1f1f1f;text-decoration:none;font-size:14px;font-weight:550;transition:background .18s,border-color .18s,box-shadow .18s}.google-login svg{flex-shrink:0}.google-login:hover{background:#edf3ef;border-color:#c3d5c9;box-shadow:0 3px 16px #0002}.google-login:active{background:#dce7e0}.google-arrow{margin-left:auto;color:#59645e}.google-login>svg{margin-right:auto}.google-login[aria-disabled=true]{opacity:.65;cursor:wait;pointer-events:none}
.auth-permission{display:flex;align-items:flex-start;justify-content:center;gap:8px;margin-top:22px;color:#aab8b0}.auth-permission svg{width:14px;height:14px;margin-top:3px;flex-shrink:0}.auth-permission p{font-size:11px;line-height:1.8;margin:0;color:inherit}.auth-return{display:block;border-top:1px solid var(--auth-border);padding-top:22px;margin-top:26px;font-size:11px;line-height:1.8;color:var(--auth-muted);text-decoration:none}.auth-return span{color:var(--auth-accent);margin-left:3px}.auth-return:hover span{text-decoration:underline}
.auth-status{display:flex;justify-content:center;align-items:center;gap:10px;font-size:12px;line-height:1.7;margin:0 0 20px;padding:12px;border:1px solid var(--auth-border);border-radius:10px;color:var(--auth-muted);text-align:left}.auth-status[data-state=error],.auth-status[data-state=denied]{color:#f0beb2;border-color:#684d43;background:#ffb19c08}.auth-spinner{width:14px;height:14px;flex-shrink:0;border:2px solid #65776b;border-top-color:var(--auth-accent);border-radius:50%;animation:auth-spin .8s linear infinite}.auth-retry{width:100%;margin-top:8px;min-height:44px;font-size:13px}.admin-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px clamp(24px,5vw,80px);font-size:11px;color:#8fa297;border-top:1px solid #ffffff0c}.admin-auth[data-view=auth] #error{max-width:420px;margin:20px 0 0 auto;font-size:13px}.admin-auth #error:empty{display:none}
@keyframes auth-spin{to{transform:rotate(360deg)}}
@media(min-width:1600px){.admin-auth[data-view=auth] main{max-width:1280px}.auth-layout{grid-template-columns:minmax(0,1fr) 440px;gap:120px}}
@media(max-width:800px){.admin-auth[data-view=auth] main{padding:40px 24px}.auth-layout{grid-template-columns:1fr;max-width:440px;margin:auto;gap:28px}.auth-intro{text-align:center}.auth-eyebrow{justify-content:center;margin-bottom:16px}.auth-intro h1{font-size:30px;letter-spacing:-1px}.auth-description{font-size:13px}.auth-features{display:none}.admin-header{min-height:76px;padding:16px 24px}.header-actions{gap:10px}.header-actions #identity{display:none}.admin-brand{font-size:22px}.auth-card{padding:28px 24px}.admin-footer{font-size:10px;padding:20px 24px}}
@media(max-width:420px){.admin-header{padding-inline:20px}.admin-brand img{width:28px;height:28px}.admin-brand{gap:7px;font-size:20px}.admin-brand .admin-badge{font-size:9px;margin-left:2px;padding:4px 6px}.back-link{font-size:11px}.admin-auth[data-view=auth] main{padding:28px 20px}.auth-card{padding:28px 22px 24px}.auth-intro h1{font-size:27px}.auth-description .desktop-break{display:none}.auth-card h2{font-size:24px}.admin-footer{flex-wrap:wrap;justify-content:center;padding:18px 20px}}
@media(prefers-reduced-motion:reduce){.auth-spinner{animation:none}.google-login{transition:none}}
.header-actions .back-link>span{margin:0}
