:root{--linen:#f6f0e5;--linen-deep:#ebe1d1;--blue:#19437D;--gold:#F1BE15;--ink:#172033;--muted:#657087;--white:#fffdf8;--danger:#9f2f2f;--shadow:0 18px 50px rgba(25,67,125,.12)}
*{box-sizing:border-box}html{min-height:100%;background:var(--linen)}body{margin:0;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:radial-gradient(circle at top left,rgba(241,190,21,.13),transparent 32rem),var(--linen)}button,input,select{font:inherit}.app-shell{width:min(1600px,100%);margin:0 auto;min-height:100vh}.toolbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,3vw,3rem);background:rgba(246,240,229,.94);border-bottom:1px solid rgba(25,67,125,.14);backdrop-filter:blur(16px)}.toolbar__brand{display:flex;align-items:center;gap:.8rem}.toolbar__brand strong,.toolbar__brand small{display:block}.toolbar__brand small{color:var(--muted);margin-top:.12rem}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--blue);color:var(--gold);border:2px solid var(--gold);font-weight:900}.brand-mark--facility{font-size:clamp(.63rem,1.2vw,.86rem);letter-spacing:-.035em;line-height:1;text-align:center;padding:0 3px;white-space:nowrap}.actions-panel{padding:1.5rem clamp(1rem,3vw,3rem) 1rem}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem}.section-heading h1{margin:0;font-size:clamp(1.05rem,2vw,1.35rem)}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}.action-buttons{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.pill-button{appearance:none;border:2px solid var(--gold);border-radius:999px;padding:.72rem 1.15rem;background:var(--blue);color:#fff;box-shadow:none;font-weight:800;cursor:pointer;transition:box-shadow .16s ease}.pill-button:hover,.pill-button:focus-visible{box-shadow:0 0 0 4px rgba(241,190,21,.22),0 0 22px rgba(25,67,125,.34);outline:none}.pill-button:disabled{opacity:.55;cursor:wait}.workspace{padding:1rem clamp(1rem,3vw,3rem) 3rem;outline:none}.module-card{background:rgba(255,253,248,.84);border:1px solid rgba(25,67,125,.13);border-radius:26px;padding:clamp(1.2rem,3vw,2rem);box-shadow:var(--shadow)}.module-card h2{font-size:clamp(1.4rem,3vw,2.2rem);margin:.35rem 0}.module-card p{color:var(--muted);line-height:1.65}.hero-card{min-height:220px;display:flex;flex-direction:column;justify-content:center}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:1rem}.metric-card strong{display:block;font-size:2.4rem;color:var(--blue);margin:.35rem 0}.metric-card small{color:var(--muted)}.fluid-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.4rem}.fluid-form label{display:grid;gap:.45rem;font-weight:750;color:var(--blue)}.fluid-form input,.fluid-form select{width:100%;border:1px solid rgba(25,67,125,.3);border-radius:18px;padding:.8rem 1rem;background:var(--white);color:var(--ink);outline:none}.fluid-form input:focus,.fluid-form select:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(241,190,21,.18)}.booking-mode,.empty-state{margin-top:1.25rem;padding:1.2rem;border:1px dashed rgba(25,67,125,.35);border-radius:22px;background:rgba(25,67,125,.04)}.request-status{min-height:1.25rem;color:var(--muted);font-size:.9rem}.toast-region{position:fixed;right:1rem;bottom:1rem;z-index:100;display:grid;gap:.7rem}.toast{max-width:360px;padding:1rem 1.2rem;border-radius:18px;background:var(--blue);color:white;border:2px solid var(--gold);box-shadow:var(--shadow)}.loading-state{padding:2rem;text-align:center;color:var(--muted)}code{background:rgba(25,67,125,.08);padding:.15rem .35rem;border-radius:7px}@media(max-width:900px){.metric-grid,.fluid-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.toolbar{align-items:flex-start}.toolbar__brand small{display:none}.metric-grid,.fluid-form{grid-template-columns:1fr}.section-heading{align-items:flex-start;flex-direction:column}.pill-button{flex:1 1 auto}.actions-panel,.workspace{padding-left:1rem;padding-right:1rem}}
.pill-button.is-active{box-shadow:0 0 0 4px rgba(241,190,21,.22),0 0 22px rgba(25,67,125,.28)}
.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.25rem}.settings-tile{min-height:170px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between}.settings-tile h3{margin:.35rem 0;font-size:1.2rem}.settings-tile p{margin:.25rem 0 1rem}.inline-status{display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;padding:.45rem .75rem;background:rgba(25,67,125,.08);color:var(--blue);font-weight:800}.inline-status::before{content:"";width:.55rem;height:.55rem;border-radius:50%;background:var(--danger)}.inline-status.is-connected::before{background:#27834c}.form-actions{grid-column:1/-1}.notice{margin:1rem 0;padding:1rem 1.2rem;border-radius:18px}.notice--success{background:rgba(39,131,76,.11);color:#175f35}.notice--error{background:rgba(159,47,47,.1);color:var(--danger)}.installer-shell{max-width:1100px;margin:4rem auto;padding:1rem}.pill-link{display:inline-block;text-decoration:none;border:2px solid var(--gold);border-radius:999px;padding:.72rem 1.15rem;background:var(--blue);color:#fff;font-weight:800}.user-list{display:grid;gap:.75rem;margin-top:1.25rem}.user-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid rgba(25,67,125,.13);border-radius:20px;background:rgba(255,253,248,.72)}.user-row small{display:block;color:var(--muted);margin-top:.2rem}@media(max-width:900px){.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.settings-grid{grid-template-columns:1fr}.user-row{align-items:flex-start;flex-direction:column}}

.booking-type-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin: 1.5rem 0;
}

.workspace-actions-title{color:var(--blue);font-size:.82rem!important;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.settings-subgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.25rem}
.hours-section{margin-top:1.25rem}.hours-section>header{margin-bottom:1rem}.hours-section h3{margin:.2rem 0;color:var(--blue)}
.trial-requirements{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1rem 0 1.5rem}.check-pill{display:flex;align-items:center;gap:.6rem;padding:.75rem 1rem;border:1px solid rgba(25,67,125,.2);border-radius:999px;background:var(--white);color:var(--blue);font-weight:800}.check-pill input{accent-color:var(--blue)}
.hours-table-wrap{overflow-x:auto}.hours-table{width:100%;border-collapse:separate;border-spacing:0 .65rem;min-width:980px}.hours-table th{text-align:left;padding:.2rem .55rem;color:var(--blue);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.hours-table td{padding:.65rem .55rem;background:rgba(25,67,125,.035)}.hours-table td:first-child{border-radius:16px 0 0 16px;font-weight:850;color:var(--blue)}.hours-table td:last-child{border-radius:0 16px 16px 0}.hours-table input[type=time]{width:100%;min-width:112px;border:1px solid rgba(25,67,125,.25);border-radius:14px;padding:.62rem .7rem;background:var(--white)}.hours-table input[type=checkbox]{accent-color:var(--blue)}.hours-table tr.is-closed{opacity:.68}.section-divider{height:1px;background:rgba(25,67,125,.13);margin:1.5rem 0}.form-note{grid-column:1/-1;color:var(--muted);font-size:.92rem}
@media(max-width:900px){.settings-subgrid{grid-template-columns:1fr}.trial-requirements{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.trial-requirements{grid-template-columns:1fr}}

.toolbar__controls{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.65rem}
.toolbar__controls .pill-button{white-space:nowrap}
@media(max-width:980px){.toolbar{align-items:flex-start;flex-wrap:wrap}.toolbar__controls{width:100%;justify-content:flex-start}}
.enclosure-settings-hero{min-height:190px}.enclosure-settings-section{margin-top:1rem}.pet-type-selector{grid-column:1/-1;border:1px solid rgba(25,67,125,.18);border-radius:22px;padding:1rem}.pet-type-selector legend{padding:0 .45rem;color:var(--blue);font-weight:850}.check-grid{display:flex;flex-wrap:wrap;gap:.65rem}.chip-list{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.data-chip,.empty-inline{display:inline-flex;align-items:center;border-radius:999px;padding:.58rem .85rem;background:rgba(25,67,125,.08);color:var(--blue);font-weight:800}.record-list{display:grid;gap:.7rem;margin-top:1.25rem}.record-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border:1px solid rgba(25,67,125,.14);border-radius:20px;background:rgba(255,253,248,.72)}.record-row strong,.record-row small{display:block}.record-row small{margin-top:.25rem;color:var(--muted)}.record-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.record-meta span{border-radius:999px;padding:.45rem .7rem;background:rgba(25,67,125,.08);color:var(--blue);font-weight:800}.inventory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:1.25rem}.inventory-card{padding:1rem;border:1px solid rgba(25,67,125,.14);border-radius:20px;background:rgba(255,253,248,.72)}.inventory-card strong,.inventory-card small{display:block}.inventory-card small{margin-top:.25rem;color:var(--muted)}[hidden]{display:none!important}@media(max-width:900px){.inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.record-row{align-items:flex-start;flex-direction:column}.record-meta{justify-content:flex-start}.inventory-grid{grid-template-columns:1fr}}

/* Enclosures & Capacity record management */
.management-list {
  display: grid;
  gap: 14px;
  margin-top: 22px;
}
.management-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  gap: 18px;
  align-items: end;
  padding: 18px;
  border: 1px solid rgba(25, 67, 125, .18);
  border-radius: 24px;
  background: rgba(255, 255, 255, .42);
}
.management-row--stacked { align-items: stretch; }
.management-fields {
  display: grid;
  grid-template-columns: minmax(220px, 2fr) minmax(130px, .7fr);
  gap: 18px;
}
.management-row label {
  display: grid;
  gap: 8px;
  color: var(--blue);
  font-weight: 700;
}
.record-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: flex-end;
}
.pill-button--compact {
  min-height: 42px;
  padding: 9px 18px;
  font-size: .95rem;
}
.pill-button--danger { border-color: #b13a32; }
.management-summary {
  color: #66738d;
  font-weight: 700;
}
.check-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
}
.check-line {
  display: inline-flex !important;
  grid-template-columns: none !important;
  flex-direction: row;
  align-items: center;
  gap: 9px !important;
  min-height: 38px;
  padding: 7px 12px;
  border: 1px solid rgba(25, 67, 125, .18);
  border-radius: 999px;
  color: var(--blue);
  font-weight: 700;
  white-space: nowrap;
}
.check-line input { margin: 0; flex: 0 0 auto; }
.pet-type-selector--compact { margin: 0; }
.enclosure-inventory-management .management-row {
  grid-template-columns: minmax(200px, 1fr) minmax(220px, 1fr) auto;
}
@media (max-width: 900px) {
  .management-row,
  .enclosure-inventory-management .management-row,
  .management-fields { grid-template-columns: 1fr; }
  .record-actions { justify-content: flex-start; }
}

/* Service pricing settings */
.pricing-section{margin-top:1rem}.pricing-section h2{color:var(--blue)}
.management-row--wide{grid-template-columns:repeat(6,minmax(115px,1fr)) auto;align-items:end}
.management-row--wide label,.pricing-section .management-row label{min-width:0}
.pricing-section .management-row input,.pricing-section .management-row select{width:100%;border:1px solid rgba(25,67,125,.3);border-radius:16px;padding:.72rem .85rem;background:var(--white);color:var(--ink)}
.pricing-section fieldset.pet-type-selector{grid-column:1/-1}
@media(max-width:1180px){.management-row--wide{grid-template-columns:repeat(3,minmax(150px,1fr))}.management-row--wide .record-actions{grid-column:1/-1}}
@media(max-width:700px){.management-row--wide{grid-template-columns:1fr}.pricing-section .management-row{grid-template-columns:1fr}}

/* Unified checkbox and checkbox-label alignment */
.fluid-form .check-line,
.management-row .check-line,
.check-grid .check-line,
.pet-type-selector .check-line {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  justify-self: start;
  align-self: end;
  width: auto !important;
  max-width: 100%;
  min-height: 44px;
  gap: 10px !important;
  padding: 9px 14px;
  line-height: 1.2;
  white-space: nowrap;
}

.fluid-form .check-line input[type="checkbox"],
.management-row .check-line input[type="checkbox"],
.check-grid .check-line input[type="checkbox"],
.pet-type-selector .check-line input[type="checkbox"],
.check-pill input[type="checkbox"] {
  appearance: auto;
  -webkit-appearance: checkbox;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  flex: 0 0 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  accent-color: var(--blue);
}

.check-line > span,
.check-line:not(:has(span)) {
  line-height: 1.2;
}

.check-grid {
  align-items: center;
}

.pet-type-selector .check-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, max-content));
  gap: 10px 14px;
}

.trial-requirements .check-pill {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
}

@media (max-width: 700px) {
  .pet-type-selector .check-grid {
    grid-template-columns: 1fr;
  }
}

/* Retail inventory fields remain on one desktop row */
.retail-inventory-form {
  grid-template-columns: minmax(280px, 2.4fr) minmax(105px, .65fr) minmax(105px, .65fr) auto minmax(95px, .55fr);
  align-items: end;
}
.retail-inventory-form .form-actions { grid-column: 1 / -1; }
.retail-inventory-row {
  grid-template-columns: minmax(240px, 2.2fr) minmax(95px, .65fr) minmax(95px, .65fr) auto minmax(85px, .55fr) auto;
}

/* Daycare assessment capacity by pet type */
.assessment-option-form {
  grid-template-columns: minmax(220px, 1.5fr) minmax(180px, 1.1fr) minmax(135px, .75fr) auto minmax(110px, .65fr) minmax(110px, .65fr);
  align-items: end;
}
.assessment-option-row {
  grid-template-columns: minmax(210px, 1.5fr) minmax(170px, 1.1fr) minmax(130px, .75fr) auto minmax(105px, .65fr) minmax(105px, .65fr) auto;
  align-items: end;
}
.assessment-option-row input,
.assessment-option-row select {
  width: 100%;
  border: 1px solid rgba(25,67,125,.3);
  border-radius: 16px;
  padding: .72rem .85rem;
  background: var(--white);
  color: var(--ink);
}

@media (max-width: 1180px) {
  .retail-inventory-form,
  .assessment-option-form { grid-template-columns: repeat(3, minmax(150px, 1fr)); }
  .retail-inventory-row,
  .assessment-option-row { grid-template-columns: repeat(3, minmax(150px, 1fr)); }
  .retail-inventory-row .record-actions,
  .assessment-option-row .record-actions { grid-column: 1 / -1; justify-content: flex-start; }
}
@media (max-width: 700px) {
  .retail-inventory-form,
  .retail-inventory-row,
  .assessment-option-form,
  .assessment-option-row { grid-template-columns: 1fr; }
}

/* Multi-pet-type assessment configuration */
.assessment-option-form--multi {
  grid-template-columns: minmax(240px, 1.6fr) minmax(145px, .75fr) auto minmax(155px, .8fr) minmax(115px, .6fr);
  align-items: end;
}
.assessment-option-form--multi .assessment-pet-types,
.assessment-option-row--multi .assessment-pet-types { grid-column: 1 / -1; }
.assessment-core-fields {
  grid-template-columns: minmax(220px, 1.5fr) minmax(145px, .75fr) minmax(165px, .85fr) minmax(115px, .6fr) auto;
  align-items: end;
}
.assessment-option-row--multi { grid-template-columns: 1fr; }
.assessment-option-row--multi .record-actions { justify-content: flex-start; }
.assessment-pet-types .check-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(175px, max-content));
  gap: 10px 14px;
}
@media(max-width:1100px){
  .assessment-option-form--multi,.assessment-core-fields{grid-template-columns:repeat(2,minmax(180px,1fr))}
}
@media(max-width:700px){
  .assessment-option-form--multi,.assessment-core-fields{grid-template-columns:1fr}
  .assessment-pet-types .check-grid{grid-template-columns:1fr}
}

/* Assessment requirement slider controls */
.assessment-toggle-form {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  margin-top: 1.5rem;
}

.assessment-slider {
  position: relative;
  display: inline-block;
  margin-bottom: 2rem;
}

.assessment-slider > input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.assessment-slider__track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(84px, 1fr));
  width: 190px;
  min-height: 54px;
  padding: 5px;
  border: 2px solid #F1BE15;
  border-radius: 999px;
  background: #fffdf8;
  box-shadow: inset 0 0 0 1px rgba(25, 67, 125, .12);
  overflow: hidden;
}

.assessment-slider__thumb {
  position: absolute;
  top: 5px;
  left: 5px;
  width: calc(50% - 5px);
  height: calc(100% - 10px);
  border-radius: 999px;
  background: #19437D;
  box-shadow: 0 0 16px rgba(241, 190, 21, .38);
  transition: transform .2s ease;
}

.assessment-slider label {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  margin: 0;
  border-radius: 999px;
  color: #19437D;
  font-weight: 800;
  cursor: pointer;
  user-select: none;
}

.assessment-slider > input[value="1"]:checked ~ .assessment-slider__track .assessment-slider__thumb {
  transform: translateX(0);
}

.assessment-slider > input[value="0"]:checked ~ .assessment-slider__track .assessment-slider__thumb {
  transform: translateX(100%);
}

.assessment-slider > input[value="1"]:checked ~ .assessment-slider__track label[for$="-yes"],
.assessment-slider > input[value="0"]:checked ~ .assessment-slider__track label[for$="-no"] {
  color: #fff;
}

.assessment-slider > input:focus-visible ~ .assessment-slider__track {
  outline: 3px solid rgba(25, 67, 125, .28);
  outline-offset: 3px;
}

.assessment-toggle-form .pill-button {
  margin-top: .25rem;
}


/* Boarding extended-stay persistence and responsive editor */
.extended-stay-create-form{grid-template-columns:minmax(260px,1.35fr) minmax(180px,.7fr) minmax(150px,.65fr) minmax(150px,.65fr) minmax(150px,.65fr) auto;align-items:end}
.extended-stay-create-form .extended-stay-days{grid-column:1/-1}
.extended-stay-row{display:grid;grid-template-columns:1fr;gap:16px;align-items:stretch}
.extended-stay-primary{display:grid;grid-template-columns:minmax(260px,2fr) minmax(180px,.75fr);gap:16px}
.extended-stay-days{margin:0;border:1px solid rgba(25,67,125,.18);border-radius:20px;padding:12px 14px;min-width:0}
.extended-stay-days legend{padding:0 7px;color:var(--blue);font-weight:800}
.extended-stay-days .check-grid{display:grid;grid-template-columns:repeat(7,minmax(80px,1fr));gap:10px}
.extended-stay-days .check-line{justify-self:stretch;justify-content:center!important}
.extended-stay-prices{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr)) auto;gap:16px;align-items:end}
.extended-stay-actions{justify-content:flex-start}
@media(max-width:1100px){
  .extended-stay-create-form{grid-template-columns:repeat(3,minmax(160px,1fr))}
  .extended-stay-days .check-grid{grid-template-columns:repeat(4,minmax(90px,1fr))}
  .extended-stay-prices{grid-template-columns:repeat(2,minmax(160px,1fr))}
}
@media(max-width:720px){
  .extended-stay-create-form,.extended-stay-primary,.extended-stay-prices{grid-template-columns:1fr}
  .extended-stay-days .check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .extended-stay-days .check-line{justify-content:flex-start!important}
}

/* Clients & Pets search, client file, and folder tabs */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.clients-pets-shell{display:block}
.clients-pets-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem}
.client-search-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:14px;align-items:center;margin-top:1.5rem}
.client-search-field input{width:100%;min-height:54px;border:1px solid rgba(25,67,125,.28);border-radius:999px;padding:0 1.25rem;background:#fffdf8;color:var(--ink);font:inherit;font-weight:700}
.client-toolbar-button{white-space:nowrap}
.client-add-button{min-height:54px;padding:0 1.35rem;border:2px solid #F1BE15;border-radius:12px;background:#19437D;color:#fff;font:inherit;font-weight:800;cursor:pointer;white-space:nowrap;box-shadow:none;transition:none}
.client-add-button:hover,.client-add-button:focus-visible{background:#19437D;color:#fff;transform:none;box-shadow:none;outline:none}
.clients-pets-content{margin-top:1.5rem}
.client-search-empty{min-height:120px;display:flex;align-items:center}
.client-list-controls{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}
.client-list-controls label{display:flex;align-items:center;gap:.65rem;font-weight:800;color:var(--blue)}
.client-list-controls select{width:auto;min-width:82px;border:1px solid rgba(25,67,125,.28);border-radius:999px;padding:.65rem .9rem;background:#fffdf8}
.client-results{display:grid;gap:10px}
.client-result-row{width:100%;display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.8fr);gap:1rem;text-align:left;border:1px solid rgba(25,67,125,.22);border-radius:20px;background:#fffdf8;padding:1rem 1.15rem;color:var(--ink);font:inherit;cursor:pointer;transition:none}
.client-result-row:hover,.client-result-row:focus-visible{border-color:#F1BE15;box-shadow:0 0 14px rgba(241,190,21,.28);transform:none;outline:none}
.client-result-row>span{display:flex;flex-direction:column;gap:.28rem;min-width:0}.client-result-name-line{display:flex!important;flex-direction:row!important;align-items:center;gap:.45rem!important;min-width:0;flex-wrap:wrap}.client-result-name-line>strong{display:inline!important;flex:0 1 auto}.client-result-name-line .client-facility-slugs{display:inline-flex!important;flex-direction:row!important;gap:.3rem!important;flex:0 0 auto;margin-left:0}
.client-result-row small{color:var(--muted);overflow:hidden;text-overflow:ellipsis}
.client-pagination{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:1rem}
.page-button{min-width:42px;min-height:42px;border:2px solid #F1BE15;border-radius:999px;background:#19437D;color:#fff;font-weight:800;cursor:pointer}
.page-button.is-active{box-shadow:0 0 16px rgba(241,190,21,.55)}

.client-create-form{display:grid;gap:1.25rem}
.client-form-section{background:#fffdf8;border:1px solid rgba(25,67,125,.15);border-radius:26px;padding:1.5rem}
.client-form-section h3,.client-file-header h3{margin:.2rem 0 1rem;color:var(--ink);font-size:clamp(1.45rem,2vw,2rem)}
.client-form-break{position:relative;margin-top:.5rem}
.client-form-break::before{content:"";position:absolute;left:2rem;right:2rem;top:-.9rem;height:2px;background:linear-gradient(90deg,transparent,#F1BE15 12%,#19437D 50%,#F1BE15 88%,transparent)}
.section-heading-row,.client-file-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.client-entry-stack{display:grid;gap:1rem;margin-top:1rem}
.client-entry-card{display:grid;gap:1rem;border:1px dashed rgba(25,67,125,.32);border-radius:22px;padding:1.15rem;background:rgba(255,253,248,.72)}
.client-entry-grid{display:grid;gap:1rem;align-items:end}
.client-entry-grid label{display:grid;gap:.45rem;color:var(--blue);font-weight:800;min-width:0}
.client-entry-grid input,.client-entry-grid select{width:100%;min-height:50px;border:1px solid rgba(25,67,125,.28);border-radius:16px;padding:.75rem .9rem;background:#fffdf8;color:var(--ink);font:inherit;font-weight:650}
.client-entry-grid--primary{grid-template-columns:repeat(4,minmax(150px,1fr))}
.client-entry-grid--secondary,.client-entry-grid--emergency{grid-template-columns:repeat(4,minmax(150px,1fr))}
.client-entry-grid--pet{grid-template-columns:repeat(4,minmax(145px,1fr))}
.span-full{grid-column:1/-1}
.client-form-submit{display:flex;justify-content:flex-end}
.compact-button{min-height:42px;padding:.6rem 1rem}
.pet-hook-row{display:flex;gap:10px;flex-wrap:wrap}
.pet-hook{display:inline-flex;align-items:center;min-height:40px;padding:.55rem .9rem;border:1px dashed rgba(25,67,125,.4);border-radius:999px;background:#fffdf8;color:var(--blue);font:inherit;font-weight:800}

.client-file-header{margin-bottom:1rem}
.folder-tabs{display:flex;align-items:flex-end;gap:6px;overflow-x:auto;padding:14px 8px 0;scrollbar-width:thin}
.folder-tab{position:relative;z-index:1;flex:0 0 auto;min-height:54px;padding:12px 24px 10px;border:2px solid #F1BE15;border-bottom:0;border-radius:16px 16px 0 0;background:#19437D;color:#fff;font:inherit;font-weight:850;cursor:pointer;clip-path:polygon(0 18%,14% 18%,18% 0,72% 0,78% 18%,100% 18%,100% 100%,0 100%);transition:none}
.folder-tab::after{content:"";position:absolute;left:14%;top:0;width:58%;height:4px;border-radius:999px;background:rgba(255,255,255,.13)}
.folder-tab:hover,.folder-tab:focus-visible{background:#19437D;color:#fff;transform:none;box-shadow:0 0 16px rgba(241,190,21,.4);outline:none}
.folder-tab.is-active{z-index:4;min-height:62px;padding-top:16px;box-shadow:0 -5px 18px rgba(241,190,21,.22)}
.folder-tab--add{clip-path:polygon(0 18%,16% 18%,20% 0,70% 0,76% 18%,100% 18%,100% 100%,0 100%)}
.folder-content{position:relative;z-index:3;border:2px solid #F1BE15;border-radius:0 24px 24px 24px;background:#fffdf8;padding:1.5rem;min-height:300px;box-shadow:0 12px 30px rgba(25,67,125,.08)}
.client-tab-panel{display:grid;gap:1.25rem}
.client-tab-panel>.pill-button{justify-self:start}
.record-actions{display:flex;gap:10px;flex-wrap:wrap}

@media(max-width:1100px){
  .client-entry-grid--primary,.client-entry-grid--secondary,.client-entry-grid--emergency,.client-entry-grid--pet{grid-template-columns:repeat(2,minmax(150px,1fr))}
}
@media(max-width:760px){
  .client-search-toolbar{grid-template-columns:1fr 1fr}.client-search-field{grid-column:1/-1}.client-add-button,.client-toolbar-button{width:100%}
  .client-result-row{grid-template-columns:1fr}.client-list-controls{align-items:flex-start;flex-direction:column}
  .section-heading-row,.client-file-header{flex-direction:column;align-items:stretch}
  .client-entry-grid--primary,.client-entry-grid--secondary,.client-entry-grid--emergency,.client-entry-grid--pet{grid-template-columns:1fr}
  .folder-content{border-radius:0 18px 18px 18px;padding:1rem}
  .folder-tab{padding-left:20px;padding-right:20px}
}
.section-bottom-action{display:flex;justify-content:flex-start;margin-top:1rem}


/* Structured client addresses and standard Month / Day / Year date entry */
.structured-address{display:grid;grid-template-columns:minmax(260px,2fr) minmax(130px,.7fr) minmax(190px,1fr) minmax(90px,.45fr) minmax(130px,.6fr);gap:1rem;align-items:end}
.structured-address label{display:grid;gap:.45rem;color:var(--blue);font-weight:800;min-width:0}
.date-entry-field{min-width:0}
.date-select-group{display:grid;grid-template-columns:minmax(130px,1.35fr) minmax(82px,.65fr) minmax(96px,.75fr);gap:.55rem}
.date-select-group select{min-width:0}
@media(max-width:1100px){.structured-address{grid-template-columns:repeat(2,minmax(150px,1fr))}.structured-address .address-street{grid-column:1/-1}}
@media(max-width:760px){.structured-address,.date-select-group{grid-template-columns:1fr}.structured-address .address-street{grid-column:auto}}

/* Grooming service colors, compact settings, Smart Groom calendar */
.groom-service-row,.groom-price-row,.groom-staff-row{display:grid;gap:.8rem;align-items:end;margin-top:1rem}
.groom-service-row{grid-template-columns:minmax(220px,1.5fr) minmax(160px,.8fr) 104px 104px minmax(150px,.7fr) auto auto}
.groom-price-row{grid-template-columns:minmax(180px,1.25fr) minmax(150px,1fr) 100px 100px 110px 135px auto auto}
.groom-staff-row{grid-template-columns:minmax(220px,1fr) 150px auto auto}
.groom-service-row>label,.groom-price-row>label,.groom-staff-row>label{display:grid;gap:.42rem;color:var(--blue);font-weight:800;min-width:0}
.groom-service-row input,.groom-service-row select,.groom-price-row input,.groom-price-row select,.groom-staff-row input{width:100%;min-width:0;min-height:48px}
.groom-service-row--record,.groom-price-row--record,.groom-staff-row--record{padding:1rem;border:1px solid rgba(25,67,125,.18);border-radius:20px;background:rgba(255,253,248,.78)}
.color-field input[type=color]{padding:.25rem;border-radius:14px;cursor:pointer}
.groom-color-preview{display:flex;align-items:center;justify-content:center;min-height:48px;padding:.5rem .85rem;border:2px solid #F1BE15;border-radius:999px;background:var(--preview-bg);color:var(--preview-font);font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.settings-note{margin:.8rem 0 0;color:var(--muted);font-size:.94rem}

.smart-calendar-card{overflow:hidden}
.smart-calendar-toolbar{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-bottom:1rem}
.calendar-date-selects{display:grid;grid-template-columns:minmax(130px,1fr) 82px 96px;gap:.45rem}
.calendar-date-selects select{min-height:44px;border:1px solid rgba(25,67,125,.28);border-radius:999px;background:#fffdf8;color:var(--ink);padding:.55rem .8rem;font:inherit;font-weight:750}
.calendar-view-switch{display:flex;gap:.45rem;margin-left:auto}
.groom-service-legend{display:flex;gap:.55rem;flex-wrap:wrap;margin:0 0 1rem}
.groom-service-legend span{display:inline-flex;padding:.45rem .8rem;border:2px solid #F1BE15;border-radius:999px;background:var(--legend-bg);color:var(--legend-font);font-weight:800}
.smart-calendar-scroll{overflow:auto;border:1px solid rgba(25,67,125,.18);border-radius:20px;background:#fffdf8}
.smart-calendar-grid{--lane-count:1;display:grid;grid-template-columns:88px repeat(var(--lane-count),minmax(180px,1fr));grid-template-rows:66px 1152px;min-width:max(100%,calc(88px + var(--lane-count)*180px));position:relative}
.groom-calendar-corner,.groom-calendar-header{position:sticky;top:0;z-index:5;background:#19437D;color:#fff;border-right:1px solid rgba(241,190,21,.55);border-bottom:2px solid #F1BE15;padding:.75rem;display:flex;flex-direction:column;justify-content:center}
.groom-calendar-corner{left:0;align-items:center;font-weight:850}
.groom-calendar-header strong{font-size:1rem}.groom-calendar-header span{font-size:.82rem;opacity:.85}
.groom-time-rail{position:sticky;left:0;z-index:3;grid-column:1;grid-row:2;background:#fffdf8;border-right:2px solid #F1BE15;position:relative}
.groom-time-rail span{position:absolute;left:0;right:0;transform:translateY(-8px);padding-right:.55rem;text-align:right;color:var(--blue);font-size:.75rem;font-weight:800}
.groom-calendar-lane{grid-row:2;position:relative;border-right:1px solid rgba(25,67,125,.15);min-height:1152px;background:linear-gradient(180deg,rgba(241,190,21,.025),transparent)}
.groom-calendar-lane i{position:absolute;left:0;right:0;height:1px;background:rgba(25,67,125,.08)}
.groom-calendar-lane i.is-hour{background:rgba(25,67,125,.22)}
.groom-appointment-block{position:absolute;left:6px;right:6px;z-index:2;border:2px solid #F1BE15;border-radius:14px;background:var(--appt-bg);color:var(--appt-font);padding:.45rem .55rem;text-align:left;overflow:hidden;font:inherit;box-shadow:0 4px 10px rgba(25,67,125,.15);cursor:pointer}
.groom-appointment-block:hover,.groom-appointment-block:focus-visible{background:var(--appt-bg);color:var(--appt-font);transform:none;box-shadow:0 0 16px rgba(241,190,21,.48);outline:none}
.groom-appointment-block strong,.groom-appointment-block span,.groom-appointment-block small{display:block;line-height:1.15}.groom-appointment-block small{font-size:.72rem;margin-top:.25rem}
.calendar-loading{grid-column:1/-1;padding:2rem;color:var(--muted)}
.groom-modal[hidden]{display:none}.groom-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:1rem}
.groom-modal__backdrop{position:absolute;inset:0;background:rgba(9,22,42,.58)}
.groom-modal__panel{position:relative;z-index:1;width:min(760px,96vw);max-height:90vh;overflow:auto;border:2px solid #F1BE15;border-radius:28px;background:#fffdf8;padding:2rem;box-shadow:0 24px 70px rgba(0,0,0,.28)}
.groom-modal__close{position:absolute;right:1rem;top:1rem;width:42px;height:42px;border:2px solid #F1BE15;border-radius:50%;background:#19437D;color:#fff;font-size:1.5rem}
.groom-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1rem 0}.groom-profile-grid div{display:grid;gap:.25rem;padding:.8rem;border:1px solid rgba(25,67,125,.15);border-radius:16px}.groom-profile-grid strong{color:var(--blue)}
.groom-active-timer{margin:1rem 0;padding:1rem;border-radius:16px;background:rgba(25,67,125,.08);color:var(--blue);font-weight:850}
@media(max-width:1280px){.groom-service-row{grid-template-columns:repeat(4,minmax(130px,1fr))}.groom-price-row{grid-template-columns:repeat(4,minmax(130px,1fr))}.groom-service-row .record-actions,.groom-price-row .record-actions{grid-column:1/-1}.groom-staff-row{grid-template-columns:repeat(3,minmax(140px,1fr))}}
@media(max-width:760px){.groom-service-row,.groom-price-row,.groom-staff-row{grid-template-columns:1fr}.calendar-view-switch{margin-left:0}.calendar-date-selects{grid-template-columns:1fr 74px 90px}.groom-profile-grid{grid-template-columns:1fr}}

/* Calendar first-hour buffer and compact grooming settings alignment */
.smart-calendar-grid{grid-template-rows:66px 38px 1152px}
.calendar-start-buffer,.calendar-start-buffer-corner{grid-row:2;position:sticky;top:66px;z-index:4;display:flex;align-items:center;background:#eef3f8;color:var(--blue);border-bottom:1px solid rgba(25,67,125,.2);font-size:.76rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.calendar-start-buffer-corner{grid-column:1;left:0;justify-content:center;border-right:2px solid #F1BE15}
.calendar-start-buffer{padding:0 .75rem;border-right:1px solid rgba(25,67,125,.15)}
.groom-time-rail,.groom-calendar-lane{grid-row:3}

.groom-service-row{grid-template-columns:minmax(210px,1.45fr) minmax(145px,.78fr) 92px 92px minmax(155px,.68fr) 104px 104px}
.groom-price-row{grid-template-columns:minmax(170px,1.2fr) minmax(135px,.9fr) 88px 88px 96px 122px 104px 104px}
.groom-staff-row{grid-template-columns:minmax(220px,1fr) 130px 104px 104px}
.groom-service-row>.check-line,.groom-price-row>.check-line,.groom-staff-row>.check-line{display:flex;align-items:center;justify-content:center;gap:.5rem;min-width:0;white-space:nowrap;min-height:48px;padding:.55rem .7rem}
.groom-service-row>.pill-button,.groom-price-row>.pill-button,.groom-staff-row>.pill-button{width:100%;min-width:0;padding-inline:.8rem}
@media(max-width:1480px){.groom-service-row,.groom-price-row{grid-template-columns:repeat(4,minmax(135px,1fr))}.groom-staff-row{grid-template-columns:repeat(3,minmax(140px,1fr))}.groom-service-row>.pill-button,.groom-price-row>.pill-button,.groom-staff-row>.pill-button,.groom-service-row .record-actions,.groom-price-row .record-actions,.groom-staff-row .record-actions{grid-column:auto}}
@media(max-width:980px){.groom-service-row,.groom-price-row,.groom-staff-row{grid-template-columns:repeat(2,minmax(140px,1fr))}.groom-service-row>.pill-button,.groom-price-row>.pill-button,.groom-staff-row>.pill-button,.groom-service-row .record-actions,.groom-price-row .record-actions,.groom-staff-row .record-actions{grid-column:1/-1}}
@media(max-width:760px){.groom-service-row,.groom-price-row,.groom-staff-row{grid-template-columns:1fr}}


/* Correct first calendar time visibility and reserve Grooming action columns */
.smart-calendar-grid{grid-template-rows:66px 38px 1176px}
.groom-time-rail,.groom-calendar-lane{min-height:1176px}
.groom-time-rail{padding-top:24px}
.groom-time-rail span:first-child{transform:translateY(-8px)}
.groom-calendar-lane{background:linear-gradient(180deg,rgba(241,190,21,.05) 0 24px,rgba(241,190,21,.025) 24px,transparent 100%)}

.groom-service-row>.check-line input[type="checkbox"],
.groom-price-row>.check-line input[type="checkbox"],
.groom-staff-row>.check-line input[type="checkbox"]{
  appearance:auto!important;
  -webkit-appearance:checkbox!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  max-width:18px!important;
  min-height:18px!important;
  flex:0 0 18px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
  accent-color:var(--blue);
}
.groom-service-row>.check-line,
.groom-price-row>.check-line,
.groom-staff-row>.check-line{
  width:104px!important;
  max-width:104px!important;
  overflow:hidden;
}
.groom-service-row>.pill-button,
.groom-price-row>.pill-button,
.groom-staff-row>.pill-button{
  min-width:104px;
}
@media(max-width:1480px){
  .groom-service-row>.check-line,.groom-price-row>.check-line,.groom-staff-row>.check-line{width:auto!important;max-width:none!important;justify-self:start}
}


/* Add-On Services Settings */
.addon-create-form{display:grid;grid-template-columns:minmax(220px,1.25fr) minmax(260px,1.5fr) minmax(120px,.55fr) minmax(150px,.65fr) auto;gap:16px;align-items:end}
.addon-create-form .addon-available-for{grid-column:1/-1}
.addon-available-for{margin:0;border:1px solid rgba(25,67,125,.18);border-radius:20px;padding:12px 14px;min-width:0}
.addon-available-for legend{padding:0 7px;color:var(--blue);font-weight:800}
.addon-available-for .check-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px}
.addon-available-for .check-line{justify-content:flex-start!important}
.addon-management-list{display:grid;gap:16px}
.addon-management-row{gap:16px}
.addon-management-fields{display:grid;grid-template-columns:minmax(220px,1.1fr) minmax(260px,1.4fr) minmax(120px,.5fr) minmax(150px,.6fr) auto;gap:16px;align-items:end}
.addon-management-row--medicinal{border-color:rgba(178,39,39,.35)}
.pill-button--medicinal,.addon-toggle-pill--medicinal{background:#b22727!important;color:#fff!important;border-color:#F1BE15!important}
.addon-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.addon-module-card h2{margin-bottom:1.1rem}
.addon-module-category+ .addon-module-category{margin-top:1.5rem;padding-top:1.35rem;border-top:1px solid rgba(25,67,125,.14)}
.addon-module-category h3{margin:0 0 .8rem;color:var(--blue)}
.addon-pill-list{display:flex;flex-wrap:wrap;gap:12px}
.addon-toggle-pill{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:170px;padding:.75rem 1rem;border:2px solid #F1BE15;border-radius:999px;background:#19437D;color:#fff;font:inherit;font-weight:800;cursor:pointer;opacity:.52;transition:none}
.addon-toggle-pill small{font-size:.72rem;font-weight:700;opacity:.88}
.addon-toggle-pill:hover,.addon-toggle-pill:focus-visible{transform:none;box-shadow:0 0 14px rgba(241,190,21,.4);outline:none}
.addon-toggle-pill.is-enabled{opacity:1;box-shadow:0 0 14px rgba(241,190,21,.38)}
.addon-empty-label{color:var(--muted);font-weight:700}
@media(max-width:1150px){
  .addon-create-form,.addon-management-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .addon-create-form .addon-available-for,.addon-management-row .addon-available-for{grid-column:1/-1}
}
@media(max-width:760px){
  .addon-module-grid{grid-template-columns:1fr}
  .addon-create-form,.addon-management-fields{grid-template-columns:1fr}
  .addon-available-for .check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .addon-toggle-pill{width:100%}
}

/* Add-On creator alignment correction */
.addon-create-form,
.addon-management-fields {
  grid-template-columns:
    minmax(230px, 1.15fr)
    minmax(270px, 1.35fr)
    minmax(105px, .45fr)
    minmax(135px, .55fr)
    minmax(105px, auto);
  column-gap: 18px;
  row-gap: 16px;
  align-items: end;
}

.addon-create-form > label:not(.check-line),
.addon-management-fields > label:not(.check-line) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 7px;
  min-width: 0;
  color: var(--blue);
  font-weight: 800;
  line-height: 1.2;
}

.addon-create-form > label:not(.check-line) > input,
.addon-create-form > label:not(.check-line) > select,
.addon-management-fields > label:not(.check-line) > input,
.addon-management-fields > label:not(.check-line) > select {
  display: block;
  width: 100%;
  min-width: 0;
  height: 48px;
  margin: 0;
  border: 1px solid rgba(25, 67, 125, .3);
  border-radius: 16px;
  padding: .72rem .85rem;
  background: var(--white);
  color: var(--ink);
}

.addon-create-form > .check-line,
.addon-management-fields > .check-line {
  align-self: end;
  justify-self: start;
  min-width: 105px;
  margin: 0;
}

.addon-create-form .form-actions {
  grid-column: 1 / -1;
}

@media (max-width: 1180px) {
  .addon-create-form,
  .addon-management-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .addon-create-form > .check-line,
  .addon-management-fields > .check-line {
    justify-self: start;
  }
}

@media (max-width: 760px) {
  .addon-create-form,
  .addon-management-fields {
    grid-template-columns: 1fr;
  }
}


/* Add-On taxable slider — uses the established BBH Yes/No slider */
.addon-create-form,
.addon-management-fields {
  grid-template-columns:
    minmax(230px, 1.15fr)
    minmax(270px, 1.35fr)
    minmax(105px, .45fr)
    minmax(205px, .72fr)
    minmax(105px, auto);
}

.addon-taxable-control {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 7px;
  min-width: 205px;
  margin: 0;
}

.addon-taxable-control__label {
  color: var(--blue);
  font-weight: 800;
  line-height: 1.2;
}

.addon-taxable-slider.assessment-slider {
  display: inline-block;
  margin: 0;
}

.addon-taxable-slider .assessment-slider__track {
  width: 176px;
  min-height: 48px;
  grid-template-columns: repeat(2, minmax(76px, 1fr));
}

.addon-taxable-slider .assessment-slider__track label {
  min-height: 36px;
}

.addon-taxable-slider .assessment-slider__thumb {
  height: calc(100% - 10px);
}

@media (max-width: 1180px) {
  .addon-create-form,
  .addon-management-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .addon-taxable-control { min-width: 0; }
}

@media (max-width: 760px) {
  .addon-create-form,
  .addon-management-fields {
    grid-template-columns: 1fr;
  }
}

/* Compact Training Settings rows */
.pricing-section form[data-entity="training-service"],
.pricing-section form[data-entity="training-class"] {
  display: grid;
  align-items: end;
  gap: 12px;
}

.pricing-section form[data-pricing-form][data-entity="training-service"] {
  grid-template-columns: minmax(260px, 2.2fr) minmax(145px, .75fr) minmax(150px, .85fr) auto auto;
}

.pricing-section form[data-pricing-form][data-entity="training-class"] {
  grid-template-columns: minmax(240px, 1.8fr) minmax(135px, .7fr) minmax(135px, .7fr) minmax(150px, .8fr) auto auto;
}

.pricing-section form[data-record-form][data-entity="training-service"] {
  grid-template-columns: minmax(260px, 2.2fr) minmax(130px, .65fr) minmax(145px, .75fr) auto auto;
}

.pricing-section form[data-record-form][data-entity="training-class"] {
  grid-template-columns: minmax(240px, 1.8fr) minmax(120px, .62fr) minmax(120px, .62fr) minmax(145px, .75fr) auto auto;
}

.pricing-section form[data-entity="training-service"] label,
.pricing-section form[data-entity="training-class"] label {
  min-width: 0;
}

.pricing-section form[data-entity="training-service"] .check-line,
.pricing-section form[data-entity="training-class"] .check-line {
  align-self: end;
  margin: 0;
}

.pricing-section form[data-pricing-form][data-entity="training-service"] .form-actions,
.pricing-section form[data-pricing-form][data-entity="training-class"] .form-actions,
.pricing-section form[data-record-form][data-entity="training-service"] .record-actions,
.pricing-section form[data-record-form][data-entity="training-class"] .record-actions {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  align-self: end;
  justify-content: flex-end;
  gap: 8px;
  margin: 0;
}

.pricing-section form[data-pricing-form][data-entity="training-service"] .pill-button,
.pricing-section form[data-pricing-form][data-entity="training-class"] .pill-button,
.pricing-section form[data-record-form][data-entity="training-service"] .pill-button,
.pricing-section form[data-record-form][data-entity="training-class"] .pill-button {
  white-space: nowrap;
}

@media (max-width: 1180px) {
  .pricing-section form[data-pricing-form][data-entity="training-service"],
  .pricing-section form[data-pricing-form][data-entity="training-class"],
  .pricing-section form[data-record-form][data-entity="training-service"],
  .pricing-section form[data-record-form][data-entity="training-class"] {
    grid-template-columns: repeat(2, minmax(180px, 1fr));
  }

  .pricing-section form[data-entity="training-service"] .check-line,
  .pricing-section form[data-entity="training-class"] .check-line,
  .pricing-section form[data-entity="training-service"] .form-actions,
  .pricing-section form[data-entity="training-class"] .form-actions,
  .pricing-section form[data-entity="training-service"] .record-actions,
  .pricing-section form[data-entity="training-class"] .record-actions {
    grid-column: auto;
    justify-self: start;
  }
}

@media (max-width: 700px) {
  .pricing-section form[data-pricing-form][data-entity="training-service"],
  .pricing-section form[data-pricing-form][data-entity="training-class"],
  .pricing-section form[data-record-form][data-entity="training-service"],
  .pricing-section form[data-record-form][data-entity="training-class"] {
    grid-template-columns: 1fr;
  }
}

/* Behavioral quirk presentation */
.quirk-inline-form{display:grid;grid-template-columns:150px minmax(180px,1fr) minmax(240px,1.35fr) 92px minmax(150px,.7fr) 105px auto;gap:12px;align-items:end}
.quirk-inline-form>label,.quirk-emoji-field,.quirk-preview-field{min-width:0}
.quirk-emoji-field>span,.quirk-preview-field>span:first-child{display:block;color:#19437D;font-weight:800;margin-bottom:6px}
.quirk-emoji-control{position:relative;display:grid;grid-template-columns:54px auto;gap:8px}
.quirk-emoji-control input{width:54px;text-align:center;font-size:1.35rem}
.quirk-emoji-picker{position:absolute;z-index:40;top:calc(100% + 8px);left:0;width:250px;padding:10px;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;background:#fffdf8;border:2px solid #F1BE15;border-radius:18px;box-shadow:0 12px 30px rgba(25,67,125,.2)}
.quirk-emoji-picker[hidden]{display:none}.quirk-emoji-picker button{border:0;background:#fff;border-radius:10px;font-size:1.4rem;padding:7px;cursor:pointer}.quirk-emoji-picker button:hover,.quirk-emoji-picker button:focus-visible{box-shadow:0 0 10px rgba(241,190,21,.55);outline:none}
.quirk-color-field input[type=color]{width:74px;height:48px;padding:4px;border-radius:14px}
.quirk-preview-field{align-self:end}.quirk-pill{--quirk-color:#19437D;position:relative;display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:7px 14px;border:3px solid var(--quirk-color);border-radius:999px;background:#fff;color:#172033;font-weight:850;white-space:nowrap}
.quirk-preview{min-width:140px;justify-content:center}.quirk-tooltip{position:absolute;z-index:60;left:50%;bottom:calc(100% + 9px);transform:translateX(-50%);width:max-content;max-width:280px;padding:9px 12px;border-radius:12px;background:#172033;color:#fff;font-size:.86rem;line-height:1.35;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;box-shadow:0 10px 24px rgba(0,0,0,.22)}
.quirk-pill:hover .quirk-tooltip,.quirk-pill:focus .quirk-tooltip,.quirk-pill:focus-within .quirk-tooltip{opacity:1;visibility:visible}
.assigned-quirk-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.pet-quirk-editor{margin-top:18px}.quirk-selection-grid{display:flex;flex-wrap:wrap;gap:10px}.quirk-select-card{position:relative}.quirk-select-card>input{position:absolute;opacity:0;pointer-events:none}.quirk-select-card>span{display:block;opacity:.55}.quirk-select-card>input:checked+span{opacity:1}.quirk-select-card>input:checked+span .quirk-pill{box-shadow:0 0 0 3px rgba(241,190,21,.28)}
@media(max-width:1250px){.quirk-inline-form{grid-template-columns:150px minmax(180px,1fr) minmax(220px,1.2fr) 92px minmax(150px,.8fr);}.quirk-inline-form>.check-line,.quirk-inline-form>.record-actions,.quirk-inline-form>button{grid-row:auto}}
@media(max-width:760px){.quirk-inline-form{grid-template-columns:1fr}.quirk-emoji-picker{width:min(250px,80vw)}}


/* Pet feeding and medication profile modules */
.pet-care-module{margin-top:24px;padding:22px;border:1px solid rgba(25,67,125,.2);border-radius:24px;background:#fffdf8}
.pet-care-module h4{margin:.15rem 0 0;font-size:1.45rem;color:var(--blue)}
.feeding-period-grid,.medication-period-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}
.feeding-period-card,.medication-period-card{display:grid;gap:12px;padding:18px;border:1px solid rgba(25,67,125,.25);border-radius:18px;background:#fff}
.feeding-period-card>strong,.medication-period-card>strong{font-size:1.1rem;color:var(--blue);text-align:center}
.feeding-period-card label,.medication-period-card label,.medication-record-header label{display:grid;gap:7px;font-weight:800;color:var(--blue)}
.medication-module{border:2px solid #b92424;background:#fffafa}
.medication-record-stack{display:grid;gap:18px;margin-top:18px}
.medication-record{padding:20px;border:2px solid #b92424;border-radius:22px;background:#fff}
.medication-record-header{display:grid;grid-template-columns:minmax(240px,2fr) minmax(180px,1fr);gap:16px}
.medication-period-card{border-color:rgba(185,36,36,.38);background:#fffafa}
.medicinal-button{background:#b92424!important;border-color:var(--gold)!important;color:#fff!important}
.pet-profile-actions{margin-top:24px}
@media (max-width:900px){.feeding-period-grid,.medication-period-grid{grid-template-columns:1fr}.medication-record-header{grid-template-columns:1fr}}

/* Vaccination & Exams settings */
.health-settings-section{margin-top:22px}
.health-requirement-row{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(420px,2fr) 105px auto;gap:14px;align-items:end;padding:16px 0;border-top:1px solid rgba(25,67,125,.12)}
.health-requirement-row:first-of-type{border-top:0}
.health-requirement-row>label{min-width:0}
.health-required-for{display:flex;flex-wrap:wrap;gap:10px 16px;min-width:0;margin:0;padding:10px 14px;border:1px solid rgba(25,67,125,.22);border-radius:16px;background:#fff}
.health-required-for legend{padding:0 6px;color:var(--blue);font-weight:850}
.health-required-for .check-line{margin:0;min-width:auto}
.health-active{align-self:end;margin:0 0 12px!important}
.health-requirement-list{display:grid}
.health-requirement-row .record-actions{display:flex;flex-wrap:nowrap;gap:8px;align-items:center;margin:0}
@media(max-width:1100px){.health-requirement-row{grid-template-columns:1fr 1fr}.health-active,.health-requirement-row .record-actions{justify-self:start}}
@media(max-width:720px){.health-requirement-row{grid-template-columns:1fr}.health-required-for{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Compact pet vaccination and exam cards */
.pet-health-module{margin-top:24px;padding:20px;border:1px solid rgba(25,67,125,.2);border-radius:24px;background:#fffdf8}
.pet-health-module h4{margin:.15rem 0 0;font-size:1.45rem;color:var(--blue)}
.pet-health-group{margin-top:18px}
.pet-health-group h5{margin:0 0 10px;color:var(--blue);font-size:1.05rem}
.pet-health-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.pet-health-card{display:grid;gap:10px;min-height:120px;padding:14px;border:2px solid rgba(25,67,125,.28);border-radius:16px;background:#f4f5f7;transition:none}
.pet-health-card.is-current{border-color:#2d8a45;background:#e8f6ec}
.pet-health-card.is-soon{border-color:#d49a00;background:#fff4c7}
.pet-health-card.is-expired{border-color:#b92424;background:#fde8e8}
.pet-health-card.is-missing{border-color:#8793a3;background:#f1f3f5}
.pet-health-card__top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.pet-health-card__top strong{color:#172033;font-size:.98rem;line-height:1.25}
.pet-health-status{flex:0 0 auto;padding:4px 8px;border-radius:999px;background:#fff;color:#172033;font-size:.75rem;font-weight:850;border:1px solid currentColor}
.health-date-select{display:grid;grid-template-columns:1fr .8fr 1fr;gap:6px}
.health-date-select select{width:100%;min-width:0;height:40px;padding:6px 7px;border-radius:11px;font-size:.82rem;background:#fff}
.pet-health-module .record-actions{margin-top:16px}

/* Period notes */
.feeding-period-card textarea,.medication-period-card textarea{width:100%;min-height:76px;resize:vertical;border:1px solid rgba(25,67,125,.3);border-radius:14px;padding:.7rem .8rem;background:#fff;color:var(--ink)}
.medication-period-card textarea{border-color:rgba(185,36,36,.35)}

/* Create Booking: search, drawers, and persistent cart */
.booking-workspace-card{padding:2rem}
.booking-workspace-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}
.booking-client-selector{padding:1.15rem;border:1px solid var(--line,#c8d4e2);border-radius:1.25rem;background:rgba(255,255,255,.58);margin-bottom:1.4rem}
.booking-client-search-row{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:.75rem;align-items:end}
.booking-search-field{display:grid;gap:.4rem;font-weight:800;color:#19437d}
.booking-search-field input{width:100%}
.booking-client-results{display:grid;gap:.55rem;margin-top:.8rem}
.booking-search-result{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;width:100%;padding:.8rem 1rem;border:1px solid #c7d3e1;border-radius:1rem;background:#fff;text-align:left;color:#17233a;cursor:pointer}
.booking-search-result:hover,.booking-search-result:focus-visible{box-shadow:0 0 0 4px rgba(241,190,21,.2)}
.booking-search-result strong,.booking-search-result span{display:block}
.booking-search-result small{color:#64718a}
.booking-selected-client{margin-top:1rem;padding:1rem;border:2px solid #f1be15;border-radius:1rem;background:#fff}
.booking-selected-client-header{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.75rem}
.booking-selected-client-header h3{margin:0}
.booking-pet-selector{display:flex;flex-wrap:wrap;gap:.6rem}
.booking-pet-chip{border:2px solid #19437d;background:#fff;color:#19437d;border-radius:999px;padding:.55rem .85rem;font-weight:800;cursor:pointer}
.booking-pet-chip.is-selected{background:#19437d;color:#fff;border-color:#f1be15;box-shadow:0 0 0 3px rgba(241,190,21,.18)}
.booking-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:1.25rem;align-items:start}
.booking-drawers{display:grid;gap:.8rem}
.booking-drawer{border:1px solid #c9d5e2;border-radius:1.15rem;background:#fff;overflow:hidden}
.booking-drawer h3{margin:0}
.booking-drawer-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;border:0;background:#19437d;color:#fff;padding:1rem 1.15rem;font:inherit;font-weight:900;text-align:left;cursor:pointer}
.booking-drawer-toggle:hover,.booking-drawer-toggle:focus-visible{box-shadow:inset 0 0 0 2px #f1be15,0 0 18px rgba(241,190,21,.28)}
.booking-drawer-toggle[aria-expanded="true"] .booking-drawer-chevron{transform:rotate(180deg)}
.booking-drawer-chevron{font-size:1.5rem;line-height:1;transition:transform .16s ease}
.booking-drawer-panel{padding:1rem 1.15rem 1.2rem;background:#fffdf8}
.booking-drawer-panel p{margin-top:0;color:#5f6d86}
.booking-drawer-placeholder{border:1px dashed #9fb2c9;border-radius:.9rem;padding:1rem;color:#637089;background:#fff}
.booking-cart{position:static;top:1rem;border:2px solid #f1be15;border-radius:1.35rem;background:#fff;overflow:hidden;box-shadow:0 12px 30px rgba(25,67,125,.09)}
.booking-cart-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#19437d;color:#fff;padding:1rem 1.15rem}
.booking-cart-header .eyebrow{color:#f1be15}.booking-cart-header h3{margin:.15rem 0 0;color:#fff}
.booking-cart-count{display:grid;place-items:center;min-width:2.25rem;height:2.25rem;border-radius:999px;background:#f1be15;color:#19437d;font-weight:900}
.booking-cart-body{min-height:230px;padding:1rem}
.booking-cart-empty{display:grid;gap:.35rem;text-align:center;color:#66748b;padding:2.25rem .5rem}
.booking-cart-client{padding:.8rem;border:1px solid #d5dee9;border-radius:.9rem;background:#f8fafc;margin-bottom:.8rem}
.booking-cart-client strong,.booking-cart-client span{display:block}.booking-cart-client span{color:#65728a;font-size:.92rem;margin-top:.2rem}
.booking-cart-daycare-notice{display:flex;align-items:flex-start;gap:.45rem;margin:0 0 .8rem;padding:.72rem .85rem;border:1px solid #e4c56a;border-radius:.8rem;background:#fff8df;color:#5f4a12;font-size:.86rem;line-height:1.4}
.booking-cart-daycare-notice strong{flex:0 0 auto;color:#4f3b05}.booking-cart-daycare-notice span{display:block}
.booking-cart-pets{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.65rem}.booking-cart-pets span{border:1px solid #19437d;border-radius:999px;padding:.25rem .55rem;color:#19437d;font-weight:800;font-size:.82rem}
.booking-cart-footer{border-top:1px solid #d8e0ea;padding:1rem}.booking-cart-total{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.booking-cart-total strong{font-size:1.2rem;color:#19437d}.booking-cart-submit{width:100%}
@media(max-width:960px){.booking-layout{grid-template-columns:1fr}.booking-cart{position:static}.booking-client-search-row{grid-template-columns:1fr auto}.booking-client-search-row [data-action="booking-clear-client"]{grid-column:1/-1;justify-self:start}}
@media(max-width:620px){.booking-workspace-card{padding:1rem}.booking-client-search-row{grid-template-columns:1fr}.booking-client-search-row .pill-button{width:100%}.booking-selected-client-header{align-items:flex-start;flex-direction:column}}

/* Create Booking — Daycare calendar modal and capacity assignment */
.daycare-drawer-workspace{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(0,1.35fr);gap:.85rem;align-items:start}
.daycare-step-card{border:1px solid #d3dce7;border-radius:1rem;background:#fff;padding:1rem;min-width:0}
.daycare-step-card h4{margin:.2rem 0 .45rem;color:#17365f}.daycare-step-card p{font-size:.86rem;margin:.25rem 0 .75rem}
.daycare-selected-dates{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.75rem}.daycare-selected-dates span{border:1px solid #c9d5e2;border-radius:999px;padding:.3rem .58rem;background:#fffdf8;font-size:.8rem}
.daycare-pet-list,.daycare-enclosure-list{display:grid;gap:.55rem}.daycare-pet-card{display:grid;grid-template-columns:2.35rem 1fr auto;align-items:center;gap:.65rem;width:100%;border:1px solid #c9d5e2;border-radius:.85rem;background:#fff;padding:.65rem;text-align:left;color:#17365f;cursor:pointer}.daycare-pet-card.is-selected{border-color:#2d8a61;box-shadow:inset 0 0 0 1px #2d8a61;background:#f2fbf6}.daycare-pet-card small,.daycare-pet-enclosure small{display:block;color:#667085}.daycare-pet-avatar{display:grid;place-items:center;width:2.35rem;height:2.35rem;border-radius:50%;background:#f1be15;color:#17365f;font-weight:900}.daycare-pet-card i{font-style:normal;color:#2d8a61;font-weight:900}
.daycare-pet-enclosure{border-bottom:1px solid #e3e8ef;padding-bottom:.65rem}.daycare-pet-enclosure:last-child{border-bottom:0}.daycare-enclosure-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.45rem;margin-top:.45rem}.daycare-enclosure-option{border:1px solid #c9d5e2;border-radius:.75rem;background:#fff;padding:.55rem;text-align:left;color:#17365f}.daycare-enclosure-option.is-selected{border-color:#2d8a61;box-shadow:inset 0 0 0 1px #2d8a61;background:#f2fbf6}.daycare-enclosure-option.is-full{opacity:.42}
.daycare-estimate-bar{grid-column:1/-1;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:1rem;border:1px solid #b8cee7;border-radius:1rem;background:#edf5ff;padding:.8rem 1rem}.daycare-estimate-bar span,.daycare-estimate-bar small{display:block}.daycare-estimate-bar strong{font-size:1.35rem;color:#17365f}
.bbh-modal[hidden]{display:none}.bbh-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:1rem}.bbh-modal-backdrop{position:absolute;inset:0;background:rgba(9,25,48,.62)}.bbh-modal-dialog{position:relative;width:min(760px,96vw);max-height:94vh;overflow:auto;border-radius:1.25rem;background:#fffdf8;border:1px solid #d7dce3;box-shadow:0 22px 70px rgba(5,20,42,.28)}
.daycare-calendar-titlebar{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.15rem;border-bottom:1px solid #dce3eb}.daycare-calendar-titlebar h2{margin:.15rem 0 0;color:#17365f}.modal-close-button{border:0;background:transparent;font-size:2rem;color:#17365f;cursor:pointer}
.daycare-calendar-toolbar{display:grid;grid-template-columns:auto 1fr 1fr auto auto;gap:.55rem;align-items:center;padding:.85rem 1rem;background:#0d3264}.daycare-calendar-toolbar select{width:100%;border:0;border-radius:.7rem;padding:.55rem .65rem;background:#fff;color:#17365f;font-weight:800}
.daycare-calendar-weekdays,.daycare-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.daycare-calendar-weekdays span{text-align:center;padding:.6rem .2rem;font-size:.78rem;font-weight:900;color:#17365f;border-bottom:1px solid #e0e5eb}.daycare-calendar-day{min-height:72px;border:0;border-right:1px solid #e3e7ec;border-bottom:1px solid #e3e7ec;background:#fff;color:#17365f;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.18rem;cursor:pointer}.daycare-calendar-day strong{font-size:1rem}.daycare-calendar-day small{font-size:.72rem;color:#16864e;font-weight:800}.daycare-calendar-day.is-outside{opacity:.42}.daycare-calendar-day.is-unavailable{background:#f4f4f2;color:#999;cursor:not-allowed}.daycare-calendar-day.is-unavailable small{color:#999}.daycare-calendar-day.is-selected{background:#0d3264;color:#fff}.daycare-calendar-day.is-selected small{color:#fff}.daycare-calendar-day.is-today{box-shadow:inset 0 0 0 3px #f1be15}
.daycare-calendar-legend{display:flex;flex-wrap:wrap;gap:1rem;padding:.75rem 1rem;font-size:.78rem}.daycare-calendar-legend span{display:flex;align-items:center;gap:.35rem}.legend-dot{width:.8rem;height:.8rem;border-radius:50%;background:#0d3264}.legend-dot.today{background:#fff;border:2px solid #f1be15}.legend-dot.surge{background:#efb4b4}.legend-dot.unavailable{background:#ddd;border-radius:.2rem}.daycare-calendar-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;border-top:1px solid #dce3eb;background:#fff}.daycare-calendar-footer small{display:block;color:#667085;margin-top:.2rem}
.booking-cart-items{display:grid;gap:.65rem;margin-top:.8rem}.booking-cart-item{display:grid;grid-template-columns:1fr auto auto;gap:.65rem;align-items:center;border:1px solid #d4dde8;border-radius:.8rem;padding:.7rem;background:#fff}.booking-cart-item span{display:block;color:#667085;font-size:.8rem}.booking-cart-remove{border:0;background:transparent;color:#a22;font-size:1.3rem;cursor:pointer}
@media(max-width:1050px){.daycare-drawer-workspace{grid-template-columns:1fr 1fr}.daycare-enclosure-card{grid-column:1/-1}}
@media(max-width:720px){.daycare-drawer-workspace{grid-template-columns:1fr}.daycare-enclosure-card{grid-column:auto}.daycare-estimate-bar{grid-template-columns:1fr auto}.daycare-estimate-bar .pill-button{grid-column:1/-1}.daycare-calendar-toolbar{grid-template-columns:auto 1fr 1fr auto}.daycare-calendar-toolbar [data-action="daycare-today"]{display:none}.daycare-calendar-day{min-height:58px}.daycare-calendar-day small{font-size:.62rem}}

/* Create Booking: per-day daycare capacity assignment */
.daycare-step-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.daycare-step-heading h4{margin-bottom:0}.daycare-assignment-guides{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0}.daycare-date-guide{border:2px solid transparent;border-radius:999px;padding:8px 13px;display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;cursor:pointer;font:inherit;min-width:92px}.daycare-date-guide strong{font-size:.9rem}.daycare-date-guide small{font-size:.72rem}.daycare-date-guide.is-complete{background:#d9efe2;color:#174b31;border-color:#4b9469}.daycare-date-guide.is-incomplete{background:#f8dddd;color:#7d1d1d;border-color:#c95454}.daycare-date-guide.is-active{box-shadow:0 0 0 3px rgba(241,190,21,.45)}.daycare-assignment-date-title{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0 14px;border-bottom:1px solid rgba(25,67,125,.18);margin-bottom:12px}.daycare-assignment-date-title span{font-size:.82rem;color:#536271}.daycare-pet-card em{display:block;font-size:.72rem;font-style:normal;color:#596875;margin-top:3px}.daycare-enclosure-option.is-full{opacity:.48}.daycare-enclosure-option.is-selected{background:#19437d;color:#fff;border-color:#f1be15}.daycare-enclosure-option.is-selected small{color:#fff}.daycare-enclosure-list{min-height:96px}
@media(max-width:720px){.daycare-step-heading,.daycare-assignment-date-title{align-items:stretch;flex-direction:column}.daycare-date-guide{min-width:calc(50% - 5px)}}
.bookings-shell{overflow:hidden}.bookings-heading{align-items:center}.bookings-count-pill{border:1px solid rgba(25,67,125,.22);border-radius:999px;padding:.55rem .9rem;color:var(--blue);font-weight:850;background:rgba(25,67,125,.045)}.bookings-table-wrap{overflow-x:auto;margin-top:1.2rem}.bookings-table{width:100%;min-width:1120px;border-collapse:separate;border-spacing:0 .65rem}.bookings-table th{text-align:left;padding:.25rem .7rem;color:var(--blue);font-size:.76rem;text-transform:uppercase;letter-spacing:.065em}.bookings-table td{padding:.82rem .7rem;background:rgba(255,255,255,.78);border-top:1px solid rgba(25,67,125,.13);border-bottom:1px solid rgba(25,67,125,.13);vertical-align:middle}.bookings-table td:first-child{border-left:1px solid rgba(25,67,125,.13);border-radius:16px 0 0 16px}.bookings-table td:last-child{border-right:1px solid rgba(25,67,125,.13);border-radius:0 16px 16px 0}.booking-status{display:inline-flex;align-items:center;justify-content:center;min-width:82px;border-radius:999px;padding:.38rem .72rem;font-weight:850;font-size:.82rem}.booking-status--paid{background:#dff5e8;color:#16643a}.booking-status--booked{background:#fff1b8;color:#735400}.booking-status--unpaid{background:#ffe0dc;color:#9c2d22}.booking-status--cancelled{background:#eceff3;color:#596273}.invoice-dialog{width:min(720px,calc(100vw - 2rem));border:0;border-radius:24px;padding:0;background:var(--off-white);color:var(--ink);box-shadow:0 24px 70px rgba(17,35,62,.28)}.invoice-dialog::backdrop{background:rgba(14,27,46,.52)}.invoice-dialog__inner{padding:1.35rem}.invoice-dialog__head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;border-bottom:1px solid rgba(25,67,125,.15);padding-bottom:1rem}.invoice-dialog__items{display:grid;gap:.65rem;margin:1rem 0}.invoice-dialog__item{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:.8rem;border:1px solid rgba(25,67,125,.13);border-radius:14px;background:#fff}.invoice-dialog__item small{display:block;color:var(--muted);margin-top:.2rem}.invoice-dialog__total{display:flex;justify-content:space-between;align-items:center;font-size:1.1rem;font-weight:900;border-top:2px solid var(--gold);padding-top:1rem}.invoice-dialog__close{border:0;background:transparent;color:var(--blue);font-size:1.5rem;cursor:pointer}

.booking-row-actions{display:flex;flex-wrap:wrap;gap:8px}.pill-button--danger{background:#8f2525;border-color:#f1be15}.invoice-page{max-width:1200px;margin:0 auto}.invoice-page__header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding-bottom:24px;border-bottom:2px solid #f1be15}.invoice-page__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.invoice-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}.invoice-meta-grid>div{display:flex;flex-direction:column;gap:5px;padding:18px;border:1px solid #ced9e8;border-radius:18px;background:#fff}.invoice-meta-grid span{font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#50617e}.invoice-meta-grid small,.invoice-line small{display:block;color:#5d6c86;margin-top:4px}.invoice-line-table{border:1px solid #ced9e8;border-radius:18px;overflow:hidden;background:#fff}.invoice-line{display:grid;grid-template-columns:2fr 1fr 1.5fr .55fr .8fr .9fr;gap:14px;align-items:center;padding:16px 18px;border-top:1px solid #e3e9f1}.invoice-line:first-child{border-top:0}.invoice-line--head{background:#19437d;color:#fff;font-size:.76rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.invoice-totals{width:min(420px,100%);margin:24px 0 0 auto}.invoice-totals>div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #d8e0ea}.invoice-total-due{font-size:1.25rem;color:#19437d}.receipt-only{display:none}.print-receipt-mode .invoice-page>:not(.receipt-only){display:none!important}.print-receipt-mode .receipt-only{display:block!important}
@media(max-width:900px){.invoice-page__header{flex-direction:column}.invoice-page__actions{justify-content:flex-start}.invoice-meta-grid{grid-template-columns:1fr}.invoice-line--head{display:none}.invoice-line{grid-template-columns:1fr 1fr}.invoice-line>span:nth-child(3){grid-column:1/-1}.booking-row-actions{min-width:210px}}
@media print{body{background:#fff!important}.site-header,.workspace-actions,.no-print,#toast-region{display:none!important}#workspace,.workspace,.module-card{margin:0!important;padding:0!important;max-width:none!important;box-shadow:none!important;border:0!important;background:#fff!important}.invoice-page{font-size:11pt}.invoice-line-table{break-inside:avoid}.invoice-line{grid-template-columns:2fr 1fr 1.4fr .45fr .75fr .8fr}.print-receipt-mode{width:80mm!important;margin:0!important}.print-receipt-mode #workspace{width:80mm!important}.print-receipt-mode .receipt-only{display:block!important;width:72mm;margin:0 auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10pt}.receipt-only{text-align:center}.receipt-line{display:flex;justify-content:space-between;gap:10px;text-align:left;padding:6px 0;border-bottom:1px dashed #777}.receipt-total{font-size:12pt;font-weight:800;border-top:2px solid #000;margin-top:10px}}

/* BBH 26: service time steps and prime add-on upsell cards */
.daycare-drawer-workspace,.boarding-drawer-workspace{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;align-items:start}
.boarding-drawer-workspace{grid-template-columns:repeat(4,minmax(0,1fr))}
.booking-time-card{min-width:0}
.booking-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:.7rem}
.booking-time-grid label{display:grid;gap:.35rem;color:#17365f;font-weight:800;font-size:.82rem}
.booking-time-grid select{width:100%;min-width:0;border:1px solid #b8c8db;border-radius:.75rem;background:#fff;padding:.68rem .75rem;color:#17365f;font:inherit;font-weight:800}
.booking-time-card>small{display:block;margin-top:.55rem;color:#6a7890}
.booking-addon-upsell{grid-column:1/-1;border:1px solid #e3b400;border-radius:1rem;background:#fff9df;padding:1rem}
.booking-addon-upsell__heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.booking-addon-upsell__heading h4{margin:.15rem 0 .25rem;color:#17365f}
.booking-addon-upsell__heading p{margin:0;color:#637089}
.booking-addon-count{white-space:nowrap;border:1px solid #e3b400;border-radius:999px;background:#fff;padding:.35rem .7rem;color:#17365f;font-weight:900;font-size:.78rem}
.booking-addon-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-top:.85rem}
.booking-addon-option{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;border:1px solid #d6cfaa;border-radius:.85rem;background:#fff;padding:.75rem;cursor:pointer}
.booking-addon-option:has(input:checked){border-color:#2f9368;background:#effaf5;box-shadow:inset 0 0 0 1px #2f9368}
.booking-addon-option input{width:1.05rem;height:1.05rem}
.booking-addon-option span{display:grid;gap:.15rem;min-width:0}.booking-addon-option strong{color:#17365f}.booking-addon-option small{color:#68758b}.booking-addon-option b{color:#17365f}
.booking-addon-empty{grid-column:1/-1;color:#6a7890}
@media(max-width:1150px){.daycare-drawer-workspace,.boarding-drawer-workspace{grid-template-columns:1fr 1fr}.daycare-enclosure-card{grid-column:1/-1}.booking-addon-options{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.daycare-drawer-workspace,.boarding-drawer-workspace{grid-template-columns:1fr}.daycare-enclosure-card{grid-column:auto}.booking-time-grid,.booking-addon-options{grid-template-columns:1fr}.booking-addon-upsell__heading{display:grid}.booking-addon-count{justify-self:start}}

/* BBH 28 Create Booking refinements */
.pill-button--micro{padding:.42rem .68rem!important;font-size:.74rem!important;line-height:1.05;min-height:0;white-space:nowrap}
.enclosure-scroll,.daycare-enclosure-list{max-height:25rem;overflow-y:auto;overscroll-behavior:contain;padding-right:.35rem;scrollbar-gutter:stable}
.booking-addon-options--tiered{display:flex;flex-wrap:wrap;align-items:stretch}
.booking-addon-option.is-regular{flex:0 1 15rem;min-height:4.5rem;padding:.6rem .7rem}
.booking-addon-option.is-medication{order:10;flex:1 1 18rem;border-color:#b42318;background:#fff1f0;color:#7a271a}
.booking-addon-option.is-medication strong,.booking-addon-option.is-medication b,.booking-addon-option.is-medication small{color:#8f1d18}
.booking-addon-option.is-medication:has(input:checked){border-color:#b42318;background:#fee4e2;box-shadow:inset 0 0 0 2px #b42318}
.boarding-calendar-day.is-past:not(.is-selected){background:#f4f4f2;color:#999;cursor:pointer}.boarding-calendar-day.is-past:not(.is-selected) small{color:#999}
.boarding-calendar-day.is-selected{background:#e8f0fb;border-color:#19437d;color:#17365f}
.boarding-calendar-day.is-dropoff{background:#19437d;color:#fff;border-color:#f1be15;border-radius:1rem 0 0 1rem}
.boarding-calendar-day.is-pickup{background:#19437d;color:#fff;border-color:#f1be15;border-radius:0 1rem 1rem 0}
.boarding-calendar-day.is-dropoff small,.boarding-calendar-day.is-pickup small{color:#fff}
.boarding-calendar-dialog .daycare-calendar-day small{font-size:.7rem;line-height:1.1}
@media(max-width:1150px){.booking-addon-option.is-regular{flex-basis:12rem}.enclosure-scroll,.daycare-enclosure-list{max-height:20rem}}

/* BBH 30 Create Booking layout refinements */
.auto-select-button{flex:0 0 auto!important;max-width:6.1rem;padding:.36rem .58rem!important;font-size:.68rem!important;line-height:1!important;white-space:nowrap!important}
.daycare-step-heading{align-items:flex-start}.daycare-step-heading>div{min-width:0;flex:1 1 auto}
.booking-time-grid{grid-template-columns:1fr;gap:.55rem}
.booking-time-grid label{max-width:100%}
.booking-addon-row{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.75rem;align-items:stretch}
.booking-addon-row--standard .booking-addon-option{flex:0 1 13.5rem;min-height:3.85rem;padding:.5rem .6rem}
.booking-addon-row--medication{margin-top:.55rem}
.booking-addon-row--medication .booking-addon-option{flex:1 1 16rem;min-height:3.85rem;padding:.5rem .6rem}
.booking-addon-option{grid-template-columns:auto minmax(0,1fr) auto;gap:.5rem;border-radius:.75rem}
.booking-addon-option strong{font-size:.84rem;line-height:1.15}.booking-addon-option small{font-size:.7rem;line-height:1.15}.booking-addon-option b{font-size:.82rem;white-space:nowrap}
.boarding-calendar-dialog .daycare-calendar-day{min-height:62px}
.boarding-calendar-dialog .daycare-calendar-weekdays span{padding:.42rem .2rem}
.boarding-calendar-dialog .daycare-calendar-footer{padding:.72rem .9rem}
.boarding-calendar-dialog .daycare-calendar-legend{padding:.55rem .85rem}
.boarding-calendar-dialog{max-height:calc(100vh - 2rem);overflow:hidden}
@media(max-width:1150px){.booking-addon-row--standard .booking-addon-option{flex-basis:11.5rem}}
@media(max-width:720px){.auto-select-button{max-width:none}.boarding-calendar-dialog{max-height:calc(100vh - 1rem);overflow-y:auto}.boarding-calendar-dialog .daycare-calendar-day{min-height:54px}.booking-addon-row--standard .booking-addon-option,.booking-addon-row--medication .booking-addon-option{flex:1 1 100%}}


/* BBH 32 scheduled add-ons and detailed booking cart */
.booking-addon-schedule{margin-top:.85rem;border-top:1px solid #e3b400;padding-top:.85rem;display:grid;gap:.7rem}
.addon-schedule-heading p{margin:.15rem 0 0;color:#637089;font-size:.78rem}
.addon-schedule-item{border:1px solid #cbd7e5;border-radius:.85rem;background:#fff;padding:.7rem;display:grid;gap:.6rem}
.addon-schedule-item.is-medication{border-color:#b42318;background:#fff5f4}
.addon-schedule-title{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.addon-schedule-title strong{color:#17365f}.addon-schedule-title small{display:block;color:#667085;font-size:.72rem}.addon-schedule-title b{color:#17365f;white-space:nowrap}
.addon-schedule-item.is-medication .addon-schedule-title strong,.addon-schedule-item.is-medication .addon-schedule-title b{color:#9b2018}
.addon-schedule-controls,.addon-schedule-group{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.addon-schedule-controls>span,.addon-schedule-group>span{font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#52637c;min-width:3.5rem}.addon-schedule-group>div{display:flex;gap:.35rem;flex-wrap:wrap}
.schedule-mode,.schedule-chip{border:1px solid #aebed2;border-radius:999px;background:#fff;color:#17365f;padding:.3rem .55rem;font-size:.72rem;font-weight:800;cursor:pointer}.schedule-mode.is-active,.schedule-chip.is-selected{background:#19437d;color:#fff;border-color:#19437d}.addon-schedule-item.is-medication .schedule-mode.is-active,.addon-schedule-item.is-medication .schedule-chip.is-selected{background:#b42318;border-color:#b42318}.schedule-chip:disabled{cursor:default;opacity:.75}
.booking-cart-item--detailed{display:block;padding:0;overflow:hidden}.booking-cart-item--detailed>header{display:grid;grid-template-columns:1fr auto auto;gap:.55rem;align-items:center;padding:.65rem;border-bottom:1px solid #d4dde8;background:#f8fbff}.booking-cart-item--detailed>header span{display:block;color:#667085;font-size:.72rem}
.booking-cart-pet-detail{padding:.65rem;border-bottom:1px solid #e5eaf0}.booking-cart-pet-detail:last-child{border-bottom:0}.booking-cart-pet-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.booking-cart-pet-title strong,.booking-cart-pet-title b{color:#17365f}.booking-cart-pet-detail dl{display:grid;gap:.25rem;margin:0}.booking-cart-pet-detail dl>div{display:grid;grid-template-columns:4.3rem 1fr;gap:.4rem;font-size:.72rem}.booking-cart-pet-detail dt{color:#667085}.booking-cart-pet-detail dd{margin:0;color:#233a59;font-weight:700}.booking-cart-pet-addons{margin-top:.5rem;border-top:1px dashed #cfd8e4;padding-top:.45rem}.booking-cart-pet-addons>span{font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#52637c}.booking-cart-pet-addons>div{display:grid;grid-template-columns:1fr auto;column-gap:.4rem;margin-top:.3rem}.booking-cart-pet-addons small{grid-column:1;color:#667085;font-size:.68rem}.booking-cart-pet-addons b{grid-column:2;grid-row:1/3;color:#17365f;font-size:.72rem}.booking-cart-no-addons{margin-top:.45rem;color:#78869a;font-size:.7rem;font-style:italic}
@media(max-width:720px){.addon-schedule-controls,.addon-schedule-group{align-items:flex-start;display:grid}.addon-schedule-controls>span,.addon-schedule-group>span{min-width:0}.booking-cart-pet-detail dl>div{grid-template-columns:1fr}.booking-cart-pet-detail dt{font-size:.65rem}}
.template-variable-list{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.template-variable-list code{background:#eef3f8;border:1px solid #c9d5e2;border-radius:999px;padding:6px 10px;color:#19437d}.template-settings-stack{display:grid;gap:18px}.message-template-form h3{margin:4px 0}.message-channel-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.message-channel-grid fieldset{border:1px solid #cbd6e2;border-radius:22px;padding:18px}.message-channel-grid legend{font-weight:800;color:#19437d;padding:0 8px}.message-channel-grid label,.template-reminder-offset{display:block;font-weight:700;color:#19437d;margin-top:12px}.message-channel-grid input,.message-channel-grid textarea,.template-reminder-offset select{width:100%;margin-top:7px}.switch-label{display:flex!important;align-items:center;gap:9px}.switch-label input{width:auto!important;margin:0!important}@media(max-width:850px){.message-channel-grid{grid-template-columns:1fr}}

/* BBH 38 high-density operational roster */
.roster-shell{display:grid;gap:1rem}.roster-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.roster-metric{min-height:7.4rem;padding:1rem 1.1rem}.roster-metric>span{display:block;color:#19437d;font-size:.8rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.roster-metric>strong{display:block;margin-top:.45rem;color:#17365f;font-size:2rem}.roster-metric>small{color:#6b7890;font-size:.75rem}.daycare-metric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.4rem;margin-top:.55rem}.daycare-metric-grid>div{border:1px solid #d3deea;border-radius:.75rem;background:#f8fbff;padding:.45rem .25rem;color:#17365f;text-align:center}.daycare-metric-grid strong{display:block;font-size:1.35rem}.daycare-metric-grid small{display:block;font-size:.65rem;color:#66758b}.boarding-metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;margin-top:.55rem}.boarding-metric-grid button{border:1px solid #d3deea;border-radius:.75rem;background:#f8fbff;padding:.45rem .25rem;color:#17365f;cursor:pointer}.boarding-metric-grid strong{display:block;font-size:1.35rem}.boarding-metric-grid small{display:block;font-size:.65rem;color:#66758b}.roster-panel{padding:0;overflow:hidden}.roster-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.15rem;border-bottom:1px solid #d7e0e9}.roster-toolbar h2{margin:.1rem 0}.roster-toolbar p{margin:0;color:#66758b;font-size:.8rem}.roster-date-controls{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.roster-date-controls input{border:1px solid #b9c8d9;border-radius:999px;background:#fff;padding:.42rem .75rem;color:#17365f;font-weight:800}.roster-filter-row{display:flex;align-items:center;gap:.4rem;padding:.65rem 1rem;border-bottom:1px solid #e2e8ef;background:#f8fafc;flex-wrap:wrap}.roster-filter{border:1px solid #bdcad9;border-radius:999px;background:#fff;color:#17365f;padding:.34rem .65rem;font-size:.72rem;font-weight:800}.roster-filter.is-active{background:#19437d;color:#fff;border-color:#19437d}.roster-filter-row input{margin-left:auto;min-width:18rem;border:1px solid #bdcad9;border-radius:999px;padding:.45rem .8rem;font-size:.78rem}.roster-table-wrap{max-height:62vh;overflow:auto}.roster-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.76rem}.roster-table thead th{position:sticky;top:0;z-index:2;background:#19437d;color:#fff;text-align:left;padding:.62rem .7rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.roster-table tbody td{padding:.56rem .7rem;border-bottom:1px solid #e2e8ef;vertical-align:middle;color:#2b405c}.roster-table tbody tr:hover{background:#f7faff}.roster-table td strong{display:block;color:#17365f;font-size:.8rem}.roster-table td small{display:block;color:#718096;font-size:.68rem;margin-top:.12rem}.roster-service,.roster-status,.roster-alert,.roster-addon{display:inline-flex;align-items:center;border-radius:999px;padding:.24rem .48rem;font-size:.64rem;font-weight:900;white-space:nowrap}.roster-service{background:#eaf1fb;color:#19437d}.roster-status{background:#edf4ef;color:#286248}.roster-status--booked{background:#fff5c7;color:#735c00}.roster-status--checked_out{background:#eef0f3;color:#46556b}.roster-alert{margin-left:.25rem;background:#b42318;color:#fff}.roster-addon{margin-left:.25rem;background:#fff2c2;color:#6d5700}.roster-actions{display:flex;gap:.32rem;align-items:center;white-space:nowrap}.roster-locked{font-size:.68rem;color:#778397;font-weight:800}.roster-empty{text-align:center!important;padding:2rem!important;color:#6b7890!important}.pill-button--secondary{background:#fff!important;color:#19437d!important}.roster-table th:nth-child(1){min-width:18rem}.roster-table th:nth-child(3){min-width:12rem}.roster-table th:nth-child(6){min-width:12rem}
@media(max-width:1050px){.roster-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.roster-toolbar{align-items:flex-start;flex-direction:column}.roster-filter-row input{margin-left:0;min-width:14rem}.roster-table-wrap{overflow:auto}.roster-table{min-width:980px}}
@media(max-width:620px){.roster-metrics{grid-template-columns:1fr}.roster-date-controls{display:grid;grid-template-columns:1fr 1fr}.roster-date-controls input{grid-column:1/-1}.roster-filter-row input{width:100%;min-width:0}}

/* Roster profile-alert and quirk refinements */
.roster-pet-line{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;margin:.05rem 0}.roster-pet-line>strong{display:inline!important;margin:0}.roster-pet-pills{display:inline-flex;align-items:center;gap:.22rem;flex-wrap:wrap}.roster-quirk{display:inline-flex;align-items:center;border:1px solid var(--quirk-color,#b8c5d5);border-radius:999px;background:#fff;padding:.12rem .38rem;color:#334860;font-size:.58rem;font-weight:850;line-height:1.15;white-space:nowrap}.roster-pet-medication{display:inline-flex;align-items:center;border-radius:999px;background:#a91f18;color:#fff;padding:.13rem .4rem;font-size:.57rem;font-weight:900;white-space:nowrap}.roster-payment-summary{margin-top:.25rem!important;font-weight:800;color:#596b82!important}.roster-row--medication td{background:#fff0ef;border-top:1px solid #d9433a;border-bottom:1px solid #d9433a}.roster-row--medication td:first-child{border-left:4px solid #b42318}.roster-row--medication:hover td{background:#ffe7e5}.roster-row--medication .roster-service,.roster-row--medication .roster-status{box-shadow:0 0 0 1px rgba(180,35,24,.14)}

/* BBH 42 pet-entry and service-pet refinements */
.date-select-group{grid-template-columns:minmax(130px,1.45fr) minmax(64px,.55fr) minmax(78px,.65fr);max-width:100%}
.date-select-group select[data-date-part="day"]{width:100%;min-width:64px}
.date-select-group select[data-date-part="year"]{width:100%;min-width:78px}
.new-pet-care-fields{grid-column:1/-1;display:grid;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #d5dee8}
.new-pet-care-fields .section-heading-row{margin-top:.25rem}
.new-pet-care-fields .quirk-selection-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.daycare-pet-list:empty:after{content:'Select booking pets above first.'}
@media(max-width:760px){.date-select-group{grid-template-columns:minmax(0,1.6fr) minmax(58px,.55fr) minmax(72px,.7fr)}}

/* Pet-by-pet service configuration */
.pet-config-card.is-incomplete{border-color:#b42318;background:#fff1f0;box-shadow:inset 0 0 0 1px rgba(180,35,24,.18)}
.pet-config-card.is-incomplete i{color:#b42318}
.pet-config-card.is-complete{border-color:#2d8a61;background:#f2fbf6;box-shadow:inset 0 0 0 1px #2d8a61}
.pet-config-card.is-complete i{color:#2d8a61}
.pet-config-card.is-active{outline:3px solid rgba(241,190,21,.55);outline-offset:2px}
.pet-config-card em{font-weight:700}
.pet-config-card.is-incomplete em{color:#9b2018}
.pet-config-card.is-complete em{color:#256947}

/* BBH 44 roster pet grouping, persistent booking errors, and edit controls */
.roster-family-pets{display:grid;gap:.28rem}.roster-pet-card{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;width:fit-content;max-width:100%;padding:.3rem .48rem;border:1px solid #ccd8e5;border-radius:.58rem;background:#fff;color:#17365f}.roster-pet-card>strong{display:inline!important;margin:0;font-size:.76rem!important}.roster-pet-card--medication{border-color:#d9433a;background:#fff0ef;box-shadow:inset 3px 0 0 #b42318}.roster-pet-card--medication>strong{color:#8f1f1a!important}.roster-table tbody tr:hover .roster-pet-card{background:#fff}.roster-table tbody tr:hover .roster-pet-card--medication{background:#ffe7e5}.roster-actions .pill-button--micro{padding:.36rem .58rem;font-size:.66rem}.booking-submit-error{position:relative;margin:0 0 .75rem;padding:.72rem 2.25rem .72rem .8rem;border:1px solid #c92a22;border-radius:.75rem;background:#fff0ef;color:#8f1f1a;display:grid;gap:.16rem;font-size:.75rem}.booking-submit-error strong{font-size:.78rem}.booking-submit-error__close{position:absolute;right:.55rem;top:.42rem;border:0;background:transparent;color:#8f1f1a;font-size:1.15rem;font-weight:900;cursor:pointer}.booking-cart-submit:disabled{cursor:not-allowed}


/* BBH 47 compact grooming configuration and weekly groomer scheduler */
.grooming-compact-section .management-list{gap:.65rem}
.groom-service-row,.groom-price-row{display:grid;align-items:end;gap:.6rem;margin-top:.75rem}
.groom-service-row{grid-template-columns:minmax(180px,1.35fr) 125px 74px 74px minmax(125px,.75fr) 82px minmax(112px,auto)}
.groom-price-row{grid-template-columns:minmax(155px,1.15fr) minmax(115px,.8fr) 76px 76px 88px 92px 82px minmax(112px,auto)}
.groom-service-row--record,.groom-price-row--record{padding:.7rem .8rem;border-radius:16px}
.groom-service-row input,.groom-service-row select,.groom-price-row input,.groom-price-row select{min-height:40px;height:40px;padding:.45rem .6rem}
.color-field--compact input[type="color"]{padding:4px;min-width:58px}
.groom-preview-field{min-width:0}.groom-color-preview{min-height:40px;height:40px;padding:.35rem .65rem}
.groom-service-row>.check-line,.groom-price-row>.check-line{min-height:40px!important;height:40px;width:82px!important;max-width:82px!important;padding:.35rem .45rem}
.groom-service-row .record-actions,.groom-price-row .record-actions{display:flex;gap:.4rem;white-space:nowrap}
.groom-service-row .record-actions .pill-button,.groom-price-row .record-actions .pill-button{padding:.52rem .72rem;min-width:0}

.groom-staff-row{display:grid;grid-template-columns:minmax(410px,.85fr) minmax(620px,1.4fr);gap:1rem;align-items:start;margin-top:1rem;padding:1rem;border:1px solid rgba(25,67,125,.18);border-radius:20px;background:rgba(255,253,248,.78)}
.groom-staff-fields{display:grid;grid-template-columns:minmax(150px,1fr) 104px 78px 82px minmax(110px,auto);gap:.55rem;align-items:end}
.groom-staff-fields>label{display:grid;gap:.35rem;color:var(--blue);font-weight:800;min-width:0}
.groom-staff-fields input{min-height:40px;height:40px;padding:.45rem .6rem}
.groom-staff-fields>.check-line{min-height:40px!important;height:40px;width:82px!important;max-width:82px!important;padding:.35rem .45rem}
.groom-staff-fields .record-actions{display:flex;gap:.4rem}.groom-staff-fields .record-actions .pill-button{padding:.52rem .72rem;min-width:0}
.groom-weekly-scheduler{min-width:0;border-left:1px solid rgba(25,67,125,.16);padding-left:1rem}
.groom-scheduler-title{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.4rem;color:var(--blue)}
.groom-scheduler-title span{font-size:.75rem;color:var(--muted);font-weight:650}
.groom-schedule-days{display:grid;gap:.28rem}
.groom-schedule-day{display:grid;grid-template-columns:34px 54px minmax(108px,1fr) 20px minmax(108px,1fr) 58px;gap:.35rem;align-items:center;font-size:.78rem}
.groom-schedule-day>b{color:var(--blue)}
.groom-schedule-day select{min-height:32px;height:32px;padding:.25rem .35rem;font-size:.76rem}
.groom-day-toggle{display:flex;align-items:center;gap:.25rem;font-weight:750;color:var(--blue)}
.groom-day-toggle input{width:16px!important;height:16px!important;min-height:16px!important}
.groom-time-to{text-align:center;color:var(--muted)}
.groom-copy-source{border:1px solid rgba(25,67,125,.28);border-radius:999px;background:#fff;color:var(--blue);padding:.28rem .5rem;font:inherit;font-weight:800;cursor:pointer}
.groom-copy-panel{margin-top:.55rem;padding:.55rem .65rem;border-radius:14px;background:rgba(25,67,125,.06);font-size:.78rem}
.groom-copy-days{display:flex;gap:.5rem;flex-wrap:wrap;margin:.4rem 0}.groom-copy-days label{display:flex;gap:.22rem;align-items:center}.groom-copy-days input{width:15px!important;height:15px!important;min-height:15px!important}
@media(max-width:1500px){.groom-staff-row{grid-template-columns:1fr}.groom-weekly-scheduler{border-left:0;border-top:1px solid rgba(25,67,125,.16);padding:1rem 0 0}.groom-service-row,.groom-price-row{overflow-x:auto}}
@media(max-width:980px){.groom-service-row,.groom-price-row{grid-template-columns:1fr 1fr}.groom-staff-fields{grid-template-columns:1fr 1fr}.groom-schedule-day{grid-template-columns:34px 54px 1fr 20px 1fr 58px}}
@media(max-width:680px){.groom-service-row,.groom-price-row,.groom-staff-fields{grid-template-columns:1fr}.groom-schedule-day{grid-template-columns:32px 48px 1fr 16px 1fr}.groom-copy-source{grid-column:3/-1;justify-self:start}}
.groom-calendar-lane.is-unavailable{background:repeating-linear-gradient(135deg,rgba(178,39,39,.07),rgba(178,39,39,.07) 8px,rgba(178,39,39,.12) 8px,rgba(178,39,39,.12) 16px)}
.groom-unavailable-label{position:absolute;inset:1rem;display:flex;align-items:flex-start;justify-content:center;color:#9a2525;font-weight:850;pointer-events:none}
.groom-working-window{position:absolute;left:3px;right:3px;border:1px dashed rgba(25,67,125,.28);border-radius:10px;background:rgba(25,67,125,.025);pointer-events:none}


/* BBH 48 grooming settings alignment correction */
.groom-service-row{grid-template-columns:minmax(260px,340px) 140px 96px 96px minmax(230px,1fr) 108px 176px;gap:.7rem}
.groom-service-row>label:first-child{max-width:340px}
.groom-service-row .color-field--compact{min-width:96px}
.groom-service-row .color-field--compact input[type="color"]{width:100%;min-width:0}
.groom-service-row>.check-line{width:108px!important;max-width:108px!important}
.groom-service-row .record-actions{justify-content:flex-end}
.groom-service-row .record-actions .pill-button{flex:1 1 auto}
.groom-staff-row{grid-template-columns:1fr;gap:.85rem}
.groom-staff-fields{grid-template-columns:minmax(220px,360px) 125px 110px minmax(150px,auto);justify-content:start}
.groom-staff-fields>label:first-child{max-width:360px}
.groom-staff-fields>.check-line{width:110px!important;max-width:110px!important}
.groom-staff-fields .record-actions{min-width:150px;justify-content:flex-start}
.groom-weekly-scheduler{border-left:0;border-top:1px solid rgba(25,67,125,.16);padding:1rem 0 0}
@media(max-width:1180px){.groom-service-row{grid-template-columns:minmax(240px,1.1fr) 125px 92px 92px minmax(210px,.9fr) 104px 166px;overflow-x:auto}.groom-staff-fields{grid-template-columns:minmax(210px,320px) 120px 108px minmax(150px,auto)}}
@media(max-width:820px){.groom-service-row,.groom-staff-fields{grid-template-columns:1fr}.groom-service-row>label:first-child,.groom-staff-fields>label:first-child{max-width:none}.groom-service-row>.check-line,.groom-staff-fields>.check-line{width:auto!important;max-width:none!important}.groom-service-row .record-actions,.groom-staff-fields .record-actions{min-width:0}}

/* BBH 50 grooming staff active-control correction */
.groom-staff-fields>.check-line{
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  justify-self:start!important;
  width:92px!important;
  max-width:92px!important;
  min-width:92px!important;
  min-height:40px!important;
  height:40px!important;
  padding:.35rem .55rem!important;
  gap:.4rem!important;
  overflow:visible!important;
  line-height:1!important;
}
.groom-staff-fields>.check-line input[type="checkbox"]{
  appearance:auto!important;
  -webkit-appearance:checkbox!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  max-width:18px!important;
  min-height:18px!important;
  max-height:18px!important;
  flex:0 0 18px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:4px!important;
  box-shadow:none!important;
  accent-color:var(--blue)!important;
}
.groom-staff-fields>.check-line>span{display:inline!important;line-height:1!important;white-space:nowrap!important}
.groom-staff-fields{grid-template-columns:minmax(220px,360px) 125px 92px minmax(150px,auto)}
@media(max-width:1180px){.groom-staff-fields{grid-template-columns:minmax(210px,320px) 120px 92px minmax(150px,auto)}}
@media(max-width:820px){.groom-staff-fields{grid-template-columns:1fr}.groom-staff-fields>.check-line{width:92px!important;max-width:92px!important}}

/* BBH 52 groomer filters and availability blocks */
.groom-calendar-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin:.75rem 0 1rem}
.groom-staff-filters{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.groom-staff-filter{border:2px solid #f1be15;border-radius:999px;background:#19437d;color:#fff;padding:.55rem 1rem;font-weight:900;cursor:pointer;box-shadow:none}
.groom-staff-filter.is-active{box-shadow:0 0 0 4px rgba(241,190,21,.22)}
.calendar-empty-state{grid-column:1/-1;min-height:18rem;display:grid;place-items:center;padding:2rem;color:#66758b;font-weight:800;background:#fff;border:1px solid #d8e0e8;border-radius:1rem}
.groom-outside-hours,.groom-manual-block{position:absolute;left:0;right:0;z-index:3;background:repeating-linear-gradient(135deg,rgba(180,35,24,.08) 0,rgba(180,35,24,.08) 10px,rgba(180,35,24,.16) 10px,rgba(180,35,24,.16) 20px);border-top:1px solid rgba(180,35,24,.18);border-bottom:1px solid rgba(180,35,24,.18);pointer-events:none}
.groom-outside-hours--before{top:24px}
.groom-manual-block{z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9b1c1c;font-size:.72rem;font-weight:900;overflow:hidden}
.groom-manual-block span{font-size:.64rem;font-weight:700}
.groom-block-panel{max-width:34rem}
.groom-block-panel form{display:grid;gap:.9rem}
.groom-block-panel label{display:grid;gap:.35rem;color:#19437d;font-weight:900}
.groom-block-panel input,.groom-block-panel select{width:100%;border:1px solid #becbd8;border-radius:.75rem;background:#fff;padding:.7rem .8rem;font:inherit}
.groom-block-times{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}


/* Groomer permissions */
.groom-staff-permissions{border-top:1px solid #d8dee7;padding-top:14px;margin-top:14px}
.groom-permission-heading{display:flex;justify-content:space-between;gap:18px;align-items:baseline;margin-bottom:10px;color:#19437d}
.groom-permission-heading strong{font-size:1rem}
.groom-permission-heading span{font-size:.82rem;color:#65728a}
.groom-permission-groups{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.groom-permission-groups fieldset{border:1px solid #d6deea;border-radius:18px;padding:12px 14px;margin:0;min-width:0}
.groom-permission-groups legend{font-weight:800;color:#19437d;padding:0 6px}
.groom-permission-actions{display:flex;gap:8px;margin-bottom:10px}
.groom-permission-actions button{border:1px solid #bfcbdc;border-radius:999px;background:#fff;color:#19437d;font-weight:800;padding:5px 10px;cursor:pointer}
.groom-permission-list{display:flex;flex-wrap:wrap;gap:8px}
.groom-permission-list label{display:inline-flex;align-items:center;gap:6px;border:1px solid #d5deea;border-radius:999px;padding:6px 10px;background:#fff;font-weight:700;color:#243149}
.groom-permission-list input{margin:0}
@media (max-width:900px){.groom-permission-groups{grid-template-columns:1fr}.groom-permission-heading{align-items:flex-start;flex-direction:column;gap:4px}}

/* BBH57: compact groomer permission pills */
.groom-permission-actions{gap:6px;margin-bottom:8px}
.groom-permission-actions button{min-height:30px;padding:4px 11px;font-size:.82rem;line-height:1;border:1px solid #bfcbdc;box-shadow:none}
.groom-permission-list{gap:7px}
.groom-permission-list label{display:inline-flex;align-items:center;margin:0;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;min-width:0}
.groom-permission-list label input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.groom-permission-list label span{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:4px 11px;border:1px solid #bfcbdc;border-radius:999px;background:#fff;color:#19437d;font-size:.82rem;font-weight:800;line-height:1.15;white-space:nowrap;transition:none}
.groom-permission-list label input:checked + span{background:#19437d;color:#fff;border-color:#f1be15;box-shadow:0 0 0 1px #f1be15}
.groom-permission-list label:focus-within span{outline:2px solid rgba(25,67,125,.25);outline-offset:2px}


/* BBH 58: assessment applicability, pet eligibility, portal access, waivers */
.assessment-module-pills{display:flex;flex-wrap:wrap;gap:.55rem}.assessment-module-pill{cursor:pointer}.assessment-module-pill input{position:absolute;opacity:0;pointer-events:none}.assessment-module-pill span{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:.45rem 1rem;border:1px solid #cbd6e5;border-radius:999px;background:#fff;color:#19437d;font-weight:800;white-space:nowrap}.assessment-module-pill input:checked+span{background:#19437d;color:#fff;border-color:#f1be15;box-shadow:0 0 0 1px #f1be15}.assessment-profile-section{display:grid;grid-template-columns:minmax(360px,1fr) minmax(220px,.55fr);gap:1.25rem;align-items:end;margin:1.2rem 0;padding:1rem 1.15rem;border:1px solid #d6dee9;border-radius:22px;background:#fffdf9}.assessment-segmented,.binary-segmented{display:inline-flex;overflow:hidden;border:1px solid #cbd6e5;border-radius:999px;background:#fff}.assessment-segmented label,.binary-segmented label{cursor:pointer}.assessment-segmented input,.binary-segmented input{position:absolute;opacity:0;pointer-events:none}.assessment-segmented span,.binary-segmented span{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:.45rem 1rem;color:#19437d;font-weight:800;border-right:1px solid #d6dee9}.assessment-segmented label:last-child span,.binary-segmented label:last-child span{border-right:0}.assessment-segmented input:checked+span,.binary-segmented input:checked+span{background:#19437d;color:#fff}.assessment-state-option.is-passed input:checked+span{background:#2f7d32}.assessment-state-option.is-none input:checked+span{background:#707784}.assessment-state-option.is-failed input:checked+span{background:#a32126}.portal-access-control{display:flex;flex-direction:column;gap:.4rem}.waiver-list{display:grid;gap:.75rem}.waiver-record{display:flex;align-items:center;gap:1rem;padding:.9rem 1rem;border:1px solid #d6dee9;border-radius:16px}.waiver-record strong{flex:1}.waiver-record span{text-transform:capitalize;font-weight:800;color:#19437d}@media(max-width:900px){.assessment-profile-section{grid-template-columns:1fr}.assessment-segmented,.binary-segmented{max-width:100%;flex-wrap:wrap}}
/* BBH58 assessment booking workflow */
.portal-access-control{max-width:270px}.portal-access-control .binary-segmented{width:auto;align-self:flex-start}.portal-access-control .binary-segmented span{min-width:72px;min-height:36px;padding:.35rem .85rem}
.booking-drawer[hidden]{display:none!important}.booking-drawer.is-assessment-pending,.booking-drawer.is-assessment-failed{border-width:2px}.booking-drawer.is-assessment-pending{border-color:#aeb8c5}.booking-drawer.is-assessment-failed{border-color:#a32126}.booking-drawer.is-assessment-pending .booking-drawer-toggle{background:#8994a3;color:#fff;cursor:not-allowed;box-shadow:none}.booking-drawer.is-assessment-failed .booking-drawer-toggle{background:#a32126;color:#fff;cursor:not-allowed;box-shadow:none}.assessment-gate-note{padding:.62rem 1rem;font-weight:850;background:#eef1f4;color:#4e5969}.booking-drawer.is-assessment-failed .assessment-gate-note{background:#fff0f0;color:#8f1d22}.assessment-option-banner{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border:1px solid #f1be15;border-radius:16px;background:#fff8d8;color:#19437d}.assessment-option-banner strong{font-size:1.03rem}.assessment-option-banner span{font-weight:700}.assessment-drawer-workspace{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.assessment-drawer-workspace .daycare-estimate-bar{grid-column:1/-1}@media(max-width:1100px){.assessment-drawer-workspace{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.assessment-drawer-workspace{grid-template-columns:1fr}.assessment-option-banner{align-items:flex-start;flex-direction:column}}
.grooming-booking-workspace{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.grooming-booking-workspace>.booking-addon-upsell,.grooming-booking-workspace>.daycare-estimate-bar{grid-column:1/-1}.groom-booking-options{display:flex;flex-direction:column;gap:.55rem}.groom-booking-option{border:2px solid #d5dfeb;border-radius:18px;background:var(--groom-bg,#19437D);color:var(--groom-font,#fff);padding:.75rem;text-align:left}.groom-booking-option.is-selected{outline:3px solid #f1be15}.groom-booking-option strong,.groom-booking-option small{display:block}.grooming-booking-workspace select{width:100%;margin:.3rem 0 .65rem}@media(max-width:1050px){.grooming-booking-workspace{grid-template-columns:repeat(2,minmax(0,1fr))}}

.groom-booking-options .pet-config-card{width:100%;text-align:left}.groom-booking-option.is-unavailable{background:#eef1f5;color:#667085;border-color:#cbd5e1;opacity:1;cursor:not-allowed}.groom-booking-option.is-unavailable strong,.groom-booking-option.is-unavailable small{color:inherit}


/* BBH64 grooming appointment detail refinements */
.groom-modal-section{margin-top:1rem;padding:1rem;border:1px solid #d7e0ec;border-radius:18px;background:#fff}.groom-modal-section h3{margin:0 0 .65rem;color:#19437D}.groom-modal-addons{display:flex;flex-wrap:wrap;gap:.5rem}.groom-modal-addons span{display:inline-flex;padding:.45rem .75rem;border:2px solid #F1BE15;border-radius:999px;background:#19437D;color:#fff;font-weight:800}.groom-modal-empty{margin:0;color:#66758c}.groom-history-list{display:grid;gap:.45rem}.groom-history-list div{display:flex;justify-content:space-between;gap:1rem;padding:.55rem .7rem;border:1px solid #d7e0ec;border-radius:12px}.groom-history-list strong{color:#19437D}.groom-notes-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.groom-notes-grid label{display:grid;gap:.4rem;color:#19437D}.groom-notes-grid small{color:#66758c;font-weight:500}.groom-notes-grid textarea{width:100%;min-height:110px;resize:vertical;border:1px solid #c9d5e4;border-radius:14px;padding:.75rem;font:inherit;background:#fff}.groom-notes-actions{display:flex;justify-content:flex-end;margin-top:.75rem}@media(max-width:720px){.groom-notes-grid{grid-template-columns:1fr}}

/* BBH65 grooming presence badges */
.groom-modal-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.groom-modal-heading h2{margin:.2rem 0 0}
.groom-presence-badge{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:.25rem .65rem;border:2px solid #F1BE15;border-radius:999px;background:#fff;color:#111;font-size:.75rem;font-weight:850;line-height:1;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.12)}
.groom-presence-badge--calendar{position:absolute;top:.35rem;right:.4rem;z-index:3;max-width:calc(100% - .8rem);overflow:hidden;text-overflow:ellipsis}
.groom-appointment-block:has(.groom-presence-badge--calendar){padding-right:5.9rem}
@media(max-width:760px){.groom-appointment-block:has(.groom-presence-badge--calendar){padding-right:.55rem;padding-top:2.15rem}.groom-presence-badge--calendar{left:.4rem;right:auto}}

/* Floor Map planning grid */
.floor-map-card{padding:24px;overflow:hidden}.floor-map-toolbar,.floor-map-filterbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.floor-map-nav,.floor-map-ranges,.floor-map-type-filters,[data-floor-type-filters]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.floor-map-filterbar{margin:18px 0}.floor-map-date,.floor-map-search{border:1px solid #c8d3e0;border-radius:999px;padding:10px 16px;font:inherit;background:#fff;color:#152238}.floor-map-search{min-width:240px}.floor-filter-pill{border:1px solid #b9c8d9;background:#fff;color:#19437d;border-radius:999px;padding:8px 14px;font-weight:800;cursor:pointer}.floor-filter-pill.is-active{background:#19437d;color:#fff;border-color:#f1be15;box-shadow:0 0 0 2px rgba(241,190,21,.2)}.floor-map-scroll{overflow:auto;max-height:68vh;border:1px solid #ccd7e4;border-radius:20px;background:#fff}.floor-map-loading{padding:80px;text-align:center;color:#65748b;font-weight:700}.floor-plan-grid{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.floor-plan-grid th,.floor-plan-grid td{border-right:1px solid #d6dfeb;border-bottom:1px solid #d6dfeb}.floor-plan-grid thead th{position:sticky;top:0;z-index:5;background:#194b86;color:#fff;min-width:150px;padding:12px;text-align:center}.floor-plan-grid thead th span{display:block;font-size:.82rem;font-weight:500}.floor-plan-corner{left:0;z-index:7!important;min-width:210px!important}.floor-plan-type-row th{position:sticky;left:0;z-index:4;background:#eaf1f8;color:#19437d;text-align:left;padding:10px 14px;text-transform:uppercase;letter-spacing:.08em}.floor-plan-enclosure{position:sticky;left:0;z-index:3;background:#fff7e8;color:#17233a;text-align:left;padding:12px;min-width:210px}.floor-plan-enclosure span{display:block;color:#65748b;font-size:.78rem;font-weight:500;margin-top:3px}.floor-plan-cell{width:150px;min-width:150px;height:92px;padding:6px;vertical-align:top;background:#fff;transition:box-shadow .15s,background .15s}.floor-plan-cell.is-drop-target{background:#e7f7eb;box-shadow:inset 0 0 0 3px #2f9a58}.floor-stay{position:relative;width:100%;border-radius:14px;padding:10px 9px;text-align:left;border:2px solid transparent;font:inherit;cursor:grab;box-shadow:0 3px 9px rgba(22,44,78,.12)}.floor-stay:active{cursor:grabbing}.floor-stay.is-dragging{opacity:.45}.floor-stay--boarding{background:#101f4d;color:#fff;border-color:#f1be15}.floor-stay--daycare{background:#f9d71c;color:#111;border-color:#e3b800}.floor-stay-title{display:block;font-weight:900;line-height:1.1}.floor-stay-client{display:block;font-size:.72rem;opacity:.85;margin-top:4px}.floor-stay-badge{display:inline-block;background:#fff;color:#111;border:1px solid #f1be15;border-radius:999px;padding:2px 6px;font-size:.65rem;font-weight:900;margin:6px 4px 0 0}.floor-map-notice{padding:10px 14px;border-radius:12px;background:#fff4c9;color:#5b4500;margin-bottom:10px}@media(max-width:900px){.floor-map-card{padding:14px}.floor-map-search{min-width:180px}.floor-plan-grid thead th,.floor-plan-cell{min-width:130px;width:130px}}


/* BBH72 Floor Map usability refinements */
.floor-map-scroll{max-height:120vh}
.floor-map-legend{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:1rem}
.floor-legend-item{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .7rem;border:1px solid #c8d3e0;border-radius:999px;background:#fff;color:#17233a}
.floor-legend-swatch{display:inline-block;width:20px;height:14px;border-radius:5px;border:1px solid #d1a900}
.floor-legend-swatch--daycare{background:#f9d71c}
.floor-legend-swatch--boarding{background:#101f4d;border-color:#f1be15}
.floor-plan-cell{vertical-align:middle}
.floor-cell-content{display:flex;align-items:center;justify-content:center;gap:.4rem;min-height:80px;flex-wrap:wrap}
.floor-stay{width:auto;min-width:118px;max-width:96%;margin:0 auto;text-align:center}
.floor-stay.is-selected{outline:4px solid #f1be15;outline-offset:2px}
.floor-map-selection{display:flex;align-items:center;gap:1rem;justify-content:space-between;margin:0 0 1rem;padding:.8rem 1rem;border:2px solid #f1be15;border-radius:18px;background:#fff9dc}
.floor-map-selection[hidden]{display:none!important}
.floor-selection-copy{display:grid;gap:.15rem;min-width:190px}
.floor-selection-copy strong{color:#19437d;font-size:1.05rem}
.floor-selection-copy small{color:#66758c}
.floor-selection-drag{flex:1;display:flex;justify-content:center}
.floor-stay--pinned{min-width:180px;cursor:grab}
.floor-map-search:focus{outline:3px solid rgba(241,190,21,.35);border-color:#19437d}
@media(max-width:760px){.floor-map-selection{align-items:stretch;flex-direction:column}.floor-selection-drag{justify-content:flex-start}.floor-map-scroll{max-height:140vh}}


/* Floor Map multi-day selection */
.floor-stay-wrap{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.floor-stay-wrap.is-selection-locked{opacity:.48}
.floor-day-check{position:absolute;right:4px;bottom:4px;width:24px;height:24px;border-radius:50%;border:2px solid #2f9a58;background:#fff;color:transparent;display:grid;place-items:center;padding:0;cursor:pointer;z-index:3;box-shadow:0 2px 6px rgba(0,0,0,.16)}
.floor-day-check span{font-size:.78rem;font-weight:1000;line-height:1}
.floor-day-check.is-checked{background:#2f9a58;color:#fff;border-color:#2f9a58}
.floor-day-check:disabled{cursor:not-allowed;opacity:.45}
.floor-selection-drag{position:relative;min-width:180px;border:2px solid #f1be15;border-radius:16px;background:#19437d;color:#fff;padding:.65rem 1rem;display:flex;align-items:center;gap:.55rem;cursor:grab;box-shadow:0 4px 12px rgba(25,67,125,.18)}
.floor-selection-drag:active{cursor:grabbing}.floor-selection-drag.is-dragging{opacity:.55}
.floor-selection-drag small{opacity:.82;margin-left:auto}.floor-selection-count{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#2f9a58;color:#fff;font-weight:900}
.floor-selection-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.floor-stay.is-selected{box-shadow:0 0 0 4px rgba(47,154,88,.3),0 3px 9px rgba(22,44,78,.12)}

/* BBH76 invoice details and Change Log */
.invoice-detail-toggle{display:inline-flex;margin-top:.45rem;border:1px solid #b9c8d9;border-radius:999px;background:#fff;color:#19437d;padding:.3rem .7rem;font-weight:800;cursor:pointer}
.invoice-detail-panel{grid-column:1/-1;padding:.75rem 1rem 1rem;background:#f6f9fc;border-bottom:1px solid #d6dfeb}
.invoice-detail-panel[hidden]{display:none!important}
.invoice-detail-row{display:grid;grid-template-columns:minmax(220px,1.5fr) 58px 88px 110px 76px minmax(260px,1fr) 72px;gap:.6rem;align-items:end;padding:.7rem 0;border-bottom:1px solid #d6dfeb}
.invoice-detail-row:last-child{border-bottom:0}.invoice-detail-row>div:first-child{display:grid;gap:.15rem}.invoice-detail-row small{color:#66758c}.invoice-detail-row label{display:grid;gap:.25rem;color:#19437d;font-size:.78rem;font-weight:800}.invoice-detail-row input{width:100%;min-width:0;border:1px solid #c8d3e0;border-radius:10px;padding:.5rem .55rem;font:inherit;background:#fff}.invoice-detail-row input:disabled{background:#edf1f5;color:#66758c}.invoice-detail-qty input{max-width:52px}.invoice-detail-rate input{max-width:78px}.invoice-detail-initials input{max-width:68px;text-transform:uppercase}.invoice-detail-amount{display:grid;gap:.25rem}.invoice-detail-amount span{color:#19437d;font-size:.78rem;font-weight:800}.invoice-adjust-reason{min-width:170px;max-width:210px}.invoice-adjust-status{align-self:center;min-height:1.2em;color:#66758c;font-size:.78rem;font-weight:800}.invoice-adjust-status.is-pending{color:#9a6700}.invoice-adjust-status.is-saving{color:#19437d}.invoice-adjust-status.is-saved{color:#16803c}.invoice-adjust-status.is-error{color:#b3261e}.invoice-detail-locked{align-self:center;color:#66758c;font-style:italic}.change-log-filters{display:grid;grid-template-columns:180px 180px minmax(260px,1fr) auto;gap:.75rem;align-items:end;margin:1.2rem 0}.change-log-filters label{display:grid;gap:.35rem;color:#19437d;font-weight:800}.change-log-filters input,.change-log-filters select{border:1px solid #c8d3e0;border-radius:12px;padding:.65rem .75rem;font:inherit;background:#fff}.change-log-table{border:1px solid #d6dfeb;border-radius:18px;overflow:hidden}.change-log-row{display:grid;grid-template-columns:150px 110px minmax(220px,1fr) minmax(180px,.8fr) 130px minmax(220px,1.2fr);gap:.75rem;padding:.8rem 1rem;border-bottom:1px solid #d6dfeb;align-items:start}.change-log-row:last-child{border-bottom:0}.change-log-row>span{display:grid;gap:.2rem}.change-log-row small{color:#66758c}.change-log-head{background:#19437d;color:#fff;font-weight:900}.change-log-head small{color:#fff}.report-card-heading{display:flex;justify-content:space-between;align-items:flex-start}
@media(max-width:1100px){.invoice-detail-row{grid-template-columns:1fr 58px 88px 110px}.invoice-adjust-reason{grid-column:1/4}.change-log-row{grid-template-columns:140px 100px 1fr 1fr}.change-log-row span:nth-child(5),.change-log-row span:nth-child(6){grid-column:auto}.change-log-filters{grid-template-columns:1fr 1fr}.change-log-filters label:last-of-type{grid-column:1/-1}}
@media(max-width:700px){.invoice-detail-row,.change-log-row,.change-log-filters{grid-template-columns:1fr}.invoice-adjust-reason{grid-column:auto}.change-log-head{display:none}}


/* BBH79 Invoice Payment Hub */
.invoice-hub{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:0;background:#fbfaf6;border:1px solid #dde3ea;border-radius:26px;overflow:hidden;box-shadow:0 18px 45px rgba(24,39,65,.08)}
.invoice-hub__document{padding:2rem;min-width:0}.invoice-payment-panel{padding:2rem 1.5rem;background:#f8f5ed;border-left:1px solid #dde3ea;display:flex;flex-direction:column;gap:1rem}.invoice-hub__header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.4rem}.invoice-hub__header h2{margin:.25rem 0;font-size:2rem}.invoice-back{border:1px solid var(--gold);border-radius:999px;background:#fff;padding:.45rem .8rem;color:#182239;font-weight:800;margin-bottom:1rem}.invoice-status-stack{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.invoice-status-badge,.invoice-balance-badge{border-radius:10px;padding:.55rem .8rem;font-size:.8rem;font-weight:900}.invoice-status-badge{background:#f7c514;color:#172033}.invoice-balance-badge{background:#bd1f2d;color:#fff}.invoice-info-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.6rem}.invoice-info-cards article{border:1px solid #dce2e9;border-radius:14px;padding:1rem;display:grid;gap:.45rem;background:#fff}.invoice-info-cards article>span,.invoice-notes>span,.payment-summary-box>span,.split-payment-list>span{font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--blue)}.invoice-info-cards small{display:block;color:#536175}.text-paid{color:#16833a!important}.text-due{color:#bd1f2d!important}.invoice-hub__items{margin-top:0}.invoice-bottom-row{display:grid;grid-template-columns:1fr 320px;gap:1.5rem;margin-top:1.5rem}.invoice-notes{border:1px solid #dce2e9;border-radius:14px;padding:1rem;background:#fff}.invoice-hub__actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}.payment-panel-title{display:flex;gap:.75rem;align-items:flex-start}.payment-panel-title h3{margin:0}.payment-panel-title p{margin:.2rem 0 0;color:#536175}.payment-summary-box,.split-payment-list,.add-payment-form{border:1px solid #d7dce3;border-radius:14px;padding:1rem;background:#fff}.payment-summary-box{display:grid;gap:.6rem}.payment-summary-box>div{display:flex;justify-content:space-between;gap:1rem}.payment-method-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.payment-method-tab{border:1px solid #cdd5df;border-radius:10px;background:#fff;padding:.65rem .5rem;font-weight:800;color:#172033}.payment-method-tab.is-active{background:var(--blue);color:#fff;border-color:var(--gold)}.split-payment-list{display:grid;gap:.55rem}.split-payment-row{display:grid;grid-template-columns:1fr auto auto;gap:.65rem;align-items:center;padding:.65rem 0;border-bottom:1px solid #e1e5eb}.split-payment-row>div{display:grid}.split-payment-row small{color:#536175}.payment-remove{border:1px solid #e4b7bd;background:#fff;color:#bd1f2d;width:32px;height:32px;border-radius:9px;font-weight:900}.split-payment-total{display:flex;justify-content:space-between;padding-top:.5rem}.payment-empty{color:#66758c}.add-payment-form{display:grid;gap:.7rem}.add-payment-form h4{margin:0}.add-payment-form label{display:grid;gap:.3rem;color:var(--blue);font-weight:800;font-size:.85rem}.add-payment-form input{border:1px solid #c7d1dd;border-radius:10px;padding:.7rem .75rem;font:inherit;background:#fff}.cash-change{display:flex;justify-content:space-between;padding:.65rem;border-radius:10px;background:#eef8f0;color:#16833a}.payment-add-button{width:100%}.payment-complete-button{border:1px solid #13893a;border-radius:12px;padding:.85rem;background:#168d3d;color:#fff;font-weight:900;font-size:1rem}.payment-complete-button:disabled{opacity:.45}.payment-settings-card{display:grid;gap:1.25rem}.payment-method-editor,.payment-method-row{display:grid;grid-template-columns:minmax(260px,1fr) 190px 130px auto auto;gap:.75rem;align-items:end}.payment-method-editor label,.payment-method-row label{display:grid;gap:.35rem;font-weight:800;color:var(--blue)}.payment-method-editor input,.payment-method-editor select,.payment-method-row input,.payment-method-row select{border:1px solid #c7d1dd;border-radius:12px;padding:.65rem .75rem;font:inherit}.payment-active-check{display:flex!important;align-items:center;gap:.5rem;padding-bottom:.75rem}.payment-method-list{display:grid;gap:.75rem}.payment-method-row{border-top:1px solid #dce2e9;padding-top:1rem}
@media(max-width:1180px){.invoice-hub{grid-template-columns:1fr}.invoice-payment-panel{border-left:0;border-top:1px solid #dde3ea}.invoice-info-cards{grid-template-columns:1fr 1fr}.invoice-info-cards article:last-child{grid-column:1/-1}.payment-method-editor,.payment-method-row{grid-template-columns:1fr 190px 120px auto}.payment-method-editor button,.payment-method-row button{width:max-content}}
@media(max-width:720px){.invoice-hub__document,.invoice-payment-panel{padding:1rem}.invoice-hub__header,.invoice-bottom-row{grid-template-columns:1fr;display:grid}.invoice-status-stack{justify-content:flex-start}.invoice-info-cards{grid-template-columns:1fr}.invoice-info-cards article:last-child{grid-column:auto}.payment-method-editor,.payment-method-row{grid-template-columns:1fr}.invoice-line-table{overflow-x:auto}}
@media print{.invoice-hub{display:block;border:0;box-shadow:none}.invoice-hub__document{padding:0}.invoice-payment-panel{display:none!important}.invoice-hub__actions,.invoice-back,.invoice-detail-toggle{display:none!important}}

/* BBH83 invoice detail and document menus */
.invoice-detail-row{grid-template-columns:minmax(190px,1.5fr) 54px 82px 92px 62px minmax(150px,190px) 68px;gap:.5rem}
.invoice-detail-qty{width:54px}.invoice-detail-rate{width:82px}.invoice-detail-initials{width:62px}.invoice-adjust-reason{min-width:150px;max-width:190px;width:100%}
.invoice-detail-qty input{width:54px!important;max-width:54px!important}.invoice-detail-rate input{width:82px!important;max-width:82px!important}.invoice-detail-initials input{width:62px!important;max-width:62px!important}.invoice-adjust-reason input{width:100%;max-width:190px}
.invoice-action-menu{position:relative}.invoice-action-menu>summary{list-style:none;cursor:pointer}.invoice-action-menu>summary::-webkit-details-marker{display:none}.invoice-action-menu__items{position:absolute;left:0;bottom:calc(100% + .4rem);z-index:30;min-width:190px;padding:.35rem;border:1px solid #c9d3df;border-radius:12px;background:#fff;box-shadow:0 10px 24px rgba(22,37,58,.15);display:grid;gap:.25rem}.invoice-action-menu__items button{border:0;border-radius:9px;background:#fff;color:#19437d;text-align:left;padding:.6rem .7rem;font:inherit;font-weight:800;cursor:pointer}.invoice-action-menu__items button:focus,.invoice-action-menu__items button:hover{background:#edf3fa}
@media(max-width:1100px){.invoice-detail-row{grid-template-columns:minmax(180px,1fr) 54px 82px 92px}.invoice-detail-initials{grid-column:1}.invoice-adjust-reason{grid-column:2/4;max-width:none}.invoice-adjust-reason input{max-width:none}}


/* BBH86 roster completion and sales reports */
.roster-row--completed-paid{background:#dfe2e6!important;color:#737b84!important}.roster-row--completed-paid td{background:#dfe2e6!important;color:#737b84!important;border-color:#c7ccd2!important}.roster-row--completed-paid td>*{filter:grayscale(1)!important}.roster-row--completed-paid .roster-pet-card,.roster-row--completed-paid .roster-service,.roster-row--completed-paid .roster-status,.roster-row--completed-paid .roster-quirk,.roster-row--completed-paid .roster-pet-medication,.roster-row--completed-paid .roster-addon{filter:grayscale(1)!important;background:#d3d7dc!important;color:#68717b!important;border-color:#aeb5bd!important;box-shadow:none!important}.roster-row--completed-paid .roster-payment-summary{color:#68717b!important;font-weight:900}.roster-row--completed-paid .roster-actions .pill-button{filter:grayscale(1)!important;background:#d5d9dd!important;color:#68717b!important;border-color:#aeb5bd!important;box-shadow:none!important;opacity:1}.roster-row--completed-paid:hover td{background:#dfe2e6!important}
.sales-report-controls{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;margin:1rem 0}.sales-report-controls label{display:grid;gap:.3rem;color:#19437d;font-weight:800}.sales-report-controls input{border:1px solid #c8d3e0;border-radius:12px;padding:.6rem .75rem;background:#fff;font:inherit}.report-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1rem 0}.sales-report-table{border:1px solid #d6dfeb;border-radius:18px;overflow:hidden}.sales-report-row{display:grid;grid-template-columns:130px minmax(180px,1.2fr) minmax(150px,1fr) 100px 100px 100px 110px;gap:.75rem;padding:.8rem 1rem;border-bottom:1px solid #d6dfeb;align-items:center}.sales-report-row:last-child{border-bottom:0}.sales-report-row span{display:grid;gap:.15rem}.sales-report-row small{color:#66758c}.sales-report-head{background:#19437d;color:#fff;font-weight:900}.sales-report-head small{color:#fff}@media(max-width:1000px){.report-metric-grid{grid-template-columns:1fr 1fr}.sales-report-table{overflow-x:auto}.sales-report-row{min-width:900px}}@media(max-width:600px){.report-metric-grid{grid-template-columns:1fr}.sales-report-controls{align-items:stretch}.sales-report-controls>*{width:100%}}

/* Dashboard health data hub and roster vaccine status */
.dashboard-data-hub{display:grid;gap:1rem}.dashboard-data-hub__toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem}.dashboard-data-hub__toolbar h1{margin:.12rem 0}.dashboard-data-hub__toolbar p{margin:0;color:#66758b}.dashboard-date-controls{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.dashboard-date-controls input{border:1px solid #b9c8d9;border-radius:999px;background:#fff;padding:.42rem .75rem;color:#17365f;font-weight:800}.dashboard-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.dashboard-preview-card{min-height:25rem;padding:1rem;overflow:hidden}.dashboard-preview-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;border-bottom:1px solid #dce4ec;padding-bottom:.7rem;margin-bottom:.7rem}.dashboard-preview-card h2{margin:.12rem 0}.dashboard-count{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;border-radius:999px;background:#19437d;color:#fff;font-weight:900}.dashboard-vaccine-table{overflow-x:auto;overflow-y:visible;scrollbar-gutter:stable;padding-bottom:.25rem}.dashboard-vaccine-row{display:grid;grid-template-columns:6.25rem repeat(var(--health-columns,4),4.7rem);gap:.28rem;align-items:center;padding:.38rem 0;border-bottom:1px solid #e5ebf1;min-width:max-content}.dashboard-vaccine-row.dashboard-vaccine-head{position:sticky;top:0;background:#fff;z-index:3;color:#19437d;font-size:.64rem;font-weight:900;text-transform:uppercase}.dashboard-vaccine-row.dashboard-vaccine-head span{text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-vaccine-row.dashboard-vaccine-head span:first-child{position:sticky;left:0;z-index:4;text-align:left;background:#fff}.dashboard-pet-name{position:sticky;left:0;z-index:2;width:6.25rem;border:0;background:#fff;color:#17253b;padding:.2rem .2rem .2rem 0;text-align:left;cursor:pointer}.dashboard-pet-name strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-pet-link:hover strong,.dashboard-pet-link:focus strong,.dashboard-birthday-pet-link:hover,.dashboard-birthday-pet-link:focus{text-decoration:underline}.dashboard-vaccine-date{display:grid;gap:.08rem;text-align:center}.dashboard-vaccine-date input{box-sizing:border-box;width:4.45rem;border:1px solid #b9c8d9;border-radius:.5rem;padding:.3rem .16rem;text-align:center;font-size:.68rem;font-weight:900;background:#fff}.dashboard-vaccine-date small{font-size:.6rem;font-weight:900}.dashboard-vaccine-date--current small{color:#26734d}.dashboard-vaccine-date--soon input{background:#fff5bf;border-color:#d9aa00}.dashboard-vaccine-date--soon small{color:#6f5700}.dashboard-vaccine-date--expired input{background:#ffe0df;border-color:#c9332b}.dashboard-vaccine-date--expired small{color:#9b211b}.dashboard-inline-message{min-height:1.2rem;margin-top:.55rem;font-size:.72rem;font-weight:900;color:#9b211b}.dashboard-inline-message.is-success{color:#26734d}.dashboard-birthday-list{display:grid;gap:.45rem;align-content:start;grid-auto-rows:max-content}.dashboard-birthday-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem;border:1px solid #dce4ec;border-radius:.7rem;background:#fff}.dashboard-birthday-row strong,.dashboard-birthday-row small{display:block}.dashboard-birthday-pet-link{display:block;border:0;background:transparent;padding:0;color:#17253b;font:inherit;font-weight:900;text-align:left;cursor:pointer}.dashboard-birthday-row small{margin-top:.12rem;color:#728096;font-size:.7rem}.dashboard-presence-pill{border:2px solid #f1be15;border-radius:999px;background:#fff;color:#111;padding:.28rem .55rem;font-size:.66rem;font-weight:900;white-space:nowrap}.roster-vaccine-header{text-align:center!important}.roster-vaccine-header span{display:block}.roster-vaccine-stack{display:grid;gap:.25rem;justify-items:center}.roster-vaccine-summary{position:relative;display:flex;align-items:center;justify-content:center;gap:.18rem;border:0;background:transparent;padding:.2rem;cursor:help}.roster-vaccine-icon{display:inline-flex;align-items:center;gap:.03rem}.roster-vaccine-icon>span{font-size:.8rem}.roster-vaccine-icon b{display:inline-flex;align-items:center;justify-content:center;width:.9rem;height:.9rem;border-radius:999px;font-size:.62rem;line-height:1}.roster-vaccine-icon--current b{background:#248b58;color:#fff}.roster-vaccine-icon--soon b{background:#f1be15;color:#111}.roster-vaccine-icon--expired b{background:#d33b33;color:#111}.roster-vaccine-tooltip{display:none;position:absolute;z-index:20;left:50%;top:calc(100% + .35rem);transform:translateX(-50%);min-width:15rem;padding:.55rem .65rem;border:1px solid #c7d3df;border-radius:.65rem;background:#fff;color:#263b55;box-shadow:0 .5rem 1.2rem rgba(20,45,75,.16);text-align:left;font-size:.67rem}.roster-vaccine-tooltip span{display:block;padding:.15rem 0}.roster-vaccine-summary:hover .roster-vaccine-tooltip,.roster-vaccine-summary:focus .roster-vaccine-tooltip{display:block}.roster-table th:nth-child(2){min-width:8rem;text-align:center}.roster-table th:nth-child(4){min-width:12rem}.roster-table th:nth-child(7){min-width:12rem}
@media(max-width:900px){.dashboard-data-grid{grid-template-columns:1fr}.dashboard-data-hub__toolbar{align-items:flex-start;flex-direction:column}}
/* BBH91 veterinarian directory + dashboard vaccine request workflow */
.dashboard-vaccine-row{grid-template-columns:5.35rem repeat(var(--health-columns,4),4.45rem) 5.45rem}.dashboard-vaccine-row.dashboard-vaccine-head span:last-child{position:sticky;right:0;z-index:5;background:#fff}.dashboard-pet-name{width:5.35rem}.dashboard-vet-action{position:sticky;right:0;z-index:4;display:flex;align-items:center;justify-content:center;align-self:stretch;background:#fff;padding-left:.3rem}.dashboard-vet-action-head{text-align:center!important}.dashboard-email-vet{min-width:4.85rem;padding:.32rem .55rem;font-size:.64rem}.dashboard-email-vet.is-sent,.dashboard-email-vet:disabled{background:#aeb5bf!important;border-color:#8f98a5!important;color:#fff!important;box-shadow:none!important;cursor:not-allowed}.dashboard-vaccine-date input{width:4.15rem;padding:.28rem .12rem}.pet-veterinarian-field small{display:block;margin-top:.2rem;color:#718097;font-size:.68rem}.vet-directory-list{display:grid;gap:1rem}.vet-directory-form{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(160px,.8fr) minmax(220px,1.2fr) auto auto;gap:.75rem;align-items:end}.vet-directory-form label{min-width:0}.vet-directory-form input:not(.form-check-input){width:100%}.vet-directory-form .record-actions{margin:0}.client-entry-grid--pet .pet-veterinarian-field{grid-column:auto}
@media(max-width:1050px){.vet-directory-form{grid-template-columns:repeat(2,minmax(180px,1fr))}.vet-directory-form .record-actions{grid-column:1/-1}}
@media(max-width:650px){.vet-directory-form{grid-template-columns:1fr}.dashboard-vaccine-row{grid-template-columns:5rem repeat(var(--health-columns,4),4.35rem) 5.2rem}.dashboard-pet-name{width:5rem}}


/* BBH92 veterinarian picker, roster vaccine summary and dashboard roster-only health fixes */
.pet-veterinarian-field{position:relative}
.pet-veterinarian-options{position:absolute;z-index:80;left:0;right:0;top:calc(100% - 1.05rem);max-height:15rem;overflow:auto;border:1px solid #8fa2b8;border-radius:.75rem;background:#fff;box-shadow:0 .75rem 1.5rem rgba(20,45,75,.22);padding:.3rem}
.pet-veterinarian-options[hidden]{display:none}
.pet-veterinarian-option{display:block;width:100%;border:0;border-radius:.55rem;background:#fff;color:#17253b;padding:.55rem .65rem;text-align:left;cursor:pointer}
.pet-veterinarian-option:hover,.pet-veterinarian-option:focus{background:#19437d;color:#fff;outline:none}
.pet-veterinarian-option strong,.pet-veterinarian-option small{display:block;color:inherit}
.pet-veterinarian-option small{margin-top:.15rem;font-size:.7rem;opacity:.86}
.roster-table-wrap,.roster-table-container,[data-roster-body]{overflow:visible}
.roster-table{min-height:15rem}
.roster-vaccine-summary{display:inline-flex;position:relative;align-items:center;justify-content:center;min-width:2.25rem;min-height:2.1rem;border:0;background:transparent;padding:.25rem;cursor:help}
.roster-vaccine-tooltip{top:auto;bottom:calc(100% + .45rem);z-index:999;min-width:17rem;max-width:22rem;white-space:normal;pointer-events:auto}
.roster-vaccine-summary:hover .roster-vaccine-tooltip,.roster-vaccine-summary:focus-within .roster-vaccine-tooltip,.roster-vaccine-tooltip:hover{display:block}
.roster-vaccine-tooltip::after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border:.4rem solid transparent;border-top-color:#fff}

/* BBH93 dashboard vaccine density + roster sizing correction */
.dashboard-vaccine-row{
  grid-template-columns:7rem repeat(var(--health-columns,4),4.05rem) 5.25rem;
  gap:.24rem;
}
.dashboard-pet-name{
  width:7rem;
  padding-right:.35rem;
}
.dashboard-pet-name strong{
  font-size:.66rem;
  line-height:1.15;
}
.dashboard-vaccine-row.dashboard-vaccine-head{
  font-size:.61rem;
}
.dashboard-vaccine-date input{
  width:3.85rem;
  padding:.25rem .08rem;
  font-size:.65rem;
}
.dashboard-vaccine-date small{
  font-size:.56rem;
}
.dashboard-vet-action{
  padding-left:.18rem;
}
.dashboard-email-vet{
  min-width:4.55rem;
  padding:.29rem .42rem;
  font-size:.6rem;
}

/* Restore the compact roster footprint from before the vaccine popover change. */
.roster-table{
  min-height:0;
}
.roster-table-wrap{
  max-height:62vh;
  overflow-x:auto;
  overflow-y:visible;
}
.roster-vaccine-summary{
  min-width:1.85rem;
  min-height:1.65rem;
  padding:.12rem;
}
.roster-vaccine-icon>span{
  font-size:.72rem;
}
.roster-vaccine-icon b{
  width:.82rem;
  height:.82rem;
  font-size:.56rem;
}
.roster-vaccine-tooltip{
  min-width:13.5rem;
  max-width:16.5rem;
  padding:.45rem .55rem;
  font-size:.62rem;
  line-height:1.2;
}
.roster-vaccine-tooltip span{
  padding:.1rem 0;
}
.roster-table th:nth-child(2){
  min-width:6rem;
  width:6rem;
}

@media(max-width:650px){
  .dashboard-vaccine-row{grid-template-columns:6.4rem repeat(var(--health-columns,4),3.95rem) 5rem}
  .dashboard-pet-name{width:6.4rem}
}

/* Create Booking — Retail transaction workspace */
.retail-booking-workspace{display:grid;gap:.85rem}
.retail-booking-search{display:flex;align-items:end;gap:.75rem}
.retail-booking-search label{display:grid;grid-template-columns:auto minmax(220px,440px);align-items:center;gap:.55rem;font-weight:800;color:#17233a}
.retail-booking-search input{width:100%;min-width:0}
.retail-product-results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;max-height:23.5rem;overflow-y:auto;overscroll-behavior:contain;padding:.2rem .35rem .2rem .1rem;align-content:start;scrollbar-gutter:stable}
.retail-product-card{appearance:none;-webkit-appearance:none;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:.35rem;min-height:7rem;padding:.8rem;border:1px solid #c9d6e5;border-radius:.9rem;background:#fff;text-align:left;font:inherit;cursor:pointer;box-shadow:0 1px 2px rgba(23,54,95,.04);transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}
.retail-product-card:hover,.retail-product-card:focus-visible{border-color:#19437d;box-shadow:0 0 0 2px rgba(241,190,21,.65);outline:none;transform:translateY(-1px)}
.retail-product-card:active{transform:translateY(0)}
.retail-product-card__name{display:block;color:#17365f;font-size:.9rem;line-height:1.18;overflow-wrap:anywhere}
.retail-product-card__price{display:block;color:#19437d;font-size:1rem;line-height:1.1}
.retail-product-card__stock{display:block;color:#667085;font-size:.7rem;font-weight:750;line-height:1.1}
.retail-product-empty{grid-column:1/-1;padding:.9rem 1rem;border:1px dashed #aebdce;border-radius:.85rem;background:#f8fafc;color:#667085;text-align:center}
.booking-cart-client--walk-in{border-color:#f1be15;background:#fff9df}
.booking-cart-retail-detail{padding:.65rem}
.booking-cart-retail-detail dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .75rem;margin:0}
.booking-cart-retail-detail dl>div{display:flex;justify-content:space-between;gap:.55rem;border-bottom:1px dashed #d8e0ea;padding:.25rem 0;font-size:.72rem}
.booking-cart-retail-detail dt{color:#667085}.booking-cart-retail-detail dd{margin:0;color:#17365f;font-weight:850}
@media(max-width:1050px){.retail-product-results{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.retail-product-results{grid-template-columns:repeat(2,minmax(0,1fr));max-height:23.5rem}.retail-booking-search label{grid-template-columns:1fr;width:100%}.booking-cart-retail-detail dl{grid-template-columns:1fr}}
@media(max-width:420px){.retail-product-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.retail-product-card{min-height:6.6rem;padding:.68rem}}

/* BBH95 Training booking parity with Grooming */
.training-booking-workspace{grid-template-columns:repeat(4,minmax(0,1fr))}
.training-kind-switch{display:flex;gap:.55rem;flex-wrap:wrap;margin:.55rem 0 .75rem}
.training-kind-switch .pill-button{flex:1 1 150px}
.training-kind-switch .pill-button.is-active{box-shadow:0 0 0 3px #f1be15}
.training-option-dropdown{margin-top:.8rem;padding-top:.8rem;border-top:1px solid #d7e0eb}
.training-option-dropdown[hidden]{display:none}
.training-option-dropdown label{display:grid;gap:.4rem;font-weight:700;color:#17325d}
.training-option-dropdown select{width:100%;min-width:0}
.training-option-dropdown small{display:block;margin-top:.45rem}
.training-booking-addons{grid-column:1/-1}
@media(max-width:1250px){.training-booking-workspace{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.training-booking-workspace{grid-template-columns:1fr}}

/* BBH97 Training calendar appointment blocks */
.training-calendar-lane{position:relative}
.training-appointment-block{position:absolute;left:6px;right:6px;z-index:4;border:2px solid #19437d;border-radius:14px;background:#eef5ff;color:#17345b;padding:7px 9px;overflow:hidden;box-sizing:border-box;box-shadow:0 2px 7px rgba(25,67,125,.13);display:flex;flex-direction:column;gap:1px}
.training-appointment-block strong{font-size:.82rem;line-height:1.05}.training-appointment-block span{font-size:.74rem;font-weight:700;line-height:1.05}.training-appointment-block small{font-size:.66rem;line-height:1.05;color:inherit}
.training-appointment-block--class{border-color:#d39d00;background:#fff5cf;color:#5d4300}
.training-classes-header{background:#163f75}
.training-classes-lane{background:#fffdf7}
.training-class-calendar-block{cursor:pointer;width:calc(100% - 12px);text-align:left;font:inherit}
.training-class-teaching-block{position:absolute;left:6px;right:6px;z-index:5;border:2px solid #b42318;border-radius:14px;background:#fde7e4;color:#7a1a13;padding:8px 10px;box-sizing:border-box;box-shadow:0 2px 7px rgba(122,26,19,.14);display:flex;flex-direction:column;gap:2px;overflow:hidden;pointer-events:none}
.training-class-teaching-block strong{font-size:.78rem;line-height:1.05}.training-class-teaching-block small{font-size:.66rem;line-height:1.05}
.training-class-modal-backdrop{position:fixed;inset:0;z-index:10000;background:rgba(18,33,52,.5);display:flex;align-items:center;justify-content:center;padding:24px}
.training-class-modal{width:min(900px,96vw);max-height:88vh;overflow:auto;background:#fffdf8;border:2px solid #f1be15;border-radius:24px;box-shadow:0 24px 70px rgba(0,0,0,.25);padding:22px}
.training-class-modal>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.training-class-modal h2{margin:.2rem 0 .25rem;color:#17345b}.training-class-modal p{margin:0;color:#5c6d86}
.training-class-roster{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.training-class-slot{min-height:118px;border:2px solid #19437d;border-radius:18px;background:#eef5ff;color:#17345b;padding:14px;box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;gap:5px;position:relative;font:inherit}
.training-class-slot.is-empty{border-style:dashed;background:#fff;color:#19437d;cursor:pointer}.training-class-slot.is-empty:hover{box-shadow:0 0 0 3px rgba(241,190,21,.22)}
.training-class-slot__number{position:absolute;top:9px;right:11px;font-size:.7rem;font-weight:800;opacity:.6}.training-class-slot strong{font-size:1rem}.training-class-slot small{font-size:.78rem;color:#5c6d86}
.training-class-enroll{margin-top:18px;border-top:1px solid #d8e0ea;padding-top:16px}.training-class-enroll label{display:flex;flex-direction:column;gap:7px;font-weight:800;color:#17345b}.training-class-enroll input{border:1px solid #bcc9d9;border-radius:14px;padding:11px 13px;font:inherit;background:#fff}
.training-class-search-results{display:grid;gap:8px;margin-top:10px}.training-class-search-results>span{color:#5c6d86}
.training-class-pet-result{width:100%;border:1px solid #cbd6e3;border-radius:14px;background:#fff;padding:10px 12px;display:flex;justify-content:space-between;align-items:center;text-align:left;color:#17345b;cursor:pointer;font:inherit}.training-class-pet-result span{display:flex;flex-direction:column;gap:2px}.training-class-pet-result small,.training-class-pet-result em{font-size:.74rem;color:#5c6d86;font-style:normal}
@media(max-width:800px){.training-class-modal-backdrop{padding:10px}.training-class-modal{padding:16px;border-radius:18px}.training-class-roster{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* BBH99: grouped roster service stacks + Training profile cards */
.roster-entry-stack{display:grid;gap:.45rem;align-content:start}.roster-stack-item{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:2.35rem;padding:.25rem 0;border-bottom:1px dashed #d8e1eb}.roster-stack-item:last-child{border-bottom:0}.roster-service-stack-item .roster-service{display:inline-flex}.roster-service-stack-item small{margin-top:.2rem!important}.roster-entry-stack--actions{min-width:15rem}.roster-action-stack-item{gap:.22rem}.roster-action-stack-item>small{margin:0!important;font-weight:800;color:#53677f!important}.roster-action-stack-item .roster-actions{flex-wrap:wrap;white-space:normal}.roster-table tbody td{vertical-align:top}.roster-table tbody td:first-child,.roster-table tbody td:nth-child(2){padding-top:.8rem}.roster-table th:nth-child(3){min-width:10rem}
.training-appointment-block[type="button"]{appearance:none;text-align:left;cursor:pointer;font:inherit}.training-appointment-block[type="button"]:focus-visible,.training-class-slot.is-filled:focus-visible{outline:3px solid #f1be15;outline-offset:2px}.training-class-slot.is-filled{appearance:none;width:100%;text-align:left;cursor:pointer;font:inherit}.training-class-slot.is-filled em{display:block;margin-top:.45rem;color:#19437d;font-size:.68rem;font-style:normal;font-weight:900}.training-profile-modal-backdrop{position:fixed;inset:0;z-index:10020;background:rgba(18,33,52,.52);display:flex;align-items:center;justify-content:center;padding:24px}.training-profile-modal{width:min(920px,96vw);max-height:90vh;overflow:auto;background:#fffdf8;border:2px solid #f1be15;border-radius:24px;box-shadow:0 24px 70px rgba(0,0,0,.28);padding:22px}.training-profile-modal>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.training-profile-modal h2{margin:.2rem 0 .25rem;color:#17345b}.training-profile-modal p{margin:0;color:#5c6d86}.training-profile-loading{padding:2rem;text-align:center;color:#5c6d86;font-weight:800}.training-profile-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.training-profile-summary>div{border:1px solid #d3deea;border-radius:14px;background:#f7faff;padding:10px}.training-profile-summary strong,.training-profile-summary span{display:block}.training-profile-summary strong{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#19437d}.training-profile-summary span{margin-top:4px;color:#17345b;font-weight:800}.training-profile-history{margin:0 0 18px;padding:14px;border:1px solid #d3deea;border-radius:16px;background:#fff}.training-profile-history h3{margin:0 0 9px;color:#17345b}.training-profile-history>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid #e7edf3}.training-profile-history>div:first-of-type{border-top:0}.training-profile-history p{margin:0;color:#687890}.training-notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.training-notes-grid label{display:grid;gap:5px;color:#17345b}.training-notes-grid label small{color:#6a7890}.training-notes-grid textarea{width:100%;box-sizing:border-box;resize:vertical;border:1px solid #b8c8da;border-radius:14px;background:#fff;padding:10px 12px;color:#17345b;font:inherit}.training-notes-grid__wide{grid-column:1/-1}.training-profile-actions{display:flex;justify-content:flex-end;margin-top:16px}@media(max-width:800px){.training-profile-modal-backdrop{padding:10px}.training-profile-modal{padding:16px;border-radius:18px}.training-profile-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.training-notes-grid{grid-template-columns:1fr}.training-notes-grid__wide{grid-column:auto}}


/* Packages & Memberships */
.package-form{display:grid;gap:18px;padding:18px;border:1px solid rgba(25,67,125,.14);border-radius:22px;background:rgba(255,255,255,.55)}
.package-existing{margin-top:16px}.package-core-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.package-core-grid label,.package-form>label,.package-component-row label{display:grid;gap:6px;font-weight:700}.package-form input,.package-form select,.package-form textarea{width:100%}.package-form-heading,.package-components-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.package-form-heading>div:first-child,.package-components-head>div:first-child{display:grid;gap:4px}.package-form-heading span,.package-components-head span{font-size:.88rem;opacity:.72}.package-components{display:grid;gap:12px;padding:14px;border-radius:18px;background:rgba(25,67,125,.045)}.package-component-row{display:grid;grid-template-columns:minmax(240px,1fr) 130px auto;gap:12px;align-items:end;margin-top:10px}.package-management-list{display:grid;gap:14px}@media(max-width:900px){.package-core-grid{grid-template-columns:1fr 1fr}.package-component-row{grid-template-columns:1fr 110px}.package-component-row .pill-button{grid-column:1/-1;justify-self:start}}@media(max-width:620px){.package-core-grid{grid-template-columns:1fr}.package-form-heading,.package-components-head{align-items:flex-start;flex-direction:column}.package-component-row{grid-template-columns:1fr}}

/* BBH101 — compact Packages creator */
.package-form--compact{gap:14px}
.package-one-line{display:grid;grid-template-columns:minmax(185px,1.45fr) 118px 112px minmax(170px,1.35fr) 92px 70px 86px 102px 116px 72px 74px;gap:9px;align-items:end}
.package-one-line>label{display:grid;gap:5px;min-width:0;font-size:.82rem;font-weight:800;color:#16233a}
.package-one-line input,.package-one-line select{min-width:0;height:38px;padding:6px 9px;font-size:.9rem}
.package-one-line output{display:flex;align-items:center;justify-content:center;height:38px;padding:6px 9px;border:1px solid rgba(25,67,125,.22);border-radius:12px;background:#eef4fb;color:#19437d;font-weight:900}
.package-one-line .package-active{display:flex;align-items:center;justify-content:center;height:38px;margin:0;padding:0 8px;border:1px solid rgba(25,67,125,.18);border-radius:12px;background:#fff}
.package-one-line .package-active input{width:auto;height:auto;padding:0}
.package-one-line .package-active span{font-size:.82rem}
.package-field-name input{font-weight:700}
.package-components[hidden],[data-package-single-field][hidden],[data-package-expiration-days][hidden]{display:none!important}
.package-component-row{grid-template-columns:130px minmax(220px,1fr) 110px 80px auto}
.package-component-row output{display:flex;align-items:center;justify-content:center;min-height:38px;border:1px solid rgba(25,67,125,.18);border-radius:12px;background:#fff;font-weight:900;color:#19437d}
@media(max-width:1450px){.package-one-line{grid-template-columns:repeat(6,minmax(120px,1fr))}.package-field-name,.package-field-option{grid-column:span 2}}
@media(max-width:900px){.package-one-line{grid-template-columns:repeat(2,minmax(0,1fr))}.package-field-name,.package-field-option{grid-column:span 2}.package-component-row{grid-template-columns:1fr 1fr}.package-component-row .pill-button{grid-column:1/-1;justify-self:start}}
@media(max-width:620px){.package-one-line{grid-template-columns:1fr}.package-field-name,.package-field-option{grid-column:auto}.package-component-row{grid-template-columns:1fr}}

/* BBH102 package creator refinements */
.package-one-line--v2{grid-template-columns:minmax(220px,1.7fr) 120px 125px 88px 82px 122px 76px 84px;gap:8px;align-items:end}
.package-one-line--v2>label{font-size:.78rem}
.package-one-line--v2 input,.package-one-line--v2 select{height:36px;padding:5px 8px;font-size:.86rem}
.package-one-line--v2 .package-mini-field{max-width:96px}
.package-one-line--v2 .package-active{height:36px}
.package-option-picker,.package-price-strip{margin-top:10px;padding:10px 12px;border:1px solid rgba(25,67,125,.14);border-radius:14px;background:rgba(25,67,125,.035)}
.package-strip-title{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}
.package-strip-title strong{font-size:.84rem;color:#16233a}.package-strip-title span{font-size:.76rem;opacity:.68}
.package-option-chips{display:flex;flex-wrap:wrap;gap:7px}
.package-option-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid rgba(25,67,125,.24);border-radius:999px;background:#fff;font-size:.78rem;font-weight:800;cursor:pointer}
.package-option-chip input{width:auto!important;height:auto!important;margin:0}
.package-option-chip:has(input:checked){background:#eef4fb;border-color:#19437d;color:#19437d}
.package-price-tiers{display:flex;flex-wrap:wrap;gap:8px}
.package-price-tier{display:grid!important;grid-template-columns:auto;gap:3px!important;min-width:112px;max-width:132px;padding:7px 8px;border:1px solid rgba(25,67,125,.18);border-radius:12px;background:#fff}
.package-price-tier>span{font-size:.75rem;font-weight:900;color:#19437d}.package-price-tier>div{display:flex;align-items:center;gap:3px}.package-price-tier b{font-size:.85rem}.package-price-tier input{height:32px!important;min-width:0!important;padding:4px 5px!important;font-size:.82rem!important}.package-price-tier small{font-size:.67rem;opacity:.66;white-space:nowrap}
.package-option-picker[hidden]{display:none!important}
@media(max-width:1450px){.package-one-line--v2{grid-template-columns:minmax(190px,1.7fr) 115px 120px 85px 80px 115px 72px 80px}.package-strip-title{align-items:flex-start;flex-direction:column;gap:2px}}
@media(max-width:1050px){.package-one-line--v2{grid-template-columns:repeat(4,minmax(110px,1fr))}.package-one-line--v2 .package-field-name{grid-column:span 2}}
@media(max-width:700px){.package-one-line--v2{grid-template-columns:repeat(2,minmax(0,1fr))}.package-one-line--v2 .package-field-name{grid-column:1/-1}.package-one-line--v2 .package-mini-field{max-width:none}}


/* BBH104 package creator refinements */
.package-one-line--v3{
  display:grid;
  grid-template-columns:240px 145px 118px 92px 128px 78px 92px;
  column-gap:8px;
  row-gap:8px;
  align-items:end;
  justify-content:start;
}
.package-one-line--v3>label{display:grid;gap:5px;min-width:0;font-size:.78rem;font-weight:800;color:#16233a}
.package-one-line--v3 input,.package-one-line--v3 select{min-width:0;height:36px;padding:5px 8px;font-size:.86rem}
.package-one-line--v3 .package-field-name{width:240px;max-width:240px}
.package-one-line--v3 .package-field-name input{font-weight:700}
.package-one-line--v3 .package-mini-field{width:92px;max-width:92px}
.package-one-line--v3 .package-field-expiration{width:128px}
.package-one-line--v3 .package-expiration-days{width:78px}
.package-one-line--v3 .package-expiration-days.is-disabled{opacity:.48}
.package-one-line--v3 .package-expiration-days input:disabled{background:#eceff2;color:#7a8492;cursor:not-allowed}
.package-one-line--v3 .package-active{display:flex;align-items:center;justify-content:center;width:92px;height:36px;margin:0;padding:0 8px;border:1px solid rgba(25,67,125,.18);border-radius:12px;background:#fff}
.package-one-line--v3 .package-active input{width:auto;height:auto;padding:0}
.package-price-tier-row{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}
.package-price-tier-row [data-package-add-pet-wrap]{display:flex;align-items:flex-end}
.package-add-pet-tier{min-height:38px;white-space:nowrap}
.package-price-tier{min-width:142px;max-width:185px}
.package-price-tier .package-tier-savings{display:block;min-height:30px;margin-top:2px;line-height:1.25;color:#64748b;white-space:normal}
.package-price-tier .package-tier-savings.is-savings{color:#166534;font-weight:800}
@media(max-width:1150px){
  .package-one-line--v3{grid-template-columns:repeat(4,minmax(110px,1fr));justify-content:stretch}
  .package-one-line--v3 .package-field-name{grid-column:span 2;width:auto;max-width:none}
  .package-one-line--v3 .package-mini-field,.package-one-line--v3 .package-field-expiration,.package-one-line--v3 .package-expiration-days,.package-one-line--v3 .package-active{width:auto;max-width:none}
}
@media(max-width:760px){
  .package-one-line--v3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .package-one-line--v3 .package-field-name{grid-column:1/-1}
}


/* BBH105 package row collision fix */
.package-one-line--v3{
  grid-template-columns:240px 145px 118px 92px 138px 88px 92px;
  column-gap:10px;
}
.package-one-line--v3>label,
.package-one-line--v3 .package-active{min-width:0;box-sizing:border-box}
.package-one-line--v3 input,
.package-one-line--v3 select{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
.package-one-line--v3 .package-field-expiration{width:138px;max-width:138px}
.package-one-line--v3 .package-expiration-days{width:88px;max-width:88px}
.package-one-line--v3 .package-expiration-days input{width:100%!important;max-width:100%!important}
@media(max-width:1150px){
  .package-one-line--v3 .package-field-expiration,
  .package-one-line--v3 .package-expiration-days{width:auto;max-width:none}
}

/* BBH106 package creator desktop spacing correction */
.package-one-line--v3{
  grid-template-columns:280px 180px 150px 110px 180px 96px 104px;
  column-gap:12px;
  row-gap:8px;
  align-items:end;
  justify-content:start;
}
.package-one-line--v3 .package-field-name{width:auto;max-width:none}
.package-one-line--v3 .package-field-type{width:auto;max-width:none}
.package-one-line--v3 .package-field-service{width:auto;max-width:none}
.package-one-line--v3 .package-mini-field{width:auto;max-width:none}
.package-one-line--v3 .package-field-expiration{width:auto;max-width:none}
.package-one-line--v3 .package-expiration-days{width:auto;max-width:none}
.package-one-line--v3 .package-active{width:104px;max-width:104px}
.package-one-line--v3 input,
.package-one-line--v3 select{
  width:100%;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.package-one-line--v3 .package-field-type select,
.package-one-line--v3 .package-field-service select,
.package-one-line--v3 .package-field-expiration select{
  padding-left:12px;
  padding-right:30px;
}
.package-one-line--v3 .package-expiration-days input{width:100%!important;max-width:100%!important}
@media(max-width:1280px){
  .package-one-line--v3{grid-template-columns:240px 170px 140px 100px 170px 92px 100px;column-gap:10px}
  .package-one-line--v3 .package-active{width:100px;max-width:100px}
}
@media(max-width:1050px){
  .package-one-line--v3{grid-template-columns:repeat(4,minmax(130px,1fr));justify-content:stretch}
  .package-one-line--v3 .package-field-name{grid-column:span 2}
  .package-one-line--v3 .package-active{width:auto;max-width:none}
}


/* BBH107 package creator single-row desktop correction */
.package-one-line--v3{
  grid-template-columns:180px 155px 125px 105px 145px 72px 88px !important;
  column-gap:8px !important;
  row-gap:0 !important;
  align-items:end !important;
  justify-content:start !important;
}
.package-one-line--v3 .package-field-name{
  width:180px !important;
  max-width:180px !important;
  grid-column:auto !important;
  grid-row:auto !important;
}
.package-one-line--v3 .package-field-type{
  width:155px !important;
  max-width:155px !important;
  grid-column:auto !important;
}
.package-one-line--v3 .package-field-service{
  width:125px !important;
  max-width:125px !important;
  grid-column:auto !important;
}
.package-one-line--v3 .package-mini-field{
  width:105px !important;
  max-width:105px !important;
  grid-column:auto !important;
}
.package-one-line--v3 .package-field-expiration{
  width:145px !important;
  max-width:145px !important;
  grid-column:auto !important;
}
.package-one-line--v3 .package-expiration-days{
  width:72px !important;
  max-width:72px !important;
  grid-column:auto !important;
}
.package-one-line--v3 .package-active{
  width:88px !important;
  max-width:88px !important;
  grid-column:7 !important;
  grid-row:1 !important;
  align-self:end !important;
  justify-self:start !important;
}
.package-one-line--v3 .package-field-type select,
.package-one-line--v3 .package-field-service select,
.package-one-line--v3 .package-field-expiration select{
  padding-left:10px !important;
  padding-right:28px !important;
  text-overflow:clip !important;
}
@media(max-width:820px){
  .package-one-line--v3{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    row-gap:8px !important;
  }
  .package-one-line--v3 .package-field-name,
  .package-one-line--v3 .package-field-type,
  .package-one-line--v3 .package-field-service,
  .package-one-line--v3 .package-mini-field,
  .package-one-line--v3 .package-field-expiration,
  .package-one-line--v3 .package-expiration-days,
  .package-one-line--v3 .package-active{
    width:auto !important;
    max-width:none !important;
    grid-column:auto !important;
    grid-row:auto !important;
  }
  .package-one-line--v3 .package-field-name{grid-column:1/-1 !important}
}

/* BBH108 commerce drawer + package creator refinement */
.package-one-line--v3{
  grid-template-columns:180px 180px 140px 105px 145px 72px 88px !important;
}
.package-one-line--v3 .package-field-type{
  width:180px !important;
  max-width:180px !important;
}
.package-one-line--v3 .package-field-service{
  width:140px !important;
  max-width:140px !important;
}
.commerce-booking-workspace{display:grid;gap:16px}
.commerce-mode-switch{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.commerce-mode-switch .pill-button{min-width:118px}
.commerce-mode-switch .pill-button.is-active{box-shadow:0 0 0 3px rgba(241,190,21,.3)}
.commerce-panel{border:1px solid #c9d7e6;border-radius:18px;padding:16px;background:#fffdf8}
.commerce-panel[hidden]{display:none!important}
.commerce-panel-heading h4{margin:2px 0 4px}
.commerce-panel-heading p{margin:0;color:#5b6d89}
.commerce-package-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px}
.commerce-package-card{border:1px solid #c9d7e6;border-radius:16px;padding:14px;display:grid;gap:10px;background:#f7fbff}
.commerce-package-card>div:first-child{display:grid;gap:3px}
.commerce-package-card span{color:#5b6d89;font-size:.92rem}
.commerce-package-tier-list{display:flex;gap:7px;flex-wrap:wrap}
.commerce-package-tier-list span{border:1px solid #19437d;border-radius:999px;padding:4px 8px;color:#19437d;background:white;font-weight:700;font-size:.8rem}
.commerce-empty-state{border:1px dashed #b9cade;border-radius:16px;padding:16px;display:grid;gap:4px;color:#5b6d89}
.commerce-empty-state strong{color:#173b6b}
.commerce-empty-state--large{min-height:130px;place-content:center;text-align:center}
@media(max-width:900px){.commerce-mode-switch .pill-button{min-width:0;flex:1}.package-one-line--v3{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* BBH109 commerce sales + client account cards */
.booking-cart-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.booking-cart-actions .pill-button{width:100%;min-width:0}.commerce-package-card--selectable{display:flex;align-items:center;justify-content:space-between;gap:16px}.commerce-package-card--selectable>div:first-child{display:grid;gap:3px}.commerce-package-card--selectable small{color:var(--muted,#65718a)}.commerce-package-sale{display:flex;align-items:center;gap:12px;white-space:nowrap}.booking-cart-item--package{border-color:#d8b129}.client-secondary-card,.client-stored-cards-card{margin-top:28px;border:1px solid #d3dfec;border-radius:24px;background:#fffdf8;overflow:hidden}.client-commerce-content{min-height:150px}.client-package-list,.client-invoice-list{display:grid;gap:10px}.client-package-row,.client-invoice-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;padding:16px 18px;border:1px solid #d3dfec;border-radius:18px;background:#f8fbff}.client-package-row>div,.client-invoice-row>div{display:grid;gap:3px}.client-package-row>div:nth-child(2),.client-invoice-row>div:nth-child(2){text-align:right}.client-package-status,.client-invoice-status{text-transform:capitalize;font-weight:800;color:#19437D}.client-package-status.is-active{color:#2d6b42}.client-package-status.is-pending{color:#8a6a00}.client-commerce-empty{display:grid;gap:4px;padding:28px;color:#65718a}.client-commerce-empty strong{color:#17345f}.client-stored-cards-card{padding:24px}.client-stored-cards-card .section-heading-row{margin-bottom:12px}@media(max-width:900px){.commerce-package-card--selectable{align-items:flex-start;flex-direction:column}.client-package-row,.client-invoice-row{grid-template-columns:1fr}.client-package-row>div:nth-child(2),.client-invoice-row>div:nth-child(2){text-align:left}}

/* BBH110 commerce cart action alignment */
.booking-cart-actions{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important;width:100%!important}
.booking-cart-actions .pill-button{width:100%!important;min-width:0!important;max-width:none!important;margin:0!important}
.booking-cart-action-help{display:block;margin-top:7px;text-align:center;font-size:.72rem;line-height:1.25;color:#687890}
@media(max-width:640px){.booking-cart-actions{grid-template-columns:1fr!important}.booking-cart-action-help{text-align:left}}


/* BBH113 module settings + configurable appointment modules */
.bbh-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none}.bbh-toggle input{position:absolute;opacity:0;pointer-events:none}.bbh-toggle span{width:48px;height:26px;border-radius:999px;background:#b7c2d0;position:relative;border:1px solid rgba(25,67,125,.22);transition:.16s}.bbh-toggle span:after{content:"";position:absolute;width:20px;height:20px;left:3px;top:2px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:.16s}.bbh-toggle input:checked+span{background:#19437d;box-shadow:0 0 0 2px rgba(241,190,21,.28)}.bbh-toggle input:checked+span:after{transform:translateX(21px)}.bbh-toggle b{min-width:24px;color:#19437d;font-size:.82rem}.module-settings-list{display:grid;gap:8px}.module-setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 16px;border:1px solid rgba(25,67,125,.16);border-radius:16px;background:#fbfcfe}.module-setting-row>div{display:grid;gap:3px}.module-setting-row small{color:#5c6d88}.custom-module-settings-grid{display:grid;gap:12px}.custom-module-config{padding:16px;border:1px solid rgba(25,67,125,.16);border-radius:18px;background:#fbfcfe;display:grid;gap:14px}.custom-module-config__head{display:flex;justify-content:space-between;gap:16px;align-items:center}.custom-module-config__head>div{display:grid}.custom-module-config__head small{color:#60708a}.custom-terms-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.custom-terms-grid label,.custom-service-form label{display:grid;gap:5px;font-weight:800}.custom-week-grid{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:6px;margin:12px 0;overflow:auto}.custom-week-grid>div{border:1px solid rgba(25,67,125,.15);border-radius:12px;padding:8px;display:grid;gap:5px;min-width:130px}.custom-week-grid select{min-width:0}.custom-booking-workspace{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.custom-booking-workspace .daycare-estimate-bar{grid-column:1/-1}.custom-booking-workspace input[type=date],.custom-booking-workspace select{width:100%}.custom-calendar-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:12px}.custom-calendar-grid{display:grid;grid-template-columns:repeat(var(--custom-lanes,1),minmax(220px,1fr));border:1px solid rgba(25,67,125,.18);border-radius:16px;overflow:auto}.custom-calendar-lane{min-height:520px;border-right:1px solid rgba(25,67,125,.16)}.custom-calendar-lane:last-child{border-right:0}.custom-calendar-lane header{background:#214f87;color:white;font-weight:900;padding:12px}.custom-calendar-day{padding:12px;display:grid;align-content:start;gap:8px}.custom-calendar-appt{padding:10px;border:2px solid #19437d;border-radius:12px;background:#edf4fd;display:grid}.custom-calendar-appt span,.custom-calendar-appt small{color:#566984}.calendar-empty-label{color:#7b8798;font-style:italic}@media(max-width:900px){.custom-terms-grid{grid-template-columns:1fr 1fr}.custom-booking-workspace{grid-template-columns:1fr 1fr}}@media(max-width:620px){.custom-terms-grid,.custom-booking-workspace{grid-template-columns:1fr}}
.invoice-payment-panel .add-payment-form .payment-complete-button{margin-top:12px;width:100%}

/* BBH115 compact custom appointment module settings */
.custom-settings-section{display:grid;gap:14px}
.custom-service-inline{display:grid!important;grid-template-columns:minmax(240px,1.8fr) 120px 150px 110px minmax(180px,.8fr);gap:10px;align-items:end;width:100%}
.custom-service-inline>label{min-width:0;margin:0}
.custom-service-inline input{width:100%;box-sizing:border-box}
.custom-service-inline .check-line{height:44px;align-self:end;justify-content:center;border:1px solid rgba(25,67,125,.18);border-radius:14px;padding:0 12px;background:#fff}
.custom-service-inline .pill-button{width:100%;white-space:nowrap}
.custom-service-existing{padding:14px!important;border:1px solid rgba(25,67,125,.16);border-radius:18px;background:#fbfcfe}
.custom-service-list{display:grid;gap:10px}
.custom-staff-card{display:grid!important;gap:12px;width:100%}
.custom-staff-inline{display:grid;grid-template-columns:minmax(260px,1fr) 150px 110px minmax(190px,.55fr);gap:10px;align-items:end;width:100%}
.custom-staff-existing .custom-staff-inline{grid-template-columns:minmax(260px,1fr) 150px 110px}
.custom-staff-inline>label{min-width:0;margin:0}
.custom-staff-inline input{width:100%;box-sizing:border-box}
.custom-staff-inline .check-line{height:44px;justify-content:center;border:1px solid rgba(25,67,125,.18);border-radius:14px;padding:0 12px;background:#fff}
.custom-staff-create{width:100%;white-space:nowrap}
.custom-services-permissions{width:100%;box-sizing:border-box;margin:0;padding:10px 12px 12px;border:1px solid rgba(25,67,125,.18);border-radius:14px}
.custom-service-permission-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;width:100%}
.custom-service-permission-row .check-line{display:inline-flex;align-items:center;gap:8px;margin:0;padding:7px 12px;border:1px solid rgba(25,67,125,.15);border-radius:999px;background:#fff;white-space:nowrap}
.custom-staff-existing{padding:16px!important;border:1px solid rgba(25,67,125,.16);border-radius:18px;background:#fbfcfe}
.custom-staff-list{display:grid;gap:12px}
.custom-staff-actions{display:grid;grid-template-columns:1fr 220px;gap:10px;width:100%}
.custom-staff-actions .pill-button{width:100%}
@media(max-width:1050px){
  .custom-service-inline{grid-template-columns:minmax(220px,1fr) 105px 130px 100px}
  .custom-service-inline .custom-service-submit,.custom-service-inline .custom-service-delete{grid-column:auto/span 2}
  .custom-staff-inline{grid-template-columns:minmax(220px,1fr) 140px 105px}
  .custom-staff-create{grid-column:1/-1}
}
@media(max-width:720px){
  .custom-service-inline,.custom-staff-inline,.custom-staff-existing .custom-staff-inline{grid-template-columns:1fr 1fr!important}
  .custom-service-name,.custom-staff-name{grid-column:1/-1}
  .custom-service-submit,.custom-service-save,.custom-service-delete,.custom-staff-create{grid-column:auto!important}
  .custom-staff-actions{grid-template-columns:1fr 1fr}
}

/* BBH116 custom module settings alignment + no-scroll weekly schedule */
@media (min-width: 1101px){
  .custom-service-inline{
    grid-template-columns:minmax(260px,320px) 110px 140px 100px minmax(190px,240px)!important;
    justify-content:start!important;
    column-gap:12px!important;
  }
  .custom-service-existing{
    grid-template-columns:minmax(260px,320px) 110px 140px 100px 100px 100px!important;
  }
  .custom-service-inline .custom-service-submit{width:auto!important;min-width:190px!important}
  .custom-service-inline .custom-service-save,
  .custom-service-inline .custom-service-delete{width:auto!important;min-width:100px!important;padding-left:18px!important;padding-right:18px!important}

  .custom-staff-card,
  .custom-staff-existing{
    grid-template-columns:1fr!important;
    width:100%!important;
    min-width:0!important;
  }
  .custom-staff-inline{
    grid-template-columns:minmax(320px,1fr) 150px 110px 240px!important;
    width:100%!important;
  }
  .custom-staff-existing .custom-staff-inline{
    grid-template-columns:minmax(320px,1fr) 150px 110px!important;
  }
  .custom-services-permissions{
    grid-column:1/-1!important;
    width:100%!important;
    max-width:none!important;
  }
  .custom-week-grid{
    grid-column:1/-1!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    gap:8px!important;
  }
  .custom-week-grid>div{min-width:0!important;width:auto!important}
  .custom-week-grid select{width:100%!important;max-width:100%!important;min-width:0!important}
  .custom-staff-actions{
    display:flex!important;
    grid-column:1/-1!important;
    justify-content:flex-end!important;
    align-items:center!important;
    gap:10px!important;
    width:100%!important;
  }
  .custom-staff-actions .pill-button{width:auto!important;min-width:100px!important;padding-left:20px!important;padding-right:20px!important}
  .custom-staff-actions .pill-button--danger{min-width:100px!important;width:auto!important}
}

/* BBH117 custom appointment module compact forms + smart calendar */
@media(min-width:1100px){
  .custom-service-inline{grid-template-columns:280px 92px 120px 104px auto auto!important;gap:10px!important;justify-content:start!important;align-items:end!important}
  .custom-service-inline.custom-service-existing{grid-template-columns:280px 92px 120px 104px 92px 92px!important}
  .custom-service-inline .custom-service-name{width:280px!important;max-width:280px!important}
  .custom-service-inline .custom-service-minutes{width:92px!important;max-width:92px!important}
  .custom-service-inline .custom-service-price{width:120px!important;max-width:120px!important}
  .custom-service-inline .custom-service-active{width:104px!important;max-width:104px!important}
  .custom-service-inline .custom-service-submit{width:auto!important;min-width:210px!important;padding-left:22px!important;padding-right:22px!important}
  .custom-service-inline .custom-service-save,.custom-service-inline .custom-service-delete{width:auto!important;min-width:92px!important;padding-left:18px!important;padding-right:18px!important}
  .custom-staff-inline{grid-template-columns:minmax(320px,540px) 130px 104px auto!important;gap:10px!important;justify-content:start!important;align-items:end!important}
  .custom-staff-existing .custom-staff-inline{grid-template-columns:minmax(320px,540px) 130px 104px!important}
  .custom-staff-create{width:auto!important;min-width:230px!important;padding-left:22px!important;padding-right:22px!important}
  .custom-services-permissions{grid-column:1/-1!important;width:100%!important;max-width:none!important;margin-top:10px!important}
  .custom-service-permission-row{display:flex!important;flex-wrap:wrap!important;gap:8px!important;width:100%!important}
  .custom-week-grid{grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:8px!important;overflow:visible!important;width:100%!important}
  .custom-week-grid>div{min-width:0!important;width:auto!important}
  .custom-staff-actions{display:flex!important;justify-content:flex-end!important;gap:8px!important}
  .custom-staff-actions .pill-button{width:auto!important;min-width:88px!important;padding-left:18px!important;padding-right:18px!important}
  .custom-staff-actions .pill-button--danger{min-width:92px!important}
}
.custom-calendar-toolbar .calendar-view-switch{margin-left:auto}
.custom-smart-calendar-lane{position:relative}
.custom-appointment-block{position:absolute;left:8px;right:8px;z-index:5;overflow:hidden}

/* BBH118 custom module empty-calendar shell */
.custom-calendar-empty-header strong{opacity:.8}
.custom-calendar-empty-lane{position:relative}
.custom-calendar-empty-message{
  position:absolute;
  top:110px;
  left:18px;
  right:18px;
  display:flex;
  flex-direction:column;
  gap:4px;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#60708b;
  pointer-events:none;
}
.custom-calendar-empty-message strong{color:#19437D}
/* BBH121 custom appointment cards and shared-family sessions */
.custom-appointment-block[type="button"]{appearance:none;text-align:left;cursor:pointer;font:inherit}
.custom-appointment-block[type="button"]:focus-visible{outline:3px solid #f1be15;outline-offset:2px}
.custom-session-pets{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 16px;padding:10px;border:1px solid #d3deea;border-radius:14px;background:#f7faff}
.custom-session-pets .pill-button.is-active{box-shadow:0 0 0 4px rgba(241,190,21,.22)}


/* BBH122 tenant-aware booking labels + perfectly aligned stacked actions */
.booking-row-actions--grouped{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  align-items:start!important;
  min-width:430px;
}
.booking-service-actions{
  display:grid!important;
  grid-template-columns:120px auto!important;
  align-items:center!important;
  column-gap:10px!important;
  width:100%!important;
}
.booking-action-service-label{
  width:120px;
  min-width:120px;
  max-width:120px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:700;
}
.booking-action-button-set{
  display:grid;
  grid-template-columns:92px 72px 88px;
  gap:8px;
  align-items:center;
  justify-content:start;
}
.booking-action-button-set .pill-button{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}
.booking-invoice-services{
  display:grid;
  gap:8px;
}
.booking-invoice-service-line{
  min-height:38px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.booking-invoice-statuses .booking-invoice-service-line{
  align-items:flex-start;
}
@media(max-width:900px){
  .booking-row-actions--grouped{min-width:360px}
  .booking-service-actions{grid-template-columns:100px auto!important}
  .booking-action-service-label{width:100px;min-width:100px;max-width:100px}
  .booking-action-button-set{gap:6px!important}
}

/* BBH123 Sales Reports + client On Account / Wallet */
.payment-method-tab--account{
  background:#a52424!important;
  color:#fff!important;
  font-weight:800!important;
  border-color:#F1BE15!important;
}
.payment-method-tab--account:disabled{opacity:.45}
.payment-method-tab--wallet{font-weight:800}
.wallet-availability{font-size:.82rem;color:#60708b;margin:-2px 0 8px}
.sales-report-tabs{margin-top:18px}
.sales-report-tab-content{min-height:260px}
.report-metric-grid--sales{grid-template-columns:repeat(3,minmax(0,1fr))}
.metric-card--total{border-color:#F1BE15}
.metric-card--due strong{color:#b51f2e}
.report-footnote{margin:12px 0 0;color:#60708b;font-size:.9rem}
.sales-report-table--account .sales-report-row{grid-template-columns:1.2fr 1fr 1.4fr 1fr .8fr .8fr .9fr}
.client-account-summary{display:grid;gap:16px}
.client-balance-hero{display:flex;align-items:center;justify-content:space-between;border:1px solid #cbd8e8;border-radius:18px;padding:18px 22px;background:#f5f9ff}
.client-balance-hero span{font-weight:700;color:#60708b}
.client-balance-hero strong{font-size:2rem;color:#19437D}
.client-balance-hero.is-owed strong{color:#b51f2e}
.client-balance-hero.is-wallet strong{color:#13853f}
.client-account-ledger h4{margin:0 0 10px}
.client-scroll-ledger{max-height:310px;overflow:auto;border:1px solid #d5dfec;border-radius:16px;background:#fff}
.client-ledger-row{display:grid;grid-template-columns:1.1fr .9fr 1.4fr .8fr;gap:12px;align-items:center;width:100%;padding:12px 14px;border:0;border-bottom:1px solid #e1e7ef;background:transparent;text-align:left;color:#17233b}
button.client-ledger-row{cursor:pointer}
button.client-ledger-row:hover{background:#f6f9fd}
.client-ledger-row:last-child{border-bottom:0}
.client-ledger-row span{display:flex;flex-direction:column}
.client-ledger-row small{color:#71809a}
@media(max-width:900px){
  .report-metric-grid--sales{grid-template-columns:repeat(2,minmax(0,1fr))}
  .client-ledger-row{grid-template-columns:1fr 1fr}
}

/* BBH124 client finance + package credit management */
.client-finance-action-strip,.comp-credit-creator{border:1px solid #d5dfec;border-radius:16px;padding:14px;background:#f7f9fc;display:grid;gap:10px}
.client-finance-action-strip>div:first-child{display:flex;flex-direction:column;gap:2px}.client-finance-action-strip>div:first-child span{font-size:.86rem;color:#66758f}
.client-finance-mini{display:grid;grid-template-columns:130px 90px minmax(240px,1fr);gap:8px;align-items:end}
.client-finance-mini[data-client-finance-mini="account"]{grid-template-columns:minmax(250px,1fr) 120px 90px minmax(220px,1fr)}
.client-finance-mini label,.comp-credit-one-line label,.package-entitlement-row label{display:grid;gap:4px;font-weight:700;font-size:.82rem}
.client-finance-mini input,.client-finance-mini select,.comp-credit-one-line input,.comp-credit-one-line select,.package-entitlement-row input{min-width:0;width:100%;box-sizing:border-box}
.client-finance-mini-actions{display:flex;gap:8px;justify-content:flex-start}
.client-package-record--editable{display:grid;grid-template-columns:minmax(220px,1fr) 170px auto;gap:12px}
.package-entitlement-list{grid-column:1/-1;display:grid;gap:7px;margin-top:6px}
.package-entitlement-row{display:grid;grid-template-columns:minmax(150px,1fr) 100px 78px minmax(170px,1fr) 80px;gap:7px;align-items:end;border-top:1px solid #dbe3ee;padding-top:7px}
.package-entitlement-row>span{display:flex;flex-direction:column}.package-entitlement-row small{color:#6d7a91}
.comp-credit-list{display:grid;gap:8px;margin:12px 0}.comp-credit-list h4{margin:0}
.comp-credit-row{display:grid;grid-template-columns:1fr 1.4fr auto;gap:12px;border:1px solid #d8e1ed;border-radius:14px;padding:10px 12px;align-items:center}.comp-credit-row>span{display:flex;flex-direction:column}.comp-credit-row small{color:#6d7a91}.comp-credit-editor{grid-column:1/-1;display:grid;grid-template-columns:120px 88px minmax(180px,1fr) auto;gap:8px;align-items:end;border-top:1px solid #dbe3ee;padding-top:8px}.comp-credit-editor[hidden]{display:none}.comp-credit-editor label{display:grid;gap:4px;font-weight:700;font-size:.82rem}.comp-credit-editor input{min-width:0;width:100%;box-sizing:border-box}
.comp-credit-creator{margin-top:14px}.comp-credit-one-line{display:grid;grid-template-columns:105px 145px minmax(175px,1fr) 70px 72px minmax(200px,1.2fr) auto;gap:7px;align-items:end}
@media(max-width:1100px){.client-finance-mini,.client-finance-mini[data-client-finance-mini="account"]{grid-template-columns:repeat(2,minmax(0,1fr))}.package-entitlement-row{grid-template-columns:repeat(2,minmax(0,1fr))}.comp-credit-editor{grid-template-columns:repeat(2,minmax(0,1fr))}.comp-credit-one-line{grid-template-columns:repeat(3,minmax(0,1fr))}.comp-credit-one-line .comp-reason{grid-column:span 2}}

/* BBH125 portal package availability + flash sales */
.package-one-line--v3{grid-template-columns:minmax(210px,1.15fr) minmax(155px,.82fr) minmax(145px,.78fr) 120px minmax(150px,.78fr) 92px minmax(170px,.88fr) 110px!important}
.package-portal{white-space:nowrap}
.flash-sale-section{border-color:#f1be15}
.flash-sale-form{display:grid;gap:14px}.flash-sale-existing{border:1px solid #d8e1ed;border-radius:18px;padding:16px;margin-top:14px;background:#fff}
.flash-sale-one-line{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(210px,1fr) 155px 145px 135px 120px;gap:10px;align-items:end}
.flash-sale-controls-row{display:grid;grid-template-columns:160px 130px 130px minmax(170px,.8fr) 110px;gap:10px;align-items:end}
.flash-sale-form label{display:grid;gap:5px;font-weight:700}.flash-sale-form input,.flash-sale-form select{min-width:0;width:100%;box-sizing:border-box}
.flash-sale-form .check-line{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border:1px solid #d4deea;border-radius:14px;padding:0 12px}.flash-sale-form .check-line input{width:auto}
.flash-sale-badge{display:inline-flex;align-items:center;border-radius:999px;background:#a52424;color:#fff;font-weight:800;padding:4px 9px;font-size:.78rem;margin-right:7px}
.commerce-package-card--flash{border:2px solid #f1be15;background:#fff8df}.commerce-package-card--flash .commerce-package-sale>strong{color:#a52424}
.flash-sale-meta{color:#a52424!important;font-weight:700}
@media(max-width:1300px){.flash-sale-one-line{grid-template-columns:repeat(3,minmax(0,1fr))}.flash-sale-controls-row{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* BBH126 portal toggle cleanup + unavoidable service credit application */
.package-one-line--v3{grid-template-columns:minmax(210px,1.1fr) minmax(175px,.9fr) minmax(155px,.82fr) 120px minmax(160px,.82fr) 92px 150px 92px!important;align-items:end}
.package-one-line--v3 .package-portal,.package-one-line--v3 .package-active{display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;height:36px!important;min-width:0!important;margin:0!important;padding:0 9px!important;border:1px solid rgba(25,67,125,.18)!important;border-radius:12px!important;background:#fff!important;box-sizing:border-box!important;overflow:hidden}
.package-one-line--v3 .package-portal{width:150px!important;max-width:150px!important;grid-column:7}.package-one-line--v3 .package-active{width:92px!important;max-width:92px!important;grid-column:8}
.package-one-line--v3 .package-portal input,.package-one-line--v3 .package-active input{width:auto!important;height:auto!important;flex:0 0 auto}.package-one-line--v3 .package-portal span,.package-one-line--v3 .package-active span{font-size:.78rem!important;white-space:nowrap!important;line-height:1!important}
.invoice-credit-card{border:2px solid #f1be15;border-radius:16px;padding:13px;background:#fffaf0;display:grid;gap:10px}.invoice-credit-card__head{display:flex;align-items:center;justify-content:space-between;gap:10px}.invoice-credit-card__head>div{display:flex;flex-direction:column;gap:2px}.invoice-credit-card__head span{font-weight:900;color:#19437d;text-transform:uppercase;letter-spacing:.05em;font-size:.82rem}.invoice-credit-card__head small{color:#68758b;font-size:.76rem}.invoice-credit-empty{display:flex;flex-direction:column;gap:3px;color:#68758b;font-size:.82rem;padding:8px 2px}.invoice-credit-empty strong{color:#17233b}.invoice-credit-pet{display:grid;grid-template-columns:1fr;gap:8px;padding:10px;border:1px solid #d7e0eb;border-radius:12px;background:#fff;min-width:0}.invoice-credit-meta{display:grid!important;grid-template-columns:minmax(72px,.72fr) minmax(0,1.55fr) auto;gap:8px;align-items:center;min-width:0;width:100%;box-sizing:border-box}.invoice-credit-pet-name{font-size:1rem;color:#17233b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.invoice-credit-service{font-size:.82rem;color:#68758b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.invoice-credit-date{font-size:.82rem;color:#68758b;white-space:nowrap;text-align:right;min-width:74px}.invoice-credit-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(142px,auto);gap:8px;align-items:center;min-width:0;width:100%;box-sizing:border-box}.invoice-credit-controls select{min-width:0;width:100%;max-width:100%;box-sizing:border-box}.invoice-credit-controls .pill-button{white-space:nowrap;max-width:100%}.invoice-credit-pet.is-applied{background:#edf8f0;border-color:#a9d8b4}.invoice-credit-controls--applied{grid-template-columns:minmax(0,1fr) auto}.invoice-credit-applied-copy{display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-between;gap:10px;padding:0 2px}.invoice-credit-applied-copy span{font-size:.76rem;color:#43845a;font-weight:700}.invoice-credit-applied-copy strong{color:#13853f}.invoice-credit-pet.is-applied .invoice-credit-date{color:#43845a}@media(max-width:620px){.invoice-credit-meta{grid-template-columns:minmax(70px,.75fr) minmax(0,1fr) auto}.invoice-credit-controls{grid-template-columns:1fr}.invoice-credit-controls .pill-button{width:100%}}
@media(max-width:1200px){.package-one-line--v3{grid-template-columns:repeat(4,minmax(0,1fr))!important}.package-one-line--v3 .package-portal,.package-one-line--v3 .package-active{grid-column:auto;width:auto!important;max-width:none!important}}

/* BBH129 Belongings Management + Drop Off Ticket */
.booking-cart-dropoff-ticket{width:100%;margin:12px 0 10px;background:#F1BE15!important;color:#17233b!important;border-color:#19437D!important;font-weight:900}
.booking-cart-dropoff-ticket:disabled{background:#e3d9a6!important;color:#7b7460!important;border-color:#c9bd80!important}
.belongings-mode-toggle{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #ccd8e7;border-radius:999px;overflow:hidden;max-width:900px}
.belongings-mode-option{border:0;border-right:1px solid #ccd8e7;background:#fff;color:#19437D;font-weight:800;padding:14px 18px;cursor:pointer}
.belongings-mode-option:last-child{border-right:0}.belongings-mode-option.is-active{background:#19437D;color:#fff}
.belongings-create-row{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;align-items:end}
.belongings-bulk-row{display:grid;grid-template-columns:minmax(220px,1fr) 150px 150px auto;gap:14px;align-items:end;min-width:0}.belongings-bulk-row label{min-width:0}.belongings-bulk-row input{width:100%;min-width:0;box-sizing:border-box}
.belongings-create-row label,.belongings-bulk-row label{display:grid;gap:5px;font-weight:800}
.belongings-bin-list{display:grid;gap:8px}.belongings-bin-row{display:grid;grid-template-columns:minmax(220px,1fr) 130px auto;gap:12px;align-items:end;border:1px solid #d5dfec;border-radius:14px;padding:10px 12px;min-width:0}.belongings-bin-row label{display:grid;gap:4px;font-weight:800;min-width:0}.belongings-bin-row input[type='text']{width:100%;min-width:0;box-sizing:border-box}.belongings-bin-active{display:flex!important;align-items:center;gap:8px;min-height:42px}.belongings-bin-active input{width:auto!important}.belongings-bin-row-actions{display:flex;gap:8px;align-items:center}
.roster-belongings-stack{display:grid;gap:7px;min-width:260px}.roster-belongings-row{display:grid;grid-template-columns:80px minmax(100px,.8fr) minmax(150px,1.3fr) auto;gap:6px;align-items:center}
.roster-belongings-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster-belongings-row select,.roster-belongings-row input{min-width:0;width:100%}
.bookings-status--paid,.booking-status--paid,.status-paid,.bookings-table .paid{background:#dff4e4!important;color:#13853f!important}
.bookings-status--on-account,.booking-status--on-account,.status-on-account,.bookings-table .on-account{background:#fde7e7!important;color:#a52424!important}
@media(max-width:1050px){.belongings-mode-toggle{grid-template-columns:repeat(2,1fr);border-radius:18px}.belongings-bulk-row{grid-template-columns:1fr 1fr}.belongings-bulk-row .pill-button{grid-column:1/-1;justify-self:start}.belongings-bin-row{grid-template-columns:1fr auto}.belongings-bin-row-actions{grid-column:1/-1}.roster-belongings-row{grid-template-columns:1fr 1fr}.roster-belongings-row strong{grid-column:1/-1}}

.booking-status--paid{background:#dff4e4!important;color:#13853f!important;border-color:#9fd4ae!important}
.booking-status--on-account{background:#fde8e8!important;color:#a52424!important;border-color:#e0a9a9!important}

/* BBH131 dynamic Drop Off Ticket action + drawer belongings mini-module */
.belongings-ticket-legend{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}
.belongings-ticket-legend>div{border:1px solid #d5dfec;border-radius:13px;padding:10px 12px;background:#f8fafc;display:flex;flex-direction:column;gap:3px}
.belongings-ticket-legend strong{color:#19437D}.belongings-ticket-legend span{font-size:.82rem;color:#66758f;line-height:1.35}
.booking-belongings-mini{border:1px solid #d7e0eb;border-radius:13px;background:#f7f9fc;padding:9px 10px;margin:8px 0 12px;display:grid;gap:7px}
.booking-belongings-mini__heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
.booking-belongings-mini__heading>div{display:flex;align-items:center;gap:8px}.booking-belongings-mini__heading .eyebrow{font-size:.68rem;margin:0}.booking-belongings-mini__heading strong{font-size:.88rem;color:#17233b}.booking-belongings-mini__heading small{font-size:.72rem;color:#6d7a91}
.booking-belongings-mini__rows{display:grid;gap:6px}.booking-belongings-mini__rows>span{font-size:.78rem;color:#7a879b}
.booking-belongings-mini__row{display:grid;grid-template-columns:minmax(70px,.65fr) minmax(105px,.85fr) minmax(150px,1.5fr);gap:7px;align-items:center}
.booking-belongings-mini__row strong{font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-belongings-mini__row select,.booking-belongings-mini__row input{min-width:0;width:100%;box-sizing:border-box;height:34px;padding:5px 8px;font-size:.8rem}
@media(max-width:1050px){.belongings-ticket-legend{grid-template-columns:repeat(2,1fr)}.booking-belongings-mini__row{grid-template-columns:80px 1fr}.booking-belongings-mini__row input{grid-column:1/-1}}


/* BBH133 belongings drawer width correction */
.booking-drawer-panel .booking-belongings-mini{
  grid-column:1/-1!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.booking-belongings-mini__heading{width:100%;min-width:0}
.booking-belongings-mini__rows{width:100%;min-width:0}
.booking-belongings-mini__row{
  width:100%;
  grid-template-columns:minmax(78px,.55fr) minmax(105px,.45fr) minmax(0,2.25fr)!important;
}
.booking-belongings-mini__row select{max-width:170px}
@media(max-width:720px){
  .booking-belongings-mini__row{grid-template-columns:78px minmax(105px,.7fr) minmax(0,1.6fr)!important}
  .booking-belongings-mini__row select{max-width:none}
}

/* BBH136 Dashboard Care Cards + Guest Belongings */
.dashboard-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch}.dashboard-care-card,.dashboard-belongings-card{min-height:300px}@media(max-width:1000px){.dashboard-data-grid{grid-template-columns:1fr!important}}

/* BBH137 Dashboard Care Card filters */
.dashboard-care-card>header{align-items:flex-start}
.dashboard-care-filters{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}
.dashboard-care-filter{appearance:none;border:1.5px solid #19437D;background:#fff;color:#19437D;border-radius:999px;padding:3px 8px;font-size:.69rem;font-weight:900;line-height:1.15;cursor:pointer;white-space:nowrap}
.dashboard-care-filter.is-active{border-color:#F1BE15;box-shadow:0 0 0 1px #F1BE15;background:#fff;color:#19437D}

/* BBH138 Care Cards dashboard pet sub-cards */
.dashboard-care-list{display:grid;gap:8px}
.dashboard-care-pet-card{border:1px solid #d6dfeb;border-radius:13px;background:#fff;padding:8px 10px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.dashboard-care-pet-main{min-width:0}.dashboard-care-pet-main strong{display:block;color:#17233b;font-size:.9rem}.dashboard-care-pet-main small{display:block;color:#68758b;font-size:.72rem;margin-top:1px}
.dashboard-care-pet-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}

.dashboard-care-row-print{width:34px;height:34px;border:2px solid #19437D;border-radius:999px;background:#fff;color:#19437D;display:inline-grid;place-items:center;font-size:1rem;font-weight:900;line-height:1;cursor:pointer;padding:0}
.dashboard-care-row-print:hover{background:#f4f7fb}
.dashboard-open-med-card{background:#a52424!important;color:#fff!important;border-color:#F1BE15!important}
.dashboard-open-med-card:hover,.dashboard-open-med-card:focus{background:#a52424!important;color:#fff!important}
@media(max-width:800px){.dashboard-care-pet-card{grid-template-columns:1fr}.dashboard-care-pet-actions{justify-content:flex-start}}
/* BBH140 daily Report Cards */
.report-card-toolbar{display:flex;align-items:end;gap:.55rem}.report-card-toolbar label{display:grid;gap:.25rem;font-weight:800;color:#19437d}.report-card-toolbar input{border:1px solid #b9c8d9;border-radius:999px;padding:.45rem .7rem;background:#fff}.report-card-summary{margin:.9rem 0;padding:.65rem .85rem;border-radius:14px;background:#f5f8fc;color:#42546b}.report-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.report-card-record{padding:1rem;display:grid;gap:.8rem}.report-card-record>header{display:flex;justify-content:space-between;gap:.8rem;border-bottom:1px solid #dce4ec;padding-bottom:.65rem}.report-card-record h3{margin:.15rem 0;color:#17365f}.report-card-record h3 small{font-size:.7em;color:#6a788c}.report-card-status{align-self:start;border-radius:999px;padding:.28rem .55rem;font-size:.67rem;font-weight:900;text-transform:uppercase;background:#dfe6ee;color:#32465d}.report-card-status--ready{background:#fff0a8;color:#5f4900}.report-card-status--sent{background:#dcefe5;color:#1d6844}.report-card-care-list{display:grid;gap:.35rem;margin-top:.5rem}.report-card-care-list>div{display:grid;grid-template-columns:minmax(150px,1fr) auto;gap:.2rem .7rem;padding:.45rem .55rem;border:1px solid #e1e7ee;border-radius:10px;background:#fff}.report-card-care-list span,.report-card-care-list small{font-size:.72rem;color:#68778b}.report-card-care-list small{grid-column:1/-1}.report-card-care-empty{padding:.5rem;color:#718097}.report-card-fields{display:grid;gap:.65rem}.report-card-fields label,.report-card-record footer label,.report-card-settings-form label{display:grid;gap:.3rem;font-weight:800;color:#294664}.report-card-fields textarea,.report-card-record select,.report-card-settings-form input{width:100%;border:1px solid #bdcad8;border-radius:12px;background:#fff;padding:.55rem .65rem;font:inherit;color:#1b2b40}.report-card-fields textarea{resize:vertical}.report-card-record footer{display:flex;align-items:end;gap:.55rem;flex-wrap:wrap}.report-card-record footer label{min-width:130px}.report-card-record footer small{color:#718097}.report-card-record .is-sent{background:#aeb5bf!important;border-color:#8f98a5!important;box-shadow:none!important}.report-card-settings-form{display:grid;gap:.8rem;max-width:780px}.report-card-settings-form .settings-toggle{display:flex;align-items:center;gap:.5rem}.report-card-settings-form .settings-toggle input{width:auto}.report-card-settings-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}@media(max-width:900px){.report-card-grid{grid-template-columns:1fr}}@media(max-width:650px){.report-card-settings-form .form-grid{grid-template-columns:1fr}}
.dashboard-report-card-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:auto}.dashboard-report-card-status{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;margin:1rem 0}.dashboard-report-card-status div{border:1px solid #dce4ec;border-radius:12px;padding:.65rem;background:#fff}.dashboard-report-card-status strong{display:block;font-size:1.35rem;color:#19437d}.dashboard-report-card-status small{color:#718097}.dashboard-incident-card .empty-state{min-height:12rem;display:grid;place-items:center;text-align:center}

/* BBH141 Dashboard Report + Incident pet sub-cards */
.dashboard-report-list,.dashboard-incident-list{display:grid;gap:8px}
.dashboard-report-pet-card,.dashboard-incident-pet-card{width:100%}
.dashboard-email-parent.is-sent{background:#aeb5bf!important;border-color:#8f98a5!important;box-shadow:none!important;color:#fff!important}
.report-card-record.is-dashboard-focus{box-shadow:0 0 0 2px #F1BE15,0 8px 28px rgba(25,67,125,.12)}

/* Report Card roster-backed friends + edit audit */
.dashboard-card-edited{margin-left:auto;padding:0 .8rem;color:#16803c;font-size:.76rem;font-weight:900;white-space:nowrap;align-self:center}
.report-card-edited{margin-top:.25rem;color:#16803c;font-size:.76rem;font-weight:900}
.report-card-friend-picker{border:1px solid #bdcad8;border-radius:12px;background:#fff;font-weight:600;color:#1b2b40;overflow:visible}
.report-card-friend-picker>summary{cursor:pointer;padding:.65rem .75rem;list-style:none;color:#52657c;font-weight:800}
.report-card-friend-picker>summary::-webkit-details-marker{display:none}
.report-card-friend-picker>summary:after{content:'▾';float:right;color:#19437d}
.report-card-friend-picker[open]>summary:after{content:'▴'}
.report-card-friend-options{display:grid;max-height:240px;overflow:auto;border-top:1px solid #dce4ec;padding:.35rem}
.report-card-friend-options label{display:flex!important;align-items:center;gap:.6rem;padding:.5rem .55rem;border-radius:9px;color:#1b2b40!important;font-weight:700!important}
.report-card-friend-options label:hover{background:#f5f8fc}
.report-card-friend-options input{width:auto!important;margin:0;accent-color:#19437d}
.report-card-friend-options span{display:grid;gap:.05rem}
.report-card-friend-options small{color:#718097;font-size:.7rem;text-transform:capitalize}
.report-card-friends-empty{border:1px dashed #bdcad8;border-radius:12px;padding:.65rem .75rem;color:#718097;font-weight:600}
.report-card-resend-hint{color:#19437d;font-weight:800}
.report-cards-shell.is-isolated .report-card-grid{grid-template-columns:minmax(0,1fr)}
@media(max-width:720px){.dashboard-card-edited{width:100%;margin-left:0;padding:.2rem 0}.dashboard-care-pet-card{flex-wrap:wrap}}

/* BBH Report Card photo delivery + dashboard audit alignment */
.dashboard-care-pet-actions-wrap{display:grid;justify-items:end;gap:4px;min-width:0}
.dashboard-care-pet-actions-wrap .dashboard-card-edited{margin:0;padding:0;color:#16803c;font-size:.72rem;font-weight:900;white-space:nowrap;text-align:right}
.report-card-photo-field{display:grid;gap:.55rem;padding-top:.2rem}
.report-card-photo-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}
.report-card-photo-heading>div{display:grid;gap:.15rem;color:#294664}
.report-card-photo-heading strong{font-weight:900}
.report-card-photo-heading small{font-size:.72rem;color:#718097;font-weight:600}
.report-card-photo-add{cursor:pointer;white-space:nowrap;color:#fff!important}
.report-card-photo-add:hover,.report-card-photo-add:focus-within{color:#fff!important}
.report-card-photo-limit{font-size:.72rem;font-weight:900;color:#718097}
.report-card-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}
.report-card-photo-grid figure{position:relative;margin:0;aspect-ratio:4/3;border-radius:14px;overflow:hidden;border:1px solid #d4deea;background:#f4f7fa}
.report-card-photo-grid img{display:block;width:100%;height:100%;object-fit:cover}
.report-card-photo-remove{position:absolute;top:7px;right:7px;width:28px;height:28px;border:0;border-radius:999px;background:rgba(23,35,59,.82);color:#fff;font-size:20px;line-height:1;cursor:pointer;display:grid;place-items:center}
.report-card-photo-empty{grid-column:1/-1;border:1px dashed #bdcad8;border-radius:12px;padding:.75rem;color:#718097;font-size:.78rem}
@media(max-width:720px){.dashboard-care-pet-actions-wrap{justify-items:start}.dashboard-care-pet-actions-wrap .dashboard-card-edited{text-align:left}.report-card-photo-grid{grid-template-columns:1fr}}

/* BBH dashboard print controls */
.dashboard-header-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.dashboard-print-icon{appearance:none;width:38px;height:38px;border:2px solid #19437D;border-radius:999px;background:#fff;color:#19437D;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:8px;transition:none}
.dashboard-print-icon svg{width:20px;height:20px;display:block}
.dashboard-print-icon:focus-visible{outline:3px solid rgba(120,174,239,.7);outline-offset:2px}
.dashboard-care-filter--med{border-color:#a92626;color:#a92626}
.dashboard-care-filter--med.is-active{border-color:#F1BE15;background:#a92626;color:#fff;box-shadow:0 0 0 1px #F1BE15}

/* BBH client/pet profile compact identity + photo/history */
.pet-profile-topline{display:grid;grid-template-columns:118px repeat(4,minmax(135px,.72fr));gap:.75rem;align-items:end;margin-bottom:1rem}.pet-profile-topline>label{min-width:0}.pet-profile-topline input,.pet-profile-topline select{width:100%}.pet-photo-field{display:grid;gap:.35rem;align-self:stretch}.pet-photo-field>span{font-weight:800;color:#19437d}.pet-photo-control{position:relative;width:104px;height:104px}.pet-photo-thumb,.pet-photo-placeholder{width:104px;height:104px;border:2px solid #d2ddeb;border-radius:18px;background:#fff;overflow:hidden;padding:0;cursor:pointer}.pet-photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.pet-photo-placeholder{display:grid;place-content:center;text-align:center;color:#19437d;gap:.1rem}.pet-photo-placeholder strong{font-size:1rem}.pet-photo-placeholder small{font-size:.65rem;color:#718097}.pet-photo-delete{position:absolute;right:-7px;top:-7px;width:24px;height:24px;border:2px solid #fff;border-radius:50%;background:#b6252b;color:#fff;font-size:18px;font-weight:900;line-height:18px;display:grid;place-items:center;cursor:pointer;z-index:2}.pet-photo-change{position:absolute;left:50%;bottom:-26px;transform:translateX(-50%);border:0;background:transparent;color:#19437d;font-size:.67rem;font-weight:800;white-space:nowrap;cursor:pointer}.pet-profile-details-grid{margin-top:.45rem}.portal-access-control .binary-segmented{display:grid;grid-template-columns:1fr 1fr;width:180px;overflow:hidden}.portal-access-control .binary-segmented label{min-width:0}.portal-access-control .binary-segmented span{width:100%;min-width:0;padding:.35rem .75rem}.pet-history-list{display:grid;gap:.65rem}.pet-history-row{display:grid;grid-template-columns:minmax(190px,1fr) minmax(150px,.65fr) auto;gap:1rem;align-items:center;padding:.8rem 1rem;border:1px solid #d5dfeb;border-radius:16px;background:#fff}.pet-history-row div{display:grid;gap:.15rem}.pet-history-row span,.pet-history-row small{color:#687792}.pet-photo-lightbox{position:fixed;inset:0;z-index:10000;background:rgba(12,23,41,.78);display:grid;place-items:center;padding:4vw}.pet-photo-lightbox img{max-width:min(900px,90vw);max-height:86vh;border-radius:22px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.35)}.pet-photo-lightbox-close{position:fixed;top:24px;right:28px;width:46px;height:46px;border:2px solid #fff;border-radius:50%;background:#b6252b;color:#fff;font-size:30px;font-weight:900;cursor:pointer}@media(max-width:1050px){.pet-profile-topline{grid-template-columns:118px repeat(2,minmax(150px,1fr))}.pet-history-row{grid-template-columns:1fr auto}}@media(max-width:700px){.pet-profile-topline{grid-template-columns:110px 1fr}.pet-history-row{grid-template-columns:1fr}.pet-photo-control,.pet-photo-thumb,.pet-photo-placeholder{width:96px;height:96px}}

/* BBH141 Incident / Illness Reports */
.incident-report-shell{display:grid;gap:16px}.incident-report-summary{padding:10px 14px;border:1px solid #d8e1eb;border-radius:13px;background:#f8fafc;color:#53647a}.incident-report-grid{display:grid;gap:14px}.incident-report-record{border:1px solid #d7e0ea;border-radius:16px;background:#fff;overflow:hidden}.incident-report-record>header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:16px 18px;background:#f8fafc;border-bottom:1px solid #e2e8ef}.incident-report-record h3{margin:3px 0 0;color:#19437d}.incident-report-record h3 small{font-size:.8em;color:#66758d;font-weight:600}.incident-report-fields{display:grid;gap:16px;padding:18px}.incident-report-fields>label{display:grid;gap:7px;font-weight:700;color:#26364c}.incident-report-fields select,.incident-report-fields textarea{width:100%;border:1px solid #cbd6e2;border-radius:12px;padding:11px 12px;font:inherit;background:#fff;color:#1c2638}.incident-report-fields textarea{min-height:180px;resize:vertical;line-height:1.5}.incident-signature-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 18px 18px}.incident-signature-preview>div{border:1px dashed #b9c6d5;border-radius:12px;padding:12px;background:#fbfcfe}.incident-signature-preview strong{display:block;color:#19437d}.incident-signature-preview span{display:block;margin-top:3px;color:#718097;font-size:.86rem}.incident-report-record>footer{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:14px 18px;border-top:1px solid #e2e8ef;background:#fbfcfd}.incident-report-record>footer small{color:#718097}.dashboard-email-parent.is-sent{box-shadow:0 0 0 2px #2f8f57 inset}.incident-report-record .report-card-photo-field{margin:0}@media(max-width:760px){.incident-signature-preview{grid-template-columns:1fr}}

/* BBH Messages / Telnyx workspace */
.bbh-hidden{display:none!important}.bbh-panel{background:rgba(255,253,248,.9);border:1px solid rgba(25,67,125,.13);border-radius:26px;box-shadow:var(--shadow);overflow:hidden}.bbh-panel-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;background:#19437d;color:#fff;font-weight:900}.bbh-panel-body{padding:1rem}.bbh-btn{appearance:none;border:2px solid #f1be15;border-radius:999px;padding:.58rem .9rem;background:#19437d;color:#fff;font-weight:800;cursor:pointer}.bbh-btn.small{padding:.36rem .62rem;font-size:.75rem}.bbh-btn.is-selected{box-shadow:0 0 0 3px rgba(241,190,21,.24)}.bbh-muted{color:#6b7890}.bbh-badge{display:inline-flex;border-radius:999px;padding:.28rem .5rem;font-size:.68rem;font-weight:900;background:#edf4ef;color:#286248}.bbh-communication-layout{display:grid;grid-template-columns:minmax(300px,34%) minmax(0,1fr);gap:1rem;min-height:68vh}.bbh-communication-threads,.bbh-communication-window{border:1px solid #d6e0eb;border-radius:18px;background:#fff;overflow:hidden}.bbh-communication-filters{display:flex;flex-wrap:wrap;gap:.35rem;padding:.75rem;border-bottom:1px solid #e2e8ef}.bbh-communication-tools{display:grid;grid-template-columns:auto 1fr;gap:.5rem;padding:.75rem}.bbh-communication-tools input,.bbh-compose-sender-row input,.bbh-compose-main-row textarea{width:100%;border:1px solid #bdcad9;border-radius:14px;padding:.65rem .75rem;background:#fff;color:#17365f}.bbh-communication-thread-note{padding:0 .8rem .55rem;color:#7a8798;font-size:.72rem}.bbh-communication-thread-list{max-height:58vh;overflow:auto}.bbh-communication-thread{width:100%;display:grid;grid-template-columns:1fr auto;gap:.45rem;text-align:left;border:0;border-top:1px solid #edf1f5;background:#fff;padding:.8rem;cursor:pointer;color:#17365f}.bbh-communication-thread:hover,.bbh-communication-thread.is-active{background:#f3f7fc}.bbh-communication-thread strong{display:block}.bbh-communication-thread small{display:block;color:#6b7890;margin-top:.18rem}.bbh-cc-status-pill{display:inline-flex;margin:.3rem .25rem 0 0;border-radius:999px;padding:.18rem .4rem;font-size:.62rem;font-weight:900;background:#eef1f5}.bbh-cc-status-pill.is-alert{background:#b42318;color:#fff}.bbh-cc-status-pill.is-needs-reply{background:#fff0bd;color:#6c5600}.bbh-communication-header{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.9rem 1rem;border-bottom:1px solid #e2e8ef;background:#f8fafc}.bbh-message-window{height:44vh;overflow:auto;padding:1rem;background:#f7f9fc}.bbh-message-bubble{max-width:74%;margin:.5rem 0;padding:.7rem .85rem;border-radius:16px;background:#fff;border:1px solid #d7e1ec;box-shadow:0 1px 3px rgba(23,54,95,.06)}.bbh-message-bubble.outgoing{margin-left:auto;background:#19437d;color:#fff;border-color:#19437d}.bbh-message-meta{font-size:.68rem;font-weight:800;opacity:.75;margin-bottom:.3rem}.bbh-message-media{max-width:220px;max-height:220px;border-radius:12px;margin-top:.5rem}.bbh-communication-compose{padding:.9rem;border-top:1px solid #dfe6ee}.bbh-compose-sender-row{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:.8rem;align-items:end}.bbh-compose-sender-row label{display:grid;gap:.3rem;font-weight:800;color:#19437d}.bbh-message-preview{font-size:.75rem;color:#6b7890;padding:.5rem 0}.bbh-compose-main-row{display:grid;grid-template-columns:1fr auto;gap:.6rem;margin-top:.5rem}.bbh-compose-actions{display:flex;align-items:flex-end;gap:.35rem}.bbh-compose-icon-btn{width:42px;height:42px;padding:0}.bbh-compose-send-btn{min-width:90px}.bbh-compose-meta-row,.bbh-compose-attachment-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.45rem;font-size:.72rem;color:#6b7890}.bbh-emoji-picker{display:flex;flex-wrap:wrap;gap:.25rem;padding:.5rem;border:1px solid #d5deea;border-radius:12px;margin-top:.4rem}.bbh-emoji-picker button{border:0;background:#fff;font-size:1.2rem;cursor:pointer}.bbh-new-message-indicator{display:block;margin:.4rem auto;border:0;border-radius:999px;background:#f1be15;color:#17365f;padding:.35rem .65rem;font-weight:900}.bbh-empty-workspace{padding:1.2rem;color:#6b7890}.bbh-communication-search-results{padding:.5rem}.bbh-communication-client-result{width:100%;display:grid;text-align:left;gap:.12rem;border:1px solid #d7e1ec;border-radius:12px;background:#fff;padding:.55rem;margin:.25rem 0}.bbh-cc-nav-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 .35rem;margin-left:.35rem;border-radius:999px;background:#b42318;color:#fff;font-size:.68rem}.has-communication-alert{box-shadow:0 0 0 4px rgba(180,35,24,.18)!important}.bbh-cc-context-menu{position:fixed;z-index:999;background:#fff;border:1px solid #ccd8e5;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.15);padding:.3rem}.bbh-cc-context-menu button{display:block;width:100%;border:0;background:#fff;padding:.5rem .7rem;text-align:left}.bbh-communication-footnote{padding:.45rem .8rem;font-size:.72rem;color:#6b7890}.telnyx-facility-block{padding:1rem;border:1px solid #d7e1ec;border-radius:18px;background:#f8fafc}.checkline{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:.5rem!important}.admin-help{margin:0;color:#6b7890;font-size:.8rem}@media(max-width:900px){.bbh-communication-layout{grid-template-columns:1fr}.bbh-communication-thread-list{max-height:30vh}.bbh-compose-sender-row,.bbh-compose-main-row{grid-template-columns:1fr}}
.bbh-communication-titlebar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.bbh-communication-titlemeta{display:flex;align-items:center;justify-content:flex-end;gap:1.1rem;flex-wrap:wrap;font-size:.82rem}.bbh-communication-titlemeta>span{white-space:nowrap}.bbh-communication-titlemeta strong{color:#f1be15}@media(max-width:800px){.bbh-communication-titlebar{align-items:flex-start;flex-direction:column}.bbh-communication-titlemeta{justify-content:flex-start;gap:.6rem 1rem}}

/* Client Communication sender-name validation */
.bbh-compose-sender-row input.is-invalid{border:2px solid #b42318!important;box-shadow:0 0 0 3px rgba(180,35,24,.10);outline:none}
.bbh-compose-field-error{display:block;margin-top:.1rem;color:#b42318;font-size:.72rem;font-weight:800;line-height:1.25}
.square-connect-card{display:grid;gap:16px}.square-status-badge{border:1px solid #bbb;border-radius:999px;padding:7px 12px;font-weight:800}.square-status-badge.is-connected{color:#286548;background:#edf7f0;border-color:#72a88a}.square-connection-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:end}.square-connection-grid>div{display:grid;gap:5px}.square-actions{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:720px){.square-connection-grid{grid-template-columns:1fr}}

.square-last-error{margin:.45rem 0 0;color:#b42318;font-weight:800}.square-status-badge.is-error{color:#9b1c1c;background:#fff0f0;border-color:#d86b6b}

.square-terminals{margin-top:14px;border-top:1px solid #dce2e9;padding-top:14px;display:grid;gap:8px}.square-terminal-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid #dce2e9;border-radius:12px;padding:10px 12px}.square-terminal-row small{color:#66758c}.square-pair-code{font-size:1.4rem;font-weight:900;letter-spacing:.08em;color:var(--blue)}

.square-pair-modal[hidden]{display:none!important}
.square-pair-modal{position:fixed;inset:0;z-index:10000;background:rgba(14,27,43,.55);display:grid;place-items:center;padding:20px}
.square-pair-dialog{position:relative;width:min(560px,calc(100vw - 40px));background:#fffdf8;border:2px solid #e7b300;border-radius:24px;padding:28px;box-shadow:0 24px 70px rgba(0,0,0,.25)}
.square-pair-close{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:2rem;line-height:1;color:#526276;cursor:pointer}
.square-pair-dialog h3{margin:.3rem 0 .5rem;font-size:1.7rem}
.square-pair-label{display:grid;gap:7px;font-weight:800;color:var(--blue);margin-top:18px}
.square-pair-label input{width:100%;font-size:1rem;padding:13px 14px;border:1px solid #b8c7d9;border-radius:12px;background:#fff}
.square-pair-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.square-pair-error{margin:10px 0 0;color:#b42318;font-weight:800}
.square-pair-code-large{margin:20px auto 12px;padding:18px;border:2px dashed #19437d;border-radius:16px;background:#f5f8fc;text-align:center;font-size:2.4rem;line-height:1;font-weight:950;letter-spacing:.16em;color:#19437d}
.square-pair-expiry{text-align:center;color:#65748b}
.square-pair-waiting,.square-pair-success{margin-top:16px;padding:14px 16px;border-radius:14px;background:#f3f6f9;display:flex;gap:10px;align-items:center}
.square-pair-success{background:#edf7f0;color:#246447;justify-content:space-between}
.square-pair-spinner{width:18px;height:18px;border-radius:50%;border:3px solid #c7d1dc;border-top-color:#19437d;animation:squarePairSpin .8s linear infinite}
.square-terminal-status{text-align:right}
.square-terminal-status.is-paired{color:#246447}
@keyframes squarePairSpin{to{transform:rotate(360deg)}}

.square-terminal-remove{margin-top:7px;border:1px solid #b42318;background:#fff;color:#b42318;border-radius:999px;padding:5px 10px;font-weight:800;cursor:pointer}
.square-terminal-remove:hover{background:#fff0ef}
.square-invoice-terminal-panel{display:grid;gap:10px;padding:14px;border:1px solid #d2dce8;border-radius:16px;background:#f8fbff}
.square-invoice-terminal-panel>span{font-weight:900;color:#19437d}
.square-invoice-terminal-buttons{display:flex;gap:8px;flex-wrap:wrap}
.square-invoice-terminal-button{border:2px solid #f1be15;background:#19437d;color:#fff;border-radius:999px;padding:10px 15px;font-weight:900;cursor:pointer}
.square-invoice-terminal-button:disabled{opacity:.55;cursor:not-allowed}
.square-terminal-empty{color:#65748b}
.square-invoice-payment-status{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:12px}
.square-invoice-payment-status.is-waiting{background:#fff7da;color:#735800}
.square-invoice-payment-status.is-success{background:#edf7f0;color:#246447}
.square-invoice-payment-status.is-error{background:#fff0ef;color:#9f1d1d}
.square-terminal-cancel{border:1px solid currentColor;background:transparent;color:inherit;border-radius:999px;padding:6px 10px;font-weight:800;cursor:pointer}

.split-payment-row--expanded{display:grid!important;grid-template-columns:1fr!important;gap:8px}
.split-payment-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}
.split-payment-main>div{display:grid;gap:3px}
.split-payment-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.payment-refund-button,.payment-receipt-button{border:1px solid #b9c8da;background:#fff;color:#19437d;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:850;cursor:pointer}
.payment-refund-button{border-color:#b42318;color:#a12218}
.payment-refund-button:hover{background:#fff2f1}
.payment-receipt-button:hover{background:#f4f8fd}
.payment-refund-note{color:#26704f!important;font-weight:800}
.payment-refund-pending{color:#8b6a00!important;font-weight:800}

.split-payment-actions{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex-wrap:wrap!important}.split-payment-actions>.payment-refund-button+.payment-remove{margin-left:0!important}.split-payment-actions .payment-refund-button,.split-payment-actions .payment-remove{align-self:center}.metric-card--refund{background:#fff1f1!important;border-color:#efc4c4!important}.metric-card--refund strong{color:#b42318!important}.sales-refund-section{margin-top:1.25rem;display:grid;gap:.75rem}.sales-refund-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem}.sales-refund-heading h3{margin:.15rem 0 0}.sales-refund-heading>strong{color:#b42318;font-size:1.25rem}.sales-report-table--refunds .sales-report-row{grid-template-columns:130px minmax(170px,1.1fr) minmax(120px,.8fr) minmax(140px,.9fr) minmax(180px,1.2fr) 130px minmax(220px,1.4fr)}.sales-report-table--refunds .sales-report-row:not(.sales-report-head)>span:nth-child(6){color:#b42318}@media(max-width:1000px){.sales-report-table--refunds .sales-report-row{min-width:1150px}}

.split-payment-actions{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;flex-wrap:nowrap!important;white-space:nowrap}
.split-payment-actions .payment-refund-button,.split-payment-actions .payment-receipt-button,.split-payment-actions .payment-remove{flex:0 0 auto;margin:0!important}
.split-payment-actions .payment-refund-button,.split-payment-actions .payment-receipt-button{padding:5px 8px!important;font-size:.72rem!important}

.sms-segment-meter{margin-top:8px;padding:8px 10px;border-radius:10px;background:#eef5fb;color:#19437d;font-size:.8rem;font-weight:850}.sms-segment-meter.is-warning{background:#fff4cf;color:#725600}.sms-segment-meter.is-over{background:#fff0ef;color:#a12424}.sms-segment-help{margin:.35rem 0 0;color:#66758a;font-size:.76rem}.booking-notification-form textarea[data-sms-template-editor]{min-height:118px}

.invoice-reminder-button{white-space:nowrap}
\n/* Keep invoice print/email/reminder actions compact and on one line on desktop. */
.invoice-hub__actions{display:flex!important;align-items:center!important;gap:.45rem!important;flex-wrap:nowrap!important;white-space:nowrap}
.invoice-hub__actions .pill-button,.invoice-hub__actions .invoice-action-menu>summary{font-size:.78rem!important;padding:.5rem .72rem!important;line-height:1.1}
.invoice-hub__actions .invoice-reminder-button{font-size:.76rem!important;padding:.5rem .68rem!important;min-width:0!important}
.invoice-hub__actions .invoice-action-menu{flex:0 0 auto}
.booking-summary-help{margin:.4rem 0 0;color:#66758a;font-size:.78rem;line-height:1.35}
@media(max-width:1150px){.invoice-hub__actions{overflow-x:auto;padding-bottom:.25rem}.invoice-hub__actions>*{flex:0 0 auto}}

.bbh-message-failure{margin-top:8px;padding:7px 9px;border-radius:10px;background:#fff0ef;color:#9f1d1d;font-size:.78rem;font-weight:800;line-height:1.25}

/* Membership Creator */
.membership-form{display:grid;gap:14px}.membership-core-row,.membership-anchor-row{display:grid;grid-template-columns:minmax(190px,2fr) repeat(6,minmax(105px,1fr));gap:10px;align-items:end}.membership-core-row label,.membership-anchor-row label{display:grid;gap:5px;font-size:.76rem;font-weight:800}.membership-core-row input,.membership-core-row select,.membership-anchor-row input,.membership-anchor-row select,.membership-form textarea,.membership-benefit-row input,.membership-benefit-row select{width:100%;box-sizing:border-box}.money-input{display:flex;align-items:center;gap:5px}.membership-benefits-head,.membership-existing-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.membership-benefits-head span,.membership-existing-head span{display:block;font-size:.76rem;color:#667}.membership-benefit-row{display:grid;grid-template-columns:minmax(190px,2fr) 110px 85px 100px 75px 145px 90px auto;gap:7px;align-items:center;padding:9px 0;border-top:1px solid rgba(0,0,0,.08)}.membership-existing{border-top:1px solid rgba(0,0,0,.1);padding-top:16px;margin-top:16px}.status-pill{padding:4px 9px;border-radius:999px;background:#f1eee6;font-size:.7rem;font-weight:800;text-transform:uppercase}.notice--warning{background:#fff7df;border:1px solid #e4c56d}.notice--success{background:#eef7ed;border:1px solid #9fc49c}@media(max-width:1100px){.membership-core-row,.membership-anchor-row{grid-template-columns:repeat(3,minmax(140px,1fr))}.membership-benefit-row{grid-template-columns:repeat(2,minmax(150px,1fr))}}


/* Membership Creator — clean second pass */
.membership-form{display:grid;gap:18px}
.membership-identity-row{display:grid;grid-template-columns:minmax(280px,2fr) minmax(170px,1fr) 160px 120px;gap:12px;align-items:end}
.membership-identity-row>label:not(.membership-check-card),.membership-description,.membership-benefit-card>label,.membership-intro-meta label{display:grid;gap:5px;font-weight:800}
.membership-identity-row small,.membership-intro-meta small{font-size:.68rem;font-weight:500;color:#6c7890}
.membership-check-card{min-height:58px;border:1px solid #cfdae8;border-radius:16px;padding:10px 12px;display:flex;align-items:center;gap:8px;font-weight:800}
.membership-description textarea{width:100%;box-sizing:border-box}
.membership-subsection{border:1px solid #d6e0ec;border-radius:18px;padding:16px;background:#fbfcfe}
.membership-subsection-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:13px}
.membership-subsection-head strong{font-size:1.02rem;color:#19437d}
.membership-subsection-head span{display:block;margin-top:2px;color:#67758e;font-size:.76rem}
.membership-tier-actions{display:flex;gap:7px;flex-wrap:nowrap}
.membership-price-tier-row{display:flex;gap:10px;align-items:stretch;overflow-x:auto;padding-bottom:3px}
.membership-price-tier{min-width:190px;flex:1 1 190px;border:1px solid #d5dfeb;border-radius:14px;padding:11px;background:#fff;display:grid;gap:8px}
.membership-price-tier>strong{color:#19437d}
.membership-price-tier label{display:grid;gap:4px;font-size:.72rem;font-weight:800}
.membership-inline-toggle{display:flex!important;align-items:center;gap:8px;font-weight:800}
.membership-intro-meta{display:grid;grid-template-columns:minmax(200px,300px);gap:12px}
.membership-benefit-list{display:grid;gap:9px}
.membership-benefit-card{display:grid;grid-template-columns:minmax(270px,2.2fr) 130px 115px 120px 105px auto;gap:8px;align-items:end;background:#fff;border:1px solid #d5dfeb;border-radius:14px;padding:11px}
.membership-benefit-card>label>span{font-size:.68rem;color:#596982}
.membership-benefit-card input,.membership-benefit-card select{width:100%;box-sizing:border-box}
.membership-benefit-service{min-width:0}
.membership-toggle-line{min-height:37px;border:1px solid #cfd9e6;border-radius:10px;padding:0 10px;display:flex!important;align-items:center;gap:6px;color:#16223a!important;font-size:.74rem!important;background:#fff}
.membership-benefit-remove{align-self:end;margin-bottom:1px}
.membership-benefit-empty{border:1px dashed #c6d3e2;border-radius:12px;padding:15px;color:#6a778c;text-align:center}
.membership-existing{margin-top:18px;padding-top:18px;border-top:1px solid #d7dfeb}
.membership-existing-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:13px}
.membership-existing-head>div>strong{font-size:1.05rem;color:#19437d}
.membership-existing-head>div>span{display:block;margin-top:3px;color:#65738a;font-size:.76rem}
.status-pill{padding:5px 9px;border-radius:999px;background:#eef2f7;font-size:.68rem;font-weight:900;text-transform:uppercase}
.notice--warning{background:#fff7df;border:1px solid #e4c56d}
.notice--success{background:#eef7ed;border:1px solid #9fc49c}
@media(max-width:1250px){
 .membership-identity-row{grid-template-columns:2fr 1fr 150px 115px}
 .membership-benefit-card{grid-template-columns:minmax(230px,2fr) repeat(3,minmax(100px,1fr)) auto}
}
@media(max-width:850px){
 .membership-identity-row{grid-template-columns:1fr 1fr}
 .membership-subsection-head{align-items:flex-start;flex-direction:column}
 .membership-benefit-card{grid-template-columns:1fr 1fr}
 .membership-benefit-service{grid-column:1/-1}
 .membership-benefit-remove{justify-self:start}
}

/* Membership benefits: compact creator without rollover. */
.membership-benefit-card{grid-template-columns:minmax(260px,2fr) 125px 110px 115px 100px 92px!important}
.membership-benefit-remove{min-width:88px;justify-self:end}
@media(max-width:1300px){.membership-benefit-card{grid-template-columns:minmax(240px,2fr) 120px 105px 110px 95px 88px!important}}
@media(max-width:1050px){.membership-benefit-card{grid-template-columns:1.5fr 1fr 1fr!important}.membership-benefit-remove{justify-self:start}}

.square-card-list{display:grid;gap:8px}.square-card-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #d6e0ec;border-radius:14px;padding:11px 13px;background:#fff}.square-card-row span{display:block;color:#6b7890;font-size:.76rem;margin-top:2px}.square-card-dialog{max-width:620px}.square-card-dialog header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.square-card-consent{display:flex;align-items:flex-start;gap:8px;margin-top:12px;font-weight:700}.commerce-membership-warning{color:#a02020!important;font-weight:800}

.membership-square-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.membership-square-error{display:block;width:100%;color:#a02020;font-weight:800}
.square-report-summary{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;margin-bottom:14px}.square-report-summary article{border:1px solid #d5dfeb;border-radius:16px;background:#fff;padding:14px;display:grid;gap:5px}.square-report-summary span{font-size:.72rem;color:#68758b;font-weight:800;text-transform:uppercase}.square-report-summary strong{font-size:1.35rem;color:#19437d}
.report-table-wrap{overflow:auto}.report-table{width:100%;border-collapse:collapse}.report-table th,.report-table td{padding:10px;border-bottom:1px solid #dfe5ec;text-align:left;white-space:nowrap}.report-table small{display:block;color:#6b7890;margin-top:2px}.report-link-button{border:0;background:none;color:#19437d;font:inherit;font-weight:800;padding:0;cursor:pointer}
.accountant-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.accountant-settings-grid label:not(.membership-check-card){display:grid;gap:5px;font-weight:800}.accountant-settings-grid .span-2{grid-column:1/-1}.accountant-report-picker{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:8px;margin:18px 0}.accountant-report-picker>strong{grid-column:1/-1;color:#19437d}.accountant-report-picker label{border:1px solid #d5dfeb;border-radius:12px;padding:10px;background:#fff;display:flex;align-items:center;gap:8px;font-weight:700}
@media(max-width:900px){.square-report-summary,.accountant-report-picker{grid-template-columns:1fr 1fr}.accountant-settings-grid{grid-template-columns:1fr}}

.client-list-square-button{border-radius:12px!important}
.square-card-dialog--large{max-width:760px!important;min-height:520px}.square-cardholder-grid{display:grid;grid-template-columns:1fr 1fr 160px;gap:10px;margin:16px 0}.square-cardholder-grid label{display:grid;gap:5px;font-weight:800}.square-secure-card-heading{margin:18px 0 8px;color:#19437d}
.square-card-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:12px}.square-stored-card{border:1px solid #d5dfeb;border-radius:18px;padding:14px;background:#fff;display:grid;gap:11px}.square-stored-card--expired{border-color:#d98080;background:#fff2f2}.square-stored-card--pending_signature{border-color:#dfc873;background:#fffaf0}.square-stored-card-top{display:flex;justify-content:space-between;gap:12px}.square-stored-card-top span,.square-stored-card-top small{display:block;margin-top:3px;color:#66758d}.square-card-status-badge{align-self:start;border-radius:999px;background:#eef2f7;padding:5px 9px!important;font-size:.68rem;font-weight:900;color:#19437d!important}.square-stored-card--expired .square-card-status-badge{background:#9d2020;color:#fff!important}.square-signature-thumb{display:flex;align-items:center;gap:9px;border:0;background:none;padding:0;cursor:pointer;text-align:left}.square-signature-thumb img{width:105px;height:42px;object-fit:contain;border:1px solid #d9e2ec;border-radius:8px;background:#fff}.square-signature-thumb span{font-size:.72rem;color:#19437d;font-weight:800}.square-card-actions details{position:relative}.square-card-actions summary{cursor:pointer;font-weight:800;color:#19437d;list-style:none}.square-card-menu{position:absolute;z-index:10;right:0;top:28px;min-width:190px;background:#fff;border:1px solid #d5dfeb;border-radius:12px;padding:6px;box-shadow:0 8px 24px rgba(0,0,0,.12);display:grid}.square-card-menu button{border:0;background:none;padding:8px 10px;text-align:left;font:inherit;cursor:pointer;border-radius:8px}.square-card-menu button:hover{background:#f2f5f9}
.card-auth-view{max-width:680px}.card-auth-view header,.membership-card-chooser header{display:flex;justify-content:space-between;gap:12px}.card-auth-summary{display:grid;gap:4px;background:#f8fafc;border:1px solid #dbe4ee;border-radius:14px;padding:12px}.card-auth-signature-full{margin-top:16px;border:1px solid #d5dfeb;border-radius:14px;padding:12px}.card-auth-signature-full img{max-width:100%;max-height:180px}
.client-membership-list{display:grid;gap:9px}.client-membership-record{display:grid;grid-template-columns:2fr 1fr auto;gap:12px;align-items:center;border:1px solid #d5dfeb;border-radius:14px;padding:12px;background:#fff}.client-membership-record span,.client-membership-record small{display:block;color:#67758e}.membership-card-choice-list{display:grid;gap:9px}.membership-card-choice{border:1px solid #d5dfeb;background:#fff;border-radius:14px;padding:12px;text-align:left;cursor:pointer}.membership-card-choice:hover{border-color:#19437d}.membership-card-choice span,.membership-card-choice small{display:block;margin-top:3px;color:#67758e}
.membership-renewal-settings{display:grid;grid-template-columns:1.4fr 1fr 140px 140px;gap:10px;align-items:end}.membership-renewal-settings>label:not(.membership-inline-toggle){display:grid;gap:5px;font-weight:800}.membership-retry-note{grid-column:1/-1;color:#68758b;font-size:.76rem}
.waiver-record{display:flex;justify-content:space-between;align-items:center;gap:12px}
@media(max-width:850px){.square-cardholder-grid{grid-template-columns:1fr}.square-card-grid{grid-template-columns:1fr}.client-membership-record{grid-template-columns:1fr}.membership-renewal-settings{grid-template-columns:1fr 1fr}}

.membership-enrollment-dialog{max-width:700px}.membership-enrollment-dialog header{display:flex;justify-content:space-between;gap:12px}.membership-enrollment-dialog>label{display:grid;gap:5px;font-weight:800;margin:14px 0}.membership-card-radio{display:flex;align-items:center;gap:10px;border:1px solid #d5dfeb;border-radius:14px;padding:12px;cursor:pointer;background:#fff}.membership-card-radio:has(input:checked){border-color:#19437d;box-shadow:0 0 0 2px rgba(25,67,125,.10)}.membership-card-radio span{display:grid;gap:2px}.membership-card-radio small{color:#68758b}.client-membership-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}

.membership-enrollment-dialog{max-width:720px}.membership-enrollment-dialog header{display:flex;justify-content:space-between;gap:14px}.membership-enrollment-dialog header p{margin:.3rem 0 0;color:#68758b}.membership-enrollment-grid{display:grid;gap:14px}.membership-enrollment-grid>label{display:grid;gap:5px;font-weight:800}.membership-enrollment-cards{display:grid;gap:8px}.membership-enrollment-card-choice{display:flex;gap:9px;align-items:center;border:1px solid #d5dfeb;border-radius:14px;padding:11px;background:#fff;cursor:pointer}.membership-enrollment-card-choice span{display:grid;gap:3px}.membership-enrollment-card-choice small{color:#68758b}.client-membership-actions{display:flex;gap:6px;flex-wrap:wrap}

/* BBH 2026-08-20: roomier Square card-on-file modal */
.square-card-dialog--spacious{
  width:min(860px,calc(100vw - 48px))!important;
  max-width:860px!important;
  max-height:calc(100vh - 48px);
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:28px 30px 26px!important;
}
.square-card-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}
.square-card-dialog-header h2{margin:.25rem 0 0}
.square-card-dialog-intro{font-size:.92rem;line-height:1.45;color:#5f6d82;margin-bottom:20px;max-width:760px}
.square-card-form-section{border:1px solid #d7e0eb;border-radius:18px;background:#fbfcfe;padding:18px 20px;margin-bottom:16px}
.square-card-form-section__head{display:grid;gap:3px;margin-bottom:15px}
.square-card-form-section__head strong{font-size:1rem;color:#19437d}
.square-card-form-section__head span{font-size:.78rem;color:#6a788e}
.square-cardholder-name-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.square-cardholder-name-row label,.square-cardholder-zip-row label{display:grid;gap:6px;font-weight:800}
.square-cardholder-zip-row{width:220px;margin-top:14px}
.square-cardholder-name-row input,.square-cardholder-zip-row input{min-height:44px}
.square-card-secure-field{background:#fff;border-radius:12px;overflow:hidden}
.square-card-secure-section #bbh-square-card-container{width:100%;min-width:0}
.square-card-authorization-section{border:1px solid #ead99b;background:#fffaf0;border-radius:18px;padding:16px 18px;margin:2px 0 18px}
.square-card-consent--roomy{margin:0!important;display:flex;gap:11px;align-items:flex-start}
.square-card-consent--roomy input{margin-top:3px;flex:0 0 auto}
.square-card-consent--roomy>span{display:grid;gap:4px;line-height:1.3}
.square-card-consent--roomy small{font-weight:500;color:#6c7280;line-height:1.4}
.square-card-dialog-footer{border-top:1px solid #e2e7ee;padding-top:16px}
.square-card-dialog-footer .form-actions{justify-content:flex-end;margin:0}
.square-card-dialog-footer [data-square-card-error]{margin:0 0 12px}

/* Visible Membership Renewal Protection controls */
.membership-renewal-section{background:#fbfcfe}
.membership-renewal-settings{display:grid!important;grid-template-columns:1fr 1fr;gap:12px!important;align-items:stretch!important}
.membership-renewal-option{border:1px solid #d7e0eb;border-radius:15px;background:#fff;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.membership-renewal-option__copy{display:grid;gap:3px}
.membership-renewal-option__copy strong{color:#19437d}
.membership-renewal-option__copy small{color:#6a788e;font-weight:500;line-height:1.35}
.membership-renewal-fee-fields{grid-column:1/-1;display:grid;grid-template-columns:minmax(180px,260px) minmax(180px,260px);gap:12px;border:1px solid #d7e0eb;border-radius:15px;background:#fff;padding:14px}
.membership-renewal-fee-fields[hidden]{display:none!important}
.membership-renewal-fee-fields>label{display:grid;gap:6px;font-weight:800}
.membership-attempt-input{display:flex;align-items:center;gap:8px}
.membership-attempt-input input{width:90px}
.membership-attempt-input small{color:#6a788e;white-space:nowrap}
.membership-retry-note{grid-column:1/-1!important;border-radius:12px;background:#eef4fb;padding:10px 12px;color:#52657e!important}

@media(max-width:760px){
  .square-card-dialog--spacious{width:calc(100vw - 24px)!important;padding:20px!important}
  .square-cardholder-name-row{grid-template-columns:1fr}
  .square-cardholder-zip-row{width:100%}
  .membership-renewal-settings{grid-template-columns:1fr!important}
  .membership-renewal-fee-fields{grid-column:1;grid-template-columns:1fr}
  .membership-retry-note{grid-column:1!important}
}

.membership-square-status [data-membership-square-pill]{transition:background .15s ease,color .15s ease,border-color .15s ease}
.membership-square-status .status-pill--error{background:#fff0f0!important;color:#9d2020!important;border-color:#d99!important}

/* BBH 2026-08-20: Square membership synchronization states */
.membership-square-status [data-membership-square-pill]{border:1px solid transparent}
.membership-square-status [data-membership-square-pill].status-pill--synced{background:#e6f5e9!important;color:#176a35!important;border-color:#a8d5b4!important}
.membership-square-status [data-membership-square-pill].status-pill--syncing{background:#eef2f7!important;color:#617087!important;border-color:#d8e0e9!important}
.membership-square-status [data-membership-square-pill].status-pill--error{background:#fff0f0!important;color:#9d2020!important;border-color:#d99!important}

.package-assessment{white-space:nowrap}

.dashboard-vaccine-approval-center{margin-top:18px;margin-bottom:18px}
.dashboard-vaccine-approval-center>header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:1px solid #dce4ed;padding-bottom:12px;margin-bottom:12px}
.dashboard-vaccine-approval-center>header h2{margin:.15rem 0}
.dashboard-vaccine-approval-center>header p{margin:.25rem 0;color:#6f7a8d}
.vaccine-approval-record{border:1px solid #dce4ed;border-radius:16px;padding:14px;margin:10px 0;background:#fbfcfe}
.vaccine-approval-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.vaccine-approval-head>div:first-child{display:grid;gap:3px}
.vaccine-approval-head>div:last-child{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.vaccine-approval-items{display:grid;gap:7px;margin-top:11px}
.vaccine-approval-item{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#fff;border:1px solid #e1e6ed;border-radius:12px;padding:10px}
.vaccine-approval-item>div:first-child{display:grid;gap:3px}
.vaccine-approval-item small{color:#6f7a8d}
.historic-vaccine-panel .section-heading-row{align-items:flex-end}
.historic-vaccine-panel [data-vaccine-history-upload]{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}
.historic-vaccine-panel select{min-height:38px}
.historic-vaccine-upload-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 13px;border-radius:999px;background:#19437d;color:#fff;font-weight:900;cursor:pointer}
.historic-vaccine-list{display:grid;gap:7px;margin-top:12px}
.historic-vaccine-row{display:grid;grid-template-columns:minmax(120px,1fr) 110px 80px auto;gap:10px;align-items:center;border:1px solid #dce4ed;border-radius:12px;padding:10px;background:#fff}
@media(max-width:760px){.vaccine-approval-head{display:grid}.vaccine-approval-head>div:last-child{justify-content:flex-start}.vaccine-approval-item{display:grid}.historic-vaccine-row{grid-template-columns:1fr 1fr}.historic-vaccine-row a{grid-column:1/-1}}

.health-type-tag{display:inline-block;margin-left:6px;padding:2px 6px;border-radius:999px;background:#edf3f9;color:#5f7088;font-size:.64rem;font-style:normal;text-transform:uppercase;letter-spacing:.05em}

/* Client file tabs: compact admin-style tabs instead of folder silhouettes. */
.client-profile-tabs,
.client-commerce-tabs{
  display:flex;
  align-items:flex-end;
  gap:5px;
  overflow-x:auto;
  padding:8px 6px 0;
  scrollbar-width:thin;
}
.client-profile-tabs .folder-tab,
.client-commerce-tabs .folder-tab{
  clip-path:none !important;
  min-height:38px !important;
  height:auto;
  padding:7px 11px 6px !important;
  border:2px solid #F1BE15;
  border-bottom:0;
  border-radius:14px 14px 0 0;
  background:#19437D;
  color:#fff;
  font-size:.82rem;
  line-height:1.05;
  font-weight:850;
  white-space:nowrap;
  box-shadow:none;
}
.client-profile-tabs .folder-tab::after,
.client-commerce-tabs .folder-tab::after{display:none!important}
.client-profile-tabs .folder-tab.is-active,
.client-commerce-tabs .folder-tab.is-active{
  min-height:40px !important;
  padding:8px 11px 7px !important;
  background:#fffdf8;
  color:#19437D;
  box-shadow:none;
}
.client-profile-tabs .folder-tab:hover,
.client-profile-tabs .folder-tab:focus-visible,
.client-commerce-tabs .folder-tab:hover,
.client-commerce-tabs .folder-tab:focus-visible{
  transform:none;
  box-shadow:0 0 10px rgba(241,190,21,.25);
}
.client-profile-tabs + .folder-content,
.client-commerce-tabs + .folder-content{
  border-top:2px solid #F1BE15;
}
.historic-vaccine-row{
  grid-template-columns:minmax(120px,1fr) 105px 72px auto;
}
.historic-vaccine-row-actions{
  display:flex;
  gap:6px;
  justify-content:flex-end;
  align-items:center;
  flex-wrap:wrap;
}
@media(max-width:760px){
  .client-profile-tabs .folder-tab,
  .client-commerce-tabs .folder-tab{
    font-size:.78rem;
    padding:6px 9px 5px !important;
    min-height:35px !important;
  }
  .client-profile-tabs .folder-tab.is-active,
  .client-commerce-tabs .folder-tab.is-active{
    padding:7px 9px 6px !important;
    min-height:37px !important;
  }
  .historic-vaccine-row{grid-template-columns:1fr 1fr}
  .historic-vaccine-row-actions{grid-column:1/-1;justify-content:flex-start}
}

.booking-approval-center{margin:18px 0;padding:20px;border-radius:24px}
.booking-approval-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:14px;border-bottom:1px solid #d7e0eb}
.booking-approval-head h2{margin:.15rem 0 .25rem;color:#17233a}
.booking-approval-head p{margin:0;color:#66758c}
.booking-approval-count{display:grid;place-items:center;min-width:42px;height:42px;border-radius:999px;background:#19437d;color:#fff;font-weight:900}
.booking-approval-bulk{display:flex;gap:8px;justify-content:flex-end;padding:12px 0}
.booking-approval-list{display:grid;gap:10px}
.booking-approval-row{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(220px,1fr) 120px auto;align-items:center;gap:16px;padding:14px 16px;border:1px solid #d4deea;border-radius:18px;background:#f9fbfe}
.booking-approval-client,.booking-approval-service,.booking-approval-total{display:grid;gap:3px}
.booking-approval-row strong{color:#17233a}.booking-approval-row span,.booking-approval-row small{color:#66758c}
.booking-approval-total{text-align:right}
.booking-approval-actions{display:flex;gap:7px;justify-content:flex-end}
.booking-approval-empty{padding:20px;text-align:center;color:#66758c;border:1px dashed #c7d3e1;border-radius:16px}
@media(max-width:900px){.booking-approval-row{grid-template-columns:1fr 1fr}.booking-approval-total{text-align:left}.booking-approval-actions{justify-content:flex-start}}
@media(max-width:620px){.booking-approval-head{display:grid}.booking-approval-row{grid-template-columns:1fr}.booking-approval-bulk{justify-content:flex-start;flex-wrap:wrap}}

.booking-action-button-set{
  display:grid !important;
  grid-template-columns:auto auto auto auto !important;
  align-items:center !important;
  gap:7px !important;
}
.booking-source-pill{
  display:inline-grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:999px;
  font-size:.72rem;
  line-height:1;
  font-weight:900;
  cursor:help;
  user-select:none;
  border:2px solid #f1be15;
  box-sizing:border-box;
}
.booking-source-pill--portal{
  background:#19437d;
  color:#fff;
}
.booking-source-pill--facility{
  background:#f3f5f8;
  color:#19437d;
}

/* BBH portal calendar footer: keep explanatory copy first and a normal-size action beneath it at bottom-right. */
.daycare-calendar-footer{display:grid;grid-template-columns:minmax(0,1fr);align-items:start}
.daycare-calendar-footer>.pill-button{justify-self:end;width:auto;min-width:132px;max-width:100%;white-space:nowrap}

/* Interactive Waiver Creator */
.waiver-builder-card,.waiver-existing-card{display:grid;gap:16px}.waiver-builder-grid{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(180px,.8fr) auto;gap:12px;align-items:end}.waiver-builder-grid label{display:grid;gap:5px;font-weight:800;color:#19437d}.waiver-builder-grid input,.waiver-builder-grid select{width:100%;box-sizing:border-box}.waiver-active-toggle{display:flex!important;align-items:center;gap:8px;padding-bottom:10px}.waiver-active-toggle input{width:18px!important;height:18px}
.waiver-service-picker{display:flex;flex-wrap:wrap;gap:8px 14px;border:1px solid #d6e0eb;border-radius:16px;padding:12px}.waiver-service-picker legend{padding:0 7px;color:#19437d;font-weight:900}.waiver-service-picker label{display:flex;align-items:center;gap:6px;font-weight:750}
.waiver-editor-toolbar{display:flex;flex-wrap:wrap;gap:7px;align-items:center;padding:9px;border:1px solid #d6e0eb;border-radius:14px;background:#f7f9fc}.waiver-editor-toolbar span{width:1px;height:28px;background:#d5dce5}.waiver-editor-toolbar button{border:1px solid #bdcad9;border-radius:9px;background:#fff;color:#19437d;padding:7px 10px;font-weight:850;cursor:pointer}
.waiver-document-editor{min-height:360px;padding:28px;border:1px solid #c8d4e1;border-radius:18px;background:#fff;box-shadow:inset 0 1px 4px rgba(25,67,125,.05);line-height:1.6;color:#17233a}.waiver-document-editor:focus{outline:3px solid rgba(241,190,21,.24);border-color:#19437d}.waiver-document-editor bbh-waiver-field{display:inline-block;margin:5px 3px;padding:7px 10px;border:2px dashed #c8272f;border-radius:10px;background:#fff0f0;color:#a32126;font-weight:900}.waiver-field-token{pointer-events:none}
.waiver-save-options{display:grid;grid-template-columns:1fr 1fr;gap:14px}.waiver-save-options>div{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;padding:12px;border:1px solid #d8e1eb;border-radius:15px;background:#fafbfd}.waiver-save-options small{color:#66758c;line-height:1.4}
.waiver-existing-list{display:grid;gap:9px}.waiver-existing-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;border:1px solid #d6e0eb;border-radius:15px;background:#fff}.waiver-existing-row>div{display:grid;gap:3px}.waiver-existing-row span,.waiver-existing-row small{color:#66758c}
.waiver-revision-dialog{width:min(760px,96vw);padding:20px;display:grid;gap:14px}.waiver-revision-dialog>header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.waiver-revision-dialog>header h2{margin:.2rem 0;color:#19437d}.waiver-revision-dialog label{display:grid;gap:6px;font-weight:800;color:#19437d}.waiver-revision-dialog input{width:100%;box-sizing:border-box}.waiver-revision-signature canvas{width:100%;height:auto;max-height:180px;border:2px solid #c8272f;border-radius:12px;background:#fff;touch-action:none}.waiver-revision-dialog footer{display:flex;justify-content:flex-end;gap:8px}
.client-waiver-history{display:grid;gap:9px}.client-waiver-history-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px;border:1px solid #d5dfeb;border-radius:14px;background:#fff}.client-waiver-history-row>div:first-child{display:grid;gap:3px}.client-waiver-history-row span,.client-waiver-history-row small{color:#67758e}.client-waiver-history-actions{display:flex;gap:6px}
@media(max-width:760px){.waiver-builder-grid,.waiver-save-options{grid-template-columns:1fr}.waiver-save-options>div{grid-template-columns:1fr}.waiver-existing-row,.client-waiver-history-row{align-items:stretch;flex-direction:column}.waiver-document-editor{padding:18px;min-height:300px}}
/* HugoAI Waiver & Contract Assistant */
.hugoai-waiver-banner{display:flex;justify-content:space-between;align-items:center;gap:18px;border:2px solid #f1be15;background:linear-gradient(135deg,#fffdf7,#f3f7fc)}.hugoai-waiver-banner h3{margin:.25rem 0;color:#19437d}.hugoai-waiver-banner p{margin:0;max-width:760px;color:#66758c}.hugoai-token-meter{display:grid;min-width:210px;text-align:right}.hugoai-token-meter strong{font-size:30px;color:#19437d}.hugoai-token-meter span,.hugoai-token-meter small{color:#66758c}.hugoai-waiver-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.hugoai-waiver-actions small{color:#a32424;font-weight:800}.hugoai-dialog{width:min(820px,96vw);max-height:92vh;overflow:auto;padding:22px;display:grid;gap:15px}.hugoai-dialog>header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.hugoai-dialog h2{margin:.15rem 0;color:#19437d}.hugoai-greeting{display:grid;gap:4px;padding:13px 15px;border:1px solid #d4deea;border-radius:15px;background:#f7f9fc}.hugoai-greeting strong{color:#19437d}.hugoai-greeting span{color:#65748a}.hugoai-question-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hugoai-question-grid label,.hugoai-change-request{display:grid;gap:6px;font-weight:800;color:#19437d}.hugoai-question-grid textarea,.hugoai-change-request textarea{resize:vertical}.hugoai-compliance-note{padding:11px 13px;border:1px solid #e6c668;border-radius:14px;background:#fff9e8;color:#66531a;font-size:13px}.hugoai-dialog footer{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.hugoai-analysis-summary{padding:13px;border:1px solid #d5dfeb;border-radius:14px;background:#f8fafc}.hugoai-analysis-summary strong{color:#19437d}.hugoai-analysis-summary p{margin:.4rem 0 0}.hugoai-overlap-list,.hugoai-redline-list{display:grid;gap:10px}.hugoai-overlap-list article,.hugoai-redline-list article{padding:12px;border:1px solid #d5dfeb;border-radius:14px}.hugoai-overlap-list article>span{display:inline-block;padding:4px 8px;border-radius:999px;background:#fff0f0;color:#a32424;font-size:11px;font-weight:900}.hugoai-overlap-list blockquote{margin:8px 0;padding:10px;border-left:4px solid #d83940;background:#fff4f4}.hugoai-overlap-highlight{background:#ffd9dc;color:#8f1f25;border-radius:4px;padding:1px 2px}.hugoai-redline-dialog{width:min(920px,96vw)}.hugoai-redline-list article{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hugoai-redline-list article>span{grid-column:1/-1;color:#66758c;font-size:12px}.hugoai-redline-old,.hugoai-redline-new{border-radius:12px;padding:10px}.hugoai-redline-old{background:#fff0f0;border:1px solid #e8a6aa}.hugoai-redline-new{background:#eef9f2;border:1px solid #a8d6ba}.hugoai-redline-old small{color:#a32424;font-weight:900}.hugoai-redline-new small{color:#187247;font-weight:900}.hugoai-redline-old p,.hugoai-redline-new p{margin:.35rem 0 0}.staff-waiver-warning-dialog{width:min(720px,96vw);padding:20px;display:grid;gap:13px}.staff-waiver-warning-dialog>header{display:flex;justify-content:space-between;align-items:flex-start}.staff-waiver-warning-dialog h2{margin:.15rem 0;color:#19437d}.staff-waiver-missing-list{display:grid;gap:7px}.staff-waiver-missing-list>div{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid #e0c1c3;border-radius:12px;background:#fff6f6}.staff-waiver-missing-list strong{color:#a32424}.staff-waiver-send-actions{display:flex;gap:8px;flex-wrap:wrap}.staff-waiver-warning-dialog footer{display:flex;justify-content:flex-end;gap:8px}.portal-waiver-route-modal .bbh-modal-dialog{width:min(600px,calc(100vw - 24px));padding:20px}.portal-waiver-route-modal footer{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}@media(max-width:720px){.hugoai-waiver-banner{align-items:flex-start;flex-direction:column}.hugoai-token-meter{text-align:left}.hugoai-question-grid,.hugoai-redline-list article{grid-template-columns:1fr}.hugoai-redline-list article>span{grid-column:auto}.staff-waiver-warning-dialog footer{flex-direction:column}.staff-waiver-warning-dialog footer button{width:100%}}

.waiver-library-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.waiver-existing-row.is-archived{background:#f5f6f8;opacity:.88}
.waiver-archive-card{margin-top:14px}
@media(max-width:760px){.waiver-library-actions{justify-content:flex-start}}

.waiver-service-enabled-note{flex:1 0 100%;color:#66758c;font-size:.72rem;margin-top:3px}

.demo-environment-banner{position:relative;z-index:5000;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:8px 14px;background:#fff4c7;border-bottom:1px solid #ddbf45;color:#5d4a00;font-size:.78rem}.demo-environment-banner strong{font-weight:950}.demo-environment-banner small{white-space:nowrap}@media(max-width:700px){.demo-environment-banner{grid-template-columns:1fr}.demo-environment-banner small{white-space:normal}}


/* BBH global typography normalization */
html,
body,
button,
input,
select,
textarea,
optgroup,
option {
  font-family: "Trebuchet MS", Trebuchet, Arial, sans-serif;
}

button,
input,
select,
textarea {
  font: inherit;
}


/* BBH desktop fluid-width and cross-platform fit corrections */
.app-shell{
  width:100%;
  max-width:none;
  margin:0;
}

/*
 * Edge/Windows reserves more internal width inside native date controls than
 * Safari. Give dashboard health-record columns enough room for a complete
 * MM/DD/YYYY value instead of squeezing the browser's date UI.
 */
.dashboard-vaccine-row{
  grid-template-columns:7rem repeat(var(--health-columns,4),5.35rem) 5.75rem;
  gap:.3rem;
}
.dashboard-vaccine-row.dashboard-vaccine-head{
  font-size:.62rem;
}
.dashboard-vaccine-row.dashboard-vaccine-head span{
  overflow:visible;
  text-overflow:clip;
}
.dashboard-pet-name{
  width:7rem;
}
.dashboard-vaccine-date input{
  width:5.05rem;
  min-width:5.05rem;
  padding:.28rem .2rem;
  font-size:.66rem;
}
.dashboard-vaccine-date small{
  font-size:.58rem;
  line-height:1.15;
}
.dashboard-vet-action{
  min-width:5.75rem;
  padding-left:.2rem;
}
.dashboard-email-vet{
  min-width:5.25rem;
  padding:.32rem .48rem;
  font-size:.61rem;
}

/*
 * Keep the two-column dashboard when there is genuinely enough room, but do
 * not crush cards below a useful desktop width merely to preserve two columns.
 */
@media (min-width:901px) and (max-width:1320px){
  .dashboard-data-grid{
    grid-template-columns:1fr;
  }
}

/* Boarding uses longer "$00.00/night" labels than the other calendars. */
.boarding-calendar-dialog{
  width:min(900px,96vw);
}
.boarding-calendar-dialog .daycare-calendar-weekdays,
.boarding-calendar-dialog .daycare-calendar-grid{
  grid-template-columns:repeat(7,minmax(0,1fr));
}
.boarding-calendar-dialog .daycare-calendar-day{
  min-width:0;
  padding-left:.12rem;
  padding-right:.12rem;
}
.boarding-calendar-dialog .daycare-calendar-day small{
  max-width:100%;
  white-space:nowrap;
  overflow:visible;
  font-size:.69rem;
  letter-spacing:-.01em;
}

@media(max-width:720px){
  .boarding-calendar-dialog{
    width:min(760px,96vw);
  }
  .dashboard-vaccine-row{
    grid-template-columns:5rem repeat(var(--health-columns,4),4.45rem) 5.2rem;
  }
  .dashboard-vaccine-date input{
    width:4.2rem;
    min-width:4.2rem;
  }
  .dashboard-vet-action{
    min-width:5.2rem;
  }
}


/* Dashboard vaccine action pinning / Windows fit correction */
.dashboard-vaccine-table{
  width:100%;
  overflow-x:auto;
  overflow-y:visible;
}

.dashboard-vaccine-row{
  width:100%;
  display:grid;
  grid-template-columns:
    minmax(7rem,1.15fr)
    repeat(var(--health-columns,4),minmax(5.4rem,.78fr))
    minmax(6.25rem,.9fr);
  gap:.35rem;
  align-items:center;
}

.dashboard-vaccine-row > *{
  min-width:0;
}

.dashboard-vaccine-row.dashboard-vaccine-head{
  width:100%;
}

.dashboard-vaccine-row.dashboard-vaccine-head > span:last-child{
  justify-self:end;
  width:100%;
  text-align:right;
  padding-right:.15rem;
}

.dashboard-vet-action{
  justify-self:stretch;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  min-width:6.25rem;
  width:100%;
  padding-left:.35rem;
  padding-right:.1rem;
}

.dashboard-email-vet{
  margin-left:auto;
  width:auto;
  min-width:5.6rem;
  white-space:nowrap;
}

.dashboard-vaccine-date{
  min-width:0;
}

.dashboard-vaccine-date input{
  box-sizing:border-box;
  width:100%;
  min-width:0;
  max-width:100%;
  padding:.28rem .18rem;
}

.dashboard-vaccine-date small{
  display:block;
  width:100%;
  text-align:center;
  overflow-wrap:anywhere;
}

/* Prefer stacking the dashboard cards before compressing the vaccine table. */
@media (min-width:901px) and (max-width:1450px){
  .dashboard-data-grid{
    grid-template-columns:1fr;
  }

  .dashboard-vaccine-row{
    grid-template-columns:
      minmax(8rem,1.2fr)
      repeat(var(--health-columns,4),minmax(5.75rem,1fr))
      minmax(6.5rem,.9fr);
  }
}

@media(max-width:720px){
  .dashboard-vaccine-table{
    overflow-x:auto;
  }

  .dashboard-vaccine-row{
    min-width:42rem;
    grid-template-columns:
      6.5rem
      repeat(var(--health-columns,4),5.2rem)
      6.2rem;
  }
}


/* Final dashboard vaccine alignment correction */
.dashboard-vaccine-table{
  width:100%;
  overflow-x:auto;
  overflow-y:visible;
}

.dashboard-vaccine-row{
  display:grid;
  width:100%;
  grid-template-columns:
    7.25rem
    repeat(var(--health-columns,4),4.75rem)
    6.25rem;
  column-gap:.4rem;
  align-items:center;
}

.dashboard-vaccine-row > *{
  min-width:0;
  box-sizing:border-box;
}

.dashboard-vaccine-row.dashboard-vaccine-head{
  width:100%;
}

.dashboard-vaccine-row.dashboard-vaccine-head > span{
  display:block;
  width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.dashboard-vaccine-row.dashboard-vaccine-head > span:last-child{
  text-align:center;
  justify-self:stretch;
  padding:0;
}

.dashboard-pet-name{
  width:7.25rem;
  min-width:7.25rem;
  max-width:7.25rem;
  overflow:hidden;
}

.dashboard-vaccine-date{
  width:4.75rem;
  min-width:4.75rem;
  max-width:4.75rem;
  overflow:visible;
}

.dashboard-vaccine-date input{
  display:block;
  box-sizing:border-box;
  width:4.75rem;
  min-width:4.75rem;
  max-width:4.75rem;
  padding:.26rem .18rem;
  font-size:.64rem;
}

.dashboard-vaccine-date small{
  display:block;
  width:4.75rem;
  min-width:4.75rem;
  max-width:4.75rem;
  margin-top:.14rem;
  text-align:center;
  line-height:1.12;
  font-size:.58rem;
  white-space:normal;
  overflow-wrap:normal;
}

.dashboard-vet-action{
  width:6.25rem;
  min-width:6.25rem;
  max-width:6.25rem;
  display:flex;
  justify-content:center;
  align-items:center;
  padding:0;
  justify-self:stretch;
}

.dashboard-email-vet{
  width:auto;
  min-width:5.4rem;
  max-width:5.9rem;
  margin:0 auto;
  padding:.32rem .48rem;
  font-size:.61rem;
  white-space:nowrap;
}

.dashboard-vaccine-row + .dashboard-vaccine-row{
  margin-top:.18rem;
}

/* Keep the two-column dashboard until space genuinely becomes tight.
   At that point stack cards instead of distorting the vaccine grid. */
@media (min-width:901px) and (max-width:1320px){
  .dashboard-data-grid{
    grid-template-columns:1fr;
  }
}

/* Narrow/mobile: preserve compact sizing and allow horizontal scroll rather than overlap. */
@media(max-width:720px){
  .dashboard-vaccine-row{
    min-width:36.75rem;
    grid-template-columns:
      6.75rem
      repeat(var(--health-columns,4),4.45rem)
      5.95rem;
    column-gap:.34rem;
  }

  .dashboard-pet-name{
    width:6.75rem;
    min-width:6.75rem;
    max-width:6.75rem;
  }

  .dashboard-vaccine-date,
  .dashboard-vaccine-date input,
  .dashboard-vaccine-date small{
    width:4.45rem;
    min-width:4.45rem;
    max-width:4.45rem;
  }

  .dashboard-vet-action{
    width:5.95rem;
    min-width:5.95rem;
    max-width:5.95rem;
  }
}


/* Dashboard vaccine frozen Pet column correction */
.dashboard-vaccine-row.dashboard-vaccine-head > span:first-child,
.dashboard-pet-name{
  position:sticky;
  left:0;
  background:#fff !important;
  isolation:isolate;
}

.dashboard-vaccine-row.dashboard-vaccine-head > span:first-child{
  z-index:20;
  box-shadow:6px 0 8px -8px rgba(23,37,59,.45);
}

.dashboard-pet-name{
  z-index:19;
  box-shadow:6px 0 8px -8px rgba(23,37,59,.45);
  padding-right:.45rem;
}

.dashboard-vaccine-row.dashboard-vaccine-head > span:first-child::after,
.dashboard-pet-name::after{
  content:"";
  position:absolute;
  top:0;
  right:-.4rem;
  width:.4rem;
  height:100%;
  background:#fff;
  pointer-events:none;
}

.dashboard-vaccine-date,
.dashboard-vet-action{
  position:relative;
  z-index:1;
}


/* BBH Today's Vaccines three-pane layout
   Fixed PET | fluid scrolling health records | fixed VET */
.dashboard-vaccine-table{
  width:100%;
  overflow:visible;
  padding-bottom:.25rem;
}

.dashboard-vaccine-three-pane{
  --dashboard-vaccine-head-height:2rem;
  --dashboard-vaccine-row-height:3.65rem;
  display:grid;
  grid-template-columns:7.25rem minmax(0,1fr) 6.25rem;
  width:100%;
  min-width:0;
  border-bottom:1px solid #e5ebf1;
}

.dashboard-vaccine-fixed{
  position:relative;
  z-index:3;
  background:#fff;
  min-width:0;
}

.dashboard-vaccine-fixed--pet{border-right:1px solid #eef2f6}
.dashboard-vaccine-fixed--vet{border-left:1px solid #eef2f6}

.dashboard-vaccine-pane-head{
  height:var(--dashboard-vaccine-head-height);
  box-sizing:border-box;
  display:flex;
  align-items:center;
  color:#19437d;
  font-size:.64rem;
  font-weight:900;
  text-transform:uppercase;
  white-space:nowrap;
}

.dashboard-vaccine-fixed--pet .dashboard-vaccine-pane-head{justify-content:flex-start}
.dashboard-vaccine-fixed--vet .dashboard-vaccine-pane-head{justify-content:center}

.dashboard-vaccine-pane-row{
  height:var(--dashboard-vaccine-row-height);
  box-sizing:border-box;
  display:flex;
  align-items:center;
  border-top:1px solid #e5ebf1;
  background:#fff;
}

.dashboard-vaccine-fixed--pet .dashboard-vaccine-pane-row{justify-content:flex-start}
.dashboard-vaccine-fixed--vet .dashboard-vaccine-pane-row{justify-content:center}

.dashboard-vaccine-scroll-pane{
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-gutter:stable;
  overscroll-behavior-x:contain;
  background:#fff;
}

.dashboard-vaccine-scroll-content{
  width:max-content;
  min-width:100%;
}

.dashboard-vaccine-middle-head,
.dashboard-vaccine-middle-row{
  display:grid;
  grid-template-columns:repeat(var(--health-columns,4),4.45rem);
  column-gap:.28rem;
  width:max-content;
  min-width:100%;
  box-sizing:border-box;
}

.dashboard-vaccine-middle-head{
  height:var(--dashboard-vaccine-head-height);
  align-items:center;
  color:#19437d;
  font-size:.64rem;
  font-weight:900;
  text-transform:uppercase;
}

.dashboard-vaccine-middle-head span{
  display:block;
  width:4.45rem;
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.dashboard-vaccine-middle-row{
  height:var(--dashboard-vaccine-row-height);
  align-items:center;
  border-top:1px solid #e5ebf1;
}

.dashboard-vaccine-three-pane .dashboard-pet-name{
  position:static;
  width:100%;
  min-width:0;
  max-width:none;
  border:0;
  background:#fff;
  color:#17253b;
  padding:.2rem .45rem .2rem 0;
  text-align:left;
  cursor:pointer;
  box-shadow:none;
}

.dashboard-vaccine-three-pane .dashboard-pet-name::after{content:none}

.dashboard-vaccine-three-pane .dashboard-pet-name strong{
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.dashboard-vaccine-three-pane .dashboard-vaccine-date{
  width:4.45rem;
  min-width:4.45rem;
  max-width:4.45rem;
  display:grid;
  gap:.08rem;
  justify-items:center;
  text-align:center;
}

.dashboard-vaccine-three-pane .dashboard-vaccine-date input{
  box-sizing:border-box;
  width:4.15rem;
  min-width:4.15rem;
  max-width:4.15rem;
  padding:.28rem .12rem;
  font-size:.68rem;
}

.dashboard-vaccine-three-pane .dashboard-vaccine-date small{
  width:4.45rem;
  min-width:4.45rem;
  max-width:4.45rem;
  font-size:.6rem;
  line-height:1.1;
  text-align:center;
  white-space:normal;
}

.dashboard-vaccine-three-pane .dashboard-vet-action{
  position:static;
  width:100%;
  min-width:0;
  max-width:none;
  padding:0 .18rem;
  background:#fff;
  z-index:auto;
}

.dashboard-vaccine-three-pane .dashboard-email-vet{
  width:auto;
  min-width:4.85rem;
  max-width:5.75rem;
  margin:0 auto;
  padding:.32rem .55rem;
  font-size:.64rem;
  white-space:nowrap;
}

@media(max-width:720px){
  .dashboard-vaccine-three-pane{
    grid-template-columns:6.25rem minmax(0,1fr) 5.65rem;
  }
  .dashboard-vaccine-middle-head,
  .dashboard-vaccine-middle-row{
    grid-template-columns:repeat(var(--health-columns,4),4.35rem);
  }
  .dashboard-vaccine-middle-head span,
  .dashboard-vaccine-three-pane .dashboard-vaccine-date,
  .dashboard-vaccine-three-pane .dashboard-vaccine-date small{
    width:4.35rem;
    min-width:4.35rem;
    max-width:4.35rem;
  }
  .dashboard-vaccine-three-pane .dashboard-vaccine-date input{
    width:4.05rem;
    min-width:4.05rem;
    max-width:4.05rem;
  }
}


/* Today's Vaccines column refinement
   Preserve compact inputs; give each requirement a true aligned column
   and reserve vertical space for status text. */
.dashboard-vaccine-three-pane{
  --dashboard-vaccine-head-height:2.15rem;
  --dashboard-vaccine-row-height:4.15rem;
}

.dashboard-vaccine-middle-head,
.dashboard-vaccine-middle-row{
  grid-template-columns:repeat(var(--health-columns,4),4.7rem);
  column-gap:.34rem;
}

.dashboard-vaccine-middle-head{
  align-items:end;
  padding-bottom:.35rem;
}

.dashboard-vaccine-middle-head span{
  width:4.7rem;
  min-width:4.7rem;
  max-width:4.7rem;
  box-sizing:border-box;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  min-height:1.45rem;
  padding:0 .08rem;
  text-align:center;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  line-height:1.05;
}

.dashboard-vaccine-middle-row{
  align-items:start;
  padding-top:.42rem;
}

.dashboard-vaccine-three-pane .dashboard-vaccine-date{
  width:4.7rem;
  min-width:4.7rem;
  max-width:4.7rem;
  display:grid;
  grid-template-rows:auto minmax(1.35rem,auto);
  align-content:start;
  justify-items:center;
  gap:.18rem;
}

.dashboard-vaccine-three-pane .dashboard-vaccine-date input{
  /* Intentionally retain the compact input dimensions already approved. */
  width:4.15rem;
  min-width:4.15rem;
  max-width:4.15rem;
  height:auto;
  padding:.28rem .12rem;
  font-size:.68rem;
}

.dashboard-vaccine-three-pane .dashboard-vaccine-date small{
  width:4.7rem;
  min-width:4.7rem;
  max-width:4.7rem;
  min-height:1.35rem;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:0 .08rem;
  box-sizing:border-box;
  font-size:.6rem;
  line-height:1.08;
  text-align:center;
  white-space:normal;
  overflow:visible;
}

/* Keep fixed PET/VET rows vertically synchronized with the taller records row. */
.dashboard-vaccine-pane-row{
  height:var(--dashboard-vaccine-row-height);
}

@media(max-width:720px){
  .dashboard-vaccine-three-pane{
    --dashboard-vaccine-head-height:2.1rem;
    --dashboard-vaccine-row-height:4.15rem;
  }

  .dashboard-vaccine-middle-head,
  .dashboard-vaccine-middle-row{
    grid-template-columns:repeat(var(--health-columns,4),4.55rem);
    column-gap:.28rem;
  }

  .dashboard-vaccine-middle-head span,
  .dashboard-vaccine-three-pane .dashboard-vaccine-date,
  .dashboard-vaccine-three-pane .dashboard-vaccine-date small{
    width:4.55rem;
    min-width:4.55rem;
    max-width:4.55rem;
  }

  .dashboard-vaccine-three-pane .dashboard-vaccine-date input{
    width:4.05rem;
    min-width:4.05rem;
    max-width:4.05rem;
  }
}

/* Unified booking approval center request label */
.booking-request-type{display:inline-flex;margin-left:8px;padding:3px 8px;border-radius:999px;background:#fff1b8;color:#725600;font-size:.65rem;line-height:1.2;font-weight:900;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle}

/* BBH roster live counters, Currently in House roll call and vaccine popover fixes */
.roster-metrics{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.roster-filter-row{justify-content:space-between;align-items:center}
.roster-module-filters,.roster-search-tools{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.roster-search-tools{margin-left:auto}
.roster-search-tools input{margin-left:0;min-width:18rem}
.roster-in-house-launch{white-space:nowrap}
.roster-table tbody tr{position:relative;z-index:1}
.roster-table tbody tr:has(.roster-vaccine-summary:hover),.roster-table tbody tr:has(.roster-vaccine-summary:focus-within){z-index:250}
.roster-table tbody td:has(.roster-vaccine-summary:hover),.roster-table tbody td:has(.roster-vaccine-summary:focus-within){position:relative;z-index:251}
.roster-vaccine-tooltip{z-index:1000!important}

.in-house-backdrop{position:fixed;inset:0;z-index:4200;background:rgba(15,28,45,.48);display:grid;place-items:center;padding:18px}
.in-house-modal{width:min(1120px,calc(100vw - 36px));height:min(92vh,960px);background:#fff;border:1px solid #cbd7e4;border-radius:26px;box-shadow:0 24px 70px rgba(15,32,55,.3);display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;color:#163c35}
.in-house-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:22px 24px 16px;border-bottom:1px solid #dce4ec}
.in-house-head h2{margin:.12rem 0;font-size:1.9rem;color:#17253b}.in-house-head p{margin:0;color:#6b7890;font-weight:700}
.in-house-close{width:42px;height:42px;border:0;border-radius:14px;background:#edf2f7;color:#17253b;font-size:1.5rem;font-weight:900;cursor:pointer}
.in-house-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:12px 24px;border-bottom:1px solid #e3e9f0;background:#fbfcfe;flex-wrap:wrap}
.roll-call-summary{display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap}.roll-call-summary strong{color:#19437d;font-size:1rem}.roll-call-summary span{color:#64748b;font-size:.78rem;font-weight:800}
.in-house-print-actions{display:flex;gap:.45rem;flex-wrap:wrap}
.rapid-checkin{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.8rem 1rem;align-items:center;padding:14px 16px;margin:0 0 18px;border:1px solid #ead9a0;border-radius:16px;background:#fffaf0}.rapid-checkin h3{margin:.05rem 0;color:#17253b}.rapid-checkin-controls{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,auto) auto;gap:.5rem;align-items:center}.rapid-service-options{display:flex;align-items:center;gap:.4rem;overflow-x:auto;max-width:460px;padding:2px;scrollbar-width:thin}.rapid-service-pill{white-space:nowrap}.rapid-no-options{font-size:.78rem;color:#8a5f00;font-weight:800;white-space:nowrap}.rapid-search-wrap{position:relative}.rapid-search-wrap input{width:100%;border:1px solid #b9c8d9;border-radius:999px;padding:.62rem .85rem;font:inherit}.rapid-search-results{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 5px);max-height:250px;overflow:auto;border:1px solid #b9c8d9;border-radius:14px;background:#fff;box-shadow:0 12px 30px rgba(20,45,75,.2);padding:5px}.rapid-search-results[hidden]{display:none}.rapid-search-results button{display:block;width:100%;border:0;border-radius:10px;background:#fff;text-align:left;padding:.55rem .65rem;color:#17253b;cursor:pointer}.rapid-search-results button:hover,.rapid-search-results button:focus{background:#edf4fb;outline:none}.rapid-search-results strong,.rapid-search-results small{display:block}.rapid-search-results small{margin-top:.12rem;color:#718096}.rapid-service-pill{border:2px solid #b9c8d9;border-radius:999px;background:#fff;color:#19437d;padding:.55rem .85rem;font-weight:900;transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease}.rapid-service-pill.is-active,.rapid-service-pill[aria-pressed="true"]{background:#19437d;color:#fff;border-color:#f1be15;box-shadow:0 0 0 2px rgba(241,190,21,.2)}.rapid-service-pill.is-active::before,.rapid-service-pill[aria-pressed="true"]::before{content:"✓ "}.rapid-checkin>small{grid-column:2;color:#6b7890;font-weight:800}
.roll-call-scroll{overflow:auto;padding:18px 24px 28px;background:#f7f9fc}.roll-call-section+ .roll-call-section{margin-top:22px}.roll-call-section>header{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:10px}.roll-call-section h3{margin:0;color:#17253b}.roll-call-section>header small{color:#718096}
.roll-call-family{border:1px solid #cfd9e5;border-radius:18px;background:#fff;overflow:hidden;margin-bottom:12px}.roll-call-family>header{position:sticky;left:0;padding:9px 13px;background:#19437d;color:#fff;z-index:2}.roll-call-family>header strong{text-transform:uppercase;letter-spacing:.035em}
.roll-call-family-pets{display:grid}.roll-call-pet{display:grid;grid-template-columns:minmax(370px,.95fr) minmax(0,1.05fr);align-items:stretch;border-top:1px solid #e0e7ef}.roll-call-pet:first-child{border-top:0}.roll-call-pet-fixed{position:relative;z-index:2;display:grid;grid-template-columns:minmax(90px,1fr) auto;align-items:center;gap:.7rem;padding:12px 14px;background:#fff;box-shadow:7px 0 12px -12px rgba(20,45,75,.6)}.roll-call-pet-fixed>strong{font-size:1rem;color:#17365f}.roll-call-periods{display:flex;gap:.42rem;align-items:center}.roll-call-check{min-width:78px;min-height:48px;border:2px solid #b9c8d9;border-radius:14px;background:#fff;color:#19437d;display:flex;align-items:center;justify-content:center;gap:.38rem;padding:.45rem .6rem;font:inherit;font-size:.74rem;font-weight:900;cursor:pointer;touch-action:manipulation}.roll-call-check-box{width:22px;height:22px;border:2px solid currentColor;border-radius:7px;display:grid;place-items:center;font-size:.9rem;line-height:1}.roll-call-check.is-checked{background:#19437d;border-color:#f1be15;color:#fff;box-shadow:0 0 0 2px rgba(241,190,21,.18)}.roll-call-check:disabled{opacity:.6}
.roll-call-details-scroll{min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:none;overscroll-behavior-inline:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;background:#f9fbfd}.roll-call-details-track{display:flex;gap:.5rem;align-items:stretch;width:max-content;min-width:100%;padding:10px 12px}.roll-call-detail-chip{display:grid;gap:.14rem;min-width:170px;border:1px solid #d6e0ea;border-radius:12px;background:#fff;padding:.55rem .65rem}.roll-call-detail-chip strong{color:#19437d}.roll-call-detail-chip small{color:#66758b}.roll-call-entry-detail{display:flex;gap:.5rem;align-items:stretch}.roll-call-time-chip input{border:0;background:transparent;color:#163c35;font:inherit;font-weight:900;min-width:118px;padding:0;outline:none}.roll-call-time-chip input:focus{box-shadow:0 0 0 2px rgba(25,67,125,.18);border-radius:6px}.roll-call-time-chip input:disabled{opacity:.6}.roll-call-empty{padding:18px;border:1px dashed #c6d2df;border-radius:14px;background:#fff;text-align:center;color:#718096;font-weight:800}.roll-call-section--expected .roll-call-family>header{background:#6b7890}

@media(max-width:850px){
  .roster-filter-row{align-items:stretch}.roster-module-filters{width:100%}.roster-search-tools{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr);margin-left:0}.roster-search-tools input{min-width:0;width:100%}
  .in-house-backdrop{padding:0}.in-house-modal{width:100vw;height:100dvh;max-height:none;border-radius:0;border:0}.in-house-head{padding:16px}.in-house-toolbar,.rapid-checkin,.roll-call-scroll{padding-left:14px;padding-right:14px}.rapid-checkin{grid-template-columns:1fr}.rapid-checkin-controls{grid-template-columns:minmax(0,1fr) auto}.rapid-service-options{grid-column:1/-1;max-width:100%;width:100%}.rapid-checkin-controls>[data-rapid-checkin]{grid-column:1/-1;width:100%}.rapid-checkin>small{grid-column:1}
  .roll-call-pet{grid-template-columns:minmax(0,1fr)}.roll-call-pet-fixed{grid-template-columns:1fr;position:sticky;left:0;box-shadow:none;padding-bottom:10px}.roll-call-periods{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.roll-call-check{min-width:0;min-height:52px;width:100%}.roll-call-details-scroll{border-top:1px dashed #d9e2eb}.roll-call-detail-chip{min-width:150px}.roll-call-section>header{align-items:flex-start;flex-direction:column}
}
@media(max-width:520px){.roster-search-tools{grid-template-columns:1fr}.roster-in-house-launch{width:100%}.in-house-print-actions{width:100%}.in-house-print-actions .pill-button{flex:1}.rapid-checkin-controls{grid-template-columns:1fr}.rapid-service-options{grid-column:1}.rapid-service-pill{justify-self:start}.roll-call-check{padding:.4rem .3rem;font-size:.68rem}.roll-call-check-box{width:20px;height:20px}.roll-call-pet-fixed>strong{font-size:1.05rem}}


/* BBH responsive horizontal action rails: keep utility/workspace buttons on one line
   on narrow and split-screen layouts instead of wrapping into stacked rows. */
@media (max-width: 1100px) {
  .toolbar {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .toolbar__brand {
    flex: 0 0 100%;
  }
  .toolbar__controls,
  .action-buttons {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    width: 100%;
    max-width: 100%;
    justify-content: flex-start;
    gap: .65rem;
    padding-bottom: .35rem;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    touch-action: pan-x pan-y;
  }
  .toolbar__controls::-webkit-scrollbar,
  .action-buttons::-webkit-scrollbar {
    display: none;
  }
  .toolbar__controls .pill-button,
  .action-buttons .pill-button {
    flex: 0 0 auto;
    width: auto;
    white-space: nowrap;
  }
  .actions-panel {
    overflow: hidden;
  }
}

/* Desktop / laptop split-screen: expose a visible horizontal scrollbar so mouse users
   can reach off-screen toolbar and workspace actions without trackpad/touch gestures. */
@media (min-width: 601px) and (max-width: 1100px) {
  .toolbar__controls,
  .action-buttons {
    scrollbar-width: auto;
    scrollbar-color: #7c8793 transparent;
    padding-bottom: .7rem;
  }
  .toolbar__controls::-webkit-scrollbar,
  .action-buttons::-webkit-scrollbar {
    display: block;
    height: 10px;
  }
  .toolbar__controls::-webkit-scrollbar-track,
  .action-buttons::-webkit-scrollbar-track {
    background: transparent;
  }
  .toolbar__controls::-webkit-scrollbar-thumb,
  .action-buttons::-webkit-scrollbar-thumb {
    background: #7c8793;
    border-radius: 999px;
    border: 2px solid transparent;
    background-clip: padding-box;
  }
}

/* Phones keep the cleaner swipe-only rail. */
@media (max-width: 600px) {
  .toolbar__controls,
  .action-buttons {
    scrollbar-width: none;
  }
  .toolbar__controls::-webkit-scrollbar,
  .action-buttons::-webkit-scrollbar {
    display: none;
  }
}

/* Facility Security staff lifecycle */
.user-row__identity{min-width:0;flex:1}.user-row__actions{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;flex-wrap:wrap}.pill-button--compact{padding:.48rem .8rem;min-height:38px}.pill-button--danger{background:#fff1f1;color:#9f2f2f;border-color:#d94a4a}.pill-button--danger:hover{background:#9f2f2f;color:#fff}.user-row--inactive{opacity:.82}.user-row--inactive .inline-status::before{background:#8793a6}@media(max-width:620px){.user-row__actions{width:100%;justify-content:flex-start}.user-row__actions .inline-status{margin-right:auto}}

/* Smart staff scheduling */
.schedule-week-nav{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:1rem}.schedule-metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1rem 0}.schedule-metrics-grid .module-card{margin:0}.schedule-metric--good{box-shadow:inset 0 0 0 2px rgba(30,125,80,.22)}.schedule-metric--over{box-shadow:inset 0 0 0 2px rgba(183,45,45,.3)}.schedule-metric--good h2{color:#236f50}.schedule-metric--over h2{color:#a02c2c}.schedule-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.schedule-table{border-collapse:separate;border-spacing:0;width:100%;min-width:1500px}.schedule-table th,.schedule-table td{vertical-align:top;border-bottom:1px solid #dce5ef;padding:.75rem}.schedule-table thead th{background:#19437d;color:#fff;position:sticky;top:0;z-index:2}.schedule-table thead th:first-child{left:0;z-index:3}.schedule-table thead small,.schedule-table thead span{display:block;font-size:.75rem;font-weight:600;opacity:.85;margin-top:.15rem}.schedule-table tbody th{position:sticky;left:0;background:#fff;z-index:1;min-width:180px;text-align:left}.schedule-table tbody th small{display:block;color:#728099;margin-top:.2rem}.schedule-shift-cell{min-width:155px}.schedule-off{display:flex;align-items:center;gap:.35rem;font-weight:800;color:#19437d;margin-bottom:.45rem}.schedule-shift-pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.25rem;align-items:center;margin-bottom:.35rem}.schedule-shift-pair input{width:100%;min-width:0;padding:.45rem .35rem}.schedule-cell-actions{display:flex;gap:.35rem;align-items:center;margin-top:.35rem}.schedule-shift-cell>small{display:block;margin-top:.4rem;color:#728099}.schedule-grid-card{padding:0;overflow:hidden}
@media(max-width:900px){.schedule-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.schedule-metrics-grid{grid-template-columns:1fr}.schedule-week-nav{justify-content:space-between}}


/* BBH Schedule Settings — scoped settings layout */
.schedule-settings-hero{min-height:0}.schedule-settings-card{margin-top:1rem}.schedule-settings-form{display:grid;gap:1.35rem}.schedule-settings-section{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.15rem 1.25rem;border:1px solid rgba(25,67,125,.16);border-radius:20px;background:rgba(25,67,125,.025)}.schedule-settings-copy h3{margin:.2rem 0 .25rem;font-size:1.15rem;color:var(--ink)}.schedule-settings-copy p{margin:0;max-width:760px}.schedule-switch{display:flex;align-items:center;gap:.65rem;flex:0 0 auto;cursor:pointer}.schedule-switch input{position:absolute;opacity:0;pointer-events:none}.schedule-switch__track{width:56px;height:30px;border-radius:999px;background:#b7c2d0;border:1px solid rgba(25,67,125,.22);padding:3px;display:block;transition:.16s}.schedule-switch__thumb{display:block;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.24);transition:.16s}.schedule-switch input:checked+.schedule-switch__track{background:var(--blue);box-shadow:0 0 0 2px rgba(241,190,21,.28)}.schedule-switch input:checked+.schedule-switch__track .schedule-switch__thumb{transform:translateX(26px)}.schedule-switch__state{color:var(--blue);min-width:28px}.schedule-settings-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.schedule-field{display:grid;gap:.45rem;padding:1rem 1.1rem;border:1px solid rgba(25,67,125,.16);border-radius:18px;background:#fff;font-weight:800;color:var(--blue)}.schedule-field small{font-weight:500;color:var(--muted);line-height:1.4;min-height:2.7em}.schedule-field input,.schedule-field select{width:100%;border:1px solid rgba(25,67,125,.3);border-radius:14px;padding:.78rem .9rem;background:var(--white);color:var(--ink);outline:none}.schedule-field input:focus,.schedule-field select:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(241,190,21,.18)}.schedule-settings-revenue{display:grid;gap:1rem;padding-top:.2rem}.schedule-revenue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.schedule-revenue-option{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:82px;padding:1rem;border:1px solid rgba(25,67,125,.18);border-radius:18px;background:#fff;cursor:pointer;transition:.16s}.schedule-revenue-option:hover{border-color:rgba(25,67,125,.38)}.schedule-revenue-option.is-selected{border-color:var(--gold);box-shadow:0 0 0 2px rgba(241,190,21,.12)}.schedule-revenue-option input{position:absolute;opacity:0;pointer-events:none}.schedule-revenue-option__copy{display:grid;gap:.2rem}.schedule-revenue-option__copy strong{color:var(--blue)}.schedule-revenue-option__copy small{color:var(--muted);font-weight:600}.schedule-revenue-option__control{width:44px;height:26px;border-radius:999px;background:#b7c2d0;padding:3px;flex:0 0 auto;transition:.16s}.schedule-revenue-option__control span{display:block;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.22);transition:.16s}.schedule-revenue-option input:checked+.schedule-revenue-option__control{background:var(--blue)}.schedule-revenue-option input:checked+.schedule-revenue-option__control span{transform:translateX(18px)}.schedule-settings-actions{display:flex;justify-content:flex-start;padding-top:.25rem}@media(max-width:900px){.schedule-revenue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.schedule-settings-section{align-items:flex-start;flex-direction:column;gap:1rem}.schedule-settings-fields,.schedule-revenue-grid{grid-template-columns:1fr}.schedule-settings-card{padding:1rem}.schedule-settings-actions .pill-button{width:100%}}


/* Staff schedule display / creator / Hugo AI scheduling */
.staff-schedule-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:start}.staff-schedule-header .schedule-week-nav{grid-column:1/-1}.schedule-table--view td{min-width:150px;vertical-align:middle}.schedule-view-shift{display:block;color:var(--ink,#173f34);white-space:nowrap}.schedule-creator-controls{display:flex;align-items:end;gap:.75rem;flex-wrap:wrap}.schedule-creator-controls label{display:grid;gap:.3rem;font-weight:700}.schedule-creator-controls select{min-width:120px}.schedule-creator-week-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.schedule-creator-week-title h3{margin:0}.hugo-schedule-modal{width:min(1100px,94vw);max-height:90vh;display:flex;flex-direction:column}.hugo-schedule-modal>header{padding:1rem 1.25rem;border-bottom:1px solid #dbe4ef;display:flex;justify-content:space-between;gap:1rem}.hugo-schedule-modal>header h2,.hugo-schedule-modal>header p{margin:.2rem 0}.hugo-schedule-availability{padding:1rem 1.25rem;overflow:auto;display:grid;gap:1rem}.hugo-staff-card{border:1px solid #d4deea;border-radius:18px;overflow:hidden;background:#fff}.hugo-staff-card__head{padding:.8rem 1rem;background:#f7f9fc;display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.hugo-day-grid{display:flex;gap:.45rem;overflow-x:auto;padding:.75rem}.hugo-day-grid label{flex:0 0 86px;min-height:68px;border:2px solid #c1d0e2;border-radius:14px;display:grid;place-items:center;gap:.1rem;padding:.35rem;text-align:center;cursor:pointer}.hugo-day-grid label:has(input:checked){background:#19437d;color:#fff;border-color:#f1be15}.hugo-day-grid input{position:absolute;opacity:0;pointer-events:none}.hugo-day-grid small{font-weight:800}.hugo-schedule-modal__footer{display:flex;justify-content:flex-end;gap:.6rem;padding:1rem 1.25rem;border-top:1px solid #dbe4ef}.schedule-role-settings{border-top:1px solid #dde5ef;padding-top:1.25rem}.settings-tile h3{line-height:1.1}
@media(max-width:760px){.staff-schedule-header{grid-template-columns:1fr}.staff-schedule-header>button{justify-self:start}.schedule-creator-controls{align-items:stretch}.schedule-creator-controls>*{width:100%}.hugo-schedule-modal{width:96vw;max-height:92vh}.hugo-staff-card__head{display:grid}.hugo-schedule-modal__footer{display:grid;grid-template-columns:1fr}.hugo-schedule-modal__footer .pill-button{width:100%}}

/* BBH scheduling refinement 2026-08-27 */
.schedule-period-toolbar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:.75rem}
.schedule-period-tabs{display:flex;gap:.4rem;align-items:center;background:#eef3f8;border:1px solid #d3deea;border-radius:999px;padding:.25rem}
.schedule-period-tab{border:0;border-radius:999px;background:transparent;color:var(--blue);font-weight:900;padding:.5rem .85rem;cursor:pointer}
.schedule-period-tab.is-active{background:var(--blue);color:#fff;box-shadow:0 0 0 2px rgba(241,190,21,.28)}
.schedule-period-toolbar .schedule-week-nav{margin:0}
.schedule-period-week{margin-top:1rem}
.schedule-view-week-title{padding:.75rem 1rem .2rem;margin:0}
.schedule-view-week-title h3{font-size:1rem;color:var(--blue)}
.schedule-view-shifts{display:grid;gap:.28rem;align-content:center}
.schedule-view-shifts strong{display:block;white-space:nowrap;font-size:.84rem}
.schedule-empty-day{color:#8b97a8}
.schedule-day--outside{opacity:.35;background:#f5f7fa!important}
.schedule-year-note{margin:.75rem 1rem 1rem;color:var(--muted)}
.schedule-month-link{border:0;background:transparent;color:#fff;font:inherit;font-weight:900;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.schedule-year-table td{text-align:center;vertical-align:middle}.schedule-year-table td small{display:block;color:var(--muted)}

.schedule-creator-metrics{margin:1rem 0}
.schedule-creator-nav{grid-column:1/-1;margin-top:.15rem}
.schedule-creator-week{margin-top:1rem}
.schedule-creator-week-title{display:flex;justify-content:space-between;align-items:center;margin:0;padding:.85rem 1rem .65rem;min-height:42px;border-bottom:1px solid #dce5ef;background:#fff}
.schedule-creator-week-title h3{margin:0;line-height:1.2;color:var(--blue);white-space:nowrap}
.schedule-creator-week-title span{color:var(--muted);font-weight:700;white-space:nowrap}
.schedule-table--view,.schedule-table--creator{min-width:1050px;table-layout:fixed}
.schedule-table--view th:first-child,.schedule-table--creator th:first-child{width:155px}
.schedule-table--view td,.schedule-table--creator td{min-width:0}
.schedule-table--creator .schedule-shift-cell{min-width:0}
.schedule-table--creator .schedule-shift-pair{grid-template-columns:minmax(0,1fr) 10px minmax(0,1fr);gap:.15rem}
.schedule-table--creator .schedule-shift-pair input{font-size:.72rem;padding:.4rem .2rem}
.schedule-table--creator .schedule-cell-actions{flex-wrap:wrap}

.schedule-operating-hours-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}
.schedule-operating-window{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;padding:1rem;border:1px solid rgba(25,67,125,.18);border-radius:18px;background:#fff}
.schedule-operating-window>strong{grid-column:1/-1;color:var(--blue)}
.schedule-operating-window label{display:grid;gap:.3rem;color:var(--muted);font-size:.78rem;font-weight:800}
.schedule-operating-window input{width:100%;border:1px solid rgba(25,67,125,.3);border-radius:12px;padding:.65rem;background:#fff;color:var(--ink)}
.schedule-operating-window input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(241,190,21,.16)}

.hugo-day-state{display:block}.hugo-day-off{display:none}.hugo-day-grid label:has(input:checked) .hugo-day-available{display:none}.hugo-day-grid label:has(input:checked) .hugo-day-off{display:inline}.hugo-day-grid label:not(:has(input:checked)) .hugo-day-state{color:#52637c}

@media(max-width:1100px){.schedule-operating-hours-grid{grid-template-columns:1fr}.schedule-period-toolbar{align-items:flex-start}.schedule-table--view,.schedule-table--creator{min-width:980px}}
@media(max-width:760px){.schedule-period-toolbar{display:grid}.schedule-period-tabs{width:max-content;max-width:100%;overflow-x:auto}.schedule-period-toolbar .schedule-week-nav{justify-content:flex-start}.schedule-creator-week-title{align-items:flex-start;gap:.4rem;flex-direction:column}.schedule-table--view,.schedule-table--creator{min-width:930px}}

/* BBH 2026-08-27 employee scheduling limits + youth compliance */
.schedule-employee-limits{border-top:1px solid #dde5ef;padding-top:1.25rem}.schedule-limit-list{display:grid;gap:.75rem}.schedule-limit-row{display:grid;grid-template-columns:minmax(190px,1.15fr) repeat(3,minmax(130px,.7fr)) minmax(230px,1.5fr);gap:.7rem;align-items:center;padding:.85rem;border:1px solid #d8e1ec;border-radius:16px;background:#fff}.schedule-limit-identity{display:grid;gap:.15rem}.schedule-limit-identity strong{color:#173f34}.schedule-limit-identity span{font-size:.82rem;color:#657487}.schedule-compliance-badge{display:inline-flex!important;width:max-content;padding:.15rem .45rem;border-radius:999px;background:#eaf1fb;color:#19437d!important;font-weight:800}.schedule-limit-row label{display:grid;gap:.25rem;font-weight:700;font-size:.82rem}.schedule-limit-row input{min-width:0;width:100%}.schedule-limit-guidance{display:grid;gap:.2rem;align-content:center}.schedule-limit-guidance strong{color:#19437d}.schedule-limit-guidance small{line-height:1.35;color:#667383}.schedule-limit-warning{color:#9c4a17!important;font-weight:750}.schedule-limit-guidance .pill-button{justify-self:start;margin-top:.25rem}.hugo-compliance-note{flex-basis:100%;color:#596a7d;line-height:1.35}.hugo-staff-card__head .hugo-compliance-note{font-weight:650}
@media(max-width:1100px){.schedule-limit-row{grid-template-columns:minmax(180px,1fr) repeat(3,minmax(120px,1fr));}.schedule-limit-guidance{grid-column:1/-1;padding-top:.25rem}}
@media(max-width:720px){.schedule-limit-row{grid-template-columns:1fr 1fr}.schedule-limit-identity,.schedule-limit-guidance{grid-column:1/-1}.schedule-limit-row label:last-of-type{grid-column:1/-1}}

/* Schedule Creator: batch save workflow */
.schedule-creator-savebar{display:flex;justify-content:flex-end;align-items:center;gap:1rem;margin:1rem 0 0;padding:1rem 1.1rem;border:1px solid #d6e0eb;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(23,43,70,.06)}
.schedule-creator-savebar>div{display:grid;gap:.12rem;margin-right:auto;color:var(--blue)}
.schedule-creator-savebar small{color:var(--muted);font-weight:600}
.schedule-save-all-button{min-width:180px}
.schedule-table--creator .schedule-cell-actions{justify-content:flex-start}
@media(max-width:760px){.schedule-creator-savebar{align-items:stretch;flex-direction:column}.schedule-creator-savebar .schedule-save-all-button{width:100%}}

/* BBH Time Clock + schedule delivery */
.time-clock-kiosk{max-width:920px;margin-inline:auto}
.time-clock-entry{display:grid;gap:1rem;justify-items:start}
.time-clock-pin-row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}
.time-clock-pin-row input{width:190px;font-size:2rem;letter-spacing:.45em;text-align:center;padding:.8rem 1rem;border:2px solid #b9c8dc;border-radius:18px;background:#fff}
.time-clock-session{display:grid;gap:1.25rem}
.time-clock-session__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.time-clock-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.time-clock-status-grid article{border:1px solid #d4dfeb;border-radius:18px;padding:1rem;background:#f9fbfd;display:grid;gap:.35rem}
.time-clock-status-grid span{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:#65738b;font-weight:700}
.time-clock-status-grid strong{font-size:1.15rem;color:#163f78}
.time-clock-punch-button{min-height:64px;font-size:1.2rem;width:min(100%,360px)}
.time-clock-punch-button.is-clocked-in{background:#842d35}
.time-clock-receipt-note{color:#66758d;font-size:.92rem;max-width:720px}
.schedule-actual-row>th,.schedule-actual-row>td{background:#f5f8fc;border-top:1px dashed #c9d6e6}
.schedule-actual-row>th strong{color:#173f78}
.schedule-view-shifts--actual small{display:block;color:#65738b;margin-top:.25rem}
.actual-time-edit{display:grid;gap:.35rem;min-width:175px}
.actual-time-pair{display:flex;align-items:center;gap:.3rem}
.actual-time-pair input{min-width:0;width:78px;padding:.35rem .25rem;font-size:.76rem}
.actual-time-total{font-weight:700;color:#173f78}
.actual-time-note,.actual-time-initials{width:100%;padding:.4rem .5rem;border:1px solid #c8d5e5;border-radius:9px;font-size:.74rem;background:#fff}
.staff-schedule-actions{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}
.schedule-email-options{padding:1.25rem;display:grid;gap:1rem}
.schedule-email-all{display:flex;gap:.6rem;align-items:center;font-weight:800;color:#173f78}
.schedule-email-list{display:grid;gap:.65rem;max-height:50vh;overflow:auto}
.schedule-email-list label{display:flex;gap:.7rem;align-items:center;padding:.8rem;border:1px solid #d1ddeb;border-radius:14px;background:#fff}
.schedule-email-list span{display:grid}.schedule-email-list small{color:#66758d}
@media(max-width:720px){.time-clock-status-grid{grid-template-columns:1fr}.time-clock-session__head{flex-direction:column}.time-clock-pin-row{width:100%}.time-clock-pin-row input{flex:1;min-width:0}.staff-schedule-actions{justify-content:flex-start}}
@media print{
 @page{size:landscape;margin:.35in}
 body.printing-staff-schedule .toolbar,body.printing-staff-schedule .actions-panel,body.printing-staff-schedule .staff-schedule-header .staff-schedule-actions,body.printing-staff-schedule .schedule-period-toolbar{display:none!important}
 body.printing-staff-schedule .workspace{margin:0!important;padding:0!important;max-width:none!important}
 body.printing-staff-schedule .module-card{box-shadow:none!important;border:0!important}
 body.printing-staff-schedule .schedule-table-scroll{overflow:visible!important}
 body.printing-staff-schedule .schedule-table{min-width:0!important;width:100%!important;font-size:10pt}
 body.printing-staff-schedule .schedule-actual-row{display:none!important}
}


/* BBH live Time Clock toolbar indicator */
.time-clock-toolbar-button{position:relative;overflow:visible}
.time-clock-live-badge{position:absolute;top:-8px;right:-8px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#20a85a;color:#fff;border:2px solid #f1be15;font-size:12px;font-weight:800;line-height:1;box-shadow:0 0 0 0 rgba(32,168,90,.65);z-index:4;pointer-events:none;animation:bbh-time-clock-pulse 1.8s ease-in-out infinite}
.time-clock-live-badge[hidden]{display:none!important}
@keyframes bbh-time-clock-pulse{0%,100%{opacity:.72;box-shadow:0 0 0 0 rgba(32,168,90,.52)}50%{opacity:1;box-shadow:0 0 0 8px rgba(32,168,90,0),0 0 14px rgba(32,168,90,.72)}}
@media (prefers-reduced-motion:reduce){.time-clock-live-badge{animation:none;opacity:1}}

/* Time Clock / Schedule workspace */
.time-clock-schedule-section{margin-top:24px}
.staff-schedule-header--embedded{margin-top:0}
.staff-schedule-header--embedded .staff-schedule-actions{align-self:flex-start}
.schedule-checklist-creator-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:760px){.schedule-checklist-creator-grid{grid-template-columns:1fr}}
@media print{
  body.printing-staff-schedule .time-clock-hero,
  body.printing-staff-schedule .time-clock-kiosk{display:none!important}
  body.printing-staff-schedule .time-clock-schedule-section{margin-top:0!important}
}


/* Consolidated Clients & Pets / Bookings toolbar menu */
.toolbar-module-menu{display:block;flex:0 0 auto;margin:0}
.toolbar-module-select{display:block;width:auto;min-width:170px;max-width:none;padding-right:2.55rem;white-space:nowrap;background-color:var(--blue);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M2 2l5 5 5-5' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .95rem center;background-size:.78rem auto;color:#fff;cursor:pointer}
.toolbar-module-select option{background:#fff;color:#173f34;font-weight:700}
@media(max-width:1100px){.toolbar__controls .toolbar-module-menu{flex:0 0 auto}.toolbar-module-select{min-width:170px}}

/* Checklist Creator + Cleaning Tasks */
.checklist-library-head,.checklist-editor-top,.checklist-editor-actions,.cleaning-tasks-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.checklist-library-list{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.checklist-library-item{appearance:none;border:1px solid #cbd8e7;border-radius:18px;background:#fff;padding:12px 16px;display:flex;align-items:center;gap:10px;text-align:left;color:var(--blue);cursor:pointer}.checklist-library-item.is-active{border-color:var(--gold);box-shadow:0 0 0 2px rgba(241,190,21,.15)}.checklist-library-item span:last-child{display:grid;gap:2px}.checklist-library-item small{color:var(--muted)}.checklist-color-dot{width:18px;height:18px;border-radius:50%;background:var(--checklist-color);border:1px solid rgba(0,0,0,.14)}
.checklist-settings-row{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(180px,.7fr) minmax(180px,.7fr);gap:18px;align-items:end;margin-top:22px}.checklist-settings-row label,.checklist-section-editor-head label,.checklist-task-editor-row label,.cleaning-initial-dialog label{display:grid;gap:7px;font-weight:800;color:var(--blue)}.checklist-settings-row input[type=text],.checklist-section-editor-head input,.checklist-section-editor-head select,.checklist-task-editor-row input,.checklist-task-editor-row select,.cleaning-initial-dialog input{width:100%;min-height:48px;border:1px solid #b8c9dd;border-radius:14px;padding:10px 13px;background:#fff;color:#122238;font:inherit}.checklist-color-control{display:flex;align-items:center;gap:10px;min-height:48px}.checklist-color-control input[type=color]{width:64px;height:48px;border:1px solid #b8c9dd;border-radius:12px;background:#fff;padding:4px}.checklist-color-control code{font-weight:800;color:var(--blue)}.checklist-active-field{align-self:stretch;justify-content:end}.checklist-header-preview{margin-top:22px;border-radius:18px;background:var(--checklist-header);color:#fff;padding:18px 22px;display:flex;justify-content:space-between;gap:12px;align-items:center}.checklist-header-preview strong{font-size:1.22rem}.checklist-header-preview small{opacity:.88}
.checklist-sections{display:grid;gap:18px;margin-top:24px}.checklist-section-editor{border:1px solid #d3deea;border-radius:22px;padding:18px;background:#f9fbfd}.checklist-section-editor-head{display:grid;grid-template-columns:minmax(240px,1fr) minmax(240px,1fr) auto;gap:14px;align-items:end}.checklist-task-editor-list{display:grid;gap:10px;margin:16px 0}.checklist-task-editor-row{display:grid;grid-template-columns:minmax(260px,1fr) 110px auto;gap:10px;align-items:end}.checklist-icon-button{width:44px;height:44px;border-radius:50%;border:1px solid #cfdae7;background:#fff;color:var(--blue);font-size:24px;font-weight:800;cursor:pointer}.checklist-remove{color:#982525}.checklist-editor-actions{margin-top:22px}
.cleaning-tasks-toolbar{margin-bottom:18px}.cleaning-date-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cleaning-date-controls input[type=date]{min-height:44px;border:1px solid #b8c9dd;border-radius:14px;padding:8px 12px;font:inherit;color:var(--blue);background:#fff}.cleaning-print-heading{display:none}.cleaning-task-workspace{display:grid;gap:24px}.cleaning-sheet{border:1px solid #cfdae7;border-radius:24px;overflow:hidden;background:#fff}.cleaning-sheet-header{background:var(--sheet-header);color:var(--sheet-header-text);padding:18px 22px;display:flex;justify-content:space-between;gap:12px;align-items:center}.cleaning-sheet-header h3{margin:0;font-size:1.35rem}.cleaning-sheet-header span{font-weight:750;opacity:.92}.cleaning-sheet-section{padding:18px 20px}.cleaning-sheet-section+.cleaning-sheet-section{border-top:1px solid #dbe4ee}.cleaning-section-heading{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:10px;color:var(--blue)}.cleaning-section-heading strong{font-size:1.08rem}.cleaning-section-heading span{color:var(--muted);font-size:.9rem}.cleaning-grid{display:grid}.cleaning-grid-row{display:grid;grid-template-columns:minmax(280px,1fr) 130px 130px 130px;border-top:1px solid #e1e8ef;min-height:64px}.cleaning-grid-row>div,.cleaning-grid-row>span{padding:9px 10px;display:flex;align-items:center}.cleaning-grid-row>*+*{border-left:1px solid #e1e8ef}.cleaning-grid-head{min-height:42px;background:#f3f7fb;font-weight:850;color:var(--blue)}.cleaning-grid-head span{padding:8px 10px}.cleaning-task-text{font-weight:720;color:#173f34}.cleaning-initial-cell{justify-content:center}.cleaning-initial-cell.is-disabled{background:#fafafa;color:#9aa6b5}.cleaning-initial-button{width:100%;min-height:46px;border:1px solid #b8c9dd;border-radius:12px;background:#fff;color:var(--blue);font:inherit;font-weight:800;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.cleaning-initial-button.is-complete{background:#edf4fb;border-color:#88a8cc}.cleaning-initial-button strong{font-size:1rem}.cleaning-initial-button small{font-size:.72rem;color:var(--muted);font-weight:700}.cleaning-print-initial-box{display:none}.cleaning-not-required{width:100%;justify-content:center;color:#9aa6b5}.cleaning-initial-modal{position:fixed;inset:0;background:rgba(18,34,56,.55);z-index:1000;display:grid;place-items:center;padding:20px}.cleaning-initial-modal[hidden]{display:none!important}.cleaning-initial-dialog{position:relative;width:min(480px,100%);background:#fff;border-radius:24px;padding:28px;box-shadow:0 24px 80px rgba(0,0,0,.25)}.cleaning-initial-dialog h3{margin:4px 0 8px}.cleaning-initial-dialog p{color:var(--muted);margin-bottom:18px}.cleaning-initial-dialog .modal-close{position:absolute;right:16px;top:14px;border:0;background:#eef3f8;border-radius:12px;width:42px;height:42px;font-size:24px;cursor:pointer}.cleaning-initial-dialog .modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
@media(max-width:760px){.checklist-settings-row{grid-template-columns:1fr}.checklist-section-editor-head{grid-template-columns:1fr auto}.checklist-section-editor-head label:nth-child(2){grid-column:1/-1}.checklist-task-editor-row{grid-template-columns:1fr 100px auto}.cleaning-sheet{overflow-x:auto}.cleaning-sheet-header{min-width:720px}.cleaning-sheet-section{min-width:720px}.cleaning-grid-row{grid-template-columns:minmax(280px,1fr) 120px 120px 120px}}
@media print{
 @page{size:portrait;margin:.45in}
 body.printing-cleaning-tasks .toolbar,body.printing-cleaning-tasks #action-buttons,body.printing-cleaning-tasks .workspace-actions,body.printing-cleaning-tasks .no-print,body.printing-cleaning-tasks .cleaning-initial-modal{display:none!important}
 body.printing-cleaning-tasks #workspace{display:block!important;padding:0!important;margin:0!important}
 body.printing-cleaning-tasks .cleaning-print-heading{display:flex!important;justify-content:space-between;align-items:end;margin:0 0 12px;font-size:12pt}
 body.printing-cleaning-tasks .cleaning-task-workspace{display:block!important}
 body.printing-cleaning-tasks .cleaning-sheet{break-inside:avoid-page;border:1px solid #999;border-radius:0;margin:0 0 18px;overflow:visible!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 body.printing-cleaning-tasks .cleaning-sheet-header{min-width:0!important;padding:10px 12px!important;border-radius:0;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 body.printing-cleaning-tasks .cleaning-sheet-section{min-width:0!important;padding:10px 12px!important}
 body.printing-cleaning-tasks .cleaning-grid-row{grid-template-columns:minmax(240px,1fr) 86px 86px 86px;min-height:42px;font-size:9.5pt}
 body.printing-cleaning-tasks .cleaning-grid-head{min-height:30px}
 body.printing-cleaning-tasks .cleaning-initial-button,body.printing-cleaning-tasks .cleaning-not-required{display:none!important}
 body.printing-cleaning-tasks .cleaning-print-initial-box{display:block!important;width:62px;height:24px;border:1px solid #333;border-radius:2px;background:#fff}
 body.printing-cleaning-tasks .cleaning-initial-cell.is-disabled .cleaning-print-initial-box{display:none!important}
}

/* Stored-card authorization menus must escape the card container instead of being clipped. */
.client-stored-cards-card{overflow:visible}
.client-stored-cards-card .square-card-grid,.client-stored-cards-card .square-stored-card,.client-stored-cards-card .square-card-actions{overflow:visible}
.client-stored-cards-card .square-card-actions details[open]{z-index:120;position:relative}
.client-stored-cards-card .square-card-menu{z-index:140;max-height:min(320px,60vh);overflow:auto}

/* BBH 2026-08-28: Create Booking membership list + enrollment spacing */
[data-commerce-panel="memberships"] .commerce-package-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
}
[data-commerce-panel="memberships"] .commerce-membership-row{
  width:100%;
  min-width:0;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:20px;
  padding:16px 18px!important;
  border-radius:16px!important;
}
.commerce-membership-main{display:grid;gap:5px;min-width:0}
.commerce-membership-main>strong{font-size:1rem;color:#16233a}
.commerce-membership-main>span{font-size:.8rem;color:#68758b}
.commerce-membership-benefits{display:flex;flex-wrap:wrap;gap:7px 9px;margin-top:4px}
.commerce-membership-benefit{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;padding:6px 8px;border:1px solid #d7e1ec;border-radius:10px;background:#fff;line-height:1.15}
.commerce-membership-benefit b{font-size:.78rem;color:#19437d}
.commerce-membership-benefit em{font-style:normal;font-size:.76rem;font-weight:900;color:#153f36}
.commerce-membership-benefit small{font-size:.69rem;color:#6b778b}
.commerce-membership-more,.commerce-membership-no-benefit{align-self:center;font-size:.72rem;color:#68758b}
.commerce-membership-sale{min-width:185px;display:grid!important;justify-items:end;gap:6px;text-align:right}
.commerce-membership-sale strong{white-space:nowrap}
.commerce-membership-sale .pill-button{min-width:128px;justify-content:center}
.membership-enrollment-dialog{
  width:min(920px,calc(100vw - 48px))!important;
  max-width:920px!important;
  max-height:calc(100vh - 48px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:26px 28px!important;
}
.membership-enrollment-dialog header{align-items:flex-start;margin-bottom:14px}
.membership-enrollment-dialog>p{margin:0 0 18px;color:#5f6d82;line-height:1.45}
.membership-enrollment-dialog>label{margin:0 0 18px!important;max-width:360px}
.membership-card-choice-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important;margin-top:10px}
.membership-enrollment-cards{display:grid!important;grid-template-columns:1fr;gap:8px!important;margin-top:0}
.membership-enrollment-cards>strong{display:block;margin:0 0 2px;color:#17243a}
.membership-card-radio,.membership-enrollment-card-choice{min-height:68px;padding:14px!important}
.membership-enrollment-grid{grid-template-columns:minmax(220px,320px) minmax(0,1fr);align-items:start;gap:22px!important}
.membership-enrollment-grid>label{margin:0!important}
.membership-enrollment-grid .membership-enrollment-cards{grid-column:2;grid-row:1 / span 2;margin-top:0}
.membership-enrollment-dialog>.form-actions,.membership-enrollment-dialog .membership-enrollment-grid+.form-actions{margin-top:20px;justify-content:flex-end}
@media(max-width:760px){
  [data-commerce-panel="memberships"] .commerce-membership-row{grid-template-columns:1fr;gap:12px}
  .commerce-membership-sale{justify-items:start;text-align:left;min-width:0}
  .membership-enrollment-dialog{width:calc(100vw - 24px)!important;padding:20px!important;max-height:calc(100vh - 24px)!important}
  .membership-card-choice-list{grid-template-columns:1fr!important}
  .membership-enrollment-grid{grid-template-columns:1fr}
  .membership-enrollment-grid .membership-enrollment-cards{grid-column:auto;grid-row:auto}
}

/* Membership billing management polish */
.membership-card-chooser{max-width:560px!important}.membership-card-chooser header{align-items:flex-start}.membership-card-chooser header p{margin:.3rem 0 0;color:#68758b}.membership-card-choice-list--compact{grid-template-columns:1fr!important;padding:4px 0}.membership-card-choice--compact{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px}.membership-card-choice--compact span{display:grid;gap:3px}.membership-card-choice--compact b{color:#19437d;font-size:.82rem;white-space:nowrap}.pill-button--danger{background:#fff4f4!important;color:#9c2929!important;border-color:#d95b5b!important}.client-membership-actions{min-width:0}
.membership-enrollment-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}.membership-enrollment-dates>small{grid-column:1/-1;color:var(--muted,#667085);line-height:1.4}.booking-price-adjustment{display:block;margin-top:4px;font-size:.78rem;font-weight:700;color:#475467}.booking-price-adjustment--membership{color:#19437D}@media(max-width:640px){.membership-enrollment-dates{grid-template-columns:1fr}}

/* Staff app security */
.fluid-form label.bbh-toggle{display:flex;align-items:center;gap:.65rem;border:1px solid rgba(25,67,125,.15);border-radius:18px;padding:.9rem 1rem;background:rgba(255,255,255,.62)}
.fluid-form label.bbh-toggle small{display:block;color:var(--muted);font-weight:500;line-height:1.35;margin-left:.2rem}
.security-permissions{grid-column:1/-1;border:1px solid rgba(25,67,125,.16);border-radius:20px;padding:1rem 1.1rem;background:rgba(25,67,125,.035);display:flex;gap:1rem;flex-wrap:wrap}
.security-permissions legend{font-weight:900;color:var(--blue);padding:0 .4rem}.security-permissions p{flex:1 0 100%;margin:.1rem 0 .35rem!important}.security-permissions label{display:flex!important;align-items:center;gap:.5rem;color:var(--blue);font-weight:800}.security-permissions input{width:auto!important;margin:0}


/* Staff authorization remains visible but unavailable when permission is off. */
.pill-button.is-permission-disabled,
.pill-button:disabled[aria-disabled="true"]{
  opacity:.46;
  filter:grayscale(.25);
  cursor:not-allowed;
  box-shadow:none;
}


/* Facility Staff & Security — option card layout */
.bbh-security-option{
  position:relative;display:flex;flex-direction:column;gap:10px;min-width:0;
  padding:18px 20px;border:1px solid #d8e0eb;border-radius:22px;background:#fffdf9;cursor:pointer;
}
.bbh-security-option__heading{display:flex;align-items:center;gap:12px;min-width:0;}
.bbh-security-option__heading strong{color:#173f76;font-size:1rem;line-height:1.2;}
.bbh-security-option small{display:block;margin:0;color:#66738a;line-height:1.45;}
.bbh-security-option__input{position:absolute;opacity:0;pointer-events:none;}
.bbh-security-option__switch{
  flex:0 0 48px;width:48px;height:28px;border:2px solid #f1be15;border-radius:999px;
  background:#e9edf2;position:relative;transition:.16s ease;
}
.bbh-security-option__switch::after{
  content:"";position:absolute;width:20px;height:20px;left:2px;top:2px;border-radius:50%;
  background:#19437d;transition:.16s ease;
}
.bbh-security-option__input:checked + .bbh-security-option__switch{background:#19437d;}
.bbh-security-option__input:checked + .bbh-security-option__switch::after{transform:translateX(20px);background:#fff;}
.bbh-security-option:focus-within{outline:3px solid rgba(25,67,125,.18);outline-offset:2px;}

/* DANGER ZONE */
.settings-tile--danger{border:2px solid #c83d3d !important;background:#fff5f4 !important;}
.settings-tile--danger .eyebrow,.settings-tile--danger h3{color:#a42d2d !important;}
.settings-tile--danger p{color:#744b4b;}
.pill-button--danger-solid{background:#b53232 !important;border-color:#8f2424 !important;color:#fff !important;box-shadow:none !important;}
.pill-button--danger-solid:hover{background:#962727 !important;}
.danger-zone-card{border:2px solid #c83d3d !important;background:#fff8f7 !important;}
.danger-zone-card h2,.danger-zone-eyebrow{color:#a42d2d !important;}
.danger-zone-warning{margin:18px 0 22px;padding:14px 16px;border:1px solid #e0a2a2;border-radius:16px;background:#ffe9e7;color:#7f2626;}
.danger-zone-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.danger-zone-action{min-width:0;padding:20px;border:1px solid #e2b4b4;border-radius:20px;background:#fff;}
.danger-zone-action h3{margin-top:0;color:#9b2d2d;}
.danger-zone-action label{display:block;margin:18px 0 12px;color:#5b3333;font-weight:700;}
.danger-zone-action input{width:100%;margin-top:7px;}
@media(max-width:760px){.danger-zone-actions{grid-template-columns:1fr;}}


/* Health requirements now span service modules and pet types. */
.health-requirement-row--pet-types{
  grid-template-columns:minmax(180px,.8fr) minmax(430px,1.6fr) minmax(260px,1fr) auto auto;
  align-items:center;
}
.health-pet-types{min-width:0;}
.health-pet-types .check-line{white-space:nowrap;}
@media(max-width:1180px){
  .health-requirement-row--pet-types{grid-template-columns:1fr;}
}

/* Guaranteed destructive visual treatment. */
.danger-zone-settings-tile{
  border:3px solid #b52f2f !important;
  background:#fff0ee !important;
  box-shadow:0 10px 28px rgba(125,30,30,.12) !important;
}
.danger-zone-settings-tile .eyebrow,
.danger-zone-settings-tile h3{color:#9f2424 !important;}
.danger-zone-settings-tile p{color:#713f3f !important;}
.danger-zone-settings-tile .pill-button{
  background:#a92c2c !important;
  border-color:#7f1f1f !important;
  color:#fff !important;
}


/* Vaccination / exam requirement layout:
   Pet Types are part of Required For, directly beneath Services. */
.health-requirement-row--pet-types{
  grid-template-columns:minmax(210px,.72fr) minmax(620px,2.2fr) auto auto !important;
  align-items:center !important;
  gap:18px !important;
}
.health-required-for--combined{
  display:flex !important;
  flex-direction:column;
  align-items:stretch;
  gap:14px !important;
  padding:14px 18px 16px !important;
}
.health-requirement-group{
  display:grid;
  grid-template-columns:90px minmax(0,1fr);
  gap:12px;
  align-items:start;
  min-width:0;
}
.health-requirement-group + .health-requirement-group{
  padding-top:13px;
  border-top:1px solid rgba(25,67,125,.12);
}
.health-requirement-group__label{
  padding-top:8px;
  color:#19437d;
  font-weight:850;
  white-space:nowrap;
}
.health-requirement-options{
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
  min-width:0;
}
.health-requirement-options .check-line{
  margin:0;
  min-width:auto;
  white-space:nowrap;
}
.health-requirement-row--pet-types .health-active{
  align-self:center;
}
.health-requirement-row--pet-types .record-actions{
  align-self:center;
}
@media(max-width:1280px){
  .health-requirement-row--pet-types{
    grid-template-columns:minmax(190px,.7fr) minmax(520px,2fr) auto !important;
  }
  .health-requirement-row--pet-types .record-actions{
    grid-column:3;
  }
}
@media(max-width:980px){
  .health-requirement-row--pet-types{
    grid-template-columns:1fr !important;
  }
  .health-requirement-row--pet-types .record-actions{
    grid-column:auto;
  }
}
@media(max-width:620px){
  .health-requirement-group{
    grid-template-columns:1fr;
    gap:7px;
  }
}


/* Add Pet now mirrors the saved pet profile fields before the first save. */
.pet-photo-placeholder--disabled{
  cursor:default;
  opacity:.68;
}
.historic-vaccine-panel{
  display:grid;
  gap:18px;
}
.historic-vaccine-upload{
  display:grid;
  grid-template-columns:minmax(180px,.7fr) minmax(260px,1.4fr) auto;
  gap:14px;
  align-items:end;
  padding:16px;
  border:1px solid #d8e0eb;
  border-radius:18px;
  background:#fffdf9;
}
.historic-vaccine-upload label{
  min-width:0;
}
@media(max-width:760px){
  .historic-vaccine-upload{grid-template-columns:1fr;}
}

.importer-platform-card{display:grid;gap:20px}.importer-guidance{padding:18px;border:1px solid #d8e0eb;border-radius:18px;background:#fffdf9}.importer-guidance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px;margin:14px 0}.importer-guidance-grid span{padding:10px 12px;border:1px solid #e0e5ec;border-radius:14px;background:#fff}.importer-guidance-grid em{display:block;color:#6f7c90;font-size:.8rem;font-style:normal}.importer-upload-form{display:flex;gap:14px;align-items:end;flex-wrap:wrap}.importer-upload-form label{flex:1 1 420px}.import-analysis-card{display:grid;gap:18px;margin-top:10px;padding:18px;border:1px solid #d8e0eb;border-radius:18px;background:#fffdf9}.importer-count-grid{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:10px}.importer-count-grid>div{padding:14px;border:1px solid #e0e5ec;border-radius:16px;text-align:center;background:#fff}.importer-count-grid strong{display:block;font-size:1.4rem;color:#19437d}.importer-count-grid span{font-size:.82rem;color:#6f7c90}.importer-file-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.importer-file-list>div,.import-history-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 14px;border:1px solid #e0e5ec;border-radius:14px;background:#fff}.importer-warning-list{padding:14px 16px;border:1px solid #e7c879;border-radius:16px;background:#fff9e8}.import-history-list{display:grid;gap:10px}@media(max-width:980px){.importer-guidance-grid{grid-template-columns:1fr 1fr}.importer-count-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:620px){.importer-guidance-grid,.importer-file-list{grid-template-columns:1fr}.importer-count-grid{grid-template-columns:1fr 1fr}}

.dashboard-import-center-card{display:flex;align-items:center;justify-content:space-between;gap:18px;border:2px solid #f1be15;background:#fffaf0}
.dashboard-import-center-card h2{margin:.15rem 0}
.dashboard-import-center-actions{display:flex;align-items:center;gap:12px}
.booking-import-review-list{display:grid;gap:16px}
.booking-import-review-card header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.booking-import-comparison{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}
.booking-import-comparison>div{padding:15px;border:1px solid #d8e0eb;border-radius:16px;background:#fffdf9}
.booking-import-resolution{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end}
.booking-import-resolution .record-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:850px){
  .dashboard-import-center-card{align-items:flex-start;flex-direction:column}
  .booking-import-comparison,.booking-import-resolution{grid-template-columns:1fr}
}

/* Import seed builder */
.importer-mapping-workspace{gap:18px}.import-mapping-list{display:grid;gap:10px;max-height:680px;overflow:auto;padding-right:4px}.import-mapping-row{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(360px,1.4fr);gap:18px;align-items:center;padding:14px 16px;border:1px solid #dde3eb;border-radius:16px;background:#fff}.import-mapping-row.is-complete{border-color:#b8d4c0}.import-mapping-source{display:grid;gap:3px}.import-mapping-source>span{font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;color:#6f7c90}.import-mapping-source>strong{color:#193d6d}.import-mapping-source>small{color:#6f7c90}.import-mapping-target{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:end}.import-mapping-target label{display:grid;gap:5px;font-size:.82rem;color:#536176}.import-mapping-target .inline-check{display:flex;align-items:center;gap:7px;grid-column:1/-1}.seed-flow-card,.seed-validation-success{padding:18px;border:1px solid #d8e0eb;border-radius:18px;background:#fffdf9}.seed-flow-card{display:flex;justify-content:space-between;gap:20px;align-items:center}.seed-flow-card>div:first-child{display:grid;gap:4px}.seed-validation-success{display:grid;gap:14px}.seed-validation-success code{font-size:.82rem}.import-history-row .record-actions{margin-left:auto}@media(max-width:800px){.import-mapping-row{grid-template-columns:1fr}.import-mapping-target{grid-template-columns:1fr}.seed-flow-card{align-items:stretch;flex-direction:column}}
.import-mapping-section-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:2px 2px 10px;color:#35465d}.import-mapping-section-title span,.import-optional-mappings summary span{color:#6f7c90;font-size:.82rem}.import-optional-mappings{border:1px solid #e0e5ec;border-radius:16px;padding:12px 14px;background:#fff}.import-optional-mappings summary{cursor:pointer;font-weight:700;color:#35465d}.import-optional-mappings>p{margin:10px 0 12px;color:#6f7c90;font-size:.88rem}
/* BBH107: holiday / surge calendar pricing */
.daycare-calendar-day.is-surge:not(.is-selected):not(.is-unavailable){background:#fff0f0;box-shadow:inset 0 0 0 2px #efb4b4}
.daycare-calendar-day.is-surge:not(.is-selected):not(.is-unavailable) small{color:#9c3030}


/* BBH109: recurring holiday windows + compact surge controls */
.holiday-rule-list{gap:14px}
.holiday-rule-row--two-line{display:grid;gap:12px;padding:18px 20px;border:1px solid #d7e0eb;border-radius:22px;background:#fffdf9}
.holiday-rule-line{display:grid;gap:16px;align-items:end}
.holiday-rule-line--calendar{grid-template-columns:minmax(190px,1.25fr) minmax(120px,.55fr) minmax(200px,.9fr) minmax(120px,.55fr)}
.holiday-rule-line--pricing{grid-template-columns:minmax(130px,.6fr) minmax(160px,.72fr) minmax(205px,.9fr) auto;justify-content:start}
.holiday-rule-line label,.holiday-rule-identity,.holiday-rule-date{min-width:0}
.holiday-rule-identity,.holiday-rule-date{display:grid;gap:4px}
.holiday-rule-identity>span,.holiday-rule-date>span{font-weight:700;color:#19437d}
.holiday-rule-identity>strong,.holiday-rule-date>strong{font-size:1.02rem;color:#193d6d}
.holiday-rule-date>small{color:#65738a}
.holiday-rule-line--calendar input[type=number]{max-width:150px}
.holiday-rule-line--pricing select{max-width:180px}
.holiday-rule-line--pricing input[type=number]{max-width:210px}
.holiday-rule-line--pricing .check-line{align-self:end;white-space:nowrap}
.holiday-rule-line--pricing .record-actions{align-self:end}
.surge-pricing-form{display:grid!important;grid-template-columns:minmax(220px,1.2fr) minmax(135px,.58fr) minmax(175px,.8fr) minmax(145px,.62fr) auto auto;gap:14px!important;align-items:end}
.surge-pricing-form .form-actions{margin:0;align-self:end}
.surge-pricing-form .form-actions .pill-button{white-space:nowrap}
.surge-pricing-record{grid-template-columns:minmax(210px,1.15fr) minmax(125px,.55fr) minmax(170px,.78fr) minmax(140px,.62fr) auto auto!important;gap:12px!important;align-items:end!important}
.surge-pricing-record .record-actions{display:flex;gap:8px;align-items:center;white-space:nowrap}
@media(max-width:1180px){
  .holiday-rule-line--calendar{grid-template-columns:1fr 1fr}
  .holiday-rule-line--pricing{grid-template-columns:1fr 1fr auto auto}
  .surge-pricing-form,.surge-pricing-record{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:760px){
  .holiday-rule-line--calendar,.holiday-rule-line--pricing,.surge-pricing-form,.surge-pricing-record{grid-template-columns:1fr!important}
  .holiday-rule-line--calendar input[type=number],.holiday-rule-line--pricing select,.holiday-rule-line--pricing input[type=number]{max-width:none}
}

/* Dense approval-first booking import queue */
.booking-import-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:center}.booking-import-summary{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.booking-import-summary span{padding:5px 9px;border:1px solid var(--border,#d8e0eb);border-radius:999px}.booking-import-table-card{overflow:hidden}.booking-import-table{width:100%;overflow-x:auto}.booking-import-table-head,.booking-import-table-row{display:grid;grid-template-columns:minmax(150px,1.25fr) minmax(130px,1fr) minmax(100px,.8fr) minmax(90px,.7fr) minmax(150px,1.2fr) minmax(150px,1.2fr) minmax(160px,1.3fr) minmax(130px,1fr) 90px 72px;gap:10px;align-items:center;min-width:1320px}.booking-import-table-head{padding:9px 10px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #d8e0eb}.booking-import-table-row{padding:9px 10px;border-bottom:1px solid #e7ebf0;font-size:13px}.booking-import-table-row:last-child{border-bottom:0}.booking-import-table-row>span{min-width:0;overflow-wrap:anywhere}.booking-import-editor{position:relative}.booking-import-editor>summary{list-style:none;cursor:pointer}.booking-import-editor>summary::-webkit-details-marker{display:none}.booking-import-editor[open] .booking-import-resolution{display:grid}.booking-import-resolution{grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;align-items:end;padding:14px;margin-top:10px;border:1px solid #d8e0eb;border-radius:14px;background:#fffdf9;min-width:760px}.booking-import-source-note,.booking-import-source-addons,.booking-import-resolution .record-actions{grid-column:1/-1}.booking-import-source-note{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.booking-import-source-note span{color:var(--muted,#667085)}@media(max-width:900px){.booking-import-toolbar{align-items:flex-start;flex-direction:column}.booking-import-resolution{grid-template-columns:1fr 1fr;min-width:620px}}
.import-mapping-list{display:grid;gap:8px;margin:14px 0}.import-mapping-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(360px,2fr);gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid #e7ebf0}.import-mapping-row small{display:block;margin-top:3px;color:var(--muted,#667085);text-transform:capitalize}.import-mapping-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.import-mapping-controls select{min-width:170px;max-width:280px}.inline-check{display:inline-flex!important;align-items:center;gap:6px!important;margin:0!important}@media(max-width:760px){.import-mapping-row{grid-template-columns:1fr}.import-mapping-controls select{width:100%;max-width:none}}

/* Goose import review refinements */
.dashboard-import-center-actions .dashboard-count{min-width:auto;width:auto;height:auto;padding:.38rem .72rem;border:2px solid #f1be15;border-radius:999px;background:#19437d;color:#fff;line-height:1;font-weight:900}
.booking-import-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.booking-import-filters,.booking-import-page-size{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.booking-import-filter{border:1px solid #cad6e3;border-radius:999px;background:#fff;color:#17253b;padding:.48rem .75rem;font:inherit;font-weight:800;cursor:pointer}.booking-import-filter span{display:inline-block;margin-left:.3rem;color:#64748b}.booking-import-filter.is-active{background:#19437d;color:#fff;border-color:#f1be15}.booking-import-filter.is-active span{color:#fff}.booking-import-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 10px 4px;flex-wrap:wrap}.booking-import-pagination>div{display:flex;gap:8px}.import-history-choice{display:grid;gap:10px;padding:14px 16px;border:1px solid #d8e0eb;border-radius:16px;background:#fffdf9}.import-history-choice>p{margin:0;color:#667085;font-size:.82rem;line-height:1.45}.import-history-choice [data-import-history-date]{max-width:320px}.booking-import-table-head,.booking-import-table-row{grid-template-columns:minmax(150px,1.25fr) minmax(130px,1fr) minmax(100px,.8fr) minmax(90px,.7fr) minmax(150px,1.2fr) minmax(150px,1.2fr) minmax(160px,1.3fr) minmax(130px,1fr) 90px 105px}

/* BBH importer compact queue + visible action column */
.booking-import-table-head,.booking-import-table-row{grid-template-columns:minmax(135px,1.15fr) minmax(115px,.95fr) minmax(90px,.72fr) minmax(130px,1.05fr) minmax(125px,1fr) minmax(125px,1fr) minmax(118px,.9fr) 82px 108px;min-width:1080px;gap:8px}.booking-import-table-head{font-size:11px}.booking-import-table-row{font-size:12.5px}.booking-import-table-row>span:last-child{justify-self:end}.booking-import-editor>summary{white-space:nowrap}

/* BBH blackout-day settings */
.blackout-list{display:grid;gap:12px;margin:16px 0}.blackout-row{display:grid;grid-template-columns:minmax(190px,1.4fr) minmax(150px,.8fr) minmax(150px,.8fr) minmax(320px,2fr) auto auto;gap:12px;align-items:end;padding:14px;border:1px solid #d6dfeb;border-radius:18px;background:#fff}.blackout-row>label:not(.check-pill){display:grid;gap:6px;font-weight:800;color:#19437d}.blackout-row input[type=text],.blackout-row input[type=date]{min-width:0}.blackout-modules{display:flex;gap:6px;flex-wrap:wrap}.blackout-modules .check-pill{font-size:12px;padding:7px 10px}
@media(max-width:1100px){.blackout-row{grid-template-columns:1fr 1fr}.blackout-modules{grid-column:1/-1}}
@media(max-width:650px){.blackout-row{grid-template-columns:1fr}}

/* Duplicate-booking safeguard */
.duplicate-booking-dialog{width:min(680px,calc(100vw - 28px));padding:22px;display:grid;gap:14px}.duplicate-booking-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.duplicate-booking-dialog h2{margin:.2rem 0;color:#19437d}.duplicate-booking-list{display:grid;gap:8px}.duplicate-booking-conflict{display:flex;justify-content:space-between;gap:16px;padding:11px 13px;border:1px solid #dfc573;border-radius:14px;background:#fff9e8}.duplicate-booking-conflict span{color:#66758c}.duplicate-booking-dialog footer{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}

/* Roster owner + independent pet cards */
.roster-owner-row>td{padding:12px 16px!important}.roster-owner-card{border:1px solid #d8e0ea;border-radius:18px;background:#fbfaf6;overflow:hidden}.roster-owner-card__header{padding:13px 16px;border-bottom:1px solid #d8e0ea}.roster-owner-card__header h3{margin:2px 0 0;color:#162238;font-size:20px}.roster-owner-card__pets{display:grid;gap:10px;padding:12px}.roster-owner-pet-card{border:1px solid #cdd8e5;border-radius:16px;background:#fff;padding:12px}.roster-owner-pet-card>header{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-bottom:9px;border-bottom:1px solid #e2e8f0}.roster-owner-pet-card>header>div:first-child{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.roster-owner-pet-card>header strong{font-size:18px;color:#19437d}.roster-owner-pet-bookings{display:grid;gap:8px;padding-top:10px}.roster-pet-booking{display:grid;grid-template-columns:minmax(260px,1.6fr) minmax(120px,.6fr) auto;gap:12px;align-items:center;padding:9px 10px;border-radius:12px;background:#f8fafc}.roster-pet-booking-main{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.roster-pet-booking-main small{color:#66758c}.roster-pet-booking-status{display:grid;justify-items:start;gap:3px}.roster-pet-booking-status small{color:#66758c}.roster-pet-booking .roster-actions{justify-content:flex-end}
@media(max-width:900px){.roster-pet-booking{grid-template-columns:1fr}.roster-pet-booking .roster-actions{justify-content:flex-start}}

/* Future-only import review: compact source detail panel and service-aware controls. */
.booking-import-source-details{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:10px;padding:12px;border:1px solid #d8e0eb;border-radius:12px;background:#f8fafc}.booking-import-source-details>div{display:flex;flex-direction:column;gap:3px;min-width:0}.booking-import-source-details span{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#667085);font-weight:800}.booking-import-source-details strong{font-size:13px;overflow-wrap:anywhere}.booking-import-resolution [data-import-service-field][hidden]{display:none!important}@media(max-width:900px){.booking-import-source-details{grid-template-columns:1fr 1fr}}@media(max-width:620px){.booking-import-source-details{grid-template-columns:1fr}}

/* Portal-submitted grooming requests occupy their requested calendar slot but remain visibly pending until approved. */
.groom-appointment-block--pending{opacity:.48;background:var(--appt-bg);border-style:dashed;box-shadow:none;cursor:default}
.groom-appointment-block--pending:hover,.groom-appointment-block--pending:focus-visible{opacity:.58;box-shadow:none}
.groom-pending-badge{position:absolute;top:.35rem;right:.4rem;z-index:3;display:inline-flex!important;align-items:center;justify-content:center;min-height:24px;padding:.2rem .55rem;border:2px solid #F1BE15;border-radius:999px;background:#fff;color:#111!important;font-size:.7rem;font-weight:850;line-height:1;white-space:nowrap}
.groom-appointment-block--pending:has(.groom-pending-badge){padding-right:5.2rem}
@media(max-width:760px){.groom-appointment-block--pending:has(.groom-pending-badge){padding-right:.55rem;padding-top:2.05rem}.groom-pending-badge{left:.4rem;right:auto}}

/* 2026-09-08 compact hierarchical roster: owner > pet > booking, aligned to table header */
.roster-table{table-layout:fixed;min-width:1180px}
.roster-table th:nth-child(1){width:27%}
.roster-table th:nth-child(2){width:8%}
.roster-table th:nth-child(3){width:11%}
.roster-table th:nth-child(4){width:18%}
.roster-table th:nth-child(5){width:12%}
.roster-table th:nth-child(6){width:10%}
.roster-table th:nth-child(7){width:14%}
.roster-owner-row>td{padding:.55rem .7rem!important;background:#f7f8fa}
.roster-owner-card{border:1px solid #d6dee8;border-radius:.8rem;background:#fbfaf6;overflow:hidden}
.roster-owner-card__header{padding:.48rem .7rem;border-bottom:1px solid #d6dee8}
.roster-owner-card__header .eyebrow{font-size:.58rem;letter-spacing:.08em}
.roster-owner-card__header h3{margin:.06rem 0 0!important;font-size:.8rem!important;line-height:1.15}
.roster-owner-card__pets{display:grid;gap:.42rem;padding:.45rem}
.roster-owner-pet-card{padding:0!important;border:1px solid #ccd7e4;border-radius:.7rem;background:#fff;overflow:hidden}
.roster-owner-pet-card__header,.roster-pet-booking{display:grid;grid-template-columns:27fr 8fr 11fr 18fr 12fr 10fr 14fr;align-items:center;width:100%}
.roster-owner-pet-card__header{min-height:2.15rem;padding:.32rem .45rem!important;border-bottom:1px solid #e1e7ee!important}
.roster-owner-pet-identity{grid-column:1;display:flex;align-items:center;gap:.3rem;flex-wrap:wrap;min-width:0}
.roster-owner-pet-identity>strong{font-size:.76rem!important;color:#17365f!important;line-height:1.1}
.roster-owner-pet-vaccine{grid-column:2;justify-self:center}
.roster-pet-pills{gap:.16rem}
.roster-quirk{font-size:.53rem;padding:.08rem .28rem}
.roster-pet-medication{font-size:.52rem;padding:.08rem .28rem}
.roster-owner-pet-bookings{display:grid}
.roster-pet-booking{gap:0!important;padding:.34rem .45rem!important;border-radius:0!important;background:#f9fbfd!important;border-bottom:1px solid #e6ebf1;min-height:2.6rem}
.roster-pet-booking:last-child{border-bottom:0}
.roster-pet-booking-pad{min-width:0}
.roster-pet-booking-service{grid-column:3;min-width:0}
.roster-pet-booking-time{grid-column:4;display:grid;gap:.05rem;min-width:0}
.roster-pet-booking-time strong{font-size:.7rem!important;line-height:1.05;white-space:nowrap}
.roster-pet-booking-time small{font-size:.62rem!important;margin:0!important;white-space:normal}
.roster-pet-booking-enclosure{grid-column:5;min-width:0;font-size:.66rem;color:#2b405c;padding-right:.25rem}
.roster-pet-booking-status{grid-column:6;display:grid;gap:.05rem;justify-items:start}
.roster-pet-booking-status small{font-size:.6rem!important;margin:0!important}
.roster-pet-booking .roster-actions{grid-column:7;justify-content:flex-start;flex-wrap:wrap;white-space:normal;gap:.18rem}
.roster-pet-booking .roster-actions .pill-button--micro{font-size:.6rem;padding:.28rem .45rem}
.roster-vaccine-stack{gap:.12rem}
.roster-vaccine-summary{padding:.08rem}
@media(max-width:1050px){.roster-table{min-width:1100px}}

/* 2026-09-08 roster 8-column correction: Clients/Pets | Quirks | Vaccine | Service | Date/Time | Enclosure | Status | Actions */
.roster-table{table-layout:fixed;min-width:1120px}
.roster-table th:nth-child(1){width:15%}
.roster-table th:nth-child(2){width:22%}
.roster-table th:nth-child(3){width:7%}
.roster-table th:nth-child(4){width:10%}
.roster-table th:nth-child(5){width:18%}
.roster-table th:nth-child(6){width:11%}
.roster-table th:nth-child(7){width:9%}
.roster-table th:nth-child(8){width:18%}
.roster-table th{padding:.55rem .55rem;font-size:.66rem;white-space:nowrap}
.roster-owner-row>td{padding:.42rem .55rem!important}
.roster-owner-card__header{padding:.38rem .58rem}
.roster-owner-card__header h3{font-size:.75rem!important}
.roster-owner-card__pets{gap:.32rem;padding:.34rem}
.roster-owner-pet-card{border-radius:.58rem}
.roster-owner-pet-bookings{display:grid;padding:0}
.roster-pet-booking{display:grid;grid-template-columns:15fr 22fr 7fr 10fr 18fr 11fr 9fr 18fr;gap:0!important;align-items:center;width:100%;min-height:2.7rem;padding:.32rem .44rem!important}
.roster-pet-booking-pet{grid-column:1;display:flex;align-items:center;gap:.24rem;min-width:0}
.roster-pet-booking-pet>strong{font-size:.72rem;color:#17365f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.roster-pet-booking-quirks{grid-column:2;display:flex;align-items:center;gap:.14rem;flex-wrap:wrap;min-width:0;padding-right:.18rem}
.roster-pet-booking-vaccine{grid-column:3;display:flex;align-items:center;justify-content:center;min-width:0}
.roster-pet-booking-service{grid-column:4}
.roster-pet-booking-time{grid-column:5}
.roster-pet-booking-enclosure{grid-column:6}
.roster-pet-booking-status{grid-column:7}
.roster-pet-booking .roster-actions{grid-column:8;display:flex;align-items:center;justify-content:flex-start;gap:.18rem;flex-wrap:nowrap!important;white-space:nowrap!important;min-width:max-content}
.roster-pet-booking .roster-actions .pill-button--micro{flex:0 0 auto;font-size:.57rem;padding:.26rem .4rem;white-space:nowrap}
.roster-pet-booking-vaccine .roster-vaccine-summary{margin:0}
.roster-none{color:#8a96a8;font-size:.65rem}
@media(max-width:1180px){.roster-table{min-width:1080px}}


/* Module-level booking deposit settings */
.booking-deposit-settings-card{border:2px solid #e8b900;background:#fffdf7}
.deposit-settings-form{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(180px,1fr) minmax(120px,.65fr) minmax(170px,1fr) auto;gap:.7rem;align-items:end}
.deposit-settings-form>label{margin:0;min-width:0}
.deposit-settings-form select,.deposit-settings-form input[type="number"]{width:100%}
.deposit-settings-form .check-line{align-self:center;padding-bottom:.38rem}
.booking-deposit-dialog{max-width:560px}
.booking-deposit-dialog footer{display:flex;justify-content:flex-end;gap:.6rem;flex-wrap:wrap;margin-top:1rem}
@media(max-width:1100px){.deposit-settings-form{grid-template-columns:repeat(2,minmax(0,1fr))}.deposit-settings-form>button{justify-self:start}}


/* Deposit policy + active memberships */
.deposit-settings-form{grid-template-columns:repeat(4,minmax(150px,1fr));align-items:end}.deposit-settings-form .deposit-policy-help{grid-column:1/-1;color:#66736d}.deposit-settings-form>button{justify-self:start}
.payment-deposit-policy{display:block;color:#6d5a13;margin-top:.15rem}.active-memberships-status{display:flex;gap:.5rem;align-items:baseline;margin:.5rem 0 1rem}.active-memberships-status small{color:#7a655d}.active-membership-group-title{font-weight:800;color:#19437D;margin:1rem 0 .35rem;padding-bottom:.3rem;border-bottom:1px solid #ead8a1}.active-membership-row{display:grid;grid-template-columns:36px 1.35fr 1fr 1.2fr .8fr 1fr auto;gap:.7rem;align-items:center;padding:.55rem .7rem;border:1px solid #e2ddd0;border-radius:10px;background:#fff;margin:.3rem 0}.active-membership-row span{min-width:0}.active-membership-row small{display:block;color:#7b746b}.active-membership-row.is-orphaned{border-style:dashed;background:#fffaf0}.active-membership-row .pill-button{white-space:nowrap}@media(max-width:1050px){.deposit-settings-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.active-membership-row{grid-template-columns:32px 1fr}.active-membership-row>span:nth-child(n+3):nth-child(-n+6){grid-column:2}.active-membership-row>span:last-child{grid-column:2;justify-self:end}}

.active-membership-head{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;background:#f7f3e9;border-color:#e6d596}.active-membership-head span{white-space:nowrap}

/* Booking deposit chooser */
.booking-deposit-modal .bbh-modal-backdrop{background:rgba(20,38,64,.58)}
.booking-deposit-dialog{width:min(620px,calc(100vw - 2rem));max-width:620px;border:2px solid #e8b900;border-radius:24px;overflow:hidden;background:#fffdf7;box-shadow:0 24px 70px rgba(15,36,66,.28)}
.booking-deposit-dialog>header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.35rem 1.45rem 1rem;background:#fffdf7;border-bottom:1px solid #d9e2ee}
.booking-deposit-dialog>header h2{margin:.2rem 0 0;font-size:2rem;line-height:1.05;color:#17243d}
.booking-deposit-dialog>header p{margin:.45rem 0 0;color:#61708a;font-size:.98rem}
.booking-deposit-payment-list{display:grid;gap:.65rem;padding:1rem 1.45rem}
.deposit-payment-choice{display:flex;align-items:center;gap:.8rem;border:1px solid #c8d5e6;border-radius:16px;padding:.85rem 1rem;background:#fff;cursor:pointer}
.deposit-payment-choice:has(input:checked){border:2px solid #e8b900;background:#f5f9ff;box-shadow:0 0 0 2px rgba(25,67,125,.08)}
.deposit-payment-choice input{margin:0;accent-color:#19437d}
.deposit-payment-choice span{display:grid;gap:.12rem}
.deposit-payment-choice strong{color:#173a67}
.deposit-payment-choice small{color:#6b7890}
.booking-deposit-policy{margin:1rem 1.45rem 0;padding:.8rem 1rem;border-radius:14px;background:#f4f7fb;border:1px solid #d9e2ee;display:grid;gap:.25rem;color:#47566e;font-size:.9rem}
.booking-deposit-reference{display:grid;gap:.35rem;margin:0 1.45rem 1rem;color:#173a67;font-weight:700}
.booking-deposit-reference input{border:1px solid #c6d3e4;border-radius:12px;padding:.7rem .8rem;font:inherit;background:#fff}
.booking-deposit-dialog .booking-submit-error{margin:0;padding:.9rem 1rem;border-radius:14px}
.booking-deposit-dialog footer{display:flex;justify-content:flex-end;gap:.65rem;flex-wrap:nowrap;margin:0;padding:1rem 1.45rem 1.35rem;border-top:1px solid #d9e2ee}
.booking-deposit-dialog footer .pill-button{white-space:nowrap}
@media(max-width:640px){.booking-deposit-dialog>header h2{font-size:1.65rem}.booking-deposit-dialog footer{flex-wrap:wrap}.booking-deposit-dialog footer .pill-button{flex:1 1 100%}}

/* 2026-09-08 booking no-show / mirrored client booking layout */
.booking-disposition-menu{position:relative;display:inline-flex;flex:0 0 auto;margin:0}
.booking-disposition-menu>summary{list-style:none;cursor:pointer;user-select:none}
.booking-disposition-menu>summary::-webkit-details-marker{display:none}
.booking-disposition-trigger{display:inline-flex!important;align-items:center;justify-content:center;gap:5px;width:auto!important;min-width:82px!important;white-space:nowrap;margin:0!important}
.booking-disposition-trigger span{font-size:12px;line-height:1;transform:translateY(-1px);transition:transform .15s ease}
.booking-disposition-menu[open] .booking-disposition-trigger span{transform:rotate(180deg) translateY(1px)}
.booking-disposition-popover{position:absolute;z-index:60;top:calc(100% + 6px);right:0;min-width:132px;padding:6px;background:#fffdf7;border:2px solid #f1be15;border-radius:14px;box-shadow:0 12px 28px rgba(18,43,78,.18);display:grid;gap:4px}
.booking-disposition-popover button{appearance:none;border:0;background:transparent;color:#19437d;text-align:left;border-radius:9px;padding:9px 11px;font:800 12px/1.1 inherit;cursor:pointer;white-space:nowrap}
.booking-disposition-popover button:hover,.booking-disposition-popover button:focus{background:#eef4fb;outline:none}
.booking-disposition-popover .booking-disposition-no-show{color:#9e2424}
.booking-action-button-set{display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:nowrap!important;white-space:nowrap!important}
.booking-action-button-set .pill-button{width:auto!important;min-width:0!important;padding-left:12px!important;padding-right:12px!important}
.client-booking-actions .booking-disposition-menu{display:inline-flex}
.booking-status--no-show{background:#f7dddd!important;color:#8f2020!important;border-color:#d95a5a!important}
.client-bookings-mirror{display:grid;gap:8px;width:100%;overflow-x:auto}
.client-bookings-mirror-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.client-bookings-mirror-grid{display:grid;grid-template-columns:minmax(105px,.85fr) minmax(105px,1fr) minmax(100px,1fr) minmax(150px,1.35fr) minmax(85px,.75fr) minmax(95px,.8fr) minmax(260px,1.55fr);align-items:center;gap:10px;min-width:1040px;padding:10px 12px;border:1px solid #cad7e8;border-radius:14px;background:#fff;color:#17233a;font-size:13px}
.client-bookings-mirror-grid--header{padding:8px 12px;border-radius:10px;background:#19437d;color:#fff;font-weight:800;text-transform:uppercase;font-size:11px;letter-spacing:.03em}
.client-booking-actions{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;white-space:nowrap}
@media(max-width:900px){.client-bookings-mirror{padding-bottom:8px}}

/* 2026-09-08 disposition menu interaction/width correction */
.booking-action-button-set>.booking-disposition-menu,
.client-booking-actions>.booking-disposition-menu{
  flex:0 0 auto!important;
  width:88px!important;
  min-width:88px!important;
  max-width:88px!important;
  justify-self:start!important;
}
.booking-disposition-menu>summary.booking-disposition-trigger,
.booking-disposition-menu[open]>summary.booking-disposition-trigger{
  box-sizing:border-box!important;
  width:88px!important;
  min-width:88px!important;
  max-width:88px!important;
  padding-left:10px!important;
  padding-right:10px!important;
}
.booking-disposition-popover{
  box-sizing:border-box!important;
  width:126px!important;
  min-width:126px!important;
  max-width:126px!important;
}
.booking-disposition-popover button{width:100%!important;display:block!important}

.no-show-deposit-rule{grid-column:1/-1;display:grid;grid-template-columns:minmax(220px,1.25fr) repeat(4,minmax(150px,1fr));gap:.7rem;align-items:end;padding:.9rem;border:1px solid #d7e1ed;border-radius:14px;background:#f7f9fc}.no-show-deposit-rule__title{grid-column:1/-1;display:flex;gap:.65rem;align-items:baseline;color:#19437D}.no-show-deposit-rule__title small{color:#66736d;font-weight:500}.no-show-deposit-rule>label{margin:0}.no-show-deposit-rule .check-line{align-self:center}@media(max-width:1100px){.no-show-deposit-rule{grid-template-columns:repeat(2,minmax(0,1fr))}.no-show-deposit-rule__title{grid-column:1/-1}}

/* Boarding check-in workspace */
.boarding-checkin-backdrop{position:fixed;inset:0;z-index:12000;background:rgba(13,28,50,.62);display:flex;align-items:flex-start;justify-content:center;padding:3vh 2vw;overflow:auto}
.boarding-checkin-workspace{width:min(1180px,96vw);max-height:94vh;background:var(--cream,#fffaf0);border:3px solid var(--gold,#f1be15);border-radius:28px;box-shadow:0 24px 70px rgba(0,0,0,.28);display:flex;flex-direction:column;overflow:hidden}
.boarding-checkin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:26px 30px 20px;border-bottom:1px solid rgba(25,67,125,.18)}
.boarding-checkin-head h2{margin:.15rem 0 .25rem;color:var(--ink);font-size:2rem}.boarding-checkin-head p{margin:0;color:var(--muted)}
.boarding-checkin-scroll{padding:22px 28px;overflow:auto;display:grid;gap:18px}
.boarding-checkin-section{border:2px solid #d74b45;border-radius:22px;background:#fff7f6;overflow:hidden;transition:.18s ease}
.boarding-checkin-section.is-confirmed{border-color:#2f805b;background:#f2fbf5}
.boarding-checkin-section>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;border-bottom:1px solid rgba(25,67,125,.12)}
.boarding-checkin-section h3{margin:.1rem 0 0}.boarding-checkin-section-body{padding:18px 20px;background:rgba(255,255,255,.62)}
.boarding-review-check{display:flex;align-items:center;gap:9px;font-weight:900;color:#a52823;white-space:nowrap}.boarding-checkin-section.is-confirmed .boarding-review-check{color:#246b4c}.boarding-review-check input{width:22px;height:22px;accent-color:#2f805b}
.boarding-belongings-grid{display:grid;grid-template-columns:minmax(220px,.7fr) 1.3fr;gap:18px}.boarding-belongings-grid label,.boarding-stay-notes{display:grid;gap:8px;font-weight:800;color:var(--blue)}.boarding-belongings-grid select,.boarding-belongings-grid textarea,.boarding-stay-notes textarea{width:100%;border:1px solid rgba(25,67,125,.28);border-radius:14px;padding:.75rem;background:white;color:var(--ink)}
.boarding-checkin-footer{display:flex;justify-content:flex-end;gap:12px;padding:18px 28px 22px;border-top:1px solid rgba(25,67,125,.18);background:#fffaf0}
.boarding-checkin-footer .pill-button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:800px){.boarding-checkin-backdrop{padding:0}.boarding-checkin-workspace{width:100vw;min-height:100vh;max-height:none;border-radius:0;border-width:0}.boarding-checkin-scroll{padding:14px}.boarding-belongings-grid{grid-template-columns:1fr}.boarding-checkin-section>header{align-items:flex-start;flex-direction:column}.boarding-checkin-footer{position:sticky;bottom:0}}
.dashboard-vaccine-date--na{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);background:#f3f5f7;border-color:#d7dde5}.dashboard-vaccine-date--na small{font-weight:800}

/* 2026-09-09 Boarding Check-In responsive stabilization */
.boarding-checkin-backdrop{
  align-items:center;
  padding:18px;
  overflow:hidden;
}
.boarding-checkin-workspace{
  width:min(1280px,calc(100vw - 36px));
  height:min(900px,calc(100vh - 36px));
  max-height:none;
  min-height:0;
  overflow:hidden;
}
.boarding-checkin-head,
.boarding-checkin-footer{flex:0 0 auto;}
.boarding-checkin-scroll{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  display:block;
  padding:18px 24px;
  scrollbar-gutter:stable;
}
.boarding-checkin-section{display:block;margin:0 0 14px;overflow:visible;}
.boarding-checkin-section:last-child{margin-bottom:0;}
.boarding-checkin-section-body{display:block!important;visibility:visible!important;height:auto!important;max-height:none!important;overflow:visible!important;padding:16px 18px;}
.boarding-checkin-workspace .feeding-period-grid,
.boarding-checkin-workspace .medication-period-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:0;
}
.boarding-checkin-workspace .feeding-period-card,
.boarding-checkin-workspace .medication-period-card{padding:14px;gap:9px;}
.boarding-checkin-workspace .pet-health-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));}
.boarding-checkin-workspace .medication-record{margin-bottom:12px;}
@media(max-width:760px){
  .boarding-checkin-backdrop{padding:0;align-items:stretch;overflow:hidden;}
  .boarding-checkin-workspace{width:100vw;height:100dvh;max-height:100dvh;border-radius:0;border-width:0;}
  .boarding-checkin-scroll{padding:12px;}
  .boarding-checkin-workspace .feeding-period-grid,
  .boarding-checkin-workspace .medication-period-grid{grid-template-columns:1fr;}
  .boarding-checkin-section>header{align-items:flex-start;flex-direction:column;}
  .boarding-checkin-footer{position:relative;padding:12px;}
}

/* Boarding checklist settings + optional check-in charges */
.boarding-checklist-settings-form{display:grid;gap:16px}.boarding-checklist-charge-settings{display:grid;gap:10px}.boarding-checklist-charge-row{display:grid;grid-template-columns:auto minmax(180px,1.8fr) minmax(120px,.7fr) minmax(140px,.8fr) auto;gap:10px;align-items:end;padding:12px 14px;border:1px solid rgba(25,67,125,.16);border-radius:16px;background:rgba(255,255,255,.6)}.boarding-charge-slot-label{font-weight:900;color:#19437D;align-self:center}.boarding-checkin-charge-panel{border:2px solid rgba(25,67,125,.22);border-radius:22px;background:#fffdf5;padding:16px 18px}.boarding-checkin-charge-panel>header{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:12px}.boarding-checkin-charge-panel h3{margin:.1rem 0 0}.boarding-checkin-charge-buttons{display:flex;flex-wrap:wrap;gap:10px}.boarding-charge-toggle{transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}.boarding-charge-toggle.is-selected{background:#2f7d5a;color:#fff;border-color:#2f7d5a;box-shadow:inset 0 0 0 2px rgba(255,255,255,.22),0 0 0 2px rgba(47,125,90,.16)}.boarding-charge-toggle.is-selected::before{content:"✓ Added · ";font-weight:900}.client-no-show-counter{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
@media(max-width:900px){.boarding-checklist-charge-row{grid-template-columns:1fr 1fr}.boarding-charge-slot-label{grid-column:1/-1}}

/* Incident / illness graphic-photo safeguards */
.incident-photo-tile{display:grid;gap:8px}.incident-photo-frame{position:relative;overflow:hidden;border-radius:14px}.incident-photo-tile.is-graphic:not(.is-revealed) .incident-photo-frame img{filter:blur(28px) saturate(.35);transform:scale(1.12)}.incident-graphic-overlay{display:none;position:absolute;inset:0;z-index:2;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:18px;background:rgba(20,29,40,.62);color:#fff;gap:6px}.incident-photo-tile.is-graphic:not(.is-revealed) .incident-graphic-overlay{display:flex}.incident-graphic-overlay span{font-size:.84rem}.incident-graphic-check{display:flex;align-items:center;gap:7px;font-weight:800;font-size:.84rem}.incident-graphic-check input{width:18px;height:18px}

.groom-address-field{display:grid;gap:4px}.groom-address-field span{line-height:1.35}.groom-directions-link{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin-top:3px;color:#19437d;font-weight:800;text-decoration:underline;text-underline-offset:2px}.groom-directions-link:hover{color:#0f2f5c}

/* Module tipping */
.tip-settings-card{display:grid;gap:14px}.tip-module-settings{display:grid;gap:10px}.tip-module-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #d8e0e8;border-radius:14px;padding:12px 14px;background:#fff}.tip-module-toggle span{display:grid;gap:2px}.tip-module-toggle strong{color:#19437d}.tip-module-toggle small{color:#6c788b}.tip-module-toggle input{width:22px;height:22px;accent-color:#19437d}.tip-settings-note{margin:0;border-left:4px solid #f1be15;padding:9px 12px;background:#fff9df;border-radius:8px;color:#526177;font-size:.83rem;font-weight:700}
.invoice-tip-control{display:grid;gap:6px}.invoice-tip-control small{color:#65748b;font-size:.72rem;font-weight:800}.invoice-add-tip-button{width:100%}.invoice-tip-modal{position:fixed;inset:0;z-index:10050;background:rgba(17,34,57,.52);display:grid;place-items:center;padding:20px}.invoice-tip-modal[hidden]{display:none}.invoice-tip-dialog{position:relative;width:min(430px,96vw);background:#fff;border:1px solid #d6dee8;border-radius:22px;padding:24px;box-shadow:0 24px 70px rgba(15,31,53,.28)}.invoice-tip-dialog h3{margin:.25rem 0 .4rem;color:#17253b}.invoice-tip-dialog p{margin:0 0 16px;color:#5f6d82}.invoice-tip-close{position:absolute;right:15px;top:12px;border:0;background:transparent;color:#34465d;font-size:1.8rem;cursor:pointer}.invoice-tip-presets{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.invoice-tip-presets button{border:2px solid #f1be15;border-radius:999px;background:#19437d;color:#fff;font-weight:900;padding:9px 6px;cursor:pointer}.invoice-tip-custom{margin-top:14px;display:grid;gap:10px}.invoice-tip-custom[hidden]{display:none}.invoice-tip-custom label{display:grid;grid-template-columns:auto 78px 1fr;align-items:center;gap:8px;font-weight:900;color:#19437d}.invoice-tip-custom select,.invoice-tip-custom input{border:1px solid #bccbdd;border-radius:10px;padding:9px;background:#fff}.invoice-tip-remove{margin-top:14px;border:0;background:transparent;color:#a42922;text-decoration:underline;font-weight:800;cursor:pointer}@media(max-width:520px){.invoice-tip-presets{grid-template-columns:repeat(2,1fr)}.invoice-tip-custom label{grid-template-columns:1fr 80px}.invoice-tip-custom input{grid-column:1/-1}}

/* Grooming Commission & Tips */
.groom-pay-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1rem 0}.groom-pay-summary article{border:1px solid #d5dfeb;border-radius:14px;padding:.85rem;background:#fff}.groom-pay-summary small{display:block;color:#66758b;font-weight:800}.groom-pay-summary strong{display:block;margin-top:.25rem;color:#19437d;font-size:1.35rem}.report-table-scroll{overflow-x:auto}.report-table{width:100%;border-collapse:collapse}.report-table th,.report-table td{padding:.7rem .75rem;border-bottom:1px solid #e0e6ee;text-align:left;white-space:nowrap}.report-table th{color:#19437d;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.grooming-pay-report .sales-report-toolbar{display:flex;gap:.7rem;align-items:end;flex-wrap:wrap}.grooming-pay-report .sales-report-toolbar label{display:grid;gap:.3rem;font-weight:800;color:#19437d}@media(max-width:800px){.groom-pay-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Dashboard daily journal */
.dashboard-vaccine-card{grid-column:1;grid-row:1}.dashboard-journal-card{grid-column:2;grid-row:1;min-height:25rem;height:25rem;display:flex;flex-direction:column}.dashboard-care-card{grid-column:1;grid-row:2}.dashboard-birthday-card{grid-column:2;grid-row:2}.dashboard-report-card{grid-column:1;grid-row:3}.dashboard-belongings-card{grid-column:2;grid-row:3}.dashboard-incident-card{grid-column:1;grid-row:4}.dashboard-journal-history{display:flex;flex-direction:column;gap:.55rem;flex:1;min-height:0;overflow-y:auto;padding:.15rem .2rem .55rem}.dashboard-journal-message{display:flex;flex-direction:column;align-items:flex-start;max-width:88%}.dashboard-journal-meta{display:flex;align-items:center;gap:.4rem;margin:0 0 .18rem .35rem;color:#6f7c90;font-size:.66rem}.dashboard-journal-meta strong{color:#17365f;font-size:.7rem}.dashboard-journal-bubble{position:relative;background:#19437d;color:#fff;border-radius:1.05rem 1.05rem 1.05rem .35rem;padding:.58rem .78rem;line-height:1.35;font-size:.78rem;overflow-wrap:anywhere}.dashboard-journal-bubble:before{content:"";position:absolute;left:-.22rem;bottom:.05rem;width:.55rem;height:.55rem;background:#19437d;border-bottom-right-radius:.5rem;transform:skewX(-28deg)}.dashboard-journal-compose{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr) auto;gap:.5rem;align-items:end;border-top:1px solid #dce4ec;padding-top:.65rem}.dashboard-journal-compose label{display:grid;gap:.2rem;color:#19437d;font-size:.68rem;font-weight:900}.dashboard-journal-compose input,.dashboard-journal-compose textarea{width:100%;box-sizing:border-box;border:1px solid #b9c8d9;border-radius:.65rem;background:#fff;color:#17253b;padding:.48rem .58rem;font:inherit;font-size:.76rem}.dashboard-journal-compose textarea{resize:none;min-height:3.1rem}.dashboard-journal-compose .pill-button{min-height:3.1rem;white-space:nowrap}@media(max-width:1000px){.dashboard-vaccine-card,.dashboard-journal-card,.dashboard-care-card,.dashboard-birthday-card,.dashboard-report-card,.dashboard-belongings-card,.dashboard-incident-card{grid-column:auto;grid-row:auto}.dashboard-journal-card{height:25rem}.dashboard-journal-compose{grid-template-columns:1fr 1fr}.dashboard-journal-compose .pill-button{grid-column:1/-1;min-height:auto}}@media(max-width:600px){.dashboard-journal-compose{grid-template-columns:1fr}.dashboard-journal-compose .pill-button{grid-column:auto}}

/* Client File Notes — facility-only communication log */
.client-file-notes-panel{display:flex;flex-direction:column;gap:.8rem;min-height:24rem}.client-file-notes-history{display:flex;flex-direction:column;gap:.6rem;min-height:14rem;max-height:24rem;overflow-y:auto;padding:.25rem .35rem .65rem;border:1px solid #dce4ec;border-radius:1rem;background:#f8fafc}.client-file-note-message{display:flex;flex-direction:column;align-items:flex-start;max-width:min(88%,46rem)}.client-file-note-meta{display:flex;align-items:center;gap:.45rem;margin:0 0 .2rem .38rem;color:#6f7c90;font-size:.7rem}.client-file-note-meta strong{color:#17365f;font-size:.74rem}.client-file-note-bubble{position:relative;background:#19437d;color:#fff;border-radius:1.1rem 1.1rem 1.1rem .38rem;padding:.64rem .82rem;line-height:1.4;font-size:.82rem;overflow-wrap:anywhere}.client-file-note-bubble:before{content:"";position:absolute;left:-.22rem;bottom:.05rem;width:.56rem;height:.56rem;background:#19437d;border-bottom-right-radius:.5rem;transform:skewX(-28deg)}.client-file-notes-compose{display:grid;grid-template-columns:minmax(10rem,.65fr) minmax(18rem,1.5fr) auto;gap:.6rem;align-items:end;border-top:1px solid #dce4ec;padding-top:.75rem}.client-file-notes-compose label{display:grid;gap:.24rem;color:#19437d;font-size:.72rem;font-weight:900}.client-file-notes-compose input,.client-file-notes-compose textarea{width:100%;box-sizing:border-box;border:1px solid #b9c8d9;border-radius:.65rem;background:#fff;color:#17253b;padding:.52rem .6rem;font:inherit;font-size:.8rem}.client-file-notes-compose textarea{resize:vertical;min-height:3.4rem}.client-file-notes-compose .pill-button{min-height:3.4rem;white-space:nowrap}@media(max-width:900px){.client-file-notes-compose{grid-template-columns:1fr 1fr}.client-file-notes-compose .pill-button{grid-column:1/-1;min-height:auto}}@media(max-width:600px){.client-file-notes-compose{grid-template-columns:1fr}.client-file-notes-compose .pill-button{grid-column:auto}}

/* Hugo AI Report Creator */
.hugo-report-request textarea{width:100%;min-height:110px;margin-top:8px}.hugo-report-request-actions{display:flex;justify-content:flex-end;margin-top:12px}.hugo-report-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid rgba(25,67,125,.14);padding-bottom:14px;margin-bottom:18px}.hugo-report-canvas{background:#fffdf8;border:1px solid rgba(25,67,125,.14);border-radius:14px;min-height:420px;padding:28px}.hugo-rendered-report{max-width:1100px;margin:0 auto;color:#20252b}.hugo-rendered-report>header{border-bottom:3px solid #f1be15;padding-bottom:18px;margin-bottom:24px}.hugo-rendered-report>header span{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:#19437d;font-weight:800}.hugo-rendered-report h1,.hugo-rendered-report h2{color:#19437d}.hugo-rendered-report h1{margin:5px 0}.hugo-rendered-report section{margin:24px 0}.hugo-report-table-wrap{overflow:auto}.hugo-rendered-report table{width:100%;border-collapse:collapse;font-size:.9rem}.hugo-rendered-report th,.hugo-rendered-report td{padding:9px 10px;border-bottom:1px solid #ddd;text-align:left;vertical-align:top}.hugo-rendered-report th{background:#f7f4eb;color:#19437d}@media(max-width:700px){.hugo-report-toolbar{align-items:flex-start;flex-direction:column}.hugo-report-canvas{padding:14px}}
.hugo-report-chart{margin:26px 0;padding:18px;border:1px solid #dbe2ea;border-radius:16px;background:#fff}.hugo-report-chart figcaption{font-weight:800;color:#19437D;margin-bottom:10px}.hugo-report-chart svg{display:block;width:100%;height:auto;color:#19437D;overflow:visible}.hugo-report-chart text{font-size:11px;fill:#53657a}.hugo-chart-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;font-weight:700;color:#53657a}.hugo-chart-legend span:before{content:'●';color:#19437D;margin-right:6px}.hugo-report-insights{background:#f7f4ec;border-left:4px solid #F1BE15;padding:16px 20px;border-radius:12px}.hugo-report-table-wrap{max-height:none}
.billing-pack-grid{display:flex;gap:10px;flex-wrap:wrap}.settings-summary{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:12px 0}


.facility-payment-pause-overlay{position:fixed;inset:0;z-index:99990;display:grid;place-items:center;padding:24px;background:rgba(244,239,229,.62);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.facility-payment-pause-card{width:min(560px,calc(100vw - 40px));background:rgba(255,255,255,.92);border:1px solid rgba(25,67,125,.18);border-radius:28px;box-shadow:0 30px 80px rgba(20,34,52,.22);padding:34px;text-align:center}.facility-payment-pause-card h2{margin:.35rem 0 .75rem;color:#19437D;font-size:clamp(1.8rem,4vw,2.5rem)}.facility-payment-pause-card p{font-size:1.03rem;line-height:1.6;color:#485a72}.facility-payment-pause-card .pill-button{display:inline-flex;margin-top:12px;text-decoration:none}.platform-card-recovery{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:16px}.platform-card-recovery>[data-platform-billing-message]{flex-basis:100%;font-weight:700}.platform-billing-card-dialog{max-width:620px}.platform-billing-card-dialog>label{display:grid;gap:6px;margin-bottom:16px}.platform-billing-card-dialog input{width:100%;box-sizing:border-box;padding:12px;border:1px solid #ccd6e2;border-radius:12px}

/* Company representative facility switcher + company-shared client labels */
.toolbar-facility-switcher{position:relative}.toolbar-facility-switcher>summary{list-style:none;cursor:pointer;border:2px solid transparent;border-radius:18px;padding:.4rem .65rem;margin:-.4rem -.65rem;transition:background .15s ease,border-color .15s ease}.toolbar-facility-switcher>summary:focus-visible{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(241,190,21,.18)}.toolbar-facility-switcher>summary::-webkit-details-marker{display:none}.toolbar-facility-switcher>summary:hover,.toolbar-facility-switcher[open]>summary{background:rgba(25,67,125,.06)}.facility-switcher-chevron{margin-left:.25rem;color:var(--blue);font-weight:900;font-size:1rem;transition:transform .15s ease}.toolbar-facility-switcher[open] .facility-switcher-chevron{transform:rotate(180deg)}.facility-switcher-menu{position:absolute;left:0;top:calc(100% + .7rem);min-width:310px;max-height:420px;overflow:auto;padding:.55rem;background:#fffdf9;border:1px solid rgba(25,67,125,.18);border-radius:18px;box-shadow:0 18px 45px rgba(23,49,84,.18);z-index:80}.facility-switcher-item{display:flex;align-items:center;gap:.75rem;padding:.7rem;border-radius:14px;text-decoration:none;color:var(--ink)}.facility-switcher-item:hover{background:rgba(25,67,125,.06)}.facility-switcher-item.is-current{outline:2px solid var(--gold);background:rgba(241,190,21,.08)}.facility-switcher-item .brand-mark{width:38px;height:38px;flex:0 0 38px}.facility-switcher-item strong,.facility-switcher-item small{display:block}.facility-switcher-item small{color:var(--muted);margin-top:.12rem}.client-facility-slugs{display:inline-flex;gap:.3rem;flex-wrap:wrap;margin-left:.45rem;vertical-align:middle}.client-facility-slug{display:inline-flex;align-items:center;border:1px solid rgba(25,67,125,.22);background:rgba(25,67,125,.06);color:var(--blue);border-radius:999px;padding:.12rem .42rem;font-size:.68rem;font-weight:800;line-height:1.2}


/* Client / pet lifecycle controls */
.client-primary-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.client-delete-button{background:#b42318!important;color:#fff!important;border:2px solid var(--gold,#f1be15)!important;box-shadow:none!important}
.client-delete-button:hover{background:#8f1c13!important}
.pet-lifecycle-actions{display:flex;justify-content:flex-end;align-items:center;gap:.55rem;margin:0 0 .65rem}
.memorialize-button{background:#6d2430!important;color:#fff!important;border-color:var(--gold,#f1be15)!important}
@media(max-width:760px){.pet-lifecycle-actions{justify-content:flex-start;flex-wrap:wrap}}
/* BBH130 Frenemy, Wait List, and attention badges */
.pill-button{position:relative}.nav-notification-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.3rem;height:1.3rem;padding:0 .35rem;margin-left:.45rem;border-radius:999px;background:#d32f2f;color:#fff;border:2px solid #fff;font-size:.66rem;font-weight:900;line-height:1;vertical-align:middle;box-shadow:0 1px 3px rgba(0,0,0,.18)}.nav-notification-badge[hidden]{display:none!important}.toolbar-module-dropdown{position:relative}.toolbar-module-dropdown>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:.2rem}.toolbar-module-dropdown>summary::-webkit-details-marker{display:none}.toolbar-menu-chevron{font-size:.72rem;margin-left:.15rem}.toolbar-module-dropdown-menu{position:absolute;top:calc(100% + .45rem);left:0;z-index:120;min-width:225px;padding:.45rem;border:1px solid #cad6e3;border-radius:12px;background:#fff;box-shadow:0 12px 28px rgba(20,45,75,.18);display:grid;gap:.25rem}.toolbar-module-dropdown-menu button{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;border-radius:9px;background:#fff;color:#19437d;text-align:left;padding:.65rem .75rem;font-weight:850;cursor:pointer}.toolbar-module-dropdown-menu button:hover,.toolbar-module-dropdown-menu button:focus{background:#f3f6f9}.nav-notification-badge--menu{margin-left:auto;border-color:#fff}.pet-frenemy-module{margin-top:18px;padding:18px;border:1px solid #d8e1ea;border-radius:16px;background:#fff}.frenemy-search-wrap{position:relative;margin-top:12px}.frenemy-search-wrap>input{width:100%}.frenemy-search-results{position:absolute;z-index:50;top:calc(100% + 4px);left:0;right:0;max-height:280px;overflow:auto;padding:6px;border:1px solid #c9d5e2;border-radius:12px;background:#fff;box-shadow:0 12px 24px rgba(20,45,75,.14)}.frenemy-search-result{display:flex;flex-direction:column;width:100%;border:0;border-radius:9px;background:#fff;padding:9px 10px;text-align:left;cursor:pointer}.frenemy-search-result:hover{background:#f3f6f9}.frenemy-search-result strong{color:#19437d}.frenemy-search-result small{color:#6f7e91}.frenemy-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.frenemy-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 8px 7px 11px;border:1px solid #19437d;border-radius:999px;background:#f7f9fc;color:#19437d;font-weight:850}.frenemy-pill small{font-weight:650;color:#68788d}.frenemy-pill button{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:0;border-radius:999px;background:#d32f2f;color:#fff;font-weight:900;cursor:pointer}.frenemy-booking-dialog .frenemy-conflict-list{display:grid;gap:8px}.frenemy-booking-dialog .frenemy-conflict-list p{margin:0;padding:12px;border:1px solid #e1e7ee;border-radius:10px;background:#fafbfd}.wait-list-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.wait-list-card{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:15px 0;border-bottom:1px solid #e1e7ee}.wait-list-card:last-child{border-bottom:0}.wait-list-card h3{margin:.2rem 0}.wait-list-card p{margin:.25rem 0}.wait-list-status{display:inline-flex;padding:.2rem .45rem;border-radius:999px;background:#eef3f8;color:#19437d;font-size:.68rem;text-transform:uppercase}.field-help{color:#69788a;font-size:.78rem;line-height:1.45}
@media(max-width:760px){.toolbar-module-dropdown-menu{right:0;left:auto}.wait-list-card{align-items:flex-start;flex-direction:column}.wait-list-card .record-actions{width:100%}}

/* BBH131 booking optimization + toolbar polish */
.toolbar-module-dropdown>summary{border:2px solid transparent;border-radius:18px;padding:.65rem 1rem;transition:background .15s ease,border-color .15s ease}
.toolbar-module-dropdown>summary:hover,.toolbar-module-dropdown[open]>summary{background:rgba(25,67,125,.06);border-color:rgba(241,190,21,.55)}
.toolbar-module-dropdown[open] .toolbar-menu-chevron{transform:rotate(180deg)}
.toolbar-menu-chevron{transition:transform .15s ease}
.toolbar-module-dropdown-menu{top:calc(100% + .7rem);min-width:310px;max-height:420px;overflow:auto;padding:.55rem;background:#fffdf9;border:1px solid rgba(25,67,125,.18);border-radius:18px;box-shadow:0 18px 45px rgba(23,49,84,.18);display:grid;gap:.3rem}
.toolbar-module-dropdown-menu button{min-height:48px;padding:.72rem .8rem;border-radius:14px;background:transparent;color:var(--ink);font-size:.96rem;font-weight:850}
.toolbar-module-dropdown-menu button:hover,.toolbar-module-dropdown-menu button:focus-visible{background:rgba(25,67,125,.06);outline:none}
.toolbar-module-dropdown-menu button:first-child{outline:2px solid var(--gold);background:rgba(241,190,21,.08)}

.frenemy-booking-dialog{width:min(640px,calc(100vw - 32px));max-width:640px;padding:0;overflow:hidden;border-radius:24px}
.frenemy-booking-dialog .frenemy-booking-header{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start;padding:22px 24px 18px;border-bottom:1px solid #e5eaf0;background:linear-gradient(180deg,#fffdf8 0%,#fff 100%)}
.frenemy-booking-dialog .frenemy-booking-header h2{margin:.12rem 0 .25rem;font-size:1.65rem}
.frenemy-booking-dialog .frenemy-booking-header p{margin:0;color:var(--muted);font-size:.9rem}
.frenemy-warning-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:999px;background:#fff3cd;border:2px solid var(--gold);color:#7a5600;font-size:1.25rem;font-weight:950}
.frenemy-booking-dialog .frenemy-conflict-list{padding:18px 24px 8px;display:grid;gap:10px}
.frenemy-booking-dialog .frenemy-conflict-card{display:grid;grid-template-columns:1fr auto;gap:3px 14px;padding:13px 14px;border:1px solid #dce4ec;border-radius:14px;background:#f8fafc}
.frenemy-booking-dialog .frenemy-conflict-card strong{color:var(--ink);font-size:1rem}
.frenemy-booking-dialog .frenemy-conflict-card span{color:var(--blue);font-weight:850}
.frenemy-booking-dialog .frenemy-conflict-card small{grid-column:1/-1;color:var(--muted);font-weight:700}
.frenemy-initials-field{margin:10px 24px 0;display:grid;gap:6px}
.frenemy-initials-field input{max-width:180px;text-transform:uppercase}
.frenemy-initials-field small{color:var(--muted)}
.frenemy-warning-note{margin:10px 24px 0;padding:12px 14px;border-radius:12px;background:#f4f7fa;color:#5f6f83;font-size:.86rem;line-height:1.45}
.frenemy-booking-dialog footer{display:flex;justify-content:flex-end;gap:10px;padding:18px 24px 22px}
@media(max-width:560px){.frenemy-booking-dialog .frenemy-booking-header{grid-template-columns:auto 1fr}.frenemy-booking-dialog .modal-close-button{position:absolute;right:14px;top:14px}.frenemy-booking-dialog footer{justify-content:stretch}.frenemy-booking-dialog footer .pill-button{flex:1}}

/* Client communication preferences + time clock report */
.client-notification-card{margin-top:16px;padding:16px;border:1px solid rgba(25,67,125,.22);border-radius:16px;background:#fffdf8}.client-notification-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:12px}.client-notification-grid fieldset{border:1px solid rgba(25,67,125,.16);border-radius:14px;padding:12px;min-width:0}.client-notification-grid legend{font-weight:800;color:#19437D;padding:0 5px}.client-notification-grid p{font-size:.82rem;margin:0 0 8px}.client-marketing-warning{margin:12px 0 0;padding:10px 12px;border-left:4px solid #F1BE15;background:#fff9df;border-radius:8px;font-size:.84rem}.client-sms-stop-warning{margin:10px 0;padding:10px 12px;border-radius:10px;background:#fff0f0;border:1px solid #c43d3d;color:#861f1f;display:flex;flex-direction:column;gap:2px}.time-clock-report-filter__row{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.time-clock-report-filter__row label{display:flex;flex-direction:column;gap:5px;font-weight:700}.time-clock-report-days{display:grid;gap:8px;padding:10px 0}.time-clock-report-days>div{display:grid;grid-template-columns:120px 170px 1fr;gap:12px;padding:8px;border-bottom:1px solid rgba(0,0,0,.08)}.time-clock-report-detail td{background:#faf8f2}.time-clock-report-table tfoot th{font-size:1rem}@media(max-width:850px){.client-notification-grid{grid-template-columns:1fr}.time-clock-report-days>div{grid-template-columns:1fr}}@media print{header,.actions-panel,.time-clock-report-filter,.toolbar{display:none!important}.workspace{padding:0!important}.module-card{box-shadow:none!important;border:0!important}}

/* Time Clock report card layout + dashboard attention badges */
.time-clock-report-cards{display:grid;gap:18px}.time-clock-employee-card{padding:24px}.time-clock-employee-card__header{display:grid;grid-template-columns:minmax(220px,1fr) minmax(420px,1.5fr);gap:24px;align-items:center}.time-clock-employee-card__header h3{margin:.2rem 0 .5rem;font-size:1.55rem;color:#17243b}.time-clock-role-row{display:flex;gap:8px;flex-wrap:wrap}.time-clock-role-pill{display:inline-flex;padding:.28rem .65rem;border-radius:999px;background:#edf3fa;color:#19437d;font-size:.75rem;font-weight:850}.time-clock-role-pill--muted{background:#eef0f2;color:#6d7785}.time-clock-employee-metrics{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:12px}.time-clock-employee-metrics>div,.time-clock-facility-total__metric{padding:14px 16px;border:1px solid #d7e1ec;border-radius:16px;background:#f8fafc}.time-clock-employee-metrics small,.time-clock-facility-total small{display:block;color:#65748b;font-weight:750;margin-bottom:4px}.time-clock-employee-metrics strong,.time-clock-facility-total__metric strong{display:block;color:#19437d;font-size:1.25rem}.time-clock-employee-metrics span{display:block;color:#7b8798;font-size:.72rem;margin-top:2px}.time-clock-daily-detail{margin-top:18px;border-top:1px solid #e0e7ef;padding-top:14px}.time-clock-daily-detail summary{cursor:pointer;color:#19437d;font-weight:900}.time-clock-daily-detail summary span{color:#7a8798;font-weight:700;font-size:.76rem;margin-left:.4rem}.time-clock-report-days{display:grid;gap:8px;margin-top:12px}.time-clock-report-day{display:grid;grid-template-columns:150px 180px 1fr;gap:14px;align-items:center;padding:11px 13px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8ef}.time-clock-report-day__hours{font-weight:850;color:#17243b}.time-clock-report-day__hours em{font-style:normal;color:#65748b;font-weight:700;margin-left:6px}.time-clock-report-day small{color:#66758a}.time-clock-facility-total{display:grid;grid-template-columns:1fr 220px 220px;gap:14px;align-items:center}.time-clock-facility-total h3{margin:.2rem 0 0;color:#17243b;font-size:1.55rem}.dashboard-notification-badge{background:#d32f2f!important;color:#fff!important;border:2px solid #fff!important;box-shadow:0 2px 6px rgba(0,0,0,.18)}.dashboard-notification-badge[hidden]{display:none!important}@media(max-width:900px){.time-clock-employee-card__header{grid-template-columns:1fr}.time-clock-employee-metrics{grid-template-columns:1fr}.time-clock-report-day{grid-template-columns:1fr}.time-clock-facility-total{grid-template-columns:1fr}}

/* Holiday hours and automated holiday email settings */
.holiday-email-controls{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(160px,.7fr) minmax(160px,.7fr);gap:14px;align-items:end;margin-bottom:14px}.holiday-email-controls>label:not(.membership-check-card){display:grid;gap:5px;font-weight:800;color:#19437d}.holiday-email-controls small{font-size:.72rem;color:#6b7890}.holiday-hours-list{display:grid;gap:14px;margin-top:18px}.holiday-hours-card{border:1px solid #d4dfeb;border-radius:20px;padding:16px;background:#fff}.holiday-hours-card>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.holiday-hours-card h3{margin:3px 0 0;color:#17223a}.holiday-closed-toggle{display:flex;align-items:center;gap:8px;font-weight:900;color:#8d2018}.holiday-window-list{display:grid;gap:9px}.holiday-window-row{display:grid;grid-template-columns:90px minmax(130px,.7fr) minmax(130px,.7fr) minmax(220px,1.2fr);gap:10px;align-items:end;border-top:1px solid #edf1f5;padding-top:9px}.holiday-window-row:first-child{border-top:0;padding-top:0}.holiday-window-row label{display:grid;gap:4px;font-size:.75rem;font-weight:800;color:#19437d}.holiday-window-row input,.holiday-window-row select{width:100%;box-sizing:border-box}.holiday-hours-card:has([data-holiday-closed]:checked) .holiday-window-list{opacity:.42;pointer-events:none}.holiday-hours-card:has([data-holiday-closed]:checked){background:#fff8f7;border-color:#e1b3ae}@media(max-width:900px){.holiday-email-controls{grid-template-columns:1fr}.holiday-window-row{grid-template-columns:1fr 1fr}.holiday-window-row>strong,.holiday-window-row label:last-child{grid-column:1/-1}}

/* Compact two-line Client Communication thread cards */
.bbh-communication-thread{display:block!important;padding:.58rem .7rem!important;min-height:0!important}.bbh-communication-thread .thread-topline{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:0}.bbh-communication-thread .thread-identity{display:flex;align-items:baseline;gap:.38rem;min-width:0;white-space:nowrap;overflow:hidden}.bbh-communication-thread .thread-name{font-weight:900;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis}.bbh-communication-thread .thread-phone,.bbh-communication-thread .thread-date{font-size:.72rem;color:#64748b;flex:0 0 auto}.bbh-communication-thread .thread-phone:before,.bbh-communication-thread .thread-date:before{content:'·';margin-right:.38rem;color:#9aa6b6}.bbh-communication-thread .thread-pills{display:flex;gap:.2rem;flex:0 0 auto}.bbh-communication-thread .bbh-cc-status-pill{margin:0!important;padding:.12rem .34rem!important;font-size:.56rem!important}.bbh-communication-thread .thread-preview{display:block;margin-top:.23rem;font-size:.78rem;line-height:1.2;color:#294766;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bbh-communication-thread.is-unread .thread-preview{font-weight:800}.bbh-communication-thread-list{max-height:62vh}

/* Compact communication thread cards */
.bbh-communication-thread-list{
  padding:.5rem;
  display:flex;
  flex-direction:column;
  gap:.42rem;
  background:#f7f9fc;
}
.bbh-communication-thread{
  border:1px solid #d6e0eb!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 2px 7px rgba(23,54,95,.055);
}
.bbh-communication-thread:hover{
  background:#f8fbff!important;
  border-color:#afc2d8!important;
}
.bbh-communication-thread.is-selected,
.bbh-communication-thread.is-active{
  background:#f1f6fc!important;
  border-color:#19437d!important;
  box-shadow:0 0 0 2px rgba(25,67,125,.08);
}


/* Roster client profile link + partial wallet payment */
.roster-client-profile-link{appearance:none;border:0;background:none;padding:0;margin:0;color:var(--navy,#172033);font:inherit;font-size:inherit;font-weight:800;text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:rgba(25,67,125,.28);text-underline-offset:.18em}
.roster-client-profile-link:hover,.roster-client-profile-link:focus-visible{color:#19437D;text-decoration-color:#F1BE15;outline:none}
.wallet-apply-panel{margin-top:12px;padding:14px;border:1px solid #d5dee9;border-radius:16px;background:#f8fafc;display:grid;gap:10px}
.wallet-apply-label{display:grid;gap:6px;font-weight:700;color:#19437D}
.wallet-apply-label input{width:100%;min-height:44px;border:1px solid #b9c8dc;border-radius:12px;padding:9px 12px;font:inherit;background:#fff}
.wallet-remaining-preview{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#60718b}
.wallet-remaining-preview strong{color:#172033;font-size:1.05rem}
.wallet-apply-panel .pill-button{justify-self:start}


/* Sales / invoice reporting expansion */
.sales-payment-method-summary{margin-top:18px}.daily-invoice-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0}.daily-invoice-actions small{color:#68778d}.daily-invoice-table .sales-report-row{grid-template-columns:1fr 1.2fr 1.8fr .9fr .8fr 1.3fr .8fr .7fr}.sales-report-table:not(.sales-report-table--account):not(.sales-report-table--refunds) .sales-report-row{grid-template-columns:1fr 1.1fr .9fr 1.5fr .8fr .8fr 1.4fr .7fr}
@media print{
 body.printing-sales-report .site-header,body.printing-sales-report .workspace-actions,body.printing-sales-report .sales-report-categories,body.printing-sales-report .sales-report-controls,body.printing-sales-report [data-sales-report-back],body.printing-sales-report .sales-report-tabs,body.printing-sales-report .hero-card{display:none!important}
 body.printing-sales-report [data-sales-report-root]{display:block!important;border:0!important;box-shadow:none!important;padding:0!important}
 body.printing-sales-report [data-sales-report-results]{display:block!important}
 body.printing-square-report .site-header,body.printing-square-report .workspace-actions,body.printing-square-report .sales-report-controls,body.printing-square-report .sales-report-tabs,body.printing-square-report .hero-card{display:none!important}
 body.printing-square-report [data-square-report-root]{border:0!important;box-shadow:none!important;padding:0!important}
}

.sales-report-table--account .sales-report-row{grid-template-columns:1.2fr .9fr 1.2fr 1fr .8fr .8fr 1.3fr .9fr}

/* BBH 2026-09-11 invoice comps, invoice-wide discounts, and active Clients & Pets menu */
.toolbar-module-dropdown[open]>summary{background:var(--blue)!important;color:#fff!important;border-color:var(--gold)!important;box-shadow:0 0 0 3px rgba(241,190,21,.14)}
.toolbar-module-dropdown[open]>summary .toolbar-menu-chevron{color:#fff}
.invoice-detail-row{grid-template-columns:minmax(220px,1.5fr) 58px 88px 110px 76px minmax(240px,1fr) 92px 105px}
.invoice-detail-row.is-comped{background:rgba(179,38,30,.045);border-radius:12px;padding-left:.55rem;padding-right:.55rem}
.invoice-detail-row.is-comped .invoice-detail-amount strong,.invoice-detail-row.is-comped .invoice-detail-rate input{color:#a92820}
.invoice-comp-button{min-height:42px;border:2px solid var(--gold);border-radius:12px;background:#b3261e;color:#fff;padding:.48rem .65rem;font:inherit;font-weight:900;cursor:pointer;white-space:nowrap}
.invoice-comp-button:hover,.invoice-comp-button:focus-visible{filter:brightness(.96);outline:none;box-shadow:0 0 0 3px rgba(179,38,30,.12)}
.invoice-comp-button.is-active{background:#fff;color:#b3261e;border-color:#b3261e}
.invoice-discount-control{display:grid!important;gap:.5rem!important;padding:.8rem!important;margin-bottom:.35rem;border:1px solid rgba(25,67,125,.18)!important;border-radius:14px;background:#f7f9fc}
.invoice-discount-control>span{font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--blue)}
.invoice-discount-fields{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.invoice-discount-toggle{display:inline-flex;border:1px solid #b9c8d9;border-radius:10px;overflow:hidden;background:#fff}
.invoice-discount-toggle button{min-width:42px;height:40px;border:0;background:#fff;color:var(--blue);font:inherit;font-weight:900;cursor:pointer}
.invoice-discount-toggle button+button{border-left:1px solid #b9c8d9}
.invoice-discount-toggle button.is-active{background:var(--blue);color:#fff}
.invoice-discount-fields input{width:110px;min-height:40px;border:1px solid #b9c8d9;border-radius:10px;padding:.45rem .6rem;font:inherit;background:#fff}
.invoice-discount-control small{color:#66758c;font-weight:750}
.invoice-total-adjustment{color:#a92820}
.invoice-total-adjustment strong{color:#a92820}
.sales-adjustment-value{color:#a92820;font-weight:900}
@media(max-width:1100px){.invoice-detail-row{grid-template-columns:1fr 58px 88px 110px}.invoice-adjust-reason{grid-column:1/4}.invoice-comp-button{grid-column:4}.invoice-adjust-status{grid-column:1/-1}}
@media(max-width:700px){.invoice-detail-row{grid-template-columns:1fr}.invoice-adjust-reason,.invoice-comp-button,.invoice-adjust-status{grid-column:auto}.invoice-comp-button{width:max-content}}
.sales-report-table:not(.sales-report-table--account):not(.sales-report-table--refunds):not(.daily-invoice-table) .sales-report-row{grid-template-columns:1fr 1.05fr .85fr 1.45fr .75fr .75fr .7fr .75fr 1.25fr .65fr;min-width:1180px}
.sales-report-table--account .sales-report-row{grid-template-columns:1.15fr .8fr 1.15fr .95fr .75fr .7fr .75fr .75fr 1.2fr .8fr;min-width:1180px}
.daily-invoice-table .sales-report-row{grid-template-columns:1fr 1.15fr 1.65fr .8fr .75fr .65fr .7fr 1.25fr .75fr .65fr;min-width:1200px}

/* 2026-09-11: visible invoice COMP, responsive Clients & Pets menu, Terminal card storage */
.invoice-detail-row{grid-template-columns:minmax(180px,1.3fr) 54px 82px 92px 68px minmax(180px,1fr) 88px!important;gap:.5rem!important}
.invoice-adjust-status{grid-column:1/-1!important;margin-top:-.1rem}
.invoice-comp-button{justify-self:start;align-self:end;min-width:82px}
.invoice-comp-spacer{display:block}
.stored-card-heading-actions{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}
.square-terminal-card-dialog{width:min(560px,calc(100% - 28px));display:grid;gap:1rem}
.square-terminal-card-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.square-terminal-card-dialog>header h2{margin:.18rem 0}.square-terminal-card-dialog>header p{margin:0;color:#68788d}
.square-terminal-card-dialog label{display:grid;gap:.4rem;color:#19437d;font-weight:850}.square-terminal-card-dialog select{width:100%;min-height:46px;border:1px solid #b9c8d9;border-radius:12px;background:#fff;padding:.6rem .75rem;font:inherit}
.terminal-save-intro,.terminal-save-status{padding:.85rem 1rem;border:1px solid #d4dee9;border-radius:14px;background:#f7f9fc;color:#52647c;line-height:1.45}.terminal-save-status{font-weight:800;color:#19437d}
@media(max-width:1180px){.toolbar-module-dropdown-menu{overscroll-behavior:contain}.toolbar-module-dropdown[open]{z-index:10049}}
@media(max-width:1100px){.invoice-detail-row{grid-template-columns:1fr 58px 88px 110px!important}.invoice-adjust-reason{grid-column:1/4!important}.invoice-comp-button{grid-column:4!important}.invoice-adjust-status{grid-column:1/-1!important}}
@media(max-width:700px){.invoice-detail-row{grid-template-columns:1fr!important}.invoice-adjust-reason,.invoice-comp-button,.invoice-adjust-status{grid-column:auto!important}.invoice-comp-button{width:max-content}.stored-card-heading-actions{width:100%;justify-content:flex-start}.stored-card-heading-actions .pill-button{flex:1 1 145px}}
@media(max-width:1100px){.toolbar__controls.has-open-module-dropdown{overflow:visible!important;position:relative;z-index:10040}}

/* 2026-09-11: compact Save Card from Terminal modal */
.square-terminal-card-dialog{width:min(500px,calc(100% - 28px));gap:.7rem!important;padding:1.15rem 1.2rem!important}
.square-terminal-card-dialog>header{gap:.7rem!important;align-items:flex-start}
.square-terminal-card-dialog>header .eyebrow{font-size:.72rem;letter-spacing:.14em}
.square-terminal-card-dialog>header h2{font-size:clamp(1.55rem,4vw,2rem);line-height:1.05;margin:.08rem 0 .2rem!important}
.square-terminal-card-dialog>header p{font-size:.98rem!important;line-height:1.2}
.square-terminal-card-dialog .modal-close-button{width:38px;height:38px;font-size:1.9rem;line-height:1;flex:0 0 auto}
.terminal-save-intro{margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:#5d6d82!important;line-height:1.35!important;font-size:.95rem}
.terminal-save-control-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:end;padding:.8rem .85rem;border:1px solid #d4dee9;border-radius:14px;background:#f7f9fc}
.terminal-save-control-card label{gap:.3rem!important;font-size:.88rem}
.square-terminal-card-dialog select{min-height:42px!important;border-radius:10px!important;padding:.48rem .65rem!important}
.terminal-save-status{display:inline-flex;align-items:center;gap:.42rem;align-self:end;padding:.45rem .7rem!important;border:1px solid #d4dee9!important;border-radius:999px!important;background:#fff!important;color:#19437d!important;font-size:.82rem;line-height:1!important;white-space:nowrap}
.terminal-save-status-dot{width:8px;height:8px;border-radius:999px;background:#2f8f55;box-shadow:0 0 0 3px rgba(47,143,85,.12)}
.terminal-save-actions{justify-content:flex-end!important;gap:.55rem!important;margin-top:.05rem}
.terminal-save-actions .pill-button{min-height:42px;padding:.55rem 1rem}
.terminal-save-actions .pill-button--secondary{padding-inline:.9rem}
@media(max-width:560px){.square-terminal-card-dialog{padding:1rem!important;gap:.65rem!important}.terminal-save-control-card{grid-template-columns:1fr;align-items:stretch}.terminal-save-status{justify-self:start}.terminal-save-actions{display:grid!important;grid-template-columns:1fr 1fr}.terminal-save-actions .pill-button{width:100%;min-width:0}}


/* 2026-09-13: consistent report/settings back navigation + inventory report cards */
.module-back-strip{display:flex;align-items:center;justify-content:flex-start;margin:0 0 .75rem;padding:0 .1rem}.module-back-strip .pill-button{min-height:40px;padding:.5rem .9rem}
.inventory-report-root{display:grid;gap:18px}.inventory-report-summary{margin:0}.inventory-report-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:12px;align-items:end}.inventory-search-field{display:grid;gap:5px;font-weight:850;color:#19437d}.inventory-search-field input{min-height:44px;border:1px solid #b9c8d9;border-radius:12px;background:#fff;padding:.6rem .75rem;font:inherit}.inventory-status-filters{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.inventory-status-filters .pill-button.is-active{background:#19437d;color:#fff}.inventory-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.inventory-product-card{border:1px solid #d6e0eb;border-radius:18px;background:#fff;padding:16px;display:grid;gap:14px;box-shadow:0 2px 8px rgba(25,67,125,.045)}.inventory-product-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.inventory-product-card h3{margin:.18rem 0 .2rem;color:#17243b;font-size:1.12rem;line-height:1.2}.inventory-product-card header small{color:#6a788c;font-weight:700}.inventory-product-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.inventory-product-metrics>div{padding:10px 11px;border-radius:12px;background:#f7f9fc;border:1px solid #e1e8f0;min-width:0}.inventory-product-metrics small{display:block;color:#6b788b;font-size:.72rem;font-weight:800;margin-bottom:3px}.inventory-product-metrics strong{display:block;color:#17243b;font-size:.98rem;overflow-wrap:anywhere}.inventory-status{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:.32rem .62rem;border-radius:999px;font-size:.72rem;font-weight:900}.inventory-status--good{background:#e8f5ec;color:#24673d}.inventory-status--low{background:#fff3d6;color:#8a5b00}.inventory-status--out{background:#fde8e7;color:#a92820}.inventory-filter-empty{grid-column:1/-1}
@media(max-width:900px){.inventory-report-toolbar{grid-template-columns:1fr}.inventory-status-filters{justify-content:flex-start}.inventory-product-grid{grid-template-columns:1fr}.inventory-product-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.inventory-product-card>header{flex-direction:column}.inventory-product-metrics{grid-template-columns:1fr 1fr}.inventory-report-toolbar>.pill-button{width:100%}}
@media print{body.printing-inventory-report .site-header,body.printing-inventory-report .workspace-actions,body.printing-inventory-report .module-back-strip,body.printing-inventory-report .inventory-report-toolbar,body.printing-inventory-report .hero-card{display:none!important}body.printing-inventory-report .workspace{padding:0!important}body.printing-inventory-report .inventory-report-root{border:0!important;box-shadow:none!important;padding:0!important}.inventory-product-card{break-inside:avoid;page-break-inside:avoid;box-shadow:none!important}.inventory-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}


/* 2026-09-13 Smart Groom report + retail card action cleanup */
.retail-inventory-row{display:grid!important;grid-template-columns:minmax(260px,2.4fr) minmax(120px,.8fr) repeat(4,minmax(110px,.8fr));gap:14px;align-items:end}
.retail-inventory-row .check-line{grid-column:1 / 3;justify-self:start;margin:0}
.retail-product-card-actions{grid-column:5 / -1;display:flex!important;flex-direction:row!important;justify-content:flex-end;align-items:center;gap:10px;margin-top:4px}
.smart-groom-report-toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.smart-groom-report-toolbar label{display:grid;gap:6px}.smart-groom-report-toolbar input{min-width:170px}.smart-groom-profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:18px 0}.smart-groom-profile-card,.smart-groom-sample-card{border:1px solid #d5dfeb;border-radius:22px;background:#fff;padding:18px}.smart-groom-profile-card{display:flex;justify-content:space-between;gap:18px;align-items:center}.smart-groom-profile-card h3{margin:2px 0}.smart-groom-profile-card p{margin:0;color:#65748a}.smart-groom-average{text-align:right}.smart-groom-average strong{display:block;font-size:1.5rem;color:#19437D}.smart-groom-average span{font-size:.85rem;color:#65748a}.smart-groom-sample-list{display:grid;gap:12px}.smart-groom-sample-card.is-excluded{opacity:.72;background:#f7f7f7}.smart-groom-sample-main{display:flex;justify-content:space-between;gap:16px;align-items:center}.smart-groom-sample-main>div{display:grid;gap:3px}.smart-groom-sample-main span,.smart-groom-sample-main small{color:#65748a}.smart-groom-sample-edit{display:grid;grid-template-columns:110px 100px minmax(220px,1fr) auto auto;gap:10px;align-items:end;margin-top:14px}.smart-groom-sample-edit label{display:grid;gap:5px}.smart-groom-audit{display:block;margin-top:10px;color:#65748a}
@media(max-width:900px){.retail-inventory-row{grid-template-columns:1fr 1fr!important}.retail-inventory-row .check-line{grid-column:1}.retail-product-card-actions{grid-column:1 / -1}.smart-groom-sample-edit{grid-template-columns:1fr 1fr}.smart-groom-reason{grid-column:1 / -1}.smart-groom-profile-card,.smart-groom-sample-main{align-items:flex-start;flex-direction:column}.smart-groom-average{text-align:left}}
@media print{.smart-groom-report-toolbar,.smart-groom-sample-edit,.module-back-strip,.record-actions{display:none!important}.smart-groom-sample-card,.smart-groom-profile-card{break-inside:avoid}}

.membership-plan-choice-list{display:grid;gap:10px;margin:16px 0}.membership-plan-choice{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #cfd9e5;border-radius:14px;background:#fff;cursor:pointer}.membership-plan-choice input{width:18px;height:18px}.membership-plan-choice span{display:grid;gap:3px}.membership-plan-choice small{color:#64748b}.membership-plan-choice:has(input:checked){border-color:#f1be15;box-shadow:0 0 0 2px rgba(241,190,21,.18)}

/* Membership plan change modal */
.membership-plan-change-dialog{width:min(620px,calc(100vw - 24px));padding:20px;display:grid;gap:14px}.membership-plan-change-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-bottom:1px solid #dce3eb;padding-bottom:12px}.membership-plan-change-dialog h2{margin:.15rem 0 0;color:#17365f}.membership-plan-change-body>p{margin:.15rem 0;color:#5f6f87}.membership-plan-change-dialog>footer{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;border-top:1px solid #dce3eb;padding-top:14px}.membership-plan-choice-list{max-height:48vh;overflow:auto;padding-right:2px}@media(max-width:620px){.membership-plan-change-dialog{padding:16px}.membership-plan-change-dialog>footer{flex-direction:column}.membership-plan-change-dialog>footer .pill-button{width:100%}}


/* 2026-09-14 Add-On/Retail bulk management cleanup */
.bulk-action-bar{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.bulk-select-check{display:inline-flex!important;align-items:center;gap:7px!important;align-self:center!important;justify-self:start!important;width:auto!important;margin:0!important;color:var(--blue);font-weight:800;font-size:.78rem}
.bulk-select-check input{width:18px!important;height:18px!important;min-width:18px!important;margin:0!important}
.addon-management-heading,.retail-products-heading{align-items:flex-end}
.addon-management-row{display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:12px 16px!important;align-items:start!important;padding:18px 20px!important}
.addon-management-row>.bulk-select-check{grid-column:1;grid-row:1 / span 3;margin-top:30px!important}
.addon-management-row>.addon-management-fields,.addon-management-row>.addon-available-for,.addon-management-row>.record-actions{grid-column:2}
.addon-management-fields{grid-template-columns:minmax(210px,1.15fr) minmax(240px,1.35fr) minmax(100px,.48fr) minmax(190px,.7fr) auto!important;gap:14px!important;align-items:end!important}
.addon-management-row>.addon-available-for{margin-top:2px}
.addon-management-row>.record-actions{display:flex!important;flex-direction:row!important;gap:10px!important;justify-content:flex-end!important;align-items:center!important;margin-top:0!important}
.retail-inventory-row{grid-template-columns:auto minmax(240px,2.3fr) minmax(110px,.8fr) repeat(4,minmax(105px,.8fr))!important;padding:18px 20px!important}
.retail-inventory-row>.bulk-select-check{grid-column:1;grid-row:1 / span 2;align-self:center!important}
.retail-inventory-row>.check-line{grid-column:2 / 4!important}
.retail-product-card-actions{grid-column:6 / -1!important}
@media(max-width:1180px){.addon-management-fields{grid-template-columns:repeat(2,minmax(0,1fr))!important}.addon-management-row>.bulk-select-check{margin-top:0!important;align-self:start!important}.retail-inventory-row{grid-template-columns:auto repeat(2,minmax(0,1fr))!important}.retail-inventory-row>.check-line{grid-column:2!important}.retail-product-card-actions{grid-column:2 / -1!important}}
@media(max-width:760px){.bulk-action-bar{justify-content:flex-start}.addon-management-row{grid-template-columns:1fr!important}.addon-management-row>.bulk-select-check,.addon-management-row>.addon-management-fields,.addon-management-row>.addon-available-for,.addon-management-row>.record-actions{grid-column:1!important}.addon-management-fields{grid-template-columns:1fr!important}.retail-inventory-row{grid-template-columns:1fr!important}.retail-inventory-row>.bulk-select-check,.retail-inventory-row>.check-line,.retail-product-card-actions{grid-column:1!important}.retail-product-card-actions,.addon-management-row>.record-actions{justify-content:flex-start!important}}

/* Membership pet-change modal */
.membership-pet-selection{display:grid;gap:10px;margin:14px 0 18px}.membership-pet-choice{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #d9e1ea;border-radius:14px;background:#fff}.membership-pet-choice input{width:20px;height:20px;flex:0 0 auto}.membership-pet-choice span{display:grid;gap:2px}.membership-pet-choice small{color:var(--muted)}.membership-plan-options-region{border-top:1px solid #d9e1ea;padding-top:16px}.membership-plan-options-region>p{color:var(--muted)}.membership-plan-change-body .notice{margin:0 0 12px}.membership-pending-pets{display:block;margin-top:3px;color:var(--muted)}

/* Roster launch polish: occupancy + per-pet add-on visibility */
.roster-owner-card__identity{display:inline-flex;align-items:center;gap:.45rem;flex-wrap:wrap;min-width:0}
.roster-owner-addon-notice{display:inline-flex;align-items:center;gap:.3rem;color:#19437d;font-size:.68rem;font-weight:900;white-space:nowrap}
.roster-owner-addon-notice b{font-size:1rem;line-height:1;color:#19437d}
.roster-owner-addon-notice--medicinal{color:#b42318}
.roster-owner-addon-notice--medicinal b{color:#b42318}
.roster-pet-booking--addon{background:#eaf3ff!important;box-shadow:inset 4px 0 0 #19437d}
.roster-pet-booking--medicinal-addon{background:#fff0f0!important;box-shadow:inset 4px 0 0 #b42318}
.roster-pet-booking--addon:hover{background:#e2efff!important}
.roster-pet-booking--medicinal-addon:hover{background:#ffe7e7!important}
.roster-metric--occupancy>strong{font-size:2.2rem}
.roster-metric--occupancy>small{display:block;margin-top:.15rem}

.care-card-pet-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}

/* BBH roster photo + overlay corrections */
.roster-owner-card{overflow:visible;position:relative}
.roster-owner-pet-card{position:relative;overflow:visible}
.roster-owner-row:has(.roster-vaccine-summary:hover),
.roster-owner-row:has(.roster-vaccine-summary:focus-within){position:relative;z-index:3600!important}
.roster-owner-pet-card:has(.roster-vaccine-summary:hover),
.roster-owner-pet-card:has(.roster-vaccine-summary:focus-within){z-index:3601}
.roster-pet-booking:has(.roster-vaccine-summary:hover),
.roster-pet-booking:has(.roster-vaccine-summary:focus-within){position:relative;z-index:3602}
.roster-vaccine-tooltip{z-index:3603!important}
.roster-pet-photo-link{appearance:none;border:0;background:transparent;padding:0;color:#17365f;font:inherit;font-weight:900;cursor:pointer;text-align:left;text-decoration:underline;text-decoration-color:rgba(25,67,125,.28);text-underline-offset:3px}
.roster-pet-photo-link:hover,.roster-pet-photo-link:focus-visible{color:#19437d;text-decoration-color:#f1be15;outline:none}
.roll-call-pet-identity{display:flex;align-items:center;gap:.7rem;min-width:0}
.roll-call-pet-identity strong{font-size:1rem;color:#17365f}
.roll-call-pet-photo{width:46px;height:46px;flex:0 0 46px;border-radius:12px;object-fit:cover;border:2px solid #f1be15;background:#eef3f8}
.roll-call-pet-photo--empty{display:grid;place-items:center;font-size:1.15rem;color:#6b7890}


/* BBH roster vaccine portal + photo lightbox badge fix */
.roster-vaccine-floating-popover{position:fixed;z-index:20000;min-width:13.5rem;max-width:min(22rem,calc(100vw - 20px));padding:.55rem .65rem;border:1px solid #c7d3df;border-radius:.65rem;background:#fff;color:#263b55;box-shadow:0 .5rem 1.2rem rgba(20,45,75,.22);text-align:left;font-size:.67rem;line-height:1.25;pointer-events:none}
.roster-vaccine-floating-popover span{display:block;padding:.12rem 0}.roster-vaccine-floating-popover strong{color:#17365f}
.pet-photo-lightbox-frame{position:relative;display:inline-flex;max-width:90vw;max-height:86vh}
.pet-photo-lightbox-frame img{display:block;max-width:min(900px,90vw);max-height:86vh;width:auto;height:auto}
.pet-photo-lightbox-close{position:absolute!important;top:-14px!important;right:-14px!important;width:42px;height:42px;border:3px solid #fff;border-radius:999px;background:#b6252b;color:#fff;font-size:27px;font-weight:900;line-height:1;display:grid;place-items:center;cursor:pointer;z-index:2;box-shadow:0 4px 12px rgba(0,0,0,.28)}

/* Grooming direct-calendar booking + conflict UX */
.groom-calendar-lane{position:relative}
.groom-open-slot{position:absolute;left:0;right:0;height:18px;border:0;border-radius:0;background:transparent;cursor:pointer;z-index:2}
.groom-open-slot:hover,.groom-open-slot:focus-visible{background:rgba(25,67,125,.12);outline:1px solid rgba(25,67,125,.35);outline-offset:-1px}
.groom-open-slot.is-occupied{pointer-events:none;visibility:hidden}
.groom-appointment-block,.groom-manual-block,.groom-outside-hours{z-index:4}
.groom-quick-book-modal,.groom-conflict-modal{position:fixed;inset:0;z-index:9200;display:grid;place-items:center;padding:20px}
.groom-quick-book-modal[hidden],.groom-conflict-modal[hidden]{display:none!important}
.groom-quick-book-backdrop{position:absolute;inset:0;background:rgba(12,23,41,.58)}
.groom-quick-book-panel{position:relative;z-index:1;width:min(620px,calc(100vw - 32px));max-height:min(760px,90vh);overflow:auto;background:#fff;border:1px solid #cbd7e4;border-radius:22px;padding:24px;box-shadow:0 24px 70px rgba(15,32,55,.28)}
.groom-quick-book-panel h2{margin:.2rem 0 .35rem}.groom-quick-book-panel>p{margin:0 0 1rem;color:#66758c;font-weight:700}
.groom-quick-search-label{display:grid;gap:6px;font-weight:800}.groom-quick-search-label input{width:100%;border:1px solid #bdcad9;border-radius:12px;padding:.7rem .8rem;font-size:1rem}
.groom-quick-results{display:grid;gap:7px;margin-top:10px;max-height:250px;overflow:auto}
.groom-quick-results .booking-search-result{width:100%}
.groom-quick-pets{margin-top:14px;padding:14px;border:1px solid #d8e0ea;border-radius:14px;background:#fbfaf6}.groom-quick-pets>small{display:block;color:#66758c;margin:.2rem 0 .65rem}.groom-quick-pets>div{display:flex;gap:8px;flex-wrap:wrap}
.groom-quick-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:18px}
.groom-conflict-panel{max-width:520px}.groom-conflict-panel h2{color:#8f2525}
.groom-quick-actions__spacer{flex:1 1 auto}
.groom-quick-time-block-button,.groom-quick-time-block-save{background:#9b2c2c!important;color:#fff!important;border-color:#f1be15!important}
.groom-quick-time-block-button:hover,.groom-quick-time-block-save:hover{background:#842323!important}
.groom-quick-time-block{margin-top:14px;padding:16px;border:1px solid #e1c15a;border-radius:16px;background:#fffaf0}
.groom-quick-time-block__heading{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:12px;color:#19437d}.groom-quick-time-block__heading small{color:#66758c;font-weight:700}
.groom-quick-time-block__times{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:end}.groom-quick-time-block__times label{display:grid;gap:6px;font-weight:800;color:#18243a}.groom-quick-time-block__times>span{padding-bottom:.72rem;font-weight:800;color:#66758c}.groom-quick-time-block__times select{width:100%;border:1px solid #bdcad9;border-radius:12px;background:#fff;padding:.7rem .8rem;font:inherit}.groom-quick-time-block__actions{display:flex;justify-content:flex-end;margin-top:12px}
@media(max-width:620px){.groom-quick-actions__spacer{display:none}.groom-quick-actions{justify-content:flex-end}.groom-quick-time-block-button{margin-right:auto}.groom-quick-time-block__times{grid-template-columns:1fr}.groom-quick-time-block__times>span{padding:0}}


/* BBH payment failure + business intelligence reports */
.booking-status--payment-failed,.bookings-status--payment-failed,.status-payment-failed{background:#f8d7da!important;color:#9b1c27!important;border-color:#e4a2a8!important}.insight-report{display:grid;gap:1rem}.insight-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.insight-summary article{border:1px solid rgba(25,67,125,.14);border-radius:14px;padding:1rem;background:#fff}.insight-summary small{display:block;color:var(--muted);font-weight:800}.insight-summary strong{display:block;margin-top:.3rem;font-size:1.35rem;color:var(--blue)}.insight-table-wrap{overflow-x:auto}.insight-table{width:100%;border-collapse:collapse;min-width:760px}.insight-table th,.insight-table td{padding:.7rem .65rem;border-bottom:1px solid rgba(25,67,125,.12);text-align:left;vertical-align:top}.insight-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.055em;color:var(--blue)}.insight-table td{font-size:.88rem}.insight-report-note{color:var(--muted);font-size:.82rem}@media(max-width:700px){.insight-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* BBH payment failure + business intelligence reports */
.booking-status--payment-failed,.bookings-status--payment-failed,.status-payment-failed{background:#f8d7da!important;color:#9b1c27!important;border-color:#e4a2a8!important}.insight-report{display:grid;gap:1rem}.insight-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.insight-summary article{border:1px solid rgba(25,67,125,.14);border-radius:14px;padding:1rem;background:#fff}.insight-summary small{display:block;color:var(--muted);font-weight:800}.insight-summary strong{display:block;margin-top:.3rem;font-size:1.35rem;color:var(--blue)}.insight-table-wrap{overflow-x:auto}.insight-table{width:100%;border-collapse:collapse;min-width:760px}.insight-table th,.insight-table td{padding:.7rem .65rem;border-bottom:1px solid rgba(25,67,125,.12);text-align:left;vertical-align:top}.insight-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.055em;color:var(--blue)}.insight-table td{font-size:.88rem}.insight-report-note{color:var(--muted);font-size:.82rem}@media(max-width:700px){.insight-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Grooming booking: keep the service chooser compact and appointment notes visible. */
.grooming-booking-workspace .groom-booking-options{max-height:31rem;overflow-y:auto;overscroll-behavior:contain;padding-right:.35rem;scrollbar-gutter:stable}
.grooming-booking-notes .booking-belongings-mini__row{grid-template-columns:minmax(7rem,.25fr) minmax(0,1fr)}
.grooming-booking-notes textarea{width:100%;min-height:4.5rem;resize:vertical}

/* Grooming booking appointment notes: use the available card width. */
.grooming-booking-notes .booking-belongings-mini__row textarea{width:100%;min-width:0;box-sizing:border-box;min-height:88px;padding:.65rem .75rem;font:inherit;resize:vertical}
.grooming-booking-notes .booking-belongings-mini__row{grid-template-columns:minmax(7rem,.18fr) minmax(22rem,1fr)}
@media(max-width:760px){.grooming-booking-notes .booking-belongings-mini__row{grid-template-columns:1fr}.grooming-booking-notes .booking-belongings-mini__row strong{white-space:normal}}

/* Grooming appointment notes: force a usable full-width editor on desktop and mobile. */
.grooming-booking-notes .booking-belongings-mini__rows{width:100%!important}
.grooming-booking-notes .booking-belongings-mini__row{grid-template-columns:minmax(7rem,9rem) minmax(0,1fr)!important;width:100%!important;align-items:start!important}
.grooming-booking-notes .booking-belongings-mini__row textarea{display:block!important;width:100%!important;max-width:none!important;min-width:0!important;min-height:110px!important;height:auto!important;box-sizing:border-box!important;font-size:1rem!important;line-height:1.35!important;padding:.75rem .85rem!important}
@media(max-width:760px){.grooming-booking-notes .booking-belongings-mini__row{grid-template-columns:1fr!important}.grooming-booking-notes .booking-belongings-mini__row textarea{width:100%!important;min-height:120px!important}}
.dashboard-birthday-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.dashboard-birthday-actions .pill-button{white-space:nowrap}@media(max-width:700px){.dashboard-birthday-row{align-items:flex-start}.dashboard-birthday-actions{width:100%;justify-content:flex-start;margin-top:8px}}

/* Package / membership catalog tightening + bulk selection */
.catalog-bulk-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
.catalog-bulk-head h2{margin:0}
.catalog-record-title{display:flex!important;align-items:flex-start;gap:12px;min-width:0}
.catalog-record-title>div{min-width:0}
.catalog-select{display:inline-flex!important;align-items:center;gap:6px;white-space:nowrap;font-size:.78rem;font-weight:800;color:#19437d}
.catalog-select input{width:auto!important;height:auto!important;margin:2px 0 0}
.package-form{min-width:0;overflow:hidden}
.package-form-heading{min-width:0}
.package-form-heading>div:first-child{min-width:0}
.package-form-heading strong,.package-form-heading span{overflow-wrap:anywhere}
.package-one-line--v3{width:100%;min-width:0;box-sizing:border-box}
.package-one-line--v3>label,.package-one-line--v3 .check-line{min-width:0!important;max-width:100%}
.package-one-line--v3 .package-portal,.package-one-line--v3 .package-assessment,.package-one-line--v3 .package-active{width:auto!important;max-width:none!important;white-space:normal}
.package-one-line--v3 .check-line span{line-height:1.15;overflow-wrap:anywhere}
.membership-existing{margin:18px 0 0!important;padding:18px!important;border:1px solid rgba(25,67,125,.18)!important;border-radius:22px;background:rgba(255,255,255,.62);box-shadow:0 8px 22px rgba(25,67,125,.04)}
.membership-existing-head{padding-bottom:12px;border-bottom:1px solid rgba(25,67,125,.10)}
.membership-existing .membership-form{padding-top:4px}
@media(max-width:900px){.catalog-bulk-head{align-items:flex-start;flex-direction:column}.catalog-bulk-head .record-actions{flex-wrap:wrap}.membership-existing{padding:14px!important}}


/* Package settings: stable two-row editor layout. Keep long toggles out of the field grid. */
.package-one-line--v3{
  display:grid!important;
  grid-template-columns:minmax(210px,1.45fr) minmax(150px,.9fr) minmax(135px,.82fr) minmax(100px,.55fr) minmax(145px,.8fr) minmax(82px,.48fr)!important;
  gap:10px 12px!important;
  width:100%!important;
  align-items:end!important;
}
.package-one-line--v3 .package-field-name,.package-one-line--v3 .package-field-type,.package-one-line--v3 .package-field-service,.package-one-line--v3 .package-mini-field,.package-one-line--v3 .package-field-expiration,.package-one-line--v3 .package-expiration-days{width:auto!important;max-width:none!important;grid-column:auto!important;grid-row:auto!important}
.package-one-line--v3 .package-toggle-row{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:2px}
.package-one-line--v3 .package-toggle-row .check-line{display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;gap:7px!important;width:auto!important;max-width:none!important;min-height:38px!important;height:auto!important;padding:8px 12px!important;margin:0!important;border:1px solid rgba(25,67,125,.18)!important;border-radius:12px!important;background:#fff!important;box-sizing:border-box!important;white-space:nowrap!important}
.package-one-line--v3 .package-toggle-row .check-line input{width:auto!important;height:auto!important;flex:0 0 auto!important;margin:0!important}
.package-one-line--v3 .package-toggle-row .check-line span{font-size:.78rem!important;line-height:1.15!important;white-space:nowrap!important;overflow-wrap:normal!important}
.package-form-heading .catalog-record-title{flex:1 1 auto;overflow:hidden}
.package-form-heading .catalog-record-title>div{display:flex!important;align-items:baseline;gap:6px;flex-wrap:wrap;min-width:0}
.package-form-heading .catalog-record-title strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.package-form-heading .catalog-record-title span{font-size:.78rem;white-space:normal}
@media(max-width:1100px){.package-one-line--v3{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:720px){.package-one-line--v3{grid-template-columns:repeat(2,minmax(0,1fr))!important}.package-one-line--v3 .package-field-name{grid-column:1/-1!important}.package-one-line--v3 .package-toggle-row{grid-column:1/-1}.package-one-line--v3 .package-toggle-row .check-line{width:100%!important}.package-form-heading{align-items:flex-start;flex-direction:column}.package-form-heading .record-actions{width:100%;justify-content:flex-start}}
/* Grooming calendar editable manual blocks */
.groom-manual-block{pointer-events:auto;cursor:pointer;border-left:1px solid rgba(180,35,24,.22);border-right:1px solid rgba(180,35,24,.22);font-family:inherit;width:100%;padding:2px 4px}
.groom-manual-block:hover{filter:brightness(.96);box-shadow:inset 0 0 0 2px rgba(155,28,28,.18)}
.groom-manual-block small{font-size:.6rem;font-weight:800;color:inherit}
.groom-block-edit-panel{max-width:650px}
.groom-block-edit-body{display:grid;gap:14px}
.groom-block-edit-reason{display:grid;gap:6px;font-weight:800;color:#18243a}.groom-block-edit-reason input{width:100%;border:1px solid #bdcad9;border-radius:12px;background:#fff;padding:.8rem;font:inherit}
.groom-block-edit-actions{display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;align-items:center;margin-top:18px}.groom-block-delete{background:#9b2c2c!important;color:#fff!important;border-color:#f1be15!important}.groom-block-delete:hover{background:#842323!important}
@media(max-width:620px){.groom-block-edit-actions{grid-template-columns:1fr 1fr}.groom-block-edit-actions>span{display:none}.groom-block-delete{grid-column:1/-1}.groom-block-edit-actions .pill-button{width:100%}}
\n/* Grooming calendar drag-to-reschedule */
.groom-appointment-block.is-draggable{cursor:grab}
.groom-appointment-block.is-draggable:active,.groom-appointment-block.is-dragging{cursor:grabbing}
.groom-appointment-block.is-dragging{opacity:.55;box-shadow:0 0 0 3px rgba(241,190,21,.35)}
.groom-open-slot.is-drag-valid{display:block!important;pointer-events:auto!important;background:rgba(241,190,21,.10);border:1px dashed rgba(241,190,21,.72);z-index:8}
.groom-open-slot.is-drag-valid:hover,.groom-open-slot.is-drag-hover{background:rgba(241,190,21,.32);border:2px solid #F1BE15;box-shadow:inset 0 0 0 2px rgba(25,67,125,.18)}

/* Grooming pointer drag-and-drop: Safari/desktop-safe */
.groom-appointment-block.is-draggable{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}
.groom-drag-ghost{position:fixed!important;z-index:100000!important;pointer-events:none!important;opacity:.82;transform:rotate(1deg);box-shadow:0 10px 30px rgba(0,0,0,.24)!important;margin:0!important}

.training-environment-banner{display:flex;align-items:center;justify-content:center;gap:12px;background:#8b1e24;color:#fff;border-bottom:3px solid #F1BE15;padding:8px 16px;font-size:13px}.training-environment-banner strong{letter-spacing:.08em}.training-environment-banner span{opacity:.9}

/* BBH 2026-09-20: stable Client Communication thread list at high volume */
.bbh-communication-thread-list{
  min-height:0;
  max-height:62vh;
  overflow-y:auto;
  overflow-x:hidden;
  align-content:start;
}
.bbh-communication-thread{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:grid!important;
  grid-template-rows:auto auto!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-content:center!important;
  width:100%!important;
  height:auto!important;
  min-height:58px!important;
  max-height:none!important;
  flex:0 0 auto!important;
  padding:.52rem .7rem!important;
  margin:0!important;
  overflow:hidden!important;
  line-height:1.15!important;
  text-align:left!important;
}
.bbh-communication-thread .thread-topline{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:.45rem!important;
  min-width:0!important;
  min-height:22px!important;
  overflow:hidden!important;
}
.bbh-communication-thread .thread-identity{
  display:flex!important;
  align-items:center!important;
  gap:.35rem!important;
  min-width:0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
}
.bbh-communication-thread .thread-name{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:.96rem!important;
  line-height:1.15!important;
}
.bbh-communication-thread .thread-phone,
.bbh-communication-thread .thread-date{
  line-height:1.15!important;
  white-space:nowrap!important;
}
.bbh-communication-thread .thread-pills{
  display:flex!important;
  align-items:center!important;
  gap:.2rem!important;
  flex:0 0 auto!important;
  min-width:0!important;
}
.bbh-communication-thread .bbh-cc-status-pill{
  flex:0 0 auto!important;
  line-height:1.15!important;
  white-space:nowrap!important;
}
.bbh-communication-thread .thread-preview{
  display:block!important;
  min-width:0!important;
  margin-top:.22rem!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:.72rem!important;
  line-height:1.15!important;
  color:#64748b!important;
}
@media(max-width:1180px){
  .bbh-communication-thread .thread-date{display:none!important}
}
@media(max-width:980px){
  .bbh-communication-thread{min-height:54px!important}
  .bbh-communication-thread .thread-phone{display:none!important}
}

/* Roster only: use document scrolling instead of an internal vertical scroller. */
.roster-panel .roster-table-wrap{
  max-height:none;
  height:auto;
  overflow-x:auto;
  overflow-y:hidden;
}


/* 2026-09-21: Roster checked-out ordering treatment + 10% taller dashboard preview cards */
.roster-owner-pet-card--checked-out{
  background:#eef1f4!important;
  border-color:#c7ced7!important;
}
.roster-owner-pet-card--checked-out .roster-pet-booking,
.roster-pet-booking--checked-out{
  background:#e5e9ed!important;
  color:#6b7480!important;
}
.roster-owner-pet-card--checked-out .roster-pet-booking-pet strong,
.roster-owner-pet-card--checked-out .roster-pet-photo-link,
.roster-owner-pet-card--checked-out .roster-pet-booking-time strong,
.roster-owner-pet-card--checked-out .roster-pet-booking-enclosure,
.roster-owner-pet-card--checked-out .roster-pet-booking-status{
  color:#69727e!important;
}
.roster-owner-pet-card--checked-out .roster-service,
.roster-owner-pet-card--checked-out .roster-status,
.roster-owner-pet-card--checked-out .roster-vaccine-summary,
.roster-owner-pet-card--checked-out .roster-quirk{
  filter:grayscale(.75);
  opacity:.72;
}
.roster-owner-pet-card--checked-out .roster-actions{opacity:.78}

.dashboard-preview-card{min-height:27.5rem}
.dashboard-journal-card{min-height:27.5rem;height:27.5rem}
.dashboard-care-card,.dashboard-belongings-card{min-height:330px}
@media(max-width:1000px){.dashboard-journal-card{height:27.5rem}}


/* 2026-09-21: Dashboard preview cards use a true 10% taller fixed viewport before internal scrolling. */
.dashboard-vaccine-card,
.dashboard-birthday-card,
.dashboard-care-card,
.dashboard-belongings-card,
.dashboard-report-card,
.dashboard-incident-card{
  height:27.5rem;
  min-height:27.5rem;
  display:flex;
  flex-direction:column;
}
.dashboard-vaccine-table,
.dashboard-birthday-list,
.dashboard-care-list,
.dashboard-belongings-list,
.dashboard-report-list,
.dashboard-incident-list{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
}
.dashboard-vaccine-table{overflow-x:auto}
.square-saved-card-panel{display:grid;gap:10px;padding:12px;border:1px solid #c9d8e8;border-radius:14px;background:#fff}
.square-saved-card-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.square-saved-card-panel__head strong{display:block;color:#19437d;font-weight:900}
.square-saved-card-panel__head small{display:block;margin-top:2px;color:#6b7a90;line-height:1.35}
.square-saved-card-controls{display:grid;grid-template-columns:1fr;gap:8px;align-items:stretch}
.square-saved-card-controls select{width:100%;min-width:0;border:1px solid #bdcde0;border-radius:12px;padding:10px 12px;background:#fff;color:#16233a;font-weight:700}
.square-saved-card-status{padding:9px 11px;border-radius:10px;font-weight:800;font-size:.9rem}
.square-saved-card-status.is-waiting{background:#fff7da;color:#735800}
.square-saved-card-status.is-success{background:#edf7f0;color:#246447}
.square-saved-card-status.is-error{background:#fff0ef;color:#9f1d1d}
.square-payment-divider{display:flex;align-items:center;gap:10px;color:#7a8798;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.square-payment-divider::before,.square-payment-divider::after{content:"";height:1px;background:#d9e1ea;flex:1}
@media(max-width:720px){.square-saved-card-controls{grid-template-columns:1fr}.square-saved-card-controls .pill-button{width:100%}}

/* Invoice Daycare correction: keep the service selector readable inside detail rows. */
.invoice-daycare-type{display:flex;flex-direction:column;gap:.28rem;min-width:12rem}
.invoice-daycare-type>span{font-size:.75rem;font-weight:800;color:var(--navy,#19437D);text-transform:uppercase;letter-spacing:.04em}
.invoice-daycare-type select{width:100%;min-width:12rem;padding:.55rem .7rem;border:1px solid #b9cbe0;border-radius:.7rem;background:#fff;color:inherit;font:inherit;font-weight:700}
.package-record-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.package-entitlement-list[hidden]{display:none!important}.client-package-record--editable>.package-entitlement-list{grid-column:1/-1}
/* 2026-09-22 invoice note, positive charge, and compact notes */
.invoice-notes{align-self:start;display:grid;gap:.55rem}
.invoice-notes textarea{width:100%;min-height:82px;max-height:150px;resize:vertical;border:1px solid #c7d1dd;border-radius:10px;padding:.7rem .75rem;font:inherit;color:#172033;background:#fff}
.invoice-notes>[data-invoice-note-status]{min-height:1.1em;color:#66758c;font-weight:800}
.invoice-notes>[data-invoice-note-status].is-saved{color:#16833a}
.invoice-charge-control{display:grid;gap:.5rem;padding:.8rem;margin-top:.35rem;border:1px solid rgba(25,67,125,.18);border-radius:14px;background:#f7f9fc}
.invoice-charge-control>span{font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--blue)}
.invoice-charge-control>[data-charge-description]{width:100%;min-height:40px;border:1px solid #b9c8d9;border-radius:10px;padding:.45rem .6rem;font:inherit;background:#fff}
.invoice-charge-control small{color:#66758c;font-weight:750}

/* Invoice layout correction: preserve original invoice grid and totals; stack Add Charge above Notes. */
.invoice-left-stack{display:grid;gap:1rem;align-self:start;min-width:0}
.invoice-left-stack .invoice-charge-control{margin-top:0}
.invoice-charge-fields{display:grid;grid-template-columns:minmax(180px,1fr) auto 110px auto;gap:.55rem;align-items:center}
.invoice-charge-fields>[data-charge-description]{width:100%;min-height:40px;border:1px solid #b9c8d9;border-radius:10px;padding:.45rem .6rem;font:inherit;background:#fff;box-sizing:border-box}
@media(max-width:900px){.invoice-charge-fields{grid-template-columns:1fr auto 100px auto}}
@media(max-width:720px){.invoice-charge-fields{grid-template-columns:1fr}.invoice-charge-fields .invoice-discount-toggle{justify-self:start}}

/* 2026-09-22 Remaining membership benefit controls */
.client-membership-benefits-card .section-heading-row>div{display:flex;align-items:baseline;gap:.65rem;flex-wrap:wrap}
.client-membership-benefit-list .comp-credit-row--editable{grid-template-columns:minmax(0,1fr) auto;align-items:center}
.client-membership-benefit-list .membership-benefit-edit-button{width:auto!important;min-width:72px!important;max-width:max-content!important;justify-self:end!important;flex:0 0 auto!important;padding:.45rem .9rem!important}
.client-membership-benefit-list .comp-credit-editor{grid-column:1 / -1;width:100%}

/* Invoice one-time manual Square card entry */
.invoice-manual-card-dialog{width:min(620px,96vw);padding:22px;display:grid;gap:16px}
.invoice-manual-card-dialog>header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.invoice-manual-card-dialog h2{margin:.15rem 0;color:#19437d}
.invoice-manual-card-dialog header p{margin:.35rem 0 0;color:#66758c}
.invoice-manual-card-dialog>label{display:grid;gap:6px;font-weight:800;color:#19437d}
.invoice-manual-card-dialog>label input{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #bdcde0;border-radius:10px;font:inherit}
.invoice-manual-square-card{min-height:90px;padding:12px;border:1px solid #d6dee8;border-radius:12px;background:#fff}
.invoice-manual-card-dialog footer{display:flex;justify-content:flex-end}

.roster-pet-context-menu{position:fixed;z-index:10050;min-width:220px;padding:.45rem;background:#fff;border:1px solid #c9d5e3;border-radius:.75rem;box-shadow:0 14px 40px rgba(24,54,95,.22)}.roster-pet-context-menu>strong{display:block;padding:.35rem .5rem;color:#17365f;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.roster-pet-context-menu button{display:block;width:100%;border:0;background:transparent;border-radius:.5rem;padding:.5rem .6rem;text-align:left;color:#243a56;font:inherit;font-size:.76rem;font-weight:800;cursor:pointer}.roster-pet-context-menu button:hover{background:#edf4fb;color:#19437d}.roster-pet-booking[data-roster-pet-context]{cursor:context-menu}

/* Roster pet action menu: long-press friendly on touch devices. */
.roster-pet-booking[data-roster-pet-context]{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:pan-y}
.roster-pet-booking[data-roster-pet-context] *{-webkit-touch-callout:none!important;-webkit-user-select:none!important;user-select:none!important}
@media(max-width:900px){.roster-pet-context-menu{min-width:min(82vw,300px);max-width:calc(100vw - 16px)}.roster-pet-context-menu button{padding:.72rem .7rem;font-size:.84rem}}
.enclosure-inventory-management .management-row{grid-template-columns:minmax(190px,1fr) minmax(210px,1fr) minmax(300px,auto) auto}
.enclosure-availability-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:end}
.enclosure-availability-controls .check-line{margin:0}
.enclosure-out-of-order-toggle:has(input:checked){border-color:#b13a32;background:rgba(177,58,50,.08);color:#8d2d28}
.enclosure-existing-booking-warning{grid-column:1/-1;margin:.25rem 0 0}
@media(max-width:1100px){.enclosure-inventory-management .management-row{grid-template-columns:repeat(2,minmax(0,1fr))}.enclosure-availability-controls,.enclosure-inventory-management .record-actions{grid-column:1/-1}}
@media(max-width:700px){.enclosure-inventory-management .management-row{grid-template-columns:1fr}.enclosure-availability-controls,.enclosure-inventory-management .record-actions{grid-column:1}}
.floor-plan-grid tr.is-out-of-order .floor-plan-enclosure,.floor-plan-cell.is-out-of-order{background:rgba(159,47,47,.06)}
.floor-plan-grid tr.is-out-of-order .floor-plan-enclosure span{color:var(--danger);font-weight:850}

/* Dashboard scheduled add-ons */
.dashboard-addon-card{grid-column:2;grid-row:2;min-height:330px}
.dashboard-birthday-card{grid-column:2;grid-row:3}
.dashboard-belongings-card{grid-column:2;grid-row:4}
.dashboard-addon-list{display:grid;gap:.65rem;max-height:23rem;overflow:auto;padding-right:.15rem}
.dashboard-addon-pet{border:1px solid #d6dfeb;border-radius:13px;background:#fff;padding:.7rem .8rem}
.dashboard-addon-pet>strong{display:block;color:#17233b;font-size:.94rem;margin-bottom:.45rem}
.dashboard-addon-items{display:grid;gap:.38rem}
.dashboard-addon-item{display:flex;align-items:center;justify-content:space-between;gap:.7rem;border-top:1px solid #e8edf3;padding-top:.42rem}
.dashboard-addon-item:first-child{border-top:0;padding-top:0}
.dashboard-addon-item>div:first-child{min-width:0}.dashboard-addon-item span{display:block;font-size:.8rem;font-weight:850;color:#263b59}.dashboard-addon-item small{display:block;color:#738096;font-size:.68rem;margin-top:.08rem}
.dashboard-addon-item.is-complete>div:first-child{opacity:.62}.dashboard-addon-completion{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;flex-shrink:0}.dashboard-addon-stamp{font-size:.68rem!important;color:#16803c!important;font-weight:900!important;white-space:nowrap}
.dashboard-addon-check{appearance:none;border:2px solid #19437D;background:#fff;color:#19437D;border-radius:999px;min-width:58px;height:30px;padding:0 .65rem;font-size:.7rem;font-weight:900;cursor:pointer}.dashboard-addon-check.is-complete{background:#16803c;border-color:#16803c;color:#fff;min-width:34px;padding:0 .55rem}.dashboard-addon-check:disabled{opacity:.55;cursor:wait}
@media(max-width:1000px){.dashboard-addon-card,.dashboard-birthday-card,.dashboard-belongings-card{grid-column:auto;grid-row:auto}}
@media(max-width:600px){.dashboard-addon-item{align-items:flex-start;flex-direction:column}.dashboard-addon-completion{width:100%;justify-content:space-between}}

/* Invoice retail drawer */
.invoice-retail-drawer{margin:22px 0 14px;border:1px solid var(--line,#d7e0ea);border-radius:18px;background:#fff;overflow:hidden}.invoice-retail-drawer>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;cursor:pointer;list-style:none}.invoice-retail-drawer>summary::-webkit-details-marker{display:none}.invoice-retail-drawer>summary span:first-child{display:flex;flex-direction:column;gap:3px}.invoice-retail-drawer>summary small{font-weight:400;color:#66758a}.invoice-retail-drawer__body{padding:0 20px 20px;border-top:1px solid var(--line,#d7e0ea)}.invoice-retail-drawer__body>label{display:flex;flex-direction:column;gap:6px;margin-top:16px;font-weight:700}.invoice-retail-drawer__body input[type=search]{width:100%;padding:12px 14px;border:1px solid #b9c8da;border-radius:12px;font:inherit}.invoice-retail-results{display:grid;gap:8px;margin-top:12px}.invoice-retail-result,.invoice-retail-added__row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid #d7e0ea;border-radius:12px}.invoice-retail-result span,.invoice-retail-added__row span{display:flex;flex-direction:column;gap:2px}.invoice-retail-result__actions{display:flex;align-items:center;gap:8px}.invoice-retail-result__actions input{width:70px;padding:8px;border:1px solid #b9c8da;border-radius:9px}.invoice-retail-added{display:grid;gap:8px;margin-top:18px}.invoice-retail-added>.eyebrow{margin-bottom:2px}@media(max-width:700px){.invoice-retail-result,.invoice-retail-added__row{align-items:flex-start;flex-direction:column}.invoice-retail-result__actions{width:100%}}
.invoice-commerce-workspace{padding-top:18px}.invoice-commerce-workspace .commerce-mode-tabs{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}.invoice-commerce-pets{padding:14px 16px;border:1px solid var(--line,#d7e0ea);border-radius:14px;margin-bottom:18px}.invoice-commerce-pets>div{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}.invoice-commerce-pets label{display:flex;align-items:center;gap:6px}.invoice-commerce-workspace .commerce-package-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.invoice-commerce-workspace .commerce-package-card{display:flex;flex-direction:column;gap:10px;padding:18px;border:1px solid var(--line,#d7e0ea);border-radius:16px;background:#fff}.invoice-commerce-workspace .commerce-package-card h4{margin:0}

/* Invoice commerce workspace — visual parity with Create Booking */
.invoice-retail-drawer.invoice-commerce-drawer{border:1px solid #c9d7e6;border-radius:22px;background:#fffdf8;overflow:hidden;margin:18px 0}
.invoice-retail-drawer.invoice-commerce-drawer>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;background:#204f88;color:#fff;cursor:pointer}
.invoice-retail-drawer.invoice-commerce-drawer>summary::-webkit-details-marker{display:none}
.invoice-retail-drawer.invoice-commerce-drawer>summary strong{display:block;color:#fff;font-size:1.25rem}
.invoice-retail-drawer.invoice-commerce-drawer>summary small{display:block;color:#eaf1fb;margin-top:3px}
.invoice-retail-drawer.invoice-commerce-drawer>.invoice-retail-drawer__body{padding:22px 24px 24px}
.invoice-commerce-workspace .commerce-mode-tabs{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 20px}
.invoice-commerce-workspace .commerce-mode-tabs .pill-button{min-width:150px;border-radius:999px}
.invoice-commerce-workspace .commerce-mode-tabs .pill-button.is-active{box-shadow:0 0 0 4px rgba(241,190,21,.28)}
.invoice-commerce-pets{padding:16px 18px;border:1px solid #c9d7e6;border-radius:18px;background:#fff;margin-bottom:18px}
.invoice-commerce-pets>strong{display:block;margin-bottom:10px}
.invoice-commerce-pets>div{display:flex;gap:9px;flex-wrap:wrap;margin:0}
.invoice-commerce-pets label{position:relative;display:inline-flex!important;align-items:center;justify-content:center;gap:0!important;padding:8px 14px;border:2px solid #204f88;border-radius:999px;background:#fff;color:#204f88;font-weight:800;cursor:pointer;transition:.15s ease}
.invoice-commerce-pets label:has(input:checked){background:#204f88;color:#fff;box-shadow:0 0 0 3px rgba(241,190,21,.28)}
.invoice-commerce-pets label:hover{box-shadow:0 0 0 3px rgba(241,190,21,.22)}
.invoice-commerce-pets input{position:absolute;opacity:0;pointer-events:none}
.invoice-commerce-workspace [data-invoice-commerce-panel]{border:1px solid #c9d7e6;border-radius:18px;padding:16px;background:#fffdf8}
.invoice-commerce-workspace [data-invoice-commerce-panel][hidden]{display:none!important}
.invoice-commerce-workspace .retail-product-results{grid-template-columns:repeat(4,minmax(0,1fr));max-height:23.5rem}
.invoice-commerce-workspace .commerce-package-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:0}
.invoice-commerce-workspace .commerce-package-card{border:1px solid #c9d7e6;border-radius:16px;padding:18px;background:#f7fbff;min-height:180px;align-content:space-between}
.invoice-commerce-workspace .commerce-package-card .pill-button{border-radius:999px;width:100%}
@media(max-width:1050px){.invoice-commerce-workspace .retail-product-results{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.invoice-retail-drawer.invoice-commerce-drawer>.invoice-retail-drawer__body{padding:16px}.invoice-commerce-workspace .commerce-mode-tabs .pill-button{min-width:0;flex:1}.invoice-commerce-workspace .retail-product-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Unified Sales Report */
.unified-sales-controls{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:18px 0}.unified-sales-controls label{display:grid;gap:5px;font-weight:700}.unified-sales-controls input,.unified-sales-controls select{min-height:42px;border:1px solid var(--line,#c9d6e7);border-radius:12px;padding:8px 10px;background:#fff}.unified-sales-section{margin:20px 0 28px}.unified-sales-section h3{margin:0 0 8px;text-transform:uppercase;text-align:center}.unified-sales-table{width:100%;border-collapse:collapse;font-size:13px}.unified-sales-table th,.unified-sales-table td{border:1px solid #c8ced7;padding:7px 6px;vertical-align:top}.unified-sales-table th{font-weight:800;background:#f3f5f7}.unified-sales-table td:nth-child(n+5):not(:nth-child(11)),.unified-sales-table th:nth-child(n+5):not(:nth-child(11)){text-align:right}.unified-sales-table tfoot td{font-weight:800}.unified-grand-total{display:flex;justify-content:flex-end;gap:20px;font-size:18px;border-top:2px solid currentColor;padding-top:12px}.unified-print-heading{display:none}
@media print{
 @page{size:A4 portrait;margin:8mm}
 body.printing-unified-sales *{visibility:hidden!important}
 body.printing-unified-sales [data-unified-sales],body.printing-unified-sales [data-unified-sales] *{visibility:visible!important}
 body.printing-unified-sales [data-unified-sales]{position:absolute!important;left:0;top:0;width:100%!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:#fff!important}
 body.printing-unified-sales .no-print{display:none!important}.unified-print-heading{display:block!important;text-align:center;margin:0 0 5mm}.unified-print-heading h2{font-size:13pt;margin:0}.unified-print-heading p{font-size:8pt;margin:1mm 0 0}
 body.printing-unified-sales .unified-sales-section{break-inside:auto;margin:0 0 4mm}.unified-sales-section h3{font-size:10pt;margin:0 0 1.5mm}.unified-sales-table{font-size:7pt;table-layout:fixed}.unified-sales-table thead{display:table-header-group}.unified-sales-table tr{break-inside:avoid}.unified-sales-table th,.unified-sales-table td{padding:1.2mm .8mm;line-height:1.1;word-break:break-word}.unified-sales-table th:nth-child(1){width:7%}.unified-sales-table th:nth-child(2){width:9%}.unified-sales-table th:nth-child(3){width:10%}.unified-sales-table th:nth-child(4){width:9%}.unified-sales-table th:nth-child(5),.unified-sales-table th:nth-child(6),.unified-sales-table th:nth-child(7),.unified-sales-table th:nth-child(8),.unified-sales-table th:nth-child(9),.unified-sales-table th:nth-child(10){width:6.5%}.unified-sales-table th:nth-child(11){width:13%}.unified-sales-table th:nth-child(12){width:7%}.unified-grand-total{font-size:10pt}
}

/* In-person tablet waiver signing */
.waiver-tablet-signing-card{display:grid;gap:16px;border:2px solid #d7e1ed;background:linear-gradient(135deg,#fff,#f7f9fc)}.waiver-tablet-signing-card .section-heading-row p{margin:.35rem 0 0;color:#66758c}.waiver-tablet-grid{display:grid;grid-template-columns:minmax(300px,1.4fr) minmax(240px,1fr) minmax(180px,.7fr);gap:14px;align-items:start}.waiver-tablet-grid>label{display:grid;gap:6px;font-weight:850;color:#19437d}.waiver-tablet-grid input,.waiver-tablet-grid select{width:100%;box-sizing:border-box}.waiver-tablet-client-search-row{display:grid;grid-template-columns:1fr auto;gap:8px}.waiver-tablet-client-results{display:grid;gap:6px;max-height:260px;overflow:auto}.waiver-tablet-selected-client{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #cbd8e7;border-radius:13px;background:#fff}.waiver-tablet-selected-client>div{display:grid;gap:2px}.waiver-tablet-selected-client small{color:#66758c}.waiver-tablet-launch-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-top:4px}.waiver-tablet-launch-row small{color:#66758c;max-width:720px}.waiver-tablet-launch-row .pill-button{min-width:170px}.waiver-tablet-launch-row .pill-button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:900px){.waiver-tablet-grid{grid-template-columns:1fr}.waiver-tablet-launch-row{align-items:stretch;flex-direction:column}.waiver-tablet-launch-row .pill-button{width:100%}}@media(max-width:620px){.waiver-tablet-client-search-row{grid-template-columns:1fr}.waiver-tablet-selected-client{align-items:flex-start;flex-direction:column}}

.client-tablet-waiver-card{display:grid;gap:14px;margin:0 0 18px;padding:16px 18px;border:1px solid #d7e1ed;border-radius:16px;background:#f8fafc}.client-tablet-waiver-card>div:first-child{display:grid;gap:3px}.client-tablet-waiver-card>div:first-child>strong{font-size:1.05rem;color:#172235}.client-tablet-waiver-card>div:first-child>span{color:#66758c}.client-tablet-waiver-controls{display:grid;grid-template-columns:minmax(280px,1fr) minmax(180px,.55fr) auto;gap:12px;align-items:end}.client-tablet-waiver-controls label{display:grid;gap:6px;font-weight:800;color:#19437d}.client-tablet-waiver-controls select{width:100%;box-sizing:border-box}.client-tablet-waiver-controls .pill-button{min-height:44px;white-space:nowrap}.client-tablet-waiver-controls .pill-button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:820px){.client-tablet-waiver-controls{grid-template-columns:1fr}.client-tablet-waiver-controls .pill-button{width:100%}}

/* Compact roster pet thumbnails; reuse the existing photo viewer. */
.roster-pet-avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;box-sizing:border-box;border:1px solid #cad7e7;border-radius:7px;background:#e9f0fa;padding:0;overflow:hidden;color:#19437d;font-family:inherit;font-size:16px;font-weight:700;line-height:1;margin-right:4px}
button.roster-pet-avatar{cursor:pointer}
.roster-pet-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.roster-pet-avatar:focus-visible{outline:2px solid #19437d;outline-offset:2px}
.roster-pet-booking-pet .roster-pet-photo-link{min-width:0;overflow:hidden;text-overflow:ellipsis}

.roster-pet-booking-pet{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:7px;row-gap:3px}
.roster-pet-booking-pet>.roster-pet-avatar{grid-column:1;grid-row:1 / span 2;margin-right:0}
.roster-pet-booking-pet>strong,.roster-pet-booking-pet>.roster-pet-photo-link{grid-column:2;grid-row:1}
.roster-pet-booking-pet>.roster-pet-medication{grid-column:2;grid-row:2;justify-self:start}

.roster-owner-card__header>.eyebrow{margin-inline-end:.4rem}

/* Booking search and combined filters */
.bookings-search-row{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}
.bookings-search-row>.booking-search-field{flex:1 1 280px;max-width:460px;min-width:200px}
.bookings-search-row>.bookings-filter-field{display:flex;flex-direction:column;gap:6px;flex:0 1 190px;min-width:150px}
.bookings-filter-field>span{font-weight:700;color:var(--color-primary,#1b4378)}
.bookings-filter-field>select{width:100%;min-height:44px;border:2px solid #f1b900;border-radius:24px;padding:9px 32px 9px 14px;background:#1b4378;color:white;font:inherit;font-weight:700;cursor:pointer}
.bookings-filter-field>select:focus-visible{outline:3px solid #6d9ed4;outline-offset:2px}
@media(max-width:600px){.bookings-search-row>.booking-search-field{flex-basis:100%;max-width:none}.bookings-search-row>.bookings-filter-field{flex:1 1 130px;min-width:0}}

/* Phone roster: one page scroll, with details beneath each pet. */
@media screen and (max-width:760px){
  .roster-shell,.roster-panel{min-width:0;max-width:100%}
  .roster-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
  .roster-metric{min-width:0;padding:.75rem}
  .roster-toolbar{padding:.75rem;gap:.65rem}
  .roster-date-controls{width:100%;min-width:0;flex-wrap:wrap}
  .roster-date-controls input{min-width:0;max-width:100%;box-sizing:border-box}
  .roster-filter-row{padding:.65rem;gap:.4rem}
  .roster-filter-row input{flex:1 1 100%;width:100%;min-width:0;max-width:100%;margin-left:0;box-sizing:border-box}
  .roster-table-wrap{max-height:none!important;height:auto!important;overflow:visible!important;touch-action:auto}
  .roster-table{display:block;width:100%;min-width:0!important;max-width:100%;min-height:0;table-layout:auto}
  .roster-table thead{display:none}
  .roster-table tbody,.roster-table .roster-owner-row,.roster-table .roster-owner-row>td{display:block;width:100%;min-width:0;box-sizing:border-box}
  .roster-table .roster-owner-row>td{padding:.4rem!important}
  .roster-owner-card__header{padding:.65rem}
  .roster-owner-card__header h3{font-size:.95rem!important;overflow-wrap:anywhere}
  .roster-owner-card__pets{padding:.4rem;gap:.65rem;min-width:0}
  .roster-owner-pet-card,.roster-owner-pet-bookings{min-width:0;max-width:100%}
  .roster-pet-booking{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-areas:"pet vaccine" "quirks quirks" "service status" "time time" "enclosure enclosure" "actions actions";
    gap:.65rem!important;padding:.75rem!important;align-items:start;box-sizing:border-box;
    touch-action:pan-y pinch-zoom!important;
  }
  .roster-pet-booking-pet{grid-area:pet;min-width:0;align-self:center}
  .roster-pet-booking-pet>strong,.roster-pet-booking-pet .roster-pet-photo-link{font-size:.95rem!important;white-space:normal;overflow-wrap:anywhere;text-overflow:clip;text-align:left}
  .roster-pet-booking-quirks{grid-area:quirks;gap:.3rem;padding:0}
  .roster-pet-booking-quirks:has(>.roster-none:only-child){display:none}
  .roster-pet-booking-vaccine{grid-area:vaccine;justify-content:flex-end;align-self:center;gap:.3rem;flex-wrap:wrap}
  .roster-pet-booking-vaccine::before{content:"Vaccines";font-size:.75rem;color:#53677f}
  .roster-pet-booking-service{grid-area:service}
  .roster-pet-booking-status{grid-area:status;justify-items:start}
  .roster-pet-booking-time{grid-area:time;padding-top:.5rem;border-top:1px solid #dce4ef}
  .roster-pet-booking-time strong{font-size:.85rem!important;white-space:normal}
  .roster-pet-booking-time small,.roster-pet-booking-status small{font-size:.78rem!important;line-height:1.4;white-space:normal}
  .roster-pet-booking-enclosure{grid-area:enclosure;font-size:.82rem;overflow-wrap:anywhere}
  .roster-pet-booking-enclosure::before{content:"Enclosure: ";font-weight:700}
  .roster-pet-booking .roster-actions{grid-area:actions;min-width:0;max-width:100%;flex-wrap:wrap!important;white-space:normal!important;gap:.4rem;justify-content:flex-start}
  .roster-pet-booking .roster-actions .pill-button--micro{min-height:44px;padding:.5rem .7rem;font-size:.8rem;white-space:normal;max-width:100%;box-sizing:border-box}
  .roster-pet-booking .roster-service,.roster-pet-booking .roster-status,.roster-pet-booking .roster-quirk{font-size:.75rem;white-space:normal;overflow-wrap:anywhere}
  .roster-empty{display:block;box-sizing:border-box;width:100%}
}

@media screen and (max-width:760px){.roster-pet-booking .roster-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.roster-pet-booking .roster-actions .pill-button--micro{width:100%;height:auto;margin:0}}

@media screen and (max-width:760px){.roster-metrics .boarding-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.roster-metrics .boarding-metric-grid>button{min-width:0}.roster-metrics .boarding-metric-grid small{white-space:normal;overflow-wrap:anywhere}}

.dashboard-journal-bubble::before{content:none!important;display:none!important}

/* Membership plan changes: viewport-sized top layer with a scrolling body. */
dialog.bbh-modal[data-membership-plan-change-modal]{margin:0;border:0;box-sizing:border-box;width:100%;max-width:none;height:100%;max-height:none;padding:16px;background:transparent;color:inherit;overflow:hidden;}
dialog.bbh-modal[data-membership-plan-change-modal]:not([open]){display:none}
dialog.bbh-modal[data-membership-plan-change-modal]::backdrop{background:rgba(9,25,48,.62)}
[data-membership-plan-change-modal] .bbh-modal-backdrop{background:transparent}
[data-membership-plan-change-modal] .membership-plan-change-dialog{width:min(620px,100%);max-width:100%;height:auto;max-height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box;gap:14px}
[data-membership-plan-change-modal] .membership-plan-change-dialog>header,[data-membership-plan-change-modal] .membership-plan-change-dialog>footer{flex:0 0 auto}
[data-membership-plan-change-modal] .membership-plan-change-body{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:6px;overflow-wrap:anywhere}
[data-membership-plan-change-modal] .membership-plan-choice-list{max-height:none;overflow:visible}
@media(max-width:620px){dialog.bbh-modal[data-membership-plan-change-modal]{padding:8px}[data-membership-plan-change-modal] .membership-plan-change-dialog{padding:14px;gap:10px}}

/* Stable grooming report editor, including browsers with non-overlay scrollbars. */
.groom-report-modal{align-items:start;padding:20px;overflow:hidden}
.groom-report-modal .groom-quick-book-panel{width:min(740px,100%);height:calc(100dvh - 40px);max-height:calc(100dvh - 40px)!important;box-sizing:border-box;overflow-y:scroll!important;overflow-x:hidden;scrollbar-gutter:stable;overscroll-behavior:contain;overflow-anchor:none}
.groom-report-modal [data-gr-notes]{height:140px;min-height:140px;max-height:140px;resize:none;font:inherit;overflow-y:auto}
.groom-report-modal .groom-report-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.groom-report-modal [data-gr-slot]{min-width:0;display:flex;flex-direction:column;align-items:stretch}
.groom-report-modal [data-gr-slot] img[hidden]{display:none!important}
.groom-report-modal [data-gr-slot] button{white-space:normal}
.groom-report-modal [data-gr-signature]{display:block;box-sizing:border-box;flex:none}
@media(max-width:480px){.groom-report-modal{padding:8px}.groom-report-modal .groom-quick-book-panel{padding:16px;height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)!important}.groom-report-modal .groom-report-photos{grid-template-columns:1fr}}
