/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */:root{--color-brand-50:#eef6fb;--color-brand-100:#d4e8f4;--color-brand-200:#a9d1e9;--color-brand-300:#7ab8dc;--color-brand-400:#4d9bc9;--color-brand-500:#2772a0;--color-brand-600:#1f5f85;--color-brand-700:#1a4d6d;--color-brand-800:#1f3b57;--color-brand-900:#152a3f;--color-accent-400:#f5d65f;--color-accent-500:#f9cc34;--color-neutral-0:#fff;--color-neutral-50:#f8fafc;--color-neutral-100:#f1f5f9;--color-neutral-200:#e2e8f0;--color-neutral-300:#cbd5e1;--color-neutral-400:#94a3b8;--color-neutral-500:#64748b;--color-neutral-600:#475569;--color-neutral-700:#334155;--color-neutral-800:#1e293b;--color-neutral-900:#0f172a;--color-neutral-950:#0b1120;--surface-canvas:var(--color-neutral-50);--surface-default:var(--color-neutral-0);--surface-raised:var(--color-neutral-0);--surface-sunken:var(--color-neutral-100);--surface-overlay:#ffffffe0;--surface-glass:#ffffffb8;--surface-inverse:var(--color-brand-800);--text-primary:var(--color-neutral-900);--text-secondary:var(--color-neutral-600);--text-muted:var(--color-neutral-400);--text-inverse:var(--color-neutral-0);--text-brand:var(--color-brand-600);--border-subtle:#0f172a0f;--border-default:#0f172a1a;--border-strong:#0f172a2e;--border-brand:#2772a040;--interactive-primary:var(--color-brand-500);--interactive-primary-hover:var(--color-brand-600);--interactive-secondary:var(--color-neutral-100);--interactive-secondary-hover:var(--color-neutral-200);--color-success:#10b981;--color-error:#ef4444;--color-warning:#f59e0b;--color-info:#3b82f6;--elevation-1:0 1px 2px #0f172a0d;--elevation-2:0 4px 12px #0f172a14;--elevation-3:0 12px 32px #0f172a1f;--elevation-4:0 24px 48px #0f172a29;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--radius-full:9999px;--primary:var(--color-brand-500);--navy:var(--color-brand-800);--soft:var(--color-brand-100);--accent:var(--color-accent-500);--accent-dark:var(--color-accent-400);--white:var(--color-neutral-0);--gray-50:var(--color-neutral-50);--gray-100:var(--color-neutral-100);--gray-200:var(--color-neutral-200);--gray-300:var(--color-neutral-300);--gray-400:var(--color-neutral-400);--gray-500:var(--color-neutral-500);--gray-600:var(--color-neutral-600);--gray-700:var(--color-neutral-700);--gray-800:var(--color-neutral-800);--gray-900:var(--color-neutral-900);--shadow-sm:var(--elevation-1);--shadow-md:var(--elevation-2);--shadow-lg:var(--elevation-3);--shadow-xl:var(--elevation-4)}.dark{color-scheme:dark;--surface-canvas:var(--color-neutral-950);--surface-default:var(--color-neutral-900);--surface-raised:var(--color-neutral-800);--surface-sunken:var(--color-neutral-950);--surface-overlay:#0f172aeb;--surface-glass:#0f172abf;--surface-inverse:var(--color-neutral-100);--text-primary:var(--color-neutral-100);--text-secondary:var(--color-neutral-300);--text-muted:var(--color-neutral-500);--text-inverse:var(--color-neutral-900);--text-brand:var(--color-brand-300);--border-subtle:#ffffff0f;--border-default:#ffffff1a;--border-strong:#ffffff2e;--border-brand:#7ab8dc4d;--interactive-primary:var(--color-brand-400);--interactive-primary-hover:var(--color-brand-300);--interactive-secondary:var(--color-neutral-800);--interactive-secondary-hover:var(--color-neutral-700);--elevation-1:0 1px 2px #0000004d;--elevation-2:0 4px 12px #00000059;--elevation-3:0 12px 32px #0006;--elevation-4:0 24px 48px #00000080;--white:var(--color-neutral-900);--navy:var(--color-neutral-100);--soft:var(--color-neutral-800)}@font-face{font-family:Ray;src:url(/fonts/Ray/Ray-Light[@mimvid].ttf)format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Ray;src:url(/fonts/Ray/Ray-Regular[@mimvid].ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Ray;src:url(/fonts/Ray/Ray-Medium[@mimvid].ttf)format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Ray;src:url(/fonts/Ray/Ray-Bold[@mimvid].ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Ray;src:url(/fonts/Ray/Ray-ExtraBold[@mimvid].ttf)format("truetype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Ray;src:url(/fonts/Ray/Ray-Black[@mimvid].ttf)format("truetype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Ray;src:url(/fonts/Ray/Ray-ExtraBlack[@mimvid].ttf)format("truetype");font-weight:950;font-style:normal;font-display:swap}@font-face{font-family:SF Arabic;src:url(/fonts/SF\ Arabic/SF-Arabic-Rounded.ttf)format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Rounded;src:url("/fonts/SF pro Rounded/SF-Pro-Rounded-Ultralight.otf")format("opentype");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Rounded;src:url("/fonts/SF pro Rounded/SF-Pro-Rounded-Thin.otf")format("opentype");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Rounded;src:url("/fonts/SF pro Rounded/SF-Pro-Rounded-Light.otf")format("opentype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Rounded;src:url("/fonts/SF pro Rounded/SF-Pro-Rounded-Regular.otf")format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Rounded;src:url("/fonts/SF pro Rounded/SF-Pro-Rounded-Medium.otf")format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Rounded;src:url("/fonts/SF pro Rounded/SF-Pro-Rounded-Semibold.otf")format("opentype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Rounded;src:url("/fonts/SF pro Rounded/SF-Pro-Rounded-Bold.otf")format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Rounded;src:url("/fonts/SF pro Rounded/SF-Pro-Rounded-Heavy.otf")format("opentype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Rounded;src:url("/fonts/SF pro Rounded/SF-Pro-Rounded-Black.otf")format("opentype");font-weight:900;font-style:normal;font-display:swap}[lang=fa],[lang=fa] body,html[lang=fa]{font-family:Ray,Vazirmatn,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif!important}[lang=ar],[lang=ar] body,html[lang=ar]{font-family:SF Arabic,Vazirmatn,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif!important}[lang=en],[lang=en] body,html[lang=en]{font-family:SF Pro Rounded,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important}body{font-family:Ray,Vazirmatn,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.admin-root,.admin-root *{box-sizing:border-box}.admin-root{background:var(--surface-canvas);min-height:100vh;color:var(--text-primary);font-family:"Ray",var(--font-vazirmatn),system-ui,sans-serif;margin:0}.admin-nav{background:var(--surface-raised);border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.admin-nav h1{color:var(--text-brand);font-size:1.25rem;font-weight:700}.admin-nav-links{align-items:center;gap:1.5rem;display:flex}.admin-nav-links a{color:var(--text-secondary);font-weight:500;text-decoration:none}.admin-nav-links a.active,.admin-nav-links a:hover{color:var(--text-brand)}.portal-user-name{color:var(--text-muted);font-size:.875rem}.admin-container{max-width:1200px;margin:0 auto;padding:2rem}.auth-shell{background:radial-gradient(1200px 480px at 80% -10%,#2772a029,transparent 60%),var(--surface-canvas);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:24px 16px 32px;display:flex}.auth-back{color:var(--text-secondary);align-self:center;margin-bottom:16px;font-size:.9rem;font-weight:600;text-decoration:none}.auth-back:hover{color:var(--text-brand)}.auth-card{background:var(--surface-raised);border:1px solid var(--border-default);width:min(420px,100%);box-shadow:var(--elevation-3);border-radius:24px;padding:32px 28px 28px}.auth-card-wide{width:min(480px,100%)}.auth-kicker{color:var(--color-brand-600);letter-spacing:.08em;margin:0 0 8px;font-size:12px;font-weight:700}.auth-card h1{color:var(--color-brand-900);margin:0;font-size:1.6rem;font-weight:800;line-height:1.4}.auth-lead{color:var(--text-secondary);margin:10px 0 0;font-size:.95rem;line-height:1.7}.auth-form{gap:16px;margin-top:24px}.auth-field,.auth-form{flex-direction:column;display:flex}.auth-field{gap:8px;min-width:0}.auth-field label{color:var(--text-secondary);text-align:right;margin:0;font-size:.875rem;font-weight:700}.auth-required{color:#dc2626;font-weight:800}.auth-field input{border:1px solid var(--border-default);background:var(--surface-sunken);width:100%;color:var(--text-primary);font:inherit;text-align:left;direction:ltr;border-radius:14px;margin:0;padding:12px 14px;font-size:1rem;line-height:1.5}.auth-field input:focus{border-color:var(--color-brand-500);outline:2px solid #2772a047}.auth-field.is-invalid .auth-password,.auth-field.is-invalid input{border-color:#dc2626}.auth-hint{color:var(--text-muted);margin:0;font-size:.78rem;line-height:1.6}.auth-field-error{color:#b91c1c;margin:0;font-size:.8rem;font-weight:600}.auth-password{border:1px solid var(--border-default);background:var(--surface-sunken);border-radius:14px;align-items:stretch;display:flex;overflow:hidden}.auth-password:focus-within{border-color:var(--color-brand-500);outline:2px solid #2772a047}.auth-password input{background:0 0;border:0;border-radius:0;flex:1;min-width:0}.auth-password input:focus{outline:none}.auth-password-toggle{color:var(--color-brand-700);cursor:pointer;background:0 0;border:0;flex:0 0 44px;place-items:center;margin:0;padding:0;display:grid}.auth-error{color:#991b1b;background:#fee2e2;border-radius:12px;margin:0;padding:10px 12px;font-size:.875rem}.auth-submit{background:var(--color-brand-700);color:#fff;width:100%;min-height:48px;font:inherit;cursor:pointer;border:0;border-radius:14px;margin-top:4px;font-size:1rem;font-weight:700}.auth-submit:hover:not(:disabled){background:var(--color-brand-800)}.auth-submit:disabled{opacity:.65;cursor:default}.auth-note{border-top:1px solid var(--border-subtle);color:var(--text-muted);margin:18px 0 0;padding-top:16px;font-size:.82rem;line-height:1.7}.auth-switch{text-align:center;color:var(--text-secondary);margin:18px 0 0;font-size:.9rem}.auth-switch a{color:var(--text-brand);font-weight:700;text-decoration:none}.auth-field-rtl input{text-align:right;direction:rtl}.admin-login{background:var(--surface-canvas);justify-content:center;align-items:center;min-height:100vh;display:flex}.admin-login-card{background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-xl);width:100%;max-width:400px;box-shadow:var(--elevation-2);padding:2.5rem}.admin-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.admin-stat{background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:1.5rem}.admin-stat-value{color:var(--text-brand);font-size:2rem;font-weight:800}.admin-stat-label{color:var(--text-muted);margin-top:.25rem;font-size:.875rem}.admin-table{border-collapse:collapse;background:var(--surface-raised);border-radius:var(--radius-lg);border:1px solid var(--border-default);width:100%;overflow:hidden}.admin-table td,.admin-table th{text-align:right;border-bottom:1px solid var(--border-subtle);padding:.875rem 1rem;font-size:.875rem}.admin-table th{background:var(--surface-sunken);color:var(--text-secondary);font-weight:600}.admin-badge{border-radius:var(--radius-full);padding:.25rem .625rem;font-size:.75rem;font-weight:600;display:inline-block}.admin-badge.pending{color:#92400e;background:#fef3c7}.admin-badge.paid{color:#065f46;background:#d1fae5}.admin-badge.confirmed{color:#1e40af;background:#dbeafe}.admin-badge.cancelled{color:#991b1b;background:#fee2e2}.admin-badge.completed{color:#3730a3;background:#e0e7ff}.admin-btn{border-radius:var(--radius-md);cursor:pointer;border:none;padding:.5rem 1rem;font-size:.875rem;font-weight:600}.admin-btn-primary{background:var(--interactive-primary);color:#fff}.admin-btn-ghost{border:1px solid var(--border-default);color:var(--text-secondary);background:0 0}.admin-form input,.admin-form select,.admin-form textarea{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-sunken);width:100%;color:var(--text-primary);font:inherit;margin-bottom:1rem;padding:.75rem 1rem}.admin-form textarea{resize:vertical;min-height:8rem}.admin-form input:disabled{opacity:.7;cursor:not-allowed}.admin-form label{color:var(--text-secondary);margin-bottom:.4rem;font-size:.875rem;font-weight:600;display:block}.admin-form-actions{flex-wrap:wrap;gap:.75rem;display:flex}.admin-inline-field{align-items:flex-start;gap:.75rem;display:flex}.admin-inline-field input{margin-bottom:1rem}.admin-section{background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-xl);margin-bottom:2rem;padding:1.5rem}.admin-section h3{margin:0 0 1rem}.admin-checkboxes{border:1px solid var(--border-default);border-radius:var(--radius-md);margin-bottom:1rem;padding:.75rem 1rem .25rem}.admin-checkboxes legend{color:var(--text-secondary);padding:0 .35rem;font-size:.875rem;font-weight:600}.admin-check{align-items:center;gap:.5rem;margin-bottom:.75rem;font-weight:500;display:flex}.admin-check input{width:auto;margin:0}.admin-row-actions{flex-wrap:wrap;gap:.5rem;display:flex}.admin-btn-danger{color:#991b1b;background:#fee2e2}.admin-alert{border-radius:var(--radius-md);margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.admin-alert-error{color:#991b1b;background:#fee2e2}.admin-alert-ok{color:#065f46;background:#d1fae5}.content-back-link{color:var(--text-brand);margin-bottom:.5rem;font-weight:600;text-decoration:none;display:inline-block}.content-page{background:var(--surface-canvas);padding:6rem 0 4rem}.content-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}.content-card{background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-xl);color:inherit;padding:1.5rem;text-decoration:none;transition:transform .2s,box-shadow .2s}.content-card:hover{box-shadow:var(--elevation-3);transform:translateY(-4px)}.content-prose{max-width:720px;color:var(--text-secondary);line-height:1.9}.content-prose h2{color:var(--text-primary);margin:2rem 0 1rem}.booking-steps{gap:.5rem;margin-bottom:1.5rem;display:flex}.booking-step{background:var(--border-default);border-radius:2px;flex:1;height:4px}.booking-step.active{background:var(--interactive-primary)}.slot-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;margin:.75rem 0;display:grid}.slot-btn{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-sunken);cursor:pointer;padding:.5rem;font-size:.875rem;transition:all .2s}.slot-btn.selected,.slot-btn:hover{background:var(--interactive-primary);border-color:var(--interactive-primary);color:#fff}.slot-btn:disabled{opacity:.4;cursor:not-allowed}.payment-options{flex-direction:column;gap:.75rem;margin:1rem 0;display:flex}.payment-option{border:2px solid var(--border-default);border-radius:var(--radius-lg);cursor:pointer;align-items:center;gap:.75rem;padding:1rem;transition:border-color .2s;display:flex}.payment-option.selected{border-color:var(--interactive-primary);background:#2772a00d}