/* SEN Bespoke — client login, registration and account pages.
   Uses the site's existing colour tokens (luxe.css) and type; no new palette. */
.auth-page{background:var(--lx-bg,#0b1418)}
.auth-main{padding:clamp(3rem,7vw,6.5rem) 6% clamp(4rem,8vw,7rem)}
.auth-shell{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,27rem);gap:clamp(2.5rem,7vw,7rem);align-items:start}
.auth-shell--wide{grid-template-columns:1fr;max-width:960px;gap:2.5rem}
.auth-side,.auth-intro{min-width:0}
.auth-side h1,.auth-intro h1{margin:.7rem 0 1.4rem;font-size:clamp(2.6rem,5vw,4.4rem);line-height:1;letter-spacing:-.045em;color:var(--lx-ivory,#294453)}
.auth-lede{max-width:34rem;font-size:1.05rem;line-height:1.75;color:var(--lx-text,#526b78)}
.auth-points{list-style:none;margin:2.25rem 0 0;padding:0;display:grid;gap:1rem;max-width:30rem}
.auth-points li{position:relative;padding-left:1.6rem;font-size:15px;line-height:1.65;color:var(--lx-text,#526b78)}
.auth-points li:before{content:'';position:absolute;left:0;top:.62em;width:10px;height:1px;background:var(--lx-green,#5a7850)}

.auth-card{min-width:0;background:var(--lx-bg-2,#fff);border:1px solid var(--lx-line,#d7e2e6);padding:clamp(1.75rem,3.5vw,2.75rem);box-shadow:0 30px 70px rgba(0,0,0,.28)}
.auth-card h2{font-size:clamp(1.6rem,2.4vw,2rem);letter-spacing:-.02em;color:var(--lx-ivory,#294453);margin-bottom:1.5rem}
.auth-card form{display:grid;gap:1.15rem}

.field{display:grid;gap:.45rem;min-width:0}
.field label{display:block}
.field label,.form-section legend,.type-picker legend{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--lx-muted,#657e91)}
.field label .optional{display:inline;font-weight:400;letter-spacing:.04em;text-transform:none}
.field input,.field select,.field textarea{width:100%;min-height:50px;padding:13px 14px;font-size:16px;border-radius:2px;background:var(--lx-bg-3,#fff);color:var(--lx-ivory,#294453);border:1px solid rgba(226,232,222,.18)}
.field textarea{min-height:130px;line-height:1.6}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--lx-green,#5a7850);outline-offset:1px;border-color:transparent}
.field input:disabled,.field select:disabled,.field textarea:disabled{opacity:.55}
.field-hint{font-size:13px;line-height:1.6;color:var(--lx-muted,#657e91)}
.pw-wrap{position:relative}
.pw-wrap input{padding-right:5rem}
.pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);padding:8px 12px;background:none;color:var(--lx-text,#526b78);font-size:13px;letter-spacing:.04em;border-radius:2px}
.pw-toggle:hover{color:var(--lx-ivory,#294453)}

.auth-row{display:flex;justify-content:flex-end}
.auth-link,.auth-link-button{color:var(--lx-ivory,#294453);text-decoration:underline;text-decoration-color:rgba(166,207,132,.6);text-underline-offset:.3em;font-size:14px;background:none;padding:0}
.auth-link:hover,.auth-link-button:hover{text-decoration-color:var(--lx-green,#5a7850)}
.auth-submit{display:flex;justify-content:center;align-items:center;min-height:54px;margin-top:.4rem;padding:16px 22px;width:100%;background:var(--lx-lime,#d7edac);color:#13221a;font-size:15px;font-weight:600;letter-spacing:.02em;border-radius:3px;transition:background-color .2s ease}
.auth-submit:hover{background:#e6f5c4}
.auth-submit:disabled{opacity:.7;cursor:progress}
.auth-foot{margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid var(--lx-line,#d7e2e6);font-size:14px;color:var(--lx-text,#526b78)}
.auth-fine{margin-top:1rem;font-size:12.5px;line-height:1.6;color:var(--lx-muted,#657e91)}
.auth-fine a{text-decoration:underline;text-underline-offset:.25em}

.auth-alert{margin-bottom:1.25rem;padding:14px 16px;font-size:14px;line-height:1.6;border:1px solid var(--lx-line,#d7e2e6);border-left-width:3px;background:rgba(255,255,255,.03);color:var(--lx-ivory,#294453)}
.auth-alert--error{border-left-color:#e08a7a;background:rgba(224,138,122,.08)}
.auth-alert--success{border-left-color:var(--lx-green,#5a7850);background:rgba(166,207,132,.08)}
.auth-alert--info{border-left-color:var(--lx-blue,#60abd1);background:rgba(109,187,232,.08)}
.auth-alert:focus{outline:none}

/* Registration */
.type-picker,.form-section{border:0;margin:0;padding:0;min-width:0}
.type-picker legend,.form-section legend{margin-bottom:1rem}
.form-section{padding-top:1.5rem;border-top:1px solid var(--lx-line,#d7e2e6)}
.form-section-note{font-size:14px;color:var(--lx-text,#526b78);padding-top:.25rem}
.type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.type-card{position:relative;display:block;cursor:pointer}
.type-card input{position:absolute;opacity:0;inset:0;cursor:pointer}
.type-card-body{display:grid;gap:.6rem;align-content:start;height:100%;padding:1.25rem 1.25rem 1.35rem;border:1px solid rgba(226,232,222,.18);background:var(--lx-bg-3,#fff);transition:border-color .2s ease,background-color .2s ease}
.type-card-title{font-family:Manrope,'DM Sans',Arial,sans-serif;font-size:1.05rem;font-weight:600;color:var(--lx-ivory,#294453)}
.type-card-text{font-size:13.5px;line-height:1.6;color:var(--lx-text,#526b78)}
.type-card:hover .type-card-body{border-color:rgba(166,207,132,.5)}
.type-card input:checked+.type-card-body{border-color:var(--lx-green,#5a7850);background:rgba(166,207,132,.08);box-shadow:inset 0 0 0 1px var(--lx-green,#5a7850)}
.type-card input:focus-visible+.type-card-body{outline:2px solid var(--lx-green,#5a7850);outline-offset:3px}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem 1.25rem;align-items:start}
.consents{display:grid;gap:.9rem;padding-top:1.5rem;border-top:1px solid var(--lx-line,#d7e2e6)}
.check{display:grid;grid-template-columns:20px 1fr;gap:.8rem;align-items:start;font-size:14px;line-height:1.6;color:var(--lx-text,#526b78);cursor:pointer}
.check input{width:18px;height:18px;margin-top:3px;accent-color:#a6cf84}
.check a{color:var(--lx-ivory,#294453);text-decoration:underline;text-underline-offset:.25em}
.auth-done{display:grid;gap:1rem}
.auth-done h2{margin-bottom:0}
.auth-done p{font-size:15px;line-height:1.7;color:var(--lx-text,#526b78)}
.auth-done strong{color:var(--lx-ivory,#294453);font-weight:600;word-break:break-all}
.auth-done:focus{outline:none}

@media(max-width:900px){
  .auth-shell{grid-template-columns:1fr;gap:2.25rem}
  .auth-points{display:none}
  .type-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .auth-main{padding:2.5rem 5% 4rem}
  .field-grid{grid-template-columns:1fr}
  .auth-card{padding:1.5rem 1.15rem;box-shadow:none}
}
@media(prefers-reduced-motion:reduce){.type-card-body,.auth-submit{transition:none}}

/* ---------- Private dashboard ---------- */
.acct-main{padding-top:clamp(2.5rem,5vw,4.5rem)}
.acct-loading{max-width:1200px;margin:4rem auto;display:flex;align-items:center;gap:.9rem;font-size:15px;color:var(--lx-text,#526b78)}
.acct-spinner{width:16px;height:16px;border:1.5px solid var(--lx-line,#d7e2e6);border-top-color:var(--lx-green,#5a7850);border-radius:50%;animation:acct-spin 1s linear infinite}
@keyframes acct-spin{to{transform:rotate(360deg)}}
.acct-shell{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:15rem minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.acct-side{position:sticky;top:1.5rem;display:grid;gap:.4rem}
.acct-name{font-family:Manrope,'DM Sans',Arial,sans-serif;font-size:1.25rem;color:var(--lx-ivory,#294453);margin:.4rem 0 1.4rem;overflow-wrap:anywhere}
.acct-nav{display:grid;gap:0;border-top:1px solid var(--lx-line,#d7e2e6);position:static;top:auto;left:auto;right:auto;width:auto;padding:0;margin:0;background:none;box-shadow:none;font-size:inherit;transform:none;opacity:1;visibility:visible}
.acct-shell [hidden],.auth-card [hidden]{display:none!important}
.acct-nav-link{padding:.85rem 0;border-bottom:1px solid var(--lx-line,#d7e2e6);font-size:15px;color:var(--lx-text,#526b78);transition:color .2s ease}
.acct-nav-link:hover{color:var(--lx-ivory,#294453)}
.acct-nav-link[aria-current="page"]{color:var(--lx-ivory,#294453);box-shadow:inset 2px 0 0 var(--lx-green,#5a7850);padding-left:.9rem}
.acct-signout{justify-self:start;margin-top:1.25rem;padding:10px 16px;background:none;border:1px solid var(--lx-line-strong,rgba(226,232,222,.28));color:var(--lx-ivory,#294453);font-size:14px;border-radius:3px}
.acct-signout:hover{border-color:var(--lx-green,#5a7850)}
.acct-content{min-width:0}
.acct-panel{display:grid;gap:1.75rem}
.acct-title{font-size:clamp(2.1rem,3.6vw,3.2rem);line-height:1.05;letter-spacing:-.035em;color:var(--lx-ivory,#294453)}
.acct-intro{max-width:44rem;font-size:16px;line-height:1.75;color:var(--lx-text,#526b78);margin-top:-.75rem}
.acct-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--lx-line,#d7e2e6);border:1px solid var(--lx-line,#d7e2e6);margin:0}
.acct-stats>div{background:var(--lx-bg-2,#fff);padding:1.25rem 1.35rem;min-width:0}
.acct-stats dt{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--lx-muted,#657e91)}
.acct-stats dd{margin:.55rem 0 0;font-family:Manrope,'DM Sans',Arial,sans-serif;font-size:1.2rem;color:var(--lx-ivory,#294453);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.acct-block{background:var(--lx-bg-2,#fff);border:1px solid var(--lx-line,#d7e2e6);padding:clamp(1.35rem,3vw,2rem);display:grid;gap:1.1rem;min-width:0}
.acct-block h2{font-size:1.3rem;letter-spacing:-.01em;color:var(--lx-ivory,#294453)}
.acct-block--quiet{background:transparent}
.acct-block--danger{border-color:rgba(224,138,122,.35)}
.acct-text,.acct-block>p{font-size:15px;line-height:1.7;color:var(--lx-text,#526b78);max-width:60ch}
.acct-list{list-style:none;margin:0;padding:0;display:grid;border-top:1px solid var(--lx-line,#d7e2e6)}
.acct-list-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--lx-line,#d7e2e6);min-width:0}
.acct-list-item>div:first-child{min-width:0}
.acct-item-title{font-size:15.5px;color:var(--lx-ivory,#294453);overflow-wrap:anywhere}
.acct-item-meta{font-size:13px;color:var(--lx-muted,#657e91);margin-top:.25rem}
.acct-item-actions{display:flex;gap:1rem;flex:0 0 auto}
.acct-enquiry{padding:1.15rem 0;border-bottom:1px solid var(--lx-line,#d7e2e6);display:grid;gap:.65rem}
.acct-enquiry-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.acct-enquiry-body{font-size:14.5px;line-height:1.7;color:var(--lx-text,#526b78);white-space:pre-wrap;overflow-wrap:anywhere;max-width:65ch}
.acct-note{display:grid;gap:.3rem;padding:.85rem 1rem;border-left:2px solid var(--lx-green,#5a7850);background:rgba(166,207,132,.06);font-size:14.5px;line-height:1.65;color:var(--lx-ivory,#294453)}
.acct-note span{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--lx-green,#5a7850)}
.acct-empty{font-size:15px;color:var(--lx-muted,#657e91)}
.status-pill{flex:0 0 auto;display:inline-flex;align-items:center;gap:.45rem;padding:5px 11px;border:1px solid var(--lx-line,#d7e2e6);border-radius:999px;font-size:12px;letter-spacing:.04em;color:var(--lx-text,#526b78);white-space:nowrap}
.status-pill:before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}
.status-pill--received{color:#9fb3b8}
.status-pill--in_review,.status-pill--in_progress{color:#6dbbe8}
.status-pill--completed,.status-pill--closed{color:#a6cf84}
.status-pill--declined{color:#e0a294}
.acct-actions{display:flex;gap:.75rem;flex-wrap:wrap}
.acct-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border-radius:3px;background:var(--lx-lime,#d7edac);color:#13221a;font-size:14.5px;font-weight:600;letter-spacing:.02em;justify-self:start}
.acct-button:hover{background:#e6f5c4}
.acct-button--ghost{background:transparent;color:var(--lx-ivory,#294453);border:1px solid var(--lx-line-strong,rgba(226,232,222,.28));font-weight:500}
.acct-button--ghost:hover{background:rgba(166,207,132,.08);border-color:var(--lx-green,#5a7850)}
.acct-button--danger{background:#c9776a;color:#1a0c09}
.acct-button--danger:hover{background:#d88b7e}
.acct-button:disabled{opacity:.65;cursor:progress}
.acct-text-button{background:none;padding:6px 0;font-size:14px;color:var(--lx-ivory,#294453);text-decoration:underline;text-underline-offset:.3em;text-decoration-color:rgba(166,207,132,.6)}
.acct-text-button--danger{text-decoration-color:rgba(224,138,122,.7)}
.acct-form{display:grid;gap:1.1rem}
.form-section--flush{padding-top:0;border-top:0}
.form-section .check+.check{margin-top:.6rem}
.acct-upload{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}
.acct-file{flex:1 1 16rem;min-width:0;padding:11px;border:1px dashed rgba(226,232,222,.28);background:var(--lx-bg-3,#fff);color:var(--lx-text,#526b78);font-size:14px}
.acct-file::file-selector-button{margin-right:.9rem;padding:8px 14px;border:1px solid var(--lx-line-strong,rgba(226,232,222,.28));background:transparent;color:var(--lx-ivory,#294453);border-radius:2px;font:inherit;cursor:pointer}
.acct-verified{display:inline-block;margin-left:.6rem;padding:2px 9px;border-radius:999px;font-size:11.5px;letter-spacing:.06em;color:#a6cf84;border:1px solid rgba(166,207,132,.4)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media(max-width:960px){
  .acct-shell{grid-template-columns:1fr;gap:1.75rem}
  .acct-side{position:static}
  .acct-name{margin-bottom:.75rem}
  .acct-nav{display:flex;overflow-x:auto;gap:1.4rem;border-top:0;border-bottom:1px solid var(--lx-line,#d7e2e6);scrollbar-width:none;background:none;box-shadow:none;padding:0}
  .acct-nav::-webkit-scrollbar{display:none}
  .acct-nav-link{white-space:nowrap;border-bottom:0;padding:.75rem 0}
  .acct-nav-link[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--lx-green,#5a7850);padding-left:0}
  .acct-signout{position:absolute;right:5%;margin-top:0;transform:translateY(-.25rem)}
  .acct-side{position:relative}
  .acct-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
  .acct-list-item{flex-direction:column;align-items:flex-start}
  .acct-enquiry-head{flex-direction:column}
  .acct-signout{position:static;margin-top:.5rem}
}
@media(prefers-reduced-motion:reduce){.acct-spinner{animation:none}.acct-nav-link{transition:none}}

/* ---------- Privacy notice ---------- */
.legal{max-width:760px;margin:0 auto;display:grid;gap:1rem}
.legal h2{margin-top:1.6rem;font-size:clamp(1.35rem,2vw,1.7rem);color:var(--lx-ivory,#294453);letter-spacing:-.015em}
.legal p,.legal li{font-size:16px;line-height:1.8;color:var(--lx-text,#526b78)}
.legal ul{padding-left:1.2rem;display:grid;gap:.5rem}
.legal strong{color:var(--lx-ivory,#294453);font-weight:600}
.fill{background:rgba(224,190,110,.18);color:#f1d79b;padding:0 .2em;border-radius:2px}
