/* Conexven account access and the first private-area shell. */
.access-page,.account-page { background:#f1f6f9; }
.access-stage { position:relative; min-height:760px; padding:70px 0 84px; overflow:hidden; overflow-anchor:none; background:linear-gradient(118deg,#071a38 0%,#0a2d58 54%,#edf7fc 54.1%,#f8fbfd 100%); }
.access-atmosphere { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.access-atmosphere span { position:absolute; display:block; border:1px solid rgba(62,190,239,.13); border-radius:50%; }
.access-atmosphere span:nth-child(1) { width:520px; height:520px; left:-240px; top:80px; box-shadow:0 0 0 90px rgba(9,164,223,.025),0 0 0 180px rgba(9,164,223,.018); }
.access-atmosphere span:nth-child(2) { width:280px; height:280px; left:37%; bottom:-150px; }
.access-atmosphere span:nth-child(3) { width:160px; height:160px; right:8%; top:80px; border-color:rgba(0,112,186,.08); }
.access-layout { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,.9fr) minmax(580px,1.1fr); align-items:start; gap:clamp(55px,7vw,105px); }
.access-intro { position:relative; padding:12px 0; color:#fff; }
.breadcrumb-on-dark,.breadcrumb-on-dark a { color:rgba(255,255,255,.62); }
.breadcrumb-on-dark i { color:rgba(255,255,255,.35); }
.access-kicker { display:inline-flex; align-items:center; gap:8px; margin-top:46px; color:#78d4f5; font-size:.68rem; font-weight:850; letter-spacing:.11em; text-transform:uppercase; }
.access-intro h1 { max-width:650px; margin:18px 0; color:#fff; font-size:clamp(2.75rem,5vw,4.65rem); line-height:.98; letter-spacing:-.055em; }
.access-intro > p { max-width:610px; margin:0; color:rgba(255,255,255,.72); font-size:.83rem; line-height:1.75; }
.access-benefits { display:grid; grid-template-columns:1fr 1fr; gap:11px; margin-top:34px; }
.access-benefits article { display:grid; grid-template-columns:38px 1fr; gap:11px; padding:15px; border:1px solid rgba(126,213,247,.18); border-radius:14px; background:linear-gradient(145deg,rgba(14,57,102,.96),rgba(7,35,71,.96)); box-shadow:0 12px 30px rgba(2,17,37,.18); }
.access-benefits article > i { display:grid; width:38px; height:38px; place-items:center; border-radius:11px; background:rgba(36,176,229,.16); color:#7cd8f7; }
.access-benefits strong,.access-benefits span { display:block; }
.access-benefits strong { color:#fff; font-size:.7rem; }
.access-benefits span { margin-top:3px; color:rgba(255,255,255,.57); font-size:.56rem; line-height:1.45; }
.access-trust-strip { display:flex; flex-wrap:wrap; gap:14px 19px; margin-top:24px; color:rgba(255,255,255,.56); font-size:.57rem; }
.access-trust-strip span { display:flex; align-items:center; gap:6px; }
.access-trust-strip i { color:#63d6a0; }

.access-card { overflow:hidden; border:1px solid rgba(9,93,145,.13); border-radius:28px; background:#fff; box-shadow:0 32px 100px rgba(5,28,58,.2); }
.access-card-header { min-height:104px; display:flex; align-items:center; gap:15px; padding:23px 30px; border-bottom:4px solid var(--cyan-500); }
.access-card-mark { display:grid; width:48px; height:48px; place-items:center; overflow:hidden; border-radius:14px; background:linear-gradient(145deg,#eaf8fe,#fff); }
.access-card-mark img { width:42px; height:42px; object-fit:contain; }
.access-card-header span { color:var(--blue-600); font-size:.57rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.access-card-header h2 { margin:4px 0 0; color:var(--ink-950); font-size:1.25rem; }
.access-mode-switch { display:grid; grid-template-columns:1fr 1fr; gap:9px; padding:20px 24px 0; }
.access-mode-switch button { min-height:68px; display:grid; grid-template-columns:38px 1fr; align-items:center; gap:10px; border:1px solid var(--line); border-radius:14px; background:#f8fbfd; padding:10px 13px; text-align:left; cursor:pointer; transition:.18s ease; }
.access-mode-switch button > i { display:grid; width:38px; height:38px; place-items:center; border-radius:10px; background:#e8f5fb; color:var(--blue-700); }
.access-mode-switch strong,.access-mode-switch small { display:block; }
.access-mode-switch strong { color:var(--ink-900); font-size:.68rem; }
.access-mode-switch small { margin-top:2px; color:var(--ink-500); font-size:.52rem; }
.access-mode-switch button[aria-selected="true"] { border-color:#74c6e6; background:#edf9fe; box-shadow:0 0 0 2px rgba(9,164,223,.08); }
.access-mode-switch button[aria-selected="true"] > i { background:var(--blue-700); color:#fff; }
.access-panel { padding:31px 30px 30px; }
.access-panel-heading { margin-bottom:23px; }
.access-panel-heading > span,.access-panel-kicker { display:block; color:var(--blue-600); font-size:.58rem; font-weight:850; letter-spacing:.11em; text-transform:uppercase; }
.access-panel-heading h3,.access-verification h3,.access-authenticated h3 { margin:7px 0 7px; color:var(--ink-950); font-size:1.65rem; letter-spacing:-.035em; }
.access-panel-heading p,.access-verification > p,.access-authenticated > p { margin:0; color:var(--ink-500); font-size:.7rem; line-height:1.6; }
.access-form { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.access-field-full,.access-separator,.access-account-type,.access-submit,.access-feedback,.access-form-tools,.access-register-invite { grid-column:1/-1; }
.access-field label,.access-account-type legend { display:block; margin-bottom:6px; color:var(--ink-800); font-size:.62rem; font-weight:800; }
.access-field label span { color:var(--ink-500); font-weight:500; }
.access-field input,.access-field select { width:100%; height:48px; border:1px solid var(--line); border-radius:10px; background:#fff; padding:0 13px; color:var(--ink-950); font-size:.72rem; transition:.16s ease; }
.access-field input:focus,.access-field select:focus { border-color:var(--cyan-500); box-shadow:0 0 0 3px rgba(9,164,223,.1); outline:0; }
.access-field input[aria-invalid="true"],.access-field select[aria-invalid="true"] { border-color:#d35454; box-shadow:0 0 0 3px rgba(211,84,84,.09); }
.access-field > small { display:block; margin-top:5px; color:var(--ink-500); font-size:.5rem; line-height:1.35; }
.access-input-icon,.access-password-field { position:relative; }
.access-input-icon > i,.access-password-field > i { position:absolute; top:50%; left:14px; transform:translateY(-50%); color:#7b94a8; font-size:.68rem; }
.access-input-icon input,.access-password-field input { padding-left:40px; }
.access-password-field input { padding-right:47px; }
.access-password-field button { position:absolute; top:4px; right:4px; width:40px; height:40px; border:0; background:transparent; color:var(--ink-500); cursor:pointer; }
.access-form-tools { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.access-form-tools a { color:var(--blue-700); font-size:.59rem; font-weight:750; }
.access-form-tools span { display:flex; align-items:center; gap:5px; color:#25815b; font-size:.55rem; }
.access-submit { width:100%; margin-top:2px; }
.access-feedback { min-height:20px; margin:0; color:#b44343; font-size:.61rem; line-height:1.45; text-align:center; }
.access-feedback.is-success { color:#14774b; }
.access-register-invite { display:flex; align-items:center; justify-content:center; gap:7px; margin-top:18px; padding:14px; border-radius:11px; background:#f4f8fb; color:var(--ink-500); font-size:.61rem; }
.access-register-invite button,.access-resend { border:0; background:transparent; color:var(--blue-700); font:inherit; font-weight:850; cursor:pointer; }
.access-account-type { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:0; padding:0; border:0; }
.access-account-type legend { grid-column:1/-1; }
.access-account-type label { position:relative; cursor:pointer; }
.access-account-type input { position:absolute; opacity:0; }
.access-account-type span { min-height:44px; display:flex; align-items:center; justify-content:center; gap:7px; border:1px solid var(--line); border-radius:10px; color:var(--ink-650); font-size:.63rem; font-weight:750; }
.access-account-type input:checked + span { border-color:var(--blue-600); background:#edf8fc; color:var(--blue-800); box-shadow:0 0 0 2px rgba(9,164,223,.08); }
.access-separator { position:relative; margin:13px 0 0; border-top:1px solid var(--line); }
.access-separator span { position:relative; top:-10px; padding-right:10px; background:#fff; color:var(--blue-700); font-size:.54rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.access-checkbox { display:flex; align-items:flex-start; gap:9px; color:var(--ink-650); font-size:.57rem; line-height:1.5; cursor:pointer; }
.access-checkbox input { flex:0 0 auto; width:16px; height:16px; margin-top:2px; accent-color:var(--blue-700); }
.access-checkbox a { color:var(--blue-700); text-decoration:underline; text-underline-offset:2px; }
.access-checkbox-muted { color:var(--ink-500); }
.access-register-form .recaptcha-disclosure { margin:2px 0; font-size:.54rem; }
.access-verification,.access-authenticated { padding-block:50px; text-align:center; }
.access-verification-icon,.access-success-icon { display:grid; width:72px; height:72px; place-items:center; margin:0 auto 19px; border-radius:21px; background:#e8f7fd; color:var(--blue-700); font-size:1.5rem; }
.access-success-icon { background:#e5f8ee; color:#148454; }
.access-verification form { max-width:390px; display:grid; gap:11px; margin:25px auto 0; }
.access-verification form label { color:var(--ink-800); font-size:.61rem; font-weight:800; }
.access-verification form input { height:66px; border:1px solid #b9dbea; border-radius:13px; color:var(--blue-800); font-size:1.5rem; font-weight:850; letter-spacing:.42em; text-align:center; }
.access-authenticated > div { display:flex; flex-wrap:wrap; justify-content:center; gap:9px; margin-top:25px; }
.access-card-footer { display:flex; align-items:center; justify-content:center; gap:8px; padding:16px 24px; border-top:1px solid var(--line); background:#f8fbfd; color:var(--ink-500); font-size:.55rem; text-align:center; }
.access-card-footer i { color:var(--blue-600); }

.account-hero { padding:66px 0 72px; background:linear-gradient(120deg,#071a38,#0a3768); color:#fff; }
.account-hero-inner { display:grid; grid-template-columns:minmax(0,1fr) 350px; align-items:end; gap:70px; }
.account-hero .access-kicker { margin-top:34px; }
.account-hero h1 { margin:15px 0 12px; color:#fff; font-size:clamp(2.8rem,5vw,4.7rem); letter-spacing:-.055em; }
.account-hero p { max-width:700px; margin:0; color:rgba(255,255,255,.7); line-height:1.7; }
.account-session-card { display:grid; gap:8px; padding:22px; border:1px solid rgba(255,255,255,.13); border-radius:18px; background:rgba(255,255,255,.07); }
.account-session-card > span { color:#73e3ad; font-size:.58rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.account-session-card strong { color:#fff; font-size:.72rem; word-break:break-word; }
.account-session-card button { justify-self:start; border:0; background:transparent; padding:5px 0; color:#91dcf8; font-size:.59rem; font-weight:800; cursor:pointer; }
.account-module-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; }
.account-module-grid article { min-height:265px; display:flex; flex-direction:column; align-items:flex-start; padding:24px; border:1px solid var(--line); border-radius:19px; background:#fff; box-shadow:0 15px 40px rgba(8,48,84,.05); }
.account-module-grid article > span { display:grid; width:47px; height:47px; place-items:center; margin-bottom:20px; border-radius:13px; background:#e9f7fd; color:var(--blue-700); }
.account-module-grid small { color:var(--blue-600); font-size:.52rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.account-module-grid h3 { margin:7px 0 9px; color:var(--ink-950); font-size:1rem; }
.account-module-grid p { margin:0; color:var(--ink-500); font-size:.66rem; line-height:1.6; }
.account-module-grid em { margin-top:auto; padding:4px 8px; border-radius:999px; background:#eef3f6; color:var(--ink-500); font-size:.49rem; font-style:normal; font-weight:800; text-transform:uppercase; }
.account-actions-card { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:45px; margin-top:25px; padding:35px; border-radius:23px; background:linear-gradient(135deg,#eaf8fe,#fff); border:1px solid #cde7f2; }
.account-actions-card h2 { margin:7px 0 9px; color:var(--ink-950); font-size:1.75rem; }
.account-actions-card p { max-width:700px; margin:0; color:var(--ink-500); font-size:.72rem; line-height:1.65; }
.account-actions-card > div:last-child { display:flex; flex-direction:column; gap:9px; min-width:220px; }
.account-locked-card { max-width:620px; display:grid; justify-items:center; margin:auto; padding:55px 35px; border:1px solid var(--line); border-radius:24px; background:#fff; text-align:center; }
.account-locked-card > span { display:grid; width:70px; height:70px; place-items:center; border-radius:20px; background:#e9f7fd; color:var(--blue-700); font-size:1.35rem; }
.account-locked-card h1 { margin:20px 0 8px; color:var(--ink-950); }
.account-locked-card p { margin:0 0 22px; color:var(--ink-500); }

@media (max-width:1050px) {
    .access-stage { background:linear-gradient(180deg,#071a38 0,#0a2d58 42%,#edf7fc 42.1%,#f8fbfd 100%); }
    .access-layout { grid-template-columns:1fr; gap:48px; }
    .access-intro h1 { max-width:780px; }
    .access-card { width:min(720px,100%); justify-self:center; }
    .account-module-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:760px) {
    .access-stage { padding:42px 0 58px; background:linear-gradient(180deg,#071a38 0,#0a2d58 35%,#edf7fc 35.1%,#f8fbfd 100%); }
    .access-kicker { margin-top:30px; }
    .access-benefits { grid-template-columns:1fr; }
    .access-card-header { padding:19px 21px; }
    .access-mode-switch { padding:15px 16px 0; }
    .access-panel { padding:25px 20px 24px; }
    .access-form { grid-template-columns:1fr; }
    .access-field-full,.access-separator,.access-account-type,.access-submit,.access-feedback,.access-form-tools,.access-register-invite { grid-column:auto; }
    .access-account-type { grid-template-columns:1fr; }
    .access-account-type legend { grid-column:auto; }
    .account-hero-inner { grid-template-columns:1fr; gap:28px; }
    .account-module-grid { grid-template-columns:1fr; }
    .account-module-grid article { min-height:220px; }
    .account-actions-card { grid-template-columns:1fr; gap:25px; padding:27px 22px; }
    .account-actions-card > div:last-child { min-width:0; }
}
@media (max-width:480px) {
    .access-intro h1 { font-size:2.65rem; }
    .access-mode-switch button { min-height:60px; grid-template-columns:33px 1fr; padding:8px; }
    .access-mode-switch button > i { width:33px; height:33px; }
    .access-mode-switch small { display:none; }
    .access-form-tools { align-items:flex-start; flex-direction:column; }
    .access-register-invite { align-items:flex-start; flex-direction:column; }
    .access-card-footer { align-items:flex-start; }
}
