.nav-links .nav-portal:hover,
.nav-links .nav-portal:focus-visible {
  background: #302e29;
  color: #fff;
  box-shadow: 0 8px 22px rgba(23, 22, 20, .18);
  transform: translateY(-1px);
}


/* Owner-controlled monthly expense recurrence */
.automatic-expenses-panel { margin-bottom: 20px; }
.automatic-expenses-panel .panel-head { margin-bottom: 14px; }
.automatic-expense-summary { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; padding: 14px 16px; border-radius: 14px; background: #fff8e8; color: var(--muted); }
.automatic-expense-summary strong { color: var(--gold2); }
.automatic-expenses-modal { display: flex; flex-direction: column; width: min(720px, calc(100vw - 32px)); height: min(88vh, 820px); overflow: hidden; }
.automatic-expenses-modal .modal-head { flex: none; }
.automatic-expenses-modal form { display: flex; flex: 1; flex-direction: column; min-height: 0; }
.automatic-expenses-modal form > .help,
.automatic-expenses-modal .modal-actions { flex: none; }
.automatic-expense-list { display: grid; align-content: start; gap: 12px; flex: 1; min-height: 0; padding-block: 10px 14px; padding-inline: 2px 4px; overflow-y: auto; overscroll-behavior: contain; }
.automatic-expense-list-note { margin: 0 4px; color: var(--muted); font-size: .8rem; line-height: 1.6; }
.automatic-expense-option { display: grid; grid-template-columns: minmax(0, 1fr) minmax(170px, .55fr); align-items: end; gap: 18px; padding: 15px; border: 1px solid rgba(23, 22, 20, .11); border-radius: 15px; background: #fffdfa; }
.automatic-expense-option:has(.automatic-expense-toggle input:checked) { border-color: rgba(185, 131, 14, .45); background: #fff9eb; box-shadow: inset 0 0 0 1px rgba(185, 131, 14, .2); }
.automatic-expense-toggle { display: flex; align-items: center; gap: 12px; min-height: 48px; cursor: pointer; }
.automatic-expense-toggle input { width: 22px; height: 22px; flex: 0 0 22px; accent-color: var(--gold2); }
.automatic-expense-toggle span { display: grid; gap: 3px; }
.automatic-expense-toggle small { color: var(--muted); font-size: .82rem; }
.automatic-expense-option .field { margin: 0; }

@media (max-width: 620px) {
  .automatic-expenses-panel .panel-head { align-items: stretch; }
  .automatic-expenses-panel .btn-outline { width: 100%; }
  .automatic-expense-option { grid-template-columns: minmax(0, 1fr); gap: 10px; }
}

.login-preview-note {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-top: 28px;
  padding: 17px;
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 18px;
  background: rgba(255, 255, 255, .06);
}
.login-preview-note > span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border-radius: 13px;
  background: rgba(226, 173, 49, .16);
  color: #f1ca67;
}
.login-preview-note strong,
.login-preview-note small,
.role-copy strong,
.role-copy small { display: block; }
.login-preview-note small { color: rgba(255, 255, 255, .62); margin-top: 2px; }
.role-login-form { display: grid; gap: 12px; }
.remember-login { display: flex !important; align-items: flex-start; gap: 10px; padding: 11px 12px; border: 1px solid rgba(23,22,20,.1); border-radius: 14px; background: rgba(246,239,227,.55); cursor: pointer; }
.remember-login input { width: 18px; height: 18px; margin: 4px 0 0; flex: 0 0 auto; accent-color: var(--ink); }
.remember-login span { display: grid; gap: 1px; }
.remember-login strong { font-size: .9rem; }
.remember-login small { color: var(--muted); font-size: .78rem; }
.remember-login:focus-within { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(226,173,49,.12); }
.role-card {
  width: 100%;
  display: grid;
  grid-template-columns: 48px 1fr auto;
  align-items: center;
  gap: 14px;
  padding: 15px;
  border: 1px solid rgba(23, 22, 20, .1);
  border-radius: 18px;
  background: #fffdfa;
  color: var(--ink);
  text-align: right;
  font-family: inherit;
  cursor: pointer;
  transition: transform .2s, border-color .2s, box-shadow .2s, background .2s;
}
.role-card:hover,
.role-card:focus-visible {
  outline: 0;
  transform: translateY(-2px);
  border-color: rgba(185, 131, 14, .45);
  background: #fff;
  box-shadow: 0 12px 30px rgba(28, 23, 16, .09);
}
.role-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 15px;
  background: linear-gradient(145deg, #25231f, #3a3630);
  color: #efc75f;
}
.role-copy strong { font-size: 1.05rem; }
.role-copy small { color: var(--muted); margin-top: 1px; }
.role-arrow { color: var(--gold2); font-size: 1.25rem; transition: transform .2s; }
.role-card:hover .role-arrow { transform: translateX(-4px); }

/* Consistent dashboard controls, including native date/time fields */
.app-main input:not([type="hidden"]),
.app-main select,
.app-main textarea,
.employee-wrap input:not([type="hidden"]),
.employee-wrap select,
.employee-wrap textarea {
  min-height: 48px;
  max-width: 100%;
  padding: 9px 13px;
  border: 1px solid rgba(23, 22, 20, .12);
  border-radius: 14px;
  background-color: #fffdfa;
  color: var(--ink);
  font: inherit;
  line-height: 1.4;
  outline: none;
  transition: border-color .2s, box-shadow .2s, background-color .2s;
}
.app-main input:not([type="hidden"]):hover,
.app-main select:hover,
.app-main textarea:hover,
.employee-wrap input:not([type="hidden"]):hover,
.employee-wrap select:hover,
.employee-wrap textarea:hover { border-color: rgba(185, 131, 14, .35); }
.app-main input:not([type="hidden"]):focus,
.app-main select:focus,
.app-main textarea:focus,
.employee-wrap input:not([type="hidden"]):focus,
.employee-wrap select:focus,
.employee-wrap textarea:focus {
  border-color: var(--gold);
  background-color: #fff;
  box-shadow: 0 0 0 3px rgba(226, 173, 49, .13);
}
.app-main input[type="date"],
.app-main input[type="time"],
.app-main input[type="month"],
.app-main input[type="datetime-local"],
.employee-wrap input[type="date"],
.employee-wrap input[type="time"],
.employee-wrap input[type="month"],
.employee-wrap input[type="datetime-local"] {
  min-width: 190px;
  color-scheme: light;
  direction: rtl;
  cursor: pointer;
}
.app-main input::-webkit-calendar-picker-indicator,
.employee-wrap input::-webkit-calendar-picker-indicator {
  width: 20px;
  height: 20px;
  padding: 5px;
  border-radius: 7px;
  background-color: rgba(226, 173, 49, .14);
  cursor: pointer;
}
.app-main select,
.employee-wrap select { cursor: pointer; }
.app-main .toolbar input,
.app-main .toolbar select { min-height: 44px; background-color: #fff; }
.app-main .data-table select { min-width: 145px; min-height: 40px; padding-block: 6px; }
.app-main input[type="checkbox"],
.employee-wrap input[type="checkbox"] {
  width: 20px;
  height: 20px;
  min-height: 20px;
  padding: 0;
  border-radius: 6px;
  accent-color: var(--gold2);
  vertical-align: middle;
  cursor: pointer;
}
@media (max-width: 560px) {
  .app-main input[type="date"],
  .app-main input[type="time"],
  .app-main input[type="month"],
  .app-main input[type="datetime-local"],
  .employee-wrap input[type="date"],
  .employee-wrap input[type="time"],
  .employee-wrap input[type="month"],
  .employee-wrap input[type="datetime-local"] { width: 100%; min-width: 0; }
}

/* Employee dashboard: prevent the dues table from crushing the entry form */
.employee-wrap .grid-2 {
  grid-template-columns: minmax(330px, .82fr) minmax(0, 1.18fr);
  align-items: start;
}
.employee-wrap .grid-2 > * { min-width: 0; }
.employee-wrap .field input:not([type="checkbox"]),
.employee-wrap .field select,
.employee-wrap .field textarea {
  width: 100%;
  min-width: 0;
}
.employee-wrap .table-wrap { width: 100%; max-width: 100%; overflow-x: auto; }
.employee-wrap .data-table { min-width: 520px; }
@media (max-width: 760px) {
  .employee-wrap .grid-2 { grid-template-columns: minmax(0, 1fr); }
}

.reward-banner {
  background: linear-gradient(135deg, #b9830e, #8d6107);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .16);
  box-shadow: 0 10px 24px rgba(115, 76, 4, .18);
}

/* Admin featured-service toggle */
.lookup-result{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px;padding:14px 18px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.75)}.lookup-result span{color:var(--muted)}.lookup-found{border-color:rgba(25,122,81,.25);background:rgba(25,122,81,.06)}.lookup-missing{border-color:rgba(180,64,53,.2);background:rgba(180,64,53,.05)}.located-record{background:rgba(226,173,49,.13)!important;scroll-margin-top:160px}.member-lookup-actions .compact-add-form{display:flex;gap:8px}.member-lookup-actions #member-lookup{width:320px;min-width:320px;min-height:44px;border:1px solid var(--line);border-radius:12px;padding:7px 12px;font:inherit}@media(max-width:560px){.member-lookup-actions #member-lookup{width:100%;min-width:0}}
.checkbox-option{display:flex!important;align-items:center;gap:10px;min-height:50px;margin:0!important;padding:11px 14px;border:1px solid rgba(23,22,20,.12);border-radius:14px;background:#fffdfa;cursor:pointer}.checkbox-option input[type="checkbox"]{width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;flex:0 0 20px;margin:0;padding:0!important;accent-color:var(--gold2);cursor:pointer}.checkbox-option span{line-height:1.5}.checkbox-option:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px rgba(226,173,49,.12)}.employee-membership-modal{width:min(600px,100%);padding:24px}.employee-membership-modal .membership-enrollment-form{gap:.8rem}.employee-membership-modal .form-grid{gap:12px}.enrollment-consent{align-items:flex-start!important}.enrollment-consent input[type="checkbox"]{margin-top:3px}.enrollment-consent strong,.enrollment-consent small{display:block}.enrollment-consent small{margin-top:2px;color:var(--muted);font-size:.78rem}.membership-privacy-note{margin:0;padding:0;background:transparent;color:var(--muted);font-size:.82rem}.consent-field>.field-error{margin-top:6px}
.expense-completion-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px;padding:14px 18px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.72)}.expense-completion-notice strong,.expense-completion-notice span{display:block}.expense-completion-notice span{color:var(--muted);font-size:.9rem}.expense-completion-notice .btn-outline.btn-compact{margin-inline:12px}@media(max-width:760px){.expense-completion-notice{align-items:stretch;flex-direction:column}}
.featured-toggle{display:flex!important;align-items:center;gap:14px;margin:0;padding:15px 16px;border:1px solid rgba(23,22,20,.1);border-radius:17px;background:#fffdfa;cursor:pointer;transition:border-color .2s,background-color .2s,box-shadow .2s}.featured-toggle:hover{border-color:rgba(185,131,14,.38);background:#fff}.featured-toggle input{position:absolute;width:1px!important;height:1px!important;min-height:1px!important;margin:-1px;padding:0!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.featured-toggle-control{position:relative;width:52px;height:30px;flex:0 0 52px;border:1px solid rgba(23,22,20,.12);border-radius:999px;background:#ded8ce;transition:background-color .2s,border-color .2s,box-shadow .2s}.featured-toggle-control span{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 7px rgba(23,22,20,.2);transition:transform .22s}.featured-toggle input:checked+.featured-toggle-control{border-color:var(--gold2);background:linear-gradient(135deg,var(--gold),var(--gold2))}.featured-toggle input:checked+.featured-toggle-control span{transform:translateX(-22px)}.featured-toggle input:focus-visible+.featured-toggle-control{box-shadow:0 0 0 4px rgba(226,173,49,.2)}.featured-toggle-copy{min-width:0}.featured-toggle-copy strong,.featured-toggle-copy small{display:block}.featured-toggle-copy strong{font-size:.98rem}.featured-toggle-copy small{margin-top:2px;color:var(--muted);font-weight:500;line-height:1.55}

/* Mobile polish across public pages and dashboards */
.table-wrap { -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
@media (max-width: 760px) {
  body { overflow-x: hidden; }
  .site-header { position: sticky; }
  .app-header { position: relative; }
  .app-tabs-wrap { top: 0; }
  .app-tabs { scroll-snap-type: x proximity; padding-inline: 2px; }
  .app-tabs a { min-height: 44px; display: inline-flex; align-items: center; scroll-snap-align: start; }
  .app-main { padding-top: 24px; }
  .dashboard-heading { gap: 14px; margin-bottom: 18px; }
  .dashboard-heading > *,
  .dashboard-heading form,
  .dashboard-heading input:not([type="hidden"]) { width: 100%; }
  .dashboard-heading .inline-actions { width: 100%; }
  .dashboard-heading .inline-actions > *,
  .dashboard-heading .inline-actions form { flex: 1 1 180px; }
  .dashboard-heading .inline-actions button { width: 100%; }
  .toolbar,
  .toolbar form { width: 100%; }
  .toolbar input:not([type="hidden"]),
  .toolbar select { flex: 1 1 160px; }
  .panel-head { align-items: flex-start; }
  .modal-backdrop { padding: 10px; }
  .modal { max-height: calc(100dvh - 20px); padding: 20px 16px; border-radius: 22px; }
  .modal .inline-actions,
  .modal .inline-actions .btn,
  .modal .inline-actions .btn-outline { width: 100%; }
  .login-page { display: block; padding: 12px; }
  .login-shell { margin: 0 auto; border-radius: 25px; }
  .role-card { grid-template-columns: 44px minmax(0, 1fr) auto; gap: 11px; padding: 13px; }
  .role-icon { width: 44px; height: 44px; }
  .role-copy small { line-height: 1.55; }
  .client-shell { padding-top: 24px; }
  .client-copy h1 { overflow-wrap: anywhere; }
  .member-card { padding: 20px 16px; border-radius: 26px; }
  .member-card-top { align-items: flex-start; }
  .qr-real { max-width: 100%; }
}
@media (max-width: 480px) {
  .app-user-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .app-user-actions .quiet-btn { width: 100%; padding-inline: 9px; }
  .dashboard-heading h1, .dashboard-heading h2 { font-size: 1.8rem; }
  .panel-head { flex-wrap: wrap; }
  .stamp-row { grid-template-columns: repeat(3, 1fr); }
  .login-intro,
  .login-form { padding: 24px 18px; }
  .login-intro img { width: 84px; margin-bottom: 22px; }
  .login-intro h1 { font-size: 1.9rem; }
  .role-card { text-align: right; }
  .footer-grid { text-align: center; }
  .featured-toggle { align-items: flex-start; padding: 14px; }
}

/* Login interaction, validation, and keyboard accessibility */
.login-password { position: relative; }
.login-password input { padding-inline-end: 82px; }
#staff-login-password { text-align: right; padding-inline-start: 82px; padding-inline-end: 18px; }
.password-toggle {
  position: absolute;
  inset-inline-end: 8px;
  top: 50%;
  min-width: 62px;
  min-height: 38px;
  padding: 0 10px;
  transform: translateY(-50%);
  border: 0;
  border-radius: 10px;
  background: #eee7dc;
  color: #51483d;
  font: 700 .82rem Cairo, sans-serif;
  cursor: pointer;
}
.password-toggle:hover { background: #e5dac9; color: var(--ink); }
.password-toggle:focus-visible,
.login-form .btn:focus-visible,
.login-support-links a:focus-visible {
  outline: 3px solid rgba(185, 131, 14, .42);
  outline-offset: 3px;
}
.login-error {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  margin: 0 0 18px;
  padding: 13px 14px;
  border: 1px solid rgba(180, 64, 53, .22);
  border-radius: 14px;
  background: rgba(180, 64, 53, .07);
  color: #8f3028;
  font-weight: 800;
}
.login-error > span {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  flex: 0 0 25px;
  border-radius: 50%;
  background: #a83c33;
  color: #fff;
}
.login-error p { margin: 0; }
.login-error small { display: block; margin-top: 1px; color: #725f59; font-weight: 500; }
.login-form input[aria-invalid="true"] { border-color: var(--red); box-shadow: 0 0 0 3px rgba(180, 64, 53, .1); }
#staff-username { direction: ltr; text-align: right; }
.caps-lock-note { display: block; margin-top: 6px; color: #76520a; font-weight: 700; }
.caps-lock-note[hidden] { display: none; }
.login-support-links { margin-top: 20px; text-align: center; }
.login-support-links > div { display: flex; justify-content: center; gap: 8px 20px; flex-wrap: wrap; }
.login-support-links a { color: #76520a; font-weight: 700; text-decoration: underline; text-decoration-color: rgba(118,82,10,.3); text-underline-offset: 4px; }
.login-support-links a:hover { color: #4d3403; text-decoration-color: currentColor; }
.login-back-link { display: inline-block; margin-top: 10px; font-weight: 500!important; }
.login-form .btn[aria-busy="true"] { cursor: wait; opacity: .82; transform: none; }
@media (max-width: 760px) {
  .login-form { order: -1; }
  .login-intro { order: 1; }
}

/* Owner-only financial audit trail */
.audit-filter-panel { padding-block: 22px; }
.audit-filters { display: grid; grid-template-columns: repeat(3, minmax(180px, 1fr)) auto; gap: 16px; align-items: end; }
.audit-filters .field { margin: 0; }
.audit-filter-actions { display: flex; gap: 10px; align-items: center; }
.audit-filter-actions .btn,
.audit-filter-actions .btn-outline { min-height: 48px; white-space: nowrap; }
.audit-table { min-width: 980px; table-layout: fixed; }
.audit-col-time { width: 15%; }
.audit-col-user { width: 15%; }
.audit-col-action { width: 11%; }
.audit-col-section { width: 24%; }
.audit-col-details { width: 35%; }
.audit-table td { vertical-align: top; }
.audit-table .pill { max-width: 100%; white-space: nowrap; }
.audit-time { display: grid; gap: 1px; white-space: nowrap; }
.audit-time strong { font-size: .9rem; }
.audit-time small { color: var(--muted); font-variant-numeric: tabular-nums; }
.audit-role { display: block; margin-top: 3px; color: var(--muted); font-size: .78rem; font-weight: 600; }
.table-secondary { display: block; margin-top: 2px; color: var(--muted); font-size: .78rem; font-weight: 600; }
.audit-details summary { list-style: none; color: #76520a; font-weight: 800; cursor: pointer; white-space: nowrap; }
.audit-details summary::-webkit-details-marker { display: none; }
.audit-details summary::before { content: '◀'; display: inline-block; margin-inline-end: 7px; font-size: .7rem; transition: transform .16s ease; }
.audit-details[open] summary::before { transform: rotate(-90deg); }
.audit-details summary span { color: var(--muted); font-size: .78rem; }
.audit-details summary:hover { color: #5e3e00; }
.audit-details dl { display: grid; gap: 8px; min-width: 0; margin: 12px 0 0; }
.audit-details dl > div { display: grid; grid-template-columns: minmax(100px, .8fr) minmax(170px, 1.2fr); gap: 12px; padding-top: 8px; border-top: 1px solid rgba(23,22,20,.08); }
.audit-details dt { color: var(--muted); font-weight: 700; }
.audit-details dd { display: flex; gap: 8px; align-items: center; margin: 0; overflow-wrap: anywhere; }
.audit-details dd span { min-width: 0; }
.audit-details dd.audit-change-values { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 12px; }
.audit-change-value { display: grid; gap: 3px; }
.audit-change-value > small { color: #62594d; font-size: .72rem; font-weight: 700; }
.audit-pagination { display: flex; justify-content: center; align-items: center; gap: 16px; margin-top: 24px; }
@media (max-width: 980px) {
  .audit-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .audit-filter-actions { grid-column: 1 / -1; }
  .audit-table { display: block; width: 100%; min-width: 0; table-layout: auto; }
  .audit-table colgroup { display: none; }
  .audit-table thead { display: none; }
  .audit-table tbody { display: grid; width: 100%; gap: 14px; }
  .audit-table tbody tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 14px 16px; border: 1px solid var(--line); border-radius: 18px; background: #fffdfa; }
  .audit-table tbody td { display: block; min-width: 0; padding: 9px!important; border: 0!important; text-align: right!important; overflow-wrap: anywhere; }
  .audit-table tbody td::before { display: block; margin-bottom: 3px; color: var(--muted); font-size: .72rem; font-weight: 800; content: attr(data-label); }
  .audit-table tbody td:last-child { grid-column: 1 / -1; padding-top: 13px!important; border-top: 1px solid var(--line)!important; }
  .audit-details dl { min-width: 0; }
}
@media (max-width: 560px) {
  .audit-filters { grid-template-columns: minmax(0, 1fr); }
  .audit-filter-actions { grid-column: auto; display: grid; grid-template-columns: 1fr 1fr; }
  .audit-filter-actions > * { width: 100%; }
  .audit-table tbody tr { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; padding: 12px 14px; }
  .audit-table tbody td { padding: 7px 0!important; }
  .audit-record-section { order: 1; }
  .audit-record-action { order: 2; }
  .audit-record-time { order: 3; }
  .audit-record-user { order: 4; }
  .audit-record-details { order: 5; }
  .audit-table tbody td.audit-record-section::before,
  .audit-table tbody td.audit-record-action::before,
  .audit-table tbody td.audit-record-details::before { display: none; }
  .audit-table tbody td.audit-record-action { text-align: left!important; }
  .audit-record-section > strong { font-size: .95rem; }
  .audit-table tbody td:last-child { grid-column: 1 / -1; padding-top: 7px!important; }
  .audit-details dl > div { grid-template-columns: 1fr; gap: 3px; }
  .audit-details dd { align-items: flex-start; flex-wrap: wrap; }
}

/* Task-oriented table controls */
.booking-queue-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  margin: -4px 0 18px;
  padding: 4px 0 8px;
  scrollbar-width: thin;
}
.booking-queue-tabs a {
  flex: 0 0 auto;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  padding: 7px 14px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fffdfa;
  color: #554e45;
  font-size: .84rem;
  font-weight: 800;
}
.booking-queue-tabs a.active { background: var(--ink); color: #fff; border-color: var(--ink); }
.booking-queue-tabs a:focus-visible { outline: 3px solid rgba(226,173,49,.38); outline-offset: 2px; }

/* Operational booking queue: keep the next action vivid and supporting detail quiet. */
.orders-table .booking-order-row { transition: background-color .18s ease, opacity .18s ease; }
.orders-table .booking-order-row.is-actionable { background: rgba(226,173,49,.035); }
.orders-table .booking-order-row.is-actionable > td:first-child { box-shadow: inset -3px 0 0 rgba(176,124,8,.58); }
.orders-table .booking-order-row.is-settled { background: rgba(23,22,19,.012); }
.orders-table .booking-order-row.is-settled .table-secondary { color: #91897d; }
.booking-access-details { margin-block-start: .45rem; color: var(--muted); font-size: .82rem; }
.booking-access-details summary { width: fit-content; color: #8a5d00; cursor: pointer; font-weight: 700; }
.booking-access-details[open] summary { margin-block-end: .45rem; }
.booking-access-details > div { display: grid; gap: .38rem; padding-inline-start: .65rem; border-inline-start: 2px solid rgba(176,124,8,.18); }
.booking-access-details span { display: grid; gap: .08rem; line-height: 1.65; }
.booking-access-details strong { color: var(--ink); font-size: .76rem; }
.booking-row-links, .booking-payment-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem .65rem; margin-block-start: .6rem; }
.booking-payment-actions:empty, .booking-row-links:empty { display: none; }
.status-form { display: grid; gap: .45rem; }
.status-form .booking-status-save { justify-self: start; }
.status-form.is-modified .booking-status-save { background: var(--ink); border-color: var(--ink); color: #fff; }
.table-pagination-actions { display: inline-flex; gap: .45rem; }
.table-pagination-actions[hidden] { display: none; }

/* Bookings workspace — compact command surface and scan-first operational rows. */
.bookings-workspace { padding-top: 24px; }
.bookings-panel { padding: 26px 30px 30px; overflow: hidden; }
.booking-panel-head { align-items: center; margin-bottom: 22px; }
.booking-panel-head h2 { font-size: 1.45rem; line-height: 1.35; }
.booking-panel-head p { margin-top: 3px; }
.booking-panel-title { min-width: 0; }
.booking-title-line { display: flex; align-items: center; gap: 10px; }
.booking-panel-actions { display: flex; align-items: center; gap: 14px; }
.booking-count { display: inline-flex; align-items: baseline; gap: 3px; min-height: 28px; padding-inline: 9px; border-radius: 999px; background: rgba(11,11,10,.055); color: var(--muted); font-size: .73rem; white-space: nowrap; }
.booking-count strong { color: var(--ink); font-size: .88rem; }
.booking-count i { align-self: center; width: 3px; height: 3px; margin-inline: 4px; border-radius: 50%; background: rgba(11,11,10,.28); }
.booking-create-link { gap: 8px; background: rgba(255,255,255,.5); }
.booking-create-link span { color: #8a5d00; font-size: 1rem; line-height: 1; }
.booking-controls { display: grid; gap: 18px; margin-bottom: 16px; padding-block: 3px 15px; border-bottom: 1px solid var(--line); }
.booking-controls .booking-queue-tabs { flex-wrap: wrap; overflow: visible; width: 100%; margin: 0; padding: 0; scroll-snap-type: none; }
.booking-search-slot { width: min(100%, 480px); min-width: 0; }
.booking-search-slot:empty { display: none; }
.bookings-panel > .empty-state-card { min-height: 190px; padding: 24px; }
.booking-search-slot .table-tools { margin: 0; gap: 10px; }
.booking-search-slot .table-tools label { max-width: none; }
.booking-search-slot .table-tools input { min-height: 46px; border-radius: 14px; background: #fff; }
.booking-search-slot .table-result-count { white-space: nowrap; }
.bookings-panel > .table-wrap { border-radius: 17px; border-color: rgba(11,11,10,.11); background: rgba(255,253,249,.58); }
.orders-table { min-width: 1060px; table-layout: fixed; }
.orders-table th:nth-child(1) { width: 18%; }
.orders-table th:nth-child(2) { width: 17%; }
.orders-table th:nth-child(3) { width: 27%; }
.orders-table th:nth-child(4) { width: 20%; }
.orders-table th:nth-child(5) { width: 18%; }
.orders-table th { padding: 13px 18px; color: #493e2d; font-size: .8rem; letter-spacing: .01em; white-space: nowrap; }
.orders-table td { padding: 16px 18px; vertical-align: top; line-height: 1.5; }
.orders-table td > strong:first-child { display: block; margin-bottom: 2px; font-size: .96rem; line-height: 1.5; }
.orders-table .booking-order-row.is-actionable > td:first-child { box-shadow: none; }
.orders-table .booking-order-row.is-actionable .booking-next-action { background: linear-gradient(90deg,rgba(226,173,49,.025),rgba(226,173,49,.085)); }
.orders-table .booking-order-row.is-settled { background: rgba(23,22,19,.018); }
.orders-table .booking-order-row.is-settled:hover { background: rgba(23,22,19,.032); }
.booking-customer > *, .booking-service > *, .booking-appointment > * { display: block; }
.booking-customer > strong { font-size: 1rem !important; }
.booking-reference { width: fit-content; margin-block: 3px 7px; padding: 2px 7px; border-radius: 6px; background: rgba(11,11,10,.045); color: #786f63; font-size: .72rem; font-weight: 700; }
.booking-phone { width: fit-content; color: #675d50; }
.booking-phone:hover { color: #795407; text-decoration: underline; }
.booking-customer > small:last-child { margin-top: 2px; font-size: .73rem; }
.booking-service > small, .booking-appointment > small { color: var(--muted); }
.booking-service-meta { display: flex !important; align-items: center; gap: 7px; margin-top: 8px; color: #4f473d; font-size: .79rem; font-weight: 700; }
.booking-service-meta i { width: 3px; height: 3px; border-radius: 50%; background: #b68a32; }
.booking-appointment > strong { font-size: .92rem !important; font-weight: 800; }
.booking-access-details { margin-block-start: .65rem; }
.booking-access-details summary { position: relative; padding-inline-start: 15px; font-size: .78rem; list-style: none; }
.booking-access-details summary::-webkit-details-marker { display: none; }
.booking-access-details summary::before { content: '‹'; position: absolute; inset-inline-start: 0; top: 50%; transform: translateY(-50%) rotate(0); font-size: 1.15rem; transition: transform .16s ease; }
.booking-access-details[open] summary::before { transform: translateY(-50%) rotate(-90deg); }
.booking-access-details > div { max-width: 430px; margin-top: 7px; padding: 8px 12px; border-inline-start: 2px solid rgba(176,124,8,.28); background: rgba(255,255,255,.42); border-radius: 8px 0 0 8px; }
.booking-edit-modal { display: flex; width: min(800px, 100%); max-height: calc(100dvh - 40px); flex-direction: column; overflow: hidden; padding: 0; }
.booking-edit-modal > .modal-head { position: relative; z-index: 1; flex: none; margin: 0; padding: 20px 28px 16px; border-bottom: 1px solid var(--line); background: #fffaf1; }
.booking-modal-context { unicode-bidi: plaintext; }
.booking-edit-form { display: flex; min-height: 0; flex: 1; flex-direction: column; }
.booking-edit-body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 20px 28px; scrollbar-width: thin; }
.booking-edit-body textarea { min-height: 96px; }
.booking-edit-form > .modal-actions { position: relative; z-index: 1; flex: none; margin: 0; padding: 16px 28px 20px; border-top: 1px solid var(--line); background: #fffaf1; box-shadow: 0 -12px 28px rgba(23,22,20,.06); }
.booking-refund-modal { width: min(800px, 100%); }
.refund-balance { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 0 0 18px; padding: 13px 16px; border: 1px solid rgba(185,131,14,.28); border-radius: 15px; background: rgba(226,173,49,.09); }
.refund-balance .money-value { display: inline-flex; align-items: baseline; gap: .3em; flex: 0 0 auto; color: #6f4e08; font-size: 1.05rem; font-weight: 900; white-space: nowrap; }
.refund-balance .money-value span { display: inline; margin: 0; color: inherit; font-size: .82em; }
.refund-submit { min-width: 190px; }
.booking-row-links { gap: 8px 15px; margin-top: 4px; }
.booking-row-links .action-link { min-height: 32px; font-size: .78rem; }
.booking-payment .stacked-status { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; }
.booking-payment .stacked-status form { display: grid; justify-items: start; gap: 6px; width: 100%; }
.booking-payment .stacked-status select { width: 100%; }
.booking-payment-actions { align-items: flex-start; flex-direction: column; gap: 8px; margin-top: 10px; }
.booking-payment-actions .pill, .booking-payment .stacked-status > .pill { width: auto; }
.booking-payment-actions .btn, .booking-payment-actions .btn-outline { min-height: 36px; padding-inline: 12px; font-size: .76rem; }
.booking-next-action .status-form { gap: 8px; }
.booking-next-action .status-form select { width: 100%; min-height: 43px; font-size: .84rem; }
.booking-next-action .booking-status-save { width: 100%; min-height: 38px; }
.booking-next-action > .pill { margin-top: 1px; }
.booking-primary-action { width: 100%; min-height: 42px; margin-top: 10px; padding-inline: 10px; font-size: .78rem; }

@media (max-width: 1180px) {
  .booking-search-slot { width: 100%; }
  .booking-search-slot .table-tools { justify-content: space-between; }
}

@media (max-width: 760px) {
  .bookings-workspace { padding-top: 14px; }
  .bookings-panel { padding: 18px 14px; border-radius: 20px; }
  .booking-panel-head { align-items: stretch; flex-direction: column; gap: 14px; }
  .booking-panel-actions { align-items: stretch; flex-direction: column; gap: 10px; }
  .booking-panel-actions .btn { width: 100%; }
  .booking-controls { gap: 11px; margin-inline: -2px; }
  .booking-controls .booking-queue-tabs { width: 100%; }
  .booking-search-slot .table-tools { gap: 8px; }
  .booking-search-slot .table-tools > div { min-height: 24px; }
  .bookings-panel > .table-wrap { overflow: visible; border: 0; background: transparent; }
  .orders-table.mobile-card-table tbody { gap: 14px; }
  .orders-table.mobile-card-table tbody tr { padding: 0 15px; overflow: hidden; border-radius: 17px; }
  .orders-table.mobile-card-table tbody tr.is-actionable { border-color: rgba(176,124,8,.3); box-shadow: 0 8px 24px rgba(118,82,6,.07); }
  .orders-table.mobile-card-table tbody td { display: block !important; padding: 13px 0 !important; text-align: right !important; }
  .orders-table.mobile-card-table tbody td::before { display: block; margin-bottom: 7px; color: #8a7d6b; font-size: .7rem; font-weight: 800; }
  .orders-table .booking-order-row.is-actionable .booking-next-action { margin-inline: -15px; padding-inline: 15px !important; background: rgba(226,173,49,.075); }
  .booking-reference { margin-bottom: 5px; }
  .booking-payment .stacked-status form, .booking-next-action .status-form { max-width: none; width: 100%; }
  .booking-next-action .booking-status-save, .booking-primary-action { width: 100%; }
  .booking-access-details > div { max-width: none; }
}
.data-table .action-link { display: inline-flex; align-items: center; min-height: 36px; padding: 5px 4px; }
.panel-head > .action-link { min-height: 44px; display: inline-flex; align-items: center; padding: 8px 12px; }
.app-user-actions .quiet-btn { min-height: 44px; }
.client-account-nav { display: flex; gap: 8px; overflow-x: auto; margin-bottom: 26px; padding: 5px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.58); }
.client-account-nav a { flex: 0 0 auto; min-height: 42px; display: inline-flex; align-items: center; padding: 7px 15px; border-radius: 12px; color: #554e45; font-size: .86rem; font-weight: 800; }
.client-account-nav a:hover { background: rgba(226,173,49,.12); color: #6f4c05; }
.client-account-nav a:focus-visible { outline: 3px solid rgba(226,173,49,.38); outline-offset: 1px; }
.client-orders-panel { margin-top: 24px; }
.client-orders-panel .table-secondary { text-align: inherit; }
.client-orders-panel > .empty-state-card { min-height: 220px; }
.loyalty-card .member-card-top { margin-bottom: 0; }

/* Dashboard workflow clarity and member scanning */
.pill { white-space: nowrap; overflow-wrap: normal; }
.workflow-notice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 18px;
  padding: 15px 18px;
  border: 1px solid rgba(185, 131, 14, .28);
  border-radius: 17px;
  background: rgba(226, 173, 49, .09);
}
.workflow-notice strong,
.workflow-notice span { display: block; }
.workflow-notice span { margin-top: 2px; color: var(--muted); font-size: .88rem; }
.revenue-total-preview {
  display: block;
  margin-top: 16px;
  padding: 12px 15px;
  border: 1px solid rgba(185, 131, 14, .24);
  border-radius: 14px;
  background: rgba(226, 173, 49, .09);
  color: #765108;
  font-weight: 800;
}
.qr-scan-link { display: block; width: max-content; max-width: 100%; margin: auto; border-radius: 18px; }
.qr-scan-link:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
.qr-fallback { display: grid; place-items: center; width: 100%; height: 100%; color: var(--ink); font-weight: 900; }
.member-scan-main { max-width: 1120px; }
.member-scan-page .app-header{position:relative}
.member-scan-page .app-tabs-wrap{top:0}
.member-scan-main{padding-top:24px}
.member-scan-main>.dashboard-heading{align-items:center;margin-bottom:18px;padding-block:4px 8px}
.member-scan-main>.dashboard-heading .inline-actions{margin-top:16px}
.member-scan-main>.dashboard-heading h1,.member-scan-main>.dashboard-heading h2{font-size:clamp(1.9rem,3vw,2.6rem)}
.member-scan-search { margin-bottom: 20px; }
.member-scan-search > label { display: block; margin-bottom: 8px; font-weight: 800; }
.member-scan-search .inline-actions { margin-top: 0; }
.member-scan-search input { flex: 1 1 260px; }
.member-directory-panel { margin-top: 20px; }
.member-directory-table td:last-child { white-space: nowrap; }
.member-scan-result { display: grid; gap: 20px; }
.member-profile-header {
  position: relative;
  overflow: hidden;
  padding: 24px 28px;
  border: 1px solid rgba(185, 131, 14, .22);
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(255, 248, 232, .92));
  box-shadow: 0 18px 44px rgba(28, 23, 16, .08);
}
.member-profile-header::before {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  width: 5px;
  background: linear-gradient(180deg, var(--gold), #f0bd42);
}
.member-profile-header .member-identity { gap: 7px; }
.member-profile-header .member-identity h2 { font-size: clamp(1.45rem, 2.4vw, 1.9rem); line-height: 1.3; }
.member-profile-header .member-identity p { color: var(--muted); }
.member-profile-header .member-state-badges { margin-top: 10px; }
.scan-action-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.scan-action-grid > section {
  position: relative;
  min-width: 0;
  overflow: hidden;
  padding: 24px;
  border: 1px solid rgba(185, 131, 14, .18);
  border-radius: 24px;
  background: rgba(255, 253, 250, .96);
  box-shadow: 0 16px 38px rgba(28, 23, 16, .07);
}
.scan-action-grid > section::before {
  content: "";
  position: absolute;
  inset-block-start: 0;
  inset-inline: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--gold), #f1c75e);
}
.scan-action-grid > section:nth-child(2)::before { background: linear-gradient(90deg, #376f4c, #72a984); }
.scan-action-grid > section > h3 { margin: 0 0 16px; font-size: 1.05rem; }
.scan-choice-list { display: grid; gap: 9px; margin-bottom: 14px; }
.scan-choice-list small { display: block; margin-top: 2px; color: var(--muted); }

@media (max-width: 760px) {
  .app-main .mobile-card-table-wrap { overflow: visible; border: 0; }
  .app-main .mobile-card-table:not(.audit-table) { min-width: 0; }
  .app-main .mobile-card-table:not(.audit-table) thead { display: none; }
  .app-main .mobile-card-table:not(.audit-table) tbody { display: grid; gap: 12px; }
  .app-main .mobile-card-table:not(.audit-table) tr {
    display: grid;
    padding: 6px 14px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: #fffdf9;
  }
  .app-main .mobile-card-table:not(.audit-table) td {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    min-width: 0;
    padding: 10px 0;
    border-bottom: 1px solid var(--line);
    text-align: left;
    overflow-wrap: anywhere;
  }
  .app-main .mobile-card-table:not(.audit-table) td:last-child { border-bottom: 0; }
  .app-main .mobile-card-table:not(.audit-table) td::before {
    content: attr(data-label);
    flex: 0 0 34%;
    color: var(--muted);
    font-size: .78rem;
    font-weight: 700;
    text-align: right;
  }
  .app-main .mobile-card-table:not(.audit-table) td[colspan]::before { display: none; }
  .app-main .mobile-card-table:not(.audit-table) .row-actions,
  .app-main .mobile-card-table:not(.audit-table) .inline-actions { justify-content: flex-start; }
  .workflow-notice { align-items: stretch; flex-direction: column; }
  .scan-action-grid { grid-template-columns: 1fr; }
  .member-scan-result { gap: 16px; }
  .member-profile-header,
  .scan-action-grid > section { padding: 18px; }
  .member-scan-search .inline-actions { display: grid; }
}
.client-secondary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: stretch; }
.client-secondary-grid > .panel { height: 100%; margin-top: 24px; }
.client-secondary-grid .empty-state-card { min-height: 200px; padding: 24px; }

@media (max-width: 900px) {
  .client-secondary-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
}

@media (max-width: 760px) {
  .client-account-nav { margin-inline: -2px; }
  .client-orders-panel { padding: 16px; }
  .service-table-wrap { overflow: visible; border: 0; background: transparent; box-shadow: none; }
  .service-table { min-width: 0; }
  .service-table thead { display: none; }
  .service-table tbody { display: grid; gap: 14px; }
  .service-table tr { display: grid; padding: 8px 16px; border: 1px solid var(--line); border-radius: 18px; background: #fffdfa; box-shadow: 0 12px 32px rgba(28,23,16,.06); }
  .service-table td { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--line); text-align: left; }
  .service-table td::before { content: attr(data-label); color: var(--muted); font-size: .78rem; font-weight: 800; text-align: right; }
  .service-table td:first-child { font-size: 1rem; font-weight: 800; }
  .service-table td:last-child { border-bottom: 0; }
  .service-table td:last-child a { min-height: 42px; display: inline-flex; align-items: center; padding: 6px 16px; border-radius: 12px; background: rgba(226,173,49,.14); }
}

.service-card.featured .source-note { color: rgba(255,255,255,.72); }
.service-card.is-muted { opacity: .7; background: #f5f2ec; box-shadow: none; }
.service-card.is-muted:hover { transform: none; }

/* Customer package status and server-side order navigation */
.client-package-panel { margin-top: 24px; }
.package-status-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.package-status-grid > div { padding: 16px; border: 1px solid var(--line); border-radius: 17px; background: #fffdf9; }
.package-status-grid small, .package-status-grid strong { display: block; }
.package-status-grid small { color: var(--muted); font-size: .78rem; }
.package-status-grid strong { margin-top: 4px; font-size: .95rem; }
.record-pagination { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 16px; }
.record-pagination .btn-outline { min-height: 40px; padding-inline: 16px; }
.record-pagination .is-disabled { opacity: .45; pointer-events: none; }
.package-tracking { margin-top: 12px; border-top: 1px solid var(--line); padding-top: 10px; }
.package-tracking summary { cursor: pointer; color: var(--gold2); font-weight: 800; }
.package-tracking-form { display: grid; gap: 8px; margin-top: 10px; }
.package-tracking-form label { display: grid; gap: 3px; color: var(--muted); font-size: .75rem; }
.package-tracking-form input, .package-tracking-form select { width: 100%; min-height: 36px; border: 1px solid var(--line); border-radius: 9px; background: #fff; padding: 4px 7px; font: inherit; color: var(--ink); }
.compact-add-form { display: flex; align-items: center; gap: 8px; }
.compact-add-form input { min-height: 48px; width: 190px; border: 1px solid var(--line); border-radius: 14px; background: #fffdfa; padding: 8px 12px; font: inherit; }

@media (max-width: 900px) { .package-status-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .package-status-grid { grid-template-columns: 1fr; } .record-pagination { justify-content: space-between; } .record-pagination .btn-outline { width: auto; } .compact-add-form { display: grid; width: 100%; } .compact-add-form input { width: 100%; } }

/* Production treatment for the horizontal Arabic brand mark. */
.brand img,.app-brand img{width:82px;height:58px;border-radius:0;box-shadow:none;object-fit:contain;background:transparent}.app-brand img{width:72px;height:50px}.hero-card-logo{aspect-ratio:1.1/1;object-fit:contain;padding:18px;background:#f8f0e3}.login-intro>a:first-child{display:inline-flex;max-width:100%;padding:12px 16px;border-radius:20px;background:#fffaf1}.login-intro img{width:min(240px,100%);height:auto;margin:0;border-radius:0;object-fit:contain}.member-card-top img{width:112px;height:auto;padding:7px;border-radius:14px;background:#fffaf1;object-fit:contain}@media(max-width:480px){.brand img{width:68px;height:49px}.app-brand img{width:64px;height:46px}.login-intro img{width:min(210px,100%)}}

/* Keep the supplied logo prominent in the header and prevent its HTML height
   attribute from stretching the home-page hero artwork. */
.site-header .brand img{width:112px;height:78px}
.hero-card-logo{height:auto;aspect-ratio:11/10}
@media(max-width:480px){.site-header .brand img{width:88px;height:62px}}

/* Logo-derived global brand system. */
:root{--brand-black:#0b0b0a;--brand-gold:#f8a800;--brand-gold-deep:#7f5200;--brand-gold-on-dark:#ffc34a;--brand-cream:#f7f0e4;--brand-surface:#fffaf1;--ink:var(--brand-black);--gold:var(--brand-gold);--gold2:var(--brand-gold-deep);--cream:var(--brand-cream);--cream2:var(--brand-surface);--line:rgba(11,11,10,.11);--shadow:0 22px 64px rgba(11,11,10,.09)}
body{background:radial-gradient(circle at 82% 8%,rgba(248,168,0,.075),transparent 28rem),linear-gradient(180deg,#fbf7f0,var(--brand-cream));color:var(--brand-black)}
.site-header,.app-header{background:rgba(255,250,241,.91);border-bottom-color:rgba(11,11,10,.1)}
.app-tabs-wrap{background:rgba(255,250,241,.94);border-bottom-color:rgba(11,11,10,.1)}
.site-header .brand img,.app-brand img{filter:drop-shadow(0 7px 13px rgba(11,11,10,.08))}
.nav-links a:hover,.nav-links a.active{background:rgba(248,168,0,.12);color:var(--brand-black)}
.hero-card-logo,.login-intro>a:first-child,.member-card-top img{background:var(--brand-surface);border:1px solid rgba(248,168,0,.24)}
.btn,.nav-links .nav-portal,.app-tabs a.active,.app-tabs a.active:hover,.booking-types a.active,.booking-queue-tabs a.active{background:linear-gradient(145deg,var(--brand-black),#26231e);color:#fff;border-color:var(--brand-black);box-shadow:0 12px 28px rgba(11,11,10,.16)}
.btn-gold{background:linear-gradient(135deg,var(--brand-gold),#ffc64d);color:var(--brand-black);border-color:rgba(127,82,0,.14);box-shadow:0 12px 28px rgba(127,82,0,.18)}
.btn-outline{background:rgba(255,250,241,.5);border-color:rgba(11,11,10,.18)}
.btn-outline:hover{background:rgba(248,168,0,.1);border-color:rgba(127,82,0,.38);color:var(--brand-black)}
.hero-card,.service-card.featured,.membership-option.featured,.member-card,.promo-card.dark,.cta-band,.login-intro,.stat{background:linear-gradient(145deg,var(--brand-black),#2a261f)}
.hero-card:before{border-color:rgba(248,168,0,.34)}
.hero-card-meta strong,.member-card-top strong,.stat em,.login-demo code,.role-icon{color:var(--brand-gold-on-dark)}
.eyebrow,.hero h1 span,.route-number,.service-card .price,.option-price,.package-price strong,.contact-list strong,.testimonial footer,.action-link{color:var(--brand-gold-deep)}
:is(.hero-card,.service-card.featured,.membership-option.featured,.member-card,.promo-card.dark,.cta-band,.login-intro,.stat) :is(.eyebrow,.action-link,.option-price,.price){color:var(--brand-gold-on-dark)}
.card,.panel,.service-table-wrap{background:rgba(255,250,241,.88);border-color:rgba(11,11,10,.1);box-shadow:var(--shadow)}
.step,.mini-card,.contact-card{border-color:rgba(11,11,10,.1);box-shadow:0 10px 30px rgba(11,11,10,.045)}
.route-card.featured,.loyalty-card{border-color:rgba(248,168,0,.38);box-shadow:0 22px 60px rgba(127,82,0,.12)}
.client-hero{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:36px}
.client-hero .loyalty-card{width:100%;max-width:560px;padding:24px}
.client-hero .member-card-top img{width:84px}
.client-hero .qr-block{margin-top:16px;padding-top:16px}
.client-hero .qr-block .qr-real{width:164px;height:164px}
.client-hero .qr-block p{font-size:.83rem;text-align:center}
.client-hero .loyalty-card-points{margin:12px 0 0;color:rgba(255,255,255,.78);font-size:.9rem}
.client-copy h2{font-size:clamp(2rem,2.8vw,2.55rem);line-height:1.25}
.client-copy .loyalty-progress{margin-top:20px}
.client-copy .inline-actions{margin-top:18px}
.client-copy .inline-actions .btn{min-height:56px;min-width:180px;background:linear-gradient(135deg,var(--brand-gold),#ffc64d);color:var(--brand-black);box-shadow:0 14px 30px rgba(127,82,0,.2)}
@media(max-width:1020px){.client-hero{grid-template-columns:minmax(0,1fr);gap:24px}.client-hero .loyalty-card{margin-inline:auto}}
@media(max-width:480px){.client-hero .loyalty-card{padding:20px}}
.step b,.stamp.on,.option-badge,.reward-points{background:linear-gradient(145deg,var(--brand-gold),#ffc64d);color:var(--brand-black)}
.client-rewards-page :is(.step b,.stamp.on,.option-badge,.reward-points){text-align:center;width:100px;height:75px}
.field input:focus,.field select:focus,.field textarea:focus,.app-main input:not([type="hidden"]):focus,.app-main select:focus,.app-main textarea:focus,.employee-wrap input:not([type="hidden"]):focus,.employee-wrap select:focus,.employee-wrap textarea:focus{border-color:var(--brand-gold);box-shadow:0 0 0 3px rgba(248,168,0,.18)}
.data-table th,.service-table th{background:#f7ead5;color:#453d32}
.data-table tbody tr:hover{background:rgba(248,168,0,.045)}
.pill.gold,.located-record{background:rgba(248,168,0,.15);color:var(--brand-gold-deep)}
.bar span,.loyalty-progress-bar span,.featured-toggle input:checked+.featured-toggle-control{background:linear-gradient(90deg,var(--brand-gold-deep),var(--brand-gold))}
.footer{background:var(--brand-black)}
.footer a{color:#ffc34a}
*:focus-visible{outline-color:rgba(127,82,0,.62)}

/* Sitewide UI/UX excellence layer */
.skip-link {
  position: fixed;
  z-index: 1000;
  inset-block-start: 12px;
  inset-inline-start: 12px;
  padding: 11px 16px;
  border: 2px solid var(--brand-gold);
  border-radius: 12px;
  background: var(--brand-black);
  color: #fff;
  font-weight: 800;
  transform: translateY(calc(-100% - 24px));
  transition: transform .16s ease;
}
.skip-link:focus-visible {
  transform: translateY(0);
  outline: 3px solid rgba(248,168,0,.45);
  outline-offset: 3px;
}
.toast { display: flex; align-items: center; gap: 12px; width: min(440px, calc(100% - 32px)); max-width: none; line-height: 1.65; }
.toast > span { flex: 1; min-width: 0; }
.toast-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 50%;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
}
.toast-close:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.login-form > .auth-inline-notice {
  position: static;
  width: 100%;
  max-width: none;
  margin: 0 0 20px;
  padding: 13px 15px;
  transform: none;
  border: 1px solid rgba(185,131,14,.25);
  background: #fff6df;
  color: #644707;
  box-shadow: none;
  font-size: .88rem;
  font-weight: 700;
}
.login-form > .auth-inline-notice.toast-error { border-color: rgba(180,64,53,.22); background: #fff0ed; color: #8f3028; }
.login-form > .auth-inline-notice.toast-success { border-color: rgba(25,122,81,.2); background: #edf8f2; color: #176641; }
.login-form > .auth-inline-notice .toast-close { border-color: currentColor; }
:root {
  --content-readable: 68ch;
  --control-min: 44px;
  --section-space: clamp(56px, 7vw, 88px);
  --surface-raised: rgba(255, 250, 241, .94);
  --gap-compact: clamp(10px, 1.3vw, 16px);
  --gap-wide: clamp(24px, 4vw, 56px);
  --shadow-soft: 0 16px 48px rgba(11, 11, 10, .075);
}

html { scroll-padding-top: 112px; }
body { min-width: 320px; }
main, section, article, aside, header, footer, nav, form,
.container, .hero-grid, .page-title, .grid-2, .grid-3, .grid-4,
.panel, .card, .stat, .toolbar, .dashboard-heading, .app-header-inner,
.client-hero, .employee-dashboard-grid, .data-table th, .data-table td { min-width: 0; }
main section[id], .located-record { scroll-margin-top: 124px; }
h1, h2, h3, .eyebrow, .stat strong { text-wrap: balance; }
.section-head.center > .eyebrow::before,
.booking-hero .page-title .eyebrow::before,
.login-intro > .eyebrow::before { display: none; }
p, li, dd, .help, .source-note, .table-secondary { text-wrap: pretty; }
p, li, dd, td, th, a, strong, small, code, bdi, .money-value { overflow-wrap: anywhere; }
img, svg, canvas, iframe { max-width: 100%; }

.section { padding-block: var(--section-space); }
.section-head { max-width: var(--content-readable); margin-bottom: clamp(24px, 3vw, 36px); }
.section-head.center { margin-inline: auto; }
.section-head h2, .page-title h1, .dashboard-heading h1, .dashboard-heading h2, .role-dashboard-heading h1, .role-dashboard-heading h2 { letter-spacing: -.025em; }
.section-head p, .page-title p, .dashboard-heading p, .role-dashboard-heading p { line-height: 1.9; }
.card, .panel, .step, .mini-card, .contact-card, .empty-state-card { box-shadow: var(--shadow-soft); }

.btn, .btn-outline, .quiet-btn, .action-link, .nav-links a, .app-tabs a,
.booking-types a, .booking-queue-tabs a, .client-account-nav a,
.footer a, .faq-list summary, .record-pagination a, .record-pagination button {
  min-height: var(--control-min);
}
.action-link, .faq-list summary, .audit-details summary, .package-tracking summary { display: inline-flex; align-items: center; min-height: var(--control-min); }
.btn, .btn-outline, .quiet-btn { line-height: 1.45; }
.admin-primary-actions { margin: 0; }
.btn, .btn-outline { gap: 8px; }
.button-icon { flex: 0 0 auto; margin: 0; font-size: 1.15em; line-height: 1; direction: ltr; }
.admin-heading-actions { display: grid; justify-items: end; gap: 6px; }
.action-availability-note { max-width: 42ch; color: var(--muted); font-size: .78rem; text-align: end; }
.field select:not([multiple]),
.toolbar select:not([multiple]),
.app-main select:not([multiple]),
.employee-wrap select:not([multiple]) {
  appearance: none;
  padding-inline-end: 46px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 5.75 8 10.25l4.5-4.5' fill='none' stroke='%238a5a00' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: left 16px center;
  background-size: 16px 16px;
  background-repeat: no-repeat;
}
.employee-month-filter > label { display: grid; gap: 6px; color: var(--muted); font-size: .76rem; font-weight: 800; }
.employee-month-filter > label > span { padding-inline: 3px; }
.employee-toolbar {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255,255,255,.58);
  box-shadow: 0 10px 28px rgba(28,23,16,.05);
}
.employee-quick-actions { display: flex; align-items: center; gap: 18px; min-width: 0; }
.employee-quick-actions-copy { display: grid; flex: 0 0 auto; gap: 2px; }
.employee-quick-actions-copy strong { font-size: .9rem; }
.employee-quick-actions-copy span { color: var(--muted); font-size: .76rem; }
.employee-quick-action-links { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.employee-quick-action-links .btn,
.employee-quick-action-links .btn-outline,
.employee-quick-action-links .quiet-btn { min-height: 44px; white-space: nowrap; }
.employee-toolbar .employee-month-filter { flex: 0 0 244px; }
.employee-wrap .compact-stats .stat { min-height: 126px; }
.employee-dashboard-grid { align-items: stretch; }
.employee-dashboard-grid > .panel { height: 100%; }
.employee-dues-panel { display: flex; flex-direction: column; margin-bottom: 20px; }
.employee-dues-panel .compact-empty { min-height: 180px; flex: 1; }
.revenue-entry-panel .form-grid { gap: 10px 14px; }
.revenue-entry-panel .panel-head { margin-bottom: 12px; }
.revenue-entry-panel .form-submit-row { margin-top: 16px; }
.employee-entry-optional { margin-top: 12px; }
.employee-entry-optional summary { width: fit-content; color: var(--gold2); font-weight: 700; cursor: pointer; }
.employee-entry-optional summary:focus-visible { outline: 3px solid rgba(248,168,0,.45); outline-offset: 3px; }
.employee-entry-optional .form-grid { margin-top: 12px; }
[data-employee-service-entry] { max-width: 880px; }
.employee-service-panel, .employee-history-panel { max-width: 944px; margin-inline-start: 0; margin-inline-end: auto; }
.employee-service-fields[hidden] { display: none; }
[data-employee-service-entry][data-entry-blocked="true"] .form-submit-row { display: none; }
.employee-service-fields:disabled .sa-phone-control, .employee-service-fields:disabled .sa-phone-country { background: #f1eee8; color: #756d62; }
[data-employee-service-entry] > .form-grid { grid-template-columns: 1fr; }
[data-employee-service-entry] #service-date { max-width: 360px; }
[data-employee-service-entry] #service-date-status { margin: 8px 0 0; padding: 10px 14px; background: transparent; color: var(--muted); }
[data-employee-service-entry][data-entry-blocked="true"] #service-date-status { background: #fff3d6; color: #593d00; border-inline-start: 3px solid var(--gold2); }
.employee-service-fields { min-width: 0; margin: 16px 0 0; padding: 0; border: 0; }
.employee-service-fields:disabled input, .employee-service-fields:disabled select { cursor: not-allowed; background: #f1eee8; color: #756d62; opacity: 1; }
.service-date-blocked-heading { display: none; }
[data-employee-service-entry][data-entry-blocked="true"] .service-date-blocked-heading { display: block; margin-top: 12px; color: #593d00; }
[data-employee-service-entry][data-entry-blocked="true"] #service-date-status { margin-top: 4px; line-height: 1.8; max-width: 640px; }
[data-service-correction-help] summary { color: var(--muted); font-size: .88rem; font-weight: 600; }
[data-service-correction-help] .modal-form-note { background: transparent; color: var(--muted); padding: 0; margin: 8px 0 0; }
.employee-history-table .employee-history-zero { color: var(--muted); }
.table-tools:has(.table-sort-control) { flex-wrap: wrap; }
.table-tools .table-sort-control { display: flex; align-items: center; flex: 0 1 auto; gap: 8px; max-width: none; color: var(--muted); font-size: .85rem; }
.table-sort-control > span { white-space: nowrap; }
.table-tools .table-sort-control select { width: auto; min-width: 160px; min-height: 44px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 12px; background: #fffdf9; color: var(--ink); font: inherit; }
.table-sort-control select:focus-visible { outline: 2px solid var(--gold2); outline-offset: 2px; }
.dues-page .table-tools { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; }
.dues-page .table-tools > label:not(.table-sort-control) { grid-column: 1; grid-row: 1; max-width: 450px; width: 100%; }
.dues-page .table-tools .table-sort-control { grid-column: 2; grid-row: 1; }
.dues-page .table-tools > div { grid-column: 1 / -1; }
.dues-page #dues-records { scroll-margin-top: 120px; }
.dues-page .dues-review-panel + #dues-records { margin-top: 24px; }
.dues-page .compact-stats .stat:nth-child(3) { border-top-color: var(--gold); }
.dues-page .compact-stats .stat:nth-child(3) strong { color: #f6cd64; }
.dues-review-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.dues-review-list article { padding: 14px; border: 1px solid var(--line); border-radius: 14px; }
.dues-review-list h3 { margin: 0; font-size: 1rem; }
.dues-review-list p { margin: 6px 0; color: var(--muted); }
.dues-review-list dl { margin: 0; display: grid; gap: 4px; }
.dues-review-list dl > div { display: grid; grid-template-columns: 80px minmax(0,1fr); gap: 14px; }
.dues-review-list dt { color: var(--muted); }
.dues-review-list dd { margin: 0; overflow-wrap: anywhere; }
.dues-review-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.due-review-choices { margin: 16px 0; padding: 12px; border: 1px solid var(--line); border-radius: 14px; }
.due-review-choices legend { font-weight: 700; }
.due-review-choices > label { display: flex; align-items: baseline; gap: 8px; padding: 8px 0; cursor: pointer; }
.due-review-choices input { flex: 0 0 auto; accent-color: var(--gold2); }
.due-review-partial { margin: 6px 0 10px; }
.due-review-partial[hidden] { display: none !important; }
.modal.due-review-modal { display: flex; flex-direction: column; overflow: hidden; padding: 0; max-height: calc(100dvh - 40px); }
.due-review-modal > .modal-head { flex: none; margin: 0; padding: 20px 24px 14px; border-bottom: 1px solid var(--line); }
.due-review-form { display: flex; flex-direction: column; min-height: 0; }
.due-review-body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 12px 24px 16px; scrollbar-width: thin; }
.due-review-form > .modal-actions { flex: none; margin: 0; padding: 14px 24px 18px; border-top: 1px solid var(--line); background: #fffaf1; box-shadow: 0 -8px 20px rgba(23,22,20,.04); }
@media(max-width:760px){
  .modal.due-review-modal { max-height: calc(100dvh - 20px); }
  .due-review-modal > .modal-head { padding: 16px; }
  .due-review-body { padding: 12px 16px 16px; }
  .due-review-form > .modal-actions { padding: 12px 16px 16px; }
}
.due-review-calculation { margin: 12px 0; }
.due-review-calculation .help { margin: 4px 0 0; }
@media(min-width:761px){
  .due-review-modal { width: min(580px,100%); }
  .due-review-modal .modal-head p { margin: 4px 0 0; }
  .due-review-modal h4 { margin: 10px 0; }
  .due-review-modal .confirmation-summary { margin: 10px 0; padding: 12px 16px; }
  .due-review-modal .confirmation-summary > div { gap: 12px; }
  .due-review-modal .due-review-choices { margin: 10px 0; padding: 8px 12px; }
  .due-review-modal .due-review-choices > label { padding: 5px 0; }
}
@media(max-width:760px){
  .dues-review-list { grid-template-columns: minmax(0,1fr); }
  .dues-page .dues-review-panel + #dues-records { margin-top: 16px; }
  .dues-review-list dl > div { display: flex; justify-content: space-between; }
  .dues-page .compact-stats { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .dues-page .compact-stats .stat { min-height: 100px; padding: 14px; }
  .dues-page .compact-stats .stat strong { font-size: 1.25rem; }
  .dues-page .compact-stats .stat:nth-child(3),.dues-page .compact-stats .stat:last-child { grid-column: 1 / -1; }
  .dues-review-actions { flex-direction: column; }
  .dues-page .table-tools { grid-template-columns: minmax(0,1fr); gap: 10px; }
  .dues-page .table-tools .table-sort-control { grid-column: 1; grid-row: 2; }
  .dues-page .mobile-card-table td { display: block!important; text-align: start!important; padding: 8px 0!important; }
  .dues-page .mobile-card-table td::before { display: block; margin-bottom: 3px; }
  .dues-page .mobile-card-table td:nth-child(1) { font-size: .85rem; }
  .dues-page .mobile-card-table td:nth-child(2) { order: 1; }
  .dues-page .mobile-card-table td:nth-child(3) { order: 2; }
  .dues-page .mobile-card-table td:nth-child(4) { order: 3; }
  .dues-page .mobile-card-table td:nth-child(5) { order: 4; }
  .dues-page .mobile-card-table td:nth-child(1) { order: 5; }
  .dues-page .mobile-card-table td:nth-child(6) { order: 6; }
  .dues-page .mobile-card-table td:nth-child(2),.dues-page .mobile-card-table td:nth-child(3),.dues-page .mobile-card-table td:nth-child(4) { font-weight: 700; }
  .dues-page .mobile-card-table .row-actions { justify-content: flex-start; gap: 8px 14px; }
  .dues-page .mobile-card-table .row-actions form { max-width: none; }
}
@media(max-width:760px){.table-tools .table-sort-control{width:100%;flex-basis:100%}.table-tools .table-sort-control select{flex:1;min-width:0}}
.employee-history-panel { scroll-margin-top: 110px; }
.employee-history-sort { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; }
.employee-history-sort .field { flex: 1; min-width: 160px; }
.employee-history-sort .field select, .employee-history-sort .field input { width: 100%; min-width: 0; min-height: 50px; }
.employee-history-table .inline-actions { margin-top: 0; justify-content: flex-start; }
@media (max-width: 760px) {
  .employee-wrap .responsive-table-wrap { overflow: visible; border: 0; }
  .employee-wrap .responsive-data-table { display: block; width: 100%; min-width: 0; max-width: 100%; }
  .employee-wrap .responsive-data-table tbody, .employee-wrap .responsive-data-table tr { width: 100%; min-width: 0; }
  .employee-wrap .responsive-data-table td { display: block; min-width: 0; white-space: normal; overflow-wrap: anywhere; text-align: start; }
  .employee-wrap .responsive-data-table td::before { display: block; text-align: start; }
  .employee-history-panel .panel-head { flex-direction: column; align-items: stretch; }
  .employee-history-sort select { flex: 1; min-width: 0; }
  .employee-wrap .employee-history-panel .responsive-table-wrap { overflow: visible; border: 0; }
  .employee-wrap .employee-history-table { display: block; width: 100%; min-width: 0; max-width: 100%; }
  .employee-history-table tbody { width: 100%; min-width: 0; }
  .employee-history-table tr { min-width: 0; width: 100%; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 12px; padding: 10px 14px; }
  .employee-history-table td { display: block; grid-column: 1 / -1; order: 3; width: 100%; min-width: 0; padding: 7px 0; text-align: start; white-space: normal; overflow-wrap: anywhere; }
  .employee-history-table td::before { display: block; margin-bottom: 3px; text-align: start; }
  .employee-history-table td[data-label-key="التاريخ"] { order: 0; font-weight: 800; font-size: .95rem; }
  .employee-history-table td[data-label-key="الإجمالي"], .employee-history-table td[data-label-key="المبلغ"] { order: 1; padding: 8px 12px; margin-block: 6px; border: 0; border-radius: 10px; background: #f7ead5; }
  .employee-history-table td[data-label-key="الإجمالي"] strong, .employee-history-table td[data-label-key="المبلغ"] strong { font-size: 1.15rem; }
  .employee-history-table td[data-label-key="نوع السجل"] { order: 2; }
  .employee-history-table td[data-label-key="كاش"], .employee-history-table td[data-label-key="بطاقة / Apple Pay"] { grid-column: auto; order: 4; font-size: .86rem; }
  .employee-history-table td[data-label-key="طريقة الدفع"] { order: 4; }
  .employee-history-table td[data-label-key="ملاحظات"] { order: 5; border: 0; font-size: .86rem; line-height: 1.6; }
  .employee-history-table .pill { white-space: normal; }
}
.owner-month-stats .stat { min-height: 150px; }
.client-orders-panel > .empty-state-card { min-height: 190px; }
.client-secondary-grid .empty-state-card { min-height: 176px; padding: 22px; }
.localized-date-context { display: block; margin-top: 8px; color: #76520a!important; font-weight: 800; line-height: 1.6; }
.localized-date-context + small { display: block; margin-top: 3px; }
.footer nav { display: grid; align-content: start; justify-items: start; }
.footer a { display: flex; align-items: center; width: fit-content; margin: 0; padding-block: 8px; }
.footer-credit-row { display: flex; align-items: center; justify-content: center; text-align: center; gap: 12px; flex-wrap: wrap; margin-top: 24px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.12); }
.footer .footer-copyright { margin: 0; color: #bdb9b2; font-size: .8rem; line-height: 1.6; }
.footer .footer-credit { display: flex; align-items: center; gap: 8px; margin: 0; color: #bdb9b2; font-size: .8rem; line-height: 1.6; }
.footer .footer-credit-brand { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 0; color: #e4e1db; font-weight: 600; white-space: nowrap; }
.footer-credit-brand:hover { text-decoration: underline; text-underline-offset: 3px; }
.footer-credit-brand img { width: 17px; height: 20px; flex: 0 0 auto; }
@media (max-width: 760px) {
  .footer-credit-row { flex-direction: column; justify-content: center; }
  .footer .footer-credit { flex-wrap: wrap; justify-content: center; }
}
.faq-list details { overflow: clip; transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease; }
.faq-list details[open] { border-color: rgba(127,82,0,.28); background: #fffaf1; box-shadow: 0 10px 28px rgba(11,11,10,.05); }
.faq-list summary { display: flex; width: 100%; min-height: 58px; align-items: center; justify-content: space-between; gap: 14px; padding-block: 13px; list-style: none; line-height: 1.65; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: '+'; display: inline-grid; width: 28px; height: 28px; flex: 0 0 28px; place-items: center; border-radius: 50%; background: rgba(248,168,0,.13); color: #76520a; font-size: 1.15rem; font-weight: 700; line-height: 1; }
.faq-list details[open] summary::after { content: '−'; background: var(--brand-black); color: var(--brand-gold-on-dark); }
.faq-list details p { padding-top: 13px; border-top: 1px solid var(--line); line-height: 1.85; }

/* Marketing pages: confident hierarchy without oversized artwork or dead space. */
.hero { padding-block: clamp(56px, 7vw, 84px) clamp(48px, 6vw, 72px); }
.hero-grid {
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, .68fr);
  gap: clamp(32px, 4vw, 64px);
}
.hero-grid > div:first-child { max-width: 760px; }
.hero h1 { max-width: 11.5em; font-size: clamp(2.35rem, 4vw, 4rem); }
.hero p { max-width: 62ch; }
.hero-heart-icon { display: inline-block; width: 1em; height: 1em; vertical-align: -.12em; color: var(--gold2); }
.hero-card { width: min(100%, 400px); justify-self: end; padding: clamp(18px, 2vw, 22px); }
.hero-card-logo { max-height: 320px; }
.hero-card-meta { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hero-card-meta div { min-width: 0; padding: 12px 10px; }
.hero-card-meta strong { font-size: clamp(.88rem, 1.2vw, 1.02rem); }
.hero-card-meta span { font-size: clamp(.7rem, 1vw, .8rem); }
.hero-actions, .inline-actions { align-items: center; }
.route-card, .service-card, .membership-option, .promo-card, .info-card,
.category-card, .contact-card, .package-card, .form-card { padding: clamp(22px, 2.4vw, 30px); }
.cta-band { gap: var(--gap-wide); }
.cta-band > div { max-width: 68ch; }
.location-card { gap: var(--gap-wide); }
.map-frame { min-height: clamp(300px, 34vw, 430px); }

.homepage-section .spotlight { background: linear-gradient(145deg, var(--brand-black), #302d28); color: #fff; border-color: rgba(248, 168, 0, .24); }
/* Homepage: one decision path, useful service facts, and a tighter reading rhythm. */
.homepage-section { padding-block: clamp(48px, 5.5vw, 68px); }
.homepage-section .section-head { margin-bottom: clamp(22px, 2.5vw, 30px); }
.homepage-section .section-head h2 { font-size: clamp(1.8rem, 2.5vw, 2.65rem); }
.homepage-routes .route-card { min-height: 210px; }
.homepage-routes .route-card.unavailable { border-style: dashed; background: rgba(255, 250, 241, .58); box-shadow: 0 12px 32px rgba(11, 11, 10, .035); }
.route-status { display: inline-flex; width: fit-content; margin: auto 0 12px; padding: 5px 10px; border-radius: 999px; background: rgba(11, 11, 10, .06); color: #625b51; font-size: .76rem; font-weight: 800; }
.homepage-routes .route-card .action-link,
.homepage-service-item .action-link,
.homepage-faq .center-actions .action-link { display: inline-flex; align-items: center; gap: 8px; }
.homepage-service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.homepage-service-item { display: flex; flex-direction: column; min-height: 220px; padding: clamp(20px, 2.2vw, 26px); }
.homepage-service-item h3 { margin: 0 0 6px; font-size: 1.18rem; }
.homepage-service-item p { margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.75; }
.homepage-service-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 18px 0 10px; }
.homepage-service-meta > div { padding: 10px 12px; border-radius: 14px; background: rgba(248,168,0,.075); }
.homepage-service-meta dt { color: var(--muted); font-size: .72rem; font-weight: 700; }
.homepage-service-meta dd { margin: 2px 0 0; color: var(--brand-gold-deep); font-size: .92rem; font-weight: 900; }
.homepage-service-item .action-link { align-self: flex-start; margin-top: auto; }
.homepage-service-footer { display: flex; justify-content: flex-end; margin-top: 20px; }
.homepage-service-empty { min-height: 190px; }
.homepage-service-empty .btn-outline { margin-top: 12px; }
.homepage-booking-steps .section-head { margin-bottom: 24px; }
.homepage-booking-steps .steps { gap: 14px; margin-bottom: 0; }
.homepage-booking-steps .step { padding: 18px; }
.homepage-promos .promo-card h2 { font-size: clamp(1.65rem, 2.2vw, 2.25rem); }
.homepage-faq .faq-list { margin-bottom: 12px; }
.homepage-final-cta { width: min(1040px, var(--container)); }
.homepage-final-cta > div { flex: 1; }
.homepage-final-cta .btn { flex: 0 0 auto; min-width: 180px; }

/* Salon catalogue: continue the homepage choice into a preselected booking. */
.haircut-hero { padding-block: clamp(42px, 4.5vw, 58px) clamp(22px, 3vw, 34px); }
.haircut-hero .page-title > div { max-width: 900px; }
.haircut-hero .page-title h1 { max-width: 17em; font-size: clamp(2.25rem, 3.8vw, 3.6rem); }
.haircut-hero .page-title p { max-width: 68ch; line-height: 1.9; }
.haircut-facts { margin-top: 20px; }
.haircut-facts span { padding: 8px 12px; font-size: .86rem; }
.haircut-section { padding-block: clamp(46px, 5vw, 64px); }
.haircut-services { padding-top: clamp(34px, 4vw, 50px); }
.haircut-section .section-head { margin-bottom: clamp(22px, 2.5vw, 30px); }
.haircut-section .section-head h2 { font-size: clamp(1.8rem, 2.5vw, 2.65rem); }
.haircut-service-grid { gap: 16px; }
.haircut-service-card { min-height: 270px; padding: clamp(22px, 2.3vw, 28px); }
.haircut-service-card h3 { font-size: 1.22rem; }
.service-card-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: auto 0 0; padding-top: 20px; }
.service-card-facts > div { padding: 9px 11px; border-radius: 13px; background: rgba(248,168,0,.075); }
.service-card-facts dt { color: var(--muted); font-size: .7rem; font-weight: 700; }
.service-card-facts dd { margin: 1px 0 0; color: var(--brand-gold-deep); font-size: .9rem; font-weight: 900; }
.haircut-service-card.featured .service-card-facts > div { background: rgba(255,255,255,.07); }
.haircut-service-card.featured .service-card-facts dt { color: rgba(255,255,255,.7); }
.haircut-service-card.featured .service-card-facts dd { color: var(--brand-gold-on-dark); }
.haircut-service-card .block-link { margin-top: 14px; }
.haircut-guidance .grid-2 { align-items: stretch; }
.haircut-guidance .info-card { min-height: 0; }
.haircut-guidance .info-card h2 { margin-bottom: 16px; font-size: clamp(1.55rem, 2vw, 2rem); }
.haircut-booking-handoff .steps { gap: 10px; margin: 0; }
.haircut-booking-handoff .step { padding: 13px 14px; }
.haircut-booking-handoff .step b { width: 34px; height: 34px; }
.haircut-appointment-notes .clean-list { margin-bottom: 0; }
.haircut-final-cta { width: min(1040px, var(--container)); }
.haircut-final-cta > div { flex: 1; }
.haircut-final-cta .btn { flex: 0 0 auto; }

/* Package journey: one offer, then value, process, fit, terms, and action. */
.package-hero { padding-block: clamp(40px, 4.5vw, 58px); }
.package-hero-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .72fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.package-hero-copy h1 { max-width: 13em; margin: 0 0 16px; font-size: clamp(2.3rem, 4vw, 4rem); line-height: 1.15; letter-spacing: -.035em; }
.package-hero-copy > p { max-width: 62ch; margin: 0; color: var(--muted); font-size: 1.02rem; line-height: 1.9; }
.package-hero-assurance { margin-top: 16px!important; color: #665e54!important; font-size: .86rem!important; font-weight: 700; }
.package-offer-card { padding: clamp(24px, 2.8vw, 34px); border-color: rgba(248,168,0,.32); box-shadow: 0 22px 60px rgba(127,82,0,.11); }
.package-offer-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.package-offer-heading h2 { margin: 0; font-size: clamp(1.65rem, 2.4vw, 2.2rem); }
.package-offer-title { text-align: center; }
.package-offer-title p { margin: 4px 0 0; color: var(--muted); font-size: .92rem; font-weight: 700; }
.package-offer-card .package-price { margin: 0 0 16px; }
.package-offer-card .package-price strong { font-size: clamp(2.2rem, 3.2vw, 3rem); }
.package-offer-card .clean-list { gap: 7px; margin-block: 0 18px; }
.package-offer-card .block-link { margin-top: 0; }
.package-section { padding-block: clamp(46px, 5vw, 64px); }
.package-section .section-head { margin-bottom: clamp(22px, 2.5vw, 30px); }
.package-section .section-head h2 { font-size: clamp(1.8rem, 2.6vw, 2.7rem); }
.package-benefits .section-head { max-width: 820px; }
.package-benefits .benefit-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.package-benefits .mini-card { min-height: 132px; padding: 18px; }
.package-steps .steps { gap: 14px; margin: 0; }
.package-steps .step { min-height: 126px; padding: 18px; }
.package-fit .section-head { margin-inline: auto; }
.package-fit-grid { width: min(1040px, 100%); margin-inline: auto; align-items: stretch; }
.package-fit-card { min-height: 0; padding: clamp(24px, 2.6vw, 32px); }
.package-fit-card h3 { margin: 2px 0 16px; font-size: clamp(1.45rem, 2vw, 1.85rem); }
.package-fit-card .clean-list { margin-bottom: 0; }
.package-terms-layout { display: grid; grid-template-columns: minmax(260px, .65fr) minmax(0, 1.35fr); gap: clamp(30px, 5vw, 68px); align-items: center; }
.package-terms-layout .section-head { margin: 0; }
.package-terms-layout .policy-card { padding: clamp(24px, 2.8vw, 34px); }
.package-terms-layout .clean-list { gap: 11px; margin-block: 0; }
.package-final-cta { width: min(1040px, var(--container)); }
.package-final-cta > div { flex: 1; }
.package-final-cta .btn { flex: 0 0 auto; min-width: 170px; }

@media (max-width: 900px) {
  .package-hero-grid, .package-terms-layout { grid-template-columns: minmax(0, 1fr); }
  .package-hero-grid { gap: 28px; }
  .package-offer-card { max-width: 680px; }
  .package-benefits .benefit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .package-hero { padding-block: 30px 38px; }
  .package-hero-copy h1 { font-size: clamp(2rem, 9vw, 2.35rem); line-height: 1.28; }
  .package-hero-copy .hero-actions { margin-top: 22px; }
  .package-hero-assurance { margin-top: 14px!important; }
  .package-offer-card { padding: 22px; }
  .package-offer-heading { align-items: flex-start; flex-direction: column; gap: 10px; }
  .package-offer-card .package-price { align-items: baseline; flex-wrap: wrap; }
  .package-section { padding-block: 44px; }
  .package-section .section-head { margin-bottom: 20px; }
  .package-section .section-head h2 { font-size: clamp(1.7rem, 8vw, 2rem); line-height: 1.28; }
  .package-benefits .benefit-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .package-benefits .mini-card { min-height: 0; padding: 16px 18px; }
  .package-steps .steps { gap: 10px; }
  .package-steps .step { min-height: 0; padding: 14px; }
  .package-fit-grid { gap: 14px; }
  .package-fit-card { padding: 22px; }
  .package-terms-layout { gap: 24px; }
  .package-terms-layout .policy-card { padding: 22px; }
  .package-final-cta .btn { min-width: 0; }
}

.decision-grid { align-items: stretch; }
.decision-card { display: flex; flex-direction: column; min-height: 300px; }
.decision-label { color: var(--brand-gold-deep); font-size: .78rem; font-weight: 900; }
.decision-card h3 { margin: 7px 0 18px; font-size: 1.25rem; }
.decision-card dl { display: grid; gap: 13px; margin: 0 0 20px; }
.decision-card dl > div { padding-top: 12px; border-top: 1px solid var(--line); }
.decision-card dt { color: var(--muted); font-size: .75rem; font-weight: 800; }
.decision-card dd { margin: 3px 0 0; line-height: 1.75; }
.decision-card .action-link { display: inline-flex; align-items: center; align-self: flex-start; gap: 8px; margin-top: auto; }

/* About: an editorial journey with restrained density and deliberate variation. */
.about-hero { padding-block: clamp(44px, 5.5vw, 72px) clamp(40px, 5vw, 64px); }
.about-hero .page-title { justify-content: center; text-align: center; }
.about-hero .page-title > div { width: min(960px, 100%); }
.about-hero .page-title h1 { max-width: 16em; margin-inline: auto; font-size: clamp(2.35rem, 4vw, 4rem); }
.about-hero .page-title p { max-width: 760px; margin-inline: auto; }
.about-hero .hero-actions { justify-content: center; }
.about-hero .eyebrow::before { display: none; }
.about-story-section,
.about-promise-section,
.about-audience-section { padding-block: clamp(48px, 5.5vw, 68px); }
.about-story { grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); align-items: center; gap: clamp(34px, 5vw, 64px); }
.about-story .section-head { margin-bottom: 20px; }
.about-story .quote-card {
  min-height: 140px;
  display: grid;
  place-items: center;
  align-self: center;
  margin: 0;
  padding: clamp(26px, 3vw, 38px);
  text-align: center;
  line-height: 1.9;
}
.about-values-section { padding-block: clamp(48px, 5.5vw, 68px); }
.about-values-section .section-head,
.about-audience-section .section-head { margin-bottom: clamp(22px, 2.5vw, 28px); }
.about-values .info-card {
  min-height: 132px;
  display: grid;
  align-content: center;
  padding-block: 22px;
}
.about-values .info-card h3 { margin-top: 0; }
.about-values .info-card p { margin-bottom: 0; }
.about-promise-section .grid-3,
.about-audience-section .grid-3 { gap: 16px; }
.about-promise-section .info-card,
.about-audience-section .info-card { min-height: 164px; padding: 24px; }
.about-promise-section .info-card h3,
.about-audience-section .info-card h3 { margin: 0 0 10px; }
.about-promise-section .info-card p,
.about-audience-section .info-card p { margin: 0; }
.about-cta-section { padding-block: clamp(48px, 5vw, 64px); }
.about-cta-section .cta-band { width: min(1040px, 100%); margin-inline: auto; }

@media (max-width: 760px) {
  .about-hero { padding-block: 42px 34px; }
  .about-hero .page-title h1 { max-width: 12em; margin-bottom: 14px; font-size: clamp(2rem, 9vw, 2.35rem); line-height: 1.18; }
  .about-hero .page-title p { font-size: .94rem; line-height: 1.85; }
  .about-story-section,
  .about-values-section,
  .about-promise-section,
  .about-audience-section { padding-block: 44px; }
  .about-story { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .about-story .quote-card { min-height: 128px; padding: 24px; }
  .about-values { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .about-values .info-card { min-height: 142px; padding: 17px 16px; }
  .about-values .info-card h3 { margin-bottom: 8px; font-size: 1.03rem; }
  .about-values .info-card p { font-size: .86rem; line-height: 1.7; }
  .about-promise-section .grid-3,
  .about-audience-section .grid-3 { gap: 12px; }
  .about-promise-section .info-card,
  .about-audience-section .info-card { min-height: 0; padding: 21px; }
  .about-cta-section { padding-block: 44px; }
}

/* FAQ: compact answers, unmistakable disclosure controls, and a clear handoff. */
.faq-hero { padding-block: clamp(44px, 5vw, 66px) clamp(30px, 4vw, 48px); }
.faq-hero .page-title { justify-content: center; text-align: center; }
.faq-hero .page-title > div { width: min(820px, 100%); }
.faq-hero .page-title h1 { margin-inline: auto; font-size: clamp(2.35rem, 4vw, 3.8rem); }
.faq-hero .page-title p { margin-inline: auto; }
.faq-hero .eyebrow::before { display: none; }
.faq-section { padding-block: clamp(20px, 3vw, 36px) clamp(52px, 6vw, 76px); }
.faq-accordion { display: grid; gap: 12px; margin: 0; }
.faq-accordion details { padding: 0; overflow: clip; border-color: rgba(11,11,10,.11); border-radius: 18px; background: rgba(255,253,249,.9); box-shadow: 0 8px 24px rgba(11,11,10,.035); }
.faq-accordion details[open] { border-color: rgba(127,82,0,.32); background: #fffaf1; box-shadow: 0 14px 34px rgba(11,11,10,.065); }
.faq-accordion summary { display: flex; width: 100%; min-height: 66px; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 20px; list-style: none; font-size: 1.02rem; line-height: 1.65; }
.faq-accordion summary::after { content: '+'; display: inline-grid; width: 32px; height: 32px; flex: 0 0 32px; place-items: center; border-radius: 50%; background: rgba(248,168,0,.13); color: #76520a; font-size: 1.35rem; font-weight: 700; line-height: 1; }
.faq-accordion details[open] summary::after { content: '−'; background: var(--brand-black); color: var(--brand-gold-on-dark); }
.faq-accordion summary:hover { color: #76520a; }
.faq-accordion summary:focus-visible { position: relative; z-index: 1; outline: 3px solid rgba(248,168,0,.34); outline-offset: -3px; border-radius: 17px; }
.faq-accordion details[open] summary { color: var(--brand-black); }
.faq-accordion details p { margin: 0 20px; padding: 15px 0 20px; border-top: 1px solid var(--line); color: var(--muted); line-height: 1.9; }
.faq-cta { margin-top: clamp(30px, 4vw, 44px); }
.faq-cta-copy h2 { margin: 0 0 5px; font-size: clamp(1.55rem, 2.4vw, 2.25rem); }
.faq-cta-actions { display: flex; max-width: none!important; flex: 0 0 auto; gap: 10px; }
.faq-cta-actions .btn,
.faq-cta-actions .btn-outline { min-width: 132px; }
.faq-cta .btn-outline { border-color: rgba(255,255,255,.26); background: transparent; color: #fff; }
.faq-cta .btn-outline:hover { background: rgba(255,255,255,.08); color: #fff; }

@media (max-width: 760px) {
  .faq-hero { padding-block: 42px 30px; }
  .faq-hero .page-title h1 { margin-bottom: 13px; font-size: clamp(2rem, 9vw, 2.35rem); line-height: 1.18; }
  .faq-hero .page-title p { font-size: .94rem; line-height: 1.85; }
  .faq-section { padding-block: 16px 44px; }
  .faq-accordion { gap: 10px; }
  .faq-accordion summary { min-height: 62px; gap: 12px; padding: 12px 15px; font-size: .95rem; }
  .faq-accordion summary::after { width: 30px; height: 30px; flex-basis: 30px; }
  .faq-accordion details p { margin-inline: 15px; padding-block: 13px 17px; font-size: .91rem; }
  .faq-cta { gap: 20px; padding: 24px; }
  .faq-cta-actions { display: grid; width: 100%; }
  .faq-cta-actions .btn,
  .faq-cta-actions .btn-outline { width: 100%; }
}

/* Contact: the final public handoff from discovery to location or booking. */
.contact-hero { padding-block: clamp(44px, 5vw, 66px) clamp(34px, 4vw, 50px); }
.contact-hero .page-title { justify-content: center; text-align: center; }
.contact-hero .page-title > div { width: min(880px, 100%); }
.contact-hero .page-title h1 { max-width: 15em; margin-inline: auto; font-size: clamp(2.35rem, 4vw, 3.8rem); }
.contact-hero .page-title p { max-width: 720px; margin-inline: auto; }
.contact-hero .hero-actions { justify-content: center; }
.contact-hero .eyebrow::before { display: none; }
.contact-location-section { padding-block: clamp(24px, 3.5vw, 44px) clamp(52px, 6vw, 76px); }
.contact-location-grid { display: grid; grid-template-columns: minmax(360px, .92fr) minmax(0, 1.08fr); gap: clamp(20px, 3vw, 34px); align-items: stretch; }
.contact-location-grid > * { min-width: 0; }
.contact-location-grid .map-frame { min-height: 410px; height: 100%; }
.contact-card { display: flex; flex-direction: column; justify-content: center; }
.contact-card-heading { margin-bottom: 8px; }
.contact-card-heading .eyebrow { margin-bottom: 4px; }
.contact-card-heading h2 { margin: 0 0 8px; font-size: clamp(1.55rem, 2.2vw, 2rem); }
.contact-card .contact-notice { margin-block: 8px 4px; }
.contact-list > div { grid-template-columns: minmax(90px, 115px) minmax(0, 1fr); }
.contact-list span, .contact-list a { overflow-wrap: anywhere; }
.contact-address { unicode-bidi: plaintext; }
.contact-routes-section,
.contact-booking-section,
.contact-faq-section { padding-block: clamp(48px, 5.5vw, 68px); }
.contact-routes-section .section-head { margin-bottom: 24px; }
.contact-route-grid { width: min(1040px, 100%); margin-inline: auto; gap: 16px; }
.contact-route-card { min-height: 220px; display: flex; flex-direction: column; padding: clamp(24px, 2.8vw, 32px); }
.contact-route-card h3 { margin: 4px 0 10px; font-size: clamp(1.45rem, 2vw, 1.85rem); }
.contact-route-card p { margin: 0 0 18px; }
.contact-route-card .action-link { align-self: flex-start; margin-top: auto; }
.contact-booking-cta { width: min(1040px, 100%); margin-inline: auto; }
.contact-booking-cta > div { flex: 1; }
.contact-booking-cta .btn { flex: 0 0 auto; }
.contact-faq-section .section-head { margin-bottom: 24px; }
.contact-faq-list { gap: 10px; margin-bottom: 20px; }
.contact-faq-list details { background: rgba(255,253,249,.9); }
.contact-faq-section .center-actions { margin-top: 20px; }

@media (max-width: 900px) {
  .contact-location-grid { grid-template-columns: minmax(0, 1fr); }
  .contact-location-grid .map-frame { min-height: 360px; }
}

@media (max-width: 760px) {
  .contact-hero { padding-block: 42px 34px; }
  .contact-hero .page-title h1 { max-width: 12em; margin-bottom: 14px; font-size: clamp(2rem, 9vw, 2.35rem); line-height: 1.18; }
  .contact-hero .page-title p { font-size: .94rem; line-height: 1.85; }
  .contact-hero .hero-actions { margin-top: 22px; }
  .contact-location-section { padding-block: 16px 44px; }
  .contact-location-grid { gap: 16px; }
  .contact-location-grid .map-frame { min-height: 300px; order: 2; }
  .contact-card { padding: 22px; }
  .contact-list > div { grid-template-columns: minmax(0, 1fr); gap: 3px; }
  .contact-routes-section,
  .contact-booking-section,
  .contact-faq-section { padding-block: 44px; }
  .contact-routes-section .section-head,
  .contact-faq-section .section-head { margin-bottom: 20px; }
  .contact-route-grid { gap: 12px; }
  .contact-route-card { min-height: 0; padding: 22px; }
  .contact-booking-cta { gap: 20px; padding: 24px; }
  .contact-faq-list { gap: 10px; }
  .contact-faq-list details { padding-inline: 15px; }
  .contact-faq-section .center-actions .btn-outline { width: 100%; }
}

/* Booking: keep the route context obvious and the task sequence stable. */
.booking-types { scroll-snap-type: inline proximity; scrollbar-width: thin; }
.booking-types a { display: inline-flex; align-items: center; scroll-snap-align: start; }
.booking-types a.active { position: relative; }
.booking-types a.active::after { content: ''; position: absolute; inset-inline: 16px; bottom: 5px; height: 2px; border-radius: 999px; background: var(--brand-gold); }
.booking-grid > *, .form-grid > *, .selection-summary { min-width: 0; }
.selection-summary { display: grid; align-content: center; }
.field .client-error { min-height: 1.45em; }
.booking-grid > aside { align-self: start; }
.booking-grid > aside h2 { margin-block: 6px 18px; }
.booking-grid > aside .mini-card { padding: 14px 16px; }
.booking-grid > aside .steps { gap: 10px; margin-block: 16px; }
.booking-grid > aside .step { padding: 12px 14px; }
.booking-grid > aside .step b { width: 34px; height: 34px; }
.booking-grid > aside .reward-banner { margin-top: 14px; padding: 12px 14px; line-height: 1.65; }

@media (min-width: 1021px) {
  .booking-grid > aside { position: sticky; top: 108px; }
}

@media (max-width: 900px) {
  .employee-toolbar { align-items: stretch; flex-direction: column; }
  .employee-quick-actions { align-items: flex-start; justify-content: space-between; }
  .employee-toolbar .employee-month-filter { flex-basis: auto; width: min(100%, 320px); }
}

@media (max-width: 600px) {
  .employee-toolbar { padding: 14px; }
  .employee-quick-actions { flex-direction: column; gap: 12px; }
  .employee-quick-action-links { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .employee-quick-action-links .btn,
  .employee-quick-action-links .btn-outline,
  .employee-quick-action-links .quiet-btn { width: 100%; justify-content: center; text-align: center; }
  .employee-quick-action-links .quiet-btn { grid-column: 1 / -1; }
  .employee-toolbar .employee-month-filter { width: 100%; }
  .employee-wrap .compact-stats .stat { min-height: 118px; }
  .owner-month-stats .stat { min-height: 138px; }
}

/* Operational pages: stable density, scanning, and long-value containment. */
.app-header-inner { padding-block: 10px; }
.app-brand > div, .app-user-actions, .dashboard-title-line > *, .panel-head > * { min-width: 0; }
.app-tabs, .client-account-nav, .booking-queue-tabs { scroll-snap-type: inline proximity; scrollbar-width: thin; }
.app-tabs a, .client-account-nav a, .booking-queue-tabs a { scroll-snap-align: start; }
.dashboard-heading, .role-dashboard-heading { gap: var(--gap-wide); }
.month-filter [data-auto-submit-fallback] { margin-inline-start: 10px; }
[data-auto-submit-fallback][hidden]{display:none!important}
.stat { min-height: 132px; display: flex; flex-direction: column; justify-content: center; }
.stat strong, .money-value, .data-table td { font-variant-numeric: tabular-nums; }
.table-wrap { max-width: 100%; overscroll-behavior-inline: contain; }
.data-table th, .data-table td { vertical-align: middle; line-height: 1.55; }
.data-table .action-link { min-height: var(--control-min); padding: 8px 6px; }
.pill { min-height: 30px; line-height: 1.35; text-align: center; }
.empty-state-card { min-height: clamp(180px, 24vw, 240px); padding: clamp(24px, 4vw, 38px); }
.modal, .login-form { background: var(--surface-raised); }
.modal { overscroll-behavior: contain; }
.modal { background: #fffaf1; }
.employee-membership-modal{display:flex;flex-direction:column;overflow:hidden;padding:0;max-height:calc(100dvh - 40px)}
.employee-membership-modal>.modal-head{flex:none;margin:0;padding:20px 24px 16px;border-bottom:1px solid var(--line)}
.employee-membership-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 24px;scrollbar-width:thin}
.employee-enrollment-edit{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}
.employee-enrollment-edit>summary{cursor:pointer;font-weight:700;color:#795407;min-height:44px;align-content:center}
.employee-enrollment-edit[open]>.membership-enrollment-form{margin-top:12px}
.employee-enrollment-edit>summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}
@media(max-width:600px){.employee-membership-modal{max-height:calc(100dvh - 20px)}.employee-membership-modal>.modal-head{padding:16px}.employee-membership-body{padding:16px}}
.employee-account-modal{display:flex;flex-direction:column;overflow:hidden;padding:0;max-height:calc(100dvh - 40px)}
.employee-account-modal>.modal-head{position:relative;z-index:1;flex:none;margin:0;padding:20px 24px 16px;border-bottom:1px solid var(--line);background:#fffaf1}
.employee-account-form{display:flex;min-height:0;flex:1;flex-direction:column}
.employee-account-form>.modal-form-note{flex:none;margin:16px 24px 0}
.employee-account-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 24px;scrollbar-width:thin}
.employee-account-form>.modal-actions{position:relative;z-index:1;flex:none;margin:0;padding:16px 24px 20px;border-top:1px solid var(--line);background:#fffaf1;box-shadow:0 -12px 28px rgba(23,22,20,.06)}
.employee-access-disclosure{margin-top:18px;border:1px solid rgba(23,22,20,.12);border-radius:16px;background:#fffdfa;overflow:hidden}
.employee-access-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:68px;padding:13px 16px;cursor:pointer;list-style:none}
.employee-access-disclosure>summary::-webkit-details-marker{display:none}
.employee-access-disclosure>summary::after{content:"";width:9px;height:9px;flex:0 0 9px;border-right:2px solid #8b650d;border-bottom:2px solid #8b650d;transform:rotate(45deg);transition:transform .18s ease}
.employee-access-disclosure[open]>summary::after{transform:rotate(225deg)}
.employee-access-disclosure>summary strong,.employee-access-disclosure>summary small{display:block}
.employee-access-disclosure>summary strong{font-size:1rem;color:#2d2417}
.employee-access-disclosure>summary small{margin-top:2px;color:var(--muted);font-size:.78rem;font-weight:500}
.employee-access-disclosure>summary:hover{background:rgba(226,173,49,.07)}
.employee-access-disclosure>summary:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
.employee-access-content{padding:18px 16px;border-top:1px solid var(--line);background:#fffaf7}
@media(max-width:600px){.employee-account-modal{max-height:calc(100dvh - 20px)}.employee-account-modal>.modal-head{padding:16px}.employee-account-form>.modal-form-note{margin:12px 16px 0}.employee-account-body{padding:16px}.employee-account-form>.modal-actions{padding:14px 16px 16px}.employee-access-disclosure>summary{min-height:62px}}
.booking-edit-modal .arabic-date-dialog {
  position: fixed;
  inset-inline-start: auto;
  transform: none;
  width: min(326px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.booking-time-slot-picker{position:relative;width:100%}
.booking-time-slot-picker.is-enhanced>select{position:absolute!important;width:1px!important;height:1px!important;min-height:1px!important;margin:0!important;padding:0!important;opacity:0;overflow:hidden;clip-path:inset(50%);pointer-events:none}
.booking-time-slot-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:62px;padding:12px 16px;border:1px solid rgba(23,22,20,.12);border-radius:15px;background:#fffdfa;color:var(--muted);font:inherit;text-align:right;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}
.booking-time-slot-trigger.has-value{color:var(--ink)}
.booking-time-slot-trigger:hover:not(:disabled){border-color:rgba(141,97,7,.42);background:#fff}
.booking-time-slot-trigger:focus-visible,.booking-time-slot-trigger[aria-invalid="true"]{outline:0;border-color:var(--gold);box-shadow:0 0 0 3px rgba(226,173,49,.16)}
.booking-time-slot-trigger:disabled{cursor:not-allowed;opacity:.62}
.booking-time-slot-chevron{width:9px;height:9px;flex:0 0 9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .16s ease}
.booking-time-slot-picker.is-open .booking-time-slot-chevron{transform:rotate(225deg)}
.booking-time-slot-panel{position:absolute;z-index:95;inset-inline:0;top:calc(100% + 8px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:clamp(160px,34dvh,286px);padding:12px;border:1px solid rgba(166,113,7,.3);border-radius:18px;background:#fffdfa;box-shadow:0 22px 54px rgba(28,23,16,.2);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.booking-time-slot-panel[hidden]{display:none!important}
#booking-availability .booking-time-slot-panel { grid-template-columns: repeat(2,minmax(0,1fr)); }
#contact-details .booking-time-slot-panel { grid-template-columns: repeat(2,minmax(0,1fr)); }
.booking-time-slot-option{min-height:44px;padding:8px;border:1px solid rgba(23,22,20,.11);border-radius:12px;background:#fff;color:#3f382f;font:inherit;font-size:.9rem;font-weight:800;font-variant-numeric:tabular-nums;cursor:pointer;transition:border-color .14s ease,background-color .14s ease,color .14s ease,transform .14s ease}
.booking-time-slot-option:hover{border-color:rgba(141,97,7,.5);background:#fff5dc;transform:translateY(-1px)}
.booking-time-slot-option[aria-checked="true"]{border-color:var(--ink);background:var(--ink);color:#fff;box-shadow:0 7px 16px rgba(23,22,20,.16)}
.booking-time-slot-option:focus-visible{outline:3px solid rgba(226,173,49,.58);outline-offset:2px}
@media(max-width:600px){.booking-edit-modal{max-height:calc(100dvh - 20px)}.booking-edit-modal>.modal-head{padding:16px}.booking-edit-body{padding:16px}.booking-edit-form>.modal-actions{padding:14px 16px 16px}.refund-balance{align-items:flex-start;flex-direction:column;gap:4px}.refund-submit{min-width:0}}
@media(max-width:600px){.booking-time-slot-panel{position:relative;inset:auto;top:auto;grid-template-columns:repeat(3,minmax(0,1fr));max-height:min(34dvh,250px);margin-top:8px;box-shadow:0 12px 28px rgba(28,23,16,.13)}.booking-time-slot-trigger{min-height:58px}}
.package-tracking .booking-time-slot-panel{position:relative;inset:auto;top:auto;grid-template-columns:repeat(3,minmax(0,1fr));max-height:220px;margin-top:6px;box-shadow:0 10px 24px rgba(28,23,16,.12)}
.package-tracking .booking-time-slot-trigger{min-height:44px;padding:6px 9px;border-radius:9px;font-size:.82rem}
.modal .inline-actions { gap: 10px; }

/* Authentication: balance the full brand group, not merely the logo. */
.login-page { padding: clamp(18px, 3vw, 36px); }
.login-shell { width: min(1120px, 100%); grid-template-columns: minmax(0, 1.02fr) minmax(400px, .98fr); border-radius: clamp(26px, 3vw, 38px); }
.login-intro { display: flex; flex-direction: column; justify-content: center; padding: clamp(38px, 4.2vw, 58px); }
.login-intro > a:first-child {
  width: min(360px, 82%);
  align-self: center;
  justify-content: center;
  margin-bottom: clamp(28px, 3.5vw, 42px);
  padding: clamp(16px, 2vw, 24px);
}
.login-intro img { width: min(210px, 76%); }
.login-intro h1 { max-width: 16ch; margin-bottom: 14px; font-size: clamp(2rem, 2.8vw, 2.8rem); }
.login-intro p { max-width: 48ch; margin: 0; line-height: 1.9; }
.login-intro > .eyebrow { align-self: center; text-align: center; color: #f1ca67; }
.login-intro > h1, .login-intro > p { align-self: center; text-align: center; }
.login-preview-note, .login-demo { margin-top: clamp(20px, 3vw, 30px); }
.login-intro .login-preview-note { padding: 12px 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.login-intro .login-preview-note > span { width: 32px; height: 32px; flex-basis: 32px; border-radius: 10px; background: rgba(226,173,49,.09); }
.login-intro .login-preview-note strong { font-size: .95rem; font-weight: 600; }
.login-form { display: flex; flex-direction: column; justify-content: center; padding: clamp(34px, 4.2vw, 58px); }
.login-form > p { max-width: 48ch; line-height: 1.9; }
.role-login-form { gap: 10px; }
.login-form .field { margin-bottom: 10px; }
.login-form .btn { margin-top: 8px; }
.remember-login { min-height: 58px; }
.login-support-links { padding-top: 2px; }
.login-form .login-support-links a { font-size: .9rem; font-weight: 600; }
.login-form .login-recovery-help { margin: 14px 0 0; font-size: .85rem; color: var(--muted); line-height: 1.8; }
.login-support-links a, .source-note a { min-height: var(--control-min); display: inline-flex; align-items: center; }
.login-back-link { margin-top: 6px; gap: 7px; justify-content: center; }
.login-form > .source-note {
  margin: 18px 0 0;
  padding-top: 12px;
  border-top: 1px solid var(--line);
  text-align: center;
  font-size: .9rem;
}
.login-form > .source-note a {
  justify-content: center;
  color: #76520a;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: rgba(118,82,10,.3);
  text-underline-offset: 4px;
}
.login-form > .source-note a:hover { color: #4d3403; text-decoration-color: currentColor; }
.password-toggle { min-height: var(--control-min); }

@media (min-width: 761px) and (max-height: 800px) {
  .login-page { align-items: safe center; justify-items: center; padding-block: 16px; }
  .login-intro, .login-form { padding: 28px clamp(30px, 3.6vw, 46px); }
  .login-intro > a:first-child { width: min(300px, 76%); margin-bottom: 22px; padding: 14px 18px; }
  .login-intro img { width: min(178px, 72%); }
  .login-intro h1 { font-size: clamp(1.9rem, 2.6vw, 2.4rem); }
  .login-preview-note, .login-demo { margin-top: 18px; }
  .login-form h2 { font-size: 1.8rem; }
  .login-form > p { margin-bottom: 18px; }
  .login-form .field { margin-bottom: 7px; }
  .role-login-form { gap: 7px; }
  .remember-login { min-height: 52px; padding-block: 8px; }
  .login-support-links { margin-top: 14px; }
}

@media (max-width: 1020px) {
  .hero-grid { grid-template-columns: minmax(0, 1fr); }
  .hero-grid > div:first-child { max-width: 780px; }
  .hero-card { width: min(100%, 400px); justify-self: center; }
  .login-shell { grid-template-columns: minmax(0, 1fr) minmax(360px, .88fr); }
}

@media (max-width: 760px) {
  html { scroll-padding-top: 82px; }
  main section[id], .located-record { scroll-margin-top: 88px; }
  .login-page { min-height: 100dvh; align-items: safe center; padding: 10px; }
  .login-shell { grid-template-columns: minmax(0, 1fr); border-radius: 24px; }
  .login-intro {
    order: -1;
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 2px 16px;
    justify-content: stretch;
    padding: 16px 18px;
  }
  .login-intro > a:first-child {
    grid-column: 1;
    grid-row: 1 / 3;
    width: 82px;
    align-self: center;
    margin: 0;
    padding: 8px 10px;
    border-radius: 15px;
  }
  .login-intro img { width: 62px; }
  .login-intro > .eyebrow {
    grid-column: 2;
    align-self: end;
    justify-self: start;
    margin: 0;
    font-size: .76rem;
  }
  .login-intro > h1 {
    grid-column: 2;
    align-self: start;
    justify-self: start;
    max-width: none;
    margin: 0;
    font-size: clamp(1.05rem, 5vw, 1.28rem);
    line-height: 1.45;
    text-align: start;
  }
  .login-intro > p,
  .login-intro > .login-preview-note { display: none; }
  .login-form { order: 1; padding: clamp(24px, 6vw, 32px) clamp(18px, 5vw, 28px); }
  .login-form > .eyebrow { margin-bottom: 6px; }
  .login-form h2 { margin-bottom: 8px; font-size: clamp(1.65rem, 8vw, 2rem); line-height: 1.3; }
  .login-form > p { margin-bottom: 18px; font-size: .92rem; line-height: 1.8; }
  .login-form .help { line-height: 1.75; }
  .login-support-links { margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--line); }
  .login-support-links > div { display: grid; justify-items: center; gap: 0; }
  .login-form .login-support-links a { justify-content: center; text-align: center; }
  .admin-heading-actions { width: 100%; justify-items: stretch; }
  .admin-heading-actions .inline-actions { margin: 0; }
  .action-availability-note { max-width: none; text-align: start; }
  .hero h1 { max-width: 11.5em; }
  .hero-card { border-radius: 28px; }
  .hero-card-meta { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .footer nav { justify-items: center; }
  .footer a { width: 100%; justify-content: center; }
  .client-account-nav a { min-height: var(--control-min); }
  .data-table .action-link { justify-content: center; }
}

@media (max-width: 420px) {
  .hero-card-meta { gap: 8px; }
  .cta-band, .panel, .form-card { border-radius: 22px; }
  .app-user-actions { gap: 6px; }
  .app-user-actions .quiet-btn { white-space: normal; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
  .btn:hover, .role-card:hover, .nav-links .nav-portal:hover { transform: none; }
}

@media (forced-colors: active) {
  .field select:not([multiple]),
  .toolbar select:not([multiple]),
  .app-main select:not([multiple]),
  .employee-wrap select:not([multiple]) {
    appearance: auto;
    padding-inline-end: 13px !important;
    background-image: none;
  }
}

/* Mobile public landing: compact navigation and a focused first screen. */
.brand-copy { display: block; }
.hero-assurance {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 18px!important;
  color: var(--muted);
  font-size: .86rem!important;
  font-weight: 700;
}
.hero-assurance::before {
  content: '✓';
  display: grid;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 50%;
  background: rgba(248,168,0,.15);
  color: var(--brand-gold-deep);
  font-size: .75rem;
}

@media (max-width: 760px) {
  .site-header .brand-copy { display: none; }
  .site-header .nav-row { min-height: 72px; }
  .site-header .brand { gap: 9px; }
  .site-header .brand img { width: 70px; height: 50px; }
  .site-header .brand strong { font-size: 1rem; }
  .site-header .mobile-toggle { width: 44px; height: 44px; border-radius: 13px; }
  .site-header .nav-links {
    top: calc(100% + 8px);
    right: auto;
    left: 0;
    width: min(340px, calc(100vw - 24px));
    max-height: calc(100dvh - 92px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    padding: 10px;
    border-radius: 18px;
  }
  .site-header .nav-links a {
    justify-content: flex-start;
    min-height: 44px;
    padding: 8px 12px;
    border-radius: 12px;
    background: rgba(11,11,10,.035);
    font-size: .9rem;
    text-align: right;
  }
  .site-header .nav-links .nav-portal { grid-column: 1 / -1; justify-content: center; }
  .hero { padding-block: 34px 30px; }
  .hero + .section { padding-top: 38px; }
  .hero-grid { gap: 28px; }
  .hero-grid > div:first-child { max-width: none; }
  .hero .eyebrow { margin-bottom: 9px; font-size: .84rem; }
  .hero h1 { max-width: 12em; margin-bottom: 14px; font-size: clamp(2rem, 9vw, 2.4rem); line-height: 1.28; }
  .hero p { font-size: .95rem; line-height: 1.85; }
  .hero-actions { gap: 9px; margin-top: 22px; }
  .hero-actions .btn, .hero-actions .btn-outline { min-height: 50px; }
  .hero-assurance { margin-top: 14px!important; color: #625a50; font-size: .85rem!important; }
  .hero-card { width: 100%; padding: 14px; border-radius: 22px; }
  .hero-card::before { border-radius: 21px; }
  .hero-card-logo {
    width: min(200px, 52vw);
    max-height: 160px;
    margin-inline: auto;
    padding: 8px;
    border-radius: 15px;
  }
  .hero-card-meta { gap: 7px; margin-top: 12px; }
  .hero-card-meta div { padding: 8px 5px; border-radius: 12px; text-align: center; }
  .hero-card-meta strong { font-size: .8rem; }
  .hero-card-meta span { font-size: .65rem; }
  .decision-card { min-height: 0; }
  .homepage-section { padding-block: 44px; }
  .homepage-section .section-head { margin-bottom: 20px; }
  .homepage-section .section-head h2 { font-size: clamp(1.7rem, 8vw, 2rem); line-height: 1.28; }
  .homepage-routes .route-card { min-height: 0; padding: 22px; }
  .homepage-service-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .homepage-service-item { min-height: 0; padding: 20px; }
  .homepage-service-meta { margin-top: 15px; }
  .homepage-service-footer .btn-outline { width: 100%; }
  .homepage-booking-steps .steps { gap: 10px; }
  .homepage-booking-steps .step { padding: 14px; }
  .homepage-promos .grid-2 { gap: 14px; }
  .homepage-final-cta { width: var(--container); }
  .homepage-final-cta .btn { min-width: 0; }
  .haircut-hero { padding-block: 30px 18px; }
  .haircut-hero .page-title h1 { font-size: clamp(2rem, 9vw, 2.35rem); line-height: 1.18; }
  .haircut-hero .page-title p { font-size: .94rem; }
  .haircut-facts { gap: 7px; margin-top: 16px; }
  .haircut-facts span { padding: 7px 10px; font-size: .78rem; }
  .haircut-section { padding-block: 42px; }
  .haircut-services { padding-top: 34px; }
  .haircut-section .section-head { margin-bottom: 20px; }
  .haircut-section .section-head h2 { font-size: clamp(1.7rem, 8vw, 2rem); }
  .haircut-service-grid { gap: 12px; }
  .haircut-service-card { min-height: 0; padding: 20px; }
  .haircut-guidance .grid-2 { gap: 14px; }
  .haircut-guidance .info-card { padding: 22px; }
  .haircut-final-cta { width: var(--container); }
}

@media (max-width: 1240px) {
  body.public-nav-open { overflow: hidden; }
  body.public-nav-open::before {
    content: '';
    position: fixed;
    z-index: 49;
    inset: 78px 0 0;
    background: rgba(11,11,10,.38);
    backdrop-filter: blur(2px);
  }
}

@media (max-width: 760px) {
  body.public-nav-open::before { inset-block-start: 72px; }
}

@media (max-width: 360px) {
  .site-header .nav-links { grid-template-columns: 1fr; }
  .site-header .nav-links .nav-portal { grid-column: auto; }
}

/* Private, staff-assisted membership activation. */
.activation-shell .login-form { align-self: stretch; }
.activation-identity {
  display: grid;
  gap: 4px;
  margin: 2px 0 18px;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface-soft);
}
.activation-identity span,
.activation-identity small { color: var(--muted); }
.activation-identity strong { font-size: 1.15rem; letter-spacing: .04em; }
.activation-code-input { font-weight: 800; letter-spacing: .16em; text-align: center; text-transform: uppercase; }
.activation-privacy-note {
  margin-top: 14px;
  padding: 14px 16px;
  border-radius: 14px;
  background: var(--gold-soft);
  color: #684500;
}
.activation-privacy-note p { margin: 4px 0 0; line-height: 1.75; }
.member-identity{display:grid;gap:6px}
.member-identity h2,.member-identity p{margin:0}
.member-state-badges { display: flex; align-items: center; justify-content: flex-start; flex-wrap: wrap; gap: 8px; margin-top:4px }
.activation-invite-row {
  display: grid;
  grid-template-columns: minmax(230px,.72fr) minmax(360px,1.28fr);
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  margin: 0;
  padding: 24px;
  border: 1px solid rgba(185, 131, 14, .24);
  border-inline-start: 5px solid var(--gold);
  border-radius: 24px;
  background: rgba(255, 250, 241, .94);
  box-shadow: 0 16px 38px rgba(28, 23, 16, .07);
}
.activation-invite-row p { margin: 5px 0 0; color: var(--muted); line-height: 1.7; }
.activation-consent-form { display: grid; gap: 12px; min-width: 0; }
.activation-consent-form>.btn{justify-self:start;min-width:220px}
.activation-consent-form .checkbox-option strong,.activation-consent-form .checkbox-option small{display:block}
.activation-consent-form .checkbox-option small{margin-top:3px;color:var(--muted);font-size:.8rem;line-height:1.65}
.scan-action-grid .compact-empty{min-height:170px;padding:22px;border:0;background:rgba(250,247,240,.78);box-shadow:none}
.activation-pass-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(22px, 4vw, 50px);
  margin: 18px 0 28px;
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid #b88516;
  border-radius: 24px;
  background: linear-gradient(135deg, #171613, #26231d);
  color: #fff;
  box-shadow: 0 22px 45px rgba(34, 27, 15, .15);
}
.activation-pass-card > [data-activation-secret] { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 24px; grid-column: 1 / -1; }
.activation-pass-card [hidden] { display: none !important; }
.member-camera-panel video { display: block; max-width: 100%; width: 480px; max-height: 320px; border-radius: 16px; background: #141311; }
[data-member-camera-panel][hidden], [data-member-camera-start][hidden] { display: none !important; }
.activation-pass-timer { grid-column: 1 / -1; padding-bottom: 16px; border-bottom: 1px solid #5b554a; color: #fff; }
.activation-pass-timer strong { display: inline-block; margin-inline-start: 12px; font-size: 2rem; color: #ffc13c; font-variant-numeric: tabular-nums; }
.activation-pass-timer p { color: #ded8ca; margin: 8px 0 0; }
.activation-pass-card [data-activation-regenerate] { grid-column: 1 / -1; }
.closing-reconciliation-preview { display: grid; gap: 8px; padding: 16px; margin: 16px 0; border: 1px solid #d5c5a6; border-radius: 16px; color: #554c3f; }
@media (max-width: 640px) { .activation-pass-card > [data-activation-secret] { grid-template-columns: 1fr; } }
.activation-pass-copy h3 { margin: 9px 0; color: #fff; font-size: clamp(1.35rem, 2.3vw, 2rem); }
.activation-pass-copy p { max-width: 58ch; color: #ded8ca; line-height: 1.85; }
.activation-fallback { display: grid; gap: 4px; margin-top: 18px; }
.activation-fallback span { color: #c8c0b1; }
.activation-fallback strong { color: #ffc13c; font-size: clamp(1.45rem, 3vw, 2.2rem); letter-spacing: .12em; }
.activation-qr { display: grid; justify-items: center; gap: 8px; min-width: 194px; }
.activation-qr .qr-real { min-width: 194px; min-height: 194px; padding: 12px; border-radius: 18px; background: #fff; }
.activation-qr .qr-real img,
.activation-qr .qr-real canvas { display: block; width: 170px !important; height: 170px !important; }
.activation-qr small { color: #d8d1c4; }
@media (max-width: 680px) {
  .activation-invite-row { align-items: stretch; grid-template-columns:1fr; padding:18px; }
  .activation-invite-row .btn { width: 100%; }
  .activation-pass-card { grid-template-columns: 1fr; text-align: center; }
  .activation-pass-copy p { margin-inline: auto; }
  .member-state-badges { justify-content: flex-start; }
}
/* Customer authentication: one clear primary path with a calm, resilient fallback. */
.toast-info{background:#171614;color:#fff}
.employee-enrollment-resolution{display:grid;gap:12px}
.employee-enrollment-resolution .modal-form-note{margin:0;background:#fff3d6;color:#593d00}
.employee-enrollment-resolution .modal-form-note p{margin:4px 0 0}
.passkey-primary{display:grid;gap:.55rem;margin:1rem 0}.passkey-primary .btn{min-height:52px;width:100%}.passkey-primary p{margin:0;color:var(--muted,#786b60);font-size:.92rem;line-height:1.7}.auth-fallback{margin-top:1rem;border:1px solid var(--line,#ded7cc);border-radius:18px;padding:.85rem 1rem}.auth-fallback summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}.auth-divider{display:flex;align-items:center;gap:.75rem;color:var(--muted,#786b60);font-size:.85rem;margin:1rem 0}.auth-divider::before,.auth-divider::after{content:"";height:1px;background:var(--line,#ded7cc);flex:1}.membership-enrollment-form,.dependant-enrollment-form{display:grid;gap:1rem}.identity-match-list{display:grid;gap:.75rem}.identity-match-card,.enrollment-success{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid var(--line,#ded7cc);border-radius:18px;padding:1rem}.identity-match-card div,.enrollment-success div{display:grid;gap:.25rem}.identity-match-card small,.enrollment-success p{color:var(--muted,#786b60);margin:0}.dependant-enrollment{margin-top:1rem;padding:1rem;border-radius:18px;background:#fffaf1}.dependant-enrollment summary{cursor:pointer;font-weight:800;min-height:44px}.form-submit-row{justify-content:flex-start}.enrollment-consent{margin-top:.25rem}
@media(max-width:720px){.identity-match-card,.enrollment-success{align-items:stretch;flex-direction:column}.identity-match-card .btn,.enrollment-success .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.passkey-primary *,.identity-match-card *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.client-profile-switcher{display:flex;align-items:center;gap:.75rem;justify-content:flex-start;margin:1rem 0;padding:.75rem 1rem;border:1px solid var(--line,#ded7cc);border-radius:16px;background:rgba(255,255,255,.66)}.client-profile-switcher label{font-weight:800;white-space:nowrap}.client-profile-switcher select{min-height:44px;max-width:320px}
@media(max-width:560px){.client-profile-switcher{align-items:stretch;flex-direction:column}.client-profile-switcher select{max-width:none;width:100%}}
.member-scan-main>.enrollment-resolution-primary,.member-scan-main>.enrollment-retry-panel{margin-top:24px}
.enrollment-resolution-primary{border-color:rgba(185,131,14,.28);background:#fffaf0}
.enrollment-resolution-primary>.panel-head{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid rgba(185,131,14,.18)}
.enrollment-resolution-primary .eyebrow{margin-bottom:4px;font-size:.78rem}
.enrollment-resolution-primary .identity-match-card{background:#fff;border-color:rgba(23,22,20,.12)}
.enrollment-retry-panel{padding:0;overflow:hidden}
.enrollment-retry-panel>summary{display:grid;gap:2px;padding:18px 24px;cursor:pointer;list-style:none;font-weight:800}
.enrollment-retry-panel>summary::-webkit-details-marker{display:none}
.enrollment-retry-panel>summary::before{content:'＋';grid-row:1/3;align-self:center;margin-inline-end:auto;color:var(--gold2);font-size:1.25rem}
.enrollment-retry-panel[open]>summary::before{content:'−'}
.enrollment-retry-panel>summary small{color:var(--muted);font-size:.8rem;font-weight:500}
.enrollment-retry-panel>summary:focus-visible{outline:3px solid rgba(226,173,49,.42);outline-offset:-4px;border-radius:20px}
.enrollment-retry-content{padding:22px 24px 24px;border-top:1px solid var(--line)}
.enrollment-retry-content>.panel-head{margin-bottom:18px}
.dependant-enrollment{margin-top:20px;padding:0;border:1px solid rgba(23,22,20,.1);background:#fff}
.dependant-enrollment>summary{display:flex;align-items:center;padding:14px 16px;list-style:none}
.dependant-enrollment>summary::-webkit-details-marker{display:none}
.dependant-enrollment>summary::before{content:'＋';margin-inline-end:auto;color:var(--gold2)}
.dependant-enrollment[open]>summary::before{content:'−'}
.dependant-enrollment-content{padding:0 16px 16px;border-top:1px solid var(--line)}
.dependant-enrollment-content>p{margin:14px 0;color:var(--muted)}
.form-submit-row{align-items:center;padding-top:4px}
.form-submit-row>small{max-width:540px;line-height:1.7}
@media(max-width:720px){.enrollment-retry-panel>summary,.enrollment-retry-content{padding-inline:18px}.form-submit-row{align-items:stretch}.form-submit-row>small{order:-1}}
.client-order-list{display:grid;gap:18px}.client-order-card{border:1px solid var(--line);border-radius:24px;padding:24px;background:#fffdfa}.client-order-card>header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.client-order-card h3{margin:10px 0 4px}.client-order-card p{margin:0;color:var(--muted)}.client-order-appointment{display:grid;gap:3px;text-align:left;min-width:150px}.client-order-appointment small,.client-order-card>footer small{color:var(--muted)}.order-timeline{list-style:none;margin:24px 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.order-timeline li{display:grid;justify-items:center;text-align:center;gap:8px;color:var(--muted);font-size:.86rem}.order-timeline li span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#eee9df;color:#625a50;font-weight:800}.order-timeline li.is-done{color:var(--ink)}.order-timeline li.is-done span{background:#f7e6b6;color:#815600}.client-order-card>footer{display:flex;flex-wrap:wrap;gap:14px;padding-top:18px;border-top:1px solid var(--line)}.client-order-card>footer div{display:grid;gap:4px;min-width:150px}.client-order-card>footer strong{font-size:.95rem}@media(max-width:760px){.client-order-card{padding:18px}.client-order-card>header{display:grid}.client-order-appointment{text-align:right}.order-timeline{grid-template-columns:1fr;justify-items:start}.order-timeline li{grid-template-columns:34px 1fr;align-items:center;justify-items:start;text-align:right}}
.client-order-details{margin-top:12px}
.client-order-details>summary{display:inline-flex;align-items:center;min-height:44px;cursor:pointer;list-style:none;color:var(--brand-gold-deep);font-weight:800}
.client-order-details>summary::-webkit-details-marker{display:none}
.client-order-details>summary::after{content:'';display:block;width:9px;height:9px;flex:0 0 9px;margin-inline-start:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .18s ease}
.client-order-details[open]>summary::after{transform:translateY(2px) rotate(225deg)}
.client-order-details .order-timeline{margin:8px 0 18px}
.client-order-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));align-items:start}
.client-order-card>header{gap:16px}
.client-order-card h3{margin:8px 0 2px}
.client-order-details{margin-top:8px}
.client-order-card>footer{padding-top:12px}
@media(min-width:761px){.client-order-card{padding:20px}}
.settings-form>.panel:first-of-type{margin-top:20px!important}

/* Settings rewards: keep the section heading compact and its destination obvious. */
.settings-form > .settings-rewards-panel { padding-block: 20px; }
.settings-rewards-panel > .panel-head {
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 0;
}
.settings-rewards-panel > .form-grid:not(:empty) { margin-top: 18px; }
.settings-rewards-link { flex: 0 0 auto; gap: 8px; }
@media(max-width:760px) {
  .settings-rewards-panel > .panel-head { align-items: stretch; gap: 14px; }
  .settings-rewards-link { width: 100%; }
}

/* Arabic date picker: protect compact controls from generic select spacing. */
.arabic-date-jump { min-width: 0; grid-template-columns: minmax(96px, 1.1fr) minmax(94px, .9fr); }
.arabic-date-trigger[aria-expanded="true"] {
  border-color: var(--gold);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(226,173,49,.13);
}
.arabic-date-jump select {
  width: 100%;
  padding-inline-start: 10px !important;
  padding-inline-end: 34px !important;
  background-position: left 10px center !important;
  background-size: 13px 13px !important;
  white-space: nowrap;
}
.arabic-date-weekdays { color: #625a50; font-size: .72rem; }
.arabic-date-days button:disabled { color: #9b9388; }
.arabic-date-footer small {
  min-width: 0;
  line-height: 1.55;
  text-align: right;
  unicode-bidi: plaintext;
}
.modal .field.full .arabic-date-dialog {
  inset-inline-start: 50%;
  transform: translateX(50%);
}
.settings-costs-main { padding-top: 26px; }
.settings-costs-main .settings-form > .panel:first-of-type { margin-top: 0 !important; }
.settings-costs-main #cost-bases { padding: 22px 28px 26px; }
.cost-bases-head { align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 0; }
.cost-bases-head > div { max-width: 780px; }
.cost-expenses-link { flex: 0 0 auto; gap: 8px; white-space: nowrap; }
.settings-costs-main #cost-bases .form-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid rgba(23, 22, 20, .08);
}
.settings-costs-main #cost-bases input {
  direction: ltr;
  text-align: right;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}
.settings-costs-main #cost-bases input.is-modified {
  border-color: rgba(157, 109, 9, .58);
  background: #fffaf0;
  box-shadow: 0 0 0 3px rgba(226, 173, 49, .1);
}
body:has(>.app-sidebar) {
  min-height: 100vh;
  background: linear-gradient(180deg, #fbf7f0 0%, var(--brand-cream) 100%);
  background-attachment: fixed;
}
body:has(> .app-sidebar) > .app-header { background: #fbf7ef; }
.settings-chairs-main #chair-assignments > .panel-head {
  justify-content: space-between;
  align-items: center;
  gap: 24px;
}
.settings-chairs-main #chair-assignments > .panel-head .btn { box-shadow: 0 8px 22px rgba(23,22,20,.13); }
.chair-assignment-actions { display: flex; align-items: center; justify-content: flex-start; gap: 10px; flex-wrap: wrap; }
.chair-assignment-actions .compact-add-form { margin: 0; }
.chair-assignment-actions .compact-add-form input { width: 220px; }
.chair-assignment-modal { width: min(720px, 100%); overflow: visible; }
.chair-assignment-modal .field.full .arabic-date-dialog {
  position: fixed;
  inset-inline-start: auto;
  transform: none;
  width: min(326px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.chair-assignment-modal .arabic-date-days button,
.chair-assignment-modal .arabic-date-spacer { min-height: 34px; aspect-ratio: auto; }
.chair-assignment-modal .arabic-date-dialog[data-placement^="side"]::after,
.booking-edit-modal .arabic-date-dialog[data-placement^="side"]::after {
  content: '';
  position: absolute;
  top: var(--date-anchor-y, 50%);
  width: 13px;
  height: 13px;
  border-top: 1px solid rgba(166,113,7,.42);
  border-right: 1px solid rgba(166,113,7,.42);
  background: #fffdfa;
  transform: translateY(-50%) rotate(45deg);
}
.chair-assignment-modal .arabic-date-dialog[data-placement^="side"],
.booking-edit-modal .arabic-date-dialog[data-placement^="side"] { overflow: visible; }
.chair-assignment-modal .arabic-date-dialog[data-placement^="side"]::before,
.booking-edit-modal .arabic-date-dialog[data-placement^="side"]::before {
  content: '';
  position: absolute;
  top: var(--date-anchor-y, 50%);
  width: 8px;
  height: 2px;
  background: rgba(166,113,7,.72);
  transform: translateY(-50%);
}
.chair-assignment-modal .arabic-date-dialog[data-placement="side-left"]::after,
.booking-edit-modal .arabic-date-dialog[data-placement="side-left"]::after { right: -7px; }
.chair-assignment-modal .arabic-date-dialog[data-placement="side-left"]::before,
.booking-edit-modal .arabic-date-dialog[data-placement="side-left"]::before { right: -8px; }
.chair-assignment-modal .arabic-date-dialog[data-placement="side-right"]::after,
.booking-edit-modal .arabic-date-dialog[data-placement="side-right"]::after { left: -7px; transform: translateY(-50%) rotate(225deg); }
.chair-assignment-modal .arabic-date-dialog[data-placement="side-right"]::before,
.booking-edit-modal .arabic-date-dialog[data-placement="side-right"]::before { left: -8px; }
.booking-edit-modal .arabic-date-dialog[data-placement="below"]::after,
.booking-edit-modal .arabic-date-dialog[data-placement="above"]::after {
  content: '';
  position: absolute;
  left: var(--date-anchor-x, 50%);
  width: 13px;
  height: 13px;
  background: #fffdfa;
  transform: translateX(-50%) rotate(45deg);
}
.booking-edit-modal .arabic-date-dialog[data-placement="below"]::after { top: -7px; border-top: 1px solid rgba(166,113,7,.42); border-left: 1px solid rgba(166,113,7,.42); }
.booking-edit-modal .arabic-date-dialog[data-placement="above"]::after { bottom: -7px; border-right: 1px solid rgba(166,113,7,.42); border-bottom: 1px solid rgba(166,113,7,.42); }
.assignment-native-select {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0;
  pointer-events: none;
}
.assignment-choice { position: relative; }
.assignment-choice-trigger {
  display: grid;
  align-content: center;
  gap: 1px;
  width: 100%;
  min-height: 62px;
  padding: 9px 44px 9px 14px;
  border: 1px solid rgba(23,22,20,.12);
  border-radius: 14px;
  background: #fffdfa;
  color: var(--ink);
  font: inherit;
  text-align: right;
  cursor: pointer;
}
.assignment-choice-trigger::after {
  content: '';
  position: absolute;
  inset-inline-end: 17px;
  top: 50%;
  width: 11px;
  height: 7px;
  background: currentColor;
  clip-path: polygon(0 0,50% 68%,100% 0,100% 32%,50% 100%,0 32%);
  transform: translateY(-50%);
  transition: transform .16s ease;
}
.assignment-choice-trigger[aria-expanded="true"]::after { transform: translateY(-50%) rotate(180deg); }
.assignment-choice-trigger small { color: var(--muted); font-size: .72rem; }
.assignment-choice-trigger:focus-visible,
.assignment-choice-trigger[aria-expanded="true"] { outline: 0; border-color: var(--gold); box-shadow: 0 0 0 3px rgba(226,173,49,.14); }
.assignment-choice-trigger[aria-invalid="true"] { border-color: var(--red); box-shadow: 0 0 0 3px rgba(180,64,53,.09); }
.assignment-choice-panel {
  position: absolute;
  z-index: 82;
  inset: calc(100% + 7px) 0 auto;
  max-height: var(--choice-panel-max-height, 240px);
  padding: 8px;
  overflow: hidden;
  overscroll-behavior: contain;
  border: 1px solid rgba(23,22,20,.14);
  border-radius: 16px;
  background: #fffdfa;
  box-shadow: 0 14px 36px rgba(28,23,16,.16);
}
.assignment-choice-panel[data-placement="above"] { top: auto; bottom: calc(100% + 7px); }
.assignment-choice-panel[hidden] { display: none !important; }
.assignment-choice-controls { display: grid; gap: 7px; margin-bottom: 7px; }
.assignment-choice-search {
  width: 100%;
  min-height: 40px !important;
  padding: 7px 11px !important;
  border: 1px solid rgba(23,22,20,.12) !important;
  border-radius: 10px !important;
  background: #fff !important;
  font-size: .8rem !important;
}
.assignment-choice-filters { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; }
.assignment-choice-filters button {
  min-height: 34px;
  padding: 5px 8px;
  border: 0;
  border-radius: 9px;
  background: rgba(23,22,20,.045);
  color: var(--muted);
  font: 800 .72rem/1.4 Cairo,sans-serif;
  cursor: pointer;
}
.assignment-choice-filters button[aria-pressed="true"] { background: rgba(226,173,49,.16); color: #765006; }
.assignment-choice-list {
  max-height: calc(var(--choice-panel-max-height, 280px) - 92px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(23,22,20,.3) transparent;
}
.assignment-choice-controls + .assignment-choice-list {
  padding-top: 3px;
  border-top: 1px solid rgba(23,22,20,.075);
}
.assignment-choice-group {
  display: block;
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 8px 10px 5px;
  background: #fffdfa;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 800;
}
.assignment-choice-option {
  display: grid;
  grid-template-columns: 10px minmax(0,1fr);
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 9px 10px;
  border: 0;
  border-radius: 11px;
  background: transparent;
  color: var(--ink);
  font: inherit;
  text-align: right;
  cursor: pointer;
}
.assignment-choice-option[hidden],
.assignment-choice-group[hidden] { display: none !important; }
.assignment-choice-option:hover,
.assignment-choice-option:focus-visible { outline: 0; background: rgba(226,173,49,.1); }
.assignment-choice-option[aria-selected="true"] { background: rgba(226,173,49,.14); }
.assignment-choice-option strong,
.assignment-choice-option small { display: block; unicode-bidi: plaintext; }
.assignment-choice-trigger > span,
.assignment-choice-trigger > small { unicode-bidi: plaintext; }
.assignment-choice-option small { margin-top: 1px; color: var(--muted); font-size: .72rem; }
.assignment-choice-status { width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 3px rgba(25,122,81,.1); }
.assignment-choice-option[data-assigned="1"] .assignment-choice-status { background: var(--gold2); box-shadow: 0 0 0 3px rgba(226,173,49,.14); }
.assignment-choice-empty { margin: 12px 8px; color: var(--muted); font-size: .78rem; text-align: center; }
.assignment-choice-empty[hidden] { display: none; }
.assignment-share-totals {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
  color: var(--muted);
}
.assignment-share-totals-label { margin-inline-end: auto; font-size: .82rem; }
.assignment-share-totals > [data-share-summary] {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 38px;
  padding: 7px 11px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fffdf9;
  font-size: .78rem;
}
.assignment-share-totals strong { color: var(--ink); font-size: .86rem; }
.assignment-share-totals small { color: #8a650b; }
.assignment-share-totals [data-state="complete"] small { color: var(--green); }
.assignment-share-totals [data-state="over"] { border-color: rgba(180,64,53,.35); background: rgba(180,64,53,.06); }
.assignment-share-totals [data-state="over"] small { color: var(--red); }
.settings-chairs-main .data-table input[data-share-kind] {
  padding-inline-end: 13px;
  padding-inline-start: 34px;
  background-image: linear-gradient(transparent,transparent);
}
.settings-chairs-main .data-table td:has(input[data-share-kind]) { position: relative; }
.settings-chairs-main .data-table td:has(input[data-share-kind])::after {
  content: '%';
  position: absolute;
  inset-inline-start: 28px;
  top: 50%;
  color: var(--muted);
  font-size: .78rem;
  pointer-events: none;
  transform: translateY(-50%);
}

/* Owner security: readable measure, clear grouping, and a nearby primary action. */
.settings-form > section[id] { scroll-margin-top: 156px; }
.booking-weekday-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; }
.booking-weekday-grid .checkbox-option { justify-content: center; padding-inline: 9px; }
.arabic-date-days button[data-availability-pending] { color: #b7afa4; cursor: wait; }
#owner-security > .panel-head,
.owner-security-layout {
  width: min(100%, 760px);
}
#owner-security > .panel-head { margin-bottom: 22px; }
.owner-security-layout { display: grid; gap: 16px; }
.owner-security-group {
  padding: 20px;
  border: 1px solid rgba(23,22,20,.1);
  border-radius: 18px;
  background: rgba(255,255,255,.58);
}
.owner-security-group-head { margin-bottom: 16px; }
.owner-security-group-head h3 { margin: 0; font-size: 1.02rem; }
.owner-security-group-head p { margin: 2px 0 0; color: #625a50; font-size: .84rem; }
.owner-password-fields { display: grid; gap: 15px; }
.owner-security-group .field small {
  display: block;
  margin-top: 7px;
  color: #625a50;
  font-size: .78rem;
  line-height: 1.65;
}
.password-rule-list {
  display: flex !important;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 8px;
}
.password-rule-list span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 9px;
  border: 1px solid rgba(23,22,20,.1);
  border-radius: 999px;
  background: rgba(255,255,255,.62);
  color: #625a50;
  line-height: 1.45;
}
.password-rule-list span::before { content: '○'; font-weight: 900; }
.password-rule-list span.is-met { border-color: rgba(25,122,81,.24); background: #e8f4ed; color: #14653f; }
.password-rule-list span.is-met::before { content: '✓'; }
.password-context-note { display: block; margin-top: 6px; color: #625a50; font-size: .8rem; line-height: 1.65; }
.password-context-note[hidden] { display: none; }
[data-password-match-status] { display: block; margin-top: 6px; min-height: 1.45em; font-size: .8rem; }
[data-password-match-status]:empty { min-height: 0; margin-top: 0; }
[data-password-match-status].is-valid { color: var(--green); }
[data-password-match-status].is-invalid { color: var(--red); }
.settings-form > .settings-savebar {
  width: min(100%, 760px) !important;
  margin-inline-start: 0 !important;
  margin-inline-end: auto !important;
  justify-content: flex-start;
}
.settings-form > .settings-savebar .btn { min-width: 220px; }
.settings-form:not(.is-dirty) > .settings-savebar {
  display: none;
}
body.modal-open .settings-form.is-dirty > .settings-savebar { display: none; }

/* Owner service directory: scannable metadata and consistently placed actions. */
.service-admin-card { gap: 14px; min-height: 0; padding: 20px; box-shadow: 0 8px 24px rgba(28,23,16,.05); }
.service-admin-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.service-admin-card-head h3 { margin: 0; line-height: 1.45; }
.service-admin-description { margin: 0; color: var(--muted); }
.service-admin-meta { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr); gap: 8px; }
.service-admin-meta > span { min-width: 0; padding: 6px 0; }
.service-admin-meta small,.service-admin-meta strong { display: block; }
.service-admin-meta small { color: var(--muted); font-size: .72rem; }
.service-admin-meta strong { margin-top: 2px; font-size: .86rem; line-height: 1.5; }
.service-admin-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 16px; border-top: 1px solid var(--line); }
.service-admin-actions form { margin: 0; }
.service-edit-secondary { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--line); }
.service-edit-secondary small { color: var(--muted); line-height: 1.7; }
.service-editor-modal { display: flex; flex-direction: column; overflow: hidden; padding: 0; max-height: calc(100dvh - 32px); }
.service-editor-modal > .modal-head { flex: none; padding: 20px 24px; margin: 0; }
.service-editor-modal > form { display: flex; flex-direction: column; min-height: 0; overflow: hidden; }
.service-editor-body { overflow-y: auto; min-height: 0; padding: 8px 24px 20px; overscroll-behavior: contain; }
.service-editor-body textarea { min-height: 80px; height: 80px; }
.service-editor-body .featured-toggle { padding: 10px 12px; gap: 12px; }
.service-editor-modal > form > .modal-actions { flex: none; margin: 0; padding: 16px 24px; background: var(--cream2); border-top: 1px solid var(--line); }
.service-editor-modal > form > .modal-form-note:not([role="alert"]) { display: none; }
#booking-availability > .settings-savebar { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 14px; margin-top: 20px !important; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none; }
.settings-form:not(.is-dirty) #booking-availability > .settings-savebar { display: none; }
.service-admin-description { font-size: .9rem; }
.service-admin-meta { margin-top: auto; }
.service-admin-actions { margin-top: 0; align-items: flex-start; }
.service-admin-card { overflow: visible; }
.service-admin-card:has(.service-secondary-actions[open]) { position: relative; z-index: 3; }
.service-secondary-actions { position: relative; }
.service-secondary-actions summary { cursor: pointer; min-height: 44px; padding: 10px; border-radius: 10px; }
.service-secondary-actions summary:focus-visible { outline: 2px solid var(--gold2); outline-offset: 2px; }
.service-secondary-actions > div { position: absolute; bottom: calc(100% + 6px); inset-inline-end: 0; display: grid; gap: 10px; width: 220px; max-width: calc(100vw - 64px); padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: #fffaf1; color: var(--ink); box-shadow: 0 8px 24px rgba(28,23,16,.15); }
.service-secondary-actions small { line-height: 1.7; }
.booking-settings-group { min-width: 0; margin: 18px 0 0; padding: 12px 0 0; border: 0; border-top: 1px solid var(--line); }
.booking-settings-group legend { padding-inline-end: 12px; font-weight: 800; font-size: 1.05rem; }
.booking-hours-advisory { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 18px 0 4px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 16px; background: #fffdfa; }
.booking-hours-advisory.warning { border-color: #dfbd7e; background: #fff4df; }
.booking-hours-advisory.unknown { border-color: #dccba9; background: #fff9ed; }
.booking-hours-advisory strong { display: block; margin-bottom: 4px; }
.booking-hours-advisory p { margin: 3px 0; color: var(--muted); line-height: 1.6; }
.booking-hours-advisory .btn-outline { flex: 0 0 auto; }
.business-hours-preview { display: block; min-height: 52px; padding: 12px 16px; border: 1px solid var(--line); border-radius: 14px; background: #fffdfa; color: var(--ink); font-weight: 700; line-height: 1.7; }
@media(max-width:760px) { .booking-hours-advisory { align-items: stretch; flex-direction: column; } }
.closure-date-editor { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.closure-date-editor > .arabic-date-picker,.closure-date-editor > input { flex: 1 1 220px; max-width: 360px; }
.closure-date-list { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; }
.closure-date-editor > small { width: 100%; }
.settings-form:has(#booking-availability) > .settings-savebar { display: flex; position: static !important; right: auto; bottom: auto !important; transform: none; padding: 12px 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; width: 100% !important; }
.settings-form:has(#booking-availability):not(.is-dirty) > .settings-savebar .btn { display: none; }
.settings-form:has(#booking-availability).is-dirty { padding-bottom: 0; }
.settings-form:has(#booking-availability).is-dirty > .settings-savebar { position: static !important; right: auto; bottom: auto !important; transform: none; width: 100% !important; box-shadow: none; }
.service-delete-button { border-color: rgba(180,64,53,.3); color: var(--red); }
.service-delete-button:hover { border-color: var(--red); background: rgba(180,64,53,.07); }
.service-admin-card.featured .service-admin-description,.service-admin-card.featured .service-admin-meta small { color: rgba(255,255,255,.7); }
.service-admin-card.featured .service-admin-meta > span { padding: 10px 12px; border-color: rgba(255,255,255,.12); background: rgba(255,255,255,.06); }
.service-admin-card.featured .service-admin-actions { border-color: rgba(255,255,255,.12); }
.service-admin-card.featured .service-admin-actions .btn-outline { border-color: rgba(255,255,255,.24); color: #fff; }
.service-admin-card.featured .service-admin-actions .service-delete-button { border-color: rgba(255,150,140,.42); color: #ffb0a8; }

@media(max-width:760px) {
  .settings-costs-main { padding-top: 20px; }
  .settings-costs-main #cost-bases { padding: 18px; }
  .settings-costs-main #cost-bases .form-grid { grid-template-columns: 1fr; margin-top: 16px; padding-top: 16px; }
  .cost-bases-head { align-items: stretch; flex-direction: column; gap: 14px; }
  .cost-expenses-link { width: 100%; }
  .settings-chairs-main #chair-assignments > .panel-head { align-items: stretch; flex-direction: column; gap: 12px; }
  .chair-assignment-actions { display: grid; width: 100%; }
  .chair-assignment-actions .compact-add-form { display: grid; grid-template-columns: minmax(0,1fr) auto; width: 100%; }
  .chair-assignment-actions .compact-add-form input { width: 100%; }
  .chair-assignment-actions > .btn { width: 100%; }
  .settings-form > section[id] { scroll-margin-top: 88px; }
  .owner-security-group { padding: 16px; }
  .settings-form > .settings-savebar { gap: 10px; }
  .settings-form > .settings-savebar .btn { min-width: 0; }
  .service-admin-meta { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .service-admin-meta > span:last-child { grid-column: 1 / -1; }
}
@media(max-width:480px) {
  .modal .field.full .arabic-date-dialog {
    inset-inline-start: 12px;
    transform: none;
  }
  .arabic-date-footer { align-items: stretch; flex-direction: column; }
  .arabic-date-footer button { width: 100%; }
  .chair-assignment-modal .field.full .arabic-date-dialog {
    position: fixed;
    inset: auto 12px 18px;
    transform: none;
    max-height: calc(100dvh - 36px);
  }
  .assignment-choice-panel { position: fixed; inset: auto 12px 18px; max-height: min(58dvh, 440px); }
  .assignment-choice-list { max-height: calc(58dvh - 112px); }
  .assignment-share-totals { align-items: stretch; flex-direction: column; }
  .assignment-share-totals-label { margin-inline-end: 0; }
  .assignment-share-totals > [data-share-summary] { justify-content: space-between; border-radius: 14px; }
}

/* Settings workflow: keep orientation, employee actions, and saving clear on long pages. */
.app-tabs-mobile-bar{display:none}
@media(max-width:760px){
  .app-tabs-wrap:before,.app-tabs-wrap:after{display:none}
  .app-tabs-mobile-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;width:var(--container);min-height:62px;margin:auto;padding-block:8px}
  .app-tabs-current{display:grid;min-width:0;line-height:1.35}
  .app-tabs-current small{color:var(--muted);font-size:.68rem;font-weight:700}
  .app-tabs-current strong{overflow:hidden;font-size:.95rem;text-overflow:ellipsis;white-space:nowrap}
  .app-tabs-toggle{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:0;border-radius:13px;background:var(--brand-black);color:#fff;font:700 1.35rem/1 Cairo,sans-serif;cursor:pointer}
  .app-tabs-toggle:focus-visible{outline:3px solid rgba(185,131,14,.72);outline-offset:3px}
  .app-tabs{display:none;position:absolute;top:calc(100% + 8px);right:12px;left:12px;width:auto;max-height:calc(100dvh - 92px);margin:0;padding:10px;overflow-y:auto;flex-direction:column;gap:4px;border:1px solid rgba(23,22,20,.12);border-radius:18px;background:#fffaf2;box-shadow:0 20px 55px rgba(23,22,20,.2)}
  .app-tabs.open{display:flex}
  .app-tabs a{order:initial!important;width:100%;min-height:46px;padding:9px 13px;justify-content:flex-start;scroll-snap-align:none}
  .app-tabs a.nav-group-start{margin-inline-start:0}
  .app-tabs a.nav-group-start:before{display:none}
}
.settings-section-nav{display:flex;flex-wrap:wrap;gap:8px;margin:-2px 0 20px;padding:10px;border:1px solid var(--line);border-radius:18px;background:rgba(255,253,250,.82)}
.settings-section-nav a{display:inline-flex;align-items:center;min-height:42px;padding:8px 14px;border-radius:12px;color:#625a50;font-size:.83rem;font-weight:800;white-space:nowrap}
.settings-section-nav a:hover,.settings-section-nav a:focus-visible{color:var(--ink);background:#f4ede1}
.settings-section-nav a:focus-visible{outline:3px solid rgba(226,173,49,.35)}
.settings-employee-actions{display:flex;align-items:center;gap:18px}
.settings-employee-actions form{display:inline;margin:0}
.settings-employee-actions .action-link{white-space:nowrap}
.settings-form.is-dirty{padding-bottom:128px}
.settings-form.is-dirty>.settings-savebar{position:fixed!important;z-index:30;right:50%;bottom:14px!important;width:min(760px,calc(100% - 32px))!important;margin:0!important;transform:translateX(50%);border:1px solid rgba(23,22,20,.12);box-shadow:0 18px 48px rgba(23,22,20,.22)}
.settings-form.is-dirty>.settings-savebar [data-settings-save-status]{color:#6f4e08;font-weight:700}
.settings-form.is-dirty[data-settings-invalid="true"]>.settings-savebar{border-color:rgba(180,64,53,.34);background:#fff8f5}
.settings-form.is-dirty[data-settings-invalid="true"]>.settings-savebar [data-settings-save-status]{color:var(--red)}
@media(max-width:760px){
  .settings-section-nav{flex-wrap:nowrap;margin-inline:-8px;padding:8px;overflow-x:auto;scrollbar-width:thin}
  .settings-section-nav a{min-height:40px;padding-inline:12px}
  .employee-directory-table tbody td[data-label-key="الإجراء"]{align-items:flex-start}
  .employee-directory-table tbody td[data-label-key="الإجراء"]:before{padding-top:2px}
  .settings-employee-actions{flex:1;flex-wrap:wrap;justify-content:flex-end;gap:8px 18px;min-width:0}
  .settings-employee-actions form{max-width:none}
  .settings-form.is-dirty{padding-bottom:166px}
  .settings-form.is-dirty>.settings-savebar{right:12px;bottom:12px!important;width:calc(100% - 24px)!important;transform:none}
}

/* Booking journey: compact intent, visible routes, and a factual live summary. */
.booking-hero {
  padding-block: clamp(14px, 1.8vw, 22px) clamp(4px, .8vw, 10px);
}
.booking-hero .page-title { justify-content: center; text-align: center; }
.booking-hero .page-title > div { max-width: 920px; }
.booking-hero .page-title h1 {
  max-width: 19ch;
  margin-inline: auto;
  margin-bottom: 8px;
  font-size: clamp(2rem, 2.65vw, 2.65rem);
  line-height: 1.12;
}
.booking-hero .page-title p {
  max-width: 64ch;
  margin-inline: auto;
  color: #665e54;
  line-height: 1.72;
}
.booking-hero-prince_package .page-title p { max-width: 74ch; }
.booking-shell { padding-block: clamp(12px, 1.8vw, 22px) clamp(54px, 6vw, 76px); }
.booking-types {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  overflow: visible;
  padding: 8px;
  margin-bottom: 18px;
}
.booking-types a {
  justify-content: center;
  min-width: 0;
  padding-inline: 12px;
  text-align: center;
  white-space: normal;
}
.booking-types a.active {
  box-shadow: 0 6px 16px rgba(11,11,10,.11);
}
.booking-grid {
  grid-template-columns: minmax(0, 1.62fr) minmax(300px, .88fr);
  gap: clamp(20px, 2.4vw, 30px);
}
.booking-form-card > .panel-head { margin-bottom: 8px; }
.booking-form-card > .panel-head p,
.booking-form-section small { color: #665e54; }
.booking-summary-card {
  background: rgba(255,255,255,.62);
  box-shadow: 0 14px 38px rgba(28,23,16,.065);
}
.booking-form-section { padding-block: 22px; border-top: 1px solid var(--line); }
.booking-form-section:first-of-type { border-top: 0; }
.booking-form-section > h3 { margin: 0 0 16px; font-size: 1.03rem; }
.booking-form-section .form-grid { gap: 16px; }
.field-label { display: block; margin-bottom: 7px; font-size: .91rem; font-weight: 800; }
.booking-midnight-note { opacity: .86; }
.booking-submit-row { justify-content: stretch; margin-top: 12px; }
.booking-submit { width: 100%; min-height: 54px; font-size: 1rem; }
.booking-summary-facts { display: grid; gap: 0; margin: 0; }
.booking-summary-facts > div {
  display: grid;
  grid-template-columns: minmax(86px, .65fr) minmax(0, 1.35fr);
  gap: 14px;
  padding-block: 12px;
  border-bottom: 1px solid var(--line);
}
.booking-summary-facts dt { color: var(--muted); font-size: .83rem; }
.booking-summary-facts dd { min-width: 0; margin: 0; font-weight: 800; text-align: left; }
.booking-summary-facts dd.is-price-placeholder, .booking-summary-facts dd.is-duration-placeholder { color: var(--muted); font-size: .8rem; font-weight: 400; }
.booking-summary-facts .booking-summary-location { grid-template-columns: 1fr; gap: 3px; }
.booking-summary-facts .booking-summary-location dd { text-align: right; }
.booking-payment-note {
  display: grid;
  gap: 2px;
  margin-top: 18px;
  padding: 13px 14px;
  border: 1px solid rgba(248,168,0,.22);
  border-radius: 15px;
  background: rgba(248,168,0,.075);
}
.booking-payment-note span { color: var(--muted); font-size: .82rem; }
.booking-next-steps { margin-top: 14px; border-top: 1px solid var(--line); }
.booking-next-steps summary {
  min-height: 48px;
  display: flex;
  align-items: center;
  cursor: pointer;
  font-weight: 800;
}
.booking-next-steps ol { margin: 0; padding: 0 22px 4px 0; color: var(--muted); font-size: .88rem; }
.booking-next-steps li + li { margin-top: 5px; }
.booking-summary [data-booking-summary-price] { color: var(--brand-gold-deep); }
.booking-summary [data-booking-summary-date],
.booking-summary [data-booking-summary-time] { font-variant-numeric: tabular-nums; }
#booking-location-url[dir="ltr"] { text-align: left; unicode-bidi: plaintext; }

@media (max-width: 1020px) {
  .booking-grid { grid-template-columns: 1fr; }
  .booking-grid > aside { position: static; }
}

@media (max-width: 760px) {
  .booking-weekday-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .booking-hero { padding-block: 18px 6px; }
  .booking-hero .page-title { align-items: center; justify-content: center; text-align: center; }
  .booking-hero .page-title > div { width: 100%; }
  .booking-hero .page-title p { max-width: 34ch; margin-inline: auto; font-size: .93rem; line-height: 1.75; }
  .booking-hero .page-title h1 {
    max-width: 15ch;
    font-size: clamp(1.78rem, 7.4vw, 2.08rem);
    line-height: 1.14;
  }
  .booking-shell { padding-top: 12px; }
  .booking-types {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-inline: 0;
  }
  .booking-types a { min-height: 48px; line-height: 1.4; }
  .booking-form-section { padding-block: 20px; }
  .booking-grid > aside { order: 2; }
}

@media (max-width: 420px) {
  .booking-types { gap: 6px; padding: 6px; }
  .booking-types a { padding-inline: 8px; font-size: .86rem; }
  .booking-summary-facts > div { grid-template-columns: minmax(76px, .65fr) minmax(0, 1.35fr); }
}


/* Home services: compact confirmation-first journey with catalogue-aware balance. */
.home-services-hero { padding-block: clamp(40px, 4.5vw, 58px); }
.home-services-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(330px, .72fr);
  gap: clamp(32px, 5vw, 72px);
  align-items: center;
}
.home-services-hero-copy h1 {
  max-width: 14em;
  margin: 0 0 16px;
  font-size: clamp(2.3rem, 4vw, 4rem);
  line-height: 1.15;
  letter-spacing: -.035em;
}
.home-services-hero-copy > p:not(.home-services-assurance) {
  max-width: 65ch;
  margin: 0;
  color: var(--muted);
  font-size: 1.02rem;
  line-height: 1.9;
}
.home-services-assurance {
  max-width: 68ch;
  margin: 16px 0 0;
  color: #665e54;
  font-size: .86rem;
  font-weight: 700;
}
.home-services-summary {
  padding: clamp(24px, 2.8vw, 32px);
  border-color: rgba(248,168,0,.28);
  box-shadow: 0 22px 60px rgba(127,82,0,.09);
}
.home-services-summary h2 { margin: 0 0 18px; font-size: clamp(1.45rem, 2.2vw, 1.9rem); }
.home-services-summary dl { display: grid; gap: 0; margin: 0; }
.home-services-summary dl > div {
  display: grid;
  grid-template-columns: minmax(92px, .7fr) minmax(0, 1.3fr);
  gap: 14px;
  padding-block: 12px;
  border-top: 1px solid var(--line);
}
.home-services-summary dt { color: var(--muted); font-size: .78rem; font-weight: 800; }
.home-services-summary dd { margin: 0; font-size: .9rem; font-weight: 800; }
.home-services-section { padding-block: clamp(46px, 5vw, 64px); }
.home-services-section .section-head { margin-bottom: clamp(22px, 2.5vw, 30px); }
.home-services-section .section-head h2 { font-size: clamp(1.8rem, 2.6vw, 2.7rem); }
.home-service-catalogue {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
}
.home-service-catalogue.is-single {
  grid-template-columns: minmax(0, 780px);
  justify-content: center;
}
.home-service-category {
  min-width: 0;
  padding: clamp(22px, 2.5vw, 30px);
  scroll-margin-top: 112px;
}
.home-service-category-head { padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.home-service-category-head h3 { margin: 12px 0 6px; font-size: clamp(1.45rem, 2.2vw, 1.85rem); }
.home-service-category-head p,
.home-service-item p { margin: 0; color: var(--muted); line-height: 1.75; }
.home-service-list { display: grid; gap: 14px; margin-top: 16px; }
.home-service-catalogue.is-single .home-service-list {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
}
.home-service-item {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 230px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: rgba(255,255,255,.58);
}
.home-service-item h4 { margin: 0 0 7px; font-size: 1.18rem; }
.home-service-item .service-card-facts { padding-top: 18px; }
.home-service-item .block-link { margin-top: 14px; }
.home-service-item.featured {
  border-color: rgba(248,168,0,.26);
  background: linear-gradient(145deg,#1d1c19,#2d2a25);
  color: #fff;
}
.home-service-item.featured p,
.home-service-item.featured .service-card-facts dt { color: rgba(255,255,255,.7); }
.home-service-item.featured .service-card-facts > div { background: rgba(255,255,255,.07); }
.home-service-item.featured .service-card-facts dd { color: var(--brand-gold-on-dark); }
.home-service-item.featured .btn-outline { border-color: rgba(255,255,255,.24); color: #fff; }
.home-service-catalogue-empty { width: min(720px, 100%); min-height: 190px; margin-inline: auto; }
.home-service-catalogue-empty .btn-outline { margin-top: 12px; }
.home-service-steps .steps { gap: 14px; margin: 0; }
.home-service-steps .step { min-height: 126px; padding: 18px; }
.home-service-guidance { width: min(1040px, var(--container)); align-items: stretch; }
.home-service-guidance .policy-card { min-height: 0; padding: clamp(24px, 2.7vw, 32px); }
.home-service-guidance .policy-card h2 { margin: 0 0 16px; font-size: clamp(1.55rem, 2vw, 2rem); }
.home-service-guidance .clean-list { margin-bottom: 0; }
.home-services-final-cta { width: min(1040px, var(--container)); }
.home-services-final-cta > div { flex: 1; }
.home-services-final-cta .btn { flex: 0 0 auto; min-width: 170px; }

@media (max-width: 900px) {
  .home-services-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .home-services-summary { max-width: 680px; }
  .home-service-catalogue { grid-template-columns: minmax(0, 1fr); }
  .home-service-category { scroll-margin-top: 88px; }
}
@media (max-width: 760px) {
  .home-services-hero { padding-block: 30px 38px; }
  .home-services-hero-copy h1 { font-size: clamp(2rem, 9vw, 2.35rem); line-height: 1.18; }
  .home-services-hero-copy .hero-actions { margin-top: 22px; }
  .home-services-assurance { margin-top: 14px; }
  .home-services-summary { padding: 22px; }
  .home-services-summary dl > div { grid-template-columns: 92px minmax(0, 1fr); gap: 10px; }
  .home-services-section { padding-block: 44px; }
  .home-services-section .section-head { margin-bottom: 20px; }
  .home-services-section .section-head h2 { font-size: clamp(1.7rem, 8vw, 2rem); line-height: 1.28; }
  .home-service-category { padding: 20px; }
  .home-service-category-head { padding-bottom: 17px; }
  .home-service-list,
  .home-service-catalogue.is-single .home-service-list { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .home-service-item { min-height: 0; padding: 18px; }
  .home-service-steps .steps { gap: 10px; }
  .home-service-steps .step { min-height: 0; padding: 14px; }
  .home-service-guidance { gap: 14px; }
  .home-service-guidance .policy-card { padding: 22px; }
  .home-services-final-cta .btn { min-width: 0; }
}
/* Role-aware dashboard sidebar */
:root{--app-sidebar-width:292px}
body:has(>.app-sidebar){padding-inline-start:var(--app-sidebar-width)}
.app-sidebar{position:fixed;inset-block:0;inset-inline-start:0;z-index:80;display:flex;width:var(--app-sidebar-width);flex-direction:column;overflow:visible;background:linear-gradient(180deg,#171614 0%,#211f1b 100%);color:#fff;box-shadow:-14px 0 42px rgba(23,22,20,.12)}
.app-sidebar-brand{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:84px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.09)}
.app-sidebar-brand>a{display:flex;align-items:center;min-width:0;gap:12px}
.app-sidebar-brand img{width:50px;height:46px;flex:0 0 auto;border-radius:10px;background:#fff8ec;padding:5px;object-fit:contain}
.app-sidebar-brand span,.app-sidebar-brand strong,.app-sidebar-brand small{display:block;min-width:0}
.app-sidebar-brand strong{font-size:1rem}
.app-sidebar-brand small{margin-top:1px;color:rgba(255,255,255,.58);font-size:.75rem}
.app-sidebar-close{display:none;width:40px;height:40px;flex:0 0 40px;border:1px solid rgba(255,255,255,.12);border-radius:11px;background:rgba(255,255,255,.07);color:#fff;font:700 1.35rem/1 Cairo,sans-serif;cursor:pointer}
.app-sidebar-nav{min-height:0;flex:1;overflow-y:auto;padding:10px 10px 12px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}
.app-sidebar-nav::-webkit-scrollbar{width:4px}
.app-sidebar-nav::-webkit-scrollbar-track{background:transparent}
.app-sidebar-nav::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(255,255,255,.12)}
.app-sidebar-nav::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.28)}
.app-sidebar-nav ul{margin:0;padding:0;list-style:none}
.app-sidebar-item{position:relative;margin-bottom:2px;border-radius:12px}
.app-sidebar-primary-row{display:flex;min-height:48px;align-items:center;border-radius:12px;transition:background-color .16s ease,box-shadow .16s ease}
.app-sidebar-primary-row:hover,.app-sidebar-primary-row:focus-within{background:rgba(255,255,255,.045)}
.app-sidebar-primary{display:flex;width:100%;min-width:0;min-height:44px;flex:1;align-items:center;gap:10px;padding:6px 10px;border:0;border-radius:12px;background:transparent;color:rgba(255,255,255,.82);font:800 1rem/1.5 Cairo,sans-serif;text-align:start;cursor:pointer;transition:color .16s}
.app-sidebar-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app-sidebar-primary:hover,.app-sidebar-primary:focus-visible{color:#fff}
.app-sidebar-primary:focus-visible{outline:2px solid rgba(241,199,93,.76);outline-offset:-2px}
.app-sidebar-icon{display:grid;width:30px;height:30px;place-items:center;flex:0 0 30px;border-radius:9px;background:rgba(255,255,255,.06);color:#e4c05f;transition:background-color .16s ease,color .16s ease}
.app-sidebar-icon svg{width:17px;height:17px}
.app-sidebar-disclosure{display:grid;width:30px;height:30px;place-items:center;flex:0 0 30px;margin-inline-start:auto;border-radius:8px;color:rgba(255,255,255,.58);transition:color .16s ease}
.app-sidebar-disclosure svg{width:18px;height:18px;transition:transform .18s ease}
.app-sidebar-primary-row:hover .app-sidebar-disclosure,.app-sidebar-group-toggle:focus-visible .app-sidebar-disclosure{color:rgba(255,255,255,.9)}
.app-sidebar-submenu{display:none;gap:1px;padding:2px 44px 6px 8px!important}
.app-sidebar-item.is-active-group>.app-sidebar-primary-row{background:rgba(226,173,49,.055);box-shadow:inset -1px 0 0 rgba(226,173,49,.68)}
.app-sidebar-item.is-active-group .app-sidebar-primary{color:#fff}
.app-sidebar-item.is-active-group .app-sidebar-icon{background:rgba(226,173,49,.1);color:#f1c75d}
.app-sidebar-primary[aria-current="page"]{background:rgba(226,173,49,.1)}
.app-sidebar-primary[aria-current="page"] .app-sidebar-icon{background:var(--gold);color:#171614}
.app-sidebar-item.is-active-group:not(.submenu-closed)>.app-sidebar-submenu,.app-sidebar-item.submenu-open>.app-sidebar-submenu{display:grid}
.app-sidebar-item.is-active-group:not(.submenu-closed) .app-sidebar-disclosure svg,.app-sidebar-item.submenu-open .app-sidebar-disclosure svg{transform:rotate(180deg)}
.app-sidebar-item.is-active-group:not(.submenu-closed) .app-sidebar-disclosure,.app-sidebar-item.submenu-open .app-sidebar-disclosure{color:#f1c75d}
.app-sidebar-submenu a{display:block;min-height:40px;padding:8px 10px;border-radius:8px;color:rgba(255,255,255,.72);font-size:.8rem;font-weight:700;line-height:1.5;transition:background-color .16s,color .16s,box-shadow .16s}
.app-sidebar-submenu a:hover,.app-sidebar-submenu a:focus-visible{background:rgba(255,255,255,.07);color:#fff}
.app-sidebar-submenu a.active{background:rgba(226,173,49,.13);color:#f7d678;box-shadow:inset -2px 0 0 rgba(226,173,49,.84);font-weight:800}
@media(min-width:1021px){
  .app-sidebar-item:not(.is-active-group)>.app-sidebar-submenu{position:fixed;inset-block-start:var(--app-submenu-top,12px);inset-inline-start:var(--app-sidebar-width);z-index:82;display:grid;width:238px;max-height:calc(100vh - 24px);overflow-y:auto;gap:2px;padding:8px!important;border:1px solid rgba(255,255,255,.09);border-inline-start-color:rgba(226,173,49,.18);border-radius:12px 0 0 12px;background:linear-gradient(180deg,#211f1b 0%,#191816 100%);box-shadow:-14px 16px 34px rgba(10,9,8,.2);opacity:0;visibility:hidden;pointer-events:none;transform:translateX(6px);transition:opacity .13s ease .05s,transform .13s ease .05s,visibility 0s linear .18s}
  .app-sidebar-item:not(.is-active-group).submenu-open>.app-sidebar-submenu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(0);transition-delay:.05s,.05s,0s}
  .app-sidebar-item:not(.is-active-group):not(.submenu-open) .app-sidebar-disclosure svg{transform:rotate(90deg)}
  .app-sidebar-item:not(.is-active-group).submenu-open .app-sidebar-disclosure svg{transform:rotate(0)}
  .app-sidebar-item.is-active-group:not(.submenu-closed)>.app-sidebar-submenu{position:static;display:grid;width:auto;max-height:none;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}
}
.app-sidebar-footer{display:grid;flex:0 0 auto;gap:2px;margin-top:auto;padding:8px 10px 10px;border-top:1px solid rgba(255,255,255,.08)}
.app-sidebar-footer a,.app-sidebar-footer button{display:flex;width:100%;min-height:44px;align-items:center;padding:8px 12px;border:0;border-radius:10px;background:transparent;color:rgba(255,255,255,.74);font:700 .82rem/1.5 Cairo,sans-serif;text-align:right;cursor:pointer}
.app-sidebar-footer a:hover,.app-sidebar-footer button:hover,.app-sidebar-footer a:focus-visible,.app-sidebar-footer button:focus-visible{background:rgba(255,255,255,.08);color:#fff}
.app-sidebar-footer button{color:#ef8c82}
.app-header-context{display:flex;align-items:center;gap:12px}
.app-header-title,.app-header-context small{display:block}
.app-header-title {margin:0;font-size:1.05rem;line-height:1.45;font-weight:800;letter-spacing:0}
.app-header-context small{color:var(--muted);font-size:.78rem}
.operational-toolbar {display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
.operational-toolbar>p{max-width:760px;margin:0;color:var(--muted);font-size:.9rem;line-height:1.75}
.operational-toolbar>.inline-actions,.operational-toolbar>.admin-heading-actions{flex:0 0 auto;margin:0}
.app-sidebar-toggle{display:none;width:44px;height:44px;place-items:center;flex:0 0 44px;border:0;border-radius:12px;background:var(--brand-black);color:#fff;font:800 1.25rem/1 Cairo,sans-serif;cursor:pointer}
.app-sidebar-overlay{position:fixed;inset:0;z-index:75;background:rgba(10,9,8,.52);backdrop-filter:blur(2px)}
.app-sidebar-overlay[hidden]{display:none}
@media(max-width:1020px){
  body:has(>.app-sidebar){padding-inline-start:0}
  body.app-sidebar-open{overflow:hidden}
  .app-sidebar{width:min(310px,88vw);transform:translateX(105%);transition:transform .22s ease;box-shadow:-20px 0 60px rgba(0,0,0,.28)}
  .app-sidebar.open{transform:translateX(0)}
  .app-sidebar-close,.app-sidebar-toggle{display:grid;align-items:center;padding-bottom:5px!important}
  .app-sidebar-item:hover:not(.submenu-open):not(.is-active-group)>.app-sidebar-submenu,.app-sidebar-item:focus-within:not(.submenu-open):not(.is-active-group)>.app-sidebar-submenu{display:none}
  .app-header{top:0}
  .app-header-inner{min-height:72px}
}
@media(max-width:760px){
  .app-header-inner{padding-block:10px;align-items:center;flex-direction:row}
  .app-header-context{min-width:0}
  .app-header-context>div{min-width:0}
  .app-header-title,.app-header-context small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .operational-toolbar{align-items:stretch;flex-direction:column;gap:12px}
  .app-user-actions{display:none}
}
@media(prefers-reduced-motion:reduce){
  .app-sidebar,.app-sidebar-submenu,.app-sidebar-primary-row,.app-sidebar-icon,.app-sidebar-disclosure,.app-sidebar-disclosure svg{transition:none!important}
}

/* Owner dashboard: decisions first, financial result second, detail on demand. */
.owner-dashboard { display: grid; gap: 18px; }
.owner-dashboard .dashboard-heading { margin-bottom: 0; }
.owner-dashboard .dashboard-heading > p { max-width: 760px; }
.owner-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 12px;
}
.owner-section-heading h2 { margin: 0; font-size: clamp(1.25rem, 1.8vw, 1.6rem); line-height: 1.35; }
.owner-period-label { display: inline-flex; min-height: 32px; align-items: center; padding: 4px 11px; border-radius: 999px; background: rgba(226,173,49,.13); color: #745109; font-size: .78rem; font-weight: 800; white-space: nowrap; }
.owner-attention-center,
.owner-financial-overview { border: 1px solid var(--line); border-radius: 24px; background: rgba(255,255,255,.72); box-shadow: 0 18px 48px rgba(28,23,16,.07); }
.owner-attention-center { padding: 18px 20px; }
.owner-financial-overview { padding: 20px 22px; }
.owner-attention-center.has-items { border-color: rgba(185,131,14,.24); background: linear-gradient(145deg,rgba(255,253,248,.96),rgba(249,239,219,.9)); }
.owner-attention-center.is-clear { padding-block: 17px; }
.owner-attention-center.is-clear .owner-section-heading { display: none; }
.owner-attention-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(260px,1fr)); gap: 12px; }
.owner-attention-card { display: grid; min-width: 0; min-height: 116px; grid-template-columns: 40px minmax(0,1fr); align-items: center; gap: 4px 14px; padding: 14px 16px; border: 1px solid rgba(23,22,20,.1); border-radius: 18px; background: rgba(255,255,255,.84); }
.owner-attention-grid.is-single .owner-attention-card { min-height: 84px; grid-template-columns: 40px minmax(0,1fr) auto; padding-block: 11px; }
.owner-attention-card.is-urgent { border-color: rgba(180,64,53,.25); }
.owner-attention-count { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 11px; background: rgba(226,173,49,.16); color: #76520a; font-weight: 900; font-variant-numeric: tabular-nums; }
.owner-attention-card.is-urgent .owner-attention-count { background: rgba(180,64,53,.11); color: var(--red); }
.owner-attention-copy strong { display: block; line-height: 1.55; }
.owner-attention-copy p { margin: 3px 0 0; color: var(--muted); font-size: .84rem; line-height: 1.7; }
.owner-attention-card > a { display: inline-flex; min-height: 42px; grid-column: 2; align-items: center; gap: 7px; width: fit-content; margin-top: 5px; padding-inline: 14px; border: 1px solid rgba(118,82,10,.24); border-radius: 12px; background: rgba(255,250,241,.86); color: #76520a; font-size: .84rem; font-weight: 900; transition: background-color .16s ease,border-color .16s ease; }
.owner-attention-grid.is-single .owner-attention-card > a { grid-column: auto; margin-top: 0; white-space: nowrap; }
.owner-attention-card > a span { transition: transform .16s ease; }
.owner-attention-card > a:hover,
.owner-attention-card > a:focus-visible { border-color: rgba(118,82,10,.4); background: #fff7e7; }
.owner-attention-card > a:hover span,
.owner-attention-card > a:focus-visible span { transform: translateX(-3px); }
.owner-attention-clear,
.owner-compact-empty { display: flex; align-items: center; gap: 13px; }
.owner-attention-clear > span,
.owner-compact-empty > span { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border-radius: 50%; background: rgba(25,122,81,.11); color: var(--green); font-weight: 900; }
.owner-attention-clear strong,
.owner-compact-empty strong { display: block; }
.owner-attention-clear p,
.owner-compact-empty p { margin: 1px 0 0; color: var(--muted); font-size: .82rem; }
.owner-period-context { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.owner-today-chip { display: inline-flex; min-height: 32px; align-items: center; gap: 7px; padding: 4px 11px; border: 1px solid rgba(23,22,20,.1); border-radius: 999px; background: #fffdf9; }
.owner-today-chip small { color: var(--muted); font-size: .72rem; font-weight: 700; }
.owner-today-chip strong { color: #76520a; font-size: .8rem; font-variant-numeric: tabular-nums; }
.owner-financial-overview .owner-month-stats { margin-bottom: 0; }
.owner-month-stats { grid-template-columns: repeat(4,minmax(0,1fr)); }
.owner-month-stats .stat { min-height: 132px; padding: 17px 18px; }
.owner-month-stats .owner-stat-support { border-color: var(--line); background: #fffdf9; color: var(--ink); box-shadow: none; }
.owner-month-stats .owner-stat-support::before { background: rgba(185,131,14,.42); }
.owner-month-stats .owner-stat-support small { color: var(--muted); }
.owner-month-stats .owner-stat-support strong { margin-block: 8px 6px; color: var(--ink); font-size: clamp(1.45rem,2vw,1.85rem); }
.owner-month-stats .owner-stat-support em { color: #665f56; }
.owner-month-stats .owner-stat-support em a { color: #76520a; text-decoration-color: rgba(118,82,10,.35); }
.owner-month-stats .owner-stat-result { transform: translateY(-3px); border-color: rgba(226,173,49,.24); box-shadow: 0 18px 38px rgba(23,22,20,.16); }
.owner-month-stats .owner-stat-result::before { background: var(--gold); }
.owner-month-stats .owner-stat-result strong { color: #f3cc68; }
.owner-month-stats .owner-stat-result.is-positive::before { background: #42b883; }
.owner-month-stats .owner-stat-result.is-positive strong { color: #82ddb4; }
.owner-month-stats .owner-stat-result.is-negative::before { background: #df6a5f; }
.owner-month-stats .owner-stat-result.is-negative strong { color: #ff9c92; }
.owner-result-label { display: flex; align-items: flex-start; justify-content: space-between; gap: 9px; }
.owner-result-label > span { display: inline-flex; min-height: 25px; align-items: center; padding: 2px 8px; border-radius: 999px; background: rgba(226,173,49,.16); color: #f3cc68; font-size: .68rem; font-weight: 900; white-space: nowrap; }
.owner-chair-review,
.owner-chair-revenue { margin-top: 0; }
.owner-chair-review .panel-head > div { max-width: 820px; }
.owner-chair-review .table-wrap { max-height: 520px; }
.owner-setup-alert { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; padding: 14px 16px; border: 1px solid rgba(185,131,14,.22); border-radius: 17px; background: rgba(226,173,49,.08); }
.owner-setup-alert-count { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border-radius: 11px; background: rgba(226,173,49,.18); color: #76520a; font-weight: 900; }
.owner-setup-alert strong { display: block; }
.owner-setup-alert p { margin: 1px 0 0; color: var(--muted); font-size: .84rem; }
.owner-setup-alert > a { flex: 0 0 auto; margin-inline-start: auto; }
.owner-compact-empty { min-height: 84px; padding: 16px 18px; border: 1px dashed rgba(23,22,20,.13); border-radius: 17px; background: #fffdf9; }
.owner-chair-revenue .bar-list { grid-template-columns: repeat(2,minmax(0,1fr)); }

@media(max-width:1180px){
  .owner-month-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px){
  .owner-dashboard { gap: 16px; }
  .owner-attention-center,
  .owner-financial-overview { padding: 18px; border-radius: 21px; }
  .owner-section-heading { align-items: flex-start; }
  .owner-financial-overview > .owner-section-heading { flex-direction: column; }
  .owner-financial-overview .owner-period-context { width: 100%; justify-content: flex-start; }
  .owner-attention-grid,
  .owner-month-stats,
  .owner-chair-revenue .bar-list { grid-template-columns: 1fr; }
  .owner-attention-card { min-height: 0; }
  .owner-attention-grid.is-single .owner-attention-card { grid-template-columns: 40px minmax(0,1fr); }
  .owner-attention-grid.is-single .owner-attention-card > a { grid-column: 2; margin-top: 5px; }
  .owner-month-stats .stat { min-height: 124px; }
  .owner-month-stats .owner-stat-result { order: -1; transform: none; }
  .owner-chair-review .table-wrap { max-height: none; }
  .owner-chair-review .panel-head { align-items: flex-start; flex-direction: column; }
  .owner-chair-review .action-link { min-height: 42px; display: inline-flex; align-items: center; }
  .owner-chair-review .owner-chair-single.mobile-card-table td:nth-child(3),
  .owner-chair-review .owner-chair-single.mobile-card-table td:nth-child(4),
  .owner-chair-review .mobile-card-table td.owner-chair-zero,
  .owner-chair-review .mobile-card-table td.owner-chair-duplicate { display: none; }
  .owner-setup-alert { align-items: flex-start; flex-wrap: wrap; }
  .owner-setup-alert > a { width: 100%; margin-inline-start: 0; }
}

/* Included package visits: shared client and staff cards. */
.package-visit-section{margin-block:24px;min-width:0}
.package-visit-list{display:grid;gap:20px;min-width:0;margin-block:20px}
.package-visit-card{min-width:0;overflow:hidden;border:1px solid #e6dac2;border-radius:20px;background:#fffdf8;box-shadow:0 8px 28px rgba(40,31,14,.045);scroll-margin-top:100px}
.package-visit-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 26px;border-bottom:1px solid #ece3d1;background:linear-gradient(110deg,#fffdf8,#f8f0df)}
.package-visit-header h2{margin:5px 0;font-size:1.2rem;line-height:1.6;overflow-wrap:anywhere}
.package-visit-header p{margin:0;color:var(--muted);font-size:.83rem;line-height:1.8}
.package-visit-header .eyebrow{font-size:.73rem;letter-spacing:0;margin-bottom:4px;flex-wrap:wrap}.package-visit-header>.pill{flex-shrink:0}
.package-visit-body{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.package-visit-progress{padding:28px;display:flex;flex-direction:column;justify-content:center;background:#fcf9f2;border-inline-end:1px solid #ece3d1}
.package-visit-balance{display:flex;align-items:center;justify-content:center;gap:12px}
.package-visit-balance>strong{font-size:3rem;font-weight:900;line-height:1.2;color:#68501d}
.package-visit-balance>span{font-size:.9rem;color:var(--muted)}
.package-visit-steps{display:flex;justify-content:space-between;gap:12px;margin:24px 0 18px;padding:0;list-style:none}
.package-visit-steps li{flex:1;display:grid;justify-items:center;gap:8px;min-width:0;text-align:center}
.package-visit-steps li>span{display:grid;place-items:center;width:36px;height:36px;border:1px solid #dacdb0;border-radius:50%;background:#fff;color:#776846;font-weight:800}
.package-visit-steps li.is-complete>span{background:#283f32;border-color:#283f32;color:white}
.package-visit-steps li.is-reserved>span{background:#e9c56c;border-color:#d4ad4d;color:#272218;box-shadow:0 0 0 4px #f5e8c7}
.package-visit-steps small{font-size:.73rem;line-height:1.6;color:#615847}
.package-visit-expiry{margin:0;padding-top:16px;border-top:1px solid #ece3d1;text-align:center;font-size:.8rem;color:var(--muted);line-height:1.8}
.package-visit-expiry strong{color:#3f382b}
.package-visit-booking{padding:28px;min-width:0;background:#fffdfa}
.package-visit-included{display:block;text-align:center;margin:0 0 18px;padding:7px 12px;background:#edf4ed;color:#31533c;border-radius:9px;font-size:.79rem;font-weight:700;line-height:1.8}
.package-visit-appointment{display:grid;gap:4px;margin-bottom:18px}
.package-visit-appointment small{color:var(--muted)}
.package-visit-appointment strong{font-size:1.1rem}
.package-visit-appointment>span{font-size:.92rem;color:#655940}
.package-visit-help{display:block;color:var(--muted);font-size:.78rem;line-height:1.9;margin:10px 0 0}
.package-visit-disclosure>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;min-height:48px;border-radius:11px;background:#27241e;color:#fff6df;font-size:.9rem;font-weight:800;cursor:pointer;list-style:none}
.package-visit-disclosure>summary::-webkit-details-marker{display:none}
.package-visit-disclosure[open]>summary{margin-bottom:18px}
.package-visit-disclosure[open]>summary>span{transform:rotate(45deg)}
.package-visit-disclosure>summary:focus-visible{outline:3px solid #ba8b27;outline-offset:3px}
.package-visit-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.package-visit-fields .field{margin:0;min-width:0}.package-visit-fields label{display:block;margin:0 0 8px;font-size:.85rem}.package-visit-fields .arabic-date-trigger,.package-visit-fields select,.package-visit-fields .booking-time-slot-trigger{height:52px;min-height:52px;padding-block:10px;border-radius:12px;font-size:.9rem}.package-visit-disclosure>form{padding:18px;border:1px solid #ece3d1;border-radius:12px;background:#fff}.package-visit-disclosure[open]>summary{margin-bottom:12px}.package-visit-disclosure>form>.btn{width:100%;box-shadow:none}.package-visit-booking>.package-visit-help{text-align:center}
.package-visit-fields input,.package-visit-fields select,.package-visit-attendance select{width:100%;min-width:0;min-height:46px}
.package-visit-booking form>.btn{margin-top:14px;min-height:46px}
.package-visit-attendance{margin-top:20px;padding-top:18px;border-top:1px solid #ece3d1}
@media(max-width:760px){.package-visit-body{grid-template-columns:1fr}.package-visit-progress{border-inline-end:0;border-bottom:1px solid #ece3d1}.package-visit-header,.package-visit-progress,.package-visit-booking{padding:18px}.package-visit-header{flex-wrap:wrap;gap:10px}.package-visit-balance>strong{font-size:2.5rem}.package-visit-steps{margin-block:18px}.package-visit-card{border-radius:16px}.package-visit-booking form>.btn,.package-visit-booking form>.btn-outline{width:100%}}
@media(max-width:400px){.package-visit-fields{grid-template-columns:1fr}.package-visit-header h2{font-size:1.05rem}.package-visit-included{font-size:.74rem}}

/* Keep navigation separate from the touch-friendly submenu disclosure. */
.app-sidebar-group-toggle{display:grid;place-items:center;flex:0 0 44px;width:44px;min-height:44px;padding:0;border:0;border-radius:10px;background:transparent;color:inherit;cursor:pointer}
.app-sidebar-group-toggle:focus-visible{outline:2px solid #f1c75d;outline-offset:-2px}
.app-sidebar-group-toggle .app-sidebar-disclosure{margin:0}

.chair-month-filter,.chair-add-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.chair-month-filter select{width:auto;min-width:160px}.chair-add-row{margin-top:20px}.chair-add-row input{width:min(280px,100%)}.chair-secondary>summary{font-weight:800;cursor:pointer;min-height:44px;display:flex;align-items:center;gap:10px}.chair-secondary>summary::before{content:'+';font-size:1.3rem}.chair-secondary[open]>summary::before{content:'−'}.chair-secondary>summary:focus-visible{outline:2px solid var(--gold)}.chair-secondary .table-wrap{margin-top:16px}@media(max-width:600px){.chair-month-filter,.chair-add-row{width:100%}.chair-month-filter select,.chair-add-row input{flex:1;min-width:0}.settings-chairs-main #chair-assignments .mobile-card-table td{display:block;text-align:start}.settings-chairs-main #chair-assignments .mobile-card-table td::before{display:block;text-align:start;margin-bottom:5px}}

/* Activation code: keep the generated QR inside its own square. */
.activation-pass-card{gap:24px}
.activation-pass-copy{min-width:0}
.activation-pass-copy .eyebrow{color:#f1c75d}
.activation-pass-copy h3{font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.55}
.activation-qr .qr-real{display:grid;place-items:center;width:194px;height:194px;min-width:194px;min-height:194px;margin:0;box-sizing:border-box}
.activation-qr .qr-real>canvas,.activation-qr .qr-real>img{grid-area:1/1;max-width:100%;margin:0}
.activation-fallback strong{justify-self:start;direction:ltr;background:rgba(255,255,255,.06);border:1px solid rgba(255,193,60,.25);padding:6px 14px;border-radius:12px;line-height:1.5}
@media(max-width:680px){.activation-pass-card>[data-activation-secret]{grid-template-columns:minmax(0,1fr);gap:22px}.activation-qr{grid-row:1;min-width:0}.activation-fallback strong{justify-self:center}.activation-pass-card{padding:20px;gap:18px}}

/* Employee summary follows the compact owner-dashboard hierarchy. */
.employee-summary-heading .dashboard-title-line{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.employee-summary-heading h2{margin:0;font-size:1.45rem}
.employee-summary-heading p{margin:8px 0 0;color:var(--muted);font-size:.9rem}
.employee-summary-heading .employee-month-filter{margin:0;width:auto}
.employee-summary-heading .employee-month-filter select{min-width:180px}
.employee-toolbar{align-items:center;padding:16px 20px}
.employee-quick-actions{width:100%;justify-content:space-between}
@media(max-width:600px){.employee-summary-heading .dashboard-title-line{align-items:stretch;gap:12px}.employee-summary-heading .employee-month-filter{width:100%}.employee-summary-heading .employee-month-filter select{width:100%;min-width:0}.employee-toolbar{padding:16px}.employee-quick-action-links{gap:10px}.employee-quick-action-links .btn,.employee-quick-action-links .btn-outline,.employee-quick-action-links .quiet-btn{white-space:normal;min-height:46px}}

.employee-wrap .employee-daily-totals{margin-top:24px}
.employee-daily-sort{display:flex;align-items:center;gap:10px}
.employee-daily-sort label{font-size:.85rem;font-weight:700;color:var(--muted);white-space:nowrap}
.employee-daily-sort select{width:auto;min-width:160px}
@media(max-width:600px){.employee-daily-totals .panel-head{align-items:stretch}.employee-daily-sort{width:100%;justify-content:space-between}.employee-daily-sort select{flex:1;min-width:0}}
.employee-wrap .employee-history-panel{margin-top:24px}
.owner-revenue-records{margin-top:24px}
.revenue-record-filters { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 16px 0; }
.revenue-record-filters label { display: grid; gap: 6px; min-width: 0; font-size: .85rem; color: var(--muted); }
.revenue-record-filters select { width: 100%; min-width: 0; min-height: 44px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 12px; background: #fffdf9; color: var(--ink); font: inherit; }
.revenue-record-filters select:focus-visible { outline: 2px solid var(--gold2); outline-offset: 2px; }
.revenue-record-filters .help { grid-column: 1 / -1; margin: 0; }
@media(max-width:760px){ .revenue-record-filters { grid-template-columns: minmax(0,1fr); gap: 10px; } }
.revenues-page #daily-receipts .panel-head .help { max-width: 780px; margin-top: 8px; font-size: .85rem; }
@media(max-width:760px){
}
.owner-revenue-empty{padding:18px}
.owner-revenue-empty .empty-state-card{min-height:220px;padding:22px}
.data-table tbody tr.owner-daily-total-row,
.data-table tbody tr.owner-daily-total-row:hover{background:#f0f0ee}
.owner-daily-total-row td{border-top:2px solid rgba(11,11,10,.18);font-weight:800}
.owner-daily-total-row td strong,.owner-daily-total-row td > span{display:block}
.owner-daily-total-row .money-value{white-space:nowrap;overflow-wrap:normal}
.owner-daily-date{display:inline-block;margin-inline-end:8px}
.owner-daily-edit{display:inline-grid;place-items:center;width:36px;height:36px;vertical-align:middle;border:1px solid rgba(11,11,10,.13);border-radius:10px;background:#fffdfa;color:#76520a;cursor:pointer}
.owner-daily-edit:hover{background:#f8eedb;border-color:rgba(118,82,10,.35)}
.owner-daily-edit:focus-visible{outline:3px solid rgba(248,168,0,.45);outline-offset:2px}
.owner-daily-edit svg{width:17px;height:17px}

/* Keep the public booking date and time controls aligned. */
[data-booking-form] .arabic-date-trigger,[data-booking-form] .booking-time-slot-trigger{height:52px;min-height:52px;padding-block:10px;border-radius:14px}

.package-management-modal{width:min(960px,100%);max-height:calc(100dvh - 32px);overflow:auto}.package-management-modal .package-visit-card{box-shadow:none}.package-management-modal .modal-head{margin-bottom:16px}

/* Monthly close and saved statements. */
.month-close-main{max-width:1180px}.month-close-panel{display:grid;gap:18px}.month-close-panel .month-filter{justify-content:flex-start}.month-close-status{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fffaf0}.month-close-status strong{display:block;font-size:1.1rem}.month-close-status p{margin:3px 0 0;color:var(--muted)}.month-close-status form{flex:0 0 auto}.month-close-help{margin:0;color:var(--muted);font-size:.85rem}.statement-history{margin-top:5px}.statement-history summary{cursor:pointer;color:#76520a;font-size:.78rem}.statement-history a{display:inline-block;margin:4px 0 0 10px;color:#76520a;text-decoration:underline}.employee-dashboard-grid:has(>.employee-dues-panel:only-child){grid-template-columns:1fr}@media(max-width:760px){.month-close-status{align-items:stretch;flex-direction:column}.month-close-status .btn{width:100%}}

/* Give the month-close decision a clear reading order and comfortable spacing. */
.month-close-main { max-width: 1040px; padding-top: 30px; }
.month-close-main > .dashboard-heading { margin-bottom: 22px; }
.month-close-main > .dashboard-heading h1 { font-size: clamp(1.75rem, 2.5vw, 2.4rem); line-height: 1.35; }
.month-close-main > .dashboard-heading p { max-width: 68ch; margin-top: 8px; }
.month-close-main > .panel + .panel { margin-top: 22px; }
.month-close-panel { gap: 22px; padding: 26px; }
.month-close-panel > .month-filter { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 0; }
.month-close-panel > .month-filter label { margin-inline-end: 4px; font-weight: 800; }
.month-close-panel > .month-filter select { min-width: 220px; }
.month-close-panel > .month-filter .btn-outline { min-height: 48px; }
.month-close-status { gap: 24px; padding: 22px 24px; border-radius: 18px; }
.month-close-status > div { min-width: 0; }
.month-close-review{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fffdfa}
.month-close-review h2{margin:0 0 12px;font-size:1.15rem}
.month-close-review-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.month-close-review-values>div{display:grid;gap:2px;padding:12px;border:1px solid var(--line);border-radius:12px}
.month-close-review-values span,.month-close-review p{color:var(--muted)}
.month-close-review-values strong{font-size:1.15rem}
.month-close-review p{max-width:72ch;margin:12px 0 4px;line-height:1.75}
.month-close-review-links{display:flex;flex-wrap:wrap;gap:8px 18px}
.month-close-review-links a{color:#76520a;text-decoration:underline;font-weight:700}
.month-close-review-links a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.month-close-ready-dues{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border:1px solid var(--line);border-inline-start:3px solid rgba(185,131,14,.5);border-radius:16px;background:#fffdfa}
.month-close-ready-dues strong{display:block}
.month-close-ready-dues p{margin:3px 0 0;color:var(--muted)}
.month-close-ready-dues .btn-outline{flex:none}
.month-close-status strong { line-height: 1.5; }
.month-close-status p { max-width: 64ch; margin-top: 7px; line-height: 1.8; }
.month-close-status .btn { min-height: 48px; white-space: nowrap; }
.expense-summary-panel{display:flex;align-items:center;gap:26px;margin-bottom:24px;padding:16px 22px;border:1px solid var(--line);border-radius:20px;background:#fffaf1}
.expense-summary-total{display:grid;gap:2px;min-width:190px}
.expense-summary-total small,.expense-summary-breakdown dt{color:var(--muted);font-size:.85rem}
.expense-summary-total strong{font-size:1.7rem;line-height:1.4}
.expense-summary-breakdown{display:flex;flex:1;justify-content:space-around;gap:20px;margin:0;padding-inline-start:24px;border-inline-start:1px solid var(--line)}
.expense-summary-breakdown>div{display:grid;gap:2px}
.expense-summary-breakdown dd{margin:0;font-weight:800;white-space:nowrap}
.expense-records-table th:first-child{width:37%}
.expense-records-table.expense-single-scope th:first-child{width:49%}
.expense-records-table th:last-child{width:132px}
.expense-record-name strong,.expense-record-name small{display:block}
.expense-record-name strong{font-size:1.03rem;line-height:1.5}
.expense-record-note{margin-top:4px;color:var(--muted);overflow-wrap:anywhere}
.expense-record-scope{color:#5e5548}
.expense-record-amount strong{white-space:nowrap;font-size:1.03rem}
.expense-action-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;width:120px;min-height:44px;padding:7px 12px;border:1px solid var(--line);border-radius:11px;background:#fffdfa;color:#76520a;font:inherit;font-weight:800;cursor:pointer}
.expense-action-trigger svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.expense-action-trigger:hover{background:#fff5dc;border-color:rgba(185,131,14,.35)}
.expense-action-trigger:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
.expense-action-modal .modal-head p{margin:2px 0 0;color:var(--muted)}
.expense-modal-action{width:100%;justify-content:flex-start;min-height:46px}
.expense-modal-edit{margin:10px 0}
.expense-modal-edit summary{justify-content:space-between;list-style:none;cursor:pointer}
.expense-modal-edit summary::-webkit-details-marker{display:none}
.expense-modal-edit summary svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.expense-modal-edit[open] summary svg{transform:rotate(180deg)}
.expense-modal-edit summary:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
.expense-modal-edit-fields{padding:14px 0 4px}
.expense-action-modal .field textarea{min-height:88px}
.expense-modal-delete-form{margin-top:18px;padding-top:12px;border-top:1px solid var(--line)}
.expense-modal-delete{min-height:44px;padding:8px 4px;border:0;border-radius:8px;background:transparent;color:var(--red);font:inherit;font-weight:800;cursor:pointer}
.expense-modal-delete:hover{background:rgba(180,64,53,.07)}
.expense-modal-delete:focus-visible{outline:2px solid var(--red);outline-offset:2px}
@media(max-width:760px){
  .app-main .expense-records-table.mobile-card-table tbody{gap:10px}
  .app-main .expense-records-table.mobile-card-table tr{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;padding:10px 14px}
  .app-main .expense-records-table.mobile-card-table td{display:grid;justify-content:stretch;gap:2px;padding:9px 0;text-align:start}
  .app-main .expense-records-table.mobile-card-table td::before{flex:none;text-align:start}
  .app-main .expense-records-table.mobile-card-table td.expense-record-name{order:1;grid-column:1/-1}
  .app-main .expense-records-table.mobile-card-table td.expense-record-name::before{display:none}
  .app-main .expense-records-table.mobile-card-table td.expense-record-amount{order:2}
  .app-main .expense-records-table.mobile-card-table td.expense-record-status{order:3}
  .app-main .expense-records-table.mobile-card-table td.expense-record-scope{order:4;grid-column:1/-1}
  .app-main .expense-records-table.mobile-card-table td.expense-record-actions{order:5;grid-column:1/-1;border-bottom:0}
  .app-main .expense-records-table.mobile-card-table td.expense-record-actions::before{display:none}
  .app-main .expense-records-table.mobile-card-table .expense-action-trigger{width:100%}
}
.dues-ready-panel { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:26px 30px; }
.dues-ready-panel h2 { margin:0; font-size:1.25rem; }
.dues-ready-panel p { margin:4px 0 0; color:var(--muted); }
.dues-ready-action { display:flex; align-items:center; gap:18px; flex:0 0 auto; }
.dues-ready-action strong { font-size:1.5rem; white-space:nowrap; }
@media (max-width: 760px) {
  .month-close-main { padding-top: 22px; }
  .month-close-main > .dashboard-heading { margin-bottom: 18px; }
  .month-close-panel { gap: 18px; padding: 18px; }
  .month-close-panel > .month-filter { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
  .month-close-panel > .month-filter label { grid-column: 1 / -1; }
  .month-close-panel > .month-filter select { width: 100%; min-width: 0; }
  .month-close-status { gap: 16px; padding: 18px; }
  .month-close-review-values{grid-template-columns:1fr}
  .month-close-ready-dues{align-items:stretch;flex-direction:column}
  .month-close-ready-dues .btn-outline{width:100%}
  .month-close-status .btn { white-space: normal; }
  .expense-summary-panel,.expense-summary-breakdown{align-items:stretch;flex-direction:column;gap:12px}
  .expense-summary-breakdown{padding:12px 0 0;border-inline-start:0;border-top:1px solid var(--line)}
  .expense-summary-breakdown>div{display:flex;justify-content:space-between;gap:12px}
  .expense-summary-breakdown>.expense-summary-redundant{display:none}
  .expense-summary-panel>.expense-summary-redundant{display:none}
  .dues-ready-panel,.dues-ready-action { align-items:stretch; flex-direction:column; }
  .dues-ready-panel { padding:20px; }
  .dues-ready-action { gap:10px; }
  .dues-ready-action .btn { width:100%; }
}

.employee-month-filter [data-auto-submit-fallback][hidden] { display: none !important; }

/* Employee work header. */
.employee-work-header .app-header-inner { justify-content: flex-start; gap: 12px; }
.employee-work-header .app-user-actions { margin-inline-start: auto; }
.employee-header-month-filter { display: flex; align-items: center; gap: 8px; margin: 0; min-width: 0; }
.employee-header-month-filter select { min-width: 160px; min-height: 44px; }
.employee-header-month-filter [data-auto-submit-fallback][hidden] { display: none !important; }
@media (max-width: 760px) {
  .revenue-entry-panel .panel-head > div { width: 100%; }
  .employee-work-header { position: sticky; top: 0; }
  .employee-work-header .app-header-inner { flex-direction: row; align-items: center; }
  .employee-work-header .app-header-context { flex: 0 0 auto; }
  .employee-work-header .app-header-title { font-size: .9rem; }
  .employee-header-month-filter { flex: 1 1 0; width: auto; max-width: 180px; }
  .employee-header-month-filter select { width: 100%; min-width: 0; }
}

.delegate-unassigned{max-width:680px;margin:32px auto;padding:28px}
.delegate-unassigned h2{margin:0 0 6px;font-size:1.5rem}
.delegate-unassigned p{margin:0;color:var(--muted)}
.delegate-workspace{max-width:1040px}
.delegate-workspace>.dashboard-heading{margin-bottom:20px}
.delegate-workspace>.dashboard-heading h2{margin:0;font-size:1.45rem}
.delegate-workspace>.dashboard-heading p{margin:8px 0 0;color:var(--muted);font-size:.9rem}
.delegate-task{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px}
.delegate-task>div{min-width:0}
.delegate-task-eyebrow{color:var(--gold2);font-size:.82rem;font-weight:800}
.delegate-task h2{margin:5px 0;font-size:1.5rem}
.delegate-task p{margin:0;color:var(--muted)}
.delegate-task .btn{flex:none}
.delegate-scope{margin:14px 2px 0;color:var(--muted);font-size:.86rem}
@media(max-width:700px){.delegate-task{align-items:stretch;flex-direction:column;padding:20px}.delegate-task .btn{width:100%}}
.delegation-main{max-width:1120px}
.delegation-main>.dashboard-heading{align-items:end;margin-bottom:20px}
.delegation-main>.dashboard-heading p{max-width:62ch}
.delegation-main>.dashboard-heading>a{flex:none}
.delegation-main #add-deputy{scroll-margin-top:115px}
.delegation-accounts{margin-top:0}
.delegation-create{margin-top:20px}
.delegation-create .panel-head,.delegation-accounts .panel-head{margin-bottom:16px}
.delegation-create .form-grid{gap:12px 18px}
.delegation-create .help{margin:12px 0 0}
.delegation-create .inline-actions{margin-top:16px}
.delegation-list{display:grid;gap:16px}
.delegation-card{padding:22px;border:1px solid var(--line);border-radius:18px;background:#fffdfa}
.delegation-card-head,.delegation-actions{display:flex;align-items:start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.delegation-card-head h3{margin:0;font-size:1.18rem}
.delegation-card-head p{margin:4px 0 0;color:var(--muted)}
.delegation-summary{margin:16px 0;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.delegation-summary-label{display:block;margin-bottom:9px;font-size:.78rem;font-weight:700;color:var(--muted)}
.delegation-chips{display:flex;flex-wrap:wrap;gap:7px}
.delegation-chip{display:inline-flex;align-items:center;padding:5px 10px;border:1px solid rgba(129,92,20,.22);border-radius:999px;background:#f8f2e5;color:#634b19;font-size:.78rem;font-weight:650;line-height:1.45}
.delegation-chip-sensitive{border-color:rgba(154,59,45,.25);background:#fff0ed;color:#903b31}
.delegation-chip-empty{border-color:var(--line);background:transparent;color:var(--muted)}
.delegation-details summary{cursor:pointer;padding:4px 0;font-weight:700;color:var(--ink)}
.delegation-details[open] summary{margin-bottom:10px}
.delegation-details form{padding-top:4px}
.delegation-groups{display:grid;gap:18px;margin-bottom:16px}
.delegation-group{min-width:0}
.delegation-group-head{margin-bottom:10px}
.delegation-group-head h4{margin:0;font-size:1rem}
.delegation-group-head p{margin:3px 0 0;color:var(--muted);font-size:.82rem}
.delegation-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.delegation-option{min-width:0}
.delegation-option strong,.delegation-option small{display:block}
.delegation-option small{margin-top:3px;color:var(--muted);font-size:.8rem;font-weight:400}
.delegation-option:has(input:checked){border-color:var(--gold);background:rgba(226,173,49,.1)}
.delegation-group-sensitive{border-top:2px solid #d6a29a;padding-top:14px}
.delegation-group-sensitive .delegation-option{background:#fff9f7}
.delegation-group-sensitive .delegation-option:has(input:checked){border-color:#b46a5e;background:#fff0ed}
.delegation-details form>.btn{margin-top:4px}
.delegation-actions{justify-content:flex-start;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.delegation-actions form{margin:0}
@media(max-width:700px){
  .delegation-main>.dashboard-heading{align-items:stretch;margin-bottom:14px}
  .delegation-main>.dashboard-heading h1{font-size:1.6rem}
  .delegation-main>.dashboard-heading p{margin-top:5px;line-height:1.6;font-size:.9rem}
  .delegation-main>.dashboard-heading>a{width:100%;text-align:center}
  .delegation-accounts,.delegation-create{padding:16px}
  .delegation-accounts .panel-head{margin-bottom:12px}
  .delegation-accounts .panel-head p{line-height:1.55}
  .delegation-card{padding:16px}
  .delegation-card-head p{margin-top:2px}
  .delegation-summary{padding:10px 0;margin:10px 0}
  .delegation-summary-label{margin-bottom:6px}
  .delegation-chips{gap:5px}
  .delegation-chip{padding:4px 8px;font-size:.73rem}
  .delegation-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;padding-top:10px}
  .delegation-actions form,.delegation-actions button{width:100%}
  .delegation-groups{gap:13px}
  .delegation-group-head{margin-bottom:7px}
  .delegation-group-head p{display:none}
  .delegation-options{grid-template-columns:1fr;gap:6px}
  .delegation-option{min-height:0;padding:8px 10px!important}
  .delegation-option strong{font-size:.9rem;line-height:1.35}
  .delegation-option small{font-size:.73rem;line-height:1.4;margin-top:1px}
  .delegation-group-sensitive{padding-top:11px}
}
.delegation-main>.delegation-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.delegation-main>.delegation-intro p{margin:0}
@media(max-width:700px){.delegation-main>.delegation-intro{align-items:stretch;flex-direction:column;gap:10px}}

/* Revenue records: show every column at normal desktop widths. */
.owner-revenue-records .data-table{min-width:780px;table-layout:fixed}
.owner-revenue-records .data-table th,.owner-revenue-records .data-table td{padding:12px 10px;overflow-wrap:break-word}
.owner-revenue-records .data-table .row-actions{flex-wrap:nowrap;gap:8px}
.owner-revenue-records .data-table .row-actions .action-link{padding-inline:6px}
.owner-revenue-records .data-table th:nth-child(1){width:12%}
.owner-revenue-records .data-table th:nth-child(2){width:15%}
.owner-revenue-records .data-table th:nth-child(3){width:25%}
.owner-revenue-records .data-table th:nth-child(4){width:17%}
.owner-revenue-records .data-table th:nth-child(5){width:16%}
.owner-revenue-records .data-table th:nth-child(6){width:15%}
.revenue-edit-modal{display:flex;width:min(800px,100%);max-height:calc(100dvh - 40px);flex-direction:column;overflow:hidden;padding:0}
.revenue-edit-modal>.modal-head{flex:none;margin:0;padding:20px 28px 16px;border-bottom:1px solid var(--line);background:#fffaf1}
.revenue-edit-form{display:flex;min-height:0;flex:1;flex-direction:column}
.revenue-edit-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 28px;scrollbar-width:thin}
.revenue-edit-form>.inline-actions{flex:none;align-items:center;justify-content:flex-start;gap:16px;margin:0;padding:16px 28px 20px;border-top:1px solid var(--line);background:#fffaf1;box-shadow:0 -12px 28px rgba(23,22,20,.06)}
.revenue-edit-form>.inline-actions .action-link{min-height:44px;padding-inline:10px}
.revenue-edit-form>.inline-actions .revenue-refund-action{order:1;margin-inline-start:auto;padding-inline-start:20px;border-inline-start:1px solid var(--line)}
@media(max-width:760px){.owner-revenue-records .data-table{min-width:0;table-layout:auto}}
@media(max-width:600px){.revenue-edit-modal{max-height:calc(100dvh - 20px)}.revenue-edit-modal>.modal-head{padding:16px}.revenue-edit-body{padding:16px}.revenue-edit-form>.inline-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:14px 16px 16px}.revenue-edit-form>.inline-actions .revenue-refund-action{grid-column:1/-1;justify-self:stretch;justify-content:flex-start;width:100%;margin:4px 0 0;padding:12px 0 0;border-inline-start:0;border-top:1px solid var(--line)}}

@media(max-width:760px){
  .app-main .owner-revenue-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .app-main .owner-revenue-stats .stat{min-height:104px;padding:14px}
  .app-main .owner-revenue-stats .stat strong{font-size:clamp(1.2rem,5vw,1.55rem)}
  .app-main .owner-revenue-stats .stat:nth-child(3){order:-1;grid-column:1/-1}

  #daily-receipts .owner-daily-total-row.is-single-day-total{display:none!important}
  #daily-receipts .owner-daily-cash-only td:nth-child(3),
  #daily-receipts .owner-daily-card-only td:nth-child(2),
  #daily-receipts .owner-daily-cash-only td:nth-child(4),
  #daily-receipts .owner-daily-card-only td:nth-child(4){display:none!important}
  #daily-receipts .owner-daily-total-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;background:#f5f0e7}
  #daily-receipts .owner-daily-total-row td{display:block;padding:8px 0;text-align:start}
  #daily-receipts .owner-daily-total-row td::before{display:none}
  #daily-receipts .owner-daily-total-row td:first-child{grid-column:1/-1;border-bottom:1px solid var(--line)}
  #daily-receipts .owner-daily-total-row td:last-child{grid-column:1/-1;border-top:1px solid var(--line)}
  #daily-receipts .owner-daily-total-row td strong{font-size:.78rem;color:var(--muted)}
  #daily-receipts .owner-daily-total-row td>span{font-weight:800}

  .owner-revenue-records .mobile-card-table tr{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}
  .owner-revenue-records .mobile-card-table td{display:block!important;min-width:0;text-align:start!important;padding:8px 0!important}
  .owner-revenue-records .mobile-card-table td::before{display:block!important;min-width:0;flex:none;text-align:start!important;margin-bottom:2px}
  .owner-revenue-records .mobile-card-table td:nth-child(3){order:1;grid-column:1/-1;font-size:1.08rem}
  .owner-revenue-records .mobile-card-table td:nth-child(3)::before{display:none!important}
  .owner-revenue-records .mobile-card-table td:nth-child(5){order:2;grid-column:1/-1;font-size:1.12rem;font-weight:800}
  .owner-revenue-records .mobile-card-table td:nth-child(4){order:3;grid-column:1/-1}
  .owner-revenue-records .mobile-card-table td:nth-child(1){order:4}
  .owner-revenue-records .mobile-card-table td:nth-child(2){order:5}
  .owner-revenue-records .mobile-card-table td:nth-child(6){order:6;grid-column:1/-1}
  .owner-revenue-records .mobile-card-table .row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .owner-revenue-records .mobile-card-table .row-actions .action-link{width:100%;justify-content:center}
  .owner-revenue-records .mobile-card-table .row-actions form{min-width:0}

  [id^="revenueEdit"] .arabic-date-picker .arabic-date-dialog{position:relative;inset:auto;transform:none;width:100%;max-width:100%;margin-top:8px;box-shadow:0 8px 24px rgba(23,22,20,.08)}
}
.owner-revenue-records .revenue-card-context{display:none}
.owner-revenue-records .revenue-mobile-details[hidden]{display:none!important}
@media(max-width:760px){
  .revenue-month-filter .month-filter{display:flex;flex-direction:column;align-items:stretch;gap:10px;width:100%}
  .revenue-month-filter .month-filter select,.revenue-month-filter .month-filter [data-auto-submit-fallback]{width:100%;margin-inline:0;min-width:0}
  .revenue-month-filter .filter-status:empty{display:none}
}
@media(max-width:760px){
  .owner-revenue-records{padding:0;border:0;background:transparent;box-shadow:none}
  .owner-revenue-records .mobile-card-table .is-mobile-revenue-card{padding:14px;gap:0 10px;grid-template-columns:minmax(0,1fr) auto}
  .owner-revenue-records .is-mobile-revenue-card>td:nth-child(1),
  .owner-revenue-records .is-mobile-revenue-card>td:nth-child(2){display:none!important}
  .owner-revenue-records .is-mobile-revenue-card>td:nth-child(3){grid-column:1;order:1;border:0}
  .owner-revenue-records .is-mobile-revenue-card>td:nth-child(5){grid-column:2;order:2;border:0;text-align:end!important}
  .owner-revenue-records .is-mobile-revenue-card>.revenue-card-context{display:block!important;grid-column:1/-1;order:3;padding:2px 0 8px!important;color:#5b554e;font-size:.86rem;font-weight:600;line-height:1.6;white-space:normal;overflow-wrap:anywhere}
  .owner-revenue-records .is-mobile-revenue-card>.revenue-card-context::before{display:none!important}
  .owner-revenue-records .is-mobile-revenue-card>td:nth-child(5)::before,
  .owner-revenue-records .is-mobile-revenue-card>td:nth-child(4)::before,
  .owner-revenue-records .is-mobile-revenue-card>td:nth-child(6)::before{display:none!important}
  .owner-revenue-records .is-mobile-revenue-card>td:nth-child(4){grid-column:1;order:4;border:0}
  .owner-revenue-records .is-mobile-revenue-card>td:nth-child(6){grid-column:2;order:5;border:0;text-align:end!important}
  .owner-revenue-records .is-mobile-revenue-card .row-actions{display:flex;justify-content:flex-end}
  .owner-revenue-records .is-mobile-revenue-card .row-actions .action-link{width:auto}
  .owner-revenue-records .is-mobile-revenue-card>.revenue-mobile-details{order:6;grid-column:1/-1;border:0}
  .owner-revenue-records .is-mobile-revenue-card>.revenue-mobile-details::before{display:none!important}
  .owner-revenue-records .is-mobile-revenue-card .table-secondary[hidden]{display:none!important}
  .revenue-mobile-details details{width:100%;text-align:start}
  .revenue-mobile-details summary{min-height:40px;display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:700;color:var(--brand-gold-deep)}
  .revenue-mobile-details summary::before{content:'+'}
  .revenue-mobile-details details[open]>summary::before{content:'−'}
  .revenue-detail-delete{padding-top:8px;border-top:1px solid var(--line)}
  
  
}

.client-rewards-page .reward-option{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px 18px}
.client-rewards-page .reward-option>.pill{grid-column:auto}
.client-rewards-page .client-shell{padding-top:24px}
.client-rewards-page .dashboard-heading{margin-bottom:14px}
.client-rewards-page .dashboard-heading .eyebrow{margin-bottom:4px}
.client-rewards-page .client-rewards-panel{margin-top:0}
.client-rewards-page .client-history-panel{margin-top:16px}
.client-rewards-page .client-history-panel .empty-state-card{min-height:100px;grid-template-columns:40px minmax(0,1fr);grid-template-areas:"icon title" "icon description";column-gap:14px;row-gap:2px;place-items:initial;align-items:center;padding:16px 18px;text-align:start}
.client-rewards-page .client-history-panel .empty-icon{grid-area:icon;width:40px;height:40px;margin:0}
.client-rewards-page .client-history-panel .empty-state-card h3{grid-area:title}
.client-rewards-page .client-history-panel .empty-state-card p{grid-area:description;max-width:none}
.client-rewards-page .client-history-panel .points-change{font-variant-numeric:tabular-nums;white-space:nowrap}
.client-rewards-page .client-history-panel .points-change.is-earned{color:var(--green)}
.client-rewards-page .client-history-panel .points-change.is-used{color:var(--red)}
.employee-wrap .employee-month-primary{grid-template-columns:repeat(2,minmax(0,1fr))}
.employee-month-breakdown,.employee-obligation-totals{display:grid;gap:12px;margin:16px 0;grid-template-columns:repeat(2,minmax(0,1fr))}
.employee-obligation-totals{grid-template-columns:repeat(3,minmax(0,1fr))}
.employee-month-breakdown>div,.employee-obligation-totals>div{min-width:0;padding:12px 16px;border:1px solid var(--line);border-radius:16px;background:#fffdf9}
.employee-month-breakdown dt,.employee-obligation-totals dt{color:var(--muted);font-size:.85rem}
.employee-month-breakdown dd,.employee-obligation-totals dd{margin:4px 0 0;font-size:1.1rem;font-weight:800;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.employee-obligation-totals>div:last-child{background:#f6ead3}
@media(max-width:760px){.employee-wrap .employee-month-primary{grid-template-columns:1fr}.employee-obligation-totals{grid-template-columns:1fr}.employee-obligation-totals>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.employee-obligation-totals dd{margin:0}.employee-month-breakdown>div{padding:10px 12px}}




.employee-daily-month-totals>div:first-child{background:#f6ead3}.employee-daily-month-totals>div:last-child{background:#fffdf9}.employee-daily-totals .owner-daily-edit{width:auto;gap:8px;padding-inline:12px;font-size:.75rem;white-space:nowrap}.employee-daily-totals .owner-daily-edit svg{width:18px;height:18px;flex:none}

.employee-daily-totals .owner-daily-edit{display:inline-flex;align-items:center;justify-content:center;height:auto;min-height:44px;font-family:inherit;font-size:.85rem;font-weight:700;line-height:1.4}.employee-daily-totals .owner-daily-edit svg{display:block}
@media(max-width:760px){.employee-daily-table td[data-label-key='التاريخ'] .owner-daily-date{display:block;margin-bottom:8px}.employee-daily-table td[data-label-key='الإجمالي']{background:#f7ead5;border-radius:10px;padding:10px 12px;margin-block:6px}.employee-daily-table td[data-label-key='الإجمالي'] strong{font-size:1.05rem}}

@media(max-width:760px){.employee-wrap .employee-daily-table tr{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.employee-daily-table td{grid-column:1/-1;order:2}.employee-daily-table td[data-label-key='التاريخ']{order:0}.employee-daily-table td[data-label-key='الإجمالي']{order:1}.employee-daily-table td[data-label-key='كاش'],.employee-daily-table td[data-label-key='بطاقة / Apple Pay']{grid-column:auto}}

.member-scan-main>.member-workflow-heading h2{font-size:clamp(1.35rem,2vw,1.7rem);line-height:1.5}.member-scan-main>.member-workflow-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.member-scan-main>.member-workflow-heading .inline-actions{margin-top:0}.member-workflow-heading p{font-size:.9rem}@media(max-width:760px){.member-scan-main>.member-workflow-heading{align-items:stretch;flex-direction:column}.member-workflow-heading .inline-actions{justify-content:flex-start}}

#memberEnrollmentModal .enrollment-panel{margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}#memberEnrollmentModal .enrollment-activation-guidance{margin:0 0 20px;color:var(--muted);font-size:.9rem}#memberEnrollmentModal>.modal>.modal-head{padding-block:16px;align-items:center}#memberEnrollmentModal>.modal>.modal-head h2{margin:0;line-height:1.4}#memberEnrollmentModal .membership-enrollment-form>.modal-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start;margin-top:20px}#memberEnrollmentModal .membership-enrollment-form>.modal-actions .btn,#memberEnrollmentModal .membership-enrollment-form>.modal-actions .btn-outline{flex:0 1 auto;min-height:44px}

/* Keep opened membership tasks ahead of secondary lookup and access tools. */
.member-scan-result .member-profile-header{padding:18px 22px}
.member-scan-result .member-profile-header .member-identity h2{margin:0;font-size:clamp(1.3rem,2vw,1.65rem)}
.member-scan-result .member-profile-header .member-state-badges{margin-top:4px}
.member-profile-search,.member-login-assistance{border:1px solid var(--line);border-radius:16px;background:rgba(255,253,250,.96)}
.member-profile-search{margin-bottom:16px}
.member-profile-search>summary,.member-login-assistance>summary{padding:14px 18px;cursor:pointer;font-weight:800;min-height:44px}
.member-profile-search>.member-scan-search{margin:0;padding:16px 18px;border:0;box-shadow:none}
.member-login-assistance .activation-invite-row{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);padding:18px;border:0;border-top:1px solid var(--line);border-radius:0 0 16px 16px;box-shadow:none;background:transparent}
.member-scan-result .scan-action-grid>section{padding:18px}
.member-scan-result .scan-action-grid .compact-empty{min-height:0;padding:14px 16px;gap:6px;text-align:start;place-items:start}
.member-scan-result .scan-action-grid .compact-empty .empty-icon{display:none}
.member-scan-result .scan-action-grid .compact-empty h3{font-size:.95rem;margin:0}
.member-scan-result .scan-action-grid .compact-empty p{margin:0;max-width:none;font-size:.85rem}
@media(max-width:760px){.member-login-assistance .activation-invite-row{grid-template-columns:1fr}.member-scan-result .member-profile-header{padding:16px}}
/* Member directory: keep identity together and the card action clear on mobile. */
@media(max-width:760px){
  .app-main .member-directory-table.mobile-card-table:not(.audit-table) td:first-child{display:block;text-align:start}
  .app-main .member-directory-table.mobile-card-table:not(.audit-table) td:first-child::before,
  .app-main .member-directory-table.mobile-card-table:not(.audit-table) td:last-child::before{display:none}
  .member-directory-table td:first-child>strong{display:block;font-size:1rem;text-align:right}
  .member-directory-table td:first-child>.table-secondary{text-align:right}
  .app-main .member-directory-table.mobile-card-table:not(.audit-table) td:last-child{display:block}
  .member-directory-table td:last-child>.btn-outline{display:flex;width:100%;min-height:44px}
}
.member-scan-result #scan-reward-impact{margin:10px 0 14px}

@media(max-width:760px){
  .app-main .password-reset-table td[data-label-key="الإجراء"]{display:block}
  .app-main .password-reset-table td[data-label-key="الإجراء"]::before{display:none}
  .password-reset-table td[data-label-key="الإجراء"] form{width:100%;max-width:none;margin:0}
  .password-reset-table td[data-label-key="الإجراء"] button{width:100%;min-height:44px;white-space:normal}
  .password-reset-request-time{display:block;min-width:0;text-align:start}
}
.order-timeline [data-loyalty-condition]{font-size:.76rem;font-weight:400;line-height:1.6;color:var(--muted)}
.order-timeline [data-loyalty-condition][hidden]{display:none}
@media(max-width:760px){.order-timeline [data-loyalty-condition]{grid-column:2;margin-top:-5px}}
.client-rewards-panel .client-reward-balance{margin-top:8px}
.client-reward-balance strong{display:block;color:var(--ink);font-size:1.65rem;line-height:1.5}
.client-reward-actions{margin-block:12px 18px}
.client-history-panel .data-table tbody tr:hover{background:transparent}
@media(max-width:760px){.client-history-panel .data-table tbody tr:hover{background:#fffdf9}}
#membership-card{scroll-margin-top:120px}

.client-history-filter{display:flex;align-items:end;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.client-history-filter .field{width:100%;max-width:320px;margin:0}
#points-history{scroll-margin-top:120px}

.owner-chair-share{display:block;margin-top:8px;color:var(--muted);font-size:.8rem}

.booking-location-status{display:grid;justify-items:start;gap:6px;margin-top:6px}
.booking-location-status form{display:grid;justify-items:start;gap:6px;width:100%}
.booking-location-status select{width:100%}
@media(max-width:760px){.orders-table.mobile-card-table tbody td{padding:10px 0!important}.orders-table.mobile-card-table tbody td::before{margin-bottom:4px}.orders-table .booking-row-links{margin-top:4px}.orders-table .booking-service-meta{margin-top:4px}.orders-table .booking-payment-actions{margin-top:6px}}

.service-admin-card.featured .pill.green{background:rgba(66,184,131,.18);color:#a4e6c5}

@media(min-width:481px){#booking-availability .arabic-date-dialog{position:fixed;inset-inline-start:auto;transform:none;max-height:calc(100vh - 28px);overflow-y:auto;overscroll-behavior:contain}}

.owner-revenue-records .table-wrap + .table-pagination-actions { margin-top: 16px; }

@media(max-width:760px){
  .owner-revenue-records .is-mobile-revenue-card>td.revenue-customer-empty{display:none!important}
  .owner-revenue-records .is-mobile-revenue-card>td.revenue-customer-empty~td:nth-child(6){grid-column:1/-1}
  .owner-revenue-records .is-mobile-revenue-card>td:nth-child(6),
  .owner-revenue-records .is-mobile-revenue-card>td.revenue-mobile-details{padding:2px 0!important}
  .owner-revenue-records .revenue-mobile-details details{margin:0;padding:0}
  .owner-revenue-records .revenue-mobile-details summary{padding:0;min-height:44px}
  .owner-revenue-records .revenue-detail-delete{padding-top:4px}
}

.revenue-adjustment-history{margin-top:24px}
.revenue-adjustment-history>summary{min-height:44px;cursor:pointer;font-weight:700}
.revenue-adjustment-history .table-wrap{margin-top:12px}
@media(max-width:760px){
  .app-main .revenue-adjustment-history .mobile-card-table td:nth-child(2),
  .app-main .revenue-adjustment-history .mobile-card-table td:nth-child(5){display:block;text-align:start}
  .app-main .revenue-adjustment-history .mobile-card-table td:nth-child(2)::before,
  .app-main .revenue-adjustment-history .mobile-card-table td:nth-child(5)::before{display:block;margin-bottom:6px}
}

/* Server-backed table controls retain the dashboard spacing on narrow screens. */
.server-table-tools .table-tools{margin-bottom:12px}.server-table-tools .revenue-record-filters{margin-bottom:16px}.server-table-tools+.table-result-count{margin-block:8px}.server-table-tools~.table-pagination-actions{margin-block:12px}
@media(max-width:600px){.server-table-tools .table-tools{flex-wrap:wrap}.server-table-tools .table-tools>label{flex:1 1 100%;min-width:0}.server-table-tools .table-tools>button{flex:0 0 auto}}

/* Expense dues confirmation: scroll details while keeping actions visible. */
#generateDuesModal .dues-generation-modal{display:flex;flex-direction:column;width:min(800px,100%);max-height:calc(100dvh - 40px);overflow:hidden;padding:0}
#generateDuesModal .modal-head{flex:none;margin:0;padding:20px 24px 16px;border-bottom:1px solid var(--line);gap:16px}
#generateDuesModal .modal-close{flex:none}
.dues-generation-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 24px}
#generateDuesModal .confirmation-summary{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:0 0 12px;padding:12px 14px}
#generateDuesModal .confirmation-summary div{flex-direction:column;gap:4px}
#generateDuesModal .confirmation-summary strong{font-size:1.1rem}
.dues-employee-totals{margin-bottom:14px}
.dues-employee-totals h4{margin:0 0 8px;font-size:.95rem}
.dues-employee-totals dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin:0}
.dues-employee-totals dl>div{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;border:1px solid var(--line);border-radius:12px}
.dues-employee-totals dd{margin:0;font-weight:800;white-space:nowrap}
#generateDuesModal .dues-preview-table{min-width:0;table-layout:fixed}
#generateDuesModal .dues-preview-table th,#generateDuesModal .dues-preview-table td{white-space:normal;overflow-wrap:anywhere;padding:12px}
#generateDuesModal .dues-preview-table th:first-child{width:32%}
#generateDuesModal .dues-preview-table th:last-child{width:24%}
.dues-generation-footer{flex:none;border-top:1px solid var(--line);background:#fffaf1;padding:14px 24px 18px;box-shadow:0 -8px 20px rgba(23,22,20,.04)}
#generateDuesModal .modal-actions{margin:0;display:flex;gap:10px}
@media(max-width:600px){
 #generateDuesModal .dues-generation-modal{max-height:calc(100dvh - 20px)}
 #generateDuesModal .modal-head{padding:16px;align-items:flex-start}
 #generateDuesModal .modal-head h3{font-size:1rem}
 .dues-generation-body{padding:16px}
 .dues-generation-footer{padding:12px 16px 16px}
 .dues-employee-totals dl{grid-template-columns:1fr}
 #generateDuesModal .table-wrap{overflow:visible;border:0;border-radius:0}
 #generateDuesModal .dues-preview-table,#generateDuesModal .dues-preview-table tbody{display:block;width:100%}
 #generateDuesModal .dues-preview-table thead{display:none}
 #generateDuesModal .dues-preview-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 12px;margin-bottom:10px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fffdf9}
 #generateDuesModal .dues-preview-table td{display:block;width:auto;border:0;padding:0;text-align:start;min-width:0}
 #generateDuesModal .dues-preview-table td:first-child{grid-column:1/-1;font-weight:800;margin-bottom:2px}
 #generateDuesModal .dues-preview-table td:nth-child(2),#generateDuesModal .dues-preview-table td:nth-child(3){color:var(--muted);font-size:.85rem}
 #generateDuesModal .dues-preview-table td:nth-child(2){grid-column:2;grid-row:2}
 #generateDuesModal .dues-preview-table td:nth-child(3){grid-column:1;grid-row:2}
 #generateDuesModal .dues-preview-table td::before{content:none}
 #generateDuesModal .dues-preview-table td:last-child{grid-column:1/-1;font-weight:800;border-top:1px solid var(--line);margin-top:4px;padding-top:7px}
 #generateDuesModal .modal-actions>.btn,#generateDuesModal .modal-actions>.btn-outline{width:auto;flex:1;padding-inline:10px}
}

/* Expense entry: keep the primary action visible while fields scroll. */
#expenseModal .expense-entry-modal{display:flex;flex-direction:column;width:min(760px,100%);max-height:calc(100dvh - 40px);padding:0;overflow:hidden}
#expenseModal .modal-head{flex:none;margin:0;padding:16px 24px 12px;border-bottom:1px solid var(--line);gap:16px}
#expenseModal .modal-head p{margin:4px 0 0;font-size:.88rem;color:#62594d}
#expenseModal .modal-close{flex:none;min-width:44px;min-height:44px}
#expenseModal .expense-entry-form{display:flex;flex-direction:column;min-height:0;overflow:hidden}
#expenseModal .expense-entry-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:14px 24px}
#expenseModal .form-requirements{margin:0 0 12px;padding:0;background:transparent;color:#62594d;font-size:.875rem}
#expenseModal .form-grid{gap:12px 20px}
#expenseModal .field label{margin-bottom:6px}
#expenseModal .optional-label,#expenseModal .field-unit{color:#62594d}
#expenseModal .field input,#expenseModal .field select{min-height:48px}
#expenseModal .field textarea{min-height:64px;height:64px}
#expenseModal #expense-scope-help{margin:6px 0 0;font-size:.875rem;color:#62594d;line-height:1.6}
#expenseModal .expense-entry-actions{flex:none;display:flex;margin:0;padding:12px 24px 14px;border-top:1px solid var(--line);background:#fffaf1}
#expenseModal .expense-entry-actions .btn{min-width:170px;min-height:48px}
@media(max-width:600px){#expenseModal .expense-entry-modal{max-height:calc(100dvh - 20px)}#expenseModal .modal-head{padding:16px}#expenseModal .expense-entry-body{padding:14px 16px}#expenseModal .form-grid{gap:10px}#expenseModal .expense-entry-actions{padding:12px 16px 16px}#expenseModal .expense-entry-actions .btn{width:100%}}

.employee-history-table tbody tr.employee-history-cash { background: #fff8eb; }
.employee-history-table tbody tr.employee-history-card { background: #eef5f8; }
.employee-history-table tbody tr.employee-history-cash:hover { background: #fff2dc; }
.employee-history-table tbody tr.employee-history-card:hover { background: #e4eff5; }

.owner-revenue-records .data-table tbody tr[data-filter-payment="cash"] { background: #fff8eb; }
.owner-revenue-records .data-table tbody tr[data-filter-payment="card"] { background: #eef5f8; }
.owner-revenue-records .data-table tbody tr[data-filter-payment="cash"]:hover { background: #fff2dc; }
.owner-revenue-records .data-table tbody tr[data-filter-payment="card"]:hover { background: #e4eff5; }
.owner-revenue-records .table-tools { align-items: end; }
.owner-revenue-records .table-tools .table-sort-control, .owner-revenue-records .table-tools .table-date-control { display: grid; gap: 6px; max-width: none; }
.owner-revenue-records .table-tools .table-date-control input { width: 100%; min-width: 0; min-height: 44px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 12px; background: #fffdf9; color: var(--ink); font: inherit; }
.owner-revenue-records .data-table .row-actions { margin-top: 0; align-items: center; }

/* Keep the revenue filters compact and consistently aligned on phones. */
@media (max-width: 600px) {
  .owner-revenue-records .server-table-tools .revenue-record-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 12px 0; }
  .owner-revenue-records .revenue-record-filters > label:first-child { grid-column: 1 / -1; }
  .owner-revenue-records .server-table-tools .table-tools { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px 8px; align-items: end; }
  .owner-revenue-records .server-table-tools .table-tools > .table-date-control { grid-column: 1 / 3; grid-row: 1; }
  .owner-revenue-records .server-table-tools .table-tools > .table-sort-control { grid-column: 3 / 5; grid-row: 1; }
  .owner-revenue-records .server-table-tools .table-tools > .table-date-control,
  .owner-revenue-records .server-table-tools .table-tools > .table-sort-control { width: 100%; min-width: 0; margin: 0; text-align: start; font-size: .85rem; color: var(--muted); }
  .owner-revenue-records .server-table-tools .table-tools > label:not(.table-date-control):not(.table-sort-control) { grid-column: 1 / 4; grid-row: 2; width: 100%; }
  .owner-revenue-records .server-table-tools .table-tools > button { grid-column: 4; grid-row: 2; min-height: 44px; margin: 0; }
  .owner-revenue-records .server-table-tools .table-tools select,
  .owner-revenue-records .server-table-tools .table-tools input { width: 100%; min-width: 0; min-height: 44px; }
  .owner-revenue-records .server-table-tools .table-tools .table-sort-control select { max-width: 100%; padding-inline: 8px; }
  .owner-revenue-records .server-table-tools .revenue-record-filters select { min-height: 44px; padding-inline: 10px; }
}
