/* Shared project foundation: typography, controls, focus and print actions. */
:root{--project-font:"Kalameh",Tahoma,Arial,sans-serif;--project-gold:#e6bd66;--project-gold-light:#f2d99a;--project-ink:#17120a}
*{box-sizing:border-box}
html{scrollbar-gutter:stable}
body,button,input,select,textarea{font-family:var(--project-font)}
button,a{ -webkit-tap-highlight-color:transparent }
button{cursor:pointer;transition:box-shadow .25s ease,border-color .25s ease,filter .25s ease}
button:not(:disabled):hover{box-shadow:0 8px 24px #e6bd6622}
button:disabled{cursor:not-allowed}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--project-gold-light);outline-offset:3px}
input:not([type=checkbox]):not([type=radio]),select,textarea{transition:border-color .25s ease,box-shadow .25s ease,background-color .25s ease}
input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{border-color:var(--project-gold-light)!important;box-shadow:0 0 0 3px #e6bd6629,0 0 22px #e6bd661f!important;outline:none}
/* Premium, consistent ticket-print buttons */
.row-print,.ticket-print-button,.print-ticket-action,.toast-print{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:40px;padding:9px 16px;border:1px solid #f2d99a;border-radius:12px;background:linear-gradient(135deg,#f7e4ad 0%,#d8ad4f 42%,#a67b2b 100%);color:#17120a;font-weight:700;letter-spacing:.1px;white-space:nowrap;box-shadow:0 5px 16px #c89b3d26,inset 0 1px #fff8;text-shadow:0 1px #fff5}
.row-print::before,.ticket-print-button::before,.print-ticket-action::before,.toast-print::before{content:"";position:absolute;inset:-20% auto -20% -45%;width:38%;background:linear-gradient(90deg,transparent,#fff9,transparent);transition:left .55s ease;z-index:-1}
.row-print:hover::before,.ticket-print-button:hover::before,.print-ticket-action:hover::before,.toast-print:hover::before{left:120%}
.row-print::after,.ticket-print-button::after,.print-ticket-action::after,.toast-print::after{content:"▤";font-size:16px;line-height:1}
.row-print:hover,.ticket-print-button:hover,.print-ticket-action:hover,.toast-print:hover{border-color:#fff0b8;box-shadow:0 8px 24px #e6bd6640,0 0 0 3px #e6bd6612;filter:brightness(1.04)}
.row-print:active,.ticket-print-button:active,.print-ticket-action:active,.toast-print:active{}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Stage 16: typography rhythm and print-action hierarchy */
body,button,input,select,textarea,label,th,td,p,a{letter-spacing:.08px}
button,a{touch-action:manipulation}
button{white-space:nowrap}
.row-print-stack{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:7px;min-width:126px}
.row-print-stack .row-print{width:100%;min-height:37px;padding:8px 10px;border-radius:11px;font-size:12px;letter-spacing:.12px}
.row-print-stack .row-print-direct{background:linear-gradient(135deg,#fff0b5 0%,#e3bd61 45%,#b78932 100%);border-color:#f8df98;color:#201707;box-shadow:0 5px 15px #c89b3d2a,inset 0 1px #fff9}
.row-print-stack .row-print-preview{background:linear-gradient(135deg,#25221b,#17150f);border:1px solid #796237;color:#f3d997;box-shadow:inset 0 1px #ffffff0b}
.row-print-stack .row-print-preview::after{content:"◉";font-size:14px}
.row-print-stack .row-print-direct::after{content:"▣";font-size:15px}
@media(max-width:600px){.row-print-stack{min-width:112px}.row-print-stack .row-print{font-size:11px;padding:8px 6px}}


/* Stage 17: stable rendering, RTL defaults, and unified interactions */
html,body{direction:rtl}
body{ text-align:right }
button,a{transition:color .22s ease,background-color .25s ease,border-color .25s ease,box-shadow .25s ease,filter .25s ease!important}
button:not(:disabled):hover{box-shadow:0 7px 22px rgba(230,189,102,.16)!important;filter:brightness(1.035)}
button:not(:disabled):active{filter:brightness(.97)}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{direction:rtl;text-align:center!important;appearance:none!important;-webkit-appearance:none!important;background-image:none!important;padding-inline:12px!important;outline:none!important}
select{background-image:none!important;padding-inline:12px!important}
input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{display:none!important;-webkit-appearance:none!important}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]):hover,select:hover,textarea:hover{background-image:linear-gradient(110deg,transparent 0%,rgba(242,217,154,0) 34%,rgba(242,217,154,.22) 48%,rgba(242,217,154,0) 62%,transparent 100%)!important;background-size:240% 100%;background-position:120% 0;background-repeat:no-repeat!important;animation:stage17GlassSweep .9s ease-in-out both!important;border-color:#f2d99a!important;box-shadow:0 5px 20px rgba(214,181,104,.12),inset 0 0 0 1px rgba(242,217,154,.05)!important}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]):focus,select:focus,textarea:focus{background-color:#17150f!important;border-color:#f2d99a!important;box-shadow:0 0 0 3px rgba(230,189,102,.16),0 0 22px rgba(230,189,102,.12)!important;outline:none!important}
@keyframes stage17GlassSweep{from{background-position:120% 0}to{background-position:-120% 0}}
[role=alert],.error,.form-message,.edit-feedback,.message,.success-toast,.admin-modal-box,.hint{direction:rtl;text-align:center}
.message,.form-message,.edit-feedback,.hint{margin-inline:auto}
.admin-modal-close,.toast-close,.modal-close,.close-button,.message-icon,.admin-modal-icon,.success-toast::before{display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;line-height:1!important}
.table-wrap,.table-shell,.table-shell *{min-width:0}
.tab-slider,.night-slider{transition:left .42s cubic-bezier(.22,.8,.25,1),top .42s cubic-bezier(.22,.8,.25,1),width .28s ease,height .28s ease!important}
.search-toggle-icon{display:inline-flex;align-items:center;justify-content:center}
.search-toggle-icon svg{display:block}
.night-arrow:disabled,.table-scroll-arrow:disabled{cursor:not-allowed!important;opacity:.3!important;filter:saturate(.45)!important;box-shadow:none!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

input:not([type=checkbox]):not([type=radio]):not([type=hidden]):focus,select:focus,textarea:focus{animation:none!important;background-image:none!important;background-position:0 0}

/* RTL labels, centered compact actions, and non-moving focus state */
.field label,.edit-grid label,.search-field>span{direction:rtl;text-align:right!important;align-items:flex-start!important;justify-content:flex-start!important}
.section-heading,.section-heading h2,.section-number,.table-wrap th,.table-wrap td{text-align:center}
.success-toast{left:0!important;right:0!important;margin-inline:auto!important}

/* کنترل‌های یکپارچهٔ تمام صفحات */
label, .field label, .search-field, .form-group label { text-align:center; }
label:not(.custom-select-option), .field label, .form-group label, .search-field { align-items:center; }
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration { display:none; -webkit-appearance:none; appearance:none; }
input[type="search"]::-ms-clear, input[type="search"]::-ms-reveal { display:none; width:0; height:0; }
select { appearance:none !important; -webkit-appearance:none !important; background-image:none !important; }
input:not([type="checkbox"]):not([type="radio"]), textarea { text-align:center !important; }
input:not([type="checkbox"]):not([type="radio"]), textarea, .custom-select-trigger {
  background-image: linear-gradient(105deg,transparent 0%,transparent 37%,rgba(255,245,208,0) 44%,rgba(255,245,208,.2) 50%,rgba(255,245,208,0) 56%,transparent 64%,transparent 100%) !important;
  background-size:250% 100% !important; background-position:130% 0; background-repeat:no-repeat !important;
}
input:not([type="checkbox"]):not([type="radio"]):hover, textarea:hover, .custom-select-trigger:hover,
input:not([type="checkbox"]):not([type="radio"]):focus, textarea:focus, .custom-select.is-open .custom-select-trigger {
  animation: sougvareGlassPass .9s ease both;
  border-color:#f2d99a !important;
  box-shadow:0 0 0 3px rgba(230,189,102,.12),0 0 24px rgba(230,189,102,.12),inset 0 0 0 1px rgba(242,217,154,.08) !important;
}
@keyframes sougvareGlassPass { from { background-position:130% 0; } to { background-position:-130% 0; } }
.custom-select { position:relative; display:block; width:100%; min-width:0; }
.custom-select-native { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:0 !important; opacity:0 !important; pointer-events:none !important; overflow:hidden !important; border:0 !important; }
.custom-select-trigger { position:relative; display:flex; align-items:center; justify-content:center; gap:12px; width:100%; min-height:44px; padding:10px 14px; overflow:hidden; border:1px solid rgba(214,181,104,.3); border-radius:11px; color:#f5f1e8; background-color:rgba(20,20,20,.95); cursor:pointer; transition:border-color .25s ease,box-shadow .25s ease,background-color .25s ease; }
.custom-select-value { flex:1; text-align:center; }
.custom-select-chevron { display:flex; align-items:center; justify-content:center; width:22px; height:22px; flex:0 0 22px; border-radius:7px; color:#f2d99a; background:rgba(230,189,102,.1); font-size:20px; line-height:1; }
.custom-select.is-open .custom-select-chevron { color:#17120a; background:#e6bd66; }
.custom-select-menu { position:fixed; z-index:1200; inset-inline:auto; top:auto; left:0; display:grid; gap:4px; max-height:260px; padding:7px; overflow-y:auto; border:1px solid rgba(230,189,102,.42); border-radius:13px; background:linear-gradient(145deg,rgba(28,25,19,.99),rgba(12,12,12,.99)); box-shadow:0 18px 42px rgba(0,0,0,.55),0 0 24px rgba(230,189,102,.08); opacity:1; animation:selectMenuIn .2s ease both; }
.custom-select-menu[hidden] { display:none; }
.custom-select-option { display:flex; align-items:center; justify-content:center; min-height:39px; width:100%; padding:8px 12px; border:1px solid transparent; border-radius:8px; color:#f4eee0; background:transparent; text-align:center; cursor:pointer; transition:background-color .18s ease,border-color .18s ease,color .18s ease; }
.custom-select-option:hover, .custom-select-option[aria-selected="true"] { border-color:rgba(230,189,102,.25); background:rgba(230,189,102,.13); color:#f2d99a; }
.custom-select-option:disabled { opacity:.45; cursor:not-allowed; }
.custom-select.has-error .custom-select-trigger { border-color:#e88989 !important; }
@keyframes selectMenuIn { from { opacity:0; } to { opacity:1; } }
.sougvare-toast-stack { position:fixed; z-index:40000; top:0; left:0; right:0; display:flex; flex-direction:column; align-items:center; gap:9px; width:100%; padding:14px 12px 0; pointer-events:none; }
.sougvare-toast { position:relative; display:flex; align-items:center; justify-content:center; gap:10px; width:min(100%,560px); min-height:56px; padding:10px 12px; border:1px solid rgba(230,189,102,.4); border-radius:14px; color:#f8f1e3; background:linear-gradient(135deg,rgba(30,27,20,.98),rgba(12,12,12,.98)); box-shadow:0 14px 40px rgba(0,0,0,.48),0 0 20px rgba(230,189,102,.08); text-align:center; pointer-events:auto; animation:toastArrive .32s ease both; }
.sougvare-toast.is-error { border-color:rgba(232,137,137,.65); }
.sougvare-toast.is-success { border-color:rgba(117,201,154,.6); }
.sougvare-toast.is-warning { border-color:rgba(230,189,102,.7); }
.sougvare-toast-icon { display:flex; align-items:center; justify-content:center; flex:0 0 25px; width:25px; height:25px; border-radius:50%; color:#17120a; background:#e6bd66; font-weight:900; }
.sougvare-toast.is-error .sougvare-toast-icon { color:#230b0b; background:#e88989; }
.sougvare-toast.is-success .sougvare-toast-icon { color:#071c10; background:#75c99a; }
.sougvare-toast-text { flex:1; min-width:0; text-align:center; overflow-wrap:anywhere; }
.sougvare-toast-close { display:flex; align-items:center; justify-content:center; flex:0 0 30px; width:30px; height:30px; padding:0; border:1px solid rgba(255,255,255,.13); border-radius:9px; color:#f5f1e8; background:rgba(255,255,255,.06); font-size:22px; line-height:1; }
.sougvare-toast-close:hover { border-color:rgba(230,189,102,.65); color:#f2d99a; }
.sougvare-toast.is-leaving { animation:toastLeave .28s ease both; }
@keyframes toastArrive { from { top:-24px; opacity:0; } to { top:0; opacity:1; } }
@keyframes toastLeave { from { opacity:1; top:0; } to { opacity:0; top:-18px; } }
@media (prefers-reduced-motion:reduce) { .custom-select-menu,.sougvare-toast { animation-duration:.01ms !important; } }

html body input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):hover,
html body input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):focus,
html body textarea:hover, html body textarea:focus,
html body .custom-select-trigger:hover, html body .custom-select.is-open .custom-select-trigger {
  background-image:linear-gradient(105deg,transparent 0%,transparent 37%,rgba(255,245,208,0) 44%,rgba(255,245,208,.2) 50%,rgba(255,245,208,0) 56%,transparent 64%,transparent 100%) !important;
  background-size:250% 100% !important; background-position:130% 0; background-repeat:no-repeat !important; animation:sougvareGlassPass .9s ease both !important;
}

/* مرحلهٔ نوزدهم: حذف کامل نشانگر سلکت‌ها، افکت عبور شیشه‌ای واقعی و اسکرول مخفی */
select,
.custom-select-trigger,
.field select,
.edit-grid select,
.search-field select {
  background-image: none !important;
  padding-inline: 12px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}
.custom-select-trigger { justify-content: center !important; gap: 0 !important; }
.custom-select-value { width: 100%; flex: 1 1 100%; text-align: center !important; }
.custom-select-chevron { display: none !important; }
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
textarea,
.custom-select-trigger {
  background-repeat: no-repeat !important;
  background-size: 250% 100% !important;
  background-position: 135% 0;
}
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):hover,
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):focus,
textarea:hover, textarea:focus,
.custom-select-trigger:hover,
.custom-select.is-open .custom-select-trigger,
.sougvare-glass-pass {
  background-image: linear-gradient(105deg,transparent 0%,transparent 36%,rgba(255,245,208,0) 43%,rgba(255,245,208,.24) 50%,rgba(255,245,208,0) 57%,transparent 65%,transparent 100%) !important;
  background-size: 250% 100% !important;
  background-position: 135% 0;
  animation: sougvareGlassPass .88s ease-in-out both !important;
  border-color: #f2d99a !important;
  box-shadow: 0 0 0 3px rgba(230,189,102,.12),0 0 24px rgba(230,189,102,.12),inset 0 0 0 1px rgba(242,217,154,.08) !important;
}
@keyframes sougvareGlassPass { from { background-position: 135% 0; } to { background-position: -135% 0; } }
.table-wrap,.night-track,.custom-select-menu,.segmentation-dates,.dates-container,.slots-container {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}
.table-wrap::-webkit-scrollbar,.night-track::-webkit-scrollbar,.custom-select-menu::-webkit-scrollbar,
.segmentation-dates::-webkit-scrollbar,.dates-container::-webkit-scrollbar,.slots-container::-webkit-scrollbar {
  display: none !important; width: 0 !important; height: 0 !important;
}
@media(prefers-reduced-motion:reduce) {
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):hover,
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):focus,
  textarea:hover,textarea:focus,.custom-select-trigger:hover,.custom-select.is-open .custom-select-trigger,.sougvare-glass-pass { animation-duration:.01ms !important; }
}

/* Stage 20: shared moving glass pass, without browser arrows or clear glyphs */
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):hover,
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):focus,
textarea:hover,textarea:focus,.custom-select-trigger:hover,.custom-select.is-open .custom-select-trigger,.sougvare-glass-pass {
  background-position: 135% 0;
  background-repeat:no-repeat !important;
  animation:sougvareGlassPass .88s ease-in-out both !important;
}
input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-results-button,input[type="search"]::-webkit-search-results-decoration {display:none !important;-webkit-appearance:none !important;appearance:none !important;}
input[type="search"]::-ms-clear,input[type="search"]::-ms-reveal {display:none !important;width:0;height:0;}
input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button {-webkit-appearance:none !important;margin:0 !important;}
input[type="number"] {-moz-appearance:textfield !important;appearance:textfield !important;}
select,select:hover,select:focus {appearance:none !important;-webkit-appearance:none !important;background-image:none !important;}
.custom-select-trigger::after,.custom-select-chevron {display:none !important;content:none !important;}
.custom-select-trigger {background-color:rgba(20,20,20,.95) !important;}
.sougvare-particles {position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.58;}
body > :not(.sougvare-particles):not(.sougvare-toast-stack):not(.sougvare-cursor):not(.sougvare-cursor-halo):not(.sougvare-confirm-overlay):not(script) {position:relative;z-index:1;}
.welcome-screen {position:fixed !important;z-index:30000 !important;}
@media(prefers-reduced-motion:reduce){.sougvare-particles{display:none!important;}}

/* Stage 20: align ticket icons and labels as one centered control */
.row-print-stack{align-items:center!important;justify-content:center!important;min-width:132px;}
.row-print-stack .row-print{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-width:132px;line-height:1.25!important;text-align:center!important;vertical-align:middle;}
.row-print-stack .row-print::after{display:inline-flex;align-items:center;justify-content:center;flex:0 0 16px;width:16px;height:16px;line-height:1;font-size:14px;}

/* Final Stage 20 control normalization: native select decorations off, animated highlight on */
html body select,html body select:hover,html body select:focus,html body .field select,html body .field select:hover,html body .field select:focus,html body .edit-grid select,html body .search-field select {appearance:none!important;-webkit-appearance:none!important;background-image:none!important;padding-inline:12px!important;}
html body input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):hover,
html body input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):focus,
html body textarea:hover,html body textarea:focus,
html body .custom-select-trigger:hover,html body .custom-select.is-open .custom-select-trigger,
html body .sougvare-glass-pass {background-image:linear-gradient(105deg,transparent 0%,transparent 36%,rgba(255,245,208,0) 43%,rgba(255,245,208,.24) 50%,rgba(255,245,208,0) 57%,transparent 65%,transparent 100%)!important;background-size:250% 100%!important;background-position:135% 0;background-repeat:no-repeat!important;animation:sougvareGlassPass .88s ease-in-out both!important;}

html body .field select:hover,html body .edit-grid select:hover,html body .search-field select:hover,html body .field select:focus,html body .edit-grid select:focus,html body .search-field select:focus {background-image:none!important;}
@media print { .sougvare-particles { display:none !important; } }

/* Stage 21: hide scrollbar chrome without disabling page scrolling or reserving width */
html,body { scrollbar-width:auto; -ms-overflow-style:auto; scrollbar-gutter:auto; }
html::-webkit-scrollbar,body::-webkit-scrollbar { display:block; width:12px; height:12px; }

/* Keep every custom list above adjacent controls and avoid clipping in animated panels. */
.custom-select { position:relative; min-width:0; }
.custom-select.is-open { z-index:50001 !important; }
.custom-select-menu { z-index:50002 !important; max-width:calc(100vw - 16px); }
.custom-select-menu[hidden] { display:none !important; }
.range-settings-form { animation:none !important; }

/* Real, consistent SVG icons for the two ticket actions. */
.row-print-stack .row-print { display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:8px !important; text-align:center !important; }
.row-print-stack .row-print::after { content:none !important; display:none !important; }
.row-print-icon { display:block; flex:0 0 17px; width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.row-print-stack .row-print span { display:inline-block; line-height:1.3; text-align:center; }


/* Stage 22: stable scrolling, visible validation through the shared toast, and aligned print SVGs */
html { scrollbar-gutter: stable !important; }
html.welcome-open { overflow-y: scroll !important; }
body.welcome-open { overflow: hidden !important; }
.row-print-direct .row-print-icon { margin-top: 1px; }
.row-print-preview .row-print-icon { margin-top: 2px; }
/* Keep validation feedback in the shared toast, never in a browser bubble over a field. */
input:invalid, select:invalid, textarea:invalid { box-shadow: none; }

/* Keep toast notifications fixed at the top; never let the background-layer rule reposition them in document flow. */
body > .sougvare-toast-stack { position:fixed !important; top:0 !important; left:0 !important; right:0 !important; bottom:auto !important; z-index:40000 !important; }

/* Stage 23: final mobile tab layout; this shared stylesheet loads after admin styles. */
@media(max-width:720px){
  body .tabs{grid-template-columns:minmax(0,1fr)!important;grid-auto-rows:minmax(46px,auto)!important}
  body .tabs>.tab{grid-column:1!important;width:100%!important;min-height:46px!important;height:100%!important}
}
body .tabs>.tab-slider{bottom:auto!important;transition:left .28s ease,top .28s ease,width .28s ease,height .28s ease!important}
body .table-scroll-controls button svg,body .table-scroll-arrow svg{display:block!important;margin:auto!important;align-self:center!important;justify-self:center!important}


/* Stage 24: exact tab spacing, centered controls, stable modal scroll, and shared logout confirmation */
.tabs{padding:0!important}
.tabs>.tab{box-shadow:0 7px 22px rgba(230,189,102,0.2)!important}
.tabs>.tab.active{box-shadow:0 7px 22px rgba(230,189,102,0.2)!important}
#reservationRows{background:rgba(18,18,18,.2)!important}
#reservationRows tr{background-color:rgba(18,18,18,.2)!important}
#reservationRows td{background-color:rgba(18,18,18,.2)!important;background-clip:padding-box!important}
#reservationRows tr:hover{background-color:rgba(230,189,102,.08)!important}
.inperson-panel .field>label,.inperson-panel label{width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;direction:rtl!important}
button,a,[role=button]{gap:8px}
button svg, a svg, [role=button] svg{display:block;flex:0 0 auto;align-self:center;vertical-align:middle}
button .icon,button i{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;line-height:1}
.capacity-form button:not(:hover):not(:focus-visible){box-shadow:none!important;filter:none!important}
.capacity-form button:focus:not(:focus-visible){outline:none!important;box-shadow:none!important;filter:none!important}
.capacity-form button:hover{filter:brightness(1.06)!important}
.capacity-form button:not(:hover){transition:background-color .15s ease,filter .15s ease!important}
html.sougvare-modal-open{overflow:hidden!important;scrollbar-gutter:stable!important}
body.sougvare-modal-open{position:fixed!important;left:0!important;right:0!important;width:100%!important;overflow:hidden!important;overscroll-behavior:none!important}
.sougvare-confirm-overlay,body>.sougvare-confirm-overlay{position:fixed!important;inset:0!important;z-index:50000!important;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.76);backdrop-filter:blur(5px)}
.sougvare-confirm-overlay[hidden]{display:none!important}
.sougvare-confirm-box{width:min(100%,420px);padding:28px 24px 22px;border:1px solid rgba(230,189,102,.5);border-radius:22px;background:linear-gradient(145deg,#1c1912,#090909);color:#f5ecd8;box-shadow:0 20px 70px rgba(0,0,0,.6);text-align:center}
.sougvare-confirm-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0 auto 12px;border:1px solid #b88c42;border-radius:50%;color:#e6bd66;font-size:25px;line-height:1}
.sougvare-confirm-box h2{margin:0 0 10px;color:#e6bd66;font-size:22px}
.sougvare-confirm-box p{margin:0 0 22px;line-height:1.9;color:#e4dccb}
.sougvare-confirm-actions{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.sougvare-confirm-actions button{min-height:42px;flex:1 1 140px;padding:10px 14px;border-radius:10px;font:inherit;font-weight:800}
.sougvare-confirm-yes{background:linear-gradient(120deg,#7a3029,#c95d4f)!important;border:1px solid #b74b40!important;color:#fff!important}
.sougvare-confirm-no{background:#262117!important;border:1px solid #6d572d!important;color:#f2d99a!important}
.welcome-content{animation:welcomeContentIn 1s .12s cubic-bezier(.22,.75,.25,1) both!important}
.welcome-screen.is-leaving{pointer-events:none!important}
@keyframes welcomeContentIn{from{opacity:0;top:-18px}to{opacity:1;top:0}}
@keyframes welcomeLeaveUp{from{top:0;visibility:visible}to{top:-105vh;visibility:hidden}}
@media(max-width:600px){.sougvare-confirm-box{padding:24px 17px 18px}.sougvare-confirm-actions{flex-direction:column}.sougvare-confirm-actions button{width:100%;flex-basis:auto}}

/* Stage 25: tab shadow is hover-only; keep the resting state clean. */
.tabs>.tab,
.tabs>.tab.active{box-shadow:none!important}
.tabs>.tab:hover,
.tabs>.tab.active:hover{box-shadow:0 7px 22px rgba(230,189,102,.2)!important}
/* Logout is a gentle red action, while the main visual identity remains gold. */
.admin-header-actions .admin-logout-link,
body>header a[href*="logout.php"]{background:linear-gradient(135deg,#542d2b,#3a201f)!important;border-color:#98605a!important;color:#ffe3df!important}
.admin-header-actions .admin-logout-link:hover,
body>header a[href*="logout.php"]:hover{background:linear-gradient(135deg,#693532,#472321)!important;border-color:#c47a70!important}
/* Mid-size layouts: title above, two equal actions below, centered. */
@media (min-width:721px) and (max-width:1024px){
 body>header{flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;gap:12px!important}
 body>header h1{width:100%!important;text-align:center!important;align-self:center!important}
 body>header>.admin-header-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;width:min(100%,440px)!important;justify-content:center!important}
 body>header>.admin-header-actions .admin-welcome{grid-column:1/-1!important;text-align:center!important;white-space:normal!important}
 body>header>.admin-header-actions .admin-capacity-link,
 body>header>.admin-header-actions .admin-logout-link{width:100%!important;min-width:0!important;flex:initial!important}
}

/* Stage 26: custom black-and-gold cursor for desktop pointers; native touch behavior is preserved. */
@media (hover:hover) and (pointer:fine) and (min-width:768px){
 html,body,body *{cursor:none!important}
 .sougvare-cursor{position:fixed;left:0;top:0;width:19px;height:19px;pointer-events:none!important;z-index:60000!important;border:2px solid #e6bd66;border-radius:50%;background:rgba(8,8,8,.72);box-shadow:0 0 7px rgba(230,189,102,.38),inset 0 0 0 2px rgba(0,0,0,.8);opacity:0;transition:opacity .12s ease}
 .sougvare-cursor::before{content:"";position:absolute;left:5px;top:5px;width:5px;height:5px;border-radius:50%;background:#f2d99a;box-shadow:0 0 6px rgba(242,217,154,.65)}
 .sougvare-cursor-halo{position:fixed;left:0;top:0;width:37px;height:37px;border:1px solid rgba(230,189,102,.24);border-radius:50%;pointer-events:none!important;z-index:59999!important;box-shadow:0 0 16px rgba(230,189,102,.08);opacity:0}
 .sougvare-cursor.is-visible,.sougvare-cursor-halo.is-visible{opacity:1}
 body:has(.sougvare-cursor.is-visible){cursor:none}
}

@media print{.sougvare-cursor,.sougvare-cursor-halo{display:none!important}}


/* Stage 28: delayed black-and-gold cursor halo and a large custom right-click menu. */
@media (hover:hover) and (pointer:fine) and (min-width:768px) {
  .sougvare-cursor { width:24px !important; height:24px !important; border-width:2px; box-shadow:0 0 12px rgba(230,189,102,.72),0 0 26px rgba(230,189,102,.24),inset 0 0 0 2px rgba(0,0,0,.9) !important; }
  .sougvare-cursor::before { left:7px !important; top:7px !important; width:6px !important; height:6px !important; box-shadow:0 0 10px rgba(242,217,154,.9) !important; }
  .sougvare-cursor-halo { width:52px !important; height:52px !important; border-color:rgba(230,189,102,.44) !important; box-shadow:0 0 24px rgba(230,189,102,.24),inset 0 0 16px rgba(230,189,102,.06) !important; }
}
.sougvare-context-menu {
  position:fixed; z-index:70000; width:min(340px,calc(100vw - 24px)); padding:12px;
  border:1px solid rgba(230,189,102,.72); border-radius:18px;
  background:linear-gradient(145deg,rgba(30,26,17,.98),rgba(7,7,7,.98));
  color:#f8efd8; box-shadow:0 18px 65px rgba(0,0,0,.72),0 0 28px rgba(230,189,102,.14);
  backdrop-filter:blur(14px); direction:rtl; font-family:var(--project-font); 
}
.sougvare-context-menu[hidden] { display:none !important; }
.sougvare-context-menu__title { padding:8px 12px 12px; margin-bottom:7px; border-bottom:1px solid rgba(230,189,102,.22); color:#f2d99a; font-size:17px; font-weight:800; text-align:center; }
.sougvare-context-menu__item { display:flex; align-items:center; gap:12px; width:100%; min-height:48px; padding:10px 13px; border:1px solid transparent; border-radius:11px; background:transparent; color:#f7f0e2; text-align:right; font-size:16px; white-space:normal; cursor:pointer; }
.sougvare-context-menu__item:hover,.sougvare-context-menu__item:focus-visible { background:rgba(230,189,102,.12); border-color:rgba(230,189,102,.45); color:#ffe7a7; box-shadow:0 0 18px rgba(230,189,102,.1); }
.sougvare-context-menu__item:disabled { opacity:.35; cursor:not-allowed; }
.sougvare-context-menu__icon { display:inline-grid; place-items:center; flex:0 0 30px; width:30px; height:30px; border:1px solid rgba(230,189,102,.38); border-radius:9px; color:#f2d99a; background:rgba(230,189,102,.07); font-size:17px; }
@media (max-width:767px),(pointer:coarse) { .sougvare-context-menu { display:none !important; } }
@media print { .sougvare-context-menu { display:none !important; } }


/* Stage 29: stable dark page canvas, native cursor/context menu, and scroll-safe welcome overlay. */
:root { color-scheme: dark; --page-canvas:#090909; }
html {
  min-height:100%;
  overflow-x:clip !important;
  overflow-y:scroll !important;
  scrollbar-gutter:stable !important;
  background:#090909 !important;
}
body {
  min-height:100vh;
  overflow-x:clip !important;
  background-color:#090909 !important;
  scrollbar-color:#6e592f #090909;
}
html::-webkit-scrollbar, body::-webkit-scrollbar { width:12px; background:#090909; }
html::-webkit-scrollbar-track, body::-webkit-scrollbar-track { background:#090909; }
html::-webkit-scrollbar-thumb, body::-webkit-scrollbar-thumb { background:#5e4a25; border:3px solid #090909; border-radius:10px; }
html::-webkit-scrollbar-thumb:hover, body::-webkit-scrollbar-thumb:hover { background:#a88643; }
/* Never replace the Windows/browser pointer with a fake circle. */
html, body, body *, body *::before, body *::after { cursor:auto; }
button, a, [role="button"], .custom-select-trigger { cursor:pointer; }
button:disabled, [aria-disabled="true"] { cursor:not-allowed; }
.sougvare-cursor { display:none !important; }
.sougvare-cursor-halo {
  position:fixed; width:48px; height:48px; pointer-events:none !important; z-index:59999 !important;
  border:0 !important; border-radius:50%; opacity:0;
  background:radial-gradient(circle,rgba(230,189,102,.12) 0%,rgba(230,189,102,.065) 34%,rgba(230,189,102,0) 74%);
  box-shadow:none !important; transition:opacity .18s ease;
}
.sougvare-cursor-halo.is-visible { opacity:1; }
/* Keep the native Windows context menu; websites cannot recolor the operating-system menu. */
.sougvare-context-menu { display:none !important; }
html.welcome-open { overflow-y:scroll !important; scrollbar-gutter:stable !important; }
body.welcome-open { position:relative !important; inset:auto !important; width:auto !important; overflow-x:clip !important; overflow-y:visible !important; }
.welcome-screen {
  position:fixed !important; inset:0 !important; width:100% !important; height:100vh !important; height:100dvh !important;
  min-height:0 !important; overflow:visible !important; overscroll-behavior:contain !important;
  animation:none;
}
.welcome-screen.is-leaving {
  animation:sougvareWelcomeExit .82s cubic-bezier(.22,.72,.22,1) both !important;
  pointer-events:none !important;
}
@keyframes sougvareWelcomeExit {
  0% { opacity:1; visibility:visible; }
  65% { opacity:.35; visibility:visible; }
  100% { opacity:0; visibility:hidden; }
}
@media (max-width:767px),(pointer:coarse) { .sougvare-cursor-halo { display:none !important; } }
@media (prefers-reduced-motion:reduce) { .welcome-screen.is-leaving { animation-duration:.01ms !important; } }
@media print { .sougvare-cursor-halo { display:none !important; } }

/* Stage 30: restore the branded cursor on every page without replacing the native context menu. */
@media (hover:hover) and (pointer:fine) and (min-width:768px) {
  html, body, body * { cursor:none !important; }
  .sougvare-cursor {
    display:block !important; position:fixed; left:0; top:0; width:24px; height:24px; z-index:80000;
    pointer-events:none !important; border:2px solid #f0ce79; border-radius:7px;
    background:linear-gradient(145deg,rgba(8,8,8,.97),rgba(35,27,12,.96));
    box-shadow:0 0 0 1px rgba(0,0,0,.85),0 0 13px rgba(230,189,102,.65),inset 0 0 8px rgba(230,189,102,.15);
    opacity:0; transition:opacity .12s ease,width .12s ease,height .12s ease,border-radius .12s ease;
  }
  .sougvare-cursor::before { content:""; position:absolute; width:5px; height:5px; left:7px; top:7px; border-radius:50%; background:#ffe9ad; box-shadow:0 0 9px #f2d99a; }
  .sougvare-cursor.is-visible { opacity:1; }
  .sougvare-cursor.is-pressed { width:20px; height:20px; border-radius:50%; }
  .sougvare-cursor-halo {
    display:block !important; position:fixed; left:0; top:0; width:54px; height:54px; z-index:79999;
    pointer-events:none !important; border:1px solid rgba(230,189,102,.3) !important; border-radius:50%; opacity:0;
    background:radial-gradient(circle,rgba(230,189,102,.18) 0%,rgba(230,189,102,.09) 36%,rgba(230,189,102,0) 74%);
    box-shadow:0 0 25px rgba(230,189,102,.18) !important; transition:opacity .16s ease;
  }
  .sougvare-cursor-halo.is-visible { opacity:1; }
}
.sougvare-context-menu { display:none !important; }

/* Keep the scrollbar gutter and its track dark, including while overlays lock page scrolling. */
:root { color-scheme:dark; --page-canvas:#090909; }
html {
  min-height:100%; background:#090909 !important; overflow-x:clip !important;
  overflow-y:scroll !important; scrollbar-gutter:stable !important; scrollbar-color:#6e592f #090909;
}
body { min-height:100vh; background-color:#090909 !important; overflow-x:clip !important; }
html::-webkit-scrollbar, body::-webkit-scrollbar { width:12px; background:#090909; }
html::-webkit-scrollbar-track, body::-webkit-scrollbar-track { background:#090909; }
html::-webkit-scrollbar-thumb, body::-webkit-scrollbar-thumb { background:#5e4a25; border:3px solid #090909; border-radius:10px; }
html::-webkit-scrollbar-thumb:hover, body::-webkit-scrollbar-thumb:hover { background:#a88643; }
html.sougvare-modal-open, html.welcome-open { overflow-y:scroll !important; scrollbar-gutter:stable !important; background:#090909 !important; }
body.sougvare-modal-open, body.welcome-open { background-color:#090909 !important; }

/* Restore the preferred welcome exit: the whole panel rises gently, then fades away. */
.welcome-screen.is-leaving {
  animation:sougvareWelcomeExit  .82s cubic-bezier(.22,.72,.22,1) both !important;
  pointer-events:none !important;
}
@keyframes sougvareWelcomeExit {
  0% { margin-top:0; opacity:1; visibility:visible; }
  68% { opacity:.72; visibility:visible; }
  100% { margin-top:-105vh; opacity:0; visibility:hidden; }
}

/* Avoid an unnecessary scroll at the initial reservation step by reclaiming a few pixels. */
.reservation-page.is-date-selection .page-header { margin-bottom:6px !important; }
.reservation-page.is-date-selection .page-header .brand-mark { margin-bottom:0 !important; }
.reservation-page.is-date-selection .page-header h1 { margin-top:2px !important; margin-bottom:2px !important; }
.reservation-page.is-date-selection .page-header p { margin-bottom:0 !important; }
.reservation-page.is-date-selection .reservation-card { margin-top:0 !important; }

/* Keep toast icon, message, and close control aligned in one centered flex row. */
.sougvare-toast { padding-inline:12px !important; }
.sougvare-toast-text { text-align:center !important; }
.sougvare-toast-close {
  position:static !important; inset:auto !important; align-self:center !important;
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  flex:0 0 30px !important; width:30px !important; min-width:30px !important; height:30px !important;
  padding:0 !important; margin:0 !important; line-height:1 !important; vertical-align:middle !important;
  font-family:Arial,sans-serif !important; font-size:21px !important; text-align:center !important;
}

/* Requested near-transparent table surfaces, keeping the gold header readable. */
.table-wrap table, .table-wrap table tbody, .table-wrap table tbody tr,
.table-wrap table tbody td, .table-shell table, .table-shell table tbody,
.table-shell table tbody tr, .table-shell table tbody td {
  background-color:#12121202 !important;
}
.table-wrap table th, .table-shell table th { background-color:#1b1914 !important; }
@media (prefers-reduced-motion:reduce) {
  .welcome-screen.is-leaving { animation-duration:.01ms !important; }
}

/* Stage 31: large black-and-gold arrow pointer (not a circular marker), with the native context menu preserved. */
@media (hover:hover) and (pointer:fine) and (min-width:768px) {
  html, body, body * { cursor:none !important; }
  .sougvare-cursor {
    display:block !important; position:fixed !important; left:0; top:0; width:36px !important; height:46px !important;
    z-index:80000 !important; pointer-events:none !important; border:0 !important; border-radius:0 !important;
    background:transparent !important; box-shadow:none !important; opacity:0; padding:0 !important;
    transition:opacity .12s ease !important;
  }
  .sougvare-cursor::before { content:none !important; display:none !important; }
  .sougvare-cursor svg { display:block; width:36px; height:46px; overflow:visible; filter:drop-shadow(0 2px 2px #000) drop-shadow(0 0 5px #e6bd6680); }
  .sougvare-cursor.is-visible { opacity:1 !important; }
  .sougvare-cursor.is-pressed { opacity:.82 !important; }
  .sougvare-cursor-halo {
    display:block !important; position:fixed !important; width:58px !important; height:58px !important;
    border:1px solid rgba(230,189,102,.35) !important; border-radius:50% !important; pointer-events:none !important;
    z-index:79999 !important; opacity:0; background:radial-gradient(circle,rgba(230,189,102,.17),rgba(230,189,102,.06) 42%,transparent 74%);
    box-shadow:0 0 22px rgba(230,189,102,.2) !important;
  }
  .sougvare-cursor-halo.is-visible { opacity:1 !important; }
}

/* Keep the page canvas and scrollbar track dark during overlay transitions. */
html, body { background-color:#090909 !important; }
html::-webkit-scrollbar-track, body::-webkit-scrollbar-track { background-color:#090909 !important; }
html::-webkit-scrollbar-thumb { background-color:#6e592f; border:3px solid #090909; border-radius:10px; }
html::-webkit-scrollbar-thumb:hover { background-color:#a88643; }

/* Align any inline SVG status/action icon with its label, with a stable visual gap. */
button:has(> svg) { display:inline-flex; align-items:center; justify-content:center; gap:8px; }
button:has(> svg) > svg { display:block; flex:0 0 auto; }


/* Stage 32: keep the black-and-gold custom pointer active over disabled controls too. */
@media (hover:hover) and (pointer:fine) and (min-width:768px) {
  html body button:disabled, html body .night-arrow:disabled, html body .table-scroll-arrow:disabled,
  html body .capacity-form button:disabled, html body [aria-disabled="true"] { cursor:none !important; }
}


/* Stage 33: keep the custom black-and-gold pointer above every in-page element. */
@media (hover:hover) and (pointer:fine) {
  html, html body, html body *:not(.sougvare-cursor):not(.sougvare-cursor-halo) { cursor:none !important; }
  html body .sougvare-cursor {
    display:block !important; position:fixed !important; left:0; top:0;
    z-index:2147483647 !important; pointer-events:none !important; opacity:0;
    width:36px !important; height:46px !important; padding:0 !important; margin:0 !important;
    border:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important;
  }
  html body .sougvare-cursor svg { display:block !important; width:36px !important; height:46px !important; overflow:visible !important; }
  html body .sougvare-cursor-halo {
    display:block !important; position:fixed !important; z-index:2147483646 !important;
    pointer-events:none !important; width:58px !important; height:58px !important;
    border:1px solid rgba(230,189,102,.38) !important; border-radius:50% !important;
    background:radial-gradient(circle,rgba(230,189,102,.19),rgba(230,189,102,.06) 42%,transparent 74%) !important;
    box-shadow:0 0 24px rgba(230,189,102,.22) !important;
  }
  html body .sougvare-cursor.is-visible, html body .sougvare-cursor-halo.is-visible { opacity:1 !important; }
}
@media (hover:none), (pointer:coarse), print {
  .sougvare-cursor, .sougvare-cursor-halo { display:none !important; }
}
