:root { color-scheme: dark; --bg:#070a0f; --surface:#0e131c; --raised:#121a25; --line:#263142; --text:#f3f6fa; --muted:#96a4b7; --blue:#4f8cff; --blue-dark:#2f69d8; --green:#45c99a; --red:#d66b73; --amber:#eab75e; --radius:13px; }
*,*::before,*::after{box-sizing:border-box} html{scroll-behavior:smooth;scroll-padding-top:120px} body{margin:0;min-width:320px;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased} button,input,select,textarea{font:inherit} button{cursor:pointer} a{color:inherit} [hidden]{display:none!important} :focus-visible{outline:3px solid #8eb7ff;outline-offset:3px}.skip-link{position:fixed;z-index:1000;top:8px;left:8px;padding:.7rem 1rem;transform:translateY(-150%);background:#fff;color:#000;border-radius:6px}.skip-link:focus{transform:none}
.auth-shell{min-height:100svh;padding:3rem 1.25rem;display:grid;place-items:center;background:radial-gradient(circle at 50% 0,rgba(49,106,204,.18),transparent 35%)}.auth-card{width:min(100%,480px);padding:clamp(1.6rem,5vw,3rem);border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#111824,#090d14);box-shadow:0 30px 90px rgba(0,0,0,.45)}.admin-brand{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none;font-weight:750;letter-spacing:-.02em}.admin-brand img{border-radius:7px}.admin-brand small{padding-left:.65rem;border-left:1px solid var(--line);color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.auth-copy{margin:3rem 0 2rem}.auth-copy>span,.kicker{color:#78a5fa;font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.auth-copy h1{margin:.55rem 0 .8rem;font-size:2rem;letter-spacing:-.035em}.auth-copy p,.section-heading p,.operation-card>p{margin:0;color:var(--muted)}.setup-notice{margin-bottom:1.2rem;padding:1rem;display:flex;flex-direction:column;border:1px solid rgba(79,140,255,.3);border-radius:9px;background:rgba(79,140,255,.07)}.setup-notice span{margin-top:.2rem;color:var(--muted);font-size:.82rem}.auth-status{min-height:1.5rem;margin-top:1rem;color:#f2a5aa;font-size:.86rem}
.field{margin-bottom:1.1rem}.field label{display:block;margin-bottom:.4rem;color:#dfe7f2;font-size:.86rem;font-weight:650}.field input,.field select,.field textarea{width:100%;min-height:46px;padding:.7rem .8rem;border:1px solid #354258;border-radius:8px;background:#080b11;color:#fff}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);outline:2px solid rgba(79,140,255,.2)}.field small{display:block;margin-top:.35rem;color:#77869b;font-size:.72rem}.primary-button,.secondary-button,.danger-button,.text-button{min-height:42px;padding:.65rem 1rem;border:1px solid transparent;border-radius:8px;color:#fff;font-weight:700}.primary-button{background:var(--blue-dark);border-color:var(--blue)}.primary-button:hover{background:#3977ec}.secondary-button{border-color:#3a4960;background:#151d29}.secondary-button:hover{border-color:#61728d}.danger-button{border-color:rgba(214,107,115,.5);background:rgba(214,107,115,.12);color:#f1adb2}.text-button{padding-inline:.55rem;background:transparent;color:#a8bce0}.text-button:hover{color:#fff}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}
.admin-header{position:sticky;z-index:100;top:0;height:70px;padding:0 max(20px,calc((100vw - 1400px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(7,10,15,.92);backdrop-filter:blur(16px)}.header-actions{display:flex;align-items:center;gap:.8rem;color:var(--muted);font-size:.84rem}.admin-nav{position:sticky;z-index:90;top:70px;min-height:52px;padding:0 max(20px,calc((100vw - 1400px)/2));display:flex;align-items:center;gap:1.5rem;overflow-x:auto;border-bottom:1px solid #1f2938;background:#0a0e15}.admin-nav a{padding:.9rem 0;color:#a5b1c2;font-size:.82rem;font-weight:650;text-decoration:none;white-space:nowrap}.admin-nav a:hover{color:#fff}.admin-content{width:min(100% - 40px,1400px);margin:auto}.global-status{position:fixed;z-index:200;top:84px;right:20px;width:min(420px,calc(100vw - 40px));padding:0;border-radius:9px;background:#13251f;color:#c9eadf;box-shadow:0 16px 50px rgba(0,0,0,.4)}.global-status.is-visible{padding:1rem;border:1px solid rgba(69,201,154,.4)}.global-status.is-error{border-color:rgba(214,107,115,.45);background:#29151a;color:#f0c2c5}
.overview,.admin-section{padding:clamp(3.5rem,7vw,6rem) 0;border-bottom:1px solid var(--line)}.section-heading{margin-bottom:2rem;display:flex;align-items:end;justify-content:space-between;gap:2rem}.section-heading h1,.section-heading h2{margin:.4rem 0 .7rem;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.04em;line-height:1.1}.section-heading p{max-width:750px}.status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.status-card{padding:1.3rem;display:flex;align-items:center;gap:1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.status-card>div{min-width:0;display:flex;flex-direction:column}.status-card small{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.status-card strong{margin:.15rem 0;font-size:1.08rem;overflow-wrap:anywhere}.status-card span:last-child{color:#8290a3;font-size:.76rem}.status-icon{flex:0 0 auto;width:12px;height:12px;border-radius:50%;background:#77859a;box-shadow:0 0 18px rgba(119,133,154,.5)}.status-icon.blue{background:var(--blue);box-shadow:0 0 18px rgba(79,140,255,.65)}.status-icon.green{background:var(--green);box-shadow:0 0 18px rgba(69,201,154,.55)}
.provider-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}.provider-card,.operation-card,.certificate-summary{padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,#111822,#0c1119)}.provider-card.is-selected{border-color:#4b76b6;box-shadow:inset 0 0 0 1px rgba(79,140,255,.2)}.provider-heading{margin-bottom:1.8rem;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.provider-heading>div{display:flex;align-items:center;gap:.8rem}.provider-heading h3{margin:0;font-size:1.2rem}.provider-heading p{margin:.15rem 0 0;color:var(--muted);font-size:.78rem}.provider-mark{width:38px;height:38px;display:grid;place-items:center;border:1px solid #466795;border-radius:9px;background:#172c4a;color:#92b9ff;font-weight:850}.provider-mark.google{border-color:#5e5543;background:#2c271c;color:#f0c465}.connection-badge{padding:.3rem .55rem;border:1px solid var(--line);border-radius:99px;color:#97a5b7;font-size:.68rem;font-weight:750;text-transform:uppercase;white-space:nowrap}.connection-badge.connected{border-color:rgba(69,201,154,.35);background:rgba(69,201,154,.08);color:#7bd9b7}.provider-health{min-height:1.2rem;margin:1rem 0 0;color:#8998aa;font-size:.76rem}.copy-field{display:flex}.copy-field input{border-radius:8px 0 0 8px}.copy-field button{border:1px solid #354258;border-left:0;border-radius:0 8px 8px 0;background:#182130;color:#b8c8de}
.certificate-summary{margin-bottom:1rem}.certificate-state{padding-bottom:1.5rem;display:flex;align-items:center;gap:1rem;border-bottom:1px solid var(--line)}.certificate-state>div{display:flex;flex-direction:column}.certificate-state small{color:var(--muted);font-size:.72rem;text-transform:uppercase}.certificate-state strong{font-size:1.25rem}.certificate-state span:last-child{color:var(--amber);font-size:.78rem}.certificate-seal{width:52px;height:52px;display:grid;place-items:center;border:1px solid #42669b;border-radius:50%;background:#132746;color:#8eb9ff;font-size:.72rem;font-weight:850}.certificate-details{margin:1.5rem 0 0;display:grid;grid-template-columns:1fr 1fr;gap:1rem 2rem}.certificate-details div{min-width:0}.certificate-details .wide{grid-column:1/-1}.certificate-details dt{color:#7f8da1;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.certificate-details dd{margin:.25rem 0 0;color:#dce5f1;font-size:.88rem;overflow-wrap:anywhere}.monospace{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.75rem!important}.operation-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.operation-card h3{margin-top:0}.rollback-bar{margin-top:1rem;padding:1.2rem 1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border:1px solid rgba(214,107,115,.25);border-radius:var(--radius);background:rgba(214,107,115,.05)}.rollback-bar>div{display:flex;flex-direction:column}.rollback-bar span{color:var(--muted);font-size:.78rem}.security-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:1rem}.audit-list{max-height:500px;overflow:auto}.audit-entry{padding:.8rem 0;display:grid;grid-template-columns:1fr auto;gap:.3rem 1rem;border-bottom:1px solid var(--line)}.audit-entry strong{font-size:.82rem}.audit-entry span{color:var(--muted);font-size:.72rem}.audit-entry time{grid-column:2;grid-row:1/3;color:#76859a;font-size:.68rem;text-align:right}.audit-entry .success{color:#70d4af}.audit-entry .failure{color:#e3969c}
.mfa-key-button{width:100%;margin-bottom:.8rem}.mfa-cancel{width:100%;margin-top:1rem}.recovery-login{margin-top:.6rem;padding-top:.8rem;border-top:1px solid var(--line)}.recovery-login summary{color:#a8bce0;font-size:.84rem;cursor:pointer}.recovery-login form{margin-top:1rem}.mfa-summary{margin-bottom:1rem;padding:1.2rem 1.4rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.mfa-summary>div{display:flex;align-items:center;gap:.8rem}.mfa-summary>div>div,.mfa-summary>div:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:0}.mfa-summary small{color:var(--muted);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.mfa-summary span:not(.status-icon){color:#8290a3;font-size:.76rem}.mfa-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.mfa-grid .recovery-card{grid-column:1/-1}.card-title{margin-bottom:1.5rem;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.card-title h3{margin:0}.card-title p{margin:.25rem 0 0;color:var(--muted);font-size:.8rem}.totp-enrollment{padding-top:1rem;border-top:1px solid var(--line)}.totp-enrollment img{max-width:100%;height:auto;padding:.5rem;border-radius:8px;background:#fff}.totp-enrollment code{display:block;margin:.6rem 0 1.2rem;padding:.8rem;border:1px solid var(--line);border-radius:7px;background:#080b11;color:#a9c6fb;overflow-wrap:anywhere;letter-spacing:.08em}.security-key-list{margin-bottom:1.2rem}.security-key-row{padding:.8rem 0;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line)}.security-key-row>div{display:flex;flex-direction:column}.security-key-row small{color:var(--muted)}.recovery-output{padding:1rem;border:1px solid rgba(234,183,94,.35);border-radius:9px;background:rgba(234,183,94,.07)}.recovery-output h3{margin-top:0}.recovery-output ol{columns:2;margin:1rem 0;padding-left:1.8rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.recovery-output li{margin:.3rem 0;break-inside:avoid}.security-lower-grid{margin-top:1rem}.admin-dialog{width:min(92vw,480px);padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius);background:#101721;color:var(--text);box-shadow:0 30px 90px rgba(0,0,0,.6)}.admin-dialog::backdrop{background:rgba(0,0,0,.72)}.admin-dialog p{color:var(--muted)}.recovery-dialog{width:min(92vw,620px)}
@media(max-width:1050px){.status-grid{grid-template-columns:1fr 1fr}.provider-grid,.operation-grid,.security-grid{grid-template-columns:1fr}}@media(max-width:800px){.mfa-grid{grid-template-columns:1fr}.mfa-grid .recovery-card{grid-column:auto}}@media(max-width:700px){.admin-content{width:min(100% - 24px,1400px)}.admin-header{padding-inline:12px}.admin-brand small{display:none}.header-actions>span{display:none}.admin-nav{padding-inline:12px}.section-heading{align-items:flex-start;flex-direction:column}.status-grid{grid-template-columns:1fr}.two-columns,.certificate-details{grid-template-columns:1fr}.certificate-details .wide{grid-column:auto}.rollback-bar,.mfa-summary{align-items:flex-start;flex-direction:column}.rollback-bar button{width:100%}.form-actions>*{flex:1 1 160px}.provider-heading,.card-title{flex-direction:column}.recovery-output ol{columns:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.form-actions button:disabled{opacity:.45;cursor:not-allowed;filter:saturate(.45)}
