:root{
    --auth-bg:#FFF9F2;
    --auth-ink:#3A2620;
    --auth-ink-soft:#6B4C41;
    --auth-faint:#A98F82;
    --auth-brand:#FE0002;
    --auth-brand-deep:#B80002;
    --auth-brand-bright:#FF3A3B;
    --auth-soft:#FFE5E5;
    --auth-accent:#EB7F31;
    --auth-line:#EFE0D3;
    --auth-ring:rgba(117,27,27,.16);
    --auth-radius:16px;
    --font-auth:'Plus Jakarta Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
    --font-display:'Fraunces','Georgia',serif;
}
*,*::before,*::after{box-sizing:border-box}
html,body{height:100%}
body.auth-body{margin:0;background:var(--auth-bg);color:var(--auth-ink);font-family:var(--font-auth);line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--auth-brand);text-decoration:none}

.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}

.auth-panel{
    position:relative;display:flex;flex-direction:column;overflow:hidden;
    padding:44px 56px;color:#fff;min-height:100vh;
}
.auth-panel::before{
    content:'';position:absolute;inset:0;z-index:-1;
    background:
        linear-gradient(180deg,rgba(44,16,13,.18) 0%,rgba(44,16,13,.55) 55%,rgba(44,16,13,.9) 100%),
        var(--panel-img, url('https://images.unsplash.com/photo-1581578731548-c64695cc6952?auto=format&fit=crop&w=1400&q=80')) center/cover no-repeat;
}
.auth-panel::after{
    content:'';position:absolute;inset:0;z-index:-1;
    background:radial-gradient(circle at 18% 12%,rgba(252,173,56,.22),transparent 42%),
               linear-gradient(90deg,rgba(94,25,25,.35),transparent 70%);
}

.auth-brand{display:inline-flex;align-items:center;gap:11px;color:#fff;font-size:1.4rem;font-weight:800;letter-spacing:-.5px;align-self:flex-start;z-index:1}
.auth-brand-mark{
    width:40px;height:40px;border-radius:12px;display:grid;place-items:center;
    background:var(--auth-accent);color:#3A2620;font-size:1.2rem;font-weight:800;
    box-shadow:0 10px 26px rgba(0,0,0,.28);
}
.auth-brand span:last-child{color:#fff}
.auth-brand span:last-child span{color:var(--auth-accent)}

.auth-panel-copy{margin:auto 0;max-width:520px;z-index:1}
.auth-eyebrow{font-size:.74rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:#F0B47C;margin:0 0 16px}
.auth-panel-copy h1{
    font-family:var(--font-display);font-weight:600;font-size:clamp(2.2rem,4.2vw,3.4rem);
    line-height:1.08;letter-spacing:-.5px;margin:0 0 20px;color:#fff;
}
.auth-lede{margin:0;color:#F4DFD0;font-size:1.05rem;max-width:46ch;line-height:1.7}

.auth-trust{list-style:none;margin:0;padding:0;display:grid;gap:12px;z-index:1;max-width:480px}
.auth-trust li{display:flex;align-items:center;gap:11px;color:#F4DFD0;font-size:.92rem;font-weight:600}
.auth-trust li span{
    width:22px;height:22px;border-radius:50%;flex:none;display:grid;place-items:center;
    background:rgba(194,65,53,.95);color:#fff;font-size:.72rem;font-weight:800;
}

.auth-main{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 28px;position:relative}
.auth-card{width:100%;max-width:440px}
.auth-head{text-align:center;margin-bottom:30px}
.auth-mark{
    width:58px;height:58px;border-radius:17px;display:inline-grid;place-items:center;
    background:linear-gradient(135deg,var(--auth-brand),var(--auth-brand-bright));color:#fff;
    font-size:1.6rem;font-weight:800;box-shadow:0 14px 34px rgba(117,27,27,.3);margin-bottom:18px;
}
.auth-head h2{margin:0 0 8px;font-size:1.7rem;font-weight:800;letter-spacing:-.4px}
.auth-head p{margin:0;color:var(--auth-ink-soft);font-size:.95rem}

.auth-form{display:grid;gap:18px}
.auth-field{display:flex;flex-direction:column;gap:7px}
.auth-field label{font-weight:700;font-size:.86rem}
.auth-optional{color:var(--auth-faint);font-weight:500}
.auth-field input{
    border:1.5px solid var(--auth-line);border-radius:12px;padding:12px 15px;font-size:.95rem;
    font-family:inherit;background:#fff;color:var(--auth-ink);width:100%;transition:.18s;
}
.auth-field input::placeholder{color:#BCA396}
.auth-error{color:#b3321e;font-size:.8rem}
.auth-field input:focus{outline:none;border-color:var(--auth-brand);box-shadow:0 0 0 4px var(--auth-ring)}
.auth-field input[readonly]{background:#FBF0E5;color:var(--auth-ink-soft)}
.auth-field textarea{
    border:1.5px solid var(--auth-line);border-radius:12px;padding:12px 15px;font-size:.95rem;
    font-family:inherit;background:#fff;color:var(--auth-ink);width:100%;transition:.18s;resize:vertical;min-height:66px;
}
.auth-field textarea::placeholder{color:#BCA396}
.auth-field textarea:focus{outline:none;border-color:var(--auth-brand);box-shadow:0 0 0 4px var(--auth-ring)}

.auth-divider{border:0;border-top:1px dashed var(--auth-line);margin:4px 0 2px}
.auth-step{margin:0 0 -8px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--auth-faint)}
.auth-step:first-child{margin-top:0}

.auth-password-wrap{position:relative}
.auth-password-wrap input{padding-right:46px}
.auth-eye{
    position:absolute;right:8px;top:50%;transform:translateY(-50%);width:34px;height:34px;
    display:grid;place-items:center;border:0;background:transparent;color:var(--auth-faint);
    border-radius:9px;cursor:pointer;transition:.18s;
}
.auth-eye:hover{color:var(--auth-brand);background:var(--auth-soft)}
.auth-eye svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.auth-eye.hide svg .show-only{display:none}
.auth-eye.hide svg .hide-only{display:block}

.auth-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:420px){.auth-grid-2{grid-template-columns:1fr}}

.auth-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.auth-check{display:inline-flex;align-items:center;gap:9px;font-size:.88rem;font-weight:600;color:var(--auth-ink-soft);cursor:pointer}
.auth-check input{width:17px;height:17px;accent-color:var(--auth-brand);margin:0}
.auth-terms{font-size:.82rem}
.auth-terms a{font-weight:700}
.auth-link{font-size:.88rem;font-weight:700}

.auth-submit{
    display:flex;align-items:center;justify-content:center;gap:10px;
    background:linear-gradient(135deg,var(--auth-brand),var(--auth-brand-bright));color:#fff;border:0;
    border-radius:12px;padding:14px 20px;font-size:1rem;font-weight:800;font-family:inherit;cursor:pointer;
    box-shadow:0 14px 28px rgba(117,27,27,.3);transition:.22s;margin-top:2px;
}
.auth-submit:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(117,27,27,.38)}
.auth-submit:active{transform:translateY(0)}

.auth-alert{padding:13px 16px;border-radius:12px;font-weight:700;font-size:.88rem;margin-bottom:18px;display:flex;align-items:center;gap:9px}
.auth-alert.notice{background:#dff1e4;color:#176b2e}
.auth-alert.error{background:#fde0da;color:#b3321e}

.auth-switch{text-align:center;margin:26px 0 0;color:var(--auth-ink-soft);font-size:.92rem;font-weight:600}
.auth-switch a{font-weight:800}

.auth-back{position:absolute;bottom:22px;margin:0;font-size:.85rem;font-weight:700}
.auth-back a{color:var(--auth-faint)}
.auth-back a:hover{color:var(--auth-brand)}

@media(max-width:940px){
    .auth-shell{grid-template-columns:1fr}
    .auth-panel{min-height:0;padding:26px 28px 120px;flex:0 0 auto}
    .auth-panel-copy{margin:34px 0 20px}
    .auth-panel-copy h1{font-size:clamp(1.9rem,7vw,2.6rem)}
    .auth-trust{display:none}
    .auth-main{padding:42px 24px 84px}
    .auth-back{bottom:18px;left:50%;transform:translateX(-50%)}
}

@media(prefers-reduced-motion:reduce){
    .auth-submit,.auth-eye,.auth-back a{transition:none}
}
