@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;500;600;700;800&display=swap');
:root{font-family:Vazirmatn,Tahoma,sans-serif;color:#172b3a;background:#f3f7f8;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;line-height:1.8}.wrap{width:min(940px,calc(100% - 32px));margin:auto}
.topbar{background:#fff;border-bottom:1px solid #e1e9eb}.topbar-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{font-size:20px;font-weight:800;color:#0f766e}.muted{color:#718096;font-size:13px}.admin-link{color:#0f766e;text-decoration:none;font-weight:700}
.main{padding:34px 0 54px}.hero{padding:22px 4px 26px}.eyebrow{color:#0f766e;font-size:13px;font-weight:700}.hero h1{font-size:clamp(25px,4vw,36px);margin:5px 0}.hero p{margin:0;color:#64748b}
.panel{background:#fff;border:1px solid #e3ebed;border-radius:18px;padding:22px;margin:0 0 20px;box-shadow:0 8px 24px #173b4b08}.panel h2{font-size:19px;margin:0 0 14px}
.grid{display:grid;gap:15px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}label{display:block;font-size:14px;font-weight:600;margin:0 0 14px}input,select{display:block;width:100%;margin-top:6px;padding:12px 13px;border:1px solid #d5e0e3;border-radius:10px;background:#fff;font:inherit;color:#172b3a;min-height:48px}input:focus,select:focus{outline:2px solid #99d5ce;border-color:#0f766e}
.btn{border:0;border-radius:10px;background:#0f766e;color:#fff;padding:11px 20px;font:inherit;font-weight:700;cursor:pointer}.btn:disabled{opacity:.6;cursor:wait}.btn-outline{background:#fff;color:#0f766e;border:1px solid #0f766e}.btn-small{padding:6px 10px;font-size:12px}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.spread{justify-content:space-between}.slot-list{display:grid;gap:10px;margin-top:18px}.slot-card{border:1px solid #e1e9eb;border-radius:13px;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.slot-card small{color:#718096}.selected-slot{background:#eff8f6;padding:10px;border-radius:10px;color:#0f766e}
.result,.notice{padding:14px;border-radius:12px;margin-top:14px;background:#f1f5f9}.result h3{margin:0 0 8px}.success{background:#e9f8f0;color:#166534}.error{background:#fff0f0;color:#991b1b}.result strong{overflow-wrap:anywhere}.footnote{font-size:12px;color:#718096;text-align:center}
.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:13px}th,td{padding:10px;border-bottom:1px solid #e8eef0;text-align:right}th{background:#f7fafb;color:#536575}
.form-end{display:flex;align-items:end;padding-bottom:14px}footer{text-align:center;color:#84939b;font-size:12px;padding:20px}
[hidden]{display:none!important}
@media(max-width:640px){.two{grid-template-columns:1fr}.panel{padding:16px}.slot-card{align-items:flex-start;flex-direction:column}.slot-card .btn{width:100%}.topbar-inner{min-height:66px}}
@media print{.topbar,footer,.hero,.panel:not(#bookingPanel),#bookingForm,.footnote{display:none!important}body{background:#fff}.panel{box-shadow:none;border:0}.result{border:1px solid #aaa}}

/* Persian calendar picker */
.persian-date-field{position:relative;display:flex;align-items:stretch;gap:7px;margin-top:6px}
.persian-date-field input[type="text"]{margin-top:0;flex:1;min-width:0;cursor:pointer}
.date-picker-button{border:1px solid #0f766e;border-radius:10px;background:#eff8f6;color:#0f766e;padding:0 14px;font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}
.persian-calendar{position:absolute;z-index:20;top:calc(100% + 7px);right:0;width:min(320px,calc(100vw - 64px));padding:12px;background:#fff;border:1px solid #dce7e8;border-radius:14px;box-shadow:0 12px 32px #173b4b20}
.pc-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;color:#0f766e}
.pc-nav{width:34px;height:34px;border:0;border-radius:8px;background:#eff8f6;color:#0f766e;font-size:22px;cursor:pointer}
.pc-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}
.pc-week{margin-bottom:5px;color:#718096;font-size:12px;font-weight:700}
.pc-week span{padding:5px 0}
.pc-day{min-height:36px;border:0;border-radius:8px;background:#fff;color:#172b3a;font:inherit;cursor:pointer}
.pc-day:hover:not(:disabled){background:#e8f5f2}
.pc-day.pc-outside{color:#b8c2c7}
.pc-day.pc-selected{background:#0f766e;color:#fff;font-weight:800}
.pc-day:disabled{color:#d1d9dc;cursor:not-allowed;text-decoration:line-through}
.pc-footer{display:flex;justify-content:center;border-top:1px solid #edf1f2;margin-top:8px;padding-top:8px}
.pc-today{border:0;background:transparent;color:#0f766e;font:inherit;font-weight:700;cursor:pointer}

/* Dark charcoal and champagne-gold visual system */
:root{font-family:Vazirmatn,Tahoma,sans-serif;color:#f3eee2;background:#111110;color-scheme:dark}
body{background:radial-gradient(ellipse at 50% -15%,#393126 0,#171614 42%,#10100f 100%);color:#f3eee2;min-height:100vh}
.topbar{background:#171614;border-bottom:1px solid #3b352b}.brand{color:#dfc58b}.muted{color:#b4aa98}.admin-link{color:#dfc58b}
.hero{text-align:center;padding:34px 8px 28px}.eyebrow{color:#d7bd82;letter-spacing:.08em}.hero h1{color:#f6f0e5}.hero p{color:#bcb3a4}
.panel{background:linear-gradient(145deg,#242321,#1a1917);border:1px solid #393630;border-radius:20px;box-shadow:0 14px 36px #0005;color:#f3eee2}
.panel h2{color:#ead9b3}input,select{background:#151513;color:#f5efe4;border-color:#49443a}input:focus,select:focus{outline:2px solid #b89b60;border-color:#d3b879}
.btn{background:linear-gradient(135deg,#e2ca91,#c5a96c);color:#211d15}.btn-outline{background:transparent;color:#e0c78e;border:1px solid #8e7951}.btn-danger{background:#512b28;color:#ffe1d8;border:1px solid #89504a}
.date-picker-button{border-color:#8e7951;background:#29251e;color:#e0c78e}.slot-card{border-color:#494238;background:#201f1c}.slot-card small{color:#b6aa96}.selected-slot{background:#302a20;color:#e6cb8e}
.result,.notice{background:#29251e;color:#f0e4ca}.success{background:#292f27;color:#dcebd3}.error{background:#382322;color:#ffd8d4}.footnote{color:#b8ad9b}
th{background:#2b2822;color:#e4d2a9}td{border-color:#39352d}th,td{color:inherit}
footer{color:#8f877a}.persian-calendar{background:#211f1b;border-color:#4c4538;color:#f2eadb}.pc-header{color:#e1c78d}.pc-nav{background:#393125;color:#e1c78d}.pc-day{background:#211f1b;color:#eee5d5}.pc-day:hover:not(:disabled){background:#403725}.pc-day.pc-selected{background:#c7a96a;color:#201b12}.pc-today{color:#e0c78e}
.receipt{background:#211f1b!important;border:1px solid #8b7548!important;color:#f3eee2!important;padding:22px!important}.receipt-head{text-align:center;border-bottom:1px solid #75613e;padding-bottom:14px;margin-bottom:14px}.receipt-head span{font-size:12px;color:#d8bd82}.receipt-head h3{margin:5px 0;color:#f4e8cc}.receipt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.receipt-grid>div{padding:10px;border:1px solid #494238;border-radius:10px;min-width:0}.receipt-grid small{display:block;color:#b9aa8e}.receipt-grid strong{display:block;overflow-wrap:anywhere;color:#f3e6c8}.receipt-grid .full{grid-column:1/-1}.receipt-warning{margin-top:14px;padding:13px;border-radius:10px;background:#30291e;border:1px solid #78633d;color:#ead9b8;font-size:13px;line-height:2}.receipt-actions{justify-content:center}
@media(max-width:640px){.receipt-grid{grid-template-columns:1fr}.receipt-grid .full{grid-column:auto}}
@media print{@page{size:A4;margin:14mm}body{background:#fff!important;color:#17130c!important}.topbar,footer,.hero,.panel:not(#bookingPanel),#bookingForm,.footnote,.receipt-actions{display:none!important}#bookingPanel{display:block!important;background:#fff!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important}.receipt{display:block!important;background:#fff!important;color:#17130c!important;border:1px solid #9b8351!important;box-shadow:none!important;break-inside:avoid}.receipt-head h3,.receipt-grid strong,.receipt-warning{color:#17130c!important}.receipt-grid>div,.receipt-warning{border-color:#c9b98f!important;background:#fff!important}.receipt-grid small,.receipt-head span{color:#665535!important}.receipt-warning{font-size:11pt}}

/* User management */
.user-management{border-top:1px solid #494238;padding-top:18px;margin-top:18px}
.user-management h3{color:#e4d2a9}
.user-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.user-actions{display:flex;gap:7px;flex-wrap:wrap}
.user-actions button{font-family:inherit}
.user-role{color:#e0c78e;font-weight:700}
.user-table-wrap{overflow-x:auto;margin-top:16px}
.user-table-wrap table{min-width:650px}
.user-management .notice{margin-top:12px}
@media(max-width:640px){
  .user-form{grid-template-columns:1fr}
}
