/* ============================================================================
   Aari Transactions — Auth UI styles
   Shared by: register.html, login modal, password-reset.html
   Tokens copied from index.html so look stays consistent across all pages.
   ============================================================================ */

:root{
  --bg:#ffffff;
  --surface:#ffffff;
  --soft-bg:#fafaf8;
  --ink:#0f0f0f;
  --ink-2:#262626;
  --muted:#6b6b6b;
  --muted-2:#9a9a9a;
  --line:#e8e8e6;
  --line-2:#d4d4d2;
  --pastel-sage:#a4b8a6;
  --pastel-sage-soft:#eef2ec;
  --pastel-cream:#f0e9da;
  --pastel-blush:#f0e3dd;
  --danger:#b73a3a;
  --danger-soft:#f6e7e5;
  --success:#3d7a4d;
  --shadow-sm:0 1px 2px rgba(23,21,19,0.04), 0 1px 3px rgba(23,21,19,0.06);
  --shadow-md:0 4px 6px rgba(23,21,19,0.04), 0 10px 15px rgba(23,21,19,0.08);
  --shadow-lg:0 20px 25px rgba(23,21,19,0.08), 0 8px 10px rgba(23,21,19,0.04);
  --r-sm:10px; --r-md:16px; --r-lg:22px; --r-xl:30px;
  --serif:'Cormorant Garamond', Georgia, serif;
  --sans:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* ===== BUTTONS ===== */
.aari-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;font-family:var(--sans);font-size:14px;font-weight:600;border-radius:var(--r-sm);text-decoration:none;cursor:pointer;border:1px solid transparent;transition:all 0.18s ease;white-space:nowrap;line-height:1;background:transparent;color:var(--ink)}
.aari-btn:disabled{opacity:0.55;cursor:not-allowed}
.aari-btn.primary{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:0 1px 2px rgba(15,15,15,0.15)}
.aari-btn.primary:hover:not(:disabled){background:#fff;color:var(--ink);transform:translateY(-1px);box-shadow:0 4px 14px rgba(15,15,15,0.12)}
.aari-btn.secondary{background:transparent;color:var(--ink);border-color:var(--ink)}
.aari-btn.secondary:hover:not(:disabled){background:var(--ink);color:#fff}
.aari-btn.ghost{background:transparent;color:var(--ink);border-color:transparent;padding:10px 0}
.aari-btn.ghost:hover:not(:disabled){opacity:0.7}
.aari-btn.lg{padding:17px 32px;font-size:15px}
.aari-btn.full{width:100%}
.aari-btn .arr{font-size:16px;line-height:1}

/* ===== AUTH CARD ===== */
.aari-auth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:42px 44px;box-shadow:var(--shadow-lg);max-width:520px;margin:0 auto;position:relative}
.aari-auth-eyebrow{display:inline-block;font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.aari-auth-title{font-family:var(--serif);font-weight:600;font-size:34px;line-height:1.1;letter-spacing:-0.02em;color:var(--ink);margin-bottom:6px}
.aari-auth-sub{font-size:14px;color:var(--muted);margin-bottom:28px;line-height:1.55}

/* ===== STEPPER ===== */
.aari-stepper{display:flex;align-items:center;justify-content:space-between;gap:0;margin-bottom:32px}
.aari-stepper .step{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;position:relative}
.aari-stepper .dot{width:14px;height:14px;border-radius:50%;background:var(--line-2);border:2px solid var(--line-2);transition:all 0.2s ease;z-index:2}
.aari-stepper .step.active .dot,.aari-stepper .step.done .dot{background:var(--ink);border-color:var(--ink)}
.aari-stepper .lbl{font-size:10px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--muted);text-align:center}
.aari-stepper .step.active .lbl{color:var(--ink)}
.aari-stepper .step:not(:last-child)::after{content:"";position:absolute;top:6px;left:calc(50% + 8px);right:calc(-50% + 8px);height:1px;background:var(--line-2);z-index:1}
.aari-stepper .step.done:not(:last-child)::after{background:var(--ink)}
.aari-step-counter{font-size:11px;color:var(--muted);font-weight:600;letter-spacing:0.6px;text-align:center;margin-top:-22px;margin-bottom:24px}

/* ===== FORM FIELDS ===== */
.aari-field{margin-bottom:18px}
.aari-field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}
.aari-field label,.aari-field-row label{display:block;font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.aari-field label .req,.aari-field-row label .req{color:var(--ink);margin-left:2px}
.aari-field label .opt,.aari-field-row label .opt{color:var(--muted-2);font-weight:500;letter-spacing:0.4px;text-transform:none;margin-left:4px;font-size:11px}
.aari-input,.aari-select{width:100%;padding:13px 14px;font-family:var(--sans);font-size:14px;color:var(--ink);background:#fff;border:1px solid var(--line-2);border-radius:var(--r-sm);transition:border-color 0.15s ease, box-shadow 0.15s ease;line-height:1.4}
.aari-input:focus,.aari-select:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(15,15,15,0.08)}
.aari-input.error,.aari-select.error{border-color:var(--danger);box-shadow:0 0 0 3px rgba(183,58,58,0.08)}
.aari-input::placeholder{color:var(--muted-2)}
.aari-helper{font-size:12px;color:var(--muted);margin-top:6px;line-height:1.5}
.aari-error{font-size:12px;color:var(--danger);margin-top:6px;line-height:1.5}

/* ===== ALERT ===== */
.aari-alert{padding:14px 16px;border-radius:var(--r-sm);font-size:13px;line-height:1.55;margin-bottom:18px}
.aari-alert.error{background:var(--danger-soft);color:var(--danger);border-left:3px solid var(--danger)}
.aari-alert.success{background:var(--pastel-sage-soft);color:var(--success);border-left:3px solid var(--pastel-sage)}

/* ===== MULTI-SELECT (counties) ===== */
.aari-multi{position:relative}
.aari-multi .control{min-height:46px;padding:8px 14px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:#fff;display:flex;flex-wrap:wrap;gap:6px;align-items:center;cursor:pointer}
.aari-multi.open .control,.aari-multi .control:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px rgba(15,15,15,0.08)}
.aari-pill{display:inline-flex;align-items:center;gap:5px;background:var(--pastel-sage-soft);color:var(--ink);font-size:12px;font-weight:600;padding:5px 10px;border-radius:50px;border:1px solid var(--pastel-sage)}
.aari-pill .x{cursor:pointer;font-weight:700;color:var(--muted);font-size:14px;line-height:1;background:none;border:none;padding:0 0 0 2px}
.aari-pill .x:hover{color:var(--ink)}
.aari-multi .placeholder{font-size:13px;color:var(--muted-2);flex:1;border:none;outline:none;background:transparent;font-family:var(--sans);min-width:120px}
.aari-multi .caret{margin-left:auto;color:var(--muted-2);font-size:12px;flex-shrink:0}
.aari-multi .menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--line-2);border-radius:var(--r-sm);box-shadow:var(--shadow-md);max-height:260px;overflow-y:auto;z-index:50;display:none}
.aari-multi.open .menu{display:block}
.aari-multi .menu-section{padding:8px 0}
.aari-multi .menu-section + .menu-section{border-top:1px solid var(--line)}
.aari-multi .menu-head{padding:6px 14px;font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted-2)}
.aari-multi .menu-item{padding:9px 14px;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;color:var(--ink-2)}
.aari-multi .menu-item:hover{background:var(--soft-bg)}
.aari-multi .menu-item.selected{background:var(--pastel-sage-soft);color:var(--ink);font-weight:600}
.aari-multi .menu-item.selected::after{content:"✓";color:var(--success);font-weight:700;margin-left:8px}

/* ===== PASSWORD STRENGTH ===== */
.aari-strength{margin-top:8px;display:flex;gap:4px}
.aari-strength .bar{flex:1;height:4px;background:var(--line);border-radius:2px;transition:background 0.2s ease}
.aari-strength.s1 .bar:nth-child(-n+1){background:var(--danger)}
.aari-strength.s2 .bar:nth-child(-n+2){background:#d29c3a}
.aari-strength.s3 .bar:nth-child(-n+3){background:var(--pastel-sage)}
.aari-strength.s4 .bar{background:var(--success)}

/* ===== ACTIONS ===== */
.aari-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:28px}
.aari-actions.right{justify-content:flex-end}
.aari-below-actions{margin-top:18px;text-align:center;font-size:13px;color:var(--muted)}
.aari-below-actions a{color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* ===== NOTICE ===== */
.aari-notice{background:var(--pastel-cream);border-left:3px solid var(--ink);border-radius:8px;padding:14px 16px;font-size:13px;color:var(--ink-2);line-height:1.55;display:flex;gap:10px;margin:18px 0 4px}
.aari-notice .icon{font-size:16px;line-height:1.4;flex-shrink:0}
.aari-notice strong{color:var(--ink);font-weight:700}

/* ===== CHECKBOX ===== */
.aari-check{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--ink-2);line-height:1.55;cursor:pointer;margin:14px 0}
.aari-check input[type="checkbox"]{margin-top:2px;width:16px;height:16px;accent-color:var(--ink);flex-shrink:0;cursor:pointer}
.aari-check a{color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* ===== LOGIN MODAL OVERLAY ===== */
.aari-modal-overlay{position:fixed;inset:0;background:rgba(15,15,15,0.55);backdrop-filter:blur(4px);z-index:1000;display:none;align-items:center;justify-content:center;padding:24px;opacity:0;transition:opacity 0.18s ease}
.aari-modal-overlay.open{display:flex;opacity:1}
.aari-modal-card{background:#fff;border-radius:var(--r-xl);padding:38px 40px;max-width:440px;width:100%;box-shadow:0 30px 60px rgba(0,0,0,0.3);position:relative;max-height:calc(100vh - 48px);overflow-y:auto;transform:translateY(8px);transition:transform 0.2s ease}
.aari-modal-overlay.open .aari-modal-card{transform:translateY(0)}
.aari-modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;border:none;background:transparent;font-size:22px;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}
.aari-modal-close:hover{background:var(--soft-bg);color:var(--ink)}

/* Loading spinner */
.aari-spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:aari-spin 0.7s linear infinite}
@keyframes aari-spin{to{transform:rotate(360deg)}}

/* Mobile */
@media (max-width:600px){
  .aari-auth-card{padding:32px 24px}
  .aari-field-row{grid-template-columns:1fr}
  .aari-auth-title{font-size:28px}
  /* Hide stepper labels at <600px · 4 labels (IDENTITY/LICENSE/BROKERAGE/AGREEMENT)
     overflow the iPhone SE viewport. Keep dots + connecting line + step counter
     for orientation. Applies to register.html + in-modal Path B v2. */
  .aari-stepper{margin-bottom:14px}
  .aari-stepper .lbl{display:none}
  .aari-stepper .dot{width:10px;height:10px}
  .aari-stepper .step:not(:last-child)::after{top:5px}
  .aari-modal-card{padding:32px 24px}
}
