 :root{
    --ink:#1B2A4A; --paper:#F4F6F8; --card:#FFFFFF; --amber:#E8A33D; --amber-dark:#C8862A;
    --teal:#2E8B87; --muted:#667085; --line:#E1E5EA; --purple:#7C5CBF;
  }
  *{box-sizing:border-box;}
  html,body{height:100%;}
  body{font-family:'Inter',sans-serif;color:var(--ink);background:var(--paper);margin:0;}
  h1,h2,h3,.display-font{font-family:'Fraunces',serif;}
  .mono{font-family:'JetBrains Mono',monospace;letter-spacing:.02em;}
  .eyebrow{font-family:'JetBrains Mono',monospace;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--amber-dark);font-weight:600;}
  :focus-visible{outline:2px solid var(--teal);outline-offset:2px;}
  @media(prefers-reduced-motion:reduce){*{transition:none !important;}}

  .auth-shell{min-height:100vh;display:flex;}
  @media(max-width:960px){.auth-shell{display:block;}}

  /* ---------- Left brand panel ---------- */
  .auth-brand{
    flex:0 0 44%;background:linear-gradient(155deg,#1B2A4A 0%,#132038 100%);
    color:#fff;padding:3rem 3.2rem;position:relative;overflow:hidden;
    display:flex;flex-direction:column;justify-content:space-between;
  }
  @media(max-width:960px){.auth-brand{display:none;}}
  .auth-brand::before{content:"";position:absolute;top:-120px;right:-100px;width:360px;height:360px;background:radial-gradient(circle,rgba(232,163,61,.18) 0%,rgba(232,163,61,0) 70%);}
  .auth-brand::after{content:"";position:absolute;bottom:-140px;left:-100px;width:340px;height:340px;background:radial-gradient(circle,rgba(46,139,135,.16) 0%,rgba(46,139,135,0) 70%);}
  .auth-brand > *{position:relative;z-index:1;}
  .auth-brand .brand-mark{display:inline-flex;align-items:center;gap:.6rem;font-family:'Fraunces',serif;font-weight:600;font-size:1.4rem;color:#fff;text-decoration:none;}
  .auth-brand .brand-mark .tab{width:30px;height:30px;border-radius:7px;background:var(--amber);color:var(--ink);display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-size:.82rem;font-weight:700;}
  .auth-brand h2{font-size:1.9rem;font-weight:600;line-height:1.25;margin:2.2rem 0 1rem;max-width:22rem;}
  .auth-brand p.sub{color:rgba(255,255,255,.6);font-size:.94rem;max-width:22rem;line-height:1.6;}
  .auth-mini-row{display:flex;justify-content:space-between;gap:1rem;margin-top:2.4rem;}
  .auth-mini{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:.9rem 1rem;flex:1;}
  .auth-mini .num{font-family:'Fraunces',serif;font-size:1.5rem;font-weight:700;color:#fff;line-height:1;}
  .auth-mini .lbl{font-family:'JetBrains Mono',monospace;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.5);margin-top:.3rem;}

  /* ---------- Right form panel ---------- */
  .auth-form-panel{flex:1;display:flex;align-items:center;justify-content:center;padding:3rem 1.5rem;}
  .auth-form-wrap{width:100%;max-width:24rem;}
  .auth-form-wrap .mobile-brand{display:none;margin-bottom:2rem;}
  @media(max-width:960px){.auth-form-wrap{padding-top:1rem;} .auth-form-wrap .mobile-brand{display:inline-flex;}}
  .auth-form-wrap h1{font-size:1.75rem;font-weight:600;margin-bottom:.4rem;}
  .auth-form-wrap p.lead-sm{color:var(--muted);font-size:.92rem;margin-bottom:2rem;}
  .form-label-c{font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem;display:block;}
  .form-control-c{
    width:100%;border:1px solid var(--line);border-radius:9px;padding:.7rem .95rem;
    font-size:.92rem;color:var(--ink);background:var(--card);transition:border-color .15s,box-shadow .15s;
  }
  .form-control-c:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(46,139,135,.14);}
  .input-icon-wrap{position:relative;}
  .input-icon-wrap i{position:absolute;left:.95rem;top:50%;transform:translateY(-50%);color:var(--muted);font-size:.9rem;}
  .input-icon-wrap .form-control-c{padding-left:2.5rem;}
  .toggle-eye{position:absolute;right:.9rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--muted);cursor:pointer;font-size:.9rem;padding:0;}
  .field-group{margin-bottom:1.1rem;}
  .row-between{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.4rem;}
  .row-between label{font-size:.85rem;color:var(--muted);display:flex;align-items:center;gap:.45rem;cursor:pointer;}
  .row-between a{font-size:.85rem;color:var(--teal);text-decoration:none;font-weight:600;}
  .row-between a:hover{text-decoration:underline;}
  .btn-ink-full{
    width:100%;background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:9px;
    font-weight:600;padding:.75rem 1rem;font-size:.94rem;transition:background .15s;
  }
  .btn-ink-full:hover{background:#132038;color:#fff;}
  .divider-row{display:flex;align-items:center;gap:.8rem;margin:1.6rem 0;}
  .divider-row .line{flex:1;height:1px;background:var(--line);}
  .divider-row span{font-size:.76rem;color:var(--muted);font-family:'JetBrains Mono',monospace;}
  .btn-social{
    width:100%;border:1px solid var(--line);border-radius:9px;padding:.65rem 1rem;
    background:#fff;color:var(--ink);font-weight:600;font-size:.88rem;display:flex;
    align-items:center;justify-content:center;gap:.6rem;transition:border-color .15s,background .15s;
    margin-bottom: 0.8rem;
  }
  .btn-social:hover{border-color:var(--ink);background:var(--paper);}
  .switch-line{text-align:center;margin-top:1.8rem;font-size:.88rem;color:var(--muted);}
  .switch-line a{color:var(--teal);font-weight:600;text-decoration:none;}
  .switch-line a:hover{text-decoration:underline;}
  .back-home{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--muted);text-decoration:none;margin-bottom:1.6rem;}
  .back-home:hover{color:var(--teal);}
  .error-text{color: #dc3545; font-size: 0.78rem; margin-top: 0.25rem;}
