/* SaloCart V5.2.5 — compact professional authentication */
.auth-sheet { width:min(480px, calc(100vw - 24px)); }
.auth-sheet .sheet-head { min-height:42px; justify-content:flex-end; padding:10px 12px 0; border:0; }
.auth-sheet .sheet-head > div { display:none; }
.auth-sheet .close-sheet { width:34px; height:34px; border-radius:11px; color:var(--sc-muted,#62756a); background:var(--sc-surface-alt,#f5f8f6); }
.auth-sheet .close-sheet:hover { color:var(--sc-ink,#123124); background:var(--sc-mint,#e6f5ed); }
.auth-sheet .sheet-body { padding:0 22px 22px; }
.auth-card { display:grid; gap:16px; }
.auth-brand-header { display:flex; align-items:center; gap:10px; min-width:0; padding-bottom:14px; border-bottom:1px solid var(--sc-line,rgba(12,62,42,.12)); }
.auth-brand-header img { width:44px; height:44px; flex:0 0 44px; object-fit:contain; border-radius:13px; background:#fff; box-shadow:0 8px 18px rgba(7,84,58,.13); }
.auth-brand-header div { display:grid; min-width:0; gap:1px; }
.auth-brand-header strong { color:var(--sc-ink,#0d3022); font-family:var(--font-display,Sora,system-ui,sans-serif); font-size:1.08rem; font-weight:800; letter-spacing:-.055em; }
.auth-brand-header span { overflow:hidden; color:var(--sc-muted,#62756a); font-size:.71rem; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.auth-intro { display:grid; gap:5px; }
.auth-eyebrow { display:inline-flex; align-items:center; gap:5px; color:var(--sc-green,#0A6C48); font-size:.64rem; font-weight:800; letter-spacing:.085em; text-transform:uppercase; }
.auth-eyebrow i { font-size:.78rem; }
.auth-intro h3 { margin:0; color:var(--sc-ink,#0d3022); font-family:var(--font-display,Sora,system-ui,sans-serif); font-size:1.36rem; font-weight:800; letter-spacing:-.06em; }
.auth-intro p { margin:0; max-width:44ch; color:var(--sc-ink-soft,#50675c); font-size:.78rem; line-height:1.55; }
.auth-tabs { display:grid; grid-template-columns:1fr 1fr; gap:4px; padding:4px; border:1px solid var(--sc-line,rgba(12,62,42,.12)); border-radius:13px; background:var(--sc-surface-alt,#f5f8f6); }
.auth-tab { min-height:38px; border:0; border-radius:9px; color:var(--sc-muted,#62756a); background:transparent; font-family:var(--font-body,Manrope,system-ui,sans-serif); font-size:.76rem; font-weight:800; transition:background-color .16s ease,color .16s ease,box-shadow .16s ease; }
.auth-tab:hover { color:var(--sc-green,#0A6C48); }
.auth-tab.is-active { color:#fff; background:var(--sc-green,#0A6C48); box-shadow:0 5px 10px rgba(7,84,58,.16); }
.auth-tab:focus-visible,.auth-password-toggle:focus-visible { outline:3px solid color-mix(in srgb,var(--sc-green,#0A6C48) 35%,transparent); outline-offset:2px; }
.auth-form { display:grid; gap:12px; }
.auth-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.auth-field { display:grid; gap:5px; min-width:0; }
.auth-field > label { color:var(--sc-ink,#0d3022); font-size:.71rem; font-weight:800; }
.auth-field > label span { color:var(--sc-muted,#62756a); font-size:.62rem; font-weight:650; }
.auth-field .form-control { min-height:43px; border-color:var(--sc-line,rgba(12,62,42,.16)); border-radius:11px; color:var(--sc-ink,#0d3022); background:var(--sc-surface,#fff); font-size:.82rem; box-shadow:none; }
.auth-field .form-control::placeholder { color:color-mix(in srgb,var(--sc-muted,#62756a) 76%,transparent); }
.auth-field .form-control:focus { border-color:var(--sc-green,#0A6C48); box-shadow:0 0 0 3px color-mix(in srgb,var(--sc-green,#0A6C48) 14%,transparent); }
.auth-password-control { position:relative; }
.auth-password-control .form-control { padding-right:45px; }
.auth-password-toggle { position:absolute; top:50%; right:5px; display:grid; place-items:center; width:34px; height:34px; transform:translateY(-50%); border:0; border-radius:9px; color:var(--sc-muted,#62756a); background:transparent; font-size:1rem; }
.auth-password-toggle:hover { color:var(--sc-green,#0A6C48); background:var(--sc-mint,#e6f5ed); }
.auth-field-hint { color:var(--sc-muted,#62756a); font-size:.64rem; line-height:1.38; }
.auth-submit { display:flex; align-items:center; justify-content:space-between; min-height:46px; margin-top:2px; padding-inline:15px; border-radius:12px; font-size:.8rem; font-weight:800; }
.auth-submit i { font-size:1rem; transition:transform .16s ease; }
.auth-submit:hover i { transform:translateX(2px); }
.auth-assurance { display:flex; align-items:flex-start; gap:6px; margin:0; color:var(--sc-muted,#62756a); font-size:.66rem; line-height:1.45; }
.auth-assurance i { margin-top:1px; color:var(--sc-green,#0A6C48); font-size:.83rem; }
[data-theme="dark"] .auth-brand-header img { background:#fff; }
[data-theme="dark"] .auth-tabs { background:color-mix(in srgb,var(--sc-surface,#16271f) 90%,#000); }
@media (max-width:575px) {
  .auth-sheet { width:min(100vw - 16px, 480px); }
  .auth-sheet .sheet-head { min-height:38px; padding:8px 10px 0; }
  .auth-sheet .sheet-body { padding:0 15px calc(16px + env(safe-area-inset-bottom)); }
  .auth-card { gap:14px; }
  .auth-brand-header { padding-bottom:12px; }
  .auth-intro h3 { font-size:1.24rem; }
  .auth-intro p { font-size:.74rem; }
  .auth-form-grid { grid-template-columns:1fr; gap:12px; }
  .auth-field .form-control { min-height:44px; font-size:.84rem; }
  .auth-submit { min-height:47px; }
}
@media (max-width:360px) {
  .auth-sheet .sheet-body { padding-inline:13px; }
  .auth-brand-header img { width:40px; height:40px; flex-basis:40px; border-radius:12px; }
  .auth-brand-header strong { font-size:1rem; }
  .auth-brand-header span { font-size:.65rem; }
  .auth-intro h3 { font-size:1.16rem; }
}
@media (prefers-reduced-motion:reduce) {
  .auth-tab,.auth-submit i { transition:none; }
}
