  /* ---- AUTH ---- */
  .auth-wrap{max-width:420px;margin:40px auto 0;}
  .auth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px 30px;}
  .auth-tabs{display:flex;gap:0;margin-bottom:24px;border-bottom:1px solid var(--line-strong);}
  .auth-tab{flex:1;text-align:center;padding:11px 0;cursor:pointer;font-size:13px;letter-spacing:0.4px;color:var(--ink-soft);border-bottom:2px solid transparent;margin-bottom:-1px;}
  .auth-tab.active{color:var(--primary-dark);border-bottom-color:var(--accent);font-weight:700;}
  label{display:block;font-size:12px;letter-spacing:0.4px;color:var(--ink-soft);margin-bottom:6px;}
  input[type=text],input[type=email],input[type=password],textarea,input[type=date],input[type=time],input[type=number]{
    width:100%;padding:11px 12px;border:1px solid var(--line-strong);border-radius:8px;
    font-size:16px;font-family:inherit;background:var(--surface-soft);color:var(--ink);margin-bottom:15px;
  }
  input:focus,textarea:focus,button:focus{outline:2px solid var(--accent);outline-offset:1px;}
  .role-choice{display:flex;gap:10px;margin-bottom:15px;}
  .role-choice label.opt{flex:1;border:1px solid var(--line-strong);border-radius:8px;padding:11px;text-align:center;cursor:pointer;font-size:13px;background:var(--surface-soft);}
  .role-choice input{display:none;}
  .role-choice input:checked + label.opt,.role-choice label.opt.checked{border-color:var(--accent);background:#F4E4D6;font-weight:700;color:var(--accent-dark);}
  .auth-error{background:#F5E1DE;border:1px solid var(--declined);color:var(--declined);font-size:13px;padding:10px 12px;border-radius:8px;margin-bottom:15px;}
  .auth-foot{font-size:12px;color:var(--ink-soft);margin-top:15px;text-align:center;}

