.dashboard-page {
  --dashboard-ink: #15303f;
  --dashboard-muted: #60768a;
  --dashboard-line: #dbe5ed;
  --dashboard-blue: #0081ae;
  color: var(--dashboard-ink);
  max-width: 1400px;
  margin: auto;
}
.dashboard-page button { color: var(--dashboard-ink); }
.dashboard-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 28px;
}
.dashboard-eyebrow { color: var(--dashboard-blue); font-size: 11px; font-weight: 750; letter-spacing: 1.7px; margin-bottom: 12px; }
.dashboard-title h1 { font-size: 32px; font-weight: 750; letter-spacing: -.7px; }
.dashboard-title p { color: var(--dashboard-muted); margin-top: 9px; font-size: 13px; line-height: 1.6; }
.dashboard-title p:first-letter { text-transform: uppercase; }
.dashboard-title-actions { display: flex; align-items: end; gap: 13px; flex: none; }
.dashboard-date-field { display: grid; gap: 5px; font-size: 10px; color: var(--dashboard-muted); }
.dashboard-date-field input { max-width: 151px; min-height: 44px; border: 1px solid var(--dashboard-line); border-radius: 8px; padding: 9px 10px; background: white; color: var(--dashboard-ink); font-size: 12px; }
.dashboard-page .dashboard-new-booking { display: inline-flex; align-items: center; justify-content: center; gap: 8px; color: white; background: var(--dashboard-ink); border-color: var(--dashboard-ink); min-height: 44px; font-size: 13px; }
.dashboard-page .dashboard-new-booking:hover { background: #234c60; }
.dashboard-new-booking svg { width: 20px; height: 20px; }
.dashboard-kpis { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; margin-bottom: 24px; }
.dashboard-kpis:has(>.dashboard-kpi:nth-child(2):last-child) { grid-template-columns: repeat(2,minmax(0,1fr)); }
.dashboard-kpi { display: block; min-width: 0; background: white; border: 1px solid var(--dashboard-line); border-radius: 15px; padding: 22px; text-align: left; font-weight: 400; }
button.dashboard-kpi:hover { border-color: #bad0df; background: #faffff; }
.dashboard-kpi>div { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 12px; color: var(--dashboard-muted); line-height: 1.5; }
.dashboard-kpi svg { width: 18px; height: 18px; color: #88a4b9; flex: none; }
.dashboard-kpi strong { display: block; font-size: clamp(25px,2.4vw,34px); font-weight: 750; letter-spacing: -.7px; line-height: 1.4; margin: 14px 0 8px; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.dashboard-kpi small { display: block; font-size: 11px; line-height: 1.7; color: var(--dashboard-muted); }
.dashboard-page .dashboard-kpi.featured { background: var(--dashboard-ink); border-color: var(--dashboard-ink); color: #5ad0f2; }
.dashboard-kpi.featured>div,.dashboard-kpi.featured small { color: #b3cad8; }
button.dashboard-kpi.featured:hover { background: #234c60; }
.dashboard-main-grid { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(0,1fr); gap: 22px; margin-bottom: 24px; align-items: start; }
.dashboard-main-grid.calendar-only { grid-template-columns: 1fr; }
.dashboard-panel { background: white; border: 1px solid var(--dashboard-line); border-radius: 15px; overflow: hidden; min-width: 0; }
.dashboard-panel-heading { display: flex; justify-content: space-between; align-items: center; gap: 14px; border-bottom: 1px solid var(--dashboard-line); padding: 22px 24px; }
.dashboard-panel-heading h2 { font-size: 19px; line-height: 1.5; font-weight: 700; }
.dashboard-panel-heading p { margin-top: 4px; color: var(--dashboard-muted); font-size: 12px; line-height: 1.6; }
.dashboard-page .dashboard-text-link { border: 0; background: transparent; padding: 7px 0; color: var(--dashboard-blue); min-height: 44px; font-size: 12px; font-weight: 500; white-space: nowrap; }
.dashboard-text-link:hover { text-decoration: underline; }
.dashboard-page .dashboard-task-link { background: #e6f5fd; color: #007eaa; border: 0; min-height: 38px; font-size: 12px; padding: 7px 10px; }
.dashboard-booking-row { display: grid; grid-template-columns: 58px minmax(0,1fr) auto 14px; gap: 18px; align-items: center; width: 100%; border: 0; border-bottom: 1px solid #e9eff4; border-radius: 0; background: transparent; padding: 21px 24px; min-width: 0; text-align: left; font-weight: 400; }
.dashboard-booking-row:hover { background: #f6fafc; }
.dashboard-booking-row:last-child { border-bottom: 0; }
.dashboard-booking-time { display: grid; gap: 5px; font-variant-numeric: tabular-nums; font-size: 12px; }
.dashboard-booking-time small { font-size: 11px; color: var(--dashboard-muted); }
.dashboard-booking-copy { display: grid; gap: 4px; min-width: 0; border-left: 4px solid #30b5e5; padding: 3px 0 3px 16px; }
.dashboard-booking-row.lavvo .dashboard-booking-copy { border-color: #9f7bc3; }
.dashboard-booking-row.clubhouse .dashboard-booking-copy { border-color: #53ac88; }
.dashboard-booking-row.trailer .dashboard-booking-copy { border-color: #ab944d; }
.dashboard-booking-copy strong { font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.dashboard-booking-copy small { color: var(--dashboard-muted); font-size: 11px; line-height: 1.65; overflow-wrap: anywhere; }
.dashboard-multiday { display: block; margin-top: 4px; }
.dashboard-status { background: #edf4fa; color: #42647d; font-size: 10px; font-weight: 650; line-height: 1.45; padding: 6px 8px; border-radius: 5px; max-width: 130px; text-align: center; }
.dashboard-status.confirmed { background: #e7f5ee; color: #25734f; }
.dashboard-status.requested { background: #fff3df; color: #986617; }
.dashboard-chevron { display: flex; color: #8aa4b9; }
.dashboard-chevron svg { width: 13px; height: 18px; }
.dashboard-booking-legend { padding: 16px 24px; border-top: 1px solid var(--dashboard-line); display: flex; flex-wrap: wrap; gap: 12px 17px; font-size: 10px; color: var(--dashboard-muted); }
.dashboard-booking-legend span:before { content: ''; display: inline-block; width: 8px; height: 8px; margin-right: 7px; background: #30b5e5; border-radius: 2px; }
.dashboard-booking-legend .lavvo:before { background: #9f7bc3; }
.dashboard-booking-legend .clubhouse:before { background: #53ac88; }
.dashboard-booking-legend .trailer:before { background: #ab944d; }
.dashboard-empty { min-height: 184px; padding: 32px 24px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 10px; }
.dashboard-empty>svg { width: 30px; height: 30px; color: #87a1b4; margin-bottom: 4px; }
.dashboard-empty b { font-size: 14px; font-weight: 600; }
.dashboard-empty p { font-size: 12px; color: var(--dashboard-muted); line-height: 1.7; }
.dashboard-empty.followup-empty>svg { background: #edf8f1; color: #488c67; padding: 8px; width: 40px; height: 40px; border-radius: 50%; }
.dashboard-followup-row { display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: start; gap: 13px; width: 100%; padding: 20px 22px; border: 0; border-bottom: 1px solid #e9eff4; border-radius: 0; background: transparent; text-align: left; font-weight: 400; }
.dashboard-followup-row:hover { background: #f6fafc; }
.dashboard-followup-row:last-child { border-bottom: 0; }
.dashboard-task-icon { height: 34px; width: 34px; padding: 8px; background: #fff3dc; border-radius: 9px; color: #a66f17; }
.dashboard-task-icon svg { width: 100%; height: 100%; }
.dashboard-task-icon.invoice,.dashboard-task-icon.shield { background: #e4f5fd; color: #0485ae; }
.dashboard-followup-row.overdue .dashboard-task-icon { background: #fff0e4; color: #a65623; }
.dashboard-followup-row>span:last-child { min-width: 0; }
.dashboard-followup-row strong { display: block; font-size: 12px; line-height: 1.6; }
.dashboard-followup-row b { display: block; color: #3e5c70; font-size: 11px; font-weight: 500; margin-top: 3px; line-height: 1.5; overflow-wrap: anywhere; }
.dashboard-followup-row small { display: block; color: var(--dashboard-muted); font-size: 11px; line-height: 1.7; margin-top: 4px; overflow-wrap: anywhere; }
.dashboard-followup-row em { display: flex; align-items: center; gap: 5px; font-style: normal; color: var(--dashboard-blue); font-size: 11px; margin-top: 9px; }
.dashboard-followup-row em svg { width: 11px; height: 11px; }
.dashboard-page .dashboard-show-all { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; border: 0; border-top: 1px solid var(--dashboard-line); border-radius: 0; background: #fafcfe; color: var(--dashboard-blue); font-size: 12px; font-weight: 500; padding: 13px; }
.dashboard-show-all svg { width: 12px; height: 16px; }
.dashboard-quick-booking { margin-bottom: 24px; }
.dashboard-panel-caption { font-size: 11px; color: var(--dashboard-muted); white-space: nowrap; }
.dashboard-quick-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; padding: 20px; }
.dashboard-quick-grid:has(>button:nth-child(5)) { grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); }
.dashboard-quick-grid>button { display: flex; align-items: center; gap: 10px; border-color: var(--dashboard-line); padding: 17px 13px; min-width: 0; min-height: 75px; text-align: left; font-weight: 400; background: #fff; }
.dashboard-quick-grid>button:hover,.dashboard-quick-grid>button[aria-expanded=true] { border-color: #98bfce; background: #f4fbff; }
.dashboard-quick-grid svg { width: 22px; height: 22px; flex: none; color: var(--dashboard-blue); }
.dashboard-quick-grid svg:last-child { width: 12px; height: 16px; color: #8aa4b9; margin-left: auto; }
.dashboard-quick-grid span { min-width: 0; }
.dashboard-quick-grid b { display: block; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.dashboard-quick-grid small { display: block; color: var(--dashboard-muted); font-size: 10px; margin-top: 2px; line-height: 1.6; overflow-wrap: anywhere; }
.dashboard-resource-choice { padding: 0 20px 20px; }
.dashboard-resource-choice>div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 0; border-top: 1px solid var(--dashboard-line); }
.dashboard-resource-choice b { font-size: 12px; }
.dashboard-page .dashboard-close-choice { border: 0; background: transparent; font-size: 20px; line-height: 1; }
.dashboard-resource-buttons { display: grid; grid-template-columns: repeat(auto-fit,minmax(160px,1fr)); gap: 8px; }
.dashboard-resource-buttons>button { display: flex; align-items: center; justify-content: space-between; gap: 9px; text-align: left; font-size: 11px; border-color: var(--dashboard-line); font-weight: 500; }
.dashboard-resource-buttons svg { width: 11px; height: 14px; flex: none; color: #8aa4b9; }
.dashboard-cafe { margin-bottom: 20px; }
.dashboard-cafe .dashboard-panel-heading { padding-top: 18px; padding-bottom: 18px; }
.dashboard-cafe-body { display: flex; align-items: center; gap: 15px; padding: 20px 24px; }
.dashboard-cafe-icon { color: var(--dashboard-blue); background: #e8f5fc; border-radius: 10px; padding: 11px; height: 44px; width: 44px; flex: none; }
.dashboard-cafe-icon svg { width: 100%; height: 100%; }
.dashboard-cafe-body>div { min-width: 0; }
.dashboard-cafe-body b { display: block; font-size: 21px; line-height: 1.5; font-weight: 700; }
.dashboard-cafe-body small { display: block; color: var(--dashboard-muted); font-size: 11px; line-height: 1.8; }
.dashboard-cafe-body>p { margin-left: auto; max-width: 320px; color: var(--dashboard-muted); font-size: 11px; line-height: 1.8; }
.dashboard-data-time { display: flex; align-items: center; justify-content: flex-end; gap: 14px; color: #8a9aa8; font-size: 10px; }
.dashboard-data-time .dashboard-text-link { font-size: 11px; }
.dashboard-page .error { margin-top: 16px; line-height: 1.7; }
.dashboard-page [data-dashboard-retry] { margin-top: 18px; }
@media(max-width:1200px) {
  .dashboard-kpi { padding: 19px; }
  .dashboard-main-grid { grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); gap: 18px; }
  .dashboard-booking-row { padding: 19px 20px; gap: 12px; grid-template-columns: 46px minmax(0,1fr) auto 12px; }
  .dashboard-booking-copy { padding-left: 12px; }
  .dashboard-status { max-width: 100px; font-size: 9px; }
  .dashboard-panel-heading { padding: 20px; }
  .dashboard-quick-grid { gap: 9px; }
  .dashboard-quick-grid>button { gap: 7px; padding: 15px 10px; }
  .dashboard-quick-grid svg:last-child { display: none; }
}
@media(max-width:900px) {
  .dashboard-title { align-items: flex-start; }
  .dashboard-title-actions { gap: 9px; }
  .dashboard-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
  .dashboard-kpi strong { font-size: 32px; }
  .dashboard-main-grid { grid-template-columns: 1fr; }
  .dashboard-quick-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dashboard-cafe-body { flex-wrap: wrap; }
  .dashboard-cafe-body>p { max-width: none; width: 100%; margin-left: 59px; }
}
@media(max-width:600px) {
  .dashboard-title { flex-direction: column; gap: 18px; margin-bottom: 22px; }
  .dashboard-title h1 { font-size: 29px; }
  .dashboard-eyebrow { font-size: 10px; letter-spacing: 1.5px; margin-bottom: 9px; }
  .dashboard-title p { font-size: 12px; }
  .dashboard-title-actions { width: 100%; justify-content: space-between; align-items: end; }
  .dashboard-page .dashboard-new-booking { font-size: 12px; min-height: 44px; }
  .dashboard-date-field input { max-width: 155px; }
  .dashboard-kpis { gap: 10px; margin-bottom: 18px; }
  .dashboard-kpi { padding: 16px 14px; border-radius: 12px; }
  .dashboard-kpi>div { font-size: 11px; gap: 6px; }
  .dashboard-kpi svg { width: 15px; height: 15px; }
  .dashboard-kpi strong { font-size: 27px; letter-spacing: -.7px; margin-top: 12px; margin-bottom: 6px; }
  .dashboard-kpi small { font-size: 10px; }
  .dashboard-main-grid { gap: 18px; margin-bottom: 18px; }
  .dashboard-panel { border-radius: 12px; }
  .dashboard-panel-heading { padding: 18px; gap: 10px; }
  .dashboard-panel-heading h2 { font-size: 17px; }
  .dashboard-panel-heading p { font-size: 11px; }
  .dashboard-page .dashboard-text-link { font-size: 11px; }
  .dashboard-page .dashboard-task-link { font-size: 11px; min-height: 44px; }
  .dashboard-booking-row { grid-template-columns: 40px minmax(0,1fr) 10px; gap: 10px; padding: 18px 15px; }
  .dashboard-booking-time { grid-column: 1; grid-row: 1/3; font-size: 11px; align-self: start; padding-top: 4px; }
  .dashboard-booking-time small { font-size: 10px; }
  .dashboard-booking-copy { grid-column: 2; grid-row: 1; border-left-width: 3px; padding-left: 10px; }
  .dashboard-booking-copy strong { font-size: 12px; }
  .dashboard-booking-copy small { font-size: 10px; }
  .dashboard-status { grid-column: 2; grid-row: 2; width: fit-content; max-width: none; margin-left: 13px; margin-top: -3px; font-size: 9px; padding: 5px 7px; text-align: left; }
  .dashboard-chevron { grid-column: 3; grid-row: 1/3; }
  .dashboard-chevron svg { width: 11px; }
  .dashboard-booking-legend { padding: 15px; gap: 9px 13px; font-size: 9px; }
  .dashboard-followup-row { padding: 18px; }
  .dashboard-quick-booking { margin-bottom: 18px; }
  .dashboard-quick-booking .dashboard-panel-heading p { margin-top: 5px; }
  .dashboard-panel-caption { display: none; }
  .dashboard-quick-grid { padding: 14px; gap: 9px; }
  .dashboard-quick-grid>button { padding: 13px 10px; min-height: 83px; gap: 8px; }
  .dashboard-quick-grid>button>svg { width: 19px; height: 19px; }
  .dashboard-quick-grid b { font-size: 11px; }
  .dashboard-quick-grid small { font-size: 9px; }
  .dashboard-resource-choice { padding: 0 15px 15px; }
  .dashboard-resource-buttons { grid-template-columns: 1fr; }
  .dashboard-cafe-body { padding: 18px; gap: 12px; }
  .dashboard-cafe-body b { font-size: 20px; }
  .dashboard-cafe-body small { font-size: 10px; }
  .dashboard-cafe-body>p { margin-left: 0; font-size: 10px; }
  .dashboard-data-time { justify-content: space-between; gap: 6px; }
}
@media(prefers-reduced-motion:reduce) {
  .dashboard-page * { scroll-behavior: auto; }
}

.dashboard-test { display:inline-block; margin-left:7px; padding:2px 5px; border-radius:4px; background:#fff1d5; color:#865810; font-size:9px; vertical-align:middle; letter-spacing:.4px; }
