:root{--qv-auth-bg:#d9f2ff;--qv-auth-navy:#082d57;--qv-auth-blue:#0879d9;--qv-auth-cyan:#16b9ee;--qv-auth-border:rgba(8,72,128,.18)}
html,body{min-height:100%;margin:0}.qv-auth-shell{position:fixed;inset:0;overflow:auto;display:grid;place-items:center;padding:32px 18px 58px;background:radial-gradient(circle at 50% 8%,#f7fdff 0,#dff5ff 28%,#c7ebff 62%,#b8e4fb 100%);font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--qv-auth-navy);z-index:99999}.qv-auth-shell:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(0,116,190,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(0,116,190,.055) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 78%)}.qv-auth-glow{position:absolute;border-radius:999px;filter:blur(15px);opacity:.52}.qv-auth-glow-one{width:420px;height:420px;background:#67d7ff;left:-170px;top:-180px}.qv-auth-glow-two{width:360px;height:360px;background:#7cbcff;right:-130px;bottom:-170px}.qv-auth-card{position:relative;width:min(430px,100%);padding:36px 38px 32px;border:1px solid rgba(255,255,255,.92);border-radius:24px;background:rgba(255,255,255,.82);box-shadow:0 28px 80px rgba(8,62,110,.22),inset 0 1px 0 #fff;backdrop-filter:blur(22px)}.qv-auth-brand{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:26px}.qv-auth-brand span{font-size:25px;font-weight:650;letter-spacing:.24em;color:#07396c}.qv-auth-brand img{filter:drop-shadow(0 8px 13px rgba(0,110,190,.28))}.qv-auth-card header{text-align:center;margin-bottom:25px}.qv-auth-kicker{display:inline-block;color:#0876bd;font-size:11px;font-weight:750;letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px}.qv-auth-card h1{font-size:24px;line-height:1.2;margin:0 0 9px;font-weight:720}.qv-auth-card header p,.qv-auth-help{font-size:13px;line-height:1.55;color:#4f6f8d;margin:0}.qv-auth-form{display:grid;gap:9px}.qv-auth-form label{font-size:12px;font-weight:680;margin-top:5px}.qv-auth-form input[type=text],.qv-auth-form input[type=password]{box-sizing:border-box;width:100%;height:44px;border:1px solid var(--qv-auth-border);border-radius:10px;background:#f9fdff;padding:0 13px;font:500 14px/1 "Segoe UI",Arial;color:#123a60;outline:none;transition:.18s}.qv-auth-form input:focus{border-color:#159ee5;box-shadow:0 0 0 3px rgba(21,158,229,.14);background:#fff}.qv-password-wrap{position:relative}.qv-password-wrap input{padding-right:44px!important}.qv-password-toggle{position:absolute;right:4px;top:4px;width:36px;height:36px;border:0;background:transparent;color:#287bb5;cursor:pointer}.qv-auth-check{display:flex;align-items:center;gap:9px!important;font-weight:500!important;color:#466a88;margin:9px 0 4px!important}.qv-auth-check input{width:17px;height:17px;accent-color:#0b8fe1}.qv-auth-primary,.qv-auth-secondary{box-sizing:border-box;width:100%;min-height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;text-decoration:none;font:700 13px/1 "Segoe UI",Arial;cursor:pointer}.qv-auth-primary{margin-top:8px;border:0;color:white;background:linear-gradient(135deg,#12b7ed,#0876dc);box-shadow:0 10px 24px rgba(5,120,205,.25)}.qv-auth-primary:hover{filter:brightness(1.04)}.qv-auth-secondary{border:1px solid #86bee1;color:#0a538c;background:#f7fcff}.qv-auth-divider{display:flex;align-items:center;gap:12px;color:#7b98af;font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin:20px 0 14px}.qv-auth-divider:before,.qv-auth-divider:after{content:"";height:1px;flex:1;background:#d4e6f1}.qv-auth-help{text-align:center;margin-top:18px}.qv-auth-footer{position:absolute;bottom:22px;font-size:11px;color:#4c7899;letter-spacing:.04em}@media(max-width:520px){.qv-auth-shell{padding:18px 12px 48px}.qv-auth-card{padding:29px 23px 26px;border-radius:19px}.qv-auth-brand{margin-bottom:20px}.qv-auth-brand span{font-size:21px}.qv-auth-footer{bottom:14px}}
/* Joomla MFA captive view receives the same shell when the system plugin adds qv-auth-captive. */
body.qv-auth-captive{background:var(--qv-auth-bg)!important}body.qv-auth-captive header,body.qv-auth-captive footer,body.qv-auth-captive .container-header,body.qv-auth-captive .container-footer{display:none!important}body.qv-auth-captive main{max-width:500px;margin:8vh auto!important;padding:34px!important;border-radius:22px;background:rgba(255,255,255,.92);box-shadow:0 28px 80px rgba(8,62,110,.22)}



/* ===== Qesvion MFA enrollment redesign (8.73) ===== */
.qv-force-hide{display:none!important}
body.qv-auth-captive{margin:0!important;min-height:100vh;background:linear-gradient(135deg,#eef6ff 0%,#dbeeff 52%,#d4e9ff 100%)!important;font-family:Inter,"Segoe UI",Arial,sans-serif;color:#162a55}
body.qv-auth-captive:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 6% 20%,rgba(68,133,255,.15) 0 5px,transparent 6px) 0 0/110px 110px,linear-gradient(120deg,transparent 0 78%,rgba(72,133,240,.07) 78% 79%,transparent 79%);opacity:.9}
body.qv-auth-captive #sp-main-body,body.qv-auth-captive .site-grid,body.qv-auth-captive .body-wrapper,body.qv-auth-captive .container-main{padding:0!important;margin:0!important;max-width:none!important;background:transparent!important}
body.qv-auth-captive main{position:relative;z-index:1;width:min(1250px,calc(100vw - 40px));max-width:none!important;margin:0 auto 38px!important;padding:0!important;background:transparent!important;box-shadow:none!important}
.qv-mfa-brand{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:18px;padding:20px 0 8px}.qv-mfa-brand img{width:58px;height:58px;filter:drop-shadow(0 9px 18px rgba(39,104,230,.18))}.qv-mfa-brand span{font-size:29px;font-weight:760;letter-spacing:.22em;color:#13245a}
.qv-mfa-headline{text-align:center;padding:14px 20px 24px}.qv-mfa-headline h1{font-size:31px;line-height:1.2;margin:0 0 8px;color:#132157;font-weight:790}.qv-mfa-headline p{font-size:16px;line-height:1.5;margin:0;color:#5c7190}
.qv-mfa-panel{background:rgba(255,255,255,.75);border:1px solid rgba(255,255,255,.95);border-radius:26px;padding:28px;box-shadow:0 18px 45px rgba(34,77,145,.13),inset 0 1px 0 #fff;backdrop-filter:blur(15px)}
.qv-enrollment-panel form{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:26px;margin:0}.qv-enrollment-left,.qv-enrollment-confirm{background:#fbfdff;border:1px solid rgba(137,173,225,.3);border-radius:20px;padding:24px;box-shadow:0 8px 20px rgba(46,90,151,.07)}
.qv-enrollment-intro{display:flex;gap:16px;align-items:flex-start;margin-bottom:16px}.qv-auth-icon{flex:0 0 52px;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#4c9bff,#1f64ff);color:#fff;font-size:26px;box-shadow:0 9px 20px rgba(36,100,255,.25)}
.qv-enrollment-intro h2,.qv-enrollment-confirm h2{font-size:20px;line-height:1.3;margin:0 0 8px;color:#14265b}.qv-enrollment-intro p,.qv-enrollment-confirm p{font-size:14px;line-height:1.55;margin:0;color:#58708d}
.qv-badge-recommended{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;background:linear-gradient(135deg,#4a96ff,#2a63ff);color:#fff;font-size:12px;font-weight:700;vertical-align:middle}
.qv-title-row,.qv-default-row{display:none!important}
.qv-enrollment-left .com-users-method-edit-pre-message{margin:14px 0!important;color:#58708d!important}
.qv-enrollment-left .com-users-method-edit-tabular-container{margin-top:16px}.qv-enrollment-left table{width:100%;border-collapse:separate;border-spacing:12px;background:transparent!important}.qv-enrollment-left table tr{display:grid;grid-template-columns:minmax(220px,1fr) minmax(250px,.9fr);gap:16px}.qv-enrollment-left table td{display:block;background:#f7faff;border:1px solid #dbe7f8;border-radius:14px;padding:14px!important;vertical-align:middle}.qv-enrollment-left table td img,.qv-enrollment-left table td canvas,.qv-enrollment-left .qv-real-qr img,.qv-enrollment-left .qv-real-qr canvas{display:block;max-width:260px!important;max-height:260px!important;width:auto!important;height:auto!important;margin:auto;background:#fff;border:3px solid #dce8ff;border-radius:18px;padding:14px;box-shadow:0 10px 24px rgba(41,96,178,.13)}
.qv-enrollment-left code,.qv-enrollment-left pre{display:block;white-space:normal;word-break:break-all;background:#fff;border:1px solid #d4e1f5;border-radius:10px;padding:12px;color:#19365d;font-size:14px}
.qv-enrollment-confirm{align-self:stretch}.qv-enrollment-confirm .row{display:block!important;margin:18px 0!important}.qv-enrollment-confirm [class*="col-"]{width:100%!important;margin:0!important;padding:0!important}.qv-enrollment-confirm label{display:block;font-weight:700;color:#23385e;margin-bottom:8px}.qv-code-input{width:100%!important;min-height:54px!important;border:1px solid #c7d8f4!important;border-radius:12px!important;background:#fff!important;text-align:center!important;letter-spacing:.35em!important;font-size:24px!important;font-weight:750!important;color:#17335f!important}.qv-code-input:focus{outline:none!important;border-color:#3d82ff!important;box-shadow:0 0 0 4px rgba(61,130,255,.14)!important}.qv-enrollment-confirm .form-text{font-size:12px;color:#6a7e98}.qv-enrollment-confirm button[type=submit]{width:100%;min-height:50px;border:0!important;border-radius:11px!important;background:linear-gradient(135deg,#4a96ff,#1f61ff)!important;color:#fff!important;font-size:16px!important;font-weight:720!important;box-shadow:0 12px 24px rgba(34,96,255,.24)}.qv-enrollment-confirm a.btn-danger{width:100%;min-height:46px;display:flex;align-items:center;justify-content:center;border:1px solid #99baff!important;border-radius:11px!important;background:#fff!important;color:#2755c4!important;font-size:15px!important;margin-top:12px}
.qv-alt-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}.qv-alt-card{display:grid;grid-template-columns:66px 1fr;gap:14px;align-items:start;background:rgba(255,255,255,.78);border:1px solid rgba(151,184,229,.34);border-radius:19px;padding:20px;box-shadow:0 8px 20px rgba(45,88,149,.07)}.qv-alt-icon{width:58px;height:58px;border-radius:50%;background:linear-gradient(145deg,#eef5ff,#d7e8ff);position:relative}.qv-alt-icon:after{content:"";position:absolute;inset:17px;border-radius:6px;background:#397cf2}.qv-alt-yubikey .qv-alt-icon:after{border-radius:9px 9px 3px 3px;background:#172443}.qv-alt-email .qv-alt-icon:after{clip-path:polygon(0 15%,100% 15%,100% 85%,0 85%,0 15%,50% 55%,100% 15%)}.qv-alt-card h3{font-size:18px;margin:1px 0 7px;color:#17305d}.qv-alt-card p{min-height:42px;font-size:13px;line-height:1.45;margin:0 0 12px;color:#627793}.qv-alt-action{min-height:40px;padding:0 12px;border:1px solid #b7cdf8;border-radius:10px;display:flex;align-items:center;justify-content:space-between;color:#2859ce!important;text-decoration:none!important;font-weight:700;background:#fff}.qv-alt-action span{font-size:22px}

.qv-methods-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.qv-methods-grid .qv-card-authenticator{grid-column:1/-1}.qv-method-card{margin:0!important;border:1px solid rgba(145,177,221,.35)!important;border-radius:18px!important;overflow:hidden;box-shadow:0 8px 18px rgba(45,88,149,.07)}.qv-method-card .card-header{background:#f4f8ff!important;color:#17305d!important;border:0!important;padding:16px!important}.qv-method-card .card-body{padding:16px!important}.qv-method-card .com-users-methods-list-method-image{width:64px;height:64px;display:grid;place-items:center;padding:8px!important;background:#fff!important;border-radius:50%!important}.qv-method-card .com-users-methods-list-method-image img{max-width:52px;max-height:52px}.qv-method-card .com-users-methods-list-method-addnew{min-height:42px;border-radius:10px!important;font-size:14px!important}.qv-methods-panel #com-users-methods-reset-container,.qv-methods-panel .alert{border-radius:14px!important;margin:0 0 16px!important}
.qv-captive-panel{max-width:520px;margin:0 auto}.qv-captive-panel .users-mfa-captive{border:0!important;box-shadow:none!important;background:transparent!important;padding:0!important}.qv-captive-panel #users-mfa-title{font-size:21px;color:#17305d}.qv-captive-panel .row{display:block!important}.qv-captive-panel [class*="col-"]{width:100%!important;margin:0!important;padding:0!important}.qv-captive-panel button[type=submit]{width:100%;min-height:48px;border:0;border-radius:11px;background:linear-gradient(135deg,#4a96ff,#1f61ff);font-weight:700}.qv-captive-panel #users-mfa-captive-button-logout{width:100%;display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:12px;border-radius:11px;background:#fff;color:#2755c4;border:1px solid #9fbef4}
@media(max-width:980px){.qv-enrollment-panel form{grid-template-columns:1fr}.qv-alt-methods,.qv-methods-grid{grid-template-columns:1fr}.qv-enrollment-left table tr{grid-template-columns:1fr}}
@media(max-width:620px){body.qv-auth-captive main{width:min(100% - 20px,1250px)}.qv-mfa-brand span{font-size:22px;letter-spacing:.14em}.qv-mfa-headline h1{font-size:24px}.qv-mfa-panel{padding:16px;border-radius:19px}.qv-enrollment-left,.qv-enrollment-confirm{padding:18px}.qv-alt-card{grid-template-columns:52px 1fr}.qv-alt-icon{width:48px;height:48px}}


/* ===== 8.81 compact single-screen MFA enrollment ===== */
@media (min-width: 981px) and (min-height: 680px) {
  body.qv-auth-captive{overflow:hidden!important}
  body.qv-auth-captive main{width:min(1220px,calc(100vw - 32px));margin:0 auto 12px!important}
  .qv-mfa-brand{padding:8px 0 2px!important;gap:14px!important}
  .qv-mfa-brand img{width:44px!important;height:44px!important}
  .qv-mfa-brand span{font-size:25px!important}
  .qv-mfa-headline{padding:4px 18px 10px!important}
  .qv-mfa-headline h1{font-size:24px!important;margin-bottom:3px!important}
  .qv-mfa-headline p{font-size:13px!important;line-height:1.35!important}
  .qv-mfa-panel{padding:14px!important;border-radius:22px!important}
  .qv-enrollment-panel form{grid-template-columns:minmax(0,1fr) 280px!important;gap:14px!important}
  .qv-enrollment-left,.qv-enrollment-confirm{padding:14px!important;border-radius:16px!important}
  .qv-enrollment-intro{gap:11px!important;margin-bottom:6px!important}
  .qv-auth-icon{width:40px!important;height:40px!important;flex-basis:40px!important;font-size:20px!important}
  .qv-enrollment-intro h2,.qv-enrollment-confirm h2{font-size:17px!important;margin-bottom:3px!important}
  .qv-enrollment-intro p,.qv-enrollment-confirm p{font-size:12px!important;line-height:1.35!important}
  .qv-badge-recommended{height:20px!important;font-size:10px!important;padding:0 8px!important}
  .qv-enrollment-left .com-users-method-edit-pre-message{display:none!important}
  .qv-enrollment-left .com-users-method-edit-post-message{display:none!important}
  .qv-enrollment-left .com-users-method-edit-tabular-container{margin-top:6px!important}
  .qv-enrollment-left .com-users-method-edit-tabular-container h1,
  .qv-enrollment-left .com-users-method-edit-tabular-container h2,
  .qv-enrollment-left .com-users-method-edit-tabular-container h3,
  .qv-enrollment-left .com-users-method-edit-tabular-container > p{display:none!important}
  .qv-enrollment-left table{border-spacing:7px!important}
  .qv-enrollment-left table tr{grid-template-columns:minmax(180px,.72fr) minmax(250px,1fr)!important;gap:8px!important}
  .qv-enrollment-left table td{padding:8px!important;border-radius:10px!important;font-size:12px!important;line-height:1.3!important}
  .qv-enrollment-left table tr:first-child td:first-child:empty{display:none!important}
  .qv-enrollment-left table tr:first-child{grid-template-columns:1fr!important}
  .qv-enrollment-left table td img,.qv-enrollment-left table td canvas,
  .qv-enrollment-left .qv-real-qr img,.qv-enrollment-left .qv-real-qr canvas{
    max-width:185px!important;max-height:185px!important;padding:8px!important;border-radius:13px!important
  }
  .qv-enrollment-left code,.qv-enrollment-left pre{padding:8px!important;font-size:12px!important;line-height:1.25!important}
  .qv-enrollment-confirm .row{margin:10px 0!important}
  .qv-code-input{min-height:46px!important;font-size:20px!important}
  .qv-enrollment-confirm button[type=submit]{min-height:44px!important;font-size:14px!important}
  .qv-enrollment-confirm a.btn-danger{min-height:40px!important;font-size:13px!important;margin-top:8px!important}
  .qv-alt-methods{grid-template-columns:repeat(3,1fr)!important;gap:10px!important;margin-top:10px!important}
  .qv-alt-card{grid-template-columns:44px 1fr!important;gap:10px!important;padding:10px 12px!important;border-radius:14px!important;min-height:82px!important}
  .qv-alt-icon{width:40px!important;height:40px!important}
  .qv-alt-icon:after{inset:12px!important}
  .qv-alt-card h3{font-size:14px!important;margin:0 0 2px!important}
  .qv-alt-card p{font-size:11px!important;line-height:1.25!important;min-height:0!important;margin:0 0 6px!important}
  .qv-alt-action{min-height:30px!important;font-size:12px!important;padding:0 9px!important}
  
}
@media (min-width: 981px) and (max-height: 679px) {
  body.qv-auth-captive{overflow:auto!important}
  .qv-mfa-brand{padding-top:6px!important}
  .qv-mfa-headline{padding-bottom:8px!important}
}


/* ===== 8.82 real TOTP structure and route-safe alternative methods ===== */
.qv-totp-setup-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px;margin-top:10px}
.qv-totp-details,.qv-real-qr-card{background:#f8fbff;border:1px solid #dce7f8;border-radius:14px;padding:16px}
.qv-totp-details{display:flex;flex-direction:column;gap:13px}
.qv-totp-step{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start}
.qv-totp-step>span,.qv-confirm-step{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#4d98ff,#2464ff);color:#fff;font-size:13px;font-weight:800;box-shadow:0 5px 12px rgba(37,98,255,.22)}
.qv-totp-step strong{display:block;color:#18315e;font-size:13px;margin-bottom:2px}
.qv-totp-step p{margin:0;color:#667a94;font-size:11.5px;line-height:1.35}
.qv-manual-key{margin-top:2px}.qv-manual-key label{display:block;color:#536b89;font-size:11px;font-weight:700;margin-bottom:5px}.qv-manual-key>div{display:flex;align-items:center;background:#fff;border:1px solid #cfdcf0;border-radius:9px;overflow:hidden}.qv-manual-key code{flex:1!important;border:0!important;background:transparent!important;padding:9px 10px!important;font-size:12px!important;letter-spacing:.04em;white-space:nowrap!important}.qv-copy-key{width:38px;height:36px;border:0;background:#eef4ff;color:#2559c6;font-weight:800;cursor:pointer}
.qv-browser-setup-link{font-size:11.5px;font-weight:700;text-decoration:none!important;color:#285fd4!important}
.qv-real-qr-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:240px}.qv-qr-label{font-size:11px;font-weight:700;color:#59718f;margin-bottom:10px;text-align:center}.qv-real-qr-card img,.qv-real-qr-card canvas,.qv-real-qr-card svg{display:block!important;width:190px!important;height:190px!important;max-width:190px!important;max-height:190px!important;padding:9px!important;background:#fff!important;border:2px solid #d9e6fb!important;border-radius:13px!important;box-shadow:0 8px 20px rgba(37,82,151,.11)!important}
.qv-confirm-step{margin-bottom:8px}.qv-enrollment-confirm{min-height:0!important}.qv-enrollment-confirm .row{margin:8px 0 12px!important}.qv-enrollment-confirm .form-text{font-size:11px!important}.qv-enrollment-confirm .btn{margin-top:7px!important}
.qv-title-row,.qv-default-row{display:none!important}
@media (min-width:981px) and (min-height:680px){
 .qv-enrollment-left{padding:12px 14px!important}.qv-enrollment-intro{margin-bottom:4px!important}
 .qv-totp-setup-grid{grid-template-columns:minmax(0,1fr) 245px;gap:10px;margin-top:6px}
 .qv-totp-details,.qv-real-qr-card{padding:11px;border-radius:11px}.qv-totp-details{gap:8px}
 .qv-real-qr-card{min-height:204px}.qv-real-qr-card img,.qv-real-qr-card canvas,.qv-real-qr-card svg{width:170px!important;height:170px!important;max-width:170px!important;max-height:170px!important;padding:7px!important}
 .qv-totp-step{grid-template-columns:25px 1fr;gap:8px}.qv-totp-step>span,.qv-confirm-step{width:24px;height:24px;font-size:11px}
 .qv-totp-step strong{font-size:12px}.qv-totp-step p{font-size:10.5px}.qv-manual-key label,.qv-browser-setup-link,.qv-qr-label{font-size:10.5px}
 .qv-manual-key code{padding:7px 8px!important;font-size:11px!important}.qv-copy-key{height:32px}
 .qv-enrollment-confirm{padding:12px!important}.qv-enrollment-confirm h2{font-size:16px!important}.qv-enrollment-confirm p{font-size:11px!important}
}
@media(max-width:980px){.qv-totp-setup-grid{grid-template-columns:1fr}.qv-real-qr-card{min-height:220px}}

/* 8.83: preserve and display the complete Joomla TOTP QR value container */
.qv-real-qr-content{display:flex;align-items:center;justify-content:center;min-height:190px;width:100%;overflow:hidden}
.qv-real-qr-content>*{max-width:100%!important}
.qv-real-qr-content img,.qv-real-qr-content canvas,.qv-real-qr-content svg,.qv-real-qr-content picture{display:block!important;visibility:visible!important;opacity:1!important;max-width:185px!important;max-height:185px!important;width:auto!important;height:auto!important;margin:auto!important;background:#fff!important}
.qv-real-qr-content [style*="background-image"]{display:block!important;width:185px!important;height:185px!important;background-size:contain!important;background-repeat:no-repeat!important;background-position:center!important}
.qv-qr-missing{display:flex;align-items:center;justify-content:center;min-height:160px;padding:18px;text-align:center;color:#8a3b3b;background:#fff4f4;border:1px solid #efc4c4;border-radius:12px;font-size:13px}


/* ===== 8.85 stale-cache, device-link and action-density correction ===== */
.qv-security-bar{display:none!important}
.qv-enrollment-confirm{padding:11px 12px!important}
.qv-enrollment-confirm .qv-confirm-step{width:23px!important;height:23px!important;font-size:10px!important;margin-bottom:6px!important}
.qv-enrollment-confirm h2{font-size:15px!important;line-height:1.2!important;margin:0 0 3px!important}
.qv-enrollment-confirm p{font-size:10.5px!important;line-height:1.3!important;margin:0 0 6px!important}
.qv-enrollment-confirm .row{margin:5px 0 8px!important}
.qv-enrollment-confirm label{font-size:11px!important;margin-bottom:4px!important}
.qv-enrollment-confirm .qv-code-input{min-height:39px!important;height:39px!important;font-size:17px!important;border-radius:9px!important}
.qv-enrollment-confirm .form-text{font-size:9.5px!important;line-height:1.2!important;margin-top:3px!important}
.qv-enrollment-confirm button[type=submit],
.qv-enrollment-confirm .btn-primary{min-height:36px!important;height:36px!important;padding:0 12px!important;border-radius:9px!important;font-size:12.5px!important;margin-top:5px!important}
.qv-enrollment-confirm a.btn-danger,
.qv-enrollment-confirm a.btn-secondary,
.qv-enrollment-confirm .btn-outline-secondary{min-height:33px!important;height:33px!important;padding:0 12px!important;border-radius:9px!important;font-size:11.5px!important;margin-top:6px!important}
.qv-browser-setup-link{display:inline-flex!important;align-items:center!important;min-height:24px!important;font-size:10.5px!important;line-height:1.2!important;margin-top:1px!important}


/* ===== 8.86 trusted-device captive login ===== */
.qv-captive-panel{max-width:440px!important;padding:20px!important;border-radius:20px!important}
.qv-captive-panel .users-mfa-captive{padding:0!important}
.qv-captive-panel .users-mfa-captive h1,.qv-captive-panel .users-mfa-captive h2,.qv-captive-panel .users-mfa-captive .lead,.qv-captive-panel .users-mfa-captive>p:first-of-type{display:none!important}
.qv-captive-panel label{font-size:12px!important;font-weight:700!important;color:#29405f!important;margin-bottom:5px!important}
.qv-captive-panel .qv-code-input{height:44px!important;min-height:44px!important;border-radius:10px!important;font-size:20px!important;letter-spacing:.28em!important}
.qv-captive-panel button[type=submit]{height:38px!important;min-height:38px!important;font-size:13px!important;border-radius:9px!important;margin-top:10px!important}
.qv-captive-panel #users-mfa-captive-button-logout,.qv-captive-panel a.btn,.qv-captive-panel button.btn-secondary{height:34px!important;min-height:34px!important;font-size:11.5px!important;border-radius:9px!important;margin-top:7px!important}
.qv-trust-device{display:flex!important;align-items:center!important;gap:8px!important;margin:10px 0 2px!important;font-size:11.5px!important;font-weight:500!important;color:#4f6683!important;cursor:pointer}
.qv-trust-device input{width:16px!important;height:16px!important;min-height:0!important;accent-color:#347cff}
.qv-captive-panel a:not(.btn){display:inline-flex!important;margin-top:10px!important;color:#275dcc!important;font-size:11.5px!important;text-decoration:none!important}

.qv-auth-error{margin:0 0 16px;padding:11px 13px;border:1px solid #f2b7b7;border-radius:10px;background:#fff3f3;color:#9b2525;font-size:13px;line-height:1.45}


/* Qesvion authentication refinements 8.92 */
.qv-auth-login-links{display:flex;justify-content:center;margin:14px 0 0}
.qv-auth-login-links a{font-size:12.5px;font-weight:650;color:#1769c7;text-decoration:none}
.qv-auth-login-links a:hover{text-decoration:underline}
.qv-captive-panel{max-width:420px!important;padding:22px!important}
.qv-captive-panel .qv-code-input{height:42px!important;min-height:42px!important;font-size:19px!important}
.qv-captive-panel .qv-captive-primary{height:38px!important;min-height:38px!important;margin-top:10px!important;font-size:13px!important}
.qv-captive-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}
.qv-captive-actions .qv-captive-secondary,.qv-captive-actions .qv-captive-tertiary{display:flex!important;align-items:center!important;justify-content:center!important;height:34px!important;min-height:34px!important;margin:0!important;border-radius:9px!important;font-size:11.5px!important;text-decoration:none!important}
.qv-captive-actions .qv-captive-secondary{background:#fff!important;border:1px solid #8fb5ef!important;color:#2858bd!important}
.qv-captive-actions .qv-captive-tertiary{background:transparent!important;border:1px solid #c8d6e8!important;color:#526984!important}
.qv-captive-password-reset{display:block!important;text-align:center;margin-top:12px!important;font-size:11.5px!important;color:#285dcc!important;text-decoration:none!important}
.qv-captive-password-reset:hover{text-decoration:underline!important}
.qv-captive-panel a:empty,.qv-captive-panel button:empty{display:none!important}
@media(max-width:520px){.qv-captive-actions{grid-template-columns:1fr}}

/* ===== Qesvion captive MFA final alignment 8.94 ===== */
body.qv-auth-captive > header,
body.qv-auth-captive > footer,
body.qv-auth-captive .container-header,
body.qv-auth-captive .container-footer,
body.qv-auth-captive #sp-header,
body.qv-auth-captive #sp-top-bar{display:none!important}
body.qv-auth-captive main{width:100%!important;max-width:none!important;margin:0!important;padding:0 18px 32px!important;display:block!important}
.qv-captive-shell{width:100%;display:flex;justify-content:center;padding:6px 0 24px}
.qv-captive-card{width:min(460px,calc(100vw - 32px));box-sizing:border-box;padding:28px 30px 24px;border:1px solid rgba(117,163,225,.26);border-radius:24px;background:rgba(255,255,255,.88);box-shadow:0 22px 52px rgba(35,79,145,.15),inset 0 1px 0 rgba(255,255,255,.95);backdrop-filter:blur(18px)}
.qv-captive-icon{width:54px;height:54px;margin:0 auto 15px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(145deg,#43a2ff,#2869ff);box-shadow:0 12px 26px rgba(47,109,255,.25);color:#fff;font-size:25px;font-weight:800}
.qv-captive-copy{text-align:center;margin-bottom:22px}
.qv-captive-kicker{display:block;margin-bottom:7px;color:#3477d6;font-size:10.5px;line-height:1;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.qv-captive-copy h1{display:block!important;margin:0 0 9px!important;color:#152958!important;font-size:24px!important;line-height:1.2!important;font-weight:780!important}
.qv-captive-copy p{margin:0 auto!important;max-width:360px;color:#607590!important;font-size:13px!important;line-height:1.5!important}
.qv-captive-form{display:block;margin:0!important;padding:0!important}
.qv-captive-field{margin-bottom:12px}
.qv-captive-field label{display:block!important;margin:0 0 6px!important;color:#233b60!important;font-size:12px!important;line-height:1.2!important;font-weight:720!important}
.qv-captive-field .qv-code-input{box-sizing:border-box;width:100%!important;height:48px!important;min-height:48px!important;margin:0!important;padding:0 14px!important;border:1px solid #bed2f1!important;border-radius:11px!important;background:#fff!important;color:#17345f!important;text-align:center!important;font-size:22px!important;line-height:48px!important;font-weight:750!important;letter-spacing:.35em!important;box-shadow:none!important}
.qv-captive-field .qv-code-input:focus{outline:none!important;border-color:#4a86ff!important;box-shadow:0 0 0 4px rgba(74,134,255,.14)!important}
.qv-trust-device{box-sizing:border-box;display:flex!important;align-items:center!important;gap:9px!important;margin:2px 0 15px!important;padding:10px 12px!important;border:1px solid #d7e3f5!important;border-radius:10px!important;background:#f7faff!important;color:#4b6483!important;font-size:11.5px!important;line-height:1.35!important;font-weight:550!important;cursor:pointer!important}
.qv-trust-device input{flex:0 0 auto;width:16px!important;height:16px!important;margin:0!important;accent-color:#347cff}
.qv-captive-primary{display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;width:100%!important;height:42px!important;min-height:42px!important;margin:0!important;padding:0 14px!important;border:0!important;border-radius:10px!important;background:linear-gradient(135deg,#438eff,#2869ff)!important;color:#fff!important;font-size:13px!important;line-height:1!important;font-weight:750!important;box-shadow:0 10px 22px rgba(39,101,239,.22)!important;cursor:pointer!important}
.qv-captive-primary:hover{filter:brightness(1.03)}
.qv-captive-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin:9px 0 0!important}
.qv-captive-actions .qv-captive-secondary,.qv-captive-actions .qv-captive-tertiary{box-sizing:border-box;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:34px!important;min-height:34px!important;margin:0!important;padding:0 8px!important;border-radius:9px!important;background:#fff!important;text-decoration:none!important;font-size:11px!important;line-height:1!important;font-weight:680!important}
.qv-captive-actions .qv-captive-secondary{border:1px solid #9dbcf0!important;color:#285bbb!important}
.qv-captive-actions .qv-captive-tertiary{border:1px solid #d0dbe9!important;color:#596f88!important}
.qv-captive-password-reset{display:block!important;margin:13px 0 0!important;text-align:center!important;color:#2f67c5!important;text-decoration:none!important;font-size:11.5px!important;line-height:1.2!important;font-weight:650!important}
.qv-captive-password-reset:hover{text-decoration:underline!important}
body.qv-auth-captive .qv-mfa-brand{padding-top:18px!important;margin-bottom:4px!important}
body.qv-auth-captive .qv-mfa-brand img{width:48px!important;height:48px!important}
body.qv-auth-captive .qv-mfa-brand span{font-size:25px!important}
@media(max-width:520px){.qv-captive-card{padding:23px 20px 20px;border-radius:20px}.qv-captive-actions{grid-template-columns:1fr!important}.qv-captive-copy h1{font-size:22px!important}}


/* ===== Qesvion pre-auth recovery and captive resilience 8.96 ===== */
body.qv-auth-view-reset main,
body.qv-auth-view-remind main{width:100%!important;max-width:none!important;margin:0!important;padding:0 18px 34px!important;background:transparent!important;box-shadow:none!important}
.qv-recovery-shell{width:100%;display:flex;justify-content:center;padding:12px 0 28px}
.qv-recovery-card{width:min(460px,calc(100vw - 32px));box-sizing:border-box;padding:28px 30px 24px;border:1px solid rgba(117,163,225,.26);border-radius:24px;background:rgba(255,255,255,.9);box-shadow:0 22px 52px rgba(35,79,145,.15),inset 0 1px 0 rgba(255,255,255,.96);backdrop-filter:blur(18px)}
.qv-recovery-icon{width:54px;height:54px;margin:0 auto 15px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(145deg,#43a2ff,#2869ff);box-shadow:0 12px 26px rgba(47,109,255,.25);color:#fff;font-size:28px;font-weight:800}
.qv-recovery-copy{text-align:center;margin-bottom:20px}.qv-recovery-copy h1{margin:0 0 9px!important;color:#152958;font-size:24px!important;line-height:1.2!important;font-weight:780!important}.qv-recovery-copy p{margin:0 auto!important;max-width:370px;color:#607590;font-size:13px!important;line-height:1.5!important}
.qv-recovery-form{margin:0!important;padding:0!important}.qv-recovery-field{margin-bottom:14px}.qv-recovery-field label{display:block;margin:0 0 6px;color:#233b60;font-size:12px;font-weight:720}.qv-recovery-field input{box-sizing:border-box;width:100%!important;height:44px!important;min-height:44px!important;padding:0 13px!important;border:1px solid #bed2f1!important;border-radius:10px!important;background:#fff!important;color:#17345f!important;font-size:14px!important}.qv-recovery-field input:focus{outline:none!important;border-color:#4a86ff!important;box-shadow:0 0 0 4px rgba(74,134,255,.14)!important}
.qv-recovery-captcha{margin:0 0 14px!important;padding:12px!important;border:1px solid #d7e3f5!important;border-radius:10px!important;background:#f7faff!important}.qv-recovery-captcha label{font-size:12px!important;color:#233b60!important}
.qv-recovery-primary{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:42px!important;min-height:42px!important;margin:0!important;padding:0 14px!important;border:0!important;border-radius:10px!important;background:linear-gradient(135deg,#438eff,#2869ff)!important;color:#fff!important;font-size:13px!important;font-weight:750!important;box-shadow:0 10px 22px rgba(39,101,239,.22)!important}
.qv-recovery-back{display:block!important;margin:13px 0 0!important;text-align:center!important;color:#2f67c5!important;text-decoration:none!important;font-size:11.5px!important;font-weight:650!important}
body.qv-auth-view-reset #sp-header,body.qv-auth-view-reset #sp-top-bar,body.qv-auth-view-remind #sp-header,body.qv-auth-view-remind #sp-top-bar{display:none!important}
body.qv-auth-view-reset .qv-mfa-brand,body.qv-auth-view-remind .qv-mfa-brand{padding-top:18px!important;margin-bottom:4px!important}
@media(max-width:520px){.qv-recovery-card{padding:23px 20px 20px;border-radius:20px}}

/* 8.99 recovery/captive reliability */
.qv-native-heading-hidden{display:none!important}
.qv-recovery-native-form .control-group,.qv-recovery-native-form .mb-3,.qv-recovery-native-form .form-group,.qv-recovery-native-form .field{margin:0 0 14px!important}
.qv-recovery-native-form label{display:block;font-size:12px;font-weight:700;color:#20365f;margin:0 0 6px}
.qv-recovery-native-form input[type=email],.qv-recovery-native-form input[type=text]{width:100%!important;box-sizing:border-box;min-height:46px;border:1px solid #c8d9f4;border-radius:11px;padding:10px 13px;background:#fff}
.qv-recovery-native-form .qv-recovery-captcha{display:block!important;min-height:0!important;background:transparent!important;border:0!important;padding:0!important}
.qv-recovery-native-form .qv-recovery-captcha iframe{max-width:100%}


/* ===== Qesvion recovery visual alignment 8.100 ===== */
body.qv-auth-view-reset .qv-recovery-shell,
body.qv-auth-view-remind .qv-recovery-shell{padding-top:4px!important}
.qv-recovery-card{width:min(440px,calc(100vw - 28px))!important;padding:26px 28px 22px!important;border-radius:22px!important;background:rgba(255,255,255,.94)!important}
.qv-recovery-icon{width:48px!important;height:48px!important;border-radius:15px!important;margin-bottom:13px!important;font-size:24px!important}
.qv-recovery-copy{margin-bottom:18px!important}
.qv-recovery-copy h1{font-size:23px!important;margin-bottom:7px!important}
.qv-recovery-copy p{font-size:12.5px!important;line-height:1.45!important;max-width:350px!important}
.qv-recovery-native-form{display:block!important;width:100%!important}
.qv-recovery-native-form .control-group,
.qv-recovery-native-form .mb-3,
.qv-recovery-native-form .form-group,
.qv-recovery-native-form .field{display:block!important;width:100%!important;margin:0 0 13px!important;padding:0!important}
.qv-recovery-native-form .controls,
.qv-recovery-native-form [class*="col-"]{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.qv-recovery-native-form label{display:block!important;margin:0 0 6px!important;color:#21375f!important;font-size:12px!important;font-weight:720!important}
.qv-recovery-native-form input[type=email],
.qv-recovery-native-form input[type=text]{display:block!important;width:100%!important;height:44px!important;min-height:44px!important;border:1px solid #bfd2ef!important;border-radius:10px!important;padding:0 13px!important;font-size:13px!important;background:#fff!important}
.qv-recovery-native-form input[type=email]:focus,
.qv-recovery-native-form input[type=text]:focus{border-color:#4b84ff!important;box-shadow:0 0 0 4px rgba(75,132,255,.13)!important}
.qv-recovery-native-form .qv-recovery-captcha{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:14px!important;width:100%!important;box-sizing:border-box!important;margin:0 0 15px!important;padding:12px 13px!important;border:1px solid #d6e2f3!important;border-radius:12px!important;background:#f7faff!important}
.qv-recovery-native-form .qv-native-captcha-label{display:none!important}
.qv-security-check-copy{min-width:0!important}
.qv-security-check-copy strong{display:block!important;margin:0 0 2px!important;color:#20385f!important;font-size:12px!important;font-weight:750!important}
.qv-security-check-copy span{display:block!important;color:#697c96!important;font-size:11px!important;line-height:1.35!important}
.qv-recovery-native-form .qv-recovery-captcha .controls,
.qv-recovery-native-form .qv-recovery-captcha > div:not(.qv-security-check-copy){width:auto!important;margin:0!important}
.qv-recovery-native-form .qv-recovery-captcha iframe{max-width:220px!important}
.qv-recovery-native-form .qv-recovery-captcha input[type=checkbox]{width:18px!important;height:18px!important;margin:0 7px 0 0!important;vertical-align:middle!important;accent-color:#2f74ff!important}
.qv-recovery-primary{width:100%!important;height:44px!important;min-height:44px!important;margin:2px 0 0!important;border-radius:10px!important;font-size:13px!important;box-shadow:0 9px 20px rgba(39,101,239,.2)!important}
.qv-recovery-back{margin-top:12px!important;font-size:11.5px!important}
@media(max-width:520px){
 .qv-recovery-card{padding:22px 19px 19px!important}
 .qv-recovery-native-form .qv-recovery-captcha{grid-template-columns:1fr!important;gap:10px!important}
}


/* ===== Cloudflare Turnstile recovery protection 8.101 ===== */
.qv-native-captcha-hidden{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.qv-turnstile-section{box-sizing:border-box;width:100%;margin:0 0 14px;padding:14px;border:1px solid #d7e4f7;border-radius:12px;background:#f8fbff}
.qv-turnstile-copy{display:flex;flex-direction:column;gap:3px;margin-bottom:11px}
.qv-turnstile-copy strong{color:#20375f;font-size:12px;font-weight:750}
.qv-turnstile-copy span{color:#607590;font-size:11.5px;line-height:1.4}
.qv-turnstile-widget{display:flex;justify-content:center;min-height:65px;overflow:hidden;border-radius:8px}
.qv-turnstile-widget .cf-turnstile{width:100%;display:flex;justify-content:center}
.qv-turnstile-widget iframe{max-width:100%!important}
.qv-turnstile-error{margin:8px 0 0;color:#a33a3a;font-size:11.5px;line-height:1.4}
@media(max-width:520px){.qv-turnstile-section{padding:12px}.qv-turnstile-widget{justify-content:flex-start}}

/* ===== Qesvion recovery hardening 8.102 ===== */
body.qv-auth-view-reset.qv-recovery-ready,
body.qv-auth-view-remind.qv-recovery-ready{overflow-x:hidden!important}
body.qv-auth-view-reset.qv-recovery-ready main,
body.qv-auth-view-remind.qv-recovery-ready main,
body.qv-auth-view-reset.qv-recovery-ready #sp-main-body,
body.qv-auth-view-remind.qv-recovery-ready #sp-main-body,
body.qv-auth-view-reset.qv-recovery-ready #sp-component,
body.qv-auth-view-remind.qv-recovery-ready #sp-component{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;background:transparent!important}
body.qv-auth-view-reset .qv-recovery-shell,
body.qv-auth-view-remind .qv-recovery-shell{min-height:calc(100vh - 108px);box-sizing:border-box;align-items:flex-start;padding:18px 16px 34px!important}
body.qv-auth-view-reset .qv-recovery-card,
body.qv-auth-view-remind .qv-recovery-card{width:min(430px,calc(100vw - 32px))!important;padding:25px 27px 22px!important;margin:0 auto!important}
.qv-native-captcha-hidden{display:none!important}
.qv-turnstile-section{padding:13px!important;margin-bottom:13px!important;background:#f7faff!important}
.qv-turnstile-copy{margin-bottom:10px!important}
.qv-turnstile-widget{display:flex!important;justify-content:center!important;align-items:center!important;min-height:65px!important;overflow:visible!important}
.qv-turnstile-widget .cf-turnstile{display:flex!important;justify-content:center!important;width:auto!important;min-width:300px!important}
.qv-turnstile-widget iframe{display:block!important;max-width:100%!important;border:0!important}
.qv-turnstile-unavailable{border-color:#efc9c9!important;background:#fff8f8!important}
.qv-turnstile-unavailable .qv-turnstile-copy strong{color:#8d3030!important}
.qv-recovery-primary:disabled{opacity:.55!important;cursor:not-allowed!important;box-shadow:none!important}
body.qv-auth-view-reset .page-header,
body.qv-auth-view-remind .page-header,
body.qv-auth-view-reset .sp-page-title,
body.qv-auth-view-remind .sp-page-title{display:none!important}
@media(max-width:480px){
 .qv-turnstile-widget .cf-turnstile{min-width:0!important;transform:scale(.92);transform-origin:center top}
 body.qv-auth-view-reset .qv-recovery-card,
 body.qv-auth-view-remind .qv-recovery-card{padding:22px 18px 19px!important}
}


/* Qesvion server-rendered Helix / com_users overrides 8.103 */
html:has(.qv-server-auth),body:has(.qv-server-auth){margin:0!important;min-height:100%;background:#dceeff!important}.qv-server-auth{box-sizing:border-box;min-height:100vh;padding:20px;display:flex;flex-direction:column;align-items:center;background:radial-gradient(circle at 50% 0,#f6fbff 0,#dceeff 48%,#d3e9ff 100%);font-family:Inter,"Segoe UI",Arial,sans-serif;color:#14295d;position:relative;overflow:auto}.qv-server-auth:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(circle,rgba(61,130,255,.13) 0 5px,transparent 6px);background-size:110px 110px}.qv-server-brand{position:relative;z-index:1;display:flex;align-items:center;gap:15px;margin:0 0 18px}.qv-server-brand img{width:54px;height:54px}.qv-server-brand span{font-size:28px;font-weight:750;letter-spacing:.2em}.qv-server-card,.qv-server-setup,.qv-server-methods{position:relative;z-index:1;box-sizing:border-box;background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.95);box-shadow:0 18px 48px rgba(34,77,145,.14);border-radius:24px}.qv-server-card{width:min(460px,100%);padding:28px}.qv-server-card--recovery{text-align:center}.qv-server-card--mfa{width:min(480px,100%)}.qv-server-icon{width:52px;height:52px;margin:0 auto 12px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(135deg,#4a96ff,#1f61ff);color:#fff;font-size:25px;font-weight:800}.qv-server-kicker{margin:0 0 7px;color:#2b6ee8;font-size:11px;font-weight:800;letter-spacing:.14em}.qv-server-card h1,.qv-server-setup h1,.qv-server-methods h1{margin:0 0 8px;font-size:25px;line-height:1.2;color:#14295d}.qv-server-intro,.qv-server-setup header p,.qv-server-methods header p{margin:0 0 20px;color:#607590;font-size:13px;line-height:1.55}.qv-server-form{display:grid;gap:14px;text-align:left}.qv-server-field{display:grid;gap:6px}.qv-server-field label{font-size:12px;font-weight:750;color:#243a60}.qv-server-field input,.qv-server-field select{box-sizing:border-box;width:100%;height:46px!important;border:1px solid #c8d9f5!important;border-radius:11px!important;background:#fff!important;padding:0 13px!important;color:#173154!important;font-size:14px!important}.qv-server-field input:focus{outline:0;border-color:#3f82ff!important;box-shadow:0 0 0 4px rgba(63,130,255,.14)!important}.qv-server-primary,.qv-server-secondary{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;border-radius:11px;text-decoration:none!important;font-size:14px;font-weight:750;cursor:pointer}.qv-server-primary{border:0;color:#fff!important;background:linear-gradient(135deg,#4a96ff,#1f61ff);box-shadow:0 10px 22px rgba(34,96,255,.2)}.qv-server-primary:disabled{opacity:.5;cursor:not-allowed}.qv-server-secondary{border:1px solid #a6c3f7;color:#2857c5!important;background:#fff}.qv-server-back{display:block;margin-top:14px;color:#2857c5!important;font-size:12px;font-weight:700;text-decoration:none}.qv-server-security{display:grid;gap:11px;padding:13px;border:1px solid #d6e3f6;border-radius:12px;background:#f7faff;text-align:left}.qv-server-security>div:first-child{display:flex;flex-direction:column;gap:3px}.qv-server-security strong{font-size:12px}.qv-server-security span{font-size:11.5px;color:#657a95}.qv-server-security .cf-turnstile{display:flex;justify-content:center;min-height:65px}.qv-server-error{margin:0;color:#9b3131;font-size:12px}.qv-server-trust{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid #d6e3f6;border-radius:12px;background:#f7faff;cursor:pointer}.qv-server-trust input{width:17px;height:17px;margin-top:2px;accent-color:#2f72ef}.qv-server-trust span{display:flex;flex-direction:column;gap:3px}.qv-server-trust strong{font-size:12.5px}.qv-server-trust small{font-size:11px;color:#687d97;line-height:1.4}.qv-server-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.qv-server-actions a{display:flex;align-items:center;justify-content:center;min-height:38px;border:1px solid #c2d5f4;border-radius:9px;color:#2857c5!important;background:#fff;text-decoration:none;font-size:12px;font-weight:700}.qv-server-auth--wide{padding-top:12px}.qv-server-setup,.qv-server-methods{width:min(1220px,100%);padding:25px}.qv-server-setup>header,.qv-server-methods>header{text-align:center;margin-bottom:20px}.qv-server-enrollment{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px}.qv-server-enrollment-main,.qv-server-verify{border:1px solid #d6e3f6;border-radius:17px;background:#fbfdff;padding:20px}.qv-server-method-head{display:flex;gap:14px;align-items:flex-start}.qv-server-method-icon{flex:0 0 48px;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#397cf2;color:#fff;font-size:23px}.qv-server-method-head h2,.qv-server-verify h2{font-size:18px;margin:0 0 5px}.qv-server-method-head h2 span,.qv-server-method-card h2 span{display:inline-flex;padding:4px 8px;border-radius:999px;background:#3478f3;color:#fff;font-size:10px;vertical-align:middle}.qv-server-method-head p,.qv-server-verify p{margin:0;color:#657a95;font-size:12px;line-height:1.5}.qv-server-note{margin:14px 0;color:#617590;font-size:12px}.qv-server-setup-grid{display:grid;gap:8px;margin-top:14px}.qv-server-setup-row{display:grid;grid-template-columns:minmax(170px,.7fr) minmax(0,1fr);border:1px solid #d7e4f6;border-radius:11px;overflow:hidden}.qv-server-setup-label,.qv-server-setup-value{padding:11px;font-size:12px}.qv-server-setup-label{background:#f1f6fd}.qv-server-setup-value{background:#fff;word-break:break-word}.qv-server-setup-value img,.qv-server-setup-value svg,.qv-server-setup-value canvas{display:block;max-width:210px!important;max-height:210px!important;margin:auto}.qv-server-verify{display:flex;flex-direction:column;gap:10px}.qv-server-step{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#397cf2;color:#fff;font-size:12px;font-weight:800}.qv-server-verify input{height:46px;border:1px solid #c8d9f5;border-radius:11px;padding:0 12px;font-size:20px;letter-spacing:.25em;text-align:center}.qv-server-methods>header{margin-bottom:15px}.qv-server-info{display:flex;flex-direction:column;gap:3px;margin-bottom:15px;padding:12px;border-radius:12px;background:#e9f4ff;color:#24537c;font-size:12px}.qv-server-method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.qv-server-method-card{display:flex;flex-direction:column;gap:12px;padding:17px;border:1px solid #d7e4f6;border-radius:16px;background:#fbfdff}.qv-server-method-card.is-primary{grid-column:1/-1}.qv-server-method-card-head{display:flex;gap:12px;align-items:center}.qv-server-method-card-head img{width:52px;height:52px;object-fit:contain;padding:7px;border-radius:50%;background:#eff6ff}.qv-server-method-card h2{margin:0 0 4px;font-size:17px}.qv-server-method-card p{margin:0;color:#657a95;font-size:12px}.qv-server-active{font-size:12px;font-weight:750;color:#27714c}.qv-server-danger{display:inline-block;margin-top:16px;color:#a63d3d!important;font-size:12px;font-weight:700}.qv-auth-captive .qv-server-auth~*,body:has(.qv-server-auth) header,body:has(.qv-server-auth) footer,body:has(.qv-server-auth) #sp-header,body:has(.qv-server-auth) #sp-top-bar{display:none!important}@media(max-width:800px){.qv-server-enrollment{grid-template-columns:1fr}.qv-server-method-grid{grid-template-columns:1fr}.qv-server-method-card.is-primary{grid-column:auto}.qv-server-setup-row{grid-template-columns:1fr}.qv-server-actions{grid-template-columns:1fr}}


/* Server-rendered authentication isolation 8.104 */
body:has(.qv-server-auth) .qv-mfa-brand,
body:has(.qv-server-auth) .qv-mfa-headline,
body:has(.qv-server-auth) .qv-mfa-panel,
body:has(.qv-server-auth) .qv-turnstile-section,
body:has(.qv-server-auth) > .qv-auth-shell{display:none!important}
body:has(.qv-server-auth) .qv-server-auth{display:flex!important}
.qv-server-security>.cf-turnstile{width:100%;display:flex;justify-content:center;overflow:hidden}
.qv-server-security>.cf-turnstile iframe{max-width:100%!important}
.qv-server-card--recovery{width:min(480px,100%)}
@media(max-width:520px){.qv-server-security>.cf-turnstile{justify-content:flex-start;transform:scale(.94);transform-origin:left top}}
