
.v9-auth-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,470px);gap:30px;align-items:center;max-width:1100px;margin:48px auto}
.v9-auth-copy span,.v9-security-hero>div>span{color:#69c4e8;font-size:10px;font-weight:900;letter-spacing:1px}
.v9-auth-copy h1{margin:8px 0;color:#fff;font-size:45px}.v9-auth-copy p{max-width:620px;color:#a9c8d4;line-height:1.65}
.v9-auth-card,.v9-security-card{padding:22px;border:2px solid #397085;border-radius:12px;background:#102d39;box-shadow:0 6px 0 rgba(0,0,0,.2)}
.v9-auth-card h2,.v9-security-card h2{margin-top:0;color:#fff}.v9-auth-card form,.v9-security-card form{display:grid;gap:12px}.v9-auth-card label,.v9-security-card label{display:grid;gap:7px}.v9-auth-card input,.v9-security-card input{width:100%;min-width:0;box-sizing:border-box}
.v9-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.v9-check input{width:auto}
.v9-code-input{font-size:24px!important;letter-spacing:6px;text-align:center;font-weight:900}
.v9-security-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:24px 0 18px;padding:24px 27px;border:2px solid #397085;border-radius:12px;background:linear-gradient(135deg,#1b617f,#102f3d)}
.v9-security-hero h1{margin:5px 0;color:#fff;font-size:35px}.v9-security-hero p{margin:0;color:#b5d0da}
.v9-score{display:grid;grid-template-columns:auto auto;align-items:baseline;padding:15px 20px;border:1px solid #5d91a4;border-radius:10px;background:#0b2936;text-align:right}.v9-score strong{color:#fff;font-size:38px}.v9-score span{color:#83b4c6}.v9-score small{grid-column:1/-1;color:#70c4e4}
.v9-security-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.v9-card-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:15px}.v9-card-head small{color:#6abbd8;font-size:9px;font-weight:900;letter-spacing:.8px}
.v9-state{display:inline-flex;align-items:center;justify-content:center;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:900}.v9-state.good{border:1px solid #2e9660;background:#123c2a;color:#8ce4ad}.v9-state.warn{border:1px solid #a17b27;background:#4a3814;color:#ffe08b}.v9-state.bad{border:1px solid #a64e58;background:#421f27;color:#ffadb4}
.v9-secret,.v9-uri{display:block;padding:12px;border:1px solid #4d8194;border-radius:8px;background:#071f29;color:#d8f3fb;overflow-wrap:anywhere}.v9-secret{font-size:18px;letter-spacing:2px;text-align:center}
.v9-recovery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.v9-recovery-grid code{padding:9px;border:1px solid #416e7e;border-radius:7px;background:#09232e;text-align:center;color:#fff}
.v9-danger-form{margin-top:18px;padding-top:18px;border-top:1px solid rgba(90,143,161,.3)}
.v9-inline-action{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:end;margin-bottom:14px}
.v9-session-list,.v9-login-table,.v9-admin-user-list,.v9-event-list{display:grid;gap:9px}.v9-session-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px;border:1px solid #356575;border-radius:8px;background:#0c2732}.v9-session-list strong,.v9-session-list span{display:block}.v9-session-list span{color:#86aab7;font-size:10px}.v9-session-list article.revoked{opacity:.55}
.v9-login-table article,.v9-event-list article{display:grid;grid-template-columns:90px minmax(180px,1fr) minmax(100px,.7fr) minmax(150px,.9fr);gap:12px;align-items:center;padding:10px;border-bottom:1px solid rgba(79,132,150,.25)}.v9-login-table time,.v9-event-list time{color:#85aab8;font-size:10px}
.v9-admin-security-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.v9-admin-security-stats article{padding:16px;border:2px solid #376879;border-radius:9px;background:#102d39}.v9-admin-security-stats small,.v9-admin-security-stats strong{display:block}.v9-admin-security-stats small{color:#6bbbd7;font-size:9px;font-weight:900}.v9-admin-security-stats strong{margin-top:5px;color:#fff;font-size:28px}
.v9-admin-user-list article{display:grid;grid-template-columns:minmax(180px,1.3fr) 100px 90px 90px 80px auto;gap:11px;align-items:center;padding:11px;border:1px solid #356575;border-radius:8px;background:#0c2732}.v9-admin-user-list strong,.v9-admin-user-list span{display:block}.v9-admin-user-list span{color:#92b2be;font-size:10px}
.v9-event-list article{grid-template-columns:80px minmax(170px,1fr) minmax(130px,.8fr) 120px 145px}
@media(max-width:950px){.v9-auth-shell,.v9-security-grid{grid-template-columns:1fr}.v9-admin-security-stats{grid-template-columns:1fr 1fr}.v9-admin-user-list article{grid-template-columns:1fr 1fr}.v9-login-table article,.v9-event-list article{grid-template-columns:1fr 1fr}.v9-inline-action{grid-template-columns:1fr!important}}
@media(max-width:560px){.v9-auth-shell{margin:25px auto}.v9-auth-copy h1{font-size:33px}.v9-security-hero{align-items:flex-start;flex-direction:column}.v9-admin-security-stats,.v9-recovery-grid{grid-template-columns:1fr}.v9-admin-user-list article,.v9-login-table article,.v9-event-list article{grid-template-columns:1fr}}


/* V9.0.1 QR setup */
.v901-qr-setup{
 display:grid;
 grid-template-columns:280px minmax(0,1fr);
 gap:20px;
 align-items:start;
 margin:15px 0 18px
}

.v901-qr-card{
 display:grid;
 place-items:center;
 padding:10px;
 border:2px solid #4d8295;
 border-radius:12px;
 background:#fff
}

.v901-qr-card img{
 display:block;
 width:100%;
 max-width:260px;
 height:auto
}

.v901-qr-copy h3{
 margin:0 0 10px;
 color:#fff
}

.v901-qr-copy ol{
 margin:0 0 14px;
 padding-left:21px;
 color:#b7d1da;
 line-height:1.6
}

.v901-qr-copy details{
 padding:12px;
 border:1px solid #3d6c7d;
 border-radius:8px;
 background:#0b2834
}

.v901-qr-copy summary{
 cursor:pointer;
 color:#75c4e2;
 font-weight:800
}

.v901-qr-copy .v9-secret,
.v901-qr-copy .v9-uri{
 margin-top:10px
}

@media(max-width:760px){
 .v901-qr-setup{
  grid-template-columns:1fr
 }

 .v901-qr-card{
  max-width:300px;
  margin:auto
 }
}


/* V9.0.2 TOTP timer */
.v902-totp-timer{
 margin:14px 0;
 padding:13px;
 border:1px solid #3f7183;
 border-radius:9px;
 background:#0a2733
}

.v902-totp-timer-head{
 display:flex;
 justify-content:space-between;
 gap:12px;
 align-items:center;
 color:#b7d1da
}

.v902-totp-timer-head strong{
 color:#fff;
 white-space:nowrap
}

.v902-totp-track{
 height:9px;
 margin:9px 0;
 overflow:hidden;
 border:1px solid #315f70;
 border-radius:999px;
 background:#071e28
}

.v902-totp-progress{
 width:100%;
 height:100%;
 border-radius:999px;
 background:linear-gradient(90deg,#1da5e9,#f0c32d);
 transition:width .25s linear
}

.v902-totp-timer small{
 display:block;
 color:#82aab8;
 line-height:1.45
}
