/* ============================================================
   fermierul.online — Auth (Intră în cont / Creează cont)
   Romanian premium warm farm aesthetic
   ============================================================ */

/* ---------- Reset / body overrides ---------- */
body{
  background:
    radial-gradient(900px 600px at 90% -10%, rgba(201,169,97,.10), transparent 60%),
    radial-gradient(800px 700px at -10% 30%, rgba(45,74,43,.06), transparent 60%),
    radial-gradient(600px 500px at 50% 110%, rgba(196,93,61,.06), transparent 60%),
    var(--cream);
  min-height:100vh;
  overflow-x:hidden;
}

/* ============================================================
   HEADER
   ============================================================ */
.auth-header{
  position:relative;z-index:10;
  padding:20px 0;
}
.auth-header-inner{
  max-width:1280px;margin:0 auto;
  padding:0 28px;
  display:flex;align-items:center;justify-content:space-between;
}
.auth-brand{
  display:inline-flex;align-items:center;gap:10px;
  color:var(--ink);
}
.auth-brand-mark{
  width:38px;height:38px;border-radius:11px;
  background:var(--green);color:var(--cream);
  display:grid;place-items:center;
  box-shadow:0 6px 16px rgba(45,74,43,.20);
}
.auth-brand-text{
  font-family:var(--ff-serif);font-size:20px;font-weight:600;
  letter-spacing:-.01em;
}
.auth-brand-name{color:var(--ink)}
.auth-brand-dot{color:var(--clay);font-weight:700}
.auth-brand-tld{color:var(--green)}

.auth-back{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 16px;border-radius:999px;
  background:var(--paper);color:var(--ink-2);
  font-size:13px;font-weight:600;
  border:1px solid var(--line-soft);
  box-shadow:var(--shadow-1);
  transition:all .15s ease;
}
.auth-back:hover{
  border-color:var(--green);color:var(--green);
  transform:translateX(-2px);
}
.auth-back .ic{width:15px;height:15px}

/* ============================================================
   MAIN GRID
   ============================================================ */
.auth-main{
  position:relative;
  padding:24px 0 60px;
  min-height:calc(100vh - 80px);
}
.auth-pattern{
  position:absolute;inset:0;pointer-events:none;z-index:0;
  opacity:.6;
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'><g fill='none' stroke='%232D4A2B' stroke-width='0.6' opacity='.18'><path d='M60 24 L72 36 L60 48 L48 36 Z'/><path d='M30 60 L42 72 L30 84 L18 72 Z'/><path d='M90 60 L102 72 L90 84 L78 72 Z'/><circle cx='60' cy='60' r='1.4' fill='%232D4A2B'/><path d='M0 60 L20 60 M100 60 L120 60 M60 0 L60 20 M60 100 L60 120'/></g></svg>");
  background-size:140px 140px;
  -webkit-mask-image:radial-gradient(ellipse at center, rgba(0,0,0,.5), transparent 75%);
          mask-image:radial-gradient(ellipse at center, rgba(0,0,0,.5), transparent 75%);
}

.auth-grid{
  position:relative;z-index:1;
  max-width:1280px;margin:0 auto;
  padding:0 28px;
  display:grid;grid-template-columns:1fr 1fr;gap:48px;
  align-items:start;
}

/* ============================================================
   LEFT COLUMN — form
   ============================================================ */
.auth-form-col{
  display:flex;flex-direction:column;gap:14px;
  max-width:560px;width:100%;
  justify-self:start;
}

/* ---------- Card ---------- */
.auth-card{
  background:var(--paper);
  border:1px solid var(--line-soft);
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow-2);
  padding:32px 36px;
  position:relative;
  overflow:hidden;
}
.auth-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--green) 0%,var(--green) 60%,var(--gold) 100%);
}

/* ---------- Tabs ---------- */
.auth-tabs{
  display:grid;grid-template-columns:1fr 1fr;
  gap:6px;
  padding:5px;
  background:var(--cream-2);
  border-radius:999px;
  margin-bottom:28px;
}
.auth-tab{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 14px;
  font-size:13px;font-weight:600;color:var(--muted);
  border-radius:999px;
  transition:all .25s ease;
  position:relative;
}
.auth-tab .ic{width:16px;height:16px}
.auth-tab:hover{color:var(--ink-2)}
.auth-tab.is-active{
  background:var(--paper);
  color:var(--green);
  box-shadow:var(--shadow-1);
}
.auth-tab.is-active::after{
  content:"";position:absolute;bottom:-2px;left:50%;
  width:24px;height:3px;border-radius:999px;
  background:var(--green);
  transform:translateX(-50%);
  display:none;
}

/* ---------- State transitions ---------- */
.auth-state{
  display:none;
  animation:fadeUp .35s ease;
}
.auth-state.is-active{display:block}
@keyframes fadeUp{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}

/* ---------- State head ---------- */
.auth-state-head{
  display:flex;flex-direction:column;gap:8px;
  margin-bottom:24px;
}
.auth-state-head h1{
  font-family:var(--ff-serif);font-size:30px;font-weight:600;
  margin:0;color:var(--ink);letter-spacing:-.01em;line-height:1.15;
}
.auth-state-head p{
  margin:0;color:var(--muted);font-size:14px;line-height:1.55;
  max-width:52ch;
}
.auth-state-head-centered{align-items:center;text-align:center}
.auth-state-head-centered p{max-width:48ch}

.auth-back-btn{
  align-self:flex-start;
  display:inline-flex;align-items:center;gap:6px;
  font-size:12px;font-weight:600;color:var(--muted-2);
  padding:4px 8px;border-radius:6px;
  margin-bottom:-6px;
  transition:all .15s ease;
}
.auth-back-btn:hover{color:var(--green);background:var(--green-soft)}
.auth-back-btn .ic{width:13px;height:13px}

/* ---------- Form ---------- */
.auth-form{display:flex;flex-direction:column;gap:16px}

.auth-grid-2{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;
}

.auth-field{display:flex;flex-direction:column;gap:6px}
.auth-field label{
  font-size:12px;font-weight:600;color:var(--ink-2);
  letter-spacing:.02em;
}
.auth-input-wrap{
  position:relative;
  display:flex;align-items:center;
}
.auth-input-wrap .auth-input-ic{
  position:absolute;left:14px;
  color:var(--muted-2);
  pointer-events:none;
}
.auth-input-wrap input,
.auth-input-wrap select{
  width:100%;
  padding:12px 14px 12px 42px;
  background:var(--cream-2);
  border:1px solid transparent;
  border-radius:var(--radius);
  font-size:14px;color:var(--ink);
  font-family:inherit;
  outline:0;
  transition:border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.auth-input-wrap input::placeholder{color:var(--muted-2)}
.auth-input-wrap select{
  appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1 L6 6 L11 1' stroke='%236E6049' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat;
  background-position:right 16px center;
  padding-right:36px;
  cursor:pointer;
}
.auth-input-wrap input:hover,
.auth-input-wrap select:hover{
  border-color:var(--line);
}
.auth-input-wrap input:focus,
.auth-input-wrap select:focus{
  background:var(--paper);
  border-color:var(--green);
  box-shadow:0 0 0 4px rgba(45,74,43,.10);
}

.auth-pass-toggle{
  position:absolute;right:8px;
  width:34px;height:34px;border-radius:50%;
  display:grid;place-items:center;
  color:var(--muted-2);
  transition:all .15s ease;
}
.auth-pass-toggle:hover{background:var(--green-soft);color:var(--green)}
.auth-pass-toggle .ic{width:18px;height:18px}
.auth-pass-toggle.is-show{color:var(--green)}

.auth-field-error{
  font-size:12px;color:#B33B22;
  min-height:16px;
  display:flex;align-items:center;gap:4px;
}
.auth-field-error:empty{display:none}
.auth-field-error::before{
  content:"⚠";font-size:11px;
}
.auth-field.has-error .auth-input-wrap input,
.auth-field.has-error .auth-input-wrap select{
  border-color:#B33B22;
  background:rgba(179,59,34,.04);
}
.auth-field.has-error .auth-input-wrap input:focus,
.auth-field.has-error .auth-input-wrap select:focus{
  box-shadow:0 0 0 4px rgba(179,59,34,.10);
}
.auth-field.is-valid .auth-input-wrap input,
.auth-field.is-valid .auth-input-wrap select{
  border-color:var(--green);
}

/* ---------- Row (remember / forgot) ---------- */
.auth-row{
  display:flex;align-items:center;justify-content:space-between;
  margin-top:-4px;
}

/* ---------- Checkbox custom ---------- */
.auth-check{
  display:inline-flex;align-items:center;gap:10px;
  font-size:13px;color:var(--ink-2);
  cursor:pointer;
  user-select:none;
  line-height:1.4;
}
.auth-check input{position:absolute;opacity:0;pointer-events:none}
.auth-check-box{
  flex:0 0 auto;
  width:18px;height:18px;border-radius:5px;
  background:var(--paper);
  border:1.5px solid var(--line);
  display:grid;place-items:center;
  transition:all .15s ease;
}
.auth-check-box .ic{
  width:12px;height:12px;
  color:var(--cream);
  opacity:0;transform:scale(.6);
  transition:all .15s ease;
}
.auth-check:hover .auth-check-box{border-color:var(--green)}
.auth-check input:checked + .auth-check-box{
  background:var(--green);border-color:var(--green);
}
.auth-check input:checked + .auth-check-box .ic{opacity:1;transform:scale(1)}
.auth-check input:focus-visible + .auth-check-box{box-shadow:0 0 0 4px rgba(45,74,43,.12)}

.auth-inline-link{color:var(--clay-2);font-weight:600;border-bottom:1px dashed var(--clay)}
.auth-inline-link:hover{color:var(--clay);border-bottom-style:solid}
.auth-opt{font-style:normal;color:var(--muted);font-size:11.5px;font-weight:500;margin-left:4px}

/* ---------- Buttons ---------- */
.btn-auth{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:13px 22px;border-radius:999px;
  font-size:14px;font-weight:600;
  border:1px solid transparent;
  transition:transform .15s ease, box-shadow .2s ease, background .2s ease;
  font-family:inherit;
  cursor:pointer;
  line-height:1;
  position:relative;
}
.btn-auth:disabled{opacity:.6;cursor:not-allowed;transform:none !important}
.btn-auth-primary{
  background:var(--green);color:var(--cream);
  box-shadow:0 8px 20px rgba(45,74,43,.22);
  width:100%;
}
.btn-auth-primary:hover:not(:disabled){
  background:var(--green-2);
  transform:translateY(-1px);
  box-shadow:0 12px 28px rgba(45,74,43,.28);
}
.btn-auth-primary:active{transform:translateY(0)}
.btn-auth-primary .ic{width:16px;height:16px;flex:0 0 auto}
.btn-auth .btn-ic-end{transition:transform .2s ease}
.btn-auth:hover:not(:disabled) .btn-ic-end{transform:translateX(3px)}

.btn-auth-social{
  background:var(--paper);color:var(--ink-2);
  border-color:var(--line);
  flex:1 1 0;min-width:0;
}
.btn-auth-social:hover{border-color:var(--green);color:var(--green);background:var(--paper)}
.btn-auth-social .ic{width:18px;height:18px;color:currentColor}

/* Loading state on submit */
.btn-auth.is-loading{pointer-events:none}
.btn-auth.is-loading .btn-label{opacity:0}
.btn-auth.is-loading::after{
  content:"";position:absolute;
  width:18px;height:18px;
  border:2px solid rgba(255,253,248,.3);
  border-top-color:var(--cream);
  border-radius:50%;
  animation:spin .8s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- Divider ---------- */
.auth-divider{
  display:flex;align-items:center;gap:14px;
  margin:6px 0;
}
.auth-divider::before,
.auth-divider::after{
  content:"";flex:1;height:1px;
  background:var(--line-soft);
}
.auth-divider span{
  font-size:12px;color:var(--muted);
  text-transform:uppercase;letter-spacing:.08em;font-weight:600;
}

/* ---------- Social row ---------- */
.auth-social{display:flex;gap:10px;flex-wrap:wrap}

/* ---------- Foot / link ---------- */
.auth-foot{
  text-align:center;margin:6px 0 0;
  font-size:13px;color:var(--muted);
}
.auth-foot-spaced{margin-top:24px;padding-top:20px;border-top:1px dashed var(--line-soft)}
.auth-link{
  background:transparent;color:var(--clay-2);
  font-weight:600;font-size:13px;
  cursor:pointer;border:0;padding:0;
  font-family:inherit;
  transition:color .15s ease;
}
.auth-link:hover{color:var(--clay)}
.auth-link-strong{color:var(--green)}
.auth-link-strong:hover{color:var(--green-2);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.auth-link .ic{width:13px;height:13px;vertical-align:-2px;margin-right:2px}

/* ============================================================
   ROLE SELECTION (signup)
   ============================================================ */
.auth-roles{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;
}
.auth-role{cursor:pointer;display:block}
.auth-role input{position:absolute;opacity:0;pointer-events:none}
.auth-role-card{
  position:relative;
  padding:22px 22px 24px;
  background:var(--paper);
  border:1.5px solid var(--line-soft);
  border-radius:var(--radius-lg);
  display:flex;flex-direction:column;gap:10px;
  transition:all .2s ease;
  height:100%;
}
.auth-role:hover .auth-role-card{
  border-color:var(--green);
  transform:translateY(-2px);
  box-shadow:var(--shadow-2);
}
.auth-role-head{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:4px;
}
.auth-role-ico{
  width:48px;height:48px;border-radius:14px;
  background:var(--green-soft);color:var(--green);
  display:grid;place-items:center;
  transition:all .2s ease;
}
.auth-role-ico .ic{width:24px;height:24px}
.auth-role-ico-farmer{background:var(--gold-soft);color:var(--gold-2)}
.auth-role-check{
  width:24px;height:24px;border-radius:50%;
  border:1.5px solid var(--line);
  display:grid;place-items:center;
  background:var(--paper);
  transition:all .2s ease;
}
.auth-role-check .ic{width:14px;height:14px;color:var(--cream);opacity:0;transform:scale(.5)}
.auth-role-card h3{
  font-family:var(--ff-serif);font-size:18px;font-weight:600;
  margin:0;color:var(--ink);
}
.auth-role-card p{
  margin:0;font-size:13px;color:var(--muted);line-height:1.5;
}
.auth-role-tag{
  display:inline-block;
  font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:4px 10px;border-radius:999px;
  background:var(--cream-3);color:var(--ink-2);
  align-self:flex-start;
  margin-top:auto;
}
.auth-role input:checked + .auth-role-card{
  background:linear-gradient(180deg,rgba(45,74,43,.04),var(--paper));
  border-color:var(--green);
  border-width:2px;
  box-shadow:0 12px 28px rgba(45,74,43,.18);
}
.auth-role input:checked + .auth-role-card .auth-role-check{
  background:var(--green);border-color:var(--green);
}
.auth-role input:checked + .auth-role-card .auth-role-check .ic{opacity:1;transform:scale(1)}
.auth-role input:focus-visible + .auth-role-card{box-shadow:0 0 0 4px rgba(45,74,43,.12),var(--shadow-2)}

/* ============================================================
   CHIPS SELECT (multi-select for farmer products)
   ============================================================ */
.auth-chips-select{
  display:flex;flex-wrap:wrap;gap:8px;
}
.auth-chip-select{
  cursor:pointer;
  display:inline-block;
  position:relative;
}
.auth-chip-select input{position:absolute;opacity:0;pointer-events:none}
.auth-chip-select span{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 14px;border-radius:999px;
  background:var(--cream-2);color:var(--ink-2);
  border:1px solid transparent;
  font-size:13px;font-weight:600;
  transition:all .15s ease;
  user-select:none;
}
.auth-chip-select:hover span{background:var(--green-soft);color:var(--green)}
.auth-chip-select input:checked + span{
  background:var(--green);color:var(--cream);
  box-shadow:0 6px 14px rgba(45,74,43,.18);
}
.auth-chip-select input:focus-visible + span{box-shadow:0 0 0 4px rgba(45,74,43,.12)}

/* ============================================================
   ONBOARDING (success state)
   ============================================================ */
.auth-state-success{text-align:center}
.auth-success-mark{
  width:64px;height:64px;border-radius:50%;
  margin:0 auto 18px;
  background:linear-gradient(135deg,var(--green),var(--green-2));
  color:var(--cream);
  display:grid;place-items:center;
  box-shadow:0 12px 28px rgba(45,74,43,.28);
  animation:pop .5s ease;
}
.auth-success-mark .ic{width:32px;height:32px}
@keyframes pop{
  0%{transform:scale(.5);opacity:0}
  60%{transform:scale(1.08)}
  100%{transform:scale(1);opacity:1}
}

.auth-steps{
  display:flex;flex-direction:column;gap:10px;
  margin:24px 0 28px;
  padding:0;list-style:none;
  text-align:left;
}
.auth-step{
  display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:center;
  padding:12px 16px;
  background:var(--cream-2);
  border:1px dashed var(--line-soft);
  border-radius:var(--radius);
  transition:all .2s ease;
}
.auth-step.is-done{
  background:rgba(45,74,43,.06);
  border-color:rgba(45,74,43,.22);
  border-style:solid;
}
.auth-step-num{
  width:30px;height:30px;border-radius:50%;
  display:grid;place-items:center;
  background:var(--paper);color:var(--muted);
  font-size:12px;font-weight:700;
  border:1px solid var(--line-soft);
}
.auth-step.is-done .auth-step-num{
  background:var(--green);color:var(--cream);
  border-color:var(--green);
}
.auth-step strong{display:block;font-size:13.5px;color:var(--ink-2);font-weight:600}
.auth-step em{display:block;font-size:11.5px;color:var(--muted);font-style:normal;margin-top:2px}
.auth-step-check{width:18px;height:18px;color:var(--green)}
.auth-step:not(.is-done) .auth-step-check{display:none}

/* ============================================================
   MICROCOPY (below card)
   ============================================================ */
.auth-microcopy{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  margin:0 auto;
  font-size:12px;color:var(--muted);
  text-align:center;
}
.auth-microcopy .ic{width:14px;height:14px;color:var(--green)}
.auth-microcopy strong{color:var(--ink-2);font-weight:600}

/* ============================================================
   RIGHT COLUMN — brand visual
   ============================================================ */
.auth-brand-col{
  position:relative;
  border-radius:var(--radius-xl);
  padding:48px 44px;
  overflow:hidden;
  min-height:680px;
  display:flex;align-items:center;
  isolation:isolate;
}
.auth-brand-bg{
  position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(135deg,var(--green) 0%,var(--green-2) 60%,#0F1F11 100%);
  border-radius:var(--radius-xl);
  overflow:hidden;
}
.auth-brand-pattern{
  position:absolute;inset:0;
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='90' height='90' viewBox='0 0 90 90'><g fill='none' stroke='%23FBF6EA' stroke-width='0.7' opacity='.22'><path d='M45 12 L57 24 L45 36 L33 24 Z'/><path d='M15 45 L27 57 L15 69 L3 57 Z'/><path d='M75 45 L87 57 L75 69 L63 57 Z'/><path d='M45 42 L48 45 L45 48 L42 45 Z'/><circle cx='45' cy='45' r='1.4' fill='%23FBF6EA'/><path d='M0 45 L12 45 M78 45 L90 45 M45 0 L45 12 M45 78 L45 90'/><path d='M18 18 L24 24 M72 18 L66 24 M18 72 L24 66 M72 72 L66 66'/></g></svg>");
  background-size:100px 100px;
  opacity:.5;
}
.auth-brand-glow{
  position:absolute;
  top:-30%;right:-10%;
  width:500px;height:500px;border-radius:50%;
  background:radial-gradient(circle, rgba(201,169,97,.25), transparent 70%);
  pointer-events:none;
}

.auth-brand-inner{
  position:relative;z-index:2;
  color:var(--cream);
  display:flex;flex-direction:column;gap:18px;
  max-width:480px;
}

.auth-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:6px 14px;border-radius:999px;
  background:rgba(251,246,234,.10);
  color:var(--cream);
  border:1px solid rgba(251,246,234,.18);
  backdrop-filter:blur(4px);
  align-self:flex-start;
}
.auth-eyebrow .ic{width:14px;height:14px}

.auth-headline{
  font-family:var(--ff-serif);
  font-size:42px;font-weight:600;
  line-height:1.1;letter-spacing:-.02em;
  margin:0;color:var(--cream);
}
.auth-headline-accent{
  display:block;
  background:linear-gradient(90deg,var(--gold) 0%,#E5C887 100%);
  -webkit-background-clip:text;background-clip:text;
  color:transparent;
  font-style:italic;
}
.auth-lead{
  font-size:15.5px;line-height:1.6;color:rgba(251,246,234,.85);
  margin:0;max-width:46ch;
}

.auth-badges{
  display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;
  list-style:none;padding:0;margin:6px 0 0;
}
.auth-badges li{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;color:rgba(251,246,234,.92);
  font-weight:500;
}
.auth-badges .ic{
  width:18px;height:18px;color:var(--gold);
  flex:0 0 auto;
}

/* ---------- Illustration card ---------- */
.auth-illustration{
  position:relative;
  margin-top:14px;
  min-height:300px;
}
.auth-illust-card{
  background:rgba(251,246,234,.96);
  border-radius:var(--radius-lg);
  padding:18px;
  display:flex;flex-direction:column;gap:14px;
  box-shadow:0 24px 60px rgba(0,0,0,.30),0 0 0 1px rgba(251,246,234,.10);
  color:var(--ink);
  position:relative;z-index:1;
}

.auth-illust-top{
  display:flex;flex-direction:column;gap:10px;
  padding-bottom:14px;
  border-bottom:1px dashed var(--line-soft);
}
.auth-illust-farmer{
  display:flex;align-items:center;gap:10px;
}
.auth-illust-avatar{
  width:36px;height:36px;border-radius:50%;
  background:linear-gradient(135deg,var(--green),var(--green-2));
  color:var(--cream);
  display:grid;place-items:center;flex:0 0 auto;
}
.auth-illust-avatar .ic{width:18px;height:18px}
.auth-illust-farmer strong{display:block;font-size:13.5px;color:var(--ink);font-weight:600}
.auth-illust-farmer em{display:block;font-size:11.5px;color:var(--muted);font-style:normal}
.auth-illust-status{
  margin-left:auto;
  display:inline-flex;align-items:center;gap:6px;
  font-size:11px;font-weight:700;
  color:var(--green);
  padding:3px 8px;border-radius:999px;
  background:var(--green-soft);
}
.auth-illust-status .dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--green);
  animation:pulse-dot 1.6s ease-in-out infinite;
}
@keyframes pulse-dot{0%,100%{opacity:1}50%{opacity:.4}}

.auth-illust-badges{display:flex;gap:6px;flex-wrap:wrap}
.auth-illust-badge{
  display:inline-flex;align-items:center;gap:5px;
  font-size:10.5px;font-weight:700;letter-spacing:.04em;
  padding:4px 9px;border-radius:999px;
  text-transform:uppercase;
}
.auth-illust-badge .ic{width:12px;height:12px}
.auth-illust-badge-ai{
  background:linear-gradient(135deg,var(--clay),var(--clay-2));
  color:var(--cream);
  animation:glow 2s ease-in-out infinite;
}
@keyframes glow{0%,100%{box-shadow:0 0 0 0 rgba(196,93,61,.4)}50%{box-shadow:0 0 0 6px rgba(196,93,61,0)}}
.auth-illust-badge-season{
  background:var(--green-soft);color:var(--green);
}

.auth-illust-basket{
  display:flex;flex-direction:column;gap:10px;
}
.auth-illust-basket-head{
  display:flex;justify-content:space-between;align-items:center;
  font-size:12px;color:var(--muted);
}
.auth-illust-basket-head strong{
  display:inline-flex;align-items:center;gap:6px;
  font-size:13px;color:var(--ink-2);font-weight:600;
}
.auth-illust-basket-head strong .ic{width:14px;height:14px;color:var(--clay)}

.auth-illust-items{
  display:grid;grid-template-columns:repeat(5,1fr);gap:8px;
  padding:10px;background:var(--cream-2);border-radius:var(--radius);
}
.auth-illust-item{
  aspect-ratio:1;
  display:grid;place-items:center;
  background:var(--paper);
  border-radius:var(--radius-sm);
  border:1px solid var(--line-soft);
  padding:6px;
  transition:transform .2s ease;
}
.auth-illust-item:hover{transform:translateY(-2px) rotate(-2deg)}
.auth-illust-item svg{width:100%;height:100%;max-width:32px}

.auth-illust-basket-foot{
  display:flex;justify-content:space-between;align-items:center;
  font-size:13px;color:var(--ink-2);
  padding-top:8px;border-top:1px dashed var(--line-soft);
}
.auth-illust-basket-foot strong{
  font-family:var(--ff-serif);font-size:18px;color:var(--ink);font-weight:700;
}

.auth-illust-kpis{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;
  padding-top:12px;border-top:1px dashed var(--line-soft);
}
.auth-illust-kpi{
  background:var(--cream-2);
  padding:10px;border-radius:var(--radius-sm);
  text-align:center;
  display:flex;flex-direction:column;gap:2px;
}
.auth-illust-kpi-label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.auth-illust-kpi-val{font-family:var(--ff-serif);font-size:20px;font-weight:700;color:var(--ink);line-height:1}
.auth-illust-kpi-trend{font-size:10.5px;color:var(--green);font-weight:600}

/* Floating decorations around illustration */
.auth-illust-float{
  position:absolute;
  background:var(--paper);
  border-radius:var(--radius);
  padding:10px 14px;
  box-shadow:0 12px 28px rgba(0,0,0,.22);
  display:flex;align-items:center;gap:10px;
  max-width:230px;
  animation:float 6s ease-in-out infinite;
}
.auth-illust-float-ico{
  width:32px;height:32px;border-radius:50%;
  background:var(--clay-soft);color:var(--clay);
  display:grid;place-items:center;flex:0 0 auto;
}
.auth-illust-float-ico .ic{width:16px;height:16px}
.auth-illust-float strong{display:block;font-size:12px;color:var(--ink);font-weight:600;line-height:1.2}
.auth-illust-float em{display:block;font-size:11px;color:var(--muted);font-style:normal;margin-top:2px}
.auth-illust-float-msg{
  top:-10px;right:-30px;
  z-index:2;
  animation-delay:-2s;
}
.auth-illust-float-msg .auth-illust-float-ico{background:var(--clay-soft);color:var(--clay)}
.auth-illust-float-deliv{
  bottom:-10px;left:-30px;
  z-index:2;
  animation-delay:-4s;
}
.auth-illust-float-deliv .auth-illust-float-ico{background:var(--green-soft);color:var(--green)}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* Quotes */
.auth-quotes{
  margin-top:24px;
  display:flex;flex-direction:column;gap:10px;
}
.auth-quotes p{
  margin:0;font-size:13.5px;
  font-style:italic;
  color:rgba(251,246,234,.78);
  padding-left:14px;border-left:2px solid rgba(201,169,97,.5);
}
.auth-quotes em{font-style:italic}

/* ============================================================
   TOAST
   ============================================================ */
.auth-toast{
  position:fixed;bottom:30px;left:50%;
  transform:translateX(-50%) translateY(20px);
  background:var(--ink);color:var(--cream);
  padding:12px 22px;border-radius:999px;
  font-size:13px;font-weight:600;
  box-shadow:var(--shadow-3);
  opacity:0;pointer-events:none;
  transition:opacity .3s ease, transform .3s ease;
  z-index:200;
  max-width:90vw;text-align:center;
}
.auth-toast.is-show{opacity:1;transform:translateX(-50%) translateY(0)}
.auth-toast.is-success{background:var(--green)}
.auth-toast.is-error{background:#B33B22}
.auth-toast.is-info{background:var(--voronet)}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1080px){
  .auth-grid{grid-template-columns:1fr;gap:32px}
  .auth-brand-col{padding:36px 32px;min-height:480px}
  .auth-headline{font-size:36px}
  .auth-illustration{max-width:520px;margin:14px auto 0}
  .auth-illust-float-msg{right:-10px}
  .auth-illust-float-deliv{left:-10px}
}
@media (max-width:760px){
  .auth-header{padding:14px 0}
  .auth-header-inner{padding:0 18px}
  .auth-grid{padding:0 18px;gap:24px}
  .auth-form-col{max-width:none;justify-self:stretch}
  .auth-card{padding:24px 22px;border-radius:var(--radius-lg)}
  .auth-state-head h1{font-size:26px}
  .auth-grid-2{grid-template-columns:1fr;gap:16px}
  .auth-roles{grid-template-columns:1fr;gap:12px}
  .auth-social{flex-direction:column}
  .btn-auth-social{width:100%}
  .auth-brand-col{padding:30px 24px;border-radius:var(--radius-lg)}
  .auth-headline{font-size:30px}
  .auth-lead{font-size:14px}
  .auth-badges{grid-template-columns:1fr}
  .auth-illust-float{display:none}
  .auth-illustration{min-height:0}
  .auth-illust-card{padding:14px}
  .auth-illust-items{grid-template-columns:repeat(5,1fr);gap:6px}
}
@media (max-width:480px){
  .auth-card{padding:20px 18px}
  .auth-tabs{padding:4px}
  .auth-tab{padding:9px 8px;font-size:12px;gap:6px}
  .auth-tab .ic{width:14px;height:14px}
  .auth-input-wrap input,
  .auth-input-wrap select{padding:11px 14px 11px 38px;font-size:13.5px}
  .auth-illust-kpis{grid-template-columns:1fr}
  .auth-illust-items{grid-template-columns:repeat(3,1fr)}
}
