/* Storefront Auth — compiled companion for auth pages */
.sf-auth-shell{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:1fr;background:var(--color-surface,#fff)}@media(min-width:992px){.sf-auth-shell{grid-template-columns:1fr 1fr}}
.sf-auth-hero{display:none;position:relative;overflow:hidden;background:var(--color-primary,#111);color:var(--color-text-inverse,#fff)}@media(min-width:992px){.sf-auth-hero{display:flex;flex-direction:column;justify-content:space-between;padding:var(--space-10,2.5rem)}}
.sf-auth-hero__bg{position:absolute;inset:0;background:linear-gradient(135deg,rgba(17,17,17,.92) 0%,rgba(17,17,17,.75) 50%,rgba(201,169,98,.35) 100%),url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");z-index:0}
.sf-auth-hero__content{position:relative;z-index:1;max-width:420px}
.sf-auth-hero__logo{font-size:var(--text-3xl,2rem);font-weight:var(--font-bold,700);color:var(--color-text-inverse,#fff);text-decoration:none;letter-spacing:-.03em;display:inline-block;margin-bottom:var(--space-8,2rem)}.sf-auth-hero__logo:hover{color:var(--color-accent,#c9a962)}
.sf-auth-hero__title{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:var(--font-bold,700);line-height:var(--leading-tight,1.25);margin-bottom:var(--space-4,1rem)}
.sf-auth-hero__subtitle{font-size:var(--text-lg,1.125rem);opacity:.85;line-height:var(--leading-relaxed,1.75);margin-bottom:var(--space-8,2rem)}
.sf-auth-hero__features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-4,1rem)}.sf-auth-hero__features li{display:flex;align-items:center;gap:var(--space-3,.75rem);font-size:var(--text-sm,.875rem);opacity:.9}.sf-auth-hero__features li i{font-size:1.25rem;color:var(--color-accent,#c9a962);flex-shrink:0}
.sf-auth-hero__footer{position:relative;z-index:1;font-size:var(--text-xs,.75rem);opacity:.6}
.sf-auth-panel{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--space-6,1.5rem) var(--space-4,1rem);min-height:100vh;min-height:100dvh;background:var(--color-surface-muted,#f8f9fa);position:relative}@media(min-width:992px){.sf-auth-panel{padding:var(--space-8,2rem)}}
.sf-auth-card{width:100%;max-width:440px;background:var(--color-surface,#fff);border-radius:var(--radius-xl,.75rem);padding:var(--space-6,1.5rem);box-shadow:var(--shadow-lg,0 10px 15px rgba(0,0,0,.1));border:1px solid var(--color-border,#dee2e6)}@media(min-width:576px){.sf-auth-card{padding:var(--space-8,2rem)}}
.sf-auth-card__mobile-logo{text-align:center;margin-bottom:var(--space-6,1.5rem)}@media(min-width:992px){.sf-auth-card__mobile-logo{display:none}}.sf-auth-card__mobile-logo a{font-size:var(--text-2xl,1.5rem);font-weight:var(--font-bold,700);color:var(--color-primary,#111);text-decoration:none;letter-spacing:-.03em}
.sf-auth-form__header{text-align:center;margin-bottom:var(--space-6,1.5rem)}.sf-auth-form__header h1{font-size:var(--text-2xl,1.5rem);font-weight:var(--font-bold,700);margin-bottom:var(--space-2,.5rem);color:var(--color-primary,#111)}.sf-auth-form__header p{font-size:var(--text-sm,.875rem);color:var(--color-text-muted,#6c757d);margin:0}
.sf-auth-tabs{display:flex;background:var(--color-surface-muted,#f8f9fa);border-radius:var(--radius-lg,.5rem);padding:4px;margin-bottom:var(--space-6,1.5rem);gap:4px}
.sf-auth-tabs__btn{flex:1;border:none;background:transparent;padding:var(--space-2,.5rem) var(--space-3,.75rem);font-size:var(--text-sm,.875rem);font-weight:var(--font-medium,500);color:var(--color-text-muted,#6c757d);border-radius:var(--radius-md,.375rem);cursor:pointer;transition:all 150ms ease;display:flex;align-items:center;justify-content:center;gap:var(--space-2,.5rem)}.sf-auth-tabs__btn:hover:not(.active){color:var(--color-text,#212529)}.sf-auth-tabs__btn.active{background:var(--color-surface,#fff);color:var(--color-primary,#111);box-shadow:var(--shadow-sm,0 1px 2px rgba(0,0,0,.05))}.sf-auth-tabs__btn:focus-visible{outline:2px solid var(--color-accent,#c9a962);outline-offset:2px}
.sf-form-field{margin-bottom:var(--space-4,1rem)}.sf-form-field__label{display:block;font-size:var(--text-sm,.875rem);font-weight:var(--font-medium,500);margin-bottom:var(--space-2,.5rem);color:var(--color-text,#212529)}.sf-form-field__input-wrap{position:relative;display:flex;align-items:center}.sf-form-field__icon{position:absolute;right:var(--space-3,.75rem);color:var(--color-text-muted,#6c757d);font-size:1rem;pointer-events:none;z-index:1}.sf-form-field__input{width:100%;padding:var(--space-3,.75rem) var(--space-4,1rem);padding-right:calc(var(--space-4,1rem) + 1.5rem);font-size:var(--text-base,1rem);border:1px solid var(--color-border,#dee2e6);border-radius:var(--radius-md,.375rem);background:var(--color-surface,#fff);color:var(--color-text,#212529);transition:border-color 150ms ease,box-shadow 150ms ease}.sf-form-field__input::placeholder{color:var(--color-text-muted,#6c757d);opacity:.7}.sf-form-field__input:focus{outline:none;border-color:var(--color-primary,#111);box-shadow:0 0 0 3px rgba(17,17,17,.08)}.sf-form-field__input.is-invalid{border-color:var(--color-error,#dc3545);box-shadow:0 0 0 3px rgba(220,53,69,.1)}.sf-form-field__input--ltr{direction:ltr;text-align:left}.sf-form-field__toggle{position:absolute;left:var(--space-3,.75rem);background:none;border:none;color:var(--color-text-muted,#6c757d);cursor:pointer;padding:var(--space-1,.25rem);font-size:1.1rem;line-height:1;z-index:1}.sf-form-field__toggle:hover{color:var(--color-primary,#111)}.sf-form-field__error{font-size:var(--text-xs,.75rem);color:var(--color-error,#dc3545);margin-top:var(--space-1,.25rem);display:flex;align-items:center;gap:var(--space-1,.25rem)}.sf-form-field__hint{font-size:var(--text-xs,.75rem);color:var(--color-text-muted,#6c757d);margin-top:var(--space-1,.25rem)}
.sf-otp-input{display:flex;gap:var(--space-2,.5rem);justify-content:center;direction:ltr;margin-bottom:var(--space-4,1rem)}.sf-otp-input__digit{width:44px;height:52px;text-align:center;font-size:var(--text-xl,1.25rem);font-weight:var(--font-semibold,600);border:1px solid var(--color-border,#dee2e6);border-radius:var(--radius-md,.375rem);background:var(--color-surface,#fff);color:var(--color-text,#212529);transition:border-color 150ms ease,box-shadow 150ms ease;-moz-appearance:textfield}.sf-otp-input__digit::-webkit-outer-spin-button,.sf-otp-input__digit::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.sf-otp-input__digit:focus{outline:none;border-color:var(--color-primary,#111);box-shadow:0 0 0 3px rgba(17,17,17,.08)}.sf-otp-input__digit.is-invalid{border-color:var(--color-error,#dc3545);animation:sf-shake .4s ease}.sf-otp-input__digit.is-filled{border-color:var(--color-primary,#111);background:var(--color-surface-muted,#f8f9fa)}
@keyframes sf-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.sf-otp-meta{text-align:center;margin-bottom:var(--space-4,1rem)}.sf-otp-meta__mobile{font-size:var(--text-sm,.875rem);color:var(--color-text-muted,#6c757d)}.sf-otp-meta__mobile strong{color:var(--color-text,#212529);direction:ltr;display:inline-block}.sf-otp-meta__edit{font-size:var(--text-xs,.75rem);color:var(--color-accent,#c9a962);background:none;border:none;cursor:pointer;text-decoration:underline;padding:0;margin-right:var(--space-2,.5rem)}.sf-otp-meta__edit:hover{color:var(--color-accent-hover,#b8984f)}.sf-otp-meta__timer{font-size:var(--text-xs,.75rem);color:var(--color-text-muted,#6c757d);margin-top:var(--space-2,.5rem)}.sf-otp-meta__timer span{font-weight:var(--font-semibold,600);color:var(--color-primary,#111);direction:ltr;display:inline-block}
.sf-auth-alert{border-radius:var(--radius-md,.375rem);padding:var(--space-3,.75rem) var(--space-4,1rem);font-size:var(--text-sm,.875rem);margin-bottom:var(--space-4,1rem);display:flex;align-items:flex-start;gap:var(--space-2,.5rem)}.sf-auth-alert i{flex-shrink:0;margin-top:2px}.sf-auth-alert--success{background:var(--color-success-bg,#d1e7dd);color:#0f5132;border:1px solid rgba(25,135,84,.2)}.sf-auth-alert--error{background:var(--color-error-bg,#f8d7da);color:#842029;border:1px solid rgba(220,53,69,.2)}.sf-auth-alert--info{background:var(--color-info-bg,#cff4fc);color:#055160;border:1px solid rgba(13,202,240,.2)}
.sf-auth-links{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-6,1.5rem);padding-top:var(--space-4,1rem);border-top:1px solid var(--color-border,#dee2e6);font-size:var(--text-sm,.875rem)}.sf-auth-links a{color:var(--color-text-muted,#6c757d);text-decoration:none;transition:color 150ms ease}.sf-auth-links a:hover{color:var(--color-primary,#111)}.sf-auth-links a.primary-link{color:var(--color-primary,#111);font-weight:var(--font-medium,500)}.sf-auth-links a.primary-link:hover{color:var(--color-accent,#c9a962)}
.sf-auth-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3,.75rem);margin-top:var(--space-6,1.5rem);padding-top:var(--space-4,1rem);border-top:1px solid var(--color-border,#dee2e6)}.sf-auth-trust__item{text-align:center}.sf-auth-trust__item i{font-size:1.25rem;color:var(--color-accent,#c9a962);display:block;margin-bottom:var(--space-1,.25rem)}.sf-auth-trust__item span{font-size:var(--text-xs,.75rem);color:var(--color-text-muted,#6c757d);line-height:var(--leading-tight,1.25);display:block}
.sf-auth-remember{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4,1rem)}.sf-auth-remember .form-check{margin:0;padding-right:1.75em}.sf-auth-remember .form-check-input:checked{background-color:var(--color-primary,#111);border-color:var(--color-primary,#111)}.sf-auth-remember .form-check-input:focus{box-shadow:0 0 0 3px rgba(17,17,17,.15)}.sf-auth-remember .form-check-label{font-size:var(--text-sm,.875rem);color:var(--color-text-muted,#6c757d)}.sf-auth-remember a{font-size:var(--text-sm,.875rem);color:var(--color-text-muted,#6c757d);text-decoration:none}.sf-auth-remember a:hover{color:var(--color-primary,#111)}
.sf-btn{position:relative}.sf-btn--loading{color:transparent!important;pointer-events:none}.sf-btn--loading::after{content:'';position:absolute;width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:sf-spin .6s linear infinite}.sf-btn--outline.sf-btn--loading::after{border-color:rgba(17,17,17,.2);border-top-color:var(--color-primary,#111)}
@keyframes sf-spin{to{transform:rotate(360deg)}}
.sf-auth-back{display:inline-flex;align-items:center;gap:var(--space-2,.5rem);font-size:var(--text-sm,.875rem);color:var(--color-text-muted,#6c757d);text-decoration:none;margin-bottom:var(--space-4,1rem);transition:color 150ms ease}.sf-auth-back:hover{color:var(--color-primary,#111)}@media(min-width:992px){.sf-auth-back{position:absolute;top:var(--space-6,1.5rem);right:var(--space-6,1.5rem);margin-bottom:0}}
.sf-auth-pane{animation:sf-fade-in .3s ease}.sf-auth-pane[hidden]{display:none!important}
@keyframes sf-fade-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.sf-toast-container{position:fixed;top:calc(var(--header-height,64px) + var(--space-4,1rem));left:var(--space-4,1rem);z-index:1090;display:flex;flex-direction:column;gap:var(--space-2,.5rem)}.sf-toast{background:var(--color-surface,#fff);border:1px solid var(--color-border,#dee2e6);border-radius:var(--radius-lg,.5rem);padding:var(--space-3,.75rem) var(--space-4,1rem);box-shadow:var(--shadow-lg,0 10px 15px rgba(0,0,0,.1));min-width:280px;animation:sf-slide-in .3s ease}.sf-toast--success{border-right:4px solid var(--color-success,#198754)}.sf-toast--error{border-right:4px solid var(--color-error,#dc3545)}
@keyframes sf-slide-in{from{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:1}}
