.client-refresh{background:#f4f6fa;color:#10182d;min-height:100vh}
.client-refresh>header{max-width:1240px;padding:26px 28px;gap:28px}
.client-refresh>header>span{font-size:12px;letter-spacing:.04em;color:#788396;border-left:1px solid #d9e0eb;padding-left:28px}
.client-refresh main{max-width:1184px;margin:24px auto 48px;padding:0;display:grid;grid-template-columns:.95fr 1.05fr;align-items:stretch;background:#fff;border:1px solid #e1e7ef;border-radius:28px;box-shadow:0 20px 70px #1527480a;overflow:hidden}
.client-story{position:relative;padding:52px 46px;display:flex;flex-direction:column;background:radial-gradient(ellipse at 100% 90%,#224885 0,transparent 60%),#10182d;color:#fff;overflow:hidden}
.client-story:after{content:"";position:absolute;width:370px;height:370px;border:1px solid #ffffff0a;border-radius:50%;right:-210px;top:100px;pointer-events:none}
.story-kicker{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:1.5px;font-weight:800;color:#afc4e7;margin:0 0 46px}
.story-kicker>span{width:7px;height:7px;border-radius:50%;background:#72a6ff;box-shadow:0 0 0 5px #72a6ff14}
.client-story h2{font-size:clamp(38px,4vw,56px);line-height:1.08;letter-spacing:-2.8px;margin:0;font-weight:700}
.client-story h2 em{color:#87b3ff;font-style:normal}
.story-description{color:#b5c3d9;font-size:14px;line-height:1.85;max-width:355px;margin:26px 0 34px}
.story-features{display:grid;gap:12px;margin-top:auto}
.story-features>div{display:flex;align-items:center;gap:15px;padding:17px 18px;border:1px solid #ffffff13;background:#ffffff06;border-radius:16px}
.story-icon{display:grid;place-items:center;width:40px;height:40px;background:#3068c93b;color:#9fc4ff;border:1px solid #99bfff24;border-radius:12px;font-size:24px;flex-shrink:0}
.history-icon{background:#55c5a31a;color:#96dacb}
.story-features strong{font-size:13px;font-weight:700}
.story-features p{margin:4px 0 0;font-size:11px;color:#acbad0}
.story-footer{margin:30px 0 0;font-size:11px;color:#97a8c3}
.client-refresh #auth{width:100%;max-width:none;margin:0;padding:52px clamp(28px,4vw,64px) 36px;border:0;border-radius:0;box-shadow:none;align-self:center}
.client-refresh #auth .eyebrow{font-size:10px;color:#1267f4;letter-spacing:1.6px;margin:0 0 16px}
.client-refresh #auth h1{font-size:clamp(28px,3vw,38px);line-height:1.15;letter-spacing:-1.6px;margin:0 0 18px}
.client-refresh #auth>p:not(.eyebrow){font-size:13px;line-height:1.8;margin:0;color:#758096;max-width:360px}
.client-refresh #auth .tabs{display:flex;gap:4px;background:#f0f3f8;padding:5px;border-radius:13px;margin:28px 0}
.client-refresh #auth .tabs button{flex:1;border:0;background:transparent;font-size:12px;font-weight:700;padding:11px 8px;color:#778399;border-radius:9px}
.client-refresh #auth .tabs button[aria-pressed=true]{background:white;color:#1267f4;box-shadow:0 2px 6px #1527480d}
.client-refresh #auth label{font-size:12px;font-weight:700;color:#364056;margin:17px 0}
.client-refresh #auth input{height:50px;border:1px solid #dce3ed;border-radius:12px;background:#fff;padding:0 15px;font-size:14px;color:#10182d;box-shadow:0 2px 4px #15274803}
.client-refresh #auth input:focus{outline:0;border-color:#1267f4;box-shadow:0 0 0 3px #1267f414}
.client-refresh #auth .password-wrap input{padding-right:55px}
.client-refresh #auth .primary{height:50px;border-radius:12px;background:#1267f4;border:1px solid #1267f4;font-size:13px;font-weight:700;box-shadow:0 7px 17px #1267f422;margin-top:18px}
.client-refresh #auth .primary:hover{background:#0e58d5}
.client-refresh #auth .owner{margin:24px 0 0;padding-top:20px;border-top:1px solid #edf0f5;color:#758096;font-size:11px;text-align:center;text-decoration:none}
.client-refresh #auth .owner:hover{color:#1267f4}
.client-refresh #auth .hint{font-size:11px;line-height:1.6}
.client-refresh #auth .password-generate{font-size:11px;color:#1267f4}
.client-refresh #registration{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.client-refresh #registration label:last-child{grid-column:1/-1}
.client-refresh #registration label{margin:0 0 8px}
.client-refresh #message{grid-column:1/-1;width:100%;max-width:none;margin:0;padding:18px 28px;background:#fff6ef;border-top:1px solid #f1e3d8;font-size:13px}
.client-refresh #message:empty{display:none}
.client-refresh main:has(#auth[hidden]){display:block;background:transparent;border:0;box-shadow:none;overflow:visible}
.client-refresh main:has(#auth[hidden]) .client-story{display:none}
.client-refresh #portal{padding:28px 10px}
.client-refresh #portal .tabs button[aria-pressed=true]{background:#1267f4;border-color:#1267f4}
.client-refresh #retry-visits{margin:0 24px 24px}
@media(max-width:900px){.client-refresh main{margin:12px 22px 32px;grid-template-columns:.85fr 1.15fr}.client-story{padding:36px 26px}.client-story h2{font-size:40px;letter-spacing:-2px}.client-refresh #auth{padding:36px 28px}.story-features>div{padding:14px 12px;gap:10px}.story-icon{width:32px;height:32px}}
@media(max-width:700px){.client-refresh>header{padding:22px 20px;gap:16px}.client-refresh>header>span{padding-left:16px;font-size:10px}.client-refresh main{display:block;margin:8px 16px 30px;border-radius:22px}.client-story{padding:26px 28px}.story-kicker{margin-bottom:16px;font-size:9px}.client-story h2{font-size:30px;letter-spacing:-1.3px;line-height:1.15}.client-story h2 em{display:block}.story-description,.story-features,.story-footer{display:none}.client-refresh #auth{padding:28px 24px}.client-refresh #auth h1{font-size:29px}.client-refresh #auth .tabs{margin:24px 0}.client-refresh #message{padding:18px 22px}.client-refresh #portal{padding:14px 0}.client-refresh #registration{gap:0 10px}}
/* Shared finish across the complete client journey. */
.client-refresh .choice-panel{max-width:none;width:100%;padding:58px 48px;border:0;border-radius:0;box-shadow:none;align-self:center}.choice-panel h1{font-size:38px;letter-spacing:-1.6px}.choice-panel>p:not(.eyebrow){font-size:14px;color:#758096}.client-refresh .choices{gap:16px;margin:32px 0 0}.client-refresh .choices a{position:relative;padding:24px 24px 24px 80px;background:white;border:1px solid #dfe6f0;border-radius:18px;transition:border-color .2s,box-shadow .2s,transform .2s}.client-refresh .choices a:hover{border-color:#1267f4;box-shadow:0 8px 22px #1267f410;transform:translateY(-2px)}.client-refresh .choices strong{font-size:16px}.client-refresh .choices small{font-size:12px;line-height:1.8;color:#758096}.choice-symbol{position:absolute;left:22px;top:24px;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#edf4ff;color:#1267f4;font-size:24px}.choices a:last-child .choice-symbol{background:#edf8f4;color:#248572}
.client-refresh #verify-form{padding-top:8px}.client-refresh #verify-form input{height:64px;letter-spacing:12px;text-align:center;font-size:25px;font-weight:700;font-variant-numeric:tabular-nums;padding-left:24px}.client-refresh #verify-form .hint{text-align:center;color:#758096}.client-refresh #restart{width:100%;margin-top:8px;font-size:12px;border-color:#dce3ed;color:#647188;background:#f7f9fc}.client-refresh #auth[data-stage=verify] .tabs{margin-bottom:18px}.client-refresh #auth[data-stage=register]{padding-top:36px;padding-bottom:28px}
.client-refresh #portal{padding:0}.portal-heading{position:relative;padding:38px 40px;border-radius:24px;background:linear-gradient(115deg,#10182d,#223c69);color:white;overflow:hidden}.portal-heading h1{font-size:38px;margin:12px 0;letter-spacing:-1.5px}.portal-heading .eyebrow{color:#94baff}.portal-heading>p:last-child{color:#bccbe0;font-size:14px;margin-bottom:0}.client-refresh #portal>.tabs{display:inline-flex;gap:5px;background:#e9eef6;padding:5px;border-radius:14px;margin:28px 0 20px}.client-refresh #portal>.tabs button{font-size:13px;font-weight:700;border:0;background:transparent;color:#65738a;border-radius:10px;padding:13px 24px}.client-refresh #portal>.tabs button[aria-pressed=true]{background:#fff;color:#1267f4;box-shadow:0 2px 6px #1527480d}.client-refresh .table-wrap{border:1px solid #dfe6f0;border-radius:20px;background:white;box-shadow:0 8px 30px #15274805}.client-refresh th{background:#f8faff;color:#748198;font-size:11px;letter-spacing:.05em;padding:19px 26px}.client-refresh td{padding:24px 26px;font-size:14px;color:#354259}.client-refresh td:first-child{font-weight:700;color:#17253e}.client-refresh tbody tr:last-child td{border-bottom:0}.client-refresh tbody tr:hover{background:#fafcff}.client-refresh #empty{margin:0;padding:56px 24px;color:#7c899e;font-size:14px}.client-refresh #empty:before{content:'◇';display:grid;place-items:center;margin:0 auto 16px;width:52px;height:52px;border-radius:16px;background:#f0f5fc;color:#8fa8cc;font-size:30px}.client-refresh #retry-visits{display:block;margin:0 auto 30px;background:#1267f4;border-color:#1267f4;color:#fff;font-size:13px;font-weight:700;border-radius:12px}.client-refresh #message{background:#eef5ff;color:#38639c;border-top-color:#dce9fa;line-height:1.7}.client-refresh #message[data-tone=error]{background:#fff3f2;color:#a53c38;border-color:#f3dcd9}.client-refresh main:has(#auth[hidden]) #message{margin-top:18px;border:1px solid #dce9fa;border-radius:14px}.client-refresh #logout{background:#fff;border:1px solid #dce3ed;font-size:12px;font-weight:700;border-radius:12px;color:#52627a}
@media(max-width:900px){.client-refresh .choice-panel{padding:38px 28px}.choice-panel h1{font-size:32px}}
@media(max-width:700px){.client-refresh .choice-panel{padding:30px 24px}.client-refresh .choices a{padding:22px 18px 22px 70px}.choice-symbol{left:16px;width:36px;height:36px}.portal-heading{padding:28px 24px;border-radius:20px}.portal-heading h1{font-size:29px}.portal-heading>p:last-child{font-size:12px}.client-refresh #portal>.tabs{display:flex}.client-refresh #portal>.tabs button{flex:1;padding:12px 8px;font-size:12px}.client-refresh #portal table,.client-refresh #portal tbody{display:block}.client-refresh #portal thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.client-refresh #portal tr{display:block;padding:18px 22px;border-bottom:1px solid #edf1f7}.client-refresh #portal td{display:block;border:0;padding:6px 0;font-size:13px}.client-refresh #portal td:before{content:attr(data-label);display:block;font-size:10px;font-weight:600;color:#8491a6;margin-bottom:3px}.client-refresh #empty{padding:38px 20px}.client-refresh #verify-form input{letter-spacing:8px;font-size:23px}.client-refresh #auth[data-stage=register]{padding:28px 24px}}
.client-refresh .recovery-trigger{display:block;margin:16px 0 0 auto;text-align:right}.client-refresh .recovery-back{display:block;width:100%;background:#f7f9fc;border-color:#dce3ed;font-size:12px;color:#647188;margin-top:10px}.client-refresh #forgot-form,.client-refresh #reset-form{margin-top:28px}.client-refresh #auth[data-stage=verify] .recovery-trigger{display:none}
.client-refresh .visit-actions-cell{min-width:236px}.visit-actions{display:flex;gap:8px;flex-wrap:wrap}.client-refresh .visit-action{padding:9px 13px;border-radius:10px;border-color:#cbdcf9;color:#1267f4;background:#f5f9ff;font-size:12px;font-weight:700}.client-refresh .visit-action:hover{background:#eaf2ff;border-color:#1267f4}.client-refresh .visit-action-cancel{color:#b23b3b;background:#fff7f6;border-color:#f1d2cf}.client-refresh .visit-action-cancel:hover{background:#ffebe9;border-color:#dc615b}.client-refresh .visit-request-status{color:#8a6715;margin-top:9px;font-weight:700}.client-refresh #message[data-tone=success]{background:#effaf5;color:#187348;border-color:#ccebdd}
.client-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:22px}.client-modal[hidden]{display:none!important}.client-modal-backdrop{position:absolute;inset:0;background:#0c162bb3;backdrop-filter:blur(5px)}.client-modal-card{position:relative;width:min(460px,100%);padding:34px;border-radius:22px;background:#fff;box-shadow:0 28px 80px #08122642}.client-modal-symbol{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#fff5d9;color:#a86b00;font-size:25px;font-weight:800;margin-bottom:22px}.client-modal-card h2{font-size:27px;letter-spacing:-.8px;margin:8px 0 12px}.client-modal-card>p:not(.eyebrow){font-size:14px;line-height:1.7}.client-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px}.client-modal-actions button{font-size:13px;font-weight:700}.client-modal-actions .primary{background:#1267f4;border-color:#1267f4}
@media(max-width:700px){.client-refresh .visit-actions-cell{min-width:0}.visit-actions{margin-top:5px}.client-refresh .visit-action{flex:1;min-width:120px}.client-modal-card{padding:28px 22px}.client-modal-actions{flex-direction:column-reverse}.client-modal-actions button{width:100%}}
