@font-face{font-family:Yekan Bakh FaNum;src:url(/assets/YekanBakhFaNum-Regular-5O8oud7N.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Yekan Bakh FaNum;src:url(/assets/YekanBakhFaNum-Bold-BgJhv14C.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:999px;--font-sans:"Yekan Bakh FaNum", "Vazirmatn", "IRANSans", "Segoe UI", Tahoma, "Noto Sans Arabic", system-ui, -apple-system, sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--leading-normal:1.7;--color-bg:#f6f7f9;--color-surface:#fff;--color-surface-muted:#eef0f4;--color-border:#d8dde5;--color-primary:#0f5f4c;--color-primary-strong:#0b4a3b;--color-primary-soft:#e3f0ec;--color-on-primary:#fff;--color-text:#1c2430;--color-text-muted:#5b6675;--color-text-on-primary:#fff;--color-success:#1a7f4b;--color-success-soft:#e4f4ea;--color-warning:#9a6700;--color-warning-soft:#fdf3d7;--color-error:#b3261e;--color-error-soft:#fdecea;--color-info:#1d5fbf;--color-info-soft:#e8f0fd;--focus-ring:0 0 0 3px #0f5f4c59;--app-max-width:720px;--admin-max-width:1200px;--bottom-nav-height:60px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*,:before,:after{box-sizing:border-box}html{lang:fa;-webkit-text-size-adjust:100%;direction:rtl}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background:var(--color-bg);min-height:100dvh;margin:0}#root{flex-direction:column;min-height:100dvh;display:flex}h1,h2,h3{margin:0 0 var(--space-3);line-height:1.4}p{margin:0 0 var(--space-3)}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm);outline:none}img{max-width:100%;height:auto}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);font-size:var(--text-base);cursor:pointer;border:1px solid #0000;font-weight:600;transition:background-color .15s;display:inline-flex}.btn--primary{background:var(--color-primary);color:var(--color-on-primary)}.btn--primary:hover{background:var(--color-primary-strong)}.btn--secondary{background:var(--color-surface);color:var(--color-primary);border-color:var(--color-border)}.btn--ghost{color:var(--color-primary);background:0 0}.btn--danger{background:var(--color-error);color:#fff}.btn--full{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}.badge{padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);align-items:center;font-weight:600;display:inline-flex}.badge--success{background:var(--color-success-soft);color:var(--color-success)}.badge--warning{background:var(--color-warning-soft);color:var(--color-warning)}.badge--error{background:var(--color-error-soft);color:var(--color-error)}.badge--info{background:var(--color-info-soft);color:var(--color-info)}.badge--neutral{background:var(--color-surface-muted);color:var(--color-text-muted)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4)}.field{gap:var(--space-1);margin-bottom:var(--space-4);flex-direction:column;display:flex}.field__label{font-size:var(--text-sm);font-weight:600}.field__input{min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-base);background:var(--color-surface);color:var(--color-text)}.field__hint{font-size:var(--text-xs);color:var(--color-text-muted);margin:0}.field__error{font-size:var(--text-xs);color:var(--color-error);margin:0}.empty-state{text-align:center;padding:var(--space-7) var(--space-4);background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-lg)}.empty-state__title{font-size:var(--text-lg);margin-bottom:var(--space-2)}.empty-state__desc{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.page-header__title{font-size:var(--text-xl);margin:0}.page-header__subtitle{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.app-shell{min-height:100dvh;max-width:var(--app-max-width);background:var(--color-bg);flex-direction:column;width:100%;margin-inline:auto;display:flex}.app-shell__header{z-index:10;padding:var(--space-3) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.app-shell__brand{color:var(--color-primary);font-weight:700}.app-shell__context{font-size:var(--text-sm);color:var(--color-text-muted)}.app-shell__main{padding:var(--space-4);padding-bottom:calc(var(--bottom-nav-height) + var(--space-5));flex:1}.bottom-nav{bottom:0;z-index:20;background:var(--color-surface);border-top:1px solid var(--color-border);position:fixed;inset-inline:0}.bottom-nav__list{height:var(--bottom-nav-height);justify-content:space-around;margin:0;padding:0;list-style:none;display:flex}.bottom-nav__link{min-width:56px;min-height:48px;color:var(--color-text-muted);font-size:var(--text-xs);flex-direction:column;justify-content:center;align-items:center;gap:2px;text-decoration:none;display:flex}.bottom-nav__link--active{color:var(--color-primary);font-weight:700}.bottom-nav__icon{font-size:var(--text-lg);line-height:1}.admin-shell{flex-direction:column;min-height:100dvh;display:flex}.admin-shell__header{background:var(--color-primary);color:#fff;padding:var(--space-3) var(--space-5);z-index:10;font-weight:700;position:sticky;top:0}.admin-shell__body{max-width:var(--admin-max-width);flex:1;width:100%;margin-inline:auto;display:flex}.admin-shell__nav{border-inline-end:1px solid var(--color-border);width:230px;padding:var(--space-4) var(--space-2);background:var(--color-surface)}.admin-shell__nav ul{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.admin-shell__link{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text);min-height:44px;line-height:28px;text-decoration:none;display:block}.admin-shell__link--active{background:var(--color-primary-soft);color:var(--color-primary-strong);font-weight:700}.admin-shell__main{padding:var(--space-5);flex:1;min-width:0}@media (width<=767px){.admin-shell__nav{border-inline-end:none;border-bottom:1px solid var(--color-border);width:100%}.admin-shell__nav ul{gap:var(--space-2);flex-direction:row;overflow-x:auto}.admin-shell__link{white-space:nowrap}.admin-shell__body{flex-direction:column}}.landing{max-width:var(--app-max-width);padding:var(--space-4);padding-top:calc(var(--space-4) + var(--safe-top));width:100%;margin-inline:auto}.landing__header{margin-bottom:var(--space-6)}.landing__brand{font-size:var(--text-xl);color:var(--color-primary);font-weight:800}.landing__hero{text-align:center;padding:var(--space-6) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-6)}.landing__hero h1{font-size:var(--text-3xl);margin-bottom:var(--space-3)}.landing__tagline{color:var(--color-text-muted);margin-bottom:var(--space-5)}.landing__cta-row{gap:var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}.landing__section{margin-bottom:var(--space-6)}.landing__section h2{font-size:var(--text-xl)}.landing__benefits,.landing__steps{color:var(--color-text);padding-inline-start:var(--space-5)}.landing__benefits li,.landing__steps li{margin-bottom:var(--space-2)}.landing__footer{text-align:center;color:var(--color-text-muted);font-size:var(--text-sm);padding:var(--space-5) 0}.offline-banner{z-index:50;background:var(--color-warning-soft);color:var(--color-warning);text-align:center;padding:var(--space-2);font-size:var(--text-sm);border-bottom:1px solid var(--color-border);position:sticky;top:0}.auth-placeholder{min-height:60dvh;padding:var(--space-4);justify-content:center;align-items:center;display:flex}.auth-note{margin:var(--space-4);padding:var(--space-4);background:var(--color-info-soft);color:var(--color-info);border-radius:var(--radius-md);text-align:center}.not-found{text-align:center;padding-top:var(--space-7)}.not-found h1{font-size:var(--text-3xl)}.auth-page{min-height:100dvh;padding:var(--space-4) var(--space-4) calc(var(--space-4) + var(--safe-bottom));background:var(--bg-subtle,#f6f7f9);justify-content:center;align-items:center;display:flex}.auth-card{background:var(--card,#fff);border:1px solid var(--border,#e2e5ea);width:100%;max-width:420px;padding:var(--space-5) var(--space-4);border-radius:16px;box-shadow:0 8px 30px #0000000f}.auth-card__brand{margin-bottom:var(--space-5);align-items:center;display:flex}.auth-card__title{margin:0;font-size:20px;font-weight:700}.auth-card__subtitle{color:var(--muted-foreground,#667085);margin:2px 0 0;font-size:13px}.auth-card__stepinfo{margin:0 0 var(--space-3);color:var(--foreground,#1a1d21);font-size:14px}.auth-card__countdown{margin:0 0 var(--space-2);color:var(--muted-foreground,#667085);font-variant-numeric:tabular-nums;font-size:13px}.auth-card__meta{margin:var(--space-4) 0 0;text-align:center;color:var(--muted-foreground,#667085);font-size:13px}.auth-card__actions{justify-content:space-between;gap:var(--space-2);margin-top:var(--space-3);display:flex}.auth-error{margin:0 0 var(--space-3);color:#b42318;background:#fdecec;border:1px solid #f5b5b5;border-radius:10px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:13px;display:flex}.auth-error:before{content:"⚠";flex-shrink:0}.auth-notice{margin:0 0 var(--space-3);color:#1f7a3d;background:#e8f4ec;border:1px solid #b7dfc3;border-radius:10px;padding:10px 12px;font-size:13px}.field{margin-bottom:var(--space-4)}.field__label{margin-bottom:6px;font-size:13px;font-weight:600;display:block}.field__input{border:1px solid var(--border,#d0d5dd);width:100%;min-height:48px;color:var(--foreground,#1a1d21);background:#fff;border-radius:10px;padding:12px 14px;font-size:16px}.field__input:focus{outline:2px solid var(--accent,#1f6feb);outline-offset:1px;border-color:var(--accent,#1f6feb)}.field__input--otp{text-align:center;letter-spacing:10px;font-variant-numeric:tabular-nums;font-size:22px}.field__hint{color:var(--muted-foreground,#667085);margin:6px 0 0;font-size:12px}.auth-guard-loading{min-height:100dvh;color:var(--muted-foreground,#667085);place-items:center;font-size:14px;display:grid}.auth-forbidden{text-align:center;min-height:100dvh;padding:var(--space-4);place-items:center;display:grid}.auth-forbidden h2{margin:0 0 8px;font-size:18px}.auth-forbidden p{color:var(--muted-foreground,#667085);margin:0;font-size:14px}.app-shell__logout{border:1px solid var(--border,#d0d5dd);color:var(--foreground,#1a1d21);cursor:pointer;background:0 0;border-radius:8px;min-height:36px;margin-inline-start:auto;padding:4px 12px;font-size:13px}.app-shell__logout:disabled{opacity:.6;cursor:default}.admin-shell__context{color:var(--muted-foreground,#667085);font-size:13px}.profile-card{background:var(--card,#fff);border:1px solid var(--border,#e2e5ea);padding:var(--space-4);margin-bottom:var(--space-4);border-radius:14px}.profile-card h3{margin:0 0 var(--space-3);font-size:15px}.profile-card__grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:0;display:grid}.profile-card__grid dt{color:var(--muted-foreground,#667085);margin-bottom:2px;font-size:12px}.profile-card__grid dd{margin:0;font-size:14px;font-weight:600}.profile-card__hint{color:var(--muted-foreground,#667085);margin:0 0 var(--space-3);font-size:13px;line-height:1.8}.profile-card__confirm p{margin:0 0 var(--space-2);font-size:14px;font-weight:600}.profile-card__confirm-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}@media (prefers-reduced-motion:reduce){.auth-card,.auth-error,.auth-notice{transition:none}}
