/* Public account pages only; staff administration retains its existing layout. */
.auth-layout:has([name="application_evidence"]){max-height:none}
.stack-form label:has([name="application_evidence"]) small{font-size:11px;font-weight:400;line-height:1.7;color:#777}
.auth-page{--auth-ink:#202b2a;--auth-muted:#6b7471;--auth-accent:#31594d;--auth-panel:#203e35;--auth-soft:#aec9b6;min-height:100svh;background:#f8f9f6;color:var(--auth-ink);padding:0 5vw;display:flex;flex-direction:column;font-family:system-ui,-apple-system,"Noto Sans Thai",sans-serif}
.auth-page.theme-peakcarvip{--auth-ink:#222426;--auth-muted:#6c7074;--auth-accent:#a84408;--auth-panel:#222426;--auth-soft:#ff872b;background:#fafafa}
:is(.theme-platform,.theme-peakcarvip) .auth-identity{border-radius:12px;background:#202326;justify-content:flex-end}
:is(.theme-platform,.theme-peakcarvip) .auth-art{background:linear-gradient(180deg,transparent 35%,rgba(12,17,21,.12) 55%,rgba(12,17,21,.92) 100%),url('peak-denza-login.webp') 20% center / cover no-repeat;opacity:1}
:is(.theme-platform,.theme-peakcarvip) .auth-identity-top{display:none}
:is(.theme-platform,.theme-peakcarvip) .auth-art i,:is(.theme-platform,.theme-peakcarvip) .auth-route-dot{display:none}
:is(.theme-platform,.theme-peakcarvip) .auth-identity-bottom{border:0;padding-top:26px;margin-top:0}
:is(.theme-platform,.theme-peakcarvip) .auth-identity-bottom>p:last-child{color:#e1e5e8;font-weight:400}
:is(.theme-platform,.theme-peakcarvip) .auth-brand-title{font-weight:600;letter-spacing:.055em}
.auth-page.theme-peakcarvip .button-primary{background:#ff7919;color:#231d18;font-weight:650}
.auth-page.theme-peakcarvip .stack-form input:focus{border-color:#c55b15;box-shadow:0 0 0 3px #ff791918}
.theme-peakcarvip .auth-symbol{border-color:#dedede}
.auth-page.theme-peakcargo{--auth-ink:#203d49;--auth-accent:#32697b;--auth-panel:#e4eef0;--auth-soft:#789ca6;background:#fafcfb}
.auth-header{height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1320px;width:100%;margin:auto}
.auth-wordmark{display:flex;align-items:center;gap:15px;font-size:15px;letter-spacing:.14em;font-weight:700;color:var(--auth-ink)}
.auth-symbol{display:flex;align-items:center;border-right:1px solid #d9ddd5;padding-right:20px}.auth-logo{display:block;width:70px;height:40px;object-fit:contain}
.auth-header-note,.auth-footer{font-size:10px;letter-spacing:.14em;color:var(--auth-muted)}
.auth-layout{width:100%;max-width:1320px;margin:auto;display:grid;grid-template-columns:1fr 1fr;min-height:580px;flex:1;max-height:820px}
.auth-identity{background:var(--auth-panel);border-radius:16px;position:relative;overflow:hidden;min-height:580px;color:#f5f5ed;display:flex;flex-direction:column;justify-content:space-between;padding:40px}
.auth-identity-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.18em;color:var(--auth-soft)}
.auth-identity-top>span:last-child{font-size:26px;font-weight:300}
.auth-art{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.auth-art i{position:absolute;display:block;width:590px;height:790px;border:1px solid var(--auth-soft);border-radius:46%;transform:rotate(38deg);top:80px;left:-240px;opacity:.25}
.auth-art i:nth-child(2){left:-207px;top:96px;opacity:.5}.auth-art i:nth-child(3){left:-174px;top:112px;opacity:.2}
.auth-route-dot{position:absolute;width:12px;height:12px;top:44%;left:61%;background:var(--auth-soft);border:3px solid var(--auth-panel);border-radius:50%;box-shadow:0 0 0 1px var(--auth-soft),0 0 0 12px #ffffff06}
.auth-identity-bottom{position:relative;z-index:1;margin-top:300px}.auth-brand-title{font-size:clamp(23px,2.7vw,38px);letter-spacing:.1em;font-weight:500;margin:0 0 14px}
.auth-identity-bottom>p:last-child{font-size:14px;font-weight:400;color:var(--auth-soft);margin:0;line-height:1.8}
.theme-peakcargo .auth-identity{color:var(--auth-ink)}.theme-peakcargo .auth-identity-top,.theme-peakcargo .auth-identity-bottom>p:last-child{color:#4a6f7a}
.auth-form-side{display:flex;align-items:center;justify-content:center;padding:50px 48px}
.auth-form-content{width:100%;max-width:360px}.auth-kicker{font-size:10px;letter-spacing:.2em;color:var(--auth-muted);margin:0 0 13px}
.auth-form-content h1{font-size:30px;font-weight:600;letter-spacing:-.035em;line-height:1.4;margin:0 0 30px}
.auth-page .stack-form{margin-top:0;gap:24px}.auth-page .stack-form label{font-size:13px;font-weight:500;color:var(--auth-ink);gap:10px}
.auth-page .stack-form input:not([type=checkbox]),.auth-page .stack-form select{width:100%;min-height:50px;border:1px solid #d9ded7;border-radius:7px;background:#ffffffb3;padding:13px 15px;font-size:14px;transition:border-color .15s,box-shadow .15s}
.auth-page input::placeholder{color:#8b928e;font-size:13px}.auth-page .stack-form input:focus{border-color:var(--auth-accent);box-shadow:0 0 0 3px #a5b8a829;outline:none}
.auth-page .button-primary{background:var(--auth-accent);color:#fff;border-radius:7px;min-height:50px;font-size:14px;font-weight:500;margin-top:4px;transition:filter .15s}.auth-page .button-primary:hover{filter:brightness(.88)}
.auth-register{border-top:1px solid #dfe3dc;margin-top:34px;padding-top:24px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--auth-muted)}
.auth-register a{font-size:13px;color:var(--auth-accent);font-weight:600}.auth-register a span{margin-left:6px}.auth-back{display:inline-block;margin-top:24px;font-size:13px;color:var(--auth-accent)}
.auth-footer{display:flex;justify-content:space-between;gap:20px;max-width:1320px;width:100%;margin:auto;padding:25px 0;font-size:9px;letter-spacing:.1em}
.auth-page .muted{font-size:12px}.auth-page .alert{line-height:1.8}.auth-page .check{line-height:1.7}
@media(min-width:1600px){.auth-page{padding:0 8vw}.auth-header{height:120px}.auth-layout{flex:none;min-height:660px}.auth-identity{min-height:660px}}
@media(max-width:900px){.auth-page{padding:0 24px}.auth-header{height:82px}.auth-form-side{padding:40px 28px}.auth-identity{padding:30px;min-height:540px}.auth-brand-title{font-size:23px}.auth-layout{min-height:540px}}
@media(max-width:640px){.auth-page{padding:0 24px}.auth-header{height:88px}.auth-header-note{display:none}.auth-wordmark{font-size:12px}.auth-symbol{font-size:28px}.auth-layout{display:block;min-height:0;max-height:none;flex:1}.auth-identity{display:none}.auth-form-side{padding:48px 0 60px;align-items:flex-start}.auth-form-content{max-width:400px}.auth-form-content h1{font-size:28px}.auth-footer{font-size:8px;padding:22px 0;border-top:1px solid #e3e6df}.auth-page .stack-form{gap:22px}}
.auth-page button:disabled{opacity:.45;cursor:not-allowed}
@media(prefers-reduced-motion:reduce){.auth-page *{transition:none!important}}

/* Affiliate application wizard; all sections remain usable without JavaScript. */
.auth-form-content:has([data-register-step]){max-width:440px}
.auth-form-content:has([data-register-step]) h1{margin-bottom:10px;font-size:clamp(25px,2.5vw,30px)}
.register-intro{font-size:13px;color:var(--auth-muted);margin:0 0 28px;line-height:1.7}
.auth-page [hidden]{display:none!important}
.register-progress{list-style:none;display:flex;gap:8px;padding:0;margin:0 0 8px}
.register-progress li{flex:1;display:flex;align-items:center;gap:7px;font-size:11px;color:var(--auth-muted);border-bottom:2px solid #e1e1e1;padding-bottom:14px}
.register-progress li span{display:grid;place-items:center;flex-shrink:0;width:25px;height:25px;border:1px solid #d2d2d2;border-radius:50%;font-size:11px}
.register-progress li[aria-current]{color:var(--auth-ink);border-color:var(--auth-ink);font-weight:650}
.register-progress li[aria-current] span,.register-progress li.is-complete span{background:var(--auth-ink);border-color:var(--auth-ink);color:#fff}
.register-step{display:grid;gap:20px;min-width:0}
.register-step h2{font-size:19px;margin:0;font-weight:600;outline:none}
.register-step>p{margin:-12px 0 0;line-height:1.7}
.register-step small{font-size:11px;font-weight:400;color:var(--auth-muted);line-height:1.7}
.register-actions{display:flex;gap:12px;align-items:center}
.register-actions .button{flex:1;min-height:50px;margin:0}
.register-status{margin:-10px 0 0;text-align:center}
@media(max-width:380px){.register-progress li{font-size:10px;gap:5px}.register-progress li span{width:22px;height:22px}}

@media(min-width:901px){
  .register-step-panel{display:grid;align-items:start}
  .register-step-panel>.register-step{grid-area:1 / 1}
  .auth-page .register-step-panel>.register-step[hidden]{display:grid!important;visibility:hidden;pointer-events:none}
}

.evidence-upload{display:grid;gap:8px;min-width:0}
.evidence-picker{position:relative;isolation:isolate;height:190px;border:1px dashed #b9bdbb;border-radius:12px;background:#f3f4f2;overflow:hidden;transition:border-color .15s,background .15s}
.evidence-picker:hover{border-color:#363b38;background:#eceeea}
.evidence-picker:focus-within{outline:2px solid #a9693e;outline-offset:3px}
.auth-page .stack-form .evidence-picker input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:3;margin:0;padding:0}
.evidence-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:12px;color:#555e58}
.evidence-empty strong{font-size:13px;color:#252a27;font-weight:600}
.evidence-empty>span{font-size:11px}
.evidence-empty .evidence-choose{background:#fff;color:#252a27;border:1px solid #d9ddda;padding:7px 15px;border-radius:7px;font-size:12px;font-weight:600}
.evidence-preview{display:block;width:100%;height:100%;object-fit:contain;padding:8px 8px 36px;background:#edf0ec}
.evidence-replace{position:absolute;bottom:8px;right:10px;background:#fff;border:1px solid #d9ddda;border-radius:6px;padding:5px 10px;font-size:11px;color:#252a27;pointer-events:none}
.evidence-file-row{display:flex;align-items:center;gap:10px;min-height:32px;min-width:0}
.evidence-file-row>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#667069}
.auth-page .evidence-remove{border:0;background:transparent;color:#824333;font-size:12px;padding:7px 4px;min-height:32px;flex-shrink:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.evidence-upload.has-error .evidence-picker{border-color:#a64232;background:#fff8f6}
.evidence-upload.has-error .evidence-file-row>span{color:#a64232;white-space:normal}

.auth-remember{display:flex!important;align-items:center;gap:10px;cursor:pointer}.auth-remember input[type="checkbox"]{width:18px;height:18px;min-height:0;margin:0;flex:0 0 18px;accent-color:#252525}.auth-remember span{font-size:14px}.auth-remember small{display:block;font-size:12px;font-weight:400;color:#737373;margin-top:3px}
