/* Bayit — sign-in pages. Split layout: story panel + form. */
:root{
  --paper:#F0F8FF; --paper-2:#F0F8FF; --card:#F4FAFC; --ink:#16241D; --muted:#55655B; --line:#CBE3EF;
  --green:#1D5A43; --green-d:#123A2B; --green-l:#DCEBDD; --gold:#87CEEB; --gold-l:#D8EEF8; --coral:#E4572E;
  --display:'Fraunces',Georgia,serif; --body:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0}
body.auth{background:var(--paper);color:var(--ink);font:400 1rem/1.6 var(--body);-webkit-font-smoothing:antialiased}
.auth a{color:var(--green);text-underline-offset:3px;font-weight:700}
.auth a:hover{color:var(--green-d)}
.auth :focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:8px}

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

/* ---- story panel ---- */
.auth-story{position:relative;overflow:hidden;color:#F6F0DF;padding:clamp(28px,4vw,56px);display:flex;flex-direction:column;gap:28px;
  background:radial-gradient(circle at 90% 8%,rgba(244,176,62,.45) 0,transparent 42%),linear-gradient(160deg,var(--green) 0%,var(--green-d) 100%)}
.auth-story::after{content:"";position:absolute;inset:auto -80px -80px auto;width:280px;height:280px;border-radius:50%;border:44px solid rgba(244,176,62,.14);pointer-events:none}
.auth-brand{display:inline-flex;align-items:center;gap:10px;color:#fff!important;text-decoration:none;font:700 1.45rem var(--display);letter-spacing:-.01em}
.auth-brand svg{display:block}
.auth-story h1{font:600 clamp(2rem,3.4vw,3rem)/1.08 var(--display);letter-spacing:-.02em;margin:auto 0 0;color:#fff}
.auth-story h1 em{font-style:italic;color:var(--gold)}
.auth-story p{margin:0;max-width:30rem;color:rgba(246,240,223,.86);font-size:1.08rem}
.auth-points{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.auth-points li{display:flex;gap:10px;align-items:flex-start;font-weight:600;font-size:.97rem;color:#F6F0DF}
.auth-points svg{flex:none;margin-top:3px;color:var(--gold)}
.auth-photo{margin:6px 0 0;border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.18);max-width:360px;aspect-ratio:16/10;box-shadow:0 18px 40px -18px rgba(0,0,0,.6)}
.auth-photo img{width:100%;height:100%;object-fit:cover;display:block}

/* ---- form panel ---- */
.auth-main{display:flex;align-items:center;justify-content:center;padding:clamp(24px,5vw,56px)}
.auth-card{width:min(440px,100%)}
.auth-tabs{display:flex;gap:6px;background:var(--paper-2);padding:5px;border-radius:999px;margin-bottom:26px}
.auth-tabs a,.auth-tabs span{flex:1;text-align:center;padding:.7rem 1rem;border-radius:999px;font-weight:800;font-size:.95rem;text-decoration:none;color:var(--muted)}
.auth-tabs span{background:var(--green);color:#fff;box-shadow:0 6px 14px -8px rgba(29,90,67,.8)}
.auth-card h2{font:600 clamp(1.7rem,3vw,2.1rem)/1.15 var(--display);letter-spacing:-.015em;margin:0 0 6px}
.auth-card .sub{color:var(--muted);margin:0 0 24px}

.f{margin-bottom:18px}
.f label{display:block;font-weight:800;font-size:.9rem;margin-bottom:6px}
.f input[type=text],.f input[type=email],.f input[type=tel],.f input[type=password],.f input[type=number]{
  width:100%;font:500 1rem var(--body);color:var(--ink);background:var(--card);border:2px solid var(--line);border-radius:14px;padding:.85rem 1rem;transition:border-color .15s,box-shadow .15s}
.f input::placeholder{color:#8B9890;opacity:1}
.f input:focus{outline:0;border-color:var(--green);box-shadow:0 0 0 4px rgba(29,90,67,.12)}
.f input[readonly]{background:var(--paper-2)}
.f .row{display:flex;gap:10px}
.f .row input{flex:1;min-width:0}
.pw{position:relative}
.pw input{padding-right:48px!important}
.pw button{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:0;padding:8px;cursor:pointer;color:var(--muted);display:grid;place-items:center;border-radius:8px}
.pw button:hover{color:var(--green)}
.hint{display:block;font-size:.88rem;margin-top:6px;min-height:1.2em;color:var(--muted)}
.hint.ok{color:var(--green);font-weight:800}
.hint.err{color:#B3361A;font-weight:700}
.link-row{text-align:right;margin:-6px 0 18px;font-size:.92rem}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:800 1rem/1 var(--body);text-decoration:none;cursor:pointer;
  padding:1rem 1.4rem;border-radius:999px;border:2px solid transparent;transition:transform .15s,background .15s,box-shadow .15s}
.btn:hover{transform:translateY(-2px)}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.btn-block{width:100%}
.btn-solid{background:var(--green);color:#fff!important;box-shadow:0 10px 20px -10px rgba(29,90,67,.8)}
.btn-solid:hover{background:var(--green-d)}
.btn-line{background:transparent;color:var(--ink)!important;border-color:var(--ink);white-space:nowrap;padding:.85rem 1.1rem;font-size:.92rem}
.btn-line:hover{background:var(--ink);color:var(--paper)!important}
.btn-gold{background:var(--gold);color:var(--ink)!important}

.alert{padding:13px 16px;border-radius:14px;font-weight:700;font-size:.95rem;margin-bottom:20px}
.alert-err{background:#FCEBE4;color:#8E2C10}
.alert-warn{background:var(--gold-l);color:#5E4208}
.alert-ok{background:var(--green-l);color:var(--green-d)}

.check{display:flex;gap:10px;align-items:flex-start;margin:6px 0 20px;font-size:.92rem;color:var(--muted)}
.check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--green);flex:none}

.code{letter-spacing:.55em;text-align:center;font-size:1.6rem!important;font-weight:800!important;padding-left:1.3em!important}
.auth-foot{margin:26px 0 0;text-align:center;color:var(--muted);font-size:.95rem}
.done{text-align:center}
.done .tick{width:64px;height:64px;border-radius:50%;background:var(--green-l);color:var(--green);display:grid;place-items:center;margin:0 auto 14px}

@media (max-width:860px){
  .auth-grid{grid-template-columns:1fr}
  .auth-story{padding:22px 20px 26px;gap:14px}
  .auth-story h1{margin-top:6px;font-size:1.9rem}
  .auth-story p{font-size:1rem}
  .auth-points,.auth-photo{display:none}
  .auth-main{align-items:flex-start;padding:26px 20px 40px}
}
@media (prefers-reduced-motion:reduce){.btn{transition:none}}
