@font-face {
    font-family: 'Vazirmatn';
    src: url('../fonts/Vazirmatn.woff2') format('woff2');
    font-display: swap;
}
:root{
    --bg:#f5f7fb;--card:#ffffff;--ink:#1c2430;--muted:#778195;--line:#e6eaf2;
    --primary:#3164f4;--primary2:#5d87ff;--good:#13a06f;--bad:#df3b57;--warn:#d99100;
    --shadow:0 18px 45px rgba(26,35,55,.09);--radius:22px;
}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top right,#e8efff,transparent 38%),var(--bg);font-family:Vazirmatn,Tahoma,Arial,sans-serif;color:var(--ink);min-height:100vh}a{text-decoration:none;color:inherit}button,input,textarea,select{font-family:inherit}.app-shell{display:grid;grid-template-columns:285px 1fr;min-height:100vh}.sidebar{background:rgba(255,255,255,.72);backdrop-filter:blur(18px);border-left:1px solid var(--line);padding:24px;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;margin-bottom:22px}.brand-logo{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,var(--primary),#8ba7ff);display:grid;place-items:center;color:white;font-weight:900;box-shadow:0 12px 30px rgba(49,100,244,.24)}.brand span,.user-mini small,.muted{display:block;color:var(--muted);font-size:12px}.user-mini{display:flex;gap:10px;align-items:center;background:#f5f7fc;border:1px solid var(--line);border-radius:18px;padding:12px;margin:18px 0}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#eaf0ff;color:var(--primary);font-weight:900}.nav{display:grid;gap:8px}.nav a{padding:12px 14px;border-radius:14px;color:#3d4658}.nav a:hover{background:#edf3ff;color:var(--primary)}.main{padding:30px;max-width:1240px;width:100%;margin:0 auto}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:22px}.page-head h1{margin:0 0 6px;font-size:28px}.grid{display:grid;gap:18px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:rgba(255,255,255,.88);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.stat{display:flex;justify-content:space-between;align-items:center}.stat b{font-size:26px}.stat .icon{width:45px;height:45px;border-radius:16px;background:#eef3ff;display:grid;place-items:center;color:var(--primary)}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:separate;border-spacing:0 10px}.table th{font-size:12px;color:var(--muted);text-align:right;padding:0 12px}.table td{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 12px;vertical-align:middle}.table tr td:first-child{border-right:1px solid var(--line);border-radius:0 14px 14px 0}.table tr td:last-child{border-left:1px solid var(--line);border-radius:14px 0 0 14px}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.badge.good{background:#eaf8f2;color:var(--good)}.badge.bad{background:#ffedf1;color:var(--bad)}.badge.warn{background:#fff6dc;color:var(--warn)}.badge.muted{background:#eef1f6;color:#657084}.form{display:grid;gap:14px}.form-row{display:grid;gap:8px}.form-row label{font-weight:800;font-size:13px}.input,.form input,.form textarea,.form select{width:100%;border:1px solid var(--line);background:#fff;border-radius:15px;padding:12px 14px;outline:none;color:var(--ink)}.form textarea{min-height:110px;resize:vertical}.input:focus,.form input:focus,.form textarea:focus,.form select:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(49,100,244,.08)}.btn{border:0;border-radius:14px;padding:11px 16px;background:#eef2f8;color:#354052;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;gap:8px}.btn.primary{background:linear-gradient(135deg,var(--primary),var(--primary2));color:white;box-shadow:0 12px 26px rgba(49,100,244,.25)}.btn.danger{background:#ffe9ee;color:var(--bad)}.btn.good{background:#e8f8f1;color:var(--good)}.btn.small{padding:7px 10px;font-size:12px}.actions{display:flex;gap:8px;flex-wrap:wrap}.alert{border-radius:16px;padding:12px 14px;margin-bottom:14px;border:1px solid}.alert.success{background:#eaf8f2;border-color:#b7edd8;color:#08734e}.alert.error{background:#fff0f3;border-color:#ffc8d3;color:#ac1c37}.alert.info{background:#eef4ff;border-color:#cfddff;color:#2452bf}.auth{min-height:100vh;display:grid;place-items:center;padding:25px}.auth-card{width:min(460px,100%)}.auth-logo{text-align:center;margin-bottom:20px}.auth-logo .brand-logo{margin:0 auto 10px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.day{border:1px solid var(--line);background:#fff;border-radius:14px;padding:10px;min-height:72px;cursor:pointer;text-align:right}.day small{display:block;color:var(--muted);margin-top:3px}.day:hover{border-color:var(--primary)}.day.selected{background:#edf3ff;border-color:var(--primary);color:var(--primary)}.day.disabled{opacity:.45;cursor:not-allowed;background:#f1f3f7}.preview-img{width:82px;height:54px;object-fit:cover;border-radius:12px;border:1px solid var(--line)}.hero{background:linear-gradient(135deg,#ffffff,#edf3ff);border:1px solid var(--line);border-radius:28px;padding:26px;box-shadow:var(--shadow)}.hero h1{margin-top:0}.codebox{direction:ltr;text-align:left;background:#111827;color:#e9efff;border-radius:18px;padding:18px;overflow:auto}.pill{display:inline-block;background:#f1f5ff;border:1px solid #dae5ff;border-radius:999px;padding:8px 12px;margin:4px;color:#3052a5}.split{display:grid;grid-template-columns:1fr 1fr;gap:18px}.tiny{font-size:12px;color:var(--muted)}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;border-left:0;border-bottom:1px solid var(--line)}.main{padding:18px}.grid.cols-2,.grid.cols-3,.grid.cols-4,.split{grid-template-columns:1fr}.calendar{grid-template-columns:repeat(2,1fr)}.page-head{display:block}}


/* V3 wizard and Ada Bazi landing */
.ad-game-hero{margin-bottom:18px;background:linear-gradient(135deg,#ffffff 0%,#edf3ff 62%,#e9fff5 100%);}
.ad-game-hero h2{margin:8px 0 10px;font-size:24px}
.ad-game-hero p{line-height:2;color:#4f5a6b;max-width:920px}
.eyebrow{display:inline-flex;background:#eef4ff;color:var(--primary);border:1px solid #d8e4ff;border-radius:999px;padding:7px 12px;font-weight:900;font-size:12px}
.pricing-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0}
.price-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:15px;box-shadow:var(--shadow)}
.price-card small{display:block;color:var(--muted);margin-bottom:6px}
.price-card b{font-size:16px}
.wizard{padding:0;overflow:hidden}
.wizard-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-bottom:1px solid var(--line);background:#f8faff}
.wizard-step{border:0;background:transparent;padding:18px 12px;font-weight:900;color:#697386;cursor:pointer}
.wizard-step span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e8edf7;margin-left:8px}
.wizard-step.active{color:var(--primary);background:#fff}
.wizard-step.active span{background:linear-gradient(135deg,var(--primary),var(--primary2));color:white}
.wizard-form{padding:22px}
.wizard-panel{display:none}
.wizard-panel.active{display:block}
.wizard-panel h3{margin-top:0}
.wizard-actions{justify-content:flex-end;margin-top:18px}
.upload-preview{display:flex;align-items:center;gap:14px;border:1px dashed #cfd8e8;border-radius:20px;padding:14px;background:#fbfcff}
.upload-preview img{width:140px;height:86px;object-fit:cover;border-radius:16px;background:#f2f5fb}
.summary-box{border:1px solid var(--line);background:#fbfcff;border-radius:18px;padding:14px;display:grid;gap:5px}
.summary-box small,.review-list small{color:var(--muted)}
.summary-box b{font-size:20px;color:var(--primary)}
.calendar-card{margin-top:18px;border:1px solid var(--line);border-radius:22px;padding:16px;background:#fbfcff}
.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.calendar-head h4{margin:0}
.review-layout{display:grid;grid-template-columns:280px 1fr;gap:18px;align-items:start}
.review-image img{width:100%;border-radius:22px;border:1px solid var(--line);background:#f4f6fb;object-fit:contain;max-height:230px}
.review-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.review-list div{background:#fbfcff;border:1px solid var(--line);border-radius:16px;padding:12px;display:grid;gap:5px}
.review-list b{word-break:break-word}
.notice-soft{margin-top:16px;background:#eef8f3;color:#096447;border:1px solid #c9efdd;border-radius:18px;padding:14px;line-height:2}
.day small:last-child{font-weight:800}
.day.disabled small:last-child{color:var(--bad)}
.day:not(.disabled) small:last-child{color:var(--good)}
@media(max-width:900px){.pricing-strip,.wizard-steps,.review-layout,.review-list{grid-template-columns:1fr}.wizard-step{text-align:right}.calendar-head{display:block}}

/* Date reservation patch V4 */
.booking-fields{margin-top:18px}
.booking-fields.disabled-fields{opacity:.65}
.booking-fields.disabled-fields input{background:#f3f5f9;cursor:not-allowed}
.day.reserved{background:#fff1f3;border-color:#ffc9d3;opacity:1}
.day.reserved small:last-child{color:var(--bad)}
.day.blocked{background:#fff7e6;border-color:#ffe0a8;opacity:.72}
.day.blocked small:last-child{color:#a66a00}
.day.in-range:not(.selected):not(.reserved){background:#effaf5;border-color:#bcebd5;color:#08734e}
.day.in-range:not(.selected):not(.reserved) small:last-child{color:#08734e}
.day.selected{background:#edf3ff!important;border-color:var(--primary)!important;color:var(--primary)!important;box-shadow:0 0 0 3px rgba(49,100,244,.1)}
