/* Dashboard Overview (9/29, the approved demo): the three-column grid, the
   Room revenue booked this month hero, the Last 14 nights card, the Last full week rows,
   the insight carousel, Needs you and the full-width pace card, then the
   month list and the More boxes under them. Skin only: every figure, link
   and action is the component's own. Scoped under .yw-dashboard-overview or
   the Overview's own zone markers; every colour has a [data-theme-root].dark
   variant at the bottom of the file. Sizes are the demo's
   (demo-style-nofont.css): cards radius 24 / padding 23 / border #e2e1e4,
   h2 19px, sub 12px #929097, .more 35px round, text-link 11px #8553c2. */

/* ------------------------------------------------------------ the grid -- */
.yw-dashboard-overview { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(0, 1.06fr) minmax(0, 1fr); gap: 16px; align-items: stretch; margin-top: 18px; }
.yw-dashboard-period-note { margin-top: 10px; color: #887c90; font-size: 12px; }
.yw-dashboard-overview > [data-zone] { margin: 0; min-width: 0; }
.yw-dashboard-overview > [data-zone="verdict"] { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; }
.yw-dashboard-overview > [data-zone="evidence-tiles"] { grid-column: 2; grid-row: 1 / span 2; display: flex; flex-direction: column; }
.yw-dashboard-overview > .yw-insight { grid-column: 3; grid-row: 1; }
.yw-dashboard-overview > [data-zone="working-row"] { display: contents; }
.yw-dashboard-overview > [data-zone="working-row"] > [data-slot] { display: flex; flex-direction: column; min-width: 0; }
.yw-dashboard-overview > [data-zone="working-row"] > [data-slot]:empty { display: none; }
.yw-dashboard-overview > [data-zone="working-row"] > [data-slot="nights"] { grid-column: 1; grid-row: 2; }
.yw-dashboard-overview > [data-zone="working-row"] > [data-slot="needs"] { grid-column: 3; grid-row: 2; }
.yw-dashboard-overview > [data-zone="working-row"] > [data-slot="pace"] { grid-column: 1 / -1; grid-row: 3; }
/* The explicit placement above assumes every zone exists. The weekly card
   is only rendered when the tenant is past the connect / waiting / empty
   states (overview-tab.tsx showKpiStrip), the nights card only when the
   board is ready, and the insight only with slides. Without the weekly card
   the pinned cells would leave holes (hero top left, Needs you bottom
   right, nothing between), so the grid falls back to two auto-flowing
   columns with the pace card full width. */
.yw-dashboard-overview:not(:has(> [data-zone="evidence-tiles"])) { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: row dense; }
.yw-dashboard-overview:not(:has(> [data-zone="evidence-tiles"])) > [data-zone],
.yw-dashboard-overview:not(:has(> [data-zone="evidence-tiles"])) > .yw-insight,
.yw-dashboard-overview:not(:has(> [data-zone="evidence-tiles"])) > [data-zone="working-row"] > [data-slot] { grid-column: auto; grid-row: auto; }
.yw-dashboard-overview:not(:has(> [data-zone="evidence-tiles"])) > [data-zone="working-row"] > [data-slot="pace"] { grid-column: 1 / -1; }
/* Each wrapper's one card fills its cell, so the weekly card runs the full
   height of rows one and two beside the hero and the nights. */
.yw-dashboard-overview > [data-zone] > section, .yw-dashboard-overview > [data-zone="working-row"] > [data-slot] > section, .yw-dashboard-overview .yw-needs { flex: 1 1 auto; }
/* Total revenue (10/10, owner: "ONE clean card that does not disturb the
   existing Dashboard UI at all"). 10/11: it went to the very top, joined to
   the hero as an L (#3774), and came back here the same day (owner: "it
   looks ulgy and confusing having them on top, that doesent follow our new
   design style"): the top block is the approved three columns again, and
   the card is its own row under it, the same chrome as the pace strip.
   The card stays inside the evidence-tiles zone in the markup (the face is still four zones). On the grid the zone
   hands its two cards to the grid itself, as since 10/7: the weekly card in
   its own cell beside the hero and the nights (rows one and two, sized
   exactly as without the card), and Total revenue as one full-width row
   directly under that block, above the pace strip. Every rule that moves
   the pace strip down a row is scoped to a face that has this card, so a
   face without it is untouched. The card lays out across, not down: the
   total on the left, the sources as a row of compact tiles on the right,
   so it stays short. */
.yw-dashboard-overview > [data-zone] > section[data-surface="dashboard.overview.revenue-sources"] { flex: 0 0 auto; }
@media (min-width: 801px) {
  .yw-dashboard-overview > [data-zone="evidence-tiles"]:has(> [data-surface="dashboard.overview.revenue-sources"]) { display: contents; }
  .yw-dashboard-overview > [data-zone="evidence-tiles"] > :not([data-surface="dashboard.overview.revenue-sources"]) { grid-column: 2; grid-row: 1 / span 2; min-width: 0; margin: 0; }
  .yw-dashboard-overview > [data-zone="evidence-tiles"] > section[data-surface="dashboard.overview.revenue-sources"] { grid-column: 1 / -1; grid-row: 3; margin: 0; }
  .yw-dashboard-overview:has(> [data-zone="evidence-tiles"] > [data-surface="dashboard.overview.revenue-sources"]) > [data-zone="working-row"] > [data-slot="pace"] { grid-row: 4; }
}
/* Two columns (801 to 1100px): the insight and Needs you are row three
   there, so the card is row four and the pace strip row five. */
@media (min-width: 801px) and (max-width: 1100px) {
  .yw-dashboard-overview > [data-zone="evidence-tiles"] > section[data-surface="dashboard.overview.revenue-sources"] { grid-row: 4; }
  .yw-dashboard-overview:has(> [data-zone="evidence-tiles"] > [data-surface="dashboard.overview.revenue-sources"]) > [data-zone="working-row"] > [data-slot="pace"] { grid-row: 5; }
}
/* Phone: the stacked page, the card just before the pace strip. */
@media (max-width: 800px) {
  .yw-dashboard-overview:has(> [data-zone="evidence-tiles"] > [data-surface="dashboard.overview.revenue-sources"]) > [data-zone="evidence-tiles"] { display: contents; }
  .yw-dashboard-overview:has(> [data-zone="evidence-tiles"] > [data-surface="dashboard.overview.revenue-sources"]) > [data-zone="evidence-tiles"] > :not([data-surface="dashboard.overview.revenue-sources"]) { order: 3; width: 100%; }
  .yw-dashboard-overview > [data-zone="evidence-tiles"] > section[data-surface="dashboard.overview.revenue-sources"] { order: 6; width: 100%; margin: 0; }
  .yw-dashboard-overview:has(> [data-zone="evidence-tiles"] > [data-surface="dashboard.overview.revenue-sources"]) > [data-zone="working-row"] > [data-slot="pace"] { order: 7; }
}
/* The card itself: the same chrome as the pace strip. */
.yw-dashboard-overview section[data-surface="dashboard.overview.revenue-sources"] { display: grid; grid-template-columns: minmax(230px, 300px) minmax(0, 1fr); align-items: stretch; column-gap: 32px; border-color: #e2e1e4; border-radius: 24px; background: #fbfbfb; padding: 23px; box-shadow: 0 2px 3px rgba(0, 0, 0, .008); }
.yw-dashboard-overview section[data-surface="dashboard.overview.revenue-sources"] > .yw-revsrc-main { grid-column: 1; min-width: 0; }
.yw-dashboard-overview section[data-surface="dashboard.overview.revenue-sources"] > .yw-revsrc-tiles { grid-column: 2; }
.yw-dashboard-overview section[data-surface="dashboard.overview.revenue-sources"] > .yw-revsrc-foot { grid-column: 1 / -1; display: flex; flex-direction: column; gap: 4px; margin-top: 14px; }
/* 10/11 (owner: "what are these generic things at the top. they dont look
   anything like our design style"): the Dashboard's language. The total at
   the KPI size, Room revenue and Non-room sales as hairline rows, and the
   sources as columns beside it: no box, no background, a hairline between
   them; the label 13px, the dollars at the row value size, a hatched track
   of the source's share of the largest, where the money came from as one
   12px quiet line. The notes under the card are the 12.5px note. */
.yw-revsrc-total { margin-top: 12px; color: #202024; font-size: clamp(34px, 2.9vw, 42px); font-weight: 500; letter-spacing: -.05em; line-height: 1.12; }
.yw-revsrc-split { display: flex; flex-direction: column; margin: 14px 0 0; color: #59535f; font-size: 13px; }
.yw-revsrc-split > span { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 9px 0; border-top: 1px solid #eae8ec; }
.yw-revsrc-split strong { color: #202024; font-size: 14px; font-weight: 500; }
.yw-revsrc-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); align-content: center; row-gap: 18px; }
.yw-revsrc-tile { display: flex; flex-direction: column; gap: 7px; min-width: 0; padding: 2px 18px; border-left: 1px solid #eae8ec; }
.yw-revsrc-tile-label { overflow: hidden; color: #59535f; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.yw-revsrc-tile-amount { color: #202024; font-size: 22px; font-weight: 500; line-height: 1.15; letter-spacing: -.7px; }
.yw-revsrc-track { display: block; height: 6px; overflow: hidden; border-radius: 3px; background: #eeedf1; }
.yw-revsrc-track > i { display: block; height: 100%; border-radius: inherit; background: repeating-linear-gradient(125deg, #9161df 0 2px, #dcccfa 2px 4px); }
.yw-revsrc-tags { overflow: hidden; color: #929097; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.yw-dashboard-overview section[data-surface="dashboard.overview.revenue-sources"] > .yw-revsrc-foot .yw-card-sub { color: #929097; font-size: 12.5px; line-height: 1.5; }
@media (max-width: 1100px) {
  .yw-dashboard-overview section[data-surface="dashboard.overview.revenue-sources"] { grid-template-columns: minmax(0, 1fr); row-gap: 16px; }
  .yw-dashboard-overview section[data-surface="dashboard.overview.revenue-sources"] > .yw-revsrc-tiles { grid-column: 1; }
  .yw-dashboard-overview section[data-surface="dashboard.overview.revenue-sources"] > .yw-revsrc-foot { margin-top: 0; }
}
@media (max-width: 520px) {
  .yw-dashboard-overview section[data-surface="dashboard.overview.revenue-sources"] { padding: 18px; }
  .yw-revsrc-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .yw-revsrc-tile { padding: 2px 12px; }
  .yw-revsrc-tile-amount { font-size: 18px; }
}
[data-theme-root].dark .yw-dashboard-overview section[data-surface="dashboard.overview.revenue-sources"] { border-color: #1c2843; background: #0d1527; box-shadow: none; }
[data-theme-root].dark .yw-revsrc-total, [data-theme-root].dark .yw-revsrc-tile-amount, [data-theme-root].dark .yw-revsrc-split strong { color: #f4eff6; }
[data-theme-root].dark .yw-revsrc-tile, [data-theme-root].dark .yw-revsrc-split > span { border-color: #1c2843; }
[data-theme-root].dark .yw-revsrc-tile-label, [data-theme-root].dark .yw-revsrc-split { color: #c3b9cc; }
[data-theme-root].dark .yw-revsrc-tags, [data-theme-root].dark .yw-dashboard-overview section[data-surface="dashboard.overview.revenue-sources"] > .yw-revsrc-foot .yw-card-sub { color: #a297ab; }
[data-theme-root].dark .yw-revsrc-track { background: #142036; }
[data-theme-root].dark .yw-revsrc-track > i { background: repeating-linear-gradient(125deg, #a883ee 0 2px, #4a3a63 2px 4px); }

/* --------------------------------------------------------- card chrome -- */
.yw-dashboard-overview section[data-surface="dashboard.today.hero"],
.yw-dashboard-overview section[data-surface="dashboard.today.nights"],
.yw-dashboard-overview section[data-tour="dashboard.scoreboard"],
.yw-dashboard-overview section[data-surface="dashboard.today.next14"],
.yw-dashboard-overview .yw-needs > section,
.yw-dashboard-overview section.yw-needs,
.yw-dashboard-overview [data-slot="needs"] > section,
.yw-dashboard-overview [data-slot="pace"] > section { border-color: #e2e1e4; border-radius: 24px; background: #fbfbfb; padding: 23px; box-shadow: 0 2px 3px rgba(0, 0, 0, .008); }
.yw-dashboard-overview section[data-surface="dashboard.today.hero"] { min-height: 431px; display: flex; flex-direction: column; }
/* A connect prompt or a waiting state has no track, no plan rows and no
   collect chip: it is a short message, not a mostly empty 431px card. */
.yw-dashboard-overview section[data-surface="dashboard.today.hero"]:not(:has(.yw-track)) { min-height: 0; }
.yw-dashboard-overview section[data-surface="dashboard.today.nights"] { min-height: 412px; padding-top: 25px; }
.yw-dashboard-overview .yw-needs > section, .yw-dashboard-overview section.yw-needs, .yw-dashboard-overview [data-slot="needs"] > section { min-height: 412px; }
.yw-dashboard-overview section[data-tour="dashboard.scoreboard"] { display: flex; flex-direction: column; }


/* ---------------------------------------------------------- the hero -- */
.yw-dashboard-booked-value { display: block; white-space: nowrap; }
/* The collect row: full width, amber, the same door to /money. Beats the
   chip's own utility classes (it is shared markup, dressed here). */
.yw-dashboard-overview .yw-hero-collect { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; margin-top: auto; padding: 10px 12px; border: 0; border-radius: 11px; background: #fff8eb; color: #a06b24; font-size: 12px; font-weight: 400; }
.yw-dashboard-overview .yw-hero-collect strong { font-weight: 600; color: #a06b24; }
.yw-dashboard-overview .yw-hero-collect .yw-hero-collect-asof { color: #b18b56; font-size: 10px; }
.yw-hero-collect-chevron { color: #c9a56f; font-size: 15px; line-height: 1; }
.yw-dashboard-overview section[data-surface="dashboard.today.hero"] > .yw-row-stats + .yw-hero-collect, .yw-dashboard-overview section[data-surface="dashboard.today.hero"] > .yw-track-labels + .yw-hero-collect { margin-top: 5px; }
.yw-dashboard-overview section[data-surface="dashboard.today.hero"] > .yw-hero-collect { margin-top: auto; padding-top: 10px; }

/* --------------------------------------------------- the last 14 nights -- */
.yw-dashboard-overview .yw-floor-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 9px; margin-top: 24px; padding-top: 19px; border-top: 1px solid #e5e4e7; }
.yw-dashboard-overview .yw-floor-stat { padding: 0; border: 0; border-radius: 0; background: transparent; }
.yw-dashboard-overview .yw-floor-stat-label { color: #999; font-size: 9px; font-weight: 400; letter-spacing: .35px; }
.yw-dashboard-overview .yw-floor-stat-help { position: relative; width: fit-content; max-width: 100%; }
.yw-dashboard-overview .yw-floor-stat-help::after { position: absolute; top: 100%; left: 0; width: 100%; height: 12px; content: ""; }
.yw-dashboard-overview .yw-floor-stat-help-trigger { display: block; padding: 0; border: 0; background: none; text-align: left; text-transform: uppercase; cursor: help; transition: color .18s ease; }
.yw-dashboard-overview .yw-floor-stat-help-trigger:hover, .yw-dashboard-overview .yw-floor-stat-help-trigger:focus-visible { color: #7c3aed; }
.yw-dashboard-overview .yw-floor-stat-help-trigger:focus-visible { outline: 2px solid #ad80ee; outline-offset: 3px; border-radius: 2px; }
.yw-dashboard-overview .yw-floor-stat-popover { position: absolute; z-index: 40; top: calc(100% + 10px); left: 0; width: min(265px, 74vw); padding: 13px 15px; border: 1px solid #e5ddea; border-radius: 13px; background: #fdfcfe; box-shadow: 0 14px 35px #3a214425; color: #62576b; font-size: 11px; font-weight: 400; letter-spacing: 0; line-height: 1.5; text-transform: none; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-4px) scale(.98); transform-origin: top left; transition: opacity .2s ease, transform .2s cubic-bezier(.16,1,.3,1), visibility .2s; }
.yw-dashboard-overview .yw-floor-stat-help:hover .yw-floor-stat-popover, .yw-dashboard-overview .yw-floor-stat-help:focus-within .yw-floor-stat-popover { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
.yw-dashboard-overview .yw-floor-stat-popover strong { display: block; margin-bottom: 5px; color: #29242e; font-size: 12px; font-weight: 500; }
.yw-dashboard-overview .yw-floor-stat-popover p + p { margin-top: 6px; }
.yw-dashboard-overview .yw-floor-stat-popover a { display: inline-block; margin-top: 9px; color: #7c3aed; text-decoration: none; }
.yw-dashboard-overview .yw-floor-stat-popover a:hover { text-decoration: underline; text-underline-offset: 2px; }
.yw-dashboard-overview .yw-floor-stat:nth-child(3n) .yw-floor-stat-popover { right: 0; left: auto; transform-origin: top right; }
@media (max-width: 639px) { .yw-dashboard-overview .yw-floor-stat:nth-child(3n) .yw-floor-stat-popover { right: auto; left: 0; } .yw-dashboard-overview .yw-floor-stat:nth-child(2n) .yw-floor-stat-popover { right: 0; left: auto; transform-origin: top right; } }
.yw-dashboard-overview .yw-floor-stat-value { margin: 5px 0 2px; color: #202024; font-size: 17px; font-weight: 500; letter-spacing: -.5px; }
.yw-dashboard-overview .yw-floor-stat a:hover .yw-floor-stat-value { color: #8228ef; }
.yw-dashboard-overview .yw-floor-stat-sub { color: #939096; font-size: 10px; line-height: 1.45; }


/* ---------------------------------------------------------- needs you -- */
/* The card itself is the kit's (skin/kit.css); here, its height on the grid
   and the older shared-card form (TriagedQueueSection) it can still hold. */
.yw-dashboard-overview .yw-needs-card { min-height: 412px; }
.yw-dashboard-overview .yw-needs > .yw-needs-card { min-height: 412px; }
.yw-dashboard-overview .yw-needs > section { display: flex; flex: 1 1 auto; flex-direction: column; padding-bottom: 15px; }
/* The shared card's header, read as the demo's card-head: the label is the
   title, the count line is the sub. Room on the right for the round link. */
.yw-dashboard-overview .yw-needs > section > header { margin: 0 0 14px; padding: 0 44px 0 0; border: 0; }
.yw-dashboard-overview .yw-needs > section > header .text-violet-600, .yw-dashboard-overview section.yw-needs > .text-violet-600, .yw-dashboard-overview .yw-needs > section > span > .text-violet-600 { color: #202024; font-size: 19px; font-weight: 500; line-height: 1.3; letter-spacing: -.55px; }
.yw-dashboard-overview .yw-needs > section > header > div > div:last-child { margin-top: 3px; color: #929097; font-size: 12px; font-weight: 400; line-height: 1.5; }
.yw-dashboard-overview .yw-needs > section > header > div > div:last-child .num { color: #929097; }
.yw-dashboard-overview .yw-needs > section > header > div > div:last-child .text-zinc-700 { color: #929097; font-size: 12px; font-weight: 400; }
.yw-dashboard-overview .yw-needs > section > ol { max-height: none; overflow: visible; }
.yw-dashboard-overview .yw-needs > section > ol > li { border-color: #eae8ec; }
.yw-dashboard-overview .yw-needs > section > ol > li > div:first-child { grid-template-columns: auto minmax(0, 1fr) auto; column-gap: 10px; row-gap: 2px; padding: 13px 0 4px; background: transparent; }
.yw-dashboard-overview .yw-needs > section > ol > li > div:first-child > div:first-child { width: auto; }
.yw-dashboard-overview .yw-needs > section > ol > li > div:first-child > div:first-child .num { display: none; }
.yw-dashboard-overview .yw-needs > section > ol > li > div:first-child > div:first-child > span { display: inline-grid; place-items: center; min-width: 33px; height: 33px; padding: 0 7px; border-radius: 17px; background: #f7e8ee; color: #ad7692; font-size: 8px; letter-spacing: .3px; }
.yw-dashboard-overview .yw-needs > section > ol > li > div:first-child > div:first-child > span.text-zinc-500 { background: #ede7f7; color: #956dbd; }
.yw-dashboard-overview .yw-needs > section > ol > li > div:first-child .text-xs.font-medium { font-size: 12px; line-height: 1.4; }
.yw-dashboard-overview .yw-needs > section > ol > li > div:first-child .text-xs.font-medium a { color: #202024; }
.yw-dashboard-overview .yw-needs > section > ol > li > div:first-child .text-zinc-500 { color: #a09aa4; font-size: 10px; line-height: 1.5; }
.yw-dashboard-overview .yw-needs > section > ol > li > div:first-child .text-right .num { color: #59535f; font-size: 12px; }
.yw-dashboard-overview .yw-needs > section > ol > li:hover { background: transparent; }
/* Open, Assign and Dismiss stay real buttons, compact and always on the row
   (never hover-only). */
.yw-dashboard-overview .yw-needs > section > ol > li > div:nth-child(2) { margin-top: 0; padding: 0 0 12px; gap: 6px; }
.yw-dashboard-overview .yw-needs > section > ol > li > div:nth-child(2) a, .yw-dashboard-overview .yw-needs > section > ol > li > div:nth-child(2) button { min-height: 30px; padding: 0 11px; border-radius: 9px; font-size: 11px; }
.yw-dashboard-overview .yw-needs > section > ol > li > div:nth-child(2) .text-zinc-400 { font-size: 10px; }
.yw-dashboard-overview .yw-needs > section > ol > li > a { min-height: 36px; padding: 8px 0 0; color: #8853be; font-size: 11px; }
.yw-dashboard-overview .yw-needs > section > ol > li > a:hover { background: transparent; text-decoration: underline; }
.yw-dashboard-overview .yw-needs > section > .text-sm, .yw-dashboard-overview section.yw-needs > .text-sm { margin-top: 14px; color: #59535f; font-size: 13px; }

/* ------------------------------------------------------- the pace card -- */
.yw-dashboard-overview .yw-pace .yw-card-head { margin-bottom: 22px; }
.yw-pace-title { display: flex; align-items: center; gap: 8px; min-width: 0; }
.yw-dashboard-overview .yw-pace .yw-card-title { font-size: 18px; }
.yw-dashboard-overview .yw-pace .yw-card-title > a > [aria-hidden] { display: none; }
.yw-dashboard-overview .yw-pace-grid { display: grid; grid-template-columns: repeat(14, minmax(0, 1fr)); gap: 7px; margin-top: 0; }
.yw-dashboard-overview .yw-pace-day { position: relative; padding: 10px 2px 9px; border: 1px solid #f0d2dd; border-radius: 11px; background: linear-gradient(#fff9fb, #faedf3); color: #b4547d; text-align: center; transition: transform 200ms, box-shadow 200ms; }
.yw-dashboard-overview .yw-pace-day:hover { transform: translateY(-4px); box-shadow: 0 5px 12px rgba(181, 104, 146, .13); }
.yw-dashboard-overview .yw-pace-day[data-pace="ahead"], .yw-dashboard-overview .yw-pace-day[data-pace="on"] { border-color: #d3e8df; background: linear-gradient(#f4fcf9, #e8f5ef); color: #508c76; }
.yw-dashboard-overview .yw-pace-day[data-pace="none"] { border-color: #e5e4e7; background: #fff; color: #6b6472; }
.yw-dashboard-overview .yw-pace-dow { color: #a27f92; font-size: 9px; font-weight: 400; letter-spacing: .2px; opacity: 1; }
.yw-dashboard-overview .yw-pace-day[data-pace="ahead"] .yw-pace-dow, .yw-dashboard-overview .yw-pace-day[data-pace="on"] .yw-pace-dow { color: #88a597; }
.yw-dashboard-overview .yw-pace-day[data-pace="none"] .yw-pace-dow { color: #9a949f; }
.yw-dashboard-overview .yw-pace-num { font-size: 11px; opacity: 1; }
.yw-dashboard-overview .yw-pace-occ { margin-top: 8px; font-size: 18px; font-weight: 500; line-height: 1.3; letter-spacing: -.6px; }
.yw-dashboard-overview .yw-pace-word { font-size: 9px; line-height: 1.5; opacity: 1; }
.yw-dashboard-overview .yw-pace-gap { margin-top: 4px; font-size: 8px; font-weight: 400; line-height: 1.4; white-space: nowrap; }
.yw-dashboard-overview .yw-pace-day[data-why] .yw-pace-gap { white-space: normal; }
.yw-dashboard-overview .yw-pace-why { margin-top: 2px; font-size: 8px; font-weight: 400; line-height: 1.3; white-space: normal; opacity: .8; }
.yw-pace-meter { height: 3px; margin: 10px 9px 0; border-radius: 10px; background: #edccda; }
.yw-pace-meter i { display: block; height: 100%; border-radius: 10px; background: #d982a5; }
.yw-pace-day[data-pace="ahead"] .yw-pace-meter, .yw-pace-day[data-pace="on"] .yw-pace-meter { background: #d9eae2; }
.yw-pace-day[data-pace="ahead"] .yw-pace-meter i, .yw-pace-day[data-pace="on"] .yw-pace-meter i { background: #70b396; }
.yw-pace-day[data-pace="none"] .yw-pace-meter { background: #e8e6ea; }
.yw-pace-day[data-pace="none"] .yw-pace-meter i { background: #a7a2ad; }
.yw-dashboard-overview .yw-forward-stats { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin-top: 21px; padding-top: 19px; border-top: 1px solid #e5e4e7; }
.yw-forward-label { display: inline-flex; align-items: center; gap: 6px; margin-right: auto; color: #73687e; font-size: 12px; }
.yw-dashboard-overview .yw-forward-label .font-semibold { color: #73687e; font-weight: 400; }
.yw-forward-stat span { display: block; color: #99909f; font-size: 10px; }
.yw-forward-stat strong { display: block; color: #202024; font-size: 17px; font-weight: 500; letter-spacing: -.5px; }

/* ------------------------------------------ below the grid: same chrome -- */
[data-theme-root] .yw-dashboard-overview ~ [data-zone="evidence-months"] { margin-top: 16px; padding: 23px; border: 1px solid #e2e1e4; border-radius: 24px; background: #fbfbfb; box-shadow: 0 2px 3px rgba(0, 0, 0, .008); }
[data-theme-root] .yw-dashboard-overview ~ [data-zone="evidence-months"] > div:first-child > .text-violet-600 { color: #202024; font-size: 19px; font-weight: 500; line-height: 1.3; letter-spacing: -.55px; }
.yw-month-compare { margin-top: 12px; }
.yw-month-compare-key { display: flex; justify-content: flex-end; gap: 18px; color: #8e8494; font-size: 10px; }
.yw-month-compare-key span { display: inline-flex; align-items: center; gap: 6px; }
.yw-month-compare-key i { display: inline-block; width: 13px; height: 8px; }
.yw-month-key-booked { background: repeating-linear-gradient(125deg, #a76ae8 0 2px, #dfcaf7 2px 4px); }
.yw-month-key-plan { height: 0 !important; border-top: 2px solid #a76c8a; }
.yw-month-scroll { overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; scrollbar-color: #d9cbe5 transparent; }
.yw-month-plot { display: grid; grid-template-columns: 46px minmax(0, 1fr); padding-top: 10px; }
.yw-month-axis { display: flex; flex-direction: column; justify-content: space-between; height: 176px; padding: 23px 5px 0 0; color: #a9a0af; font-size: 10px; text-align: right; }
.yw-month-columns { display: grid; min-width: 0; }
.yw-month-column { display: flex; flex-direction: column; align-items: center; min-width: 0; height: 204px; padding: 0 5px; color: #202024; text-decoration: none; outline-offset: -2px; transition: background .2s ease; }
.yw-month-column:hover, .yw-month-column:focus-visible, .yw-month-column[data-active="true"] { background: #f4eefb; }
.yw-month-column:focus-visible { outline: 2px solid #7836e9; }
.yw-month-column-value { display: block; height: 23px; font-size: 11px; font-weight: 500; white-space: nowrap; }
.yw-month-column-rail { position: relative; display: block; width: 100%; height: 153px; border-bottom: 1px solid #cfc8d5; background: linear-gradient(to bottom, #ece8f0 0 1px, transparent 1px calc(50% - .5px), #ece8f0 calc(50% - .5px) calc(50% + .5px), transparent calc(50% + .5px)); }
[data-theme-root] .yw-month-bar-fill { position: absolute; bottom: 0; left: 50%; width: min(43%, 36px); min-height: 1px; border-radius: 3px 3px 0 0; background: repeating-linear-gradient(125deg, #d85e9e 0 2px, #f8dae9 2px 4px); transform: translateX(-50%); transform-origin: bottom; animation: yw-month-grow .65s cubic-bezier(.2,.7,.2,1) both; }
[data-theme-root] .yw-month-column[data-plan-state="met"] .yw-month-bar-fill { background: repeating-linear-gradient(125deg, #a6a0ac 0 2px, #d8d3dc 2px 4px); }
[data-theme-root] .yw-month-column[data-plan-state="open"] .yw-month-bar-fill { background: repeating-linear-gradient(125deg, #8a45f0 0 2px, #d4b6fb 2px 4px); }
[data-theme-root] .yw-month-column[data-plan-state="unset"] .yw-month-bar-fill { background: #c5c0cb; }
.yw-month-target-tick { position: absolute; left: 8%; width: 84%; height: 2px; background: #a76c8a; }
.yw-month-column-label { display: flex; align-items: baseline; gap: 3px; margin-top: 7px; color: #736b79; font-size: 11px; white-space: nowrap; }
.yw-month-column-label b, .yw-month-detail-period b { color: #7c3aed; font-size: 9px; font-weight: 500; }
.yw-month-detail { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 22px; min-height: 42px; padding: 13px 0 0; border-top: 1px solid #e9e5ec; color: #8b8290; font-size: 11px; }
.yw-month-detail-period { min-width: 45px; color: #28232e; font-size: 12px; font-weight: 500; }
.yw-month-detail strong { color: #28232e; font-size: 13px; font-weight: 500; }
.yw-month-detail > a { margin-left: auto; color: #7c3aed; font-weight: 500; text-decoration: none; }
.yw-month-detail > a:hover { text-decoration: underline; text-underline-offset: 3px; }
.yw-month-empty { padding: 20px 0; color: #8b8290; font-size: 12px; }
[data-theme-root].dark .yw-month-column { color: #f4eff6; }
[data-theme-root].dark .yw-month-column:hover, [data-theme-root].dark .yw-month-column:focus-visible, [data-theme-root].dark .yw-month-column[data-active="true"] { background: #30263a; }
[data-theme-root].dark .yw-month-column-rail { border-bottom-color: #5b5063; background: linear-gradient(to bottom, #39323f 0 1px, transparent 1px calc(50% - .5px), #39323f calc(50% - .5px) calc(50% + .5px), transparent calc(50% + .5px)); }
[data-theme-root].dark .yw-month-detail { border-top-color: #39323f; }
[data-theme-root].dark .yw-month-detail-period, [data-theme-root].dark .yw-month-detail strong { color: #f3eef8; }
[data-theme-root] .yw-dashboard-overview ~ [data-surface="dashboard.overview.more"] { margin-top: 24px; }
[data-theme-root] .yw-dashboard-overview ~ [data-surface="dashboard.overview.more"] section[data-panel], [data-theme-root] .yw-dashboard-overview ~ [data-surface="dashboard.overview.more"] section[aria-busy] { margin-top: 12px; border-color: #e2e1e4; border-radius: 24px; background: #fbfbfb; box-shadow: 0 2px 3px rgba(0, 0, 0, .008); }
[data-theme-root] .yw-dashboard-overview ~ [data-surface="dashboard.overview.more"] section[aria-busy] { padding: 23px; }
[data-theme-root] .yw-dashboard-overview ~ [data-surface="dashboard.overview.more"] section[data-panel] > div:first-child { padding: 19px 23px 10px; }
[data-theme-root] .yw-dashboard-overview ~ [data-surface="dashboard.overview.more"] section[data-panel] > div:first-child > h2 { color: #202024; font-size: 19px; font-weight: 500; letter-spacing: -.55px; }
[data-theme-root] .yw-dashboard-overview ~ [data-surface="dashboard.overview.more"] section[data-panel] > div:last-child { padding: 14px 23px 23px; border-top-color: #eae8ec; }
[data-theme-root] .yw-my-boards-shell > section[data-panel] { overflow: visible; }
[data-theme-root] .yw-my-boards-shell > section[data-panel] > div:first-child { padding-bottom: 0; }
[data-theme-root] .yw-my-boards-shell > section[data-panel] > div:first-child > span.num { padding: 0; border-radius: 0; background: transparent; color: #99909e; font-size: 12px; font-weight: 400; }
[data-theme-root] .yw-my-boards-shell > section[data-panel] > div:last-child { padding-top: 11px; border-top: 0; }
.yw-my-boards-empty { margin: 0 0 19px; color: #8e8791; font-size: 12px; }
.yw-my-boards-list { margin-bottom: 18px; }
.yw-my-boards-list li { display: flex; align-items: center; gap: 14px; padding: 12px 0; border-bottom: 1px solid #e9e6ec; }
.yw-my-boards-list li > a:first-child { display: flex; align-items: baseline; gap: 13px; min-width: 0; flex: 1; color: #28232d; text-decoration: none; }
.yw-my-boards-list li > a:first-child:hover strong { color: #7c3aed; }
.yw-my-boards-list strong { overflow: hidden; font-size: 13px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.yw-my-boards-list span { color: #99909e; font-size: 11px; }
.yw-my-boards-list li > a:last-child:not(:first-child) { color: #7c3aed; font-size: 11px; text-decoration: none; }
.yw-my-boards-create > p { margin-bottom: 8px; color: #99909e; font-size: 10px; }
.yw-my-boards-starters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #e9e6ec; border-bottom: 1px solid #e9e6ec; }
.yw-my-boards-starters :is(button, a) { display: flex; justify-content: space-between; align-items: center; min-width: 0; padding: 15px 18px 15px 0; border: 0; border-right: 1px solid #e9e6ec; background: transparent; color: #29242e; font-size: 13px; text-align: left; transition: color .18s ease, background .18s ease; }
.yw-my-boards-starters :is(button, a) + :is(button, a) { padding-left: 18px; }
.yw-my-boards-starters :is(button, a):last-child { border-right: 0; }
.yw-my-boards-starters :is(button, a):hover, .yw-my-boards-starters :is(button, a):focus-visible { color: #7c3aed; background: #f5f0fb; }
.yw-my-boards-starters :is(button, a):focus-visible, .yw-my-boards-custom:focus-visible { outline: 2px solid #7836e9; outline-offset: 2px; }
.yw-my-boards-starters :is(button, a) span:last-child { color: #b399cb; font-size: 15px; }
.yw-my-boards-starters a { text-decoration: none; }
.yw-my-boards-starter-error { margin: 8px 0 0; color: #be123c; font-size: 12px; }
.yw-my-boards-custom { display: block; margin: 14px 0 0 auto; padding: 0; border: 0; background: transparent; color: #7c3aed; font-size: 11px; font-weight: 500; transition: color .18s ease; }
.yw-my-boards-custom:hover { color: #5720bd; text-decoration: underline; text-underline-offset: 3px; }
.yw-my-boards-custom span { margin-left: 4px; }
@media (max-width: 650px) { .yw-my-boards-starters { grid-template-columns: 1fr; } .yw-my-boards-starters :is(button, a), .yw-my-boards-starters :is(button, a) + :is(button, a) { padding: 11px 0; border-right: 0; border-bottom: 1px solid #e9e6ec; } .yw-my-boards-starters :is(button, a):last-child { border-bottom: 0; } }
[data-theme-root].dark .yw-my-boards-list li, [data-theme-root].dark .yw-my-boards-starters, [data-theme-root].dark .yw-my-boards-starters :is(button, a) { border-color: #39323f; }
[data-theme-root].dark .yw-my-boards-list li > a:first-child, [data-theme-root].dark .yw-my-boards-starters :is(button, a) { color: #f3eef8; }
[data-theme-root].dark .yw-my-boards-starters :is(button, a):hover, [data-theme-root].dark .yw-my-boards-starters :is(button, a):focus-visible { background: #30263a; color: #c5a8ff; }

/* ------------------------------------------------------------ motion -- */
@keyframes yw-month-grow { from { transform: translateX(-50%) scaleY(0); } to { transform: translateX(-50%) scaleY(1); } }
@media (prefers-reduced-motion: reduce) {
  .yw-month-bar-fill, .yw-dashboard-overview .yw-pace-day, .yw-dashboard-overview .yw-floor-stat-popover, .yw-dashboard-overview .yw-floor-stat-help-trigger { animation: none; transition: none; }
  .yw-dashboard-overview .yw-pace-day:hover { transform: none; }
}

/* ---------------------------------------------------------- narrower -- */
@media (max-width: 1350px) {
  .yw-dashboard-overview { gap: 14px; }
  .yw-dashboard-overview section[data-surface="dashboard.today.hero"], .yw-dashboard-overview section[data-surface="dashboard.today.nights"], .yw-dashboard-overview section[data-tour="dashboard.scoreboard"], .yw-dashboard-overview section[data-surface="dashboard.today.next14"], .yw-dashboard-overview .yw-needs > section, .yw-dashboard-overview section.yw-needs, .yw-dashboard-overview [data-slot="needs"] > section, .yw-dashboard-overview [data-slot="pace"] > section { padding: 21px; }
}
@media (max-width: 1199px) {
  .yw-dashboard-overview .yw-pace-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .yw-dashboard-overview .yw-pace-day { padding: 8px 3px; }
  .yw-dashboard-overview .yw-pace-occ { margin-top: 4px; font-size: 20px; }
  .yw-pace-meter { margin-top: 7px; }
}
@media (max-width: 1100px) {
  /* Two columns: hero and nights on the left, the weekly card spanning the
     right; then the insight and Needs you side by side; the pace card last. */
  .yw-dashboard-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .yw-dashboard-overview > [data-zone="verdict"] { grid-column: 1; grid-row: 1; }
  .yw-dashboard-overview > [data-zone="evidence-tiles"] { grid-column: 2; grid-row: 1 / span 2; }
  .yw-dashboard-overview > [data-zone="working-row"] > [data-slot="nights"] { grid-column: 1; grid-row: 2; }
  .yw-dashboard-overview > .yw-insight { grid-column: 1; grid-row: 3; }
  .yw-dashboard-overview > [data-zone="working-row"] > [data-slot="needs"] { grid-column: 2; grid-row: 3; }
  .yw-dashboard-overview > [data-zone="working-row"] > [data-slot="pace"] { grid-column: 1 / -1; grid-row: 4; }
  /* Same fallback as above: no weekly card, no pinned cells. */
  .yw-dashboard-overview:not(:has(> [data-zone="evidence-tiles"])) > [data-zone],
  .yw-dashboard-overview:not(:has(> [data-zone="evidence-tiles"])) > .yw-insight,
  .yw-dashboard-overview:not(:has(> [data-zone="evidence-tiles"])) > [data-zone="working-row"] > [data-slot] { grid-column: auto; grid-row: auto; }
  .yw-dashboard-overview:not(:has(> [data-zone="evidence-tiles"])) > [data-zone="working-row"] > [data-slot="pace"] { grid-column: 1 / -1; }
}
@media (max-width: 800px) {
  .yw-dashboard-overview { display: flex; flex-direction: column; gap: 14px; }
  .yw-dashboard-overview > *, .yw-dashboard-overview > [data-zone="working-row"] > [data-slot] { width: 100%; }
  .yw-dashboard-overview > [data-zone="working-row"] { display: contents; }
  .yw-dashboard-overview > [data-zone="verdict"] { order: 1; }
  .yw-dashboard-overview > [data-zone="working-row"] > [data-slot="nights"] { order: 2; }
  .yw-dashboard-overview > [data-zone="evidence-tiles"] { order: 3; }
  .yw-dashboard-overview > .yw-insight { order: 4; }
  .yw-dashboard-overview > [data-zone="working-row"] > [data-slot="needs"] { order: 5; }
  .yw-dashboard-overview > [data-zone="working-row"] > [data-slot="pace"] { order: 6; }
  .yw-dashboard-overview section[data-surface="dashboard.today.hero"], .yw-dashboard-overview section[data-surface="dashboard.today.nights"], .yw-dashboard-overview .yw-needs > section, .yw-dashboard-overview section.yw-needs, .yw-dashboard-overview [data-slot="needs"] > section { min-height: 0; }
  .yw-dashboard-overview .yw-needs > .yw-needs-card { min-height: 0; }
  .yw-dashboard-overview .yw-pace-gap { white-space: normal; }
}
@media (max-width: 520px) {
  .yw-dashboard-overview section[data-surface="dashboard.today.hero"], .yw-dashboard-overview section[data-surface="dashboard.today.nights"], .yw-dashboard-overview section[data-tour="dashboard.scoreboard"], .yw-dashboard-overview section[data-surface="dashboard.today.next14"], .yw-dashboard-overview .yw-needs > section, .yw-dashboard-overview section.yw-needs, .yw-dashboard-overview [data-slot="needs"] > section, .yw-dashboard-overview [data-slot="pace"] > section, [data-theme-root] .yw-dashboard-overview ~ [data-zone="evidence-months"] { padding: 18px; }
  .yw-dashboard-overview .yw-floor-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .yw-dashboard-overview .yw-pace-grid { gap: 4px; }
  .yw-dashboard-overview .yw-pace-day { padding: 7px 1px; border-radius: 8px; }
  .yw-dashboard-overview .yw-pace-occ { font-size: 14px; }
  .yw-pace-meter { margin: 6px 4px 0; }
  .yw-dashboard-overview .yw-forward-stats { gap: 12px 18px; }
}

/* --------------------------------------------------------------- dark -- */
[data-theme-root].dark .yw-dashboard-period-note { color: #a89db3; }
[data-theme-root].dark .yw-dashboard-overview section[data-surface="dashboard.today.hero"],
[data-theme-root].dark .yw-dashboard-overview section[data-surface="dashboard.today.nights"],
[data-theme-root].dark .yw-dashboard-overview section[data-tour="dashboard.scoreboard"],
[data-theme-root].dark .yw-dashboard-overview section[data-surface="dashboard.today.next14"],
[data-theme-root].dark .yw-dashboard-overview .yw-needs > section,
[data-theme-root].dark .yw-dashboard-overview section.yw-needs,
[data-theme-root].dark .yw-dashboard-overview [data-slot="needs"] > section,
[data-theme-root].dark .yw-dashboard-overview [data-slot="pace"] > section,
[data-theme-root].dark .yw-dashboard-overview ~ [data-zone="evidence-months"],
[data-theme-root].dark .yw-dashboard-overview ~ [data-surface="dashboard.overview.more"] section[data-panel],
[data-theme-root].dark .yw-dashboard-overview ~ [data-surface="dashboard.overview.more"] section[aria-busy] { border-color: #1c2843; background: #0d1527; box-shadow: none; }
[data-theme-root].dark .yw-dashboard-overview .yw-floor-stat-popover { border-color: #3d314e; background: #211b2b; color: #d1c5dc; box-shadow: 0 14px 35px #0005; }
[data-theme-root].dark .yw-dashboard-overview .yw-floor-stat-popover strong { color: #f3eef8; }
[data-theme-root].dark [data-skin-skeleton] { background-image: linear-gradient(100deg, #20243a 22%, #30324a 38%, #20243a 54%); }
[data-theme-root].dark .yw-dashboard-overview .yw-floor-stat-value, [data-theme-root].dark .yw-forward-stat strong,
[data-theme-root].dark .yw-dashboard-overview .yw-needs > section > header .text-violet-600, [data-theme-root].dark .yw-dashboard-overview section.yw-needs > .text-violet-600, [data-theme-root].dark .yw-dashboard-overview .yw-needs > section > span > .text-violet-600,
[data-theme-root].dark .yw-dashboard-overview .yw-needs > section > ol > li > div:first-child .text-xs.font-medium a,
[data-theme-root].dark .yw-dashboard-overview ~ [data-zone="evidence-months"] > div:first-child > .text-violet-600,
[data-theme-root].dark .yw-dashboard-overview ~ [data-surface="dashboard.overview.more"] section[data-panel] > div:first-child > h2 { color: #f3eef8; }
[data-theme-root].dark .yw-dashboard-overview .yw-floor-stat-label, [data-theme-root].dark .yw-dashboard-overview .yw-floor-stat-sub,
[data-theme-root].dark .yw-forward-stat span, [data-theme-root].dark .yw-forward-label, [data-theme-root].dark .yw-dashboard-overview .yw-forward-label .font-semibold,
[data-theme-root].dark .yw-dashboard-overview .yw-needs > section > header > div > div:last-child, [data-theme-root].dark .yw-dashboard-overview .yw-needs > section > header > div > div:last-child .num, [data-theme-root].dark .yw-dashboard-overview .yw-needs > section > header > div > div:last-child .text-zinc-700,
[data-theme-root].dark .yw-dashboard-overview .yw-needs > section > ol > li > div:first-child .text-zinc-500 { color: #a297ab; }
[data-theme-root].dark .yw-dashboard-overview .yw-needs > section > .text-sm, [data-theme-root].dark .yw-dashboard-overview section.yw-needs > .text-sm, [data-theme-root].dark .yw-dashboard-overview .yw-needs > section > ol > li > div:first-child .text-right .num { color: #c3b9cc; }
[data-theme-root].dark .yw-dashboard-overview .yw-needs > section > ol > li > a { color: #c5a8ff; }
[data-theme-root].dark .yw-dashboard-overview .yw-hero-collect { background: #3d3122; color: #f0c98a; }
[data-theme-root].dark .yw-dashboard-overview .yw-hero-collect strong { color: #f0c98a; }
[data-theme-root].dark .yw-dashboard-overview .yw-hero-collect .yw-hero-collect-asof { color: #c9a56f; }
[data-theme-root].dark .yw-hero-collect-chevron { color: #c9a56f; }
[data-theme-root].dark .yw-dashboard-overview .yw-floor-stats, [data-theme-root].dark .yw-dashboard-overview .yw-forward-stats { border-top-color: #1c2843; }
[data-theme-root].dark .yw-dashboard-overview .yw-floor-stat a:hover .yw-floor-stat-value { color: #c5a8ff; }
[data-theme-root].dark .yw-dashboard-overview .yw-floor-stat-value { color: #f3eef8; }
[data-theme-root].dark .yw-dashboard-overview .yw-needs > section > ol > li { border-color: #1c2843; }
[data-theme-root].dark .yw-dashboard-overview .yw-needs > section > ol > li > div:first-child > div:first-child > span { background: #4a3040; color: #e6a9c4; }
[data-theme-root].dark .yw-dashboard-overview .yw-needs > section > ol > li > div:first-child > div:first-child > span.text-zinc-500 { background: #3d3150; color: #c5a8ff; }
[data-theme-root].dark .yw-dashboard-overview .yw-pace-day { border-color: #5a3a4b; background: linear-gradient(#3b2a35, #45303d); color: #f0a3c2; }
[data-theme-root].dark .yw-dashboard-overview .yw-pace-day:hover { box-shadow: 0 5px 12px rgba(0, 0, 0, .3); }
[data-theme-root].dark .yw-dashboard-overview .yw-pace-day[data-pace="ahead"], [data-theme-root].dark .yw-dashboard-overview .yw-pace-day[data-pace="on"] { border-color: #345a4c; background: linear-gradient(#26382f, #2c4238); color: #8fd6b8; }
[data-theme-root].dark .yw-dashboard-overview .yw-pace-day[data-pace="none"] { border-color: #1c2843; background: #111b30; color: #c3b9cc; }
[data-theme-root].dark .yw-dashboard-overview .yw-pace-dow { color: #c48aa2; }
[data-theme-root].dark .yw-dashboard-overview .yw-pace-day[data-pace="ahead"] .yw-pace-dow, [data-theme-root].dark .yw-dashboard-overview .yw-pace-day[data-pace="on"] .yw-pace-dow { color: #86b39d; }
[data-theme-root].dark .yw-dashboard-overview .yw-pace-day[data-pace="none"] .yw-pace-dow { color: #a297ab; }
[data-theme-root].dark .yw-pace-meter { background: #5a3a4b; }
[data-theme-root].dark .yw-pace-meter i { background: #e98db4; }
[data-theme-root].dark .yw-pace-day[data-pace="ahead"] .yw-pace-meter, [data-theme-root].dark .yw-pace-day[data-pace="on"] .yw-pace-meter { background: #345a4c; }
[data-theme-root].dark .yw-pace-day[data-pace="ahead"] .yw-pace-meter i, [data-theme-root].dark .yw-pace-day[data-pace="on"] .yw-pace-meter i { background: #7fd3b4; }
[data-theme-root].dark .yw-pace-day[data-pace="none"] .yw-pace-meter { background: #1c2843; }
[data-theme-root].dark .yw-pace-day[data-pace="none"] .yw-pace-meter i { background: #8b8394; }
[data-theme-root].dark .yw-dashboard-overview ~ [data-surface="dashboard.overview.more"] section[data-panel] > div:last-child { border-top-color: #1c2843; }
[data-theme-root] .yw-more-tools-card { overflow: hidden; border: 1px solid #e2e1e4; border-radius: 24px; background: #fbfbfb; box-shadow: 0 2px 3px rgba(0, 0, 0, .008); }
[data-theme-root] .yw-more-tools-header { display: flex; align-items: baseline; gap: 9px; padding: 20px 23px 15px; border-bottom: 1px solid #e9e7eb; }
[data-theme-root] .yw-more-tools-header h2 { margin: 0; color: #202024; font-size: 19px; font-weight: 500; line-height: 1.3; letter-spacing: -.55px; }
[data-theme-root] .yw-more-tools-header > span { color: #929097; font-size: 12px; font-variant-numeric: tabular-nums; }
[data-theme-root] .yw-more-tools-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 3px 5px; padding: 12px 17px 17px; }
[data-theme-root] .yw-more-tool { display: flex; min-width: 0; min-height: 64px; flex-direction: column; justify-content: center; gap: 4px; padding: 10px 11px; border-radius: 11px; color: inherit; text-decoration: none; transition: background-color .16s ease, color .16s ease; }
[data-theme-root] .yw-more-tool:hover, [data-theme-root] .yw-more-tool:focus-visible { background: #f1ebf9; color: #6735a4; }
[data-theme-root] .yw-more-tool:focus-visible { outline: 2px solid #b993ff; outline-offset: -2px; }
[data-theme-root] .yw-more-tool-title { display: flex; min-width: 0; align-items: center; gap: 6px; color: #29242e; font-size: 14px; font-weight: 500; line-height: 1.35; letter-spacing: -.2px; }
[data-theme-root] .yw-more-tool-label { overflow: hidden; min-width: 0; text-overflow: ellipsis; white-space: nowrap; }
[data-theme-root] .yw-more-tool-dot { width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background: #9253e9; }
[data-theme-root] .yw-more-tool-arrow { margin-left: auto; color: #aaa4ad; font-size: 15px; line-height: 1; transition: color .16s ease, transform .16s ease; }
[data-theme-root] .yw-more-tool:hover .yw-more-tool-arrow, [data-theme-root] .yw-more-tool:focus-visible .yw-more-tool-arrow { color: #8151b7; transform: translateX(2px); }
[data-theme-root] .yw-more-tool-line { display: -webkit-box; overflow: hidden; color: #827b89; font-size: 12px; font-weight: 400; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
@media (max-width: 1199px) { [data-theme-root] .yw-more-tools-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 650px) { [data-theme-root] .yw-more-tools-card { border-radius: 20px; } [data-theme-root] .yw-more-tools-header { padding: 18px 19px 13px; } [data-theme-root] .yw-more-tools-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 9px 12px 13px; gap: 2px; } [data-theme-root] .yw-more-tool { min-height: 61px; padding: 9px 8px; } [data-theme-root] .yw-more-tool-title { font-size: 13px; } [data-theme-root] .yw-more-tool-line { font-size: 11px; } }

/* Pencil lead surfaces for the redesigned More Tools card. */
[data-theme-root].dark .yw-more-tools-card { border-color: #1c2843; background: #0d1527; box-shadow: none; }
[data-theme-root].dark .yw-more-tools-header { border-bottom-color: #1c2843; }
[data-theme-root].dark .yw-more-tools-header h2, [data-theme-root].dark .yw-more-tool-title { color: #f3eef8; }
[data-theme-root].dark .yw-more-tools-header > span, [data-theme-root].dark .yw-more-tool-line { color: #a297ab; }
[data-theme-root].dark .yw-more-tool:hover, [data-theme-root].dark .yw-more-tool:focus-visible { background: #30263a; color: #d4baff; }
[data-theme-root].dark .yw-more-tool-arrow { color: #8f8499; }
[data-theme-root].dark .yw-more-tool:hover .yw-more-tool-arrow, [data-theme-root].dark .yw-more-tool:focus-visible .yw-more-tool-arrow { color: #d4baff; }

/* ---- Total revenue in the hero (10/12) ------------------------------------
   The Other departments hover lists each department: label left, dollars
   right, hairlines between, on the app's black hover. */
.hw-info-body .yw-hero-dept-row { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 6px 0; border-top: 1px solid var(--yw-tip-rule, #eae8ec); }
.hw-info-body .yw-money-hover-meta + .yw-hero-dept-row { margin-top: 6px; }
.hw-info-body .yw-hero-dept-row + p { margin-top: 8px; }
.hw-info-body .yw-hero-dept-total { font-weight: 600; border-top-width: 2px; }
/* The headline as a hover target keeps its ink and size (10/23). */
.yw-hero-value .yw-hero-value-hover .hw-info-label { font-weight: inherit; letter-spacing: inherit; }

/* ---- No blank space between or inside the top cards (10/12) --------------
   Owner: "fix the other cards gaps and blank spaces". Three columns used to
   share two rows, so the insight card sat in the hero's row with a hole under
   it, and the weekly card stretched over both rows with its six metrics
   bunched at the top. Now four rows: each column stacks its own cards with
   one gap. The insight keeps its own height and Needs you takes the rest of
   its column (owner: "just because there are 2 alerts at the moment doesent
   mean tomorrow arent gona be more"); the weekly card's metrics share its
   full height. Three columns only; two-column and phone are unchanged. */
@media (min-width: 1101px) {
  .yw-dashboard-overview > [data-zone="verdict"] { grid-row: 1 / span 2; }
  .yw-dashboard-overview > [data-zone="working-row"] > [data-slot="nights"] { grid-row: 3 / span 2; }
  .yw-dashboard-overview > [data-zone="evidence-tiles"] { grid-row: 1 / span 4; }
  .yw-dashboard-overview > .yw-insight { grid-row: 1; }
  .yw-dashboard-overview > [data-zone="working-row"] > [data-slot="needs"] { grid-row: 2 / span 3; }
  .yw-dashboard-overview > [data-zone="working-row"] > [data-slot="pace"] { grid-row: 5; }
  .yw-dashboard-overview > [data-zone="evidence-tiles"] > section.yw-weekly { display: flex; flex-direction: column; }
  .yw-dashboard-overview > [data-zone="evidence-tiles"] > section.yw-weekly > .yw-kpi-list { flex: 1 1 auto; grid-auto-rows: 1fr; }
}

/* ---- Needs you rows, larger (10/12) ---------------------------------------
   Owner: "we can do 5 but make each item a bit bigger right now the are too
   small". Dashboard only: the title at 14px, the detail at the app's 12px
   floor, a 38px mark, and the five rows share the card's height (each at
   most 140px, so a short list never balloons). */
.yw-dashboard-overview [data-slot="needs"] .yw-needs-row { flex: 1 1 auto; min-height: 84px; max-height: 140px; }
.yw-dashboard-overview [data-slot="needs"] .yw-needs-row-link { gap: 14px; padding: 15px 3px; }
.yw-dashboard-overview [data-slot="needs"] .yw-needs-mark { width: 38px; height: 38px; flex-basis: 38px; }
.yw-dashboard-overview [data-slot="needs"] .yw-needs-mark svg { width: 18px; height: 18px; }
.yw-dashboard-overview [data-slot="needs"] .yw-needs-row-copy { gap: 4px; }
.yw-dashboard-overview [data-slot="needs"] .yw-needs-row-title { font-size: 14px; line-height: 1.35; letter-spacing: -.2px; }
.yw-dashboard-overview [data-slot="needs"] .yw-needs-row-detail { font-size: 12px; line-height: 1.4; }
.yw-dashboard-overview [data-slot="needs"] .yw-needs-row-actions { margin-left: 52px; }

/* ---- Larger small type on the top cards (10/12) ---------------------------
   Owner, on the hero's rows: "lets make these a bit bigger"; on Last full
   week: "also these small fonts a bit bigger". Dashboard only: the hero's
   row labels 12 to 13px and figures 14 to 16px; the weekly card's metric
   names 13 to 14px, the vs-prior-week and target lines 10 and 11 to 12px (the
   app's floor), the "Actual" label 10 to 11px. */
.yw-dashboard-overview section[data-surface="dashboard.today.hero"] .yw-row-stat { font-size: 13px; }
.yw-dashboard-overview section[data-surface="dashboard.today.hero"] .yw-row-stat dd { font-size: 16px; }
.yw-dashboard-overview > [data-zone="evidence-tiles"] .yw-kpi-list > .group > div:first-child .uppercase { font-size: 14px; }
.yw-dashboard-overview > [data-zone="evidence-tiles"] .yw-kpi-list > .group > div:not(:first-child):not(:last-child):not([data-slot]):not(.yw-kpi-progress) { font-size: 12px; }
.yw-dashboard-overview > [data-zone="evidence-tiles"] .yw-kpi-list > .group > p { font-size: 12px; }
.yw-dashboard-overview > [data-zone="evidence-tiles"] .yw-kpi-list > .group > [data-slot="stat-tile-row"]::before { font-size: 11px; }
.yw-dashboard-overview > [data-zone="evidence-tiles"] .yw-kpi-list > .group > div:last-child { font-size: 12px; }

/* ---- The collect button's slot (10/12) ------------------------------------
   Owner: "dont forget to leave space in the container for this button when it
   appears". The button streams in after the card; its slot is drawn with the
   card at the button's height, pinned to the card's foot, so nothing moves
   when it lands. */
.yw-dashboard-overview section[data-surface="dashboard.today.hero"] > .yw-hero-collect-slot { display: flex; flex-direction: column; justify-content: flex-end; min-height: 51px; margin-top: auto; padding-top: 10px; }
.yw-dashboard-overview section[data-surface="dashboard.today.hero"] > .yw-hero-collect-slot > .yw-hero-collect { margin-top: 0; }

/* The hover cue beside a label that opens a panel (10/12, hero's Other
   departments): a small chevron in the label's colour that nudges right on
   hover. */
.yw-hover-cue { display: inline-block; width: 11px; height: 11px; margin-left: 3px; vertical-align: -1px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; opacity: .7; transition: transform .2s ease, opacity .2s ease; }
.hw-info-label:hover .yw-hover-cue, .hw-info-label:focus-visible .yw-hover-cue, .hw-info-label[aria-expanded="true"] .yw-hover-cue { opacity: 1; transform: translateX(2px); }
@media (prefers-reduced-motion: reduce) { .yw-hover-cue { transition: none; } }

