:root{--primary:#2563eb;--primary-dark:#1e40af;--ink:#0f172a;--muted:#64748b;--surface:#fff;--soft:#f8fafc;--line:#e2e8f0;--success:#16a34a;--danger:#dc2626;--warning:#d97706;--radius:24px;--shadow:0 24px 80px rgba(15,23,42,.10)}
@font-face{font-family:AppFont;src:local("Vazirmatn"),local("Vazir"),local("Tahoma");font-display:swap}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:AppFont,Tahoma,Arial,sans-serif;background:linear-gradient(180deg,#f8fbff 0%,#f8fafc 45%,#eef2ff 100%);color:var(--ink);line-height:1.85;min-height:100vh}a{color:var(--primary);text-decoration:none}img{max-width:100%;display:block}.container{max-width:1200px;margin:0 auto;padding:0 20px}.app-bg{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.app-bg span{position:absolute;width:360px;height:360px;border-radius:999px;filter:blur(80px);opacity:.34}.app-bg span:nth-child(1){background:#bfdbfe;top:-80px;right:-100px}.app-bg span:nth-child(2){background:#ddd6fe;top:260px;left:-120px}.app-bg span:nth-child(3){background:#bbf7d0;bottom:-140px;right:35%}
.site-header{position:sticky;top:0;z-index:40;padding:12px 0;background:rgba(255,255,255,.78);backdrop-filter:blur(18px);border-bottom:1px solid rgba(226,232,240,.8)}.nav-shell{display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:22px;font-weight:950;letter-spacing:-.5px}.brand img{width:42px;height:42px;object-fit:contain;border-radius:12px}.brand span:before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--primary);margin-left:8px;box-shadow:0 0 0 7px color-mix(in srgb,var(--primary) 12%,transparent)}.main-nav{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.main-nav a{color:#334155;font-weight:800;padding:9px 12px;border-radius:14px;transition:.18s ease}.main-nav a:hover{background:#f1f5f9;color:var(--primary)}.main-nav .nav-danger{color:var(--danger)}.nav-toggle{display:none;appearance:none;border:0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:9px;box-shadow:0 10px 30px rgba(15,23,42,.06)}.nav-toggle span{display:block;width:22px;height:2px;background:#0f172a;margin:4px 0;border-radius:10px}.page-shell{padding:34px 20px 52px;min-height:calc(100vh - 190px)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:16px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff!important;padding:11px 18px;font-weight:950;cursor:pointer;box-shadow:0 16px 34px color-mix(in srgb,var(--primary) 26%,transparent);transition:.18s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 20px 46px color-mix(in srgb,var(--primary) 34%,transparent)}.btn-sm{padding:8px 13px;border-radius:13px}.btn-lg{padding:14px 24px;border-radius:18px;font-size:16px}.btn-block{width:100%}.btn-ghost,.btn.outline{background:#fff;color:var(--primary)!important;border:1px solid color-mix(in srgb,var(--primary) 30%,#e2e8f0);box-shadow:none}.btn.is-loading{opacity:.78;pointer-events:none}.link-more{font-weight:950;background:#fff;border:1px solid var(--line);padding:9px 14px;border-radius:14px;color:var(--ink)}
.hero{border-radius:36px;position:relative;overflow:hidden}.hero-modern{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:center;padding:44px;margin-bottom:42px;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(239,246,255,.90));border:1px solid rgba(226,232,240,.9);box-shadow:var(--shadow)}.hero-modern:after{content:"";position:absolute;inset:auto -120px -160px auto;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,var(--primary),transparent 64%);opacity:.12}.eyebrow{display:inline-flex;align-items:center;gap:8px;background:color-mix(in srgb,var(--primary) 10%,#fff);color:var(--primary);border:1px solid color-mix(in srgb,var(--primary) 18%,#fff);border-radius:999px;padding:7px 13px;font-weight:950;font-size:13px;margin-bottom:14px}.eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--primary)}.muted-eyebrow{background:#fff;color:var(--muted);border-color:var(--line)}.hero h1{font-size:clamp(32px,5vw,56px);line-height:1.22;margin:0 0 16px;letter-spacing:-1.8px}.hero p{font-size:18px;color:#475569;max-width:650px;margin:0 0 24px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.trust-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.trust-row span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 12px;color:#475569;font-weight:800}.hero-panel{position:relative;z-index:1}.mini-calendar{background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border:1px solid rgba(226,232,240,.95);border-radius:30px;padding:18px;box-shadow:0 24px 70px rgba(15,23,42,.12);transform:rotate(-1.5deg)}.cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.cal-head span{color:var(--muted);font-weight:800}.cal-head strong{font-size:18px}.cal-row{display:grid;grid-template-columns:70px 1fr auto;gap:10px;align-items:center;background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:13px;margin-top:10px}.cal-row b{color:var(--primary)}.cal-row em{font-style:normal;font-size:12px;font-weight:900;border-radius:999px;background:#e2e8f0;color:#475569;padding:5px 9px}.cal-row.active{background:#eff6ff;border-color:#bfdbfe}.cal-row.active em,.cal-row.pay em{background:#dcfce7;color:#166534}.cal-row.pay{background:#f0fdf4;border-color:#bbf7d0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:20px 0}.section-head h2{margin:0;font-size:30px;letter-spacing:-.8px}.grid{display:grid;gap:20px}.cards,.service-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.card,.form-card,.detail-card,.success-card,.error-card,.stat,.panel-card{background:rgba(255,255,255,.92);border:1px solid rgba(226,232,240,.95);border-radius:var(--radius);box-shadow:0 18px 54px rgba(15,23,42,.07);overflow:hidden}.card{transition:.18s ease}.card:hover{transform:translateY(-4px);box-shadow:0 24px 72px rgba(15,23,42,.11)}.card-body{padding:18px}.service-media{height:190px;background:linear-gradient(135deg,#dbeafe,#f5f3ff);display:flex;align-items:center;justify-content:center}.service-media img{width:100%;height:100%;object-fit:cover}.media-placeholder{width:76px;height:76px;border-radius:24px;display:flex;align-items:center;justify-content:center;background:#fff;color:var(--primary);font-size:34px;font-weight:950;box-shadow:0 12px 40px rgba(15,23,42,.10)}.chip,.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 11px;background:#f1f5f9;color:#475569;font-size:12px;font-weight:950}.card h3{font-size:21px;margin:12px 0 8px}.card p{color:#64748b;margin:0 0 14px}.meta{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.meta span{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:7px 11px;color:#334155;font-weight:800}.modern-meta{justify-content:space-between}.empty-state,.empty,.notice{background:#fff;border:1px dashed #cbd5e1;border-radius:22px;padding:24px;color:#64748b;text-align:center}.muted{color:var(--muted)}
.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}.form-card,.detail-card,.success-card,.error-card,.panel-card{padding:22px}.form-card input,.form-card select,.form-card textarea,.filters input,.filters select,input,select,textarea{width:100%;border:1px solid #cbd5e1;background:#fff;border-radius:15px;padding:11px 13px;margin-top:6px;font-family:inherit;color:#0f172a;outline:none;transition:.16s ease}.form-card input:focus,.form-card select:focus,.form-card textarea:focus,input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 14%,transparent)}label{font-weight:900;color:#334155}.slots{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.slot{border:1px solid #cbd5e1;border-radius:14px;padding:8px 11px;font-weight:900;background:#fff}.slot.free{background:#ecfdf5;border-color:#86efac;color:#166534}.slot.busy{background:#fef2f2;border-color:#fecaca;color:#991b1b}.table{width:100%;border-collapse:collapse;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 16px 48px rgba(15,23,42,.06)}.table th,.table td{padding:13px;border-bottom:1px solid var(--line);text-align:right}.table th{background:#f8fafc;color:#475569}.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:22px 0}.stat{padding:22px;position:relative}.stat:after{content:"";position:absolute;inset:auto 18px 18px auto;width:40px;height:40px;border-radius:14px;background:color-mix(in srgb,var(--primary) 12%,#fff)}.stat strong{font-size:32px;display:block;color:var(--primary);line-height:1}.stat span{color:#64748b;font-weight:900}.messages{margin-bottom:18px}.message{padding:13px 15px;border-radius:16px;margin-bottom:10px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;font-weight:800}.message.error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.message.success{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.faq{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;margin-bottom:12px;box-shadow:0 12px 38px rgba(15,23,42,.05)}.cover{width:100%;max-height:320px;object-fit:cover;border-radius:22px}
.site-footer{padding:34px 0;background:#08111f;color:#e2e8f0;margin-top:42px}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.site-footer strong{font-size:20px}.site-footer p{color:#94a3b8;margin:8px 0 0}.footer-links{display:flex;flex-direction:column;gap:8px;color:#cbd5e1}
@media(max-width:860px){.nav-toggle{display:block}.main-nav{display:none;position:absolute;top:70px;left:20px;right:20px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:14px;box-shadow:var(--shadow)}.main-nav.is-open{display:grid}.hero-modern,.two-col,.footer-grid{grid-template-columns:1fr}.hero-modern{padding:28px}.mini-calendar{transform:none}.section-head{align-items:flex-start;flex-direction:column}.cal-row{grid-template-columns:1fr}.hero p{font-size:16px}.page-shell{padding-top:22px}}
@media(max-width:520px){.container{padding:0 14px}.hero-modern{border-radius:26px;padding:22px}.hero-actions .btn{width:100%}.trust-row span{width:100%;text-align:center}.cards,.service-grid{grid-template-columns:1fr}.table{font-size:13px}.table th,.table td{padding:9px}}
/* Booking slot rules UI */
.booking-hero{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:end;margin-bottom:22px}.booking-hero h1{font-size:clamp(28px,4vw,44px);margin:0 0 10px;letter-spacing:-1px}.booking-summary-card{min-width:220px;background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:0 18px 54px rgba(15,23,42,.08);display:grid;gap:7px}.booking-summary-card strong{font-size:20px}.booking-summary-card span{color:#475569;font-weight:850}.booking-layout{align-items:start}.booking-form h2,.slot-panel h2{margin-top:0}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field-wrap{margin-bottom:14px}.btn-wide{width:100%;margin-top:12px}.mini{font-size:13px;margin-top:10px}.selected-slot{margin:14px 0;padding:14px;border:1px dashed #cbd5e1;border-radius:18px;background:#f8fafc;color:#64748b;font-weight:900}.selected-slot.active{border-style:solid;border-color:#86efac;background:#f0fdf4;color:#166534}.error-box,.error-text{color:#991b1b}.error-box{background:#fef2f2;border:1px solid #fecaca;border-radius:16px;padding:12px;margin-bottom:14px}.slot-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.slot-loading{margin-top:14px;background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;padding:12px;border-radius:16px;font-weight:900}.modern-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px}.slot-card{border:1px solid #dbeafe;background:#fff;border-radius:18px;padding:12px;text-align:right;display:grid;gap:2px;cursor:pointer;transition:.16s ease;font-family:inherit}.slot-card strong{font-size:20px;color:#0f172a;line-height:1.2}.slot-card span{font-size:12px;color:#64748b;font-weight:900}.slot-card small{font-size:11px;color:#475569}.slot-card.free{background:linear-gradient(180deg,#fff,#f0fdf4);border-color:#bbf7d0}.slot-card.free:hover,.slot-card.selected{transform:translateY(-2px);border-color:#16a34a;box-shadow:0 14px 34px rgba(22,163,74,.15)}.slot-card.selected{background:#dcfce7}.slot-card.busy{background:#f8fafc;border-color:#e2e8f0;cursor:not-allowed;opacity:.7}.slot-card.busy strong,.slot-card.busy small{color:#94a3b8}.slot-card:disabled{pointer-events:none}.form-card button:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}@media(max-width:860px){.booking-hero,.field-grid{grid-template-columns:1fr}.booking-summary-card{min-width:0}.modern-slots{grid-template-columns:repeat(2,1fr)}}
/* Jalali booking calendar */
.booking-hero-modern{margin-bottom:18px}.slot-panel-top{margin-bottom:22px}.calendar-today-badge{background:linear-gradient(135deg,#eff6ff,#fff);border:1px solid #bfdbfe;border-radius:20px;padding:10px 14px;min-width:140px;text-align:center}.calendar-today-badge span{display:block;color:#64748b;font-weight:900;font-size:12px}.calendar-today-badge strong{display:block;color:var(--primary);font-size:18px;letter-spacing:.3px}.jalali-day-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px;margin:18px 0}.jalali-day-card{border:1px solid #e2e8f0;background:linear-gradient(180deg,#fff,#f8fafc);border-radius:20px;padding:13px 10px;text-align:center;font-family:inherit;cursor:pointer;transition:.18s ease;position:relative;min-height:108px}.jalali-day-card span{display:block;color:#64748b;font-weight:950;font-size:13px}.jalali-day-card strong{display:block;font-size:30px;line-height:1.1;margin:7px 0;color:#0f172a}.jalali-day-card small{display:block;color:#475569;font-weight:950}.jalali-day-card em{position:absolute;top:8px;right:8px;font-style:normal;background:#dcfce7;color:#166534;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:950}.jalali-day-card:hover,.jalali-day-card.active{border-color:color-mix(in srgb,var(--primary) 45%,#bfdbfe);box-shadow:0 16px 44px color-mix(in srgb,var(--primary) 15%,transparent);transform:translateY(-2px)}.jalali-day-card.active{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 12%,#fff),#fff)}.slot-day-title{font-weight:950;color:#0f172a;margin:6px 0 12px;font-size:18px}.day-slots{margin-top:8px}.booking-info-card{margin-top:0}.booking-form-head{display:grid;grid-template-columns:1fr minmax(260px,.7fr);gap:18px;align-items:start;margin-bottom:8px}.booking-form-head h2{margin:4px 0}.booking-form-head .selected-slot{margin:0;min-height:86px;display:grid;align-content:center;gap:4px}.selected-slot.active strong{font-size:13px;color:#166534}.selected-slot.active span{font-size:13px;color:#15803d}.selected-slot.active b{font-size:18px;color:#14532d}.booking-summary-card small{color:#64748b;font-weight:800}.report-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;align-items:end;margin-bottom:16px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:14px;box-shadow:0 16px 48px rgba(15,23,42,.05)}[data-jalali-date="1"],[data-jalali-datetime="1"]{direction:ltr;text-align:left;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}@media(max-width:860px){.booking-form-head{grid-template-columns:1fr}.jalali-day-strip{display:flex;overflow:auto;padding-bottom:6px;scroll-snap-type:x mandatory}.jalali-day-card{min-width:116px;scroll-snap-align:start}.slot-panel-head{flex-direction:column}.calendar-today-badge{width:100%}}
