/* Dashboard Performance (redesign 9/29, after the approved demo): the
   three-column layout, the Revenue card, the revenue-by-month chart, the
   Month by month bars, the current-month insight, the Financials card and
   the full-width Monthly detail table. Everything under "More numbers" keeps
   its markup and takes the same card chrome. Scoped to .yw-dashboard-performance;
   every colour has a [data-theme-root].dark variant at the foot. */

/* ---- the shared card chrome ------------------------------------------- */
.yw-dashboard-performance .yw-perf-card { position: relative; min-width: 0; margin: 0; border: 1px solid #e2e1e4; border-radius: 24px; background: #fbfbfb; padding: 23px; box-shadow: 0 2px 3px rgba(0, 0, 0, .008); }
.yw-dashboard-performance .yw-perf-card-head { display: flex; align-items: center; justify-content: space-between; gap: 9px; }
.yw-dashboard-performance .yw-perf-h2 { margin: 0; font-size: 19px; line-height: 1.25; font-weight: 500; letter-spacing: -.02em; color: #202024; }
.yw-dashboard-performance .yw-perf-sub { margin: 3px 0 0; font-size: 11px; line-height: 1.5; color: #929097; }
.yw-dashboard-performance .yw-perf-muted { color: #929097; }
.yw-dashboard-performance .yw-perf-note { margin-top: 14px; font-size: 12px; line-height: 1.55; color: #87818c; }
.yw-dashboard-performance .yw-perf-text-link { display: inline-flex; align-items: center; gap: 4px; flex-shrink: 0; font-size: 11px; font-weight: 600; color: #8553c2; white-space: nowrap; }
.yw-dashboard-performance .yw-perf-text-link:hover, .yw-dashboard-performance .yw-perf-text-link:focus-visible { text-decoration: underline; }
/* The round "···" button: the info dot's own trigger, so the explanation,
   its Escape handling and its source link are the ones every tile has. */
.yw-dashboard-performance .yw-perf-more { flex-shrink: 0; }
.yw-dashboard-performance .yw-perf-more > span > button { width: 35px; height: 35px; border-radius: 50%; border-color: #e4e2e6; font-size: 0; color: #4b4650; }
.yw-dashboard-performance .yw-perf-more > span > button::after { content: "···"; font-size: 17px; line-height: 1; letter-spacing: 1px; }
.yw-dashboard-performance .yw-perf-more > span > button:hover { background: #eeeeee; }
.yw-dashboard-performance .yw-perf-more > span > button[aria-expanded="true"] { background: #52525b; color: #ffffff; }

/* ---- the striped track --------------------------------------------------- */
.yw-dashboard-performance .yw-perf-track { position: relative; height: 17px; border-radius: 4px; background: #eeebf0; }
.yw-dashboard-performance .yw-perf-track-fill { display: block; height: 100%; max-width: 100%; border-radius: 3px; background: repeating-linear-gradient(125deg, #d763a1 0 2px, #f5d7e7 2px 4px); transform-origin: left; animation: yw-perf-scale-in 1s both; }
.yw-dashboard-performance .yw-perf-track[data-met] .yw-perf-track-fill { background: repeating-linear-gradient(125deg, #aaa4b0 0 2px, #e6e2ea 2px 4px); }
.yw-dashboard-performance .yw-perf-track-target { position: absolute; top: -3px; width: 1px; height: 23px; background: #8e7c99; }
@keyframes yw-perf-scale-in { from { transform: scaleX(0); } to { transform: scaleX(1); } }

/* ---- the layout ------------------------------------------------------------ */
.yw-dashboard-performance .yw-performance-layout { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(0, 1.06fr) minmax(0, 1fr); gap: 16px; align-items: stretch; margin-top: 14px; }
.yw-dashboard-performance .yw-perf-column { display: flex; min-width: 0; flex-direction: column; gap: 16px; }
.yw-dashboard-performance .yw-perf-column > * { min-width: 0; margin-top: 0; }
.yw-dashboard-performance .yw-perf-full { grid-column: 1 / -1; min-width: 0; margin-top: 0; }
.yw-dashboard-performance .yw-perf-full > * { margin-top: 0; }
/* A streamed island's boundary wrapper sits between the column and its card;
   the chart wrapper stretches so the card can fill the column. */
.yw-dashboard-performance .yw-perf-column > [data-zone="perf-chart"] { display: flex; flex: 1 1 auto; flex-direction: column; }
.yw-dashboard-performance .yw-perf-column > [data-zone="perf-chart"] > * { flex: 1 1 auto; }
.yw-dashboard-performance .yw-perf-column > [data-zone="perf-tiles"] { display: flex; flex: 1 1 auto; flex-direction: column; }
.yw-dashboard-performance .yw-perf-column > [data-zone="perf-tiles"] > * { flex: 1 1 auto; }

/* ---- the Revenue card ---------------------------------------------------- */
.yw-dashboard-performance .yw-annual-card { min-height: 432px; }
.yw-dashboard-performance .yw-annual-value { margin: 19px 0 8px; font-size: clamp(38px, 3.6vw, 51px); line-height: 1.17; font-weight: 500; letter-spacing: -.053em; color: #202024; white-space: nowrap; }
.yw-dashboard-performance .yw-annual-status { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 11px; }
.yw-dashboard-performance .yw-perf-pill { display: inline-flex; align-items: center; gap: 5px; border-radius: 20px; background: #ffffff; box-shadow: 0 2px 8px rgba(0, 0, 0, .025); padding: 5px 9px; font-size: 11px; color: #5f5868; }
.yw-dashboard-performance .yw-perf-pill[data-direction="bad"] { color: #b26241; }
.yw-dashboard-performance .yw-perf-pill[data-direction="good"] { color: #279876; }
.yw-dashboard-performance .yw-annual-track { height: 12px; border-radius: 6px; margin-top: 24px; background: #eee9f2; }
.yw-dashboard-performance .yw-annual-track .yw-perf-track-fill { border-radius: 6px; background: repeating-linear-gradient(125deg, #d966a5 0 2px, #f6daea 2px 4px); }
.yw-dashboard-performance .yw-annual-track .yw-perf-track-target { top: -4px; height: 20px; background: #927f9d; }
.yw-dashboard-performance .yw-perf-track-labels { display: flex; justify-content: space-between; gap: 8px; margin: 7px 0 16px; font-size: 10px; color: #8f8996; }
.yw-dashboard-performance .yw-perf-rows { margin-top: 4px; }
.yw-dashboard-performance .yw-perf-row-stat { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; border-top: 1px solid #eae8ec; padding: 11px 0; font-size: 12px; color: #87818c; }
.yw-dashboard-performance .yw-perf-row-stat strong { font-size: 14px; font-weight: 500; color: #343039; }

/* ---- the revenue-by-month chart ----------------------------------------- */
.yw-dashboard-performance .yw-perf-chart-card { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 360px; }
/* contain: size keeps the canvas from feeding its own height back into the
   flex item, which is the loop Chart.js warns about; the box takes the room
   the column leaves it and never less than the demo's 265px. */
.yw-dashboard-performance .yw-perf-chart-box { position: relative; flex: 1 1 auto; min-width: 0; min-height: 265px; margin-top: 22px; contain: size; overflow: hidden; }
/* overflow: hidden is the width guard: Chart.js sizes the canvas from its
   parent, and until it catches a shrink (viewport resize, rail collapse) the
   old wider canvas would otherwise push the whole page into a horizontal
   scroll (seen at 1280 and on a phone). The box clips it instead. */
.yw-dashboard-performance .yw-chart-selection { display: grid; flex-shrink: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; margin-top: 20px; padding-top: 16px; border-top: 1px solid #e6deeb; }
.yw-dashboard-performance .yw-chart-selection > div { display: flex; flex-direction: column; gap: 3px; }
.yw-dashboard-performance .yw-chart-selection span { color: #95899f; font-size: 11px; }
.yw-dashboard-performance .yw-chart-selection strong { color: #29232e; font-size: 17px; font-weight: 500; letter-spacing: -.02em; }

/* ---- the Month by month bars --------------------------------------------- */
.yw-dashboard-performance .yw-perf-bars-card { height: 100%; }
.yw-dashboard-performance .yw-month-bars { margin-top: 15px; }
.yw-dashboard-performance .yw-month-bar { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; width: 100%; border-bottom: 1px solid #e9e3ed; padding: 15px 0; text-align: left; color: inherit; text-decoration: none; border-radius: 6px; }
.yw-dashboard-performance .yw-month-bar:last-child { border-bottom: 0; }
.yw-dashboard-performance .yw-month-bar:focus-visible { outline: 2px solid #8e4af0; outline-offset: 2px; }
.yw-dashboard-performance .yw-month-bar-name { align-self: center; font-size: 14px; color: #73627e; }
.yw-dashboard-performance .yw-month-bar-name em { margin-left: 6px; border-radius: 4px; background: #eee6f6; padding: 3px; font-size: 8px; font-style: normal; font-weight: 600; letter-spacing: .04em; color: #aa8fbc; vertical-align: middle; }
.yw-dashboard-performance .yw-month-bar-actual { text-align: right; font-size: 23px; line-height: 1.1; letter-spacing: -.03em; color: #202024; }
.yw-dashboard-performance .yw-month-bar-actual small { display: block; margin-bottom: 2px; font-size: 9px; letter-spacing: 0; color: #a699ad; }
.yw-dashboard-performance .yw-month-bar:hover .yw-month-bar-actual { color: #7c3aed; }
.yw-dashboard-performance .yw-month-bar > .yw-perf-track { grid-column: 1 / -1; margin: 5px 0 1px; }
.yw-dashboard-performance .yw-month-bar-target, .yw-dashboard-performance .yw-month-bar-gap { font-size: 10px; color: #a092a9; }
.yw-dashboard-performance .yw-month-bar-gap { text-align: right; color: #cb729f; }
.yw-dashboard-performance .yw-month-bar[data-met] .yw-month-bar-gap { color: #908697; }

/* ---- the current-month insight ------------------------------------------ */
.yw-dashboard-performance .yw-perf-insight { isolation: isolate; overflow: hidden; min-height: 431px; border: 0; padding: 0; background: #e9dff9; color: #37234f; }
.yw-dashboard-performance .yw-perf-insight-art { position: absolute; inset: 0; z-index: -2; background-color: #f2eafa; background-repeat: no-repeat; background-position: center bottom; background-size: auto 80%; }
.yw-dashboard-performance .yw-perf-insight-art[data-art="coast"] { background-image: url("/dashboard-landscapes/coast-day.webp"); }
.yw-dashboard-performance .yw-perf-insight::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(247, 240, 255, .96) 0%, rgba(245, 235, 255, .94) 26%, rgba(242, 231, 255, .79) 46%, rgba(230, 212, 255, .06) 76%, rgba(86, 37, 146, .13) 100%); }
.yw-dashboard-performance .yw-perf-insight-content { display: flex; min-height: 431px; flex-direction: column; padding: 22px 23px; }
.yw-dashboard-performance .yw-perf-insight-top { display: flex; align-items: center; justify-content: space-between; font-size: 10px; color: #85669f; }
.yw-dashboard-performance .yw-perf-insight-tag { display: inline-flex; align-items: center; gap: 5px; border: 1px solid rgba(255, 255, 255, .7); border-radius: 20px; background: rgba(255, 255, 255, .4); padding: 5px 9px; color: #715099; }
.yw-dashboard-performance .yw-perf-insight-value { margin: 23px 0 0; font-size: clamp(38px, 3.5vw, 49px); line-height: 1.1; font-weight: 400; letter-spacing: -.045em; white-space: nowrap; }
.yw-dashboard-performance .yw-perf-insight h3 { margin: 12px 0 0; max-width: 280px; font-size: 23px; line-height: 1.2; font-weight: 450; letter-spacing: -.035em; }
.yw-dashboard-performance .yw-perf-insight-detail { margin: 10px 0 0; max-width: 280px; font-size: 11px; line-height: 1.5; color: #725289; }
.yw-dashboard-performance .yw-perf-insight-bottom { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 20px; }
.yw-dashboard-performance .yw-perf-insight-link { display: inline-flex; align-items: center; gap: 8px; border: 1px solid rgba(255, 255, 255, .8); border-radius: 11px; background: rgba(255, 255, 255, .85); padding: 10px 12px; font-size: 11px; color: #503268; box-shadow: 0 4px 12px rgba(78, 32, 139, .07); transition: transform 160ms, background 160ms; }
.yw-dashboard-performance .yw-perf-insight-link:hover, .yw-dashboard-performance .yw-perf-insight-link:focus-visible { background: #ffffff; transform: translateY(-2px); outline: 2px solid #8e4af0; }

/* ---- the Financials card -------------------------------------------------- */
.yw-dashboard-performance .yw-finance-card { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 380px; }
.yw-dashboard-performance .yw-finance-lines { margin-top: 2px; }
/* Each StatTile is one finance line: label and its sub at the left, the
   figure at the right, the info dot beside the label. Same tile, same dot,
   same source link; only the shell changes. */
.yw-dashboard-performance .yw-finance-lines > .group, .yw-dashboard-performance .yw-finance-revpar > .group { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-auto-rows: auto; height: auto; align-content: start; column-gap: 10px; border: 0; border-radius: 0; border-bottom: 1px solid #e8e1ec; background: transparent; padding: 16px 0; box-shadow: none; }
.yw-dashboard-performance .yw-finance-lines > .group > :first-child, .yw-dashboard-performance .yw-finance-revpar > .group > :first-child { grid-column: 1; grid-row: 1; }
/* container-type: normal is load-bearing: StatTile makes this slot an
   inline-size container (Tailwind @container), and a size-contained box has
   no intrinsic width, so the grid's auto column collapsed to 0 and the value
   hung 48px past the card (a page-wide horizontal scroll at 1440). With the
   query off, the column is as wide as the printed value. */
.yw-dashboard-performance .yw-finance-lines > .group [data-slot="stat-tile-row"], .yw-dashboard-performance .yw-finance-revpar > .group [data-slot="stat-tile-row"] { grid-column: 2; grid-row: 1 / span 3; align-self: center; margin: 0; text-align: right; container-type: normal; }
.yw-dashboard-performance .yw-finance-lines > .group [data-slot="stat-tile-row"] > div, .yw-dashboard-performance .yw-finance-revpar > .group [data-slot="stat-tile-row"] > div { justify-content: flex-end; }
.yw-dashboard-performance .yw-finance-lines > .group [data-slot="stat-tile-row"] > div > div:first-child, .yw-dashboard-performance .yw-finance-revpar > .group [data-slot="stat-tile-row"] > div > div:first-child { font-size: 20px; font-weight: 450; letter-spacing: -.03em; color: #34273d; }
.yw-dashboard-performance .yw-finance-lines > .group [data-slot="stat-tile-unmeasured"], .yw-dashboard-performance .yw-finance-revpar > .group [data-slot="stat-tile-unmeasured"] { font-size: 13px; }
.yw-dashboard-performance .yw-finance-lines > .group > :first-child > div > div, .yw-dashboard-performance .yw-finance-revpar > .group > :first-child > div > div { font-size: 12px; font-weight: 400; letter-spacing: 0; text-transform: none; color: #807287; }
.yw-dashboard-performance .yw-finance-lines > .group > :first-child > div > div { font-size: 12px; }
.yw-dashboard-performance .yw-finance-lines > .group > div:not(:first-child):not([data-slot="stat-tile-row"]), .yw-dashboard-performance .yw-finance-revpar > .group > div:not(:first-child):not([data-slot="stat-tile-row"]) { grid-column: 1; margin-top: 4px; font-size: 10px; color: #ab9fb3; }
.yw-dashboard-performance .yw-finance-lines > .group > div:not(:first-child):not([data-slot="stat-tile-row"]) a, .yw-dashboard-performance .yw-finance-revpar > .group > div:not(:first-child):not([data-slot="stat-tile-row"]) a { font-size: 11px; }
/* The RevPAR line: the figure at 24px, its track across the full width,
   the against-target words under it. */
.yw-dashboard-performance .yw-finance-revpar { margin-top: auto; }
.yw-dashboard-performance .yw-finance-revpar > .group { border-bottom: 0; padding: 17px 0 0; }
.yw-dashboard-performance .yw-finance-revpar > .group [data-slot="stat-tile-row"] { grid-row: 1; align-self: start; }
.yw-dashboard-performance .yw-finance-revpar > .group [data-slot="stat-tile-row"] > div > div:first-child { font-size: 24px; }
.yw-dashboard-performance .yw-finance-revpar > .group > .yw-finance-track { grid-column: 1 / -1; grid-row: 2; margin: 13px 0 9px; }
.yw-dashboard-performance .yw-finance-revpar > .group > div:not(:first-child):not([data-slot="stat-tile-row"]) { grid-column: 1 / -1; }
.yw-dashboard-performance .yw-finance-card > p { color: #87818c; }

/* ---- the Monthly detail table ------------------------------------------- */
.yw-dashboard-performance #month-by-month { scroll-margin-top: 24px; }
.yw-dashboard-performance .yw-perf-table-scroll { margin-top: 24px; scrollbar-width: thin; scrollbar-color: #ddd2e7 transparent; }
.yw-dashboard-performance #month-by-month table { font-size: 12px; font-variant-numeric: tabular-nums; }
.yw-dashboard-performance #month-by-month th { font-size: 11px; font-weight: 400; letter-spacing: 0; text-transform: none; color: #89778f; padding: 12px 7px; }
.yw-dashboard-performance #month-by-month thead tr:first-child th { font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.yw-dashboard-performance #month-by-month td { padding: 13px 7px; color: #65516f; }
.yw-dashboard-performance #month-by-month td:nth-child(2) { font-weight: 500; }
.yw-dashboard-performance #month-by-month tbody tr:hover { background: #f5eff9; }
.yw-dashboard-performance #month-by-month tbody tr.bg-zinc-100 { background: #f3edf8; }
.yw-dashboard-performance #month-by-month tbody tr.bg-zinc-100:hover { background: #eee3f7; }
.yw-dashboard-performance #month-by-month tfoot tr { background: #faf7fc; }

/* ---- everything under More numbers keeps its markup, takes the chrome --- */
.yw-dashboard-performance [data-surface="dashboard.performance.more"] section[data-panel] { border-color: #e2e1e4; border-radius: 24px; background: #fbfbfb; box-shadow: 0 2px 3px rgba(0, 0, 0, .008); }
.yw-dashboard-performance [data-surface="dashboard.performance.more"] section[data-panel] > div:first-child { padding: 18px 23px 12px; }
.yw-dashboard-performance [data-surface="dashboard.performance.more"] section[data-panel] > div:first-child h2 { font-size: 17px; font-weight: 500; letter-spacing: -.02em; }
.yw-dashboard-performance [data-surface="dashboard.performance.more"] section[data-panel] > div + div { padding: 6px 23px 23px; border-top: 0; }
.yw-dashboard-performance [data-surface="dashboard.performance.more"] > :not(h3) .halo.rounded-2xl { border-color: #e2e1e4; border-radius: 24px; background: #fbfbfb; padding: 23px; }
.yw-dashboard-performance .yw-perf-widgets .halo.rounded-2xl, .yw-dashboard-performance .yw-perf-widgets .rounded-2xl.border { border-color: #e2e1e4; border-radius: 24px; background: #fbfbfb; padding: 23px; }

/* ---- responsive ----------------------------------------------------------- */
@media (max-width: 1150px) {
  .yw-dashboard-performance .yw-performance-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .yw-dashboard-performance .yw-perf-column:last-of-type { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .yw-dashboard-performance .yw-perf-bars-card { min-height: 0; }
  .yw-dashboard-performance .yw-perf-column > [data-zone="perf-tiles"] { flex: 1 1 auto; }
}
@media (max-width: 800px) {
  .yw-dashboard-performance .yw-performance-layout { display: flex; flex-direction: column; }
  .yw-dashboard-performance .yw-perf-column:last-of-type { display: flex; grid-column: auto; }
  .yw-dashboard-performance .yw-annual-card { min-height: 0; }
  .yw-dashboard-performance .yw-perf-chart-card { min-height: 0; }
  .yw-dashboard-performance .yw-finance-card { min-height: 0; }
  .yw-dashboard-performance .yw-perf-insight, .yw-dashboard-performance .yw-perf-insight-content { min-height: 400px; }
}
@media (max-width: 520px) {
  .yw-dashboard-performance .yw-perf-card { border-radius: 20px; padding: 19px; }
  .yw-dashboard-performance .yw-month-bar-actual { font-size: 21px; }
  .yw-dashboard-performance .yw-chart-selection { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .yw-dashboard-performance .yw-perf-track-fill { animation: none; }
  .yw-dashboard-performance .yw-perf-insight-link { transition: none; }
}

/* ---- dark ------------------------------------------------------------------ */
[data-theme-root].dark .yw-dashboard-performance .yw-perf-card { border-color: #232e47; background: #0f172a; box-shadow: none; }
[data-theme-root].dark .yw-dashboard-performance .yw-perf-h2, [data-theme-root].dark .yw-dashboard-performance .yw-annual-value { color: #f1ecf7; }
[data-theme-root].dark .yw-dashboard-performance .yw-perf-sub, [data-theme-root].dark .yw-dashboard-performance .yw-perf-muted, [data-theme-root].dark .yw-dashboard-performance .yw-perf-note, [data-theme-root].dark .yw-dashboard-performance .yw-perf-track-labels { color: #a89fb3; }
[data-theme-root].dark .yw-dashboard-performance .yw-perf-text-link { color: #c4a5f5; }
[data-theme-root].dark .yw-dashboard-performance .yw-perf-more > span > button { border-color: #232e47; color: #d9d2e3; }
[data-theme-root].dark .yw-dashboard-performance .yw-perf-more > span > button:hover { background: #1b2436; }
[data-theme-root].dark .yw-dashboard-performance .yw-perf-more > span > button[aria-expanded="true"] { background: #d9d2e3; color: #0f172a; }
[data-theme-root].dark .yw-dashboard-performance .yw-perf-track, [data-theme-root].dark .yw-dashboard-performance .yw-annual-track { background: #1b2436; }
[data-theme-root].dark .yw-dashboard-performance .yw-perf-track-fill, [data-theme-root].dark .yw-dashboard-performance .yw-annual-track .yw-perf-track-fill { background: repeating-linear-gradient(125deg, #e07ab6 0 2px, #5a3a52 2px 4px); }
[data-theme-root].dark .yw-dashboard-performance .yw-perf-track[data-met] .yw-perf-track-fill { background: repeating-linear-gradient(125deg, #a39cad 0 2px, #4a4354 2px 4px); }
[data-theme-root].dark .yw-dashboard-performance .yw-perf-track-target, [data-theme-root].dark .yw-dashboard-performance .yw-annual-track .yw-perf-track-target { background: #cbbfd6; }
[data-theme-root].dark .yw-dashboard-performance .yw-perf-pill { background: #1b2436; color: #d9d2e3; box-shadow: none; }
[data-theme-root].dark .yw-dashboard-performance .yw-perf-pill[data-direction="bad"] { color: #f0a27f; }
[data-theme-root].dark .yw-dashboard-performance .yw-perf-pill[data-direction="good"] { color: #6fd3b3; }
[data-theme-root].dark .yw-dashboard-performance .yw-perf-row-stat { border-color: #232e47; color: #a89fb3; }
[data-theme-root].dark .yw-dashboard-performance .yw-perf-row-stat strong { color: #f1ecf7; }
[data-theme-root].dark .yw-dashboard-performance .yw-chart-selection { border-color: #232e47; }
[data-theme-root].dark .yw-dashboard-performance .yw-chart-selection span { color: #a89fb3; }
[data-theme-root].dark .yw-dashboard-performance .yw-chart-selection strong { color: #f1ecf7; }
[data-theme-root].dark .yw-dashboard-performance .yw-month-bar { border-color: #232e47; }
[data-theme-root].dark .yw-dashboard-performance .yw-month-bar-name { color: #c9bfd4; }
[data-theme-root].dark .yw-dashboard-performance .yw-month-bar-name em { background: #3d3050; color: #c4a5f5; }
[data-theme-root].dark .yw-dashboard-performance .yw-month-bar-actual { color: #f1ecf7; }
[data-theme-root].dark .yw-dashboard-performance .yw-month-bar-actual small, [data-theme-root].dark .yw-dashboard-performance .yw-month-bar-target { color: #a89fb3; }
[data-theme-root].dark .yw-dashboard-performance .yw-month-bar:hover .yw-month-bar-actual { color: #c4a5f5; }
[data-theme-root].dark .yw-dashboard-performance .yw-month-bar-gap { color: #e69ac4; }
[data-theme-root].dark .yw-dashboard-performance .yw-month-bar[data-met] .yw-month-bar-gap { color: #a89fb3; }
[data-theme-root].dark .yw-dashboard-performance .yw-perf-insight { background: #2f2342; color: #efe6fb; }
[data-theme-root].dark .yw-dashboard-performance .yw-perf-insight-art { background-color: #2f2342; opacity: 1; }
[data-theme-root].dark .yw-dashboard-performance .yw-perf-insight-art[data-art="coast"] { background-image: url("/dashboard-landscapes/coast-night.webp"); }
[data-theme-root].dark .yw-dashboard-performance .yw-perf-insight::after { background: linear-gradient(180deg, rgba(47, 35, 66, .96) 0%, rgba(47, 35, 66, .9) 30%, rgba(47, 35, 66, .55) 60%, rgba(47, 35, 66, .1) 100%); }
[data-theme-root].dark .yw-dashboard-performance .yw-perf-insight-top, [data-theme-root].dark .yw-dashboard-performance .yw-perf-insight-detail { color: #c4b4d8; }
[data-theme-root].dark .yw-dashboard-performance .yw-perf-insight-tag { border-color: rgba(255, 255, 255, .18); background: rgba(255, 255, 255, .08); color: #d9c8f0; }
[data-theme-root].dark .yw-dashboard-performance .yw-perf-insight-link { border-color: rgba(255, 255, 255, .16); background: rgba(255, 255, 255, .1); color: #efe6fb; box-shadow: none; }
[data-theme-root].dark .yw-dashboard-performance .yw-perf-insight-link:hover, [data-theme-root].dark .yw-dashboard-performance .yw-perf-insight-link:focus-visible { background: rgba(255, 255, 255, .18); }
[data-theme-root].dark .yw-dashboard-performance .yw-finance-lines > .group, [data-theme-root].dark .yw-dashboard-performance .yw-finance-revpar > .group { border-color: #232e47; background: transparent; }
[data-theme-root].dark .yw-dashboard-performance .yw-finance-lines > .group [data-slot="stat-tile-row"] > div > div:first-child, [data-theme-root].dark .yw-dashboard-performance .yw-finance-revpar > .group [data-slot="stat-tile-row"] > div > div:first-child { color: #f1ecf7; }
[data-theme-root].dark .yw-dashboard-performance .yw-finance-lines > .group > :first-child > div > div, [data-theme-root].dark .yw-dashboard-performance .yw-finance-revpar > .group > :first-child > div > div { color: #c9bfd4; }
[data-theme-root].dark .yw-dashboard-performance .yw-finance-lines > .group > div:not(:first-child):not([data-slot="stat-tile-row"]), [data-theme-root].dark .yw-dashboard-performance .yw-finance-revpar > .group > div:not(:first-child):not([data-slot="stat-tile-row"]), [data-theme-root].dark .yw-dashboard-performance .yw-finance-card > p { color: #a89fb3; }
[data-theme-root].dark .yw-dashboard-performance .yw-perf-table-scroll { scrollbar-color: #232e47 transparent; }
[data-theme-root].dark .yw-dashboard-performance #month-by-month th { color: #a89fb3; }
[data-theme-root].dark .yw-dashboard-performance #month-by-month td { color: #d9d2e3; }
[data-theme-root].dark .yw-dashboard-performance #month-by-month tbody tr:hover { background: #131c30; }
[data-theme-root].dark .yw-dashboard-performance #month-by-month tbody tr.bg-zinc-100 { background: #1f2a44; }
[data-theme-root].dark .yw-dashboard-performance #month-by-month tbody tr.bg-zinc-100:hover { background: #253150; }
[data-theme-root].dark .yw-dashboard-performance #month-by-month tfoot tr { background: #0c1322; }
[data-theme-root].dark .yw-dashboard-performance [data-surface="dashboard.performance.more"] section[data-panel], [data-theme-root].dark .yw-dashboard-performance [data-surface="dashboard.performance.more"] > :not(h3) .halo.rounded-2xl, [data-theme-root].dark .yw-dashboard-performance .yw-perf-widgets .halo.rounded-2xl, [data-theme-root].dark .yw-dashboard-performance .yw-perf-widgets .rounded-2xl.border { border-color: #232e47; background: #0f172a; box-shadow: none; }

/* Performance detail: two comparison ledgers, then full-width evidence.
   The cells already contain live values and actions; only their chrome changes. */
.yw-dashboard-performance .yw-perf-table-scroll { margin-top: 14px; }
.yw-dashboard-performance #month-by-month th { padding: 7px 7px; color: #79717f; }
.yw-dashboard-performance #month-by-month table { font-size: 13px; }
.yw-dashboard-performance #month-by-month td { padding: 7px 7px; color: #4e4855; line-height: 1.3; }
.yw-dashboard-performance [data-surface="dashboard.performance.more"] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-items: stretch; margin-top: 14px; }
.yw-dashboard-performance [data-surface="dashboard.performance.more"] > * { min-width: 0; margin-top: 0; }
.yw-dashboard-performance [data-surface="dashboard.performance.more"] section[data-panel] { margin-top: 0; overflow: hidden; }
.yw-dashboard-performance [data-surface="dashboard.performance.more"] section[data-panel] > div:first-child { padding: 16px 19px 9px; }
.yw-dashboard-performance [data-surface="dashboard.performance.more"] section[data-panel] > div + div { padding: 0 19px 16px; }
.yw-dashboard-performance [data-surface="dashboard.performance.more"] section[data-panel] > div:first-child h2 { font-size: 17px; font-weight: 550; color: #252329; }
.yw-dashboard-performance [data-surface="dashboard.performance.more"] section[data-panel] > div:first-child .num { background: none; padding: 0; color: #9b8fa4; }
.yw-dashboard-performance [data-surface="dashboard.performance.more"] #outlook { grid-column: 1 / -1; }
.yw-dashboard-performance [data-surface="dashboard.performance.more"] #outlook { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; }
.yw-dashboard-performance [data-surface="dashboard.performance.more"] #outlook > * { min-width: 0; margin: 0; }

/* Flatten nested stat tiles into a ledger: label, value and the exact basis. */
.yw-dashboard-performance [data-surface="dashboard.performance.below-the-line"],
.yw-dashboard-performance [data-surface="dashboard.performance.rooms-and-demand"] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }
.yw-dashboard-performance [data-surface="dashboard.performance.below-the-line"] > .group,
.yw-dashboard-performance [data-surface="dashboard.performance.rooms-and-demand"] > .group,
.yw-dashboard-performance [data-surface="dashboard.performance.labor"] .group { min-width: 0; border: 0; border-bottom: 1px solid #e9e5ec; border-radius: 0; background: transparent; padding: 11px 0; box-shadow: none; }
.yw-dashboard-performance [data-surface="dashboard.performance.below-the-line"] > .group [data-slot="stat-tile-row"],
.yw-dashboard-performance [data-surface="dashboard.performance.rooms-and-demand"] > .group [data-slot="stat-tile-row"] { margin-top: 4px; container-type: normal; }
.yw-dashboard-performance [data-surface="dashboard.performance.below-the-line"] > .group [data-slot="stat-tile-row"] > div > div:first-child,
.yw-dashboard-performance [data-surface="dashboard.performance.rooms-and-demand"] > .group [data-slot="stat-tile-row"] > div > div:first-child { font-size: 20px; line-height: 1.2; letter-spacing: -.035em; }
.yw-dashboard-performance [data-surface="dashboard.performance.below-the-line"] > .group > :first-child,
.yw-dashboard-performance [data-surface="dashboard.performance.rooms-and-demand"] > .group > :first-child { font-size: 11px; }
.yw-dashboard-performance [data-surface="dashboard.performance.below-the-line"] > .group > div:last-child,
.yw-dashboard-performance [data-surface="dashboard.performance.rooms-and-demand"] > .group > div:last-child { font-size: 11px; }
.yw-dashboard-performance [data-surface="dashboard.performance.labor"] { max-width: 700px; }

/* Five benchmarks compare on one line, with real targets and source links. */
.yw-dashboard-performance .yw-health-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 1px solid #e9e5ec; }
.yw-dashboard-performance .yw-health-item { display: flex; flex-direction: column; min-width: 0; gap: 4px; padding: 15px 14px 7px; border-right: 1px solid #e9e5ec; }
.yw-dashboard-performance .yw-health-item:first-child { padding-left: 0; }
.yw-dashboard-performance .yw-health-item:last-child { border-right: 0; }
.yw-dashboard-performance .yw-health-item-label { display: flex; align-items: center; gap: 6px; min-height: 18px; font-size: 11px; color: #736d79; }
.yw-dashboard-performance .yw-health-item-value { font-size: 22px; line-height: 1.2; letter-spacing: -.04em; color: #27242b; }
.yw-dashboard-performance .yw-health-item-target, .yw-dashboard-performance .yw-health-item-note { font-size: 11px; color: #938b99; }
.yw-dashboard-performance .yw-health-item a, .yw-dashboard-performance .yw-health-targets-link { width: fit-content; color: #7938cf; font-size: 11px; text-decoration: none; }
.yw-dashboard-performance .yw-health-item a:hover, .yw-dashboard-performance .yw-health-targets-link:hover { text-decoration: underline; }
.yw-dashboard-performance .yw-health-targets-link { display: inline-block; margin-top: 11px; }

/* Keep the two forward windows compact and avoid another card inside each. */
.yw-dashboard-performance #week-ahead table { min-width: 0; font-size: 11px; }
.yw-dashboard-performance #week-ahead th, .yw-dashboard-performance #week-ahead td { padding-top: 9px; padding-bottom: 9px; }
.yw-dashboard-performance #outlook .yw-pickup-chart { margin-top: 13px; }
.yw-dashboard-performance .yw-pickup-plot { display: grid; grid-template-columns: repeat(14, minmax(0, 1fr)); gap: 5px; height: 150px; padding-top: 18px; position: relative; border-bottom: 1px solid #dfd8e5; }
.yw-dashboard-performance .yw-pickup-average { position: absolute; left: 0; right: 0; border-top: 1px dashed #c275a8; pointer-events: none; }
.yw-dashboard-performance .yw-pickup-average > span { position: absolute; right: 0; bottom: 3px; background: #fbfbfb; padding-left: 5px; font-size: 10px; color: #9b5b88; }
.yw-dashboard-performance .yw-pickup-day { position: relative; display: flex; align-items: center; justify-content: flex-end; flex-direction: column; min-width: 0; outline-offset: 2px; }
.yw-dashboard-performance .yw-pickup-day > i { width: 100%; min-height: 0; border-radius: 3px 3px 0 0; background: repeating-linear-gradient(125deg, #9151e4 0 3px, #d3acf5 3px 5px); transition: filter .2s ease; }
.yw-dashboard-performance .yw-pickup-day:hover > i, .yw-dashboard-performance .yw-pickup-day:focus-visible > i { filter: brightness(.85); }
.yw-dashboard-performance .yw-pickup-day > span { position: absolute; top: 100%; margin-top: 5px; font-size: 10px; color: #a099a6; }
.yw-dashboard-performance .yw-pickup-day::after { content: attr(data-detail); position: absolute; left: 50%; bottom: calc(100% + 6px); z-index: 3; transform: translate(-50%, 4px); width: max-content; max-width: 160px; border: 1px solid #e6d9f1; border-radius: 8px; background: #fff; box-shadow: 0 7px 22px rgba(54, 29, 74, .13); padding: 7px 9px; color: #392f40; font-size: 11px; opacity: 0; pointer-events: none; transition: opacity .15s ease, transform .15s ease; }
.yw-dashboard-performance .yw-pickup-day:hover::after, .yw-dashboard-performance .yw-pickup-day:focus-visible::after { opacity: 1; transform: translate(-50%, 0); }
.yw-dashboard-performance .yw-pickup-chart-key { display: flex; align-items: center; gap: 6px; margin-top: 23px; color: #8b8490; font-size: 10px; }
.yw-dashboard-performance .yw-pickup-chart-key > i { display: inline-block; width: 8px; height: 8px; border-radius: 2px; background: #9151e4; }
.yw-dashboard-performance .yw-pickup-chart-key > span { display: inline-block; width: 13px; border-top: 1px dashed #c275a8; margin-left: 8px; }
.yw-dashboard-performance .yw-pickup-week-row { display: grid; grid-template-columns: 42px minmax(0, 1fr) 82px 62px; align-items: center; gap: 8px; padding: 9px 0; border-bottom: 1px solid #ebe7ed; font-size: 11px; }
.yw-dashboard-performance .yw-pickup-week-row > :first-child, .yw-dashboard-performance .yw-pickup-week-row > :last-child { color: #938b99; }
.yw-dashboard-performance .yw-pickup-week-row > strong { text-align: right; font-weight: 600; }
.yw-dashboard-performance .yw-pickup-week-row > :last-child { text-align: right; }
.yw-dashboard-performance .yw-pickup-week-track { height: 8px; background: #eeeaf0; border-radius: 2px; }
.yw-dashboard-performance .yw-pickup-week-track > div { height: 100%; border-radius: 2px; background: repeating-linear-gradient(125deg, #a369eb 0 2px, #e5d0f8 2px 4px); }
.yw-dashboard-performance #total-revenue-months table td { padding-top: 6px; padding-bottom: 6px; }
.yw-dashboard-performance #total-revenue-months table th { padding-top: 5px; padding-bottom: 5px; }
.yw-dashboard-performance #total-revenue-months > div:first-child { margin-top: 1px; }

/* Optional widgets use the same quiet report language as the core cards. */
.yw-dashboard-performance .yw-perf-widgets { margin-top: 14px; }
.yw-dashboard-performance .yw-perf-widgets .yw-perf-widget-grid { gap: 14px; }
.yw-dashboard-performance .yw-perf-widgets .yw-perf-widget-card { padding: 18px 19px; }
.yw-dashboard-performance .yw-perf-widget-card .num { font-variant-numeric: tabular-nums; }
.yw-dashboard-performance .yw-channel-composition { display: flex; height: 15px; overflow: hidden; border-radius: 5px; background: #eee9f1; margin-top: 17px; }
.yw-dashboard-performance .yw-channel-segment { display: block; height: 100%; }
.yw-dashboard-performance .yw-channel-segment-0 { background: #7533df; }
.yw-dashboard-performance .yw-channel-segment-1 { background: #9b63ec; }
.yw-dashboard-performance .yw-channel-segment-2 { background: #bb91f1; }
.yw-dashboard-performance .yw-channel-segment-3 { background: #d3b9f2; }
.yw-dashboard-performance .yw-channel-segment-4 { background: #8d78a8; }
.yw-dashboard-performance .yw-channel-segment-5 { background: #a99ab9; }
.yw-dashboard-performance .yw-channel-segment-6 { background: #c2b8cb; }
.yw-dashboard-performance .yw-channel-segment-7 { background: #ded7e3; }
.yw-dashboard-performance .yw-channel-rows { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 15px; margin-top: 10px; }
.yw-dashboard-performance .yw-channel-row { display: grid; grid-template-columns: 8px minmax(0, 1fr) auto auto; align-items: center; gap: 8px; min-width: 0; border-bottom: 1px solid #ebe7ed; padding: 9px 0; font-size: 11px; }
.yw-dashboard-performance .yw-channel-row > i { width: 8px; height: 8px; border-radius: 2px; }
.yw-dashboard-performance .yw-channel-row > span:nth-child(2) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.yw-dashboard-performance .yw-channel-row > strong { font-weight: 600; color: #29252d; }
.yw-dashboard-performance .yw-channel-row > span:last-child { color: #948b9d; }
.yw-dashboard-performance .yw-perf-distribution { margin-top: 13px; }
.yw-dashboard-performance .yw-perf-distribution-row { display: grid; grid-template-columns: 70px minmax(0, 1fr) 34px 50px; align-items: center; gap: 9px; padding: 6px 0; font-size: 11px; }
.yw-dashboard-performance .yw-perf-distribution-row strong { text-align: right; color: #2c2731; }
.yw-dashboard-performance .yw-perf-distribution-count { text-align: right; color: #948b9d; }
.yw-dashboard-performance .yw-perf-distribution-track { height: 8px; overflow: hidden; border-radius: 2px; background: #eeeaf0; }
.yw-dashboard-performance .yw-perf-distribution-track > i { display: block; height: 100%; border-radius: 2px; background: repeating-linear-gradient(125deg, #a369eb 0 2px, #e5d0f8 2px 4px); transition: width .25s ease; }
.yw-dashboard-performance .yw-perf-widget-card table td { padding-top: 6px; padding-bottom: 6px; font-size: 11px; }
.yw-dashboard-performance .yw-perf-customize-trigger { color: #7938cf; border: 0; padding: 4px 0; background: transparent; }
.yw-dashboard-performance .yw-perf-customize-trigger:hover { color: #53209d; text-decoration: underline; }
.yw-dashboard-performance .yw-perf-customize-menu { max-width: 600px; border-color: #e2dce8; padding: 14px; }

@media (max-width: 1180px) {
  .yw-dashboard-performance [data-surface="dashboard.performance.more"] { grid-template-columns: minmax(0, 1fr); }
  .yw-dashboard-performance [data-surface="dashboard.performance.more"] #outlook { grid-template-columns: minmax(0, 1fr); }
  .yw-dashboard-performance .yw-health-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .yw-dashboard-performance .yw-health-item:nth-child(3) { border-right: 0; }
}
@media (max-width: 650px) {
  .yw-dashboard-performance .yw-health-grid, .yw-dashboard-performance .yw-channel-rows { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .yw-dashboard-performance .yw-health-item:nth-child(3) { border-right: 1px solid #e9e5ec; }
  .yw-dashboard-performance .yw-health-item:nth-child(even) { border-right: 0; }
  .yw-dashboard-performance [data-surface="dashboard.performance.more"] section[data-panel] > div:first-child { padding: 15px 15px 8px; }
  .yw-dashboard-performance [data-surface="dashboard.performance.more"] section[data-panel] > div + div { padding: 0 15px 15px; }
}
@media (max-width: 440px) {
  .yw-dashboard-performance [data-surface="dashboard.performance.below-the-line"], .yw-dashboard-performance [data-surface="dashboard.performance.rooms-and-demand"], .yw-dashboard-performance .yw-health-grid, .yw-dashboard-performance .yw-channel-rows { grid-template-columns: minmax(0, 1fr); }
  .yw-dashboard-performance .yw-health-item { border-right: 0 !important; border-bottom: 1px solid #e9e5ec; padding-left: 0; }
}
@media (prefers-reduced-motion: reduce) { .yw-dashboard-performance .yw-perf-distribution-track > i { transition: none; } }
@media (prefers-reduced-motion: reduce) { .yw-dashboard-performance .yw-pickup-day > i, .yw-dashboard-performance .yw-pickup-day::after { transition: none; } }
[data-theme-root].dark .yw-dashboard-performance .yw-health-item-value, [data-theme-root].dark .yw-dashboard-performance .yw-channel-row > strong, [data-theme-root].dark .yw-dashboard-performance .yw-perf-distribution-row strong, [data-theme-root].dark .yw-dashboard-performance [data-surface="dashboard.performance.more"] section[data-panel] > div:first-child h2 { color: #f1ecf7; }
[data-theme-root].dark .yw-dashboard-performance .yw-health-grid, [data-theme-root].dark .yw-dashboard-performance .yw-health-item, [data-theme-root].dark .yw-dashboard-performance .yw-channel-row, [data-theme-root].dark .yw-dashboard-performance [data-surface="dashboard.performance.below-the-line"] > .group, [data-theme-root].dark .yw-dashboard-performance [data-surface="dashboard.performance.rooms-and-demand"] > .group { border-color: #25314a; }
[data-theme-root].dark .yw-dashboard-performance .yw-channel-composition, [data-theme-root].dark .yw-dashboard-performance .yw-perf-distribution-track { background: #24304a; }
[data-theme-root].dark .yw-dashboard-performance .yw-pickup-average > span { background: #0f172a; }
[data-theme-root].dark .yw-dashboard-performance .yw-pickup-day::after { border-color: #3a2c51; background: #1a2133; color: #f1ecf7; }
[data-theme-root].dark .yw-dashboard-performance .yw-pickup-week-track { background: #24304a; }
[data-theme-root].dark .yw-dashboard-performance #month-by-month td { color: #d9d2e3; }

/* Lower Performance report: explicit layout, type and chart rules. The demo's
   embedded Dashboard face is Geist; use the same loaded face and tabular
   numerals throughout these report surfaces. */
.yw-dashboard-performance { font-family: var(--font-geist-sans), Geist, system-ui, sans-serif; font-size: 14px; letter-spacing: -.25px; }
.yw-dashboard-performance :is(button, input, select, textarea, table) { font-family: inherit; }
.yw-dashboard-performance .num, .yw-dashboard-performance .tabular-nums { font-family: var(--font-geist-sans), Geist, system-ui, sans-serif; font-variant-numeric: tabular-nums lining-nums; font-feature-settings: "tnum" 1, "lnum" 1; letter-spacing: -.035em; }
.yw-dashboard-performance .yw-perf-h2,
.yw-dashboard-performance [data-surface="dashboard.performance.more"] section[data-panel] > div:first-child h2 { color: #202024; font-size: 19px; font-weight: 500; letter-spacing: -.035em; }
.yw-dashboard-performance [data-surface="dashboard.performance.more"] section[data-panel] > div:first-child { padding: 18px 21px 10px; }
.yw-dashboard-performance [data-surface="dashboard.performance.more"] section[data-panel] > div + div { padding: 0 21px 19px; }
.yw-dashboard-performance [data-surface="dashboard.performance.more"] section[data-panel] > div:first-child .num { background: none; padding: 0; color: #8f8397; font-size: 12px; font-weight: 500; }
.yw-dashboard-performance [data-surface="dashboard.performance.more"] { display: flex; flex-direction: column; gap: 15px; margin-top: 16px; }
.yw-dashboard-performance [data-surface="dashboard.performance.more"] > * { min-width: 0; margin: 0; }
.yw-dashboard-performance .yw-perf-pair-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 15px; }
.yw-dashboard-performance .yw-perf-pair-grid > * { min-width: 0; margin: 0; }
.yw-dashboard-performance .yw-perf-pair-grid > :only-child { grid-column: 1 / -1; }
.yw-dashboard-performance .yw-perf-pair-grid > section[data-panel] { height: 100%; overflow: hidden; }
.yw-dashboard-performance .yw-perf-comparison-pair { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.yw-dashboard-performance .yw-perf-health-pair { grid-template-columns: minmax(310px, .95fr) minmax(0, 1.65fr); }
/* Labor + Health was designed as a pair, Health in the wide column. When the Front desk card
   is present (#3550) it takes that wide slot and Health wraps into the NARROW one, crushing its
   five columns. A third card means Health (always last) gets the whole next line. */
.yw-dashboard-performance .yw-perf-health-pair > :last-child:nth-child(3) { grid-column: 1 / -1; }
.yw-dashboard-performance .yw-perf-analysis-stack { display: flex; flex-direction: column; gap: 15px; min-width: 0; }
.yw-dashboard-performance .yw-perf-analysis-stack:empty { display: none; }
.yw-dashboard-performance .yw-perf-analysis-stack > * { min-width: 0; margin: 0; }
.yw-dashboard-performance [data-surface="dashboard.performance.below-the-line"],
.yw-dashboard-performance [data-surface="dashboard.performance.rooms-and-demand"] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: minmax(87px, auto); align-content: start; gap: 0 22px; }
.yw-dashboard-performance [data-surface="dashboard.performance.below-the-line"] > .group,
.yw-dashboard-performance [data-surface="dashboard.performance.rooms-and-demand"] > .group { min-width: 0; border: 0; border-bottom: 1px solid #ebe7ed; border-radius: 0; background: transparent; padding: 12px 2px 11px; box-shadow: none; }
.yw-dashboard-performance [data-surface="dashboard.performance.below-the-line"] > .group > :first-child,
.yw-dashboard-performance [data-surface="dashboard.performance.rooms-and-demand"] > .group > :first-child,
.yw-dashboard-performance [data-surface="dashboard.performance.labor"] > .group > :first-child { color: #706777; font-size: 12px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.yw-dashboard-performance [data-surface="dashboard.performance.below-the-line"] > .group [data-slot="stat-tile-row"],
.yw-dashboard-performance [data-surface="dashboard.performance.rooms-and-demand"] > .group [data-slot="stat-tile-row"] { margin-top: 5px; container-type: normal; }
.yw-dashboard-performance [data-surface="dashboard.performance.below-the-line"] > .group [data-slot="stat-tile-row"] > div > div:first-child,
.yw-dashboard-performance [data-surface="dashboard.performance.rooms-and-demand"] > .group [data-slot="stat-tile-row"] > div > div:first-child { color: #25212a; font-size: 25px; font-weight: 500; line-height: 1.08; letter-spacing: -.055em; }
.yw-dashboard-performance [data-surface="dashboard.performance.below-the-line"] > .group [data-slot="stat-tile-unmeasured"],
.yw-dashboard-performance [data-surface="dashboard.performance.rooms-and-demand"] > .group [data-slot="stat-tile-unmeasured"] { font-size: 15px; font-weight: 500; letter-spacing: -.025em; }
.yw-dashboard-performance [data-surface="dashboard.performance.below-the-line"] > .group > div:last-child,
.yw-dashboard-performance [data-surface="dashboard.performance.rooms-and-demand"] > .group > div:last-child,
.yw-dashboard-performance [data-surface="dashboard.performance.labor"] > .group > div:last-child { margin-top: 4px; color: #8c8490; font-size: 12px; line-height: 1.4; }
.yw-dashboard-performance [data-surface="dashboard.performance.labor"] { grid-template-columns: minmax(0, 1fr); max-width: none; }
.yw-dashboard-performance [data-surface="dashboard.performance.labor"] > .group { display: grid; grid-template-columns: minmax(145px, .7fr) minmax(0, 1.3fr); align-items: center; column-gap: 18px; min-width: 0; max-width: none; border: 0; border-bottom: 0; border-radius: 0; background: transparent; padding: 7px 1px; box-shadow: none; }
.yw-dashboard-performance [data-surface="dashboard.performance.labor"] > .group > :first-child { grid-column: 1; grid-row: 1 / span 2; }
.yw-dashboard-performance [data-surface="dashboard.performance.labor"] > .group [data-slot="stat-tile-row"] { grid-column: 2; grid-row: 1; margin: 0; container-type: normal; }
.yw-dashboard-performance [data-surface="dashboard.performance.labor"] > .group [data-slot="stat-tile-row"] > div > div:first-child { color: #25212a; font-size: 24px; font-weight: 500; line-height: 1.1; letter-spacing: -.05em; }
.yw-dashboard-performance [data-surface="dashboard.performance.labor"] > .group > div:last-child { grid-column: 2; margin-top: 3px; }
.yw-dashboard-performance [data-surface="dashboard.performance.labor"] > .group > :first-child { font-size: 13px; line-height: 1.35; }
.yw-dashboard-performance [data-surface="dashboard.performance.labor"] > .group > div:last-child { font-size: 13px; line-height: 1.45; }
.yw-dashboard-performance [data-surface="dashboard.performance.more"] .text-rose-700,
.yw-dashboard-performance [data-surface="dashboard.performance.more"] .text-rose-600,
.yw-dashboard-performance [data-surface="dashboard.performance.more"] .text-red-700,
.yw-dashboard-performance [data-surface="dashboard.performance.more"] .text-red-600 { color: #a96883; }
.yw-dashboard-performance [data-surface="dashboard.performance.more"] .text-blue-700,
.yw-dashboard-performance [data-surface="dashboard.performance.more"] .text-blue-600 { color: #7652a0; }
.yw-dashboard-performance [data-surface="dashboard.performance.more"] .text-emerald-700,
.yw-dashboard-performance [data-surface="dashboard.performance.more"] .text-emerald-600,
.yw-dashboard-performance [data-surface="dashboard.performance.more"] .text-green-700,
.yw-dashboard-performance [data-surface="dashboard.performance.more"] .text-green-600 { color: #397965; }
.yw-dashboard-performance .yw-month-status { display: inline-flex; align-items: center; padding: 1px 0; color: #81758a; font-size: 11px; font-weight: 600; letter-spacing: .01em; }
.yw-dashboard-performance .yw-month-status[data-verdict="ON PLAN"] { color: #3d7d6d; }
.yw-dashboard-performance .yw-month-status[data-verdict="THIN"] { color: #9a805f; }
.yw-dashboard-performance .yw-month-status[data-verdict="CRITICAL"] { color: #ac6689; }
.yw-dashboard-performance .yw-perf-data-warning { color: #9f6586; font-size: 11px; line-height: 1.4; }
.yw-dashboard-performance .yw-perf-data-warning:not(span) { border-color: #e8d9e4; background: #faf6f9; }

/* Main month ledger: legible Geist figures, quieter headings, one row rhythm. */
.yw-dashboard-performance #month-by-month { padding: 19px 21px; }
.yw-dashboard-performance #month-by-month .yw-perf-h2 { font-size: 21px; }
.yw-dashboard-performance .yw-month-detail-year { flex-shrink: 0; color: #8b8191; font-size: 13px; font-weight: 500; letter-spacing: -.01em; }
.yw-dashboard-performance #month-by-month .yw-perf-table-scroll { margin-top: 14px; }
.yw-dashboard-performance #month-by-month table { min-width: 1000px; font-size: 15px; }
.yw-dashboard-performance #month-by-month th { padding: 10px 8px; color: #766d7c; font-size: 13px; font-weight: 500; letter-spacing: 0; text-transform: none; white-space: nowrap; }
.yw-dashboard-performance #month-by-month thead tr:first-child th { font-size: 12px; font-weight: 500; letter-spacing: .015em; }
.yw-dashboard-performance #month-by-month td { padding: 11px 8px; color: #49434e; font-size: 15px; line-height: 1.35; }
.yw-dashboard-performance #month-by-month tbody tr:hover { background: #faf8fc; }
.yw-dashboard-performance #month-by-month tbody tr.bg-zinc-100 { background: #f5f0fa; }
.yw-dashboard-performance #month-by-month tfoot tr { background: #f8f4fb; }
.yw-dashboard-performance #month-by-month :is(.text-zinc-500, .text-zinc-400) { color: #847a8d; }
.yw-dashboard-performance #month-by-month > p:last-child { color: #89818d; font-size: 12px; line-height: 1.5; }
/* Weekly read: keep the values primary and show the 4-week shape as bars. */
.yw-dashboard-performance #week-by-week { min-width: 0; }
.yw-dashboard-performance #week-by-week table { min-width: 480px; table-layout: fixed; font-size: 15px; }
.yw-dashboard-performance #week-by-week th { padding: 0 6px 12px; color: #817688; font-size: 12px; line-height: 1.4; font-weight: 500; letter-spacing: 0; text-transform: none; white-space: normal; vertical-align: bottom; }
.yw-dashboard-performance #week-by-week th:first-child { width: 20%; text-align: left; }
.yw-dashboard-performance #week-by-week th:last-child { width: 19%; }
.yw-dashboard-performance #week-by-week td { padding: 14px 6px; border-color: #efebf1; font-size: 14px; white-space: nowrap; vertical-align: middle; }
.yw-dashboard-performance #week-by-week tbody td:first-child { color: #514957; font-size: 15px; font-weight: 500; }
.yw-dashboard-performance #week-by-week tbody td:nth-child(5) { background: transparent; color: #28232d; font-size: 15px; font-weight: 550; }
.yw-dashboard-performance .yw-week-change-value { display: block; white-space: nowrap; font-size: 13px; font-weight: 500; }
.yw-dashboard-performance .yw-week-bars { display: flex; width: 56px; height: 20px; align-items: end; justify-content: flex-end; gap: 4px; margin: 6px 0 0 auto; border-bottom: 1px solid #e9e3ed; }
.yw-dashboard-performance .yw-week-bars > span { display: block; flex: 1 1 0; min-height: 2px; border-radius: 2px 2px 0 0; background: #cdb0eb; transition: height .24s cubic-bezier(.2,.8,.2,1), background-color .16s ease; }
.yw-dashboard-performance .yw-week-bars > span[data-current="true"] { background: #8546d7; }
.yw-dashboard-performance .yw-week-bars:hover > span { background: #bb95e2; }
.yw-dashboard-performance .yw-week-bars:hover > span[data-current="true"] { background: #7133c6; }

/* Monthly total revenue: 12 exact figures on one shared comparison scale. */
.yw-dashboard-performance .yw-total-revenue-card { min-width: 0; margin: 0; border-color: #e3dfe7; border-radius: 20px; background: #fbfafc; padding: 16px 17px 14px; box-shadow: none; }
.yw-dashboard-performance .yw-total-revenue-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.yw-dashboard-performance .yw-total-revenue-title { display: flex; min-width: 0; align-items: center; gap: 8px; }
.yw-dashboard-performance .yw-total-revenue-title h2 { margin: 0; color: #29242f; font-size: 18px; font-weight: 500; letter-spacing: -.035em; }
.yw-dashboard-performance .yw-total-revenue-year { color: #8b8191; font-size: 12px; font-weight: 500; }
.yw-dashboard-performance .yw-total-revenue-note { margin: 9px 0 0; color: #817988; font-size: 13px; line-height: 1.45; }
.yw-dashboard-performance .yw-total-revenue-note a { color: #8050bd; }
.yw-dashboard-performance .yw-total-revenue-legend { display: flex; align-items: center; gap: 13px; margin: 13px 0 5px; color: #8e8493; font-size: 12px; }
.yw-dashboard-performance .yw-total-revenue-legend > span { display: inline-flex; align-items: center; gap: 6px; }
.yw-dashboard-performance .yw-total-revenue-legend > span:last-child { margin-left: auto; }
.yw-dashboard-performance .yw-total-revenue-key { width: 8px; height: 8px; border-radius: 2px; background: #9658d6; }
.yw-dashboard-performance .yw-total-revenue-marker { width: 12px; height: 1px; background: #716477; }
.yw-dashboard-performance .yw-total-revenue-months { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 12px; }
.yw-dashboard-performance .yw-total-revenue-month { min-width: 0; border-top: 1px solid #efebf1; padding: 9px 2px 8px; transition: background-color .18s ease, padding .18s ease; }
.yw-dashboard-performance .yw-total-revenue-month:hover { background: #f6f1fa; }
.yw-dashboard-performance .yw-total-revenue-month-head { display: flex; align-items: baseline; justify-content: space-between; gap: 6px; }
.yw-dashboard-performance .yw-total-revenue-month-head > span { color: #817688; font-size: 13px; }
.yw-dashboard-performance .yw-total-revenue-month-head > strong { overflow: hidden; color: #29242f; font-size: 15px; font-weight: 550; text-overflow: ellipsis; white-space: nowrap; }
.yw-dashboard-performance .yw-total-revenue-month[data-complete="false"] .yw-total-revenue-month-head > strong { color: #9a92a0; font-weight: 500; }
.yw-dashboard-performance .yw-total-revenue-track { position: relative; height: 6px; overflow: visible; margin-top: 7px; border-radius: 2px; background: #eeebf1; }
.yw-dashboard-performance .yw-total-revenue-track > i { display: block; height: 100%; border-radius: inherit; background: #a875dc; transition: width .32s cubic-bezier(.2,.8,.2,1); }
.yw-dashboard-performance .yw-total-revenue-track > b { position: absolute; top: -2px; width: 1px; height: 10px; background: #6e5c7b; }
.yw-dashboard-performance .yw-total-revenue-month[data-complete="false"] .yw-total-revenue-track > i { background: #c2b5cc; }
.yw-dashboard-performance .yw-total-revenue-caption { overflow: hidden; margin-top: 5px; color: #918897; font-size: 12px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.yw-dashboard-performance .yw-total-revenue-total { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; margin-top: 7px; border-top: 1px solid #e7e1eb; padding-top: 10px; }
.yw-dashboard-performance .yw-total-revenue-total > div { display: flex; align-items: baseline; gap: 8px; margin-right: auto; }
.yw-dashboard-performance .yw-total-revenue-total > div > strong { color: #302a36; font-size: 13px; font-weight: 550; }
.yw-dashboard-performance .yw-total-revenue-total > div > span,
.yw-dashboard-performance .yw-total-revenue-total-plan { color: #8c8392; font-size: 11px; }
.yw-dashboard-performance .yw-total-revenue-total-value { color: #25212a; font-size: 16px; font-weight: 550; }
.yw-dashboard-performance .yw-total-revenue-basis { margin: 9px 0 0; color: #928997; font-size: 12px; line-height: 1.45; }

/* Health targets sit wider than the single labor measure beside them. */
.yw-dashboard-performance .yw-perf-health-pair .yw-health-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 1px solid #ebe7ed; }
.yw-dashboard-performance .yw-perf-health-pair .yw-health-item { display: flex; min-width: 0; flex-direction: column; gap: 6px; border-right: 1px solid #ebe7ed; padding: 14px 11px 8px; }
.yw-dashboard-performance .yw-perf-health-pair .yw-health-item:first-child { padding-left: 0; }
.yw-dashboard-performance .yw-perf-health-pair .yw-health-item:last-child { border-right: 0; }
.yw-dashboard-performance .yw-health-item-label { display: flex; min-height: 19px; align-items: center; gap: 6px; color: #6e6574; font-size: 13px; line-height: 1.35; }
.yw-dashboard-performance .yw-health-item-value { color: #25212a; font-size: 25px; font-weight: 500; line-height: 1.1; letter-spacing: -.05em; }
.yw-dashboard-performance .yw-health-item-target,
.yw-dashboard-performance .yw-health-item-note { color: #89818d; font-size: 12px; line-height: 1.45; }
.yw-dashboard-performance .yw-health-item a,
.yw-dashboard-performance .yw-health-targets-link { width: fit-content; color: #8050bd; font-size: 12px; line-height: 1.4; text-decoration: none; }
.yw-dashboard-performance .yw-health-item a:hover,
.yw-dashboard-performance .yw-health-targets-link:hover { text-decoration: underline; text-underline-offset: 2px; }
.yw-dashboard-performance .yw-health-targets-link { display: inline-block; margin-top: 10px; }

/* Outlook reads the same size as the neighboring finance tables. Lift the
   utility-sized annotations one step while leaving tight columns protected. */
.yw-dashboard-performance #week-ahead th { font-size: 12px; }
.yw-dashboard-performance #week-ahead tbody td { font-size: 14px; }
.yw-dashboard-performance #week-ahead tbody td :is(div, span)[class~="text-[11px]"] { font-size: 12px; }
.yw-dashboard-performance #outlook [class~="text-[11px]"] { font-size: 12px; }
.yw-dashboard-performance #outlook [class~="text-2xl"] { font-size: 27px; line-height: 1.1; }
.yw-dashboard-performance .yw-pickup-average > span,
.yw-dashboard-performance .yw-pickup-day > span,
.yw-dashboard-performance .yw-pickup-chart-key { font-size: 11px; }

/* Hover and chart animation stay quiet and deliberate. */
.yw-dashboard-performance [data-surface="dashboard.performance.more"] section[data-panel] { border-color: #e3dfe7; border-radius: 20px; background: #fbfafc; box-shadow: 0 1px 2px rgba(37, 27, 48, .02); transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.yw-dashboard-performance [data-surface="dashboard.performance.more"] section[data-panel]:hover { border-color: #d9c9e7; box-shadow: 0 7px 18px rgba(59, 34, 77, .055); transform: translateY(-1px); }
.yw-dashboard-performance [data-surface="dashboard.performance.more"] #outlook { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.yw-dashboard-performance [data-surface="dashboard.performance.more"] #outlook > * { min-width: 0; margin: 0; }
.yw-dashboard-performance #week-ahead table { min-width: 0; font-size: 13px; }
.yw-dashboard-performance #week-ahead th, .yw-dashboard-performance #week-ahead td { padding-top: 9px; padding-bottom: 9px; }
.yw-dashboard-performance .yw-perf-widgets { margin-top: 16px; }
.yw-dashboard-performance .yw-perf-widgets .yw-perf-widget-grid { gap: 15px; }
.yw-dashboard-performance .yw-perf-widgets .yw-perf-widget-card { padding: 18px 19px; }
.yw-dashboard-performance .yw-perf-widget-card .num { font-variant-numeric: tabular-nums lining-nums; }

[data-theme-root].dark .yw-dashboard-performance { color: #eee9f2; }
[data-theme-root].dark .yw-dashboard-performance .yw-perf-h2,
[data-theme-root].dark .yw-dashboard-performance [data-surface="dashboard.performance.more"] section[data-panel] > div:first-child h2,
[data-theme-root].dark .yw-dashboard-performance .yw-total-revenue-title h2 { color: #f1ecf7; }
[data-theme-root].dark .yw-dashboard-performance .yw-month-detail-year { color: #a79cad; }
[data-theme-root].dark .yw-dashboard-performance [data-surface="dashboard.performance.more"] section[data-panel],
[data-theme-root].dark .yw-dashboard-performance .yw-total-revenue-card { border-color: #2b2535; background: #0a0f1e; box-shadow: none; }
[data-theme-root].dark .yw-dashboard-performance [data-surface="dashboard.performance.more"] section[data-panel]:hover { border-color: #4b3a5d; }
[data-theme-root].dark .yw-dashboard-performance [data-surface="dashboard.performance.more"] section[data-panel] > div:first-child { border-color: #292332; }
[data-theme-root].dark .yw-dashboard-performance [data-surface="dashboard.performance.more"] section[data-panel] > div:first-child .num { color: #aca0b6; }
[data-theme-root].dark .yw-dashboard-performance [data-surface="dashboard.performance.below-the-line"] > .group,
[data-theme-root].dark .yw-dashboard-performance [data-surface="dashboard.performance.rooms-and-demand"] > .group,
[data-theme-root].dark .yw-dashboard-performance .yw-perf-health-pair .yw-health-grid,
[data-theme-root].dark .yw-dashboard-performance .yw-perf-health-pair .yw-health-item,
[data-theme-root].dark .yw-dashboard-performance #week-by-week td { border-color: #2a2432; }
[data-theme-root].dark .yw-dashboard-performance [data-surface="dashboard.performance.below-the-line"] > .group [data-slot="stat-tile-row"] > div > div:first-child,
[data-theme-root].dark .yw-dashboard-performance [data-surface="dashboard.performance.rooms-and-demand"] > .group [data-slot="stat-tile-row"] > div > div:first-child,
[data-theme-root].dark .yw-dashboard-performance [data-surface="dashboard.performance.labor"] > .group [data-slot="stat-tile-row"] > div > div:first-child,
[data-theme-root].dark .yw-dashboard-performance .yw-health-item-value { color: #f1ecf7; }
[data-theme-root].dark .yw-dashboard-performance #month-by-month th,
[data-theme-root].dark .yw-dashboard-performance #month-by-month td { color: #d9d2e3; }
[data-theme-root].dark .yw-dashboard-performance #month-by-month tbody tr:hover { background: #171422; }
[data-theme-root].dark .yw-dashboard-performance #month-by-month tbody tr.bg-zinc-100 { background: #252037; }
[data-theme-root].dark .yw-dashboard-performance #month-by-month tfoot tr { background: #181625; }
[data-theme-root].dark .yw-dashboard-performance .yw-total-revenue-legend,
[data-theme-root].dark .yw-dashboard-performance .yw-total-revenue-month-head > span,
[data-theme-root].dark .yw-dashboard-performance .yw-total-revenue-caption,
[data-theme-root].dark .yw-dashboard-performance .yw-total-revenue-basis { color: #a79cad; }
[data-theme-root].dark .yw-dashboard-performance .yw-total-revenue-month { border-color: #2b2535; }
[data-theme-root].dark .yw-dashboard-performance .yw-total-revenue-month:hover { background: #211a2a; }
[data-theme-root].dark .yw-dashboard-performance .yw-total-revenue-month-head > strong,
[data-theme-root].dark .yw-dashboard-performance .yw-total-revenue-total > div > strong,
[data-theme-root].dark .yw-dashboard-performance .yw-total-revenue-total-value { color: #f1ecf7; }
[data-theme-root].dark .yw-dashboard-performance .yw-total-revenue-track { background: #2c2634; }
[data-theme-root].dark .yw-dashboard-performance .yw-total-revenue-track > b { background: #d0c3dc; }
[data-theme-root].dark .yw-dashboard-performance .yw-total-revenue-total { border-color: #332b3d; }
[data-theme-root].dark .yw-dashboard-performance .yw-week-bars { border-color: #393041; }
[data-theme-root].dark .yw-dashboard-performance .yw-week-bars > span { background: #644b7b; }
[data-theme-root].dark .yw-dashboard-performance .yw-week-bars > span[data-current="true"] { background: #aa77dc; }
[data-theme-root].dark .yw-dashboard-performance .yw-perf-analysis-stack .text-rose-700,
[data-theme-root].dark .yw-dashboard-performance .yw-perf-analysis-stack .text-rose-600 { color: #d69ab4; }

@media (max-width: 1050px) {
  .yw-dashboard-performance .yw-perf-pair-grid { grid-template-columns: minmax(0, 1fr); }
  .yw-dashboard-performance .yw-perf-pair-grid > :only-child { grid-column: auto; }
  .yw-dashboard-performance .yw-perf-health-pair { grid-template-columns: minmax(0, 1fr); }
  .yw-dashboard-performance .yw-perf-health-pair .yw-health-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .yw-dashboard-performance [data-surface="dashboard.performance.more"] #outlook { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 720px) {
  .yw-dashboard-performance .yw-total-revenue-months { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .yw-dashboard-performance .yw-perf-health-pair .yw-health-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .yw-dashboard-performance .yw-perf-health-pair .yw-health-item:nth-child(3n) { border-right: 0; }
  .yw-dashboard-performance .yw-perf-health-pair .yw-health-item { border-bottom: 1px solid #ebe7ed; }
  .yw-dashboard-performance .yw-perf-health-pair .yw-health-item:nth-child(3n + 1) { padding-left: 0; }
}
@media (max-width: 520px) {
  .yw-dashboard-performance #month-by-month { padding: 15px 13px; }
  .yw-dashboard-performance .yw-total-revenue-months,
  .yw-dashboard-performance [data-surface="dashboard.performance.below-the-line"],
  .yw-dashboard-performance [data-surface="dashboard.performance.rooms-and-demand"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .yw-dashboard-performance .yw-perf-health-pair .yw-health-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .yw-dashboard-performance .yw-perf-health-pair .yw-health-item:nth-child(3n) { border-right: 1px solid #ebe7ed; }
  .yw-dashboard-performance .yw-perf-health-pair .yw-health-item:nth-child(even) { border-right: 0; }
  .yw-dashboard-performance .yw-perf-health-pair .yw-health-item:nth-child(odd) { padding-left: 0; }
  .yw-dashboard-performance [data-surface="dashboard.performance.more"] section[data-panel] > div:first-child { padding-right: 14px; padding-left: 14px; }
  .yw-dashboard-performance [data-surface="dashboard.performance.more"] section[data-panel] > div + div { padding-right: 14px; padding-left: 14px; }
  .yw-dashboard-performance .yw-total-revenue-card { padding-right: 13px; padding-left: 13px; }
}
@media (max-width: 390px) {
  .yw-dashboard-performance .yw-total-revenue-months,
  .yw-dashboard-performance [data-surface="dashboard.performance.below-the-line"],
  .yw-dashboard-performance [data-surface="dashboard.performance.rooms-and-demand"] { grid-template-columns: minmax(0, 1fr); }
  .yw-dashboard-performance .yw-total-revenue-month-head > strong { font-size: 15px; }
}
@media (max-width: 520px) {
  .yw-dashboard-performance #month-by-month { padding: 15px 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .yw-dashboard-performance .yw-week-bars > span,
  .yw-dashboard-performance .yw-total-revenue-month,
  .yw-dashboard-performance .yw-total-revenue-track > i,
  .yw-dashboard-performance [data-surface="dashboard.performance.more"] section[data-panel] { transition: none; }
}

/* These panels carry their own explanatory heading, with no second header. */
.yw-dashboard-performance [data-surface="dashboard.performance.more"] section[data-panel][data-heading-in-body] > div { padding: 20px 21px; border-top: 0; }
.yw-dashboard-performance .yw-report-title { order: -1; flex-basis: 100%; margin: 0 0 8px; color: #202024; font-size: 19px; font-weight: 500; letter-spacing: -.035em; line-height: 1.3; }
.yw-dashboard-performance .yw-total-revenue-title { flex-wrap: wrap; gap: 5px 10px; }
.yw-dashboard-performance .yw-total-revenue-title .yw-report-title { flex-basis: auto; margin: 0; }
.yw-dashboard-performance .yw-total-revenue-head { align-items: baseline; flex-wrap: wrap; }
.yw-dashboard-performance #month-by-month .yw-perf-card-head { justify-content: flex-start; }
.yw-dashboard-performance #month-by-month td:not(:first-child) { white-space: nowrap; }
.yw-dashboard-performance #month-by-month thead tr:first-child th { padding-top: 5px; padding-bottom: 14px; text-transform: none; letter-spacing: 0; }
.yw-dashboard-performance #month-by-month th, .yw-dashboard-performance #month-by-month td { vertical-align: middle; }
.yw-dashboard-performance #week-ahead table { min-width: 500px; table-layout: fixed; }
.yw-dashboard-performance #week-ahead th:first-child { width: 28%; }
.yw-dashboard-performance #week-ahead th { font-weight: 500; text-transform: none; letter-spacing: 0; line-height: 1.4; }
.yw-dashboard-performance #week-ahead td { padding-top: 14px; padding-bottom: 14px; }
.yw-dashboard-performance #week-ahead td:not(:first-child) > .font-semibold { white-space: nowrap; }
.yw-dashboard-performance .yw-week-plan-basis { color: #8b8191; font-size: 12px; white-space: nowrap; }
/* Match the lighter month-bar figures and give paired widgets one baseline. */
.yw-dashboard-performance [data-surface="dashboard.performance.more"] .num,
.yw-dashboard-performance [data-surface="dashboard.performance.more"] .tabular-nums,
.yw-dashboard-performance [data-surface="dashboard.performance.more"] .group [data-slot="stat-tile-row"] > div > div:first-child,
.yw-dashboard-performance .yw-health-item-value,
.yw-dashboard-performance .yw-perf-widget-card .num,
.yw-dashboard-performance #month-by-month .num { font-weight: 400; }
.yw-dashboard-performance .yw-perf-widgets .yw-perf-widget-grid { align-items: stretch; }
.yw-dashboard-performance .yw-perf-widget-grid > div { display: flex; min-width: 0; }
.yw-dashboard-performance .yw-perf-widget-grid > div > * { width: 100%; height: 100%; }
.yw-dashboard-performance .yw-perf-widgets .yw-perf-widget-card { padding: 24px; }
.yw-dashboard-performance .yw-perf-widget-card .yw-report-title { flex-basis: auto; margin: 0; }
.yw-dashboard-performance .yw-channel-row { font-size: 13px; padding: 12px 0; }
.yw-dashboard-performance .yw-perf-distribution-row { font-size: 13px; padding: 10px 0; }
.yw-dashboard-performance .yw-perf-widget-card table td { padding: 10px 5px; font-size: 13px; white-space: nowrap; }
.yw-dashboard-performance .yw-perf-widget-card table th { padding: 12px 5px; font-size: 12px; font-weight: 400; text-transform: none; letter-spacing: 0; }
.yw-dashboard-performance #week-ahead tbody td .font-semibold { font-weight: 400; }
[data-theme-root].dark .yw-dashboard-performance .yw-report-title { color: #f1ecf7; }
@media (max-width: 520px) {
  .yw-dashboard-performance [data-surface="dashboard.performance.more"] section[data-panel][data-heading-in-body] > div { padding: 18px 14px; }
}

/* ---- Labor, Front desk and Health benchmarks (10/12) ----------------------
   Owner: "these containers need fixing". The three shared one uneven grid
   (.95fr / 1.65fr), so Health benchmarks fell into the narrow left column
   under Labor, its five figures wrapping a word a line, with a hole beside
   it. Now Labor and Front desk are equal halves and Health benchmarks takes
   its own full row, the five figures in one line. */
.yw-dashboard-performance .yw-perf-health-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.yw-dashboard-performance .yw-perf-health-pair > :has(.yw-health-grid) { grid-column: 1 / -1; }

/* The verdict words on Health benchmarks (the columns on Labor and Front desk
   are the kit's .yw-stat-cols, skin/kit.css). */
.yw-dashboard-performance .yw-health-item-verdict { font-size: 12px; font-weight: 500; }
.yw-dashboard-performance .yw-health-item-verdict[data-tone="good"] { color: #279876; }
.yw-dashboard-performance .yw-health-item-verdict[data-tone="warn"] { color: #b7791f; }
.yw-dashboard-performance .yw-health-item-verdict[data-tone="bad"] { color: #c85f84; }
.yw-dashboard-performance .yw-perf-card-foot { margin: 14px 0 0; font-size: 13px; }
/* Health benchmarks: the label sits alone now that the dot is gone. */
.yw-dashboard-performance .yw-perf-health-pair .yw-health-item-label { gap: 0; }
[data-theme-root].dark .yw-dashboard-performance .yw-health-item-verdict[data-tone="good"] { color: #7fd3b4; }
[data-theme-root].dark .yw-dashboard-performance .yw-health-item-verdict[data-tone="warn"] { color: #e7c48f; }
[data-theme-root].dark .yw-dashboard-performance .yw-health-item-verdict[data-tone="bad"] { color: #f0b8d2; }

