/* Shared presentation only. Login, MFA and CSRF flows remain server-owned. */
.csys-auth{margin:0;min-height:100vh;color:#172b43;background:#081526;background-image:radial-gradient(ellipse at 18% 25%,#133553 0,transparent 55%),radial-gradient(ellipse at 90% 95%,#0b2840 0,transparent 45%);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.csys-auth .login-shell,.csys-auth .verification-shell,.csys-auth .verify-shell{min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:64px 0;box-sizing:border-box}
.csys-auth .container-xl{max-width:1240px}
.csys-auth .login-brand,.csys-auth .verification-brand{color:#f4f8ff;padding-right:64px}
.csys-auth .csys-logo{margin-bottom:52px;display:flex;justify-content:flex-start}
.csys-auth .csys-logo img{width:320px;max-width:100%;height:auto;display:block}
.csys-auth .login-system-label,.csys-auth .verification-label{font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:#9bbad2;margin:18px 0;font-weight:600}
.csys-auth .login-brand h1,.csys-auth .verification-brand h1{font-size:clamp(32px,3.2vw,46px);font-weight:500;line-height:1.14;letter-spacing:-.035em;color:#fff;margin:0 0 20px;max-width:510px}
.csys-auth .login-brand p,.csys-auth .verification-brand p{color:#b1c3d4;font-size:16px;line-height:1.75;max-width:450px;margin:0}
.csys-auth .portal-feature-list{margin-top:32px;border-top:1px solid #ffffff20;padding-top:20px;display:grid;gap:12px;color:#b1c3d4;font-size:13px}
.csys-auth .portal-feature-list>div{display:flex;align-items:center;gap:10px}
.csys-auth .portal-feature-list strong{font-weight:400}
.csys-auth .portal-feature-list span{width:4px;height:4px;border-radius:50%;background:#6cbbd7;flex-shrink:0}
.csys-auth .login-card,.csys-auth .verify-card,.csys-auth .verification-card{background:#fff;border:1px solid #dce5ec;border-radius:20px;box-shadow:0 24px 80px #00000030;overflow:hidden}
.csys-auth .card-body{padding:34px!important}
.csys-auth .card-body>.text-center:first-child{text-align:left!important;margin-bottom:28px!important}
.csys-auth .h2{font-size:25px;line-height:1.25;font-weight:600;letter-spacing:-.025em;margin-bottom:10px!important;color:#172b43}
.csys-auth .text-secondary{color:#627286!important;line-height:1.6}
.csys-auth .form-label{font-size:13px;font-weight:500;color:#34475c;margin-bottom:8px}
.csys-auth .form-control{min-height:49px;border:1px solid #cbd6e0;border-radius:9px;background:#f8fafc;color:#172b43;padding:12px 14px;font-size:16px;box-shadow:none}
.csys-auth .form-control:focus{border-color:#156b8c;outline:1px solid #156b8c;outline-offset:0;box-shadow:none;background-color:#fff}
.csys-auth .btn{border-radius:9px;min-height:46px;font-weight:600;white-space:normal}
.csys-auth .btn-primary{background:#156b8c;border-color:#156b8c;color:#fff;box-shadow:none}
.csys-auth .btn-primary:hover{background:#105674;border-color:#105674}
.csys-auth .btn-outline-primary{color:#156b8c;border-color:#a3bccb;background:transparent}
.csys-auth .btn-outline-primary:hover{background:#edf6f9}
.csys-auth a:focus-visible,.csys-auth button:focus-visible,.csys-auth summary:focus-visible{outline:3px solid #55aeca;outline-offset:3px}
.csys-auth .form-footer{margin-top:26px}
.csys-auth .security-notice{display:flex;gap:9px;align-items:flex-start;margin-top:22px;color:#627286;font-size:12px;line-height:1.6}
.csys-auth .security-notice svg{flex:0 0 19px;margin-top:2px;color:#467d90}
.csys-auth .portal-register-box{margin-top:24px;padding-top:22px;border-top:1px solid #e0e7ed}
.csys-auth .register-title{font-weight:600;font-size:14px;margin-bottom:6px}
.csys-auth .register-text{font-size:12px;line-height:1.6;color:#627286}
.csys-auth .alert{border-radius:9px;font-size:14px;overflow-wrap:anywhere}
.csys-auth .code-input{text-align:center;letter-spacing:.3em;font-size:25px;font-variant-numeric:tabular-nums}
.csys-auth .setup-panel{display:block;background:#f3f7fa;border:1px solid #dce5ec;border-radius:12px;padding:18px;margin-bottom:22px}
.csys-auth .setup-grid{display:grid;grid-template-columns:minmax(150px,190px) minmax(0,1fr);gap:22px;align-items:start}
.csys-auth .setup-qr{display:block;width:100%;max-width:190px;height:auto;background:#fff;padding:8px;border-radius:8px;margin:auto}
.csys-auth .setup-key{overflow-wrap:anywhere;white-space:normal;letter-spacing:.07em;font-size:14px}
.csys-auth .setup-steps,.csys-auth .setup-panel ol{font-size:14px;line-height:1.6}
.csys-auth .setup-panel li+li{margin-top:7px}
.csys-auth .destination-box,.csys-auth .security-note,.csys-auth .portal-help-box{padding:16px;border-radius:10px;background:#f3f7fa;margin-top:18px;font-size:13px;color:#51657a}
.csys-auth .verify-shell>.container-xl>.csys-logo{justify-content:center;margin-bottom:30px}
.csys-auth .verify-shell>.container-xl>.csys-logo img{width:330px}
@media(max-width:991.98px){
 .csys-auth .login-shell,.csys-auth .verification-shell,.csys-auth .verify-shell{padding:40px 0}
 .csys-auth .login-brand,.csys-auth .verification-brand{padding-right:12px;text-align:center}
 .csys-auth .csys-logo{justify-content:center;margin-bottom:24px}
 .csys-auth .csys-logo img{width:275px}
 .csys-auth .login-brand h1,.csys-auth .verification-brand h1,.csys-auth .login-brand p,.csys-auth .verification-brand p{margin-left:auto;margin-right:auto}
 .csys-auth .portal-feature-list{display:none}
 .csys-auth .row.g-5{--tblr-gutter-y:28px}
}
@media(max-width:575.98px){
 .csys-auth .login-shell,.csys-auth .verification-shell,.csys-auth .verify-shell{padding:max(36px,env(safe-area-inset-top)) 0 max(28px,env(safe-area-inset-bottom));align-items:flex-start}
 .csys-auth .container-xl{padding-left:20px!important;padding-right:20px!important}
 .csys-auth .csys-logo img{width:240px}
 .csys-auth .login-brand h1,.csys-auth .verification-brand h1{font-size:29px;margin-bottom:12px}
 .csys-auth .login-brand p,.csys-auth .verification-brand p{font-size:14px;line-height:1.6}
 .csys-auth .login-system-label,.csys-auth .verification-label{margin:12px 0}
 .csys-auth .card-body{padding:25px!important}
 .csys-auth .setup-grid{grid-template-columns:minmax(0,1fr)}
 .csys-auth .setup-panel{padding:14px}
 .csys-auth .login-card,.csys-auth .verify-card,.csys-auth .verification-card{border-radius:16px}
}
@media(prefers-reduced-motion:reduce){.csys-auth *{scroll-behavior:auto!important;transition:none!important}}

/* Signature composition: a single framed workspace, rather than floating form. */
body.csys-auth{background:#060f1d;background-image:radial-gradient(ellipse at 8% 0%,#123b51 0,transparent 52%),radial-gradient(ellipse at 96% 100%,#162b50 0,transparent 48%);background-attachment:fixed;isolation:isolate}
.csys-auth::before,.csys-auth::after,.csys-auth [class$="-shell"]::before,.csys-auth [class$="-shell"]::after{display:none!important}
.csys-auth .login-shell>.container-xl,.csys-auth .verification-shell>.container-xl{max-width:1180px}
.csys-auth .login-shell>.container-xl>.row,.csys-auth .verification-shell>.container-xl>.row{background:radial-gradient(ellipse at 0 0,#17496370,transparent 60%),linear-gradient(130deg,#10263ce8,#091629f5);border:1px solid #a5dcff24;border-top-color:#b6e9ff45;border-radius:28px;padding:30px;box-shadow:0 40px 100px #0005,inset 0 1px 0 #ffffff08;margin:0;--tblr-gutter-y:0;position:relative}
.csys-auth .login-brand,.csys-auth .verification-brand{padding:26px 38px 24px 22px;flex:1;min-width:0}
.csys-auth .login-shell .col-xl-4,.csys-auth .verification-shell .col-xl-4{width:44%}
.csys-auth .csys-logo{margin-bottom:40px}
.csys-auth .csys-logo img{width:360px}
.csys-auth .login-brand h1,.csys-auth .verification-brand h1{font-size:clamp(34px,3.6vw,50px);font-weight:550;line-height:1.09;letter-spacing:-.045em}
.csys-auth .auth-accent{color:#79d3e5}
.csys-auth .login-system-label,.csys-auth .verification-label{font-size:10px;letter-spacing:.16em;color:#a8c6d9;margin-bottom:18px}
.csys-auth .login-brand p,.csys-auth .verification-brand p{font-size:15px;line-height:1.8;color:#aec0d0;max-width:370px}
.csys-auth .auth-signature{margin-top:22px;max-width:380px;color:#8ac9de}
.csys-auth .auth-signature svg{width:100%;height:auto;display:block}
.csys-auth .auth-signature>div{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.04em;color:#bad0dd;margin-top:-5px;padding:0 22px}
.csys-auth .login-card,.csys-auth .verification-card,.csys-auth .verify-card{border-radius:18px;background:linear-gradient(150deg,#fff 50%,#edf4f8);box-shadow:0 24px 60px #0004;border:1px solid #fff;position:relative}
.csys-auth .login-card::before,.csys-auth .verification-card::before,.csys-auth .verify-card::before{content:"";height:3px;position:absolute;top:0;left:34px;right:34px;background:linear-gradient(90deg,transparent,#50abc2,transparent);opacity:.8}
.csys-auth .login-card .h2{font-size:29px;margin-bottom:12px!important}
.csys-auth .login-card .form-footer .btn-primary{display:flex;align-items:center;justify-content:center;gap:16px}
.csys-auth .login-card .form-footer .btn-primary::after{content:"→";font-size:20px;font-weight:400;line-height:1}
.csys-auth .auth-input-wrap{position:relative}
.csys-auth .login-card .auth-input-wrap input{padding-left:46px;background-image:none}
.csys-auth .auth-field-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);z-index:2;color:#526f84;pointer-events:none;display:block}
.csys-auth .card-body{padding:36px!important}
.csys-auth .btn-primary{background:linear-gradient(115deg,#126b96,#117e98);border:0;box-shadow:0 5px 12px #0b628922}
.csys-auth .btn-primary:hover{background:linear-gradient(115deg,#105879,#086b84);box-shadow:0 7px 16px #0b628933}
.csys-auth .form-control{background:#fff;border-color:#cbd7e2;min-height:50px}
.csys-auth .portal-feature-list{gap:14px;font-size:12px;max-width:370px;border-color:#ffffff18}
.csys-auth .portal-feature-list span{width:6px;height:6px;background:#7dccdd}
.csys-auth .portal-register-box{padding-top:18px;margin-top:20px}
.csys-auth .register-text{max-width:260px;margin:auto}
.csys-auth .verify-shell>.container-xl{max-width:1120px}
.csys-auth .verify-shell .csys-logo{margin-bottom:32px}
.csys-auth-extended .register-shell,.csys-auth-extended .activate-shell,.csys-auth-extended .assessment-shell,.csys-auth-extended .result-shell{position:relative;background:none;min-height:100svh;padding:54px 0}
.csys-auth-extended .container-xl{max-width:1180px}
.csys-auth-extended .register-brand,.csys-auth-extended .activate-brand,.csys-auth-extended .assessment-brand{color:#fff;padding-right:38px}
.csys-auth-extended .register-brand h1,.csys-auth-extended .activate-brand h1,.csys-auth-extended .assessment-brand h1{color:#fff;font-weight:500;letter-spacing:-.035em;line-height:1.16}
.csys-auth-extended .register-brand p,.csys-auth-extended .activate-brand p,.csys-auth-extended .assessment-brand p{color:#b0c6d7;line-height:1.75}
.csys-auth-extended .assessment-logo,.csys-auth-extended .result-logo{width:280px;max-width:100%;height:auto}
.csys-auth-extended .assessment-brand::before{display:none}
.csys-auth-extended .register-card,.csys-auth-extended .activate-card,.csys-auth-extended .assessment-card,.csys-auth-extended .premium-card{border:1px solid #ffffff65;border-radius:22px;box-shadow:0 28px 70px #0004;overflow:hidden}
.csys-auth-extended .assessment-card-header{background:#eef5f9;color:#18364e}
.csys-auth-extended .result-brand{color:#fff}
.csys-auth-extended .result-subtitle{color:#b0c6d7}
.csys-auth-extended .hero{background:#102b40}
.csys-auth-extended .btn-csys{background:linear-gradient(115deg,#126b96,#117e98)}
.csys-auth .auth-data-bar{width:100%;max-width:420px;padding-top:16px;margin-top:24px;border-top:1px solid #ffffff20;color:#b7c9d8;font-size:12px;line-height:1.7;text-align:left}
.csys-auth .auth-data-bar strong{color:#e5eff7;font-weight:600}
.csys-auth .auth-data-bar p{margin:0 0 6px}
.csys-auth .auth-data-bar summary{cursor:pointer;color:#8cd7e4;display:list-item;margin-left:16px;padding:4px 0;font-weight:500}
.csys-auth .auth-data-bar details p{max-width:100%;margin:12px 0 0;color:#b7c9d8;font-size:12px;line-height:1.7}
@media(max-width:991.98px){.csys-auth .auth-data-bar{margin-left:auto;margin-right:auto}}
@media(max-width:991.98px){
 .csys-auth .login-shell>.container-xl>.row,.csys-auth .verification-shell>.container-xl>.row{padding:28px 12px;border-radius:24px}
 .csys-auth .login-brand,.csys-auth .verification-brand{flex:0 0 100%;padding:4px 12px 28px}
 .csys-auth .login-shell .col-xl-4,.csys-auth .verification-shell .col-xl-4{width:100%;max-width:460px}
 .csys-auth .csys-logo{margin-bottom:24px}
 .csys-auth .auth-signature{display:none}
 .csys-auth .login-brand h1,.csys-auth .verification-brand h1{font-size:34px}
 .csys-auth-extended .register-brand,.csys-auth-extended .activate-brand,.csys-auth-extended .assessment-brand{padding-right:12px;text-align:center}
}
@media(max-width:575.98px){
 .csys-auth .login-shell,.csys-auth .verification-shell{padding:28px 0}
 .csys-auth .login-shell>.container-xl,.csys-auth .verification-shell>.container-xl{padding:0 14px!important}
 .csys-auth .login-shell>.container-xl>.row,.csys-auth .verification-shell>.container-xl>.row{padding:26px 2px 12px;border-radius:24px}
 .csys-auth .csys-logo img{width:270px}
 .csys-auth .login-brand h1,.csys-auth .verification-brand h1{font-size:32px}
 .csys-auth .login-brand p,.csys-auth .verification-brand p{font-size:13px;line-height:1.6}
 .csys-auth .card-body{padding:26px!important}
 .csys-auth .login-system-label{font-size:9px;margin-bottom:12px}
 .csys-auth-extended .register-shell,.csys-auth-extended .activate-shell,.csys-auth-extended .assessment-shell,.csys-auth-extended .result-shell{padding:32px 0}
}
