.access-layout{min-height:100vh;display:grid;grid-template-columns:minmax(350px,43%) 1fr;background:#fff}.access-brand{background:linear-gradient(150deg,#2b4353,#263b48 70%,#244b54);color:#e6eff5;padding:45px 52px;display:flex;flex-direction:column;position:relative;overflow:hidden}.access-brand:after{content:'';position:absolute;width:450px;height:450px;border:1px solid #88b9bf17;border-radius:50%;bottom:-240px;right:-200px;box-shadow:0 0 0 65px #7babb909,0 0 0 130px #7babb906;pointer-events:none}.access-logo{display:flex;gap:14px;align-items:center;color:white;text-decoration:none;font:700 17px/1.4 Manrope,Arial}.access-logo small{display:block;font:500 8px 'DM Sans',Arial;letter-spacing:1.7px;color:#a3becb;margin-top:7px}.access-emblem{height:55px;width:50px;border:1px solid #92b8bb70;border-radius:13px;display:grid;place-items:center;color:#b5d9d2}.access-emblem svg{height:30px;width:30px}.access-intro{margin:auto 0;padding:75px 0}.access-intro .eyebrow{color:#90c3cc;font-size:9px}.access-intro h1{font-size:43px;line-height:1.3;letter-spacing:-1.6px;margin:20px 0}.access-intro>p{color:#b0c5d1;line-height:1.9;font-size:13px;max-width:350px}.access-features{display:grid;gap:22px;margin-top:36px;font-size:12px;color:#c0d3dd}.access-features div{display:flex;align-items:center;gap:12px}.access-features svg{color:#7eb9bc}.access-brand-bottom{font-size:11px;color:#c1d3dc;line-height:2.2;position:relative;z-index:1}.access-brand-bottom small{font-size:10px;color:#94aebc}.access-status-dot{display:inline-block;width:6px;height:6px;background:#69beb0;border-radius:50%;margin-right:6px}.access-main{display:flex;flex-direction:column;min-width:0;padding:28px 44px;background:#fcfdfe}.access-topline,.access-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:10px;color:#8494a2}.access-card{width:100%;max-width:430px;margin:auto;padding:38px 0}.access-role-tabs{display:grid;grid-template-columns:1fr 1fr;background:#eef3f6;border:1px solid #e5ecf0;padding:4px;border-radius:8px;margin-bottom:35px;gap:4px}.access-role-tabs a{display:flex;gap:8px;align-items:center;justify-content:center;text-decoration:none;color:#748795;font-size:12px;padding:11px 6px;border-radius:5px}.access-role-tabs a.selected{background:white;color:#2f709b;box-shadow:0 2px 5px #163a4f0b;font-weight:700}.access-role-tabs svg{width:16px;height:16px}.access-heading-icon{width:43px;height:43px;display:grid;place-items:center;border:1px solid #d7e8f1;background:#eff7fb;color:#367c9e;border-radius:11px;margin-bottom:22px}.access-heading-icon svg{width:22px;height:22px}.access-card h1{font-size:29px;margin:8px 0 10px}.access-card .eyebrow{font-size:9px}.access-form{display:grid;gap:20px;margin-top:28px}.access-form input{height:45px}.access-form label.field{font-size:11px;gap:9px}.password-input{position:relative;display:block}.password-input input{padding-right:60px}.password-toggle{position:absolute;right:4px;top:4px;border:0;font-size:10px;padding:10px;color:#6f8798;background:transparent}.login-help{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:#8b9aa7;margin-top:-8px}.login-help>span{display:flex;gap:6px;align-items:center}.login-help svg{width:13px;height:13px}.login-help button{font-size:10px}.access-submit{width:100%;justify-content:space-between;padding:14px 17px;border-radius:7px;display:flex;text-decoration:none;background:var(--blue);color:white;font-size:12px;font-weight:700}.access-bottom{text-align:center;font-size:11px;color:#83939f;margin:23px 0}.access-bottom a{color:#2f709b;text-decoration:none;font-weight:700}.preview-account{display:flex;gap:15px;align-items:center;justify-content:space-between;padding:15px;border:1px dashed #dbe6ed;border-radius:7px;margin-top:25px;background:#f8fbfd}.preview-account b{font-size:10px;color:#677f91}.preview-account small{display:block;font-size:9px;color:#8a9da9;line-height:1.7;max-width:190px;margin-top:4px}.preview-account button{font-size:9px;padding:8px;background:white;white-space:nowrap}.access-footnote{display:flex;align-items:center;justify-content:center;gap:6px;color:#9ba8b2;font-size:9px;margin-top:27px}.access-footnote svg{width:12px;height:12px}.access-footer{padding:15px 0;line-height:1.7;font-size:9px}.admin-access-note{font-size:11px;line-height:1.8;padding:15px;background:#eef5f9;border:1px solid #deebf2;border-radius:6px;color:#6b879b;margin-top:22px}.access-error{font-size:11px;line-height:1.7;background:#fff0f0;color:#ac464b;padding:12px;border-radius:6px;border:1px solid #f5d9da}.access-error[hidden]{display:none}.registration-layout{grid-template-columns:minmax(320px,35%) 1fr}.registration-layout .access-brand{position:sticky;top:0;height:100vh}.signup-card{max-width:660px;padding:30px 0}.signup-card .access-role-tabs{max-width:430px}.signup-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.full-width{grid-column:1/-1}.signup-card textarea{min-height:75px}.optional{font-size:9px;color:#9aabb6;font-weight:400;margin-top:-5px}.form-section-label{font-size:9px;color:#64899e;letter-spacing:1.2px;font-weight:700;border-bottom:1px solid #e7eef3;padding:8px 0 12px}.upload-zone{border:1px dashed #c8dbe6;padding:17px;background:#f4f9fc;border-radius:7px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#557c94}.upload-zone>b{font-size:11px}.upload-zone>span{font-size:10px;color:#8ca0ad}.upload-zone input{height:auto;margin-top:4px;font-size:10px;background:white}.access-help{font-size:10px;color:#8c9eab;margin:-9px 0 0}.signup-card .check{font-size:11px;color:#718898}.signup-card .check input{height:auto}.registration-success{width:50px;height:50px;background:#e5f4ed;color:#439780;border-radius:50%;display:grid;place-items:center;margin-bottom:24px}.registration-steps{padding-left:22px;margin:28px 0;color:#4c8497}.registration-steps li{font-size:12px;padding:9px 0}.registration-steps span{display:block;font-size:11px;color:#8497a5;margin-top:6px;line-height:1.7}@media(min-width:1550px){.access-brand{padding:50px 75px}.access-intro h1{font-size:53px}}@media(max-width:1100px){.access-brand{padding:35px 30px}.access-intro h1{font-size:34px}.access-main{padding:25px 30px}.registration-layout{grid-template-columns:300px 1fr}.signup-grid{grid-template-columns:1fr}.full-width{grid-column:auto}}@media(max-width:760px){.access-layout,.registration-layout{grid-template-columns:1fr}.access-brand,.registration-layout .access-brand{position:relative;height:auto;padding:22px 25px}.access-logo{font-size:13px}.access-logo small{font-size:7px}.access-emblem{width:39px;height:43px}.access-intro,.access-brand-bottom{display:none}.access-main{padding:20px 23px;min-height:calc(100vh - 90px)}.access-card{padding:28px 0}.access-card h1{font-size:25px}.access-role-tabs{margin-bottom:25px}.access-footer span{display:none}.preview-account{gap:10px}.access-footnote{font-size:8px}.signup-grid{grid-template-columns:1fr}.access-topline{font-size:9px}}
.live-auth-stage{max-width:540px;margin:7vh auto;padding:30px;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 40px #203b5010}.live-auth-stage h1{font-size:25px}.live-auth-stage form{margin:24px 0}.live-auth-stage pre{padding:18px;background:#edf4f8;line-height:1.9;border-radius:6px;font-size:14px;user-select:all}.live-auth-stage>button{margin-top:15px}.live-auth-stage [hidden]{display:none!important}

.mfa-qr{text-align:center;margin:20px 0}.mfa-qr img{display:block;width:240px;max-width:100%;height:auto;margin:0 auto;background:#fff}.mfa-qr .access-help{margin-top:8px}

.profile-image-preview{display:flex;align-items:center;gap:16px}.profile-image-preview[hidden]{display:none}.profile-image-preview img,.department-profile-photo{width:112px;height:112px;object-fit:contain;border:1px solid var(--border);border-radius:12px;background:white;padding:6px}.department-profile-photo{margin-bottom:12px}
.approval-pending .pending-symbol{width:64px;height:64px;display:grid;place-items:center;border-radius:18px;background:#deedf5;color:var(--blue);border:1px solid #c3d9e7;margin-bottom:20px}
.pending-symbol svg{width:32px;height:32px}
.pending-badge{display:inline-block;padding:6px 10px;border-radius:20px;background:#deedf5;color:var(--blue);font-size:10px;font-weight:700;letter-spacing:.8px}
.approval-pending h1{font-size:28px;line-height:1.3;margin:16px 0 12px}
.approval-pending #pending-title:focus{outline:none}
.pending-description{font-size:13px;line-height:1.8;color:var(--muted)}
.pending-department{display:grid;gap:9px;padding:18px;margin:22px 0;border:1px solid var(--border);border-radius:10px;background:#edf4f8;overflow-wrap:anywhere}
.pending-department small{font-size:9px;letter-spacing:1px;color:var(--muted)}
.pending-department strong{font-size:15px;color:#243947}
.pending-department span{font-size:11px;color:var(--muted)}.pending-department b{color:var(--blue)}
.pending-progress{list-style:none;padding:0;margin:24px 0;display:grid;gap:20px}
.pending-progress li{display:flex;gap:13px;color:var(--muted)}
.pending-progress li>span{width:28px;height:28px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:#edf1f5;font-size:12px;font-weight:700}
.pending-progress strong{font-size:12px}.pending-progress p{font-size:11px;line-height:1.6;margin:5px 0 0}
.pending-progress .completed>span{background:#e2f0ee;color:var(--teal)}.pending-progress .current>span{background:#deedf5;color:var(--blue)}.pending-progress .current strong{color:var(--blue)}
.pending-note{font-size:11px;line-height:1.8;color:var(--muted);border-top:1px solid var(--border);padding-top:16px;margin-bottom:22px}
.approval-pending .access-submit{justify-content:center}
