/* Shared hero palette and interaction rules, loaded after page stylesheets. */
:root {
  --bohio-brand-panel-heading: #fff;
  --bohio-brand-panel-text: var(--bohio-chrome);
  --bs-link-color: var(--bohio-forest);
  --bs-link-hover-color: var(--bohio-forest-dark);
  --bs-success-rgb: 54, 91, 115;
}
body { color: var(--bohio-ink); }
h1, h2, h3, h4, h5, h6 { color: var(--bohio-forest-dark); }
.text-muted, .text-secondary { color: var(--bohio-muted) !important; }
.text-primary, .text-success { color: var(--bohio-forest) !important; }
.btn { font-family: var(--bohio-font-family); font-weight: var(--bohio-weight-semibold); }
.btn-primary, .btn-success, .btn-secondary, .btn-warning, .btn-info {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--bohio-forest);
  --bs-btn-border-color: var(--bohio-forest);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bohio-forest-dark);
  --bs-btn-hover-border-color: var(--bohio-forest-dark);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bohio-forest-dark);
  --bs-btn-active-border-color: var(--bohio-forest-dark);
  background-color: var(--bohio-forest);
  border-color: var(--bohio-forest);
  color: #fff;
}
.btn-outline-info, .btn-outline-warning {
  --bs-btn-color: var(--bohio-forest);
  --bs-btn-border-color: var(--bohio-forest);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bohio-forest);
  --bs-btn-hover-border-color: var(--bohio-forest);
}
.form-control, .form-select { color: var(--bohio-ink); border-color: var(--bohio-border); }
.form-control:focus, .form-select:focus { border-color: var(--bohio-forest); box-shadow: 0 0 0 .2rem rgba(54,91,115,.15); }
.form-check-input:checked { background-color: var(--bohio-forest); border-color: var(--bohio-forest); }
.rentals-shell, .rentals-admin-shell, .rental-confirm-dialog {
  --r-dark-green: var(--bohio-forest-dark);
  --r-mid-green: var(--bohio-forest);
  --r-light-green: var(--bohio-green);
  --r-muted-green: var(--bohio-chrome-dark);
  --r-text: var(--bohio-ink);
  --r-muted: var(--bohio-muted);
  --r-border-strong: var(--bohio-border);
}
.rentals-guide-button, .rentals-detail-button, .rental-apply-callout, .rental-promo-button {
  font-family: var(--bohio-font-family); font-weight: var(--bohio-weight-semibold);
}
.rental-apply-callout, .rental-promo-button, .rentals-guide-button.primary {
  background: var(--bohio-forest); border-color: var(--bohio-forest); color: #fff;
}
.rental-apply-callout:hover, .rental-apply-callout:focus-visible,
.rental-promo-button:hover, .rental-promo-button:focus-visible {
  background: var(--bohio-forest-dark); border-color: var(--bohio-forest-dark); color: #fff;
}
.rental-detail-terms-block.has-application-callout .rental-detail-block-head h2::after { background: var(--bohio-forest); }
body.operations-workspace .operations-sidebar { background: var(--bohio-forest-dark); }
body.operations-workspace .operations-sidebar nav a[aria-current="page"],
body.operations-workspace .landlord-section-tabs .nav-link.active {
  color: var(--bohio-forest-dark);
  background: var(--bohio-chrome);
  border-color: var(--bohio-border);
}
body.operations-workspace .operations-sidebar nav a:hover { background: var(--bohio-forest); color: #fff; }
body.operations-workspace .operations-summary a:hover,
body.operations-workspace .operations-summary a[aria-current="true"] {
  background: var(--bohio-green-soft); border-color: var(--bohio-forest); box-shadow: none;
}
body.operations-workspace .operations-summary span { font-weight: var(--bohio-weight-semibold); }
body.operations-workspace .operations-summary strong { color: var(--bohio-forest-dark); }
body.operations-workspace .operations-brand span { color: var(--bohio-chrome); }
body.operations-workspace .operations-company { border-color: var(--bohio-green); }
body.operations-workspace .operations-sidebar nav a { color: #fff; }
body.operations-workspace .operations-sidebar-footer,
body.operations-workspace .operations-company span { color: var(--bohio-chrome); }
body.operations-workspace > .navbar { background: var(--bohio-chrome) !important; }
body.operations-workspace > .navbar .navbar-brand,
body.operations-workspace > .navbar .text-white { color: var(--bohio-forest-dark) !important; }
body.operations-workspace .landlord-main-table thead th { color: var(--bohio-muted); background: var(--bohio-green-soft); }
body.operations-workspace .landlord-ticket-row:hover > td { background: var(--bohio-green-soft); --bs-table-bg: var(--bohio-green-soft); }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid var(--bohio-forest); outline-offset: 3px; }
body.operations-workspace a:focus-visible,
body.operations-workspace button:focus-visible { outline-color: var(--bohio-forest); }
body.operations-workspace .operations-sidebar a:focus-visible { outline-color: var(--bohio-chrome); }
/* The resident and contractor portals use the same readable inbox controls. */
body.tenant-dashboard-page .tenant-quick-message-toggle,
body.contractor-dashboard-page .contractor-quick-message-toggle,
body.contractor-dashboard-page .contractor-notification-summary {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  width: auto; height: auto; min-height: 44px; padding: 9px 12px;
  color: var(--bohio-forest-dark); background: var(--bohio-green-soft);
  border: 1px solid var(--bohio-border); border-radius: 7px;
  font-size: 14px; font-weight: 600; line-height: 1.4; white-space: nowrap;
}
body.contractor-dashboard-page .contractor-notification-details { width: auto; flex: 0 0 auto; }
body.contractor-dashboard-page .contractor-notification-summary span:nth-child(2) { display: inline; }
body.contractor-dashboard-page .contractor-icon-actions { display: flex; gap: 10px; flex-wrap: wrap; min-width: 0; }
body.tenant-dashboard-page .tenant-quick-message-count,
body.contractor-dashboard-page .contractor-quick-message-count,
body.contractor-dashboard-page .contractor-notification-count {
  position: static; display: inline-flex; align-items: center; justify-content: center;
  min-width: 22px; height: 22px; padding: 0 5px; font-size: 12px;
  color: #fff; background: var(--bohio-forest); border-radius: 999px;
}
body [data-quick-message-count][hidden] { display: none; }
body.tenant-dashboard-page .tenant-dashboard-tab,
body.contractor-dashboard-page .contractor-dashboard-tab,
body.contractor-dashboard-page .contractor-appointments-tab {
  font-size: 16px; font-weight: 600; min-height: 44px;
}
body.operations-workspace .operations-sidebar nav a { font-size: 16px; line-height: 1.4; min-height: 48px; }
body.operations-workspace .landlord-inbox-actions { gap: 10px; flex-wrap: wrap; }
body.operations-workspace .landlord-inbox-actions .landlord-notification-details { width: auto; flex: 0 0 auto; }
body.operations-workspace .landlord-inbox-actions .landlord-icon-button,
body.operations-workspace .landlord-inbox-actions .landlord-notification-summary {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  width: auto; height: auto; min-height: 44px; padding: 9px 12px;
  font-size: 14px; line-height: 1.4; font-weight: 600; white-space: nowrap;
}
body.operations-workspace .landlord-inbox-actions .landlord-message-count,
body.operations-workspace .landlord-inbox-actions .landlord-notification-count {
  position: static; display: inline-flex; align-items: center; justify-content: center;
  min-width: 22px; height: 22px; padding: 0 5px; font-size: 12px;
}
body.operations-workspace .landlord-inbox-actions .landlord-message-count[hidden] { display: none; }
@media (min-width: 992px) {
  body.operations-workspace { padding-left: 0; display: grid; grid-template-columns: 220px minmax(0, 1fr); min-height: 100vh; }
  body.operations-workspace .operations-sidebar { position: static; width: auto; grid-column: 1; grid-row: 1 / 4; }
  body.operations-workspace > .navbar,
  body.operations-workspace > main,
  body.operations-workspace > .app-footer { grid-column: 2; min-width: 0; }
}
@media (min-width: 992px) and (max-width: 1199px) {
  body.operations-workspace .landlord-request-filter-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  body.contractor-dashboard-page .contractor-dashboard-header { display: block; }
  body.contractor-dashboard-page .contractor-dashboard-header h2 { width: 100%; font-size: 24px; line-height: 1.25; }
  body.contractor-dashboard-page .contractor-icon-actions { margin: 12px 0 0; }
  body.tenant-dashboard-page .tenant-dashboard-tabs,
  body.contractor-dashboard-page .contractor-dashboard-tabs,
  body.contractor-dashboard-page .contractor-appointments-tabs { flex-wrap: wrap; gap: 8px; }
  body.tenant-dashboard-page .tenant-dashboard-tab,
  body.contractor-dashboard-page .contractor-dashboard-tab,
  body.contractor-dashboard-page .contractor-appointments-tab { font-size: 15px; white-space: normal; }
  body.tenant-dashboard-page .quick-message-panel,
  body.contractor-dashboard-page .quick-message-panel { position: relative; inset: auto; width: 100%; height: auto; max-height: none; margin: 12px 0; z-index: auto; box-shadow: none; flex-basis: 100%; }
  body.tenant-dashboard-page .quick-message-body,
  body.contractor-dashboard-page .quick-message-body { min-height: 0; flex: 0 1 auto; max-height: 65dvh; overflow-y: auto; }
  body.tenant-dashboard-page .quick-message-feed,
  body.contractor-dashboard-page .quick-message-feed { min-height: 0; max-height: 35dvh; }
  body.tenant-dashboard-page .quick-message-close,
  body.contractor-dashboard-page .quick-message-close { min-width: 44px; min-height: 44px; }
  /* No clipped navigation or horizontal-only access to destinations. */
  body.operations-workspace .operations-sidebar { display: block; padding: 8px 12px; }
  body.operations-workspace .operations-brand { display: none; }
  body.operations-workspace .operations-sidebar nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin: 0; overflow: visible; }
  body.operations-workspace .operations-sidebar nav a { min-height: 44px; white-space: normal; font-size: 15px; padding: 8px 10px; }
  body.operations-workspace > .navbar { padding: 8px 0; margin-bottom: 12px !important; }
  body.operations-workspace .operations-summary { gap: 6px; margin-bottom: 12px; }
  body.operations-workspace .operations-summary a { padding: 9px 12px; gap: 2px; min-height: 68px; }
  body.operations-workspace .operations-summary small { display: none; }
  body.operations-workspace .operations-summary strong { font-size: 22px; }
  /* 16px form text prevents unwanted input zoom on iOS. */
  body input.form-control, body select.form-select, body textarea.form-control { font-size: 16px; }
  .btn, button.landlord-icon-button, .landlord-notification-summary,
  .landlord-section-tabs .nav-link, .rental-admin-tab,
  button.conversation-send-button, .people-subtabs .nav-link,
  .rentals-guide-button, .rental-apply-callout, .rental-promo-button, #calendar .fc-button {
    min-height: 44px;
  }
  button.landlord-icon-button, a.landlord-icon-button,
  .landlord-notification-summary, button.landlord-mobile-description-edit { min-width: 44px; min-height: 44px; }
  body.operations-workspace .landlord-icon-actions { flex-wrap: wrap; gap: 8px; }
  body.operations-workspace .landlord-toolbar { width: 100%; justify-content: flex-start; }
  body.operations-workspace .landlord-section-tabs { display: flex; flex-wrap: wrap; }
  body.operations-workspace .quick-message-panel { inset: 8px; width: auto; max-height: calc(100dvh - 16px); }
  body.operations-workspace .quick-message-body { min-height: 0; flex: 1; overflow-y: auto; }
  body.operations-workspace .quick-message-feed { min-height: 0; max-height: 35dvh; }
  body.operations-workspace .quick-message-close { min-width: 44px; min-height: 44px; }
  body.operations-workspace .quick-message-composer textarea { min-height: 80px; }
  .rentals-admin-shell, .rentals-admin-panel, .rentals-admin-head { min-width: 0; max-width: 100%; }
  .rentals-admin-head { flex-wrap: wrap; }
  .rental-admin-tabs { flex-wrap: wrap; }
  .rentals-admin-panel input, .rentals-admin-panel select, .rentals-admin-panel textarea { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* One control system across portals. Size variants preserve compact desktop rows. */
:root {
  --bohio-control-radius: 8px;
  --bohio-control-font: 14px;
  --bohio-control-weight: 600;
}
body :is(.btn, .rentals-guide-button, .rentals-detail-button, .rental-apply-callout, .rental-promo-button) {
  border-radius: var(--bohio-control-radius);
  font-family: var(--bohio-font-family);
  font-size: var(--bohio-control-font);
  font-weight: var(--bohio-control-weight);
  line-height: 1.4;
  box-shadow: none;
}
body :is(.btn.btn-primary, .btn.btn-success, .btn.btn-secondary, .btn.btn-warning, .btn.btn-info, .btn.btn-splash-primary, .rentals-guide-button.primary, .rentals-guide-button.secondary, .rental-apply-callout, .rental-promo-button) {
  color: var(--bohio-action-text); background: var(--bohio-action); border-color: var(--bohio-action);
}
body :is(.btn.btn-primary, .btn.btn-success, .btn.btn-secondary, .btn.btn-warning, .btn.btn-info, .btn.btn-splash-primary, .rentals-guide-button.primary, .rentals-guide-button.secondary, .rental-apply-callout, .rental-promo-button):is(:hover, :active) {
  color: #fff; background: var(--bohio-action-hover); border-color: var(--bohio-action-hover);
}
body :is(.btn.btn-outline-primary, .btn.btn-outline-secondary, .btn.btn-outline-success, .btn.btn-outline-warning, .btn.btn-outline-info, .btn.btn-splash-outline, .rentals-guide-button:not(.primary):not(.secondary), .rentals-detail-button) {
  color: var(--bohio-forest); background: var(--bohio-panel); border: 1px solid var(--bohio-border);
}
body :is(.btn.btn-outline-primary, .btn.btn-outline-secondary, .btn.btn-outline-success, .btn.btn-outline-warning, .btn.btn-outline-info, .btn.btn-splash-outline, .rentals-guide-button:not(.primary):not(.secondary), .rentals-detail-button):is(:hover, :active) {
  color: var(--bohio-forest-dark); background: var(--bohio-green-soft); border-color: var(--bohio-forest);
}
body :is(.btn:disabled, .btn.disabled) { opacity: .55; box-shadow: none; }
/* All section selectors use the same filled tab, including nested sections. */
body:is(.operations-workspace, .tenant-dashboard-page, .contractor-dashboard-page) :is(.landlord-section-tabs .nav-link, .people-subtabs .nav-link, .tenant-dashboard-tab, .contractor-dashboard-tab, .contractor-appointments-tab, .rental-admin-tab) {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; padding: 9px 14px; font: 600 15px/1.4 var(--bohio-font-family);
  border: 1px solid var(--bohio-border); border-radius: var(--bohio-control-radius);
  background: var(--bohio-panel); color: var(--bohio-forest); box-shadow: none;
}
body:is(.operations-workspace, .tenant-dashboard-page, .contractor-dashboard-page) :is(.landlord-section-tabs .nav-link, .people-subtabs .nav-link, .tenant-dashboard-tab, .contractor-dashboard-tab, .contractor-appointments-tab, .rental-admin-tab):is(.active, [aria-selected="true"]) {
  color: var(--bohio-forest-dark); background: var(--bohio-chrome); border-color: var(--bohio-forest);
}
body:is(.operations-workspace, .tenant-dashboard-page, .contractor-dashboard-page) :is(.landlord-section-tabs .nav-link, .people-subtabs .nav-link, .tenant-dashboard-tab, .contractor-dashboard-tab, .contractor-appointments-tab, .rental-admin-tab):hover {
  color: var(--bohio-forest-dark); background: var(--bohio-green-soft); border-color: var(--bohio-forest);
}
body :is(.landlord-section-tabs, .people-subtabs, .tenant-dashboard-tabs, .contractor-dashboard-tabs, .contractor-appointments-tabs, .rental-admin-tabs) { gap: 8px; flex-wrap: wrap; border-bottom: 0; }
/* Maintenance sections use compact underline tabs. */
body.tenant-dashboard-page .tenant-dashboard-tabs,
body.contractor-dashboard-page :is(.contractor-dashboard-tabs, .contractor-appointments-tabs) {
  gap: 8px;
  border-bottom: 1px solid var(--bohio-border);
}
body.tenant-dashboard-page .tenant-dashboard-tabs .tenant-dashboard-tab,
body.contractor-dashboard-page :is(.contractor-dashboard-tabs, .contractor-appointments-tabs) :is(.contractor-dashboard-tab, .contractor-appointments-tab) {
  padding: 9px 4px;
  border: 0;
  border-bottom: 3px solid transparent;
  border-radius: 0;
  background: transparent;
  color: var(--bohio-forest-dark);
  box-shadow: none;
}
body.tenant-dashboard-page .tenant-dashboard-tabs .tenant-dashboard-tab:is(.active, [aria-selected="true"]),
body.contractor-dashboard-page :is(.contractor-dashboard-tabs, .contractor-appointments-tabs) :is(.contractor-dashboard-tab, .contractor-appointments-tab):is(.active, [aria-selected="true"]) {
  background: transparent;
  color: var(--bohio-forest-dark);
  border-bottom-color: var(--bohio-forest);
}
body.tenant-dashboard-page .tenant-dashboard-tabs .tenant-dashboard-tab:hover,
body.contractor-dashboard-page :is(.contractor-dashboard-tabs, .contractor-appointments-tabs) :is(.contractor-dashboard-tab, .contractor-appointments-tab):hover {
  background: transparent;
  color: var(--bohio-forest-dark);
  border-color: transparent;
}
body.tenant-dashboard-page .tenant-dashboard-tabs .tenant-dashboard-tab:is(.active, [aria-selected="true"]):hover,
body.contractor-dashboard-page :is(.contractor-dashboard-tabs, .contractor-appointments-tabs) :is(.contractor-dashboard-tab, .contractor-appointments-tab):is(.active, [aria-selected="true"]):hover {
  border-bottom-color: var(--bohio-forest);
}
body :is(.landlord-icon-button, .landlord-notification-summary, .tenant-quick-message-toggle, .contractor-quick-message-toggle, .contractor-notification-summary) { border-radius: var(--bohio-control-radius); }
body :is(.btn, .rentals-guide-button, .rentals-detail-button, .rental-apply-callout, .rental-promo-button):focus-visible { outline: 3px solid var(--bohio-forest); outline-offset: 3px; box-shadow: none; }

/* Slate-blue brand: white chrome, cool neutral surfaces. Legacy color token
   names remain aliases so older templates inherit the selected brand. */
body > .navbar.bg-primary, body.splash-page .navbar.bg-primary,
body.operations-workspace > .navbar, body.rentals-page-body .navbar.bg-primary,
body .app-footer, body.splash-page .app-footer, body.rentals-page-body .app-footer { background: #fff !important; }
.rentals-shell, .rentals-admin-shell, .rental-confirm-dialog {
  --r-card: var(--bohio-green-soft); --r-border: var(--bohio-border);
  --r-watermark: var(--bohio-chrome);
}
.splash-left-panel {
  background: var(--bohio-forest-dark);
  color: var(--bohio-panel);
}
.splash-left-panel h1,
.splash-left-panel .splash-feature-item strong { color: var(--bohio-brand-panel-heading); }
.splash-left-panel .splash-kicker,
.splash-left-panel .splash-lead,
.splash-left-panel .splash-feature-item div span { color: var(--bohio-brand-panel-text); }
.splash-left-panel .splash-divider { background: var(--bohio-chrome-dark); }
.splash-left-panel .splash-feature-icon {
  background: var(--bohio-forest);
  color: var(--bohio-panel);
}
.splash-access-card {
  background: var(--bohio-panel);
  border-color: var(--bohio-border);
  box-shadow: 0 8px 24px var(--bohio-shadow);
}
.splash-right-panel .splash-partner-entry { border-color: var(--bohio-border); }
.splash-feature-icon, .splash-access-icon, .splash-access-card-icon { color: var(--bohio-forest); }
body .rental-detail-icon-card .rental-detail-icon { background: var(--bohio-forest); }

/* Portal actions share the primary palette in every interaction state. */
body.contractor-dashboard-page .contractor-filter-apply,
body.contractor-dashboard-page .contractor-detail-primary-action {
  color: #fff;
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
  --bs-btn-active-color: #fff;
  --bs-btn-bg: var(--bohio-forest);
  --bs-btn-border-color: var(--bohio-forest);
  --bs-btn-hover-bg: var(--bohio-forest-dark);
  --bs-btn-hover-border-color: var(--bohio-forest-dark);
}
body:is(.tenant-dashboard-page, .contractor-dashboard-page) .btn:is(.btn-primary, .btn-success, .btn-secondary, .btn-warning, .btn-info):is(:hover, :focus-visible, :active) {
  background-color: var(--bohio-forest-dark);
  border-color: var(--bohio-forest-dark);
  color: #fff;
}

.tenant-completed-filter label { min-height: 44px; width: fit-content; cursor: pointer; padding-left: 0; }
.repair-timeline {
  padding: 20px;
  margin-bottom: 20px;
  border: 1px solid var(--bohio-border);
  border-radius: 12px;
  background: var(--bohio-panel);
}
.repair-timeline-heading { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; align-items: center; margin-bottom: 20px; }
.repair-timeline-heading h3 { margin: 0; font-size: 18px; }
.repair-timeline-heading > span, .repair-timeline-note { color: var(--bohio-muted); font-size: 13px; }
.repair-timeline-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); padding: 0; margin: 0; list-style: none; gap: 12px; }
.repair-timeline-step { min-width: 0; position: relative; }
.repair-timeline-step:not(:last-child)::after { content: ''; position: absolute; left: 36px; right: 0; top: 15px; height: 2px; background: var(--bohio-border); }
.repair-timeline-step.is-done::after { background: var(--bohio-forest); }
.repair-timeline-marker { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: 1px solid var(--bohio-border); border-radius: 50%; background: var(--bohio-page); color: var(--bohio-muted); font-weight: 700; margin-bottom: 10px; }
.is-done > .repair-timeline-marker { background: var(--bohio-forest); border-color: var(--bohio-forest); color: #fff; }
.is-current > .repair-timeline-marker { background: var(--bohio-green-soft); border: 2px solid var(--bohio-forest); color: var(--bohio-forest); }
.repair-timeline-copy { display: grid; gap: 4px; overflow-wrap: anywhere; font-size: 14px; }
.repair-timeline-copy strong { color: var(--bohio-ink); }
.repair-timeline-state, .repair-timeline-copy time, .repair-timeline-date { color: var(--bohio-muted); font-size: 13px; }
.is-current .repair-timeline-state { color: var(--bohio-forest); font-weight: 700; }
.repair-timeline-note { margin: 16px 0 0; }
/* Tenant requests read as a summary, progress, next step, then optional details. */
.tenant-repair-header { display: flex; justify-content: space-between; gap: 24px; align-items: flex-start; }
.tenant-repair-heading { min-width: 0; }
.tenant-repair-eyebrow { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 10px; font-size: 13px; }
.tenant-repair-header h3 { font-size: 19px; line-height: 1.4; margin: 0 0 6px; overflow-wrap: anywhere; }
.tenant-repair-property { margin: 0; color: var(--bohio-muted); font-size: 14px; }
.tenant-repair-meta { display: flex; gap: 24px; font-size: 14px; flex-shrink: 0; }
.tenant-repair-meta > span { display: grid; gap: 4px; }
.tenant-repair-meta-label { color: var(--bohio-muted); font-size: 12px; }
.tenant-requests-table .tenant-ticket-id-cell { padding: 22px; }
.tenant-row-timeline > td { padding: 0 22px 18px; background: var(--bohio-panel); }
.tenant-row-timeline .repair-timeline { margin: 0; background: var(--bohio-panel); }
.tenant-repair-next { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--bohio-border); font-size: 14px; }
.tenant-repair-next p { margin: 4px 0 0; color: var(--bohio-muted); }
.tenant-repair-next .btn { flex-shrink: 0; white-space: normal; }
.tenant-row-details .tenant-repair-details-hint { display: block; font-size: 12px; font-weight: 400; color: var(--bohio-muted); margin-top: 3px; }
.tenant-row-details > td { background: var(--bohio-panel); }
.tenant-row-details > td > details { margin: 0 22px 18px; border: 1px solid var(--bohio-border); border-radius: 10px; overflow: hidden; }
.tenant-row-details > td > details > summary { padding: 14px 16px; }
.tenant-row-details > td > details > summary:focus-visible { outline: 2px solid var(--bohio-forest); outline-offset: -3px; }
@media (max-width: 991px) {
  .tenant-repair-header { flex-direction: column; gap: 14px; }
  .tenant-repair-meta { flex-wrap: wrap; gap: 12px 24px; }
}
@media (max-width: 767px) {
  .tenant-requests-table .tenant-ticket-id-cell { padding: 16px; min-width: 0; }
  .tenant-row-timeline, .tenant-row-timeline > td { display: block; width: 100%; }
  .tenant-row-timeline > td { padding: 0 12px 12px; }
  .tenant-row-details > td > details { margin: 0 12px 16px; }
  .tenant-repair-next { flex-direction: column; align-items: stretch; }
  .repair-timeline { padding: 16px; }
  .repair-timeline-steps { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .repair-timeline-step { display: flex; gap: 12px; padding-bottom: 20px; }
  .repair-timeline-step:last-child { padding-bottom: 0; }
  .repair-timeline-marker { flex: 0 0 32px; margin: 0; }
  .repair-timeline-copy { padding-top: 4px; }
  .repair-timeline-step:not(:last-child)::after { left: 15px; right: auto; top: 36px; bottom: 4px; height: auto; width: 2px; }
}

/* Keep the mobile brand and logout controls readable. */
.operations-menu-toggle, .operations-menu-heading { display: none; }
.operations-menu-backdrop[hidden] { display: none; }
@media (max-width: 991px) {
  .navbar-brand { margin-right: 0; }
  .navbar-brand .brand-logo { flex-shrink: 0; }
  body.operations-workspace > .navbar .container:has(.app-nav-auth-actions) {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
  }
  body.operations-workspace .navbar-brand { gap: 4px !important; }
  body.operations-workspace .navbar-brand span { font-size: 14px; line-height: 1.3; white-space: normal; overflow-wrap: anywhere; min-width: 0; }
  body.operations-workspace .navbar-brand span:not(.company-initials) { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
  body.operations-workspace .navbar-brand .company-initials { flex-shrink: 0; width: 32px; height: 32px; }
  body.operations-workspace .navbar-brand .brand-logo { width: 32px; height: 40px; }
  .operations-menu-toggle, .operations-menu-close {
    display: inline-flex; align-items: center; justify-content: center;
    width: 44px; height: 44px; flex-shrink: 0; padding: 0;
    border: 1px solid var(--bohio-border); border-radius: 8px;
    background: var(--bohio-panel); color: var(--bohio-forest-dark);
  }
  body.operations-workspace .operations-sidebar { display: none; }
  body.operations-workspace.operations-menu-open { overflow: hidden; }
  body.operations-workspace.operations-menu-open .operations-sidebar {
    display: flex; flex-direction: column; align-items: stretch; gap: 16px;
    position: fixed; inset: 0 auto 0 0; z-index: 1080;
    width: min(320px, calc(100% - 32px)); height: 100dvh;
    padding: 16px; overflow-y: auto; overscroll-behavior: contain;
  }
  .operations-menu-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
  .operations-menu-close { font-size: 28px; }
  body.operations-workspace .operations-sidebar .operations-brand { display: flex; margin: 12px 0; }
  body.operations-workspace .operations-sidebar nav { display: grid; grid-template-columns: minmax(0, 1fr); margin: 0; gap: 8px; overflow: visible; }
  body.operations-workspace .operations-sidebar nav a { min-height: 48px; font-size: 16px; white-space: normal; }
  .operations-menu-backdrop:not([hidden]) { display: block; position: fixed; inset: 0; z-index: 1070; border: 0; background: rgba(36,55,70,.5); }
}

@media (max-width: 767px), (max-width: 991px) and (max-height: 500px) {
  /* Content must remain reachable on short screens and with larger text. */
  body.splash-page {
    height: auto;
    min-height: 100svh;
    max-height: none;
    overflow-y: auto;
  }
  body.splash-page main.container {
    flex: 1 0 auto;
    overflow: visible;
    padding-block: 16px !important;
  }
  body.splash-page .navbar,
  body.splash-page .app-footer { flex-shrink: 0; position: static; }
  body.splash-page .splash-hero { height: auto; min-height: min-content; overflow: visible; }
  body.splash-page .splash-access-button { min-height: 44px; }
}

@media (max-width: 767px) {
  .agent-ticket-list { overflow: visible; }
  .agent-ticket-list table, .agent-ticket-list tbody { display: block; width: 100%; }
  .agent-ticket-list thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .agent-ticket-list tbody tr { display: block; margin-bottom: 16px; border: 1px solid var(--bohio-border); border-radius: 8px; overflow: hidden; }
  .agent-ticket-list td { display: block; overflow-wrap: anywhere; }
  .agent-ticket-list td[data-label]::before { content: attr(data-label); display: block; font-weight: 600; color: var(--bohio-muted); font-size: 13px; }
  .ticket-detail-tab { min-height: 44px; }
  .bohio-date-picker-modal, .bohio-time-picker-modal { overflow-y: auto; }
}
/* Tenant onboarding: wrap content instead of clipping it or shrinking controls. */
.auth-verification-page :is(input:not([type='hidden']), button) { min-height: 44px; font-size: 16px; }
.company-setup-page { min-width: 0; overflow-wrap: anywhere; }
.company-setup-page .form-label { display: block; width: 100%; }
.company-setup-page :is(input:not([type='hidden']), select, textarea, .btn) { min-height: 44px; }
.company-setup-page :is(input, select, textarea) { font-size: 16px; max-width: 100%; }
.company-setup-page .btn { max-width: 100%; white-space: normal; }
@media (max-width: 575px) {
  .company-setup-page .btn { width: 100%; }
}
.navbar .container:has(.platform-header-brand) { justify-content: flex-start; flex-wrap: wrap; gap: 12px 24px; }
.platform-header-brand { display: flex; align-items: center; gap: 10px; color: var(--bohio-forest); flex-shrink: 0; }
.platform-header-brand img { width: 32px; height: 32px; object-fit: contain; }
.platform-header-brand strong { font-size: 14px; line-height: 1.3; }
.navbar .container:has(.platform-header-brand) .navbar-brand { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.company-invitation, .tenant-invitations-page { min-width: 0; overflow-wrap: anywhere; }
.company-settings-page { min-width: 0; }
.company-settings-page :is(.card-body, form, .d-flex > div) { min-width: 0; }
.company-settings-page .d-flex > span { min-width: 0; overflow-wrap: anywhere; }
.company-settings-page :is(input:not([type='checkbox']), select, button) { min-height: 44px; }
.company-settings-page :is(input:not([type='checkbox']), select) { font-size: 16px; }
.company-settings-page .company-members-table :is(select, button) { white-space: normal; }
@media (min-width: 768px) {
  .company-members-table td[data-label='Company role'] { min-width: 160px; }
  .company-members-table td[data-label='Access'] { min-width: 120px; }
  .company-members-table td[data-label='Person'] { overflow-wrap: anywhere; }
}
@media (max-width: 767px) {
  .company-settings-page .input-group { gap: 8px; }
  .company-settings-page #company-login-link { flex: 1 0 100%; width: 100%; border-radius: 6px; }
  .company-settings-page .input-group :is(button, a) { flex: 1; border-radius: 6px !important; }
  .company-settings-page :is(.company-members-table, .company-invitations-table),
  .company-settings-page :is(.company-members-table, .company-invitations-table) tbody { display: block; width: 100%; }
  .company-settings-page :is(.company-members-table, .company-invitations-table) thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .company-settings-page :is(.company-members-table, .company-invitations-table) tr { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; border: 1px solid var(--bohio-border); border-radius: 8px; padding: 12px; margin-bottom: 12px; }
  .company-settings-page :is(.company-members-table, .company-invitations-table) td { display: block; border: 0; padding: 0; min-width: 0; overflow-wrap: anywhere; }
  .company-settings-page td[data-label]::before { content: attr(data-label); display: block; font-weight: 600; font-size: 13px; margin-bottom: 4px; color: var(--bohio-muted); }
  .company-settings-page td[data-label='Action']::before { display: none; }
  .company-settings-page td[data-label] :is(select, button) { width: 100%; }
  .company-settings-page label:has(input[type='checkbox']) { min-height: 44px; padding: 8px 0; }
  .company-settings-page input[type='file'] { max-width: 100%; }
  .contractor-management-table td.admin-mobile-actions-cell:has(.contractor-edit-details[open]) { grid-column: 1 / -1; width: 100%; }
  .contractor-management-table .contractor-edit-details[open],
  .contractor-management-table .contractor-edit-details[open] .contractor-edit-form { min-width: 0; width: 100%; max-width: 100%; }
  .contractor-management-table .contractor-edit-form :is(input, select, button) { max-width: 100%; min-height: 44px; font-size: 16px; }
}
.company-invitation .btn, .tenant-invitations-page .btn,
.tenant-invite-form .btn { min-height: 44px; white-space: normal; }
.company-invitation input:not([type='checkbox']), .company-invitation select,
.tenant-invitations-page input, .tenant-invite-form input:not([type='hidden']) {
  min-height: 44px; font-size: 16px;
}
.company-invitation label:has(input[type='checkbox']) {
  min-height: 44px; padding: 8px 0; cursor: pointer;
}
.company-invitation :is(input, button, a):focus-visible,
.tenant-invite-form :is(input, button):focus-visible {
  outline: 3px solid var(--bohio-forest); outline-offset: 3px;
}
.login-page .navbar-brand { max-width: 100%; overflow-wrap: anywhere; }
.login-layout > * { min-width: 0; }
.platform-endorsement { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; text-decoration: none; white-space: nowrap; }
.platform-endorsement img { width: 24px; height: 24px; object-fit: contain; }

/* Platform identity stays readable above each company's own header colors. */
:root { --app-platform-header-height: 60px; }
.app-platform-header { position: sticky; top: 0; z-index: 1100; align-self: start; height: var(--app-platform-header-height); background: #fff; color: #243246; border-bottom: 1px solid #e5e7eb; color-scheme: light; }
.app-platform-header-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 58px; padding-top: 7px; padding-bottom: 7px; }
.app-platform-header .app-platform-brand { display: inline-flex; align-items: center; gap: 7px; color: #334155; font-size: 12px; text-decoration: none; white-space: nowrap; }
.app-platform-header .app-platform-brand:is(:hover, :visited) { color: #334155; }
.app-platform-brand img { width: 24px; height: 24px; object-fit: contain; flex-shrink: 0; }
.app-platform-brand strong { color: #243246; font-size: 14px; }
.app-platform-logout-form { margin: 0; flex-shrink: 0; }
.app-platform-header .app-platform-logout { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 7px 10px; border: 1px solid #dbe1e8; border-radius: 9px; background: #fff; color: #243246; font-size: 12px; font-weight: 600; }
.app-platform-header .app-platform-logout:hover { background: #f1f5f9; color: #243246; }
.app-platform-header :is(a, button):focus-visible { outline: 2px solid #243246; outline-offset: 2px; }
@media (max-width: 580px) {
  .app-platform-header-inner { padding: 6px 12px; gap: 8px; }
  .app-platform-header .app-platform-brand { gap: 5px; font-size: 11px; }
  .app-platform-brand strong { font-size: 13px; }
  .app-platform-brand img { width: 22px; height: 22px; }
  .app-platform-header .app-platform-logout { padding: 7px 8px; }
}
@media (min-width: 992px) {
  body.operations-workspace { grid-template-rows: auto auto 1fr auto; }
  body.operations-workspace > .app-platform-header { grid-column: 1 / -1; grid-row: 1; }
  body.operations-workspace .operations-sidebar { grid-row: 2 / 5; }
  body.operations-workspace > .navbar { grid-row: 2; }
  body.operations-workspace > main { grid-row: 3; }
  body.operations-workspace > .app-footer { grid-row: 4; }
  body.operations-workspace > .app-platform-header .container { max-width: none; padding-left: 24px; padding-right: 24px; }
}
@media print { .app-platform-header { display: none !important; } body.operations-workspace { display: block; } }
.navbar .container:has(.company-platform-wordmark) { justify-content: flex-start; gap: 8px 12px; }
.navbar .container:has(.company-platform-wordmark) .navbar-brand { margin-right: 0; }
.company-platform-wordmark { display: inline-flex; align-items: center; gap: 12px; color: var(--bohio-forest); font-size: 14px; font-weight: 600; white-space: nowrap; }
.navbar .container:has(.company-platform-wordmark) .app-nav-actions { margin-left: auto; }
body:is(.splash-page, .login-page) .navbar-brand { min-width: 0; max-width: 100%; }
body:is(.splash-page, .login-page) .navbar-company-name { min-width: 0; white-space: normal; overflow-wrap: anywhere; }
.splash-access-header h2 { max-width: 100%; overflow-wrap: anywhere; }
/* Public pages retain their own proportions instead of workspace chrome. */
body:is(.splash-page, .login-page) > .navbar.bg-primary {
  background: #fff !important;
  border-bottom: 0;
  box-shadow: none;
}
body:is(.splash-page, .login-page) > .app-footer {
  background: #fff;
  border-top: 0 !important;
}
.splash-right-panel .splash-partner-entry { border-top: 0; }
.login-layout { border: 0; }
.login-intro-footer { border-top: 0; }
.login-divider::before, .login-divider::after { display: none; }
.login-divider { justify-content: center; }
.operations-company { overflow-wrap: anywhere; }
@media (max-width: 575px) {
  .company-invitation .card-body { padding: 20px !important; }
  .company-invitation .btn, .tenant-invite-form .btn { width: 100%; }
  .tenant-invitations-page table { table-layout: fixed; width: 100%; }
  .tenant-invitations-page th, .tenant-invitations-page td { overflow-wrap: anywhere; }
}

/* One action palette for Bootstrap, public rentals, login, and billing. */
:root {
  --bohio-action: var(--company-primary, var(--bohio-forest));
  --bohio-action-hover: var(--company-dark, var(--bohio-forest-dark));
  --bohio-action-text: var(--company-on-primary, #fff);
  --bohio-action-ink: var(--company-ink, var(--bohio-forest));
  --bs-link-color-rgb: var(--company-ink-rgb, 54, 91, 115);
  --bs-link-hover-color-rgb: var(--company-dark-rgb, 36, 55, 70);
  --bohio-control-radius: 8px;
}
.btn, .button { border-radius: var(--bohio-control-radius); min-height: 44px; }
body .btn:is(.btn-logout,.btn-nav-primary,.btn-splash-nav-create,.btn-splash-primary){background:var(--bohio-action);border-color:var(--bohio-action);color:var(--bohio-action-text)}
body .btn:is(.btn-logout,.btn-nav-primary,.btn-splash-nav-create,.btn-splash-primary):is(:hover,:focus-visible,:active){background:var(--bohio-action-hover);border-color:var(--bohio-action-hover);color:#fff}
.btn:is(.btn-primary,.btn-success,.btn-secondary,.btn-info,.btn-warning),
.button:not(.secondary), .rental-promo-button, .rental-apply-callout {
  --bs-btn-bg: var(--bohio-action); --bs-btn-border-color: var(--bohio-action);
  --bs-btn-color: var(--bohio-action-text);
  --bs-btn-hover-bg: var(--bohio-action-hover); --bs-btn-hover-border-color: var(--bohio-action-hover);
  --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: var(--bohio-action-hover); --bs-btn-active-border-color: var(--bohio-action-hover);
  --bs-btn-active-color: #fff;
  background-color: var(--bohio-action); border-color: var(--bohio-action); color: var(--bohio-action-text);
}
.btn:is(.btn-primary,.btn-success,.btn-secondary,.btn-info,.btn-warning):is(:hover,:focus-visible,:active),
.button:not(.secondary):is(:hover,:focus-visible), .rental-promo-button:is(:hover,:focus-visible) {
  background-color:var(--bohio-action-hover);border-color:var(--bohio-action-hover);color:#fff;
}
.btn:is(.btn-outline-primary,.btn-outline-secondary,.btn-outline-info,.btn-outline-warning,.btn-outline-success) {
  --bs-btn-color:var(--bohio-action-ink);--bs-btn-border-color:var(--bohio-action-ink);
  --bs-btn-hover-bg:var(--bohio-action);--bs-btn-hover-border-color:var(--bohio-action);--bs-btn-hover-color:var(--bohio-action-text);
  --bs-btn-active-bg:var(--bohio-action);--bs-btn-active-border-color:var(--bohio-action);--bs-btn-active-color:var(--bohio-action-text);
}
@media(max-width:767px){.btn,.button{min-height:44px}input.form-control,select.form-select,textarea.form-control{font-size:16px}.btn-sm{min-height:40px}.rental-interest-grid{grid-template-columns:minmax(0,1fr)}.rental-interest-form{min-width:0}.rental-interest-form :is(input,select,textarea){width:100%;min-width:0;max-width:100%;font-size:16px}}

/* Welcome screen: use the shared production type scale with calmer headings. */
body.splash-page .splash-left-panel h1{font-size:clamp(2rem,3.2vw,3rem);line-height:1.08;max-width:14ch}
body.splash-page .splash-left-panel .splash-kicker{font-size:var(--bohio-type-small)}
body.splash-page .splash-left-panel .splash-lead{font-size:var(--bohio-type-body);line-height:var(--bohio-line-body)}
body.splash-page .splash-feature-item strong{font-size:var(--bohio-type-body-lg)}
body.splash-page .splash-feature-item div span{font-size:var(--bohio-type-small)}
body.splash-page .splash-access-header h2{font-size:clamp(1.5rem,2vw,1.75rem);line-height:var(--bohio-line-tight)}
body.splash-page .splash-access-copy h3{font-size:var(--bohio-type-card-title)}
body.splash-page .splash-access-header p,body.splash-page .splash-access-copy p{font-size:var(--bohio-type-body);line-height:var(--bohio-line-body)}
body.splash-page .splash-access-button,body.splash-page .btn-splash-nav-create{font-size:var(--bohio-type-small)}
body.splash-page .navbar-company-name{font-size:var(--bohio-type-section-title)}
@media(max-width:767px){body.splash-page .splash-access-header h2{font-size:1.5rem}body.splash-page .splash-access-copy h3{font-size:1rem}body.splash-page .splash-access-copy p{font-size:var(--bohio-type-small)}}

/* Shared heading scale across public entry points and company setup. */
:root{--bohio-type-hero:clamp(2rem,3.2vw,3rem);--bohio-type-welcome:clamp(1.5rem,2vw,1.75rem)}
body.splash-page .splash-left-panel h1{font-size:var(--bohio-type-hero)}
body.splash-page .splash-access-header h2{font-size:var(--bohio-type-welcome)}
body.login-page .login-intro h2{font-size:var(--bohio-type-welcome)}
body.login-page .login-panel h1{font-size:var(--bohio-type-page-title)}
body .company-setup-heading h1{font-size:var(--bohio-type-page-title)}
body .rental-public-home h1,body.billing-page .store-main .hero h1{font-size:var(--bohio-type-hero);line-height:var(--bohio-line-tight)}
body .rental-public-home h2{font-size:var(--bohio-type-welcome)}
body .rental-public-home h3{font-size:var(--bohio-type-card-title)}
body.billing-page{font-size:var(--bohio-type-body);line-height:var(--bohio-line-body)}
body.billing-page .store-main h1{font-size:var(--bohio-type-page-title)}
body.billing-page .store-main h2{font-size:var(--bohio-type-section-title)}
body.billing-page .store-main h3{font-size:var(--bohio-type-card-title)}
body.billing-page .store-main .lead{font-size:var(--bohio-type-body-lg)}
@media(max-width:767px){body .rental-public-home h1,body.billing-page .store-main .hero h1{font-size:2rem}body .rental-public-home h2{font-size:1.5rem}}
body.billing-page :is(input,select,textarea){font-size:16px}

/* Account administration leads the operations navigation. */
.operations-nav-group{grid-column:1/-1;min-width:0;width:100%}
body.operations-workspace .operations-dashboard-link{grid-column:1/-1;font-size:14px;font-weight:600;min-height:36px;padding:7px 8px;margin-bottom:4px}
body.operations-workspace .operations-nav-group>summary{display:flex;align-items:center;gap:6px;min-height:34px;padding:5px 8px;border-radius:8px;color:#fff;font-size:14px;font-weight:600;line-height:1.3;cursor:pointer;list-style:none}
.operations-nav-group>summary::-webkit-details-marker{display:none}
.operations-nav-group>summary>svg{flex-shrink:0}
.operations-nav-chevron{margin-left:auto;font-size:24px;line-height:1;transition:transform .15s}
.operations-nav-group[open] .operations-nav-chevron{transform:rotate(90deg)}
body.operations-workspace .operations-nav-group>summary:hover{background:var(--bohio-forest)}
.operations-nav-group>summary:focus-visible{outline:2px solid var(--bohio-chrome);outline-offset:2px}
.operations-nav-links{display:grid;gap:2px;margin:0 0 4px 12px;padding-left:6px;border-left:1px solid var(--bohio-green)}
body.operations-workspace .operations-sidebar nav{gap:2px}
body.operations-workspace .operations-company{padding:8px 10px;margin:12px 0}
body.operations-workspace .operations-nav-group .operations-nav-links a{font-size:14px;line-height:1.3;min-height:30px;padding:4px 8px;white-space:normal}
@media(max-width:991px){
  body.operations-workspace .operations-nav-group>summary,
  body.operations-workspace .operations-nav-group .operations-nav-links a{min-height:36px;padding-top:6px;padding-bottom:6px}
}

/* Compact header counters share the same footprint across workspaces. */
body .workspace-counters { gap: 8px; margin: 12px 0 16px; }
body .workspace-counters > :is(div, a, .agent-stat-filter) {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center;
  gap: 2px 10px; min-height: 58px; padding: 10px 12px; border-radius: 8px;
}
body .workspace-counters :is(strong, .agent-stat-count) { margin: 0; font-size: 22px; line-height: 1.2; }
body .workspace-counters :is(span, .agent-stat-label):not(.agent-stat-count) { font-size: 12px; line-height: 1.3; }
body .workspace-counters small { grid-column: 1 / -1; font-size: 11px; }
body.operations-workspace .operations-summary.workspace-counters a { padding: 10px 12px; min-height: 58px; gap: 2px 10px; }
@media (max-width: 767px) {
  body .workspace-counters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Company identity belongs on every printed application document. */
.company-print-heading{display:none}
@media print{.company-print-heading{display:block;font-size:20px;font-weight:700;color:#111;border-bottom:1px solid #aaa;padding-bottom:8px;margin-bottom:14px;break-after:avoid}}

/* Compact navigation stays below the pinned platform identity strip. */
body.operations-workspace .operations-sidebar { padding: 10px; gap: 6px; }
body.operations-workspace .operations-sidebar nav { gap: 2px; align-content: start; }
body.operations-workspace .operations-nav-group { margin: 0; padding: 0; }
body.operations-workspace .operations-sidebar .operations-dashboard-link { min-height: 32px; padding: 5px 8px; margin: 0; font-size: 14px; }
body.operations-workspace .operations-nav-group > summary { min-height: 32px; padding: 4px 8px; font-size: 14px; }
body.operations-workspace .operations-nav-group .operations-nav-links a { min-height: 30px; padding: 4px 8px; font-size: 14px; }
body.operations-workspace .operations-nav-links { gap: 0; margin-bottom: 4px; }
body.operations-workspace .operations-company { margin: 0 0 6px; }
body.operations-workspace .operations-sidebar-footer { font-size: 11px; line-height: 1.4; padding-top: 8px; }
@media(min-width:992px) {
 body.operations-workspace { grid-template-rows: var(--app-platform-header-height) auto 1fr auto; }
 body.operations-workspace .operations-sidebar { position: sticky; top: var(--app-platform-header-height); height: calc(100dvh - var(--app-platform-header-height)); align-self: start; overflow-y: auto; }
}
@media(max-width:991px) {
 body.operations-workspace.operations-menu-open .operations-sidebar { top: var(--app-platform-header-height); bottom: 0; height: calc(100dvh - var(--app-platform-header-height)); padding: 10px 12px; gap: 8px; }
 .operations-menu-backdrop:not([hidden]) { top: var(--app-platform-header-height); }
 .operations-menu-heading { min-height: 36px; }
 .operations-menu-close { width: 36px; height: 36px; min-height: 36px; }
}
