/* Pricing > Heatmap, Closures and Room Types redesign (10/05): the new Dashboard design on this Pricing section.
   Loaded after skin/money.css (whose root rules now include .yw-pricing-page),
   so a rule here at the same weight wins. Light rules first, their dark twins
   under [data-theme-root].dark.

   Owner, 10/05: "everything we have done on the last tabs we need to do here
   ... the fonts, the colors the sizes. and get creative with the map table use
   the new design style. remember no ai slop", then of the month maps: "this
   doesent look like a heatmap? please fix it".

   What is here, in order:
   1. Shared Pricing ops pieces: the control line above a card, the range
      picker and the step pills dressed as the Dashboard's controls, the flag
      tones these pages add.
   2. The night map (.yw-nmap / .yw-night): an even grid of night tiles. On
      the Heatmap and a room type's month every tile is washed edge to edge
      by a five-step heat ramp in the house violet (data-heat 1..5, the deep
      steps hatched like the Dashboard's bars); no reading is grey hatch; the
      past fades. On Closures a tile's tint is how much notice the closure had
      (data-kind). One key line.
   3. Heatmap: the map card and the window numbers that double as the metric
      switch.
   4. Closures: the hero, how tonight adds up, the calendar, the log and the
      blocks as Needs-you rows, the date dialog.
   5. Room Types: the hero and Upgrades row, the catalog table, the type
      dialog (month columns, the month tiles, the figures).
   6. The dialog surface, narrower widths, reduced motion, then dark. */

/* --------------------------------------------------------- 1. shared -- */
:is(.yw-heatmap-page, .yw-closures-page, .yw-room-types-page) > .yw-card { margin-top: 16px; }
:is(.yw-heatmap-page, .yw-closures-page, .yw-room-types-page) > .yw-money-grid { margin-top: 18px; }
/* The control line above a card: the range picker, the window in words. */
.yw-ops-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-top: 18px; }
.yw-ops-when { display: flex; min-width: 0; flex-direction: column; gap: 1px; margin: 0; }
.yw-ops-when > strong { color: #202024; font-size: 13px; font-weight: 500; letter-spacing: -.2px; }
.yw-ops-when > span { color: #929097; font-size: 12px; }
/* CalendarRangeSelect (shared with nothing else but these two pages): the
   arrows and the trigger take the Dashboard's white control. */
.yw-ops-range > div { gap: 6px; }
.yw-ops-range :is(button[aria-label="Previous range"], button[aria-label="Next range"]) {
  width: 39px; height: 39px; border: 1px solid #e8e6e9; border-radius: 10px; background: #fff;
  box-shadow: 0 2px 6px #00000009; color: #59535f; font-size: 15px; font-weight: 400;
}
.yw-ops-range :is(button[aria-label="Previous range"], button[aria-label="Next range"]):hover:not(:disabled) { background: #faf8fc; color: #202024; }
.yw-ops-range button[aria-haspopup] {
  min-height: 39px; padding: 0 13px; border: 1px solid #e8e6e9; border-radius: 10px; background: #fff;
  box-shadow: 0 2px 6px #00000009; color: #202024; font-size: 12.5px; font-weight: 500; letter-spacing: -.2px;
}
.yw-ops-range button[aria-haspopup]:hover { background: #faf8fc; }
.yw-ops-range button[aria-haspopup] > span[aria-hidden] { color: #8d8595; }
/* Quiet step pills (Tonight / arrows, a month's Prev / Next). */
.yw-ops-steps { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.yw-ops-step {
  display: inline-flex; min-width: 30px; height: 30px; align-items: center; justify-content: center;
  padding: 0 11px; border: 0; border-radius: 10px; background: #eeeded; color: #202024;
  font-size: 12px; font-weight: 500; line-height: 1; text-decoration: none; white-space: nowrap; cursor: pointer;
  transition: background-color .15s;
}
.yw-ops-step:hover { background: #e8e4ed; }
.yw-ops-step:focus-visible { outline: 2px solid #b993ff; outline-offset: 2px; }
.yw-ops-step[data-off] { background: #f4f3f5; color: #c9c4cd; cursor: default; }
/* The one violet move in a card (Open Closure settings). */
.yw-ops-pill {
  display: inline-flex; height: 32px; flex-shrink: 0; align-items: center; padding: 0 13px; border-radius: 10px;
  background: #7c3aed; color: #fff; font-size: 12px; font-weight: 500; white-space: nowrap; text-decoration: none;
}
.yw-ops-pill:hover { background: #7130df; }
/* Flag words: the tones Money keeps under its own root, and "watch". */
:is(.yw-heatmap-page, .yw-closures-page, .yw-room-types-page) .yw-money-flag[data-tone="watch"] { color: #9a805f; }
:is(.yw-heatmap-page, .yw-closures-page, .yw-room-types-page) .yw-hero-pill[data-pace="behind"] { color: #a96883; }
:is(.yw-heatmap-page, .yw-closures-page, .yw-room-types-page) .yw-money-note { margin-top: 12px; }

/* -------------------------------------------------------- 2. night map -- */
.yw-nmap-scroll { max-height: min(46rem, 76vh); margin-top: 14px; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #ddd2e7 transparent; }
.yw-nmap { width: 100%; min-width: 600px; border-collapse: separate; border-spacing: 5px; table-layout: fixed; }
.yw-nmap thead th { position: sticky; top: 0; z-index: 2; padding: 2px 0 5px 10px; background: #fbfbfb; color: #929097; font-size: 11px; font-weight: 500; letter-spacing: 0; text-align: left; text-transform: none; }
.yw-nmap thead th[data-weekend] { color: #6f6975; }
.yw-nmap th.yw-nmap-gutter { width: 50px; padding-left: 0; }
.yw-nmap td { padding: 0; vertical-align: top; }
.yw-nmap tbody tr:hover { background: transparent; }
.yw-nmap td.yw-nmap-gutter { padding-top: 9px; }
.yw-nmap-month { display: flex; flex-direction: column; color: #59535f; font-size: 12px; font-weight: 500; line-height: 1.2; }
.yw-nmap-month > span { color: #a59fab; font-size: 10px; font-weight: 400; }
.yw-nmap[data-density="compact"] { border-spacing: 3px; }
.yw-nmap[data-density="compact"] td.yw-nmap-gutter { padding-top: 3px; }
.yw-nmap[data-density="compact"] .yw-nmap-month { font-size: 11px; }

/* The tile. */
.yw-night {
  position: relative; display: flex; height: 66px; flex-direction: column; padding: 9px 10px 10px;
  overflow: hidden; border: 1px solid #eae8ec; border-radius: 14px; background: #fbfbfb; color: #202024;
  transition: border-color .16s, box-shadow .16s, transform .16s, opacity .16s;
}
.yw-night-date { color: #929097; font-size: 11px; line-height: 1; white-space: nowrap; }
.yw-night-fig { margin-top: auto; overflow: hidden; color: #202024; font-size: 17px; font-weight: 500; line-height: 1.15; letter-spacing: -.5px; text-overflow: ellipsis; white-space: nowrap; }
.yw-night-word { margin-top: 2px; overflow: hidden; color: #87818c; font-size: 10px; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.yw-night-spare { margin-left: 2px; color: #a96883; font-size: 10px; font-weight: 500; }
.yw-night[data-weekend] { background: #f7f5f9; }
.yw-night[data-today] .yw-night-date { color: #7c3aed; font-weight: 500; }
.yw-night[data-today] .yw-night-date::after { content: ""; display: inline-block; width: 5px; height: 5px; margin-left: 5px; border-radius: 50%; background: #7c3aed; vertical-align: 2px; }
.yw-night[data-selected] { border-color: transparent; box-shadow: 0 0 0 2px #7c3aed; }
.yw-nmap[data-density="compact"] .yw-night { height: 38px; padding: 5px 7px 5px; border-radius: 9px; }
.yw-nmap[data-density="compact"] .yw-night-date { font-size: 9px; }
.yw-nmap[data-density="compact"] .yw-night-fig { font-size: 12px; letter-spacing: -.2px; }
.yw-nmap[data-density="compact"] .yw-night-word { display: none; }

/* The heat ramp: five steps from near-white to the deep hatched violet, the
   same breakpoints the old wash used. 0 is a real zero, plain. */
.yw-night[data-heat="0"] { border-color: #eae8ec; background: #fbfbfb; }
.yw-night[data-heat="0"] .yw-night-fig { color: #87818c; }
.yw-night[data-heat="1"] { border-color: #ece4fb; background: #f6f2fd; }
.yw-night[data-heat="2"] { border-color: #dfd0f9; background: #ebe1fc; }
.yw-night[data-heat="3"] { border-color: #cfb8f6; background: repeating-linear-gradient(125deg, #d3bdf8 0 2px, #e3d5fb 2px 5px); }
.yw-night[data-heat="4"] { border-color: #a27aec; background: repeating-linear-gradient(125deg, #a978f2 0 2px, #bc98f5 2px 5px); }
.yw-night[data-heat="5"] { border-color: #6f2fdc; background: repeating-linear-gradient(125deg, #7c3aed 0 2px, #9153f1 2px 5px); }
.yw-night:is([data-heat="3"], [data-heat="4"]) .yw-night-date { color: #5e4380; }
.yw-night[data-heat="4"] .yw-night-fig { color: #241047; }
.yw-night[data-heat="5"] .yw-night-fig { color: #fff; }
.yw-night[data-heat="5"] .yw-night-date { color: rgba(255, 255, 255, .8); }
.yw-night[data-heat="5"][data-today] .yw-night-date { color: #fff; }
.yw-night[data-heat="5"][data-today] .yw-night-date::after { background: #fff; }
/* No reading (past the synced dates, or no room count): grey hatch, never a
   pale "cold" step. */
.yw-night[data-state="beyond"] { border-color: #e2e1e4; background: repeating-linear-gradient(125deg, #e8e6eb 0 2px, #f5f4f7 2px 6px); }
.yw-night[data-state="beyond"] .yw-night-date { color: #a59fab; }
/* The heatmap's today: a ring that reads on every step of the ramp. */
.yw-heat-night[data-today] { box-shadow: 0 0 0 2px #fbfbfb, 0 0 0 4px #202024; }
/* The past fades. */
.yw-heat-night[data-past], .yw-rt-night[data-past] { opacity: .5; }

/* The key: one compact line. */
.yw-nmap-key { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin-top: 14px; padding-top: 13px; border-top: 1px solid #eae8ec; color: #87818c; font-size: 11px; }
.yw-nmap-key > span { display: inline-flex; align-items: center; gap: 7px; }
.yw-nmap-key > .yw-nmap-key-ramp { gap: 4px; }
.yw-nmap-key-ramp > i:first-of-type { margin-left: 4px; }
.yw-nmap-key-ramp > i:last-of-type { margin-right: 4px; }
.yw-nmap-key-swatch { display: inline-block; width: 16px; height: 11px; flex-shrink: 0; border: 1px solid #eae8ec; border-radius: 4px; background: #fbfbfb; }
.yw-nmap-key-swatch[data-heat="1"] { border-color: #ece4fb; background: #f6f2fd; }
.yw-nmap-key-swatch[data-heat="2"] { border-color: #dfd0f9; background: #ebe1fc; }
.yw-nmap-key-swatch[data-heat="3"] { border-color: #cfb8f6; background: repeating-linear-gradient(125deg, #d3bdf8 0 2px, #e3d5fb 2px 5px); }
.yw-nmap-key-swatch[data-heat="4"] { border-color: #a27aec; background: repeating-linear-gradient(125deg, #a978f2 0 2px, #bc98f5 2px 5px); }
.yw-nmap-key-swatch[data-heat="5"] { border-color: #6f2fdc; background: repeating-linear-gradient(125deg, #7c3aed 0 2px, #9153f1 2px 5px); }
.yw-nmap-key-swatch[data-state="beyond"], .yw-nmap-key-swatch[data-kind="blocks"] { border-color: #e2e1e4; background: repeating-linear-gradient(125deg, #e3e1e6 0 2px, #f5f4f7 2px 5px); }
.yw-nmap-key-swatch.yw-nmap-key-today { border: 2px solid #202024; background: #fbfbfb; }
.yw-nmap-key-swatch[data-kind="reactive"] { border-color: #ebc4d5; background: repeating-linear-gradient(125deg, #f0c3d6 0 2px, #f9e9f0 2px 5px); }
.yw-nmap-key-swatch[data-kind="scheduled"] { border-color: #ecdcc0; background: #fbf4e8; }
.yw-nmap-key-swatch[data-kind="planned"] { border-color: #e3d6f6; background: #f3ecfc; }
.yw-nmap-key-swatch[data-kind="unchecked"] { border: 1px dashed #cfc8d6; background: transparent; }

/* --------------------------------------------------------- 3. heatmap -- */
.yw-heat-band-wrap { margin-top: 14px; }
.yw-heat-band { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; padding: 4px; border-radius: 16px; background: #f1f0f3; }
.yw-heat-metric { display: block; padding: 11px 14px 12px; border-radius: 12px; color: inherit; text-decoration: none; transition: background-color .16s, box-shadow .16s; }
.yw-heatmap-page .yw-heat-metric > span { display: flex; width: 100%; }
.yw-heatmap-page .yw-heat-metric > span > span:first-child { display: flex; width: 100%; flex-direction: column; gap: 3px; }
.yw-heat-metric-label { color: #87818c; font-size: 12px; font-weight: 500; }
.yw-heat-metric-value { color: #59535f; font-size: 22px; font-weight: 500; line-height: 1.15; letter-spacing: -.7px; }
.yw-heat-metric:hover { background: rgba(255, 255, 255, .65); }
.yw-heat-metric:focus-visible { outline: 2px solid #b993ff; outline-offset: 1px; }
.yw-heat-metric[aria-current="page"] { background: #fff; box-shadow: 0 2px 8px rgba(0, 0, 0, .05); }
.yw-heat-metric[aria-current="page"] .yw-heat-metric-label { color: #7c3aed; }
.yw-heat-metric[aria-current="page"] .yw-heat-metric-value { color: #202024; }

/* -------------------------------------------------------- 4. closures -- */
.yw-closures-page > .yw-closure-flash { margin-top: 16px; }
.yw-closures-page > .yw-closure-flash + .yw-money-grid { margin-top: 12px; }
.yw-closure-hero .yw-row-stat-label { display: inline-flex; flex-wrap: wrap; align-items: baseline; }
.yw-closure-row-flag { margin-left: 8px; }
/* How tonight adds up: the card's body, its table filling the room the hero leaves. */
.yw-closure-night > #tonight { display: flex; flex: 1 1 auto; flex-direction: column; }
.yw-closure-recon { display: flex; flex: 1 1 auto; flex-direction: column; }
.yw-closure-recon > .yw-card-head { align-items: center; }
.yw-closure-recon-title { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.yw-closure-night-chip { padding: 4px 9px; border-radius: 20px; background: #fff; box-shadow: 0 2px 8px rgba(0, 0, 0, .03); color: #59535f; font-size: 11px; white-space: nowrap; }
.yw-closure-recon > .yw-money-note { margin-top: 10px; }
.yw-closure-recon-scroll { flex: 1 1 auto; max-height: 24rem; margin-top: 10px; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #ddd2e7 transparent; }
.yw-closure-recon-table { min-width: 560px; }
.yw-closure-recon-table thead th { position: sticky; top: 0; z-index: 1; background: #fbfbfb; box-shadow: inset 0 -1px 0 #eae8ec; }
.yw-closure-recon-table td { vertical-align: middle; color: #343039; font-size: 13px; }
.yw-closure-recon-type { color: #202024; font-weight: 500; }
.yw-closure-recon-table tr[data-quiet] td, .yw-closure-recon-table tr[data-quiet] .yw-closure-recon-type { color: #a59fab; font-weight: 400; }
.yw-closure-closed-pill { display: inline-block; color: #b4547d; font-weight: 600; }
.yw-closure-recon-table td[data-gap] { color: #86704f; font-weight: 500; }
.yw-closure-booked { display: inline-flex; align-items: center; gap: 7px; color: #343039; white-space: nowrap; }
.yw-closure-booked-dot { width: 7px; height: 7px; flex-shrink: 0; border-radius: 50%; }
.yw-closure-booked-dot.bg-emerald-500 { background: #3f9b7c; }
.yw-closure-booked-dot.bg-amber-400 { background: #d6ae6c; }
.yw-closure-booked-dot.bg-rose-400 { background: #d98aa9; }
.yw-closure-booked-dot.bg-zinc-300 { background: #d6d2da; }
.yw-closure-booked-none { color: #a59fab; font-size: 12px; white-space: nowrap; }
.yw-closure-recon-why { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; color: #59535f; font-size: 12px; }
.yw-closure-recon-foot { margin: auto 0 0; padding-top: 10px; color: #929097; font-size: 11.5px; line-height: 1.5; }
/* The calendar card. */
.yw-closure-cal > .yw-card-head { align-items: center; }
/* Closure kinds: the tint says how much notice there was. */
.yw-night[data-kind="reactive"] { border-color: #ebc4d5; background: repeating-linear-gradient(125deg, #f0c3d6 0 2px, #f9e9f0 2px 5px); }
.yw-night[data-kind="reactive"] .yw-night-word { color: #9b4f72; }
.yw-night[data-kind="scheduled"] { border-color: #ecdcc0; background: #fbf4e8; }
.yw-night[data-kind="scheduled"] .yw-night-word { color: #86704f; }
.yw-night[data-kind="planned"] { border-color: #e3d6f6; background: #f3ecfc; }
.yw-night[data-kind="planned"] .yw-night-word { color: #7433d4; }
.yw-night[data-kind="pre-existing"] { border-color: #e2e1e4; background: #f4f3f6; }
.yw-night:is([data-kind="blocks"], [data-kind="closed"], [data-kind="unknown-sync"]) { border-color: #e2e1e4; background: repeating-linear-gradient(125deg, #e8e6eb 0 2px, #f5f4f7 2px 6px); }
.yw-night:is([data-kind="blocks"], [data-kind="closed"]) .yw-night-word { color: #6f6975; }
.yw-night[data-kind="unknown-sync"] .yw-night-fig { color: #a59fab; }
.yw-night[data-kind="unchecked"] { border-style: dashed; border-color: #d8d1de; background: transparent; }
.yw-night[data-kind="unchecked"] .yw-night-fig { color: #a59fab; }
.yw-night[data-kind="unknown"] { border-color: #f0eef2; background: transparent; }
.yw-night[data-kind="unknown"] :is(.yw-night-date, .yw-night-fig) { color: #c3bdc8; }
.yw-closures-page .yw-night[data-past] { opacity: .55; }
/* A night with something closed opens it. */
.yw-night-hit { display: block; border-radius: 14px; color: inherit; text-decoration: none; }
.yw-closures-page a.yw-night-hit > span { display: flex; width: 100%; }
.yw-closures-page a.yw-night-hit > span > span:first-child { display: block; width: 100%; }
a.yw-night-hit .yw-night { cursor: pointer; }
a.yw-night-hit:hover .yw-night { transform: translateY(-2px); box-shadow: 0 6px 14px rgba(48, 32, 64, .08); }
a.yw-night-hit:hover .yw-night[data-selected] { box-shadow: 0 0 0 2px #7c3aed, 0 6px 14px rgba(48, 32, 64, .08); }
a.yw-night-hit:focus-visible { outline: 2px solid #8a45f0; outline-offset: 2px; }
/* Over your limits. */
.yw-ops-flagrow { display: grid; grid-template-columns: 36px minmax(0, 1fr); align-items: center; gap: 0 14px; padding: 11px 6px; border-bottom: 1px solid #eae8ec; color: #343039; font-size: 13px; line-height: 1.45; }
.yw-ops-flagrow:last-child { border-bottom: 0; }
.yw-closure-flags .yw-ops-list { margin-top: 8px; }
/* The log. */
.yw-closure-log > .yw-card-head { align-items: center; }
.yw-closure-count { margin-left: 4px; color: #a59fab; font-size: 15px; font-weight: 400; letter-spacing: -.3px; }
.yw-closure-log-tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px 14px; }
.yw-closure-log-tools > span > button { height: 30px; padding: 0 12px; border-radius: 10px; background: #eeeded; color: #202024; font-size: 12px; font-weight: 500; }
.yw-closure-log-tools > span > button:hover { background: #e8e4ed; color: #202024; }
.yw-closure-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin-top: 14px; padding-bottom: 8px; border-bottom: 1px solid #eae8ec; }
.yw-closure-filters label { gap: 8px; color: #87818c; font-size: 12px; font-weight: 500; }
.yw-closure-filters select {
  height: 34px; padding: 0 30px 0 11px; border: 1px solid #e8e6e9; border-radius: 10px; background-color: #fff;
  color: #202024; font-size: 12.5px; font-weight: 500; box-shadow: 0 2px 6px #00000009;
}
.yw-closure-filters select:hover { background-color: #faf8fc; }
.yw-closure-scroll { max-height: 38rem; margin-top: 4px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #ddd2e7 transparent; }
.yw-closure-back { margin: 10px 0 0; }
.yw-closures-page .yw-money-empty { padding: 16px 2px 4px; }
.yw-closure-blocks .yw-closure-scroll { margin-top: 10px; }
.yw-closure-blocks > .yw-money-empty + .yw-money-empty { padding-top: 4px; }
.yw-closure-presettings > .yw-card-head { align-items: center; }

/* Needs-you rows: the closure log, the blocks. */
.yw-ops-list { margin: 0; padding: 0; list-style: none; }
.yw-ops-row { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto auto; align-items: center; gap: 0 14px; min-height: 72px; padding: 11px 6px; border-bottom: 1px solid #eae8ec; transition: background-color .16s; }
.yw-ops-row:last-child { border-bottom: 0; }
.yw-ops-row:hover { background: #f8f6fa; }
.yw-block-row { grid-template-columns: 36px minmax(0, 1fr) auto; }
.yw-ops-mark { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; background: #f0eef2; color: #87818c; font-size: 14px; font-weight: 500; }
:is(.yw-ops-row, .yw-cday-entry)[data-kind="reactive"] .yw-ops-mark, .yw-ops-mark[data-kind="reactive"] { background: #f8e8ef; color: #bd6a91; }
.yw-ops-row[data-kind="scheduled"] .yw-ops-mark { background: #f6eddc; color: #9a805f; }
.yw-ops-row[data-kind="planned"] .yw-ops-mark, .yw-block-row[data-kind="allotment"] .yw-ops-mark { background: #efe8fb; color: #7c3aed; }
.yw-block-row:is([data-flag="no_pickup"], [data-flag="held_not_selling"]) .yw-ops-mark { background: #f8e8ef; color: #bd6a91; }
.yw-block-row[data-released] .yw-ops-mark { background: #f4f3f5; color: #b5aeba; }
.yw-block-row[data-released] .yw-ops-name { color: #87818c; }
.yw-ops-copy { min-width: 0; }
.yw-ops-title { display: flex; flex-wrap: wrap; align-items: baseline; gap: 3px 9px; }
.yw-ops-name { color: #202024; font-size: 14px; font-weight: 500; letter-spacing: -.2px; }
.yw-ops-line { display: flex; flex-wrap: wrap; align-items: baseline; margin-top: 4px; color: #929097; font-size: 12px; line-height: 1.45; }
.yw-ops-line > * + *::before { content: "\00b7"; margin: 0 7px; color: #c3bdc8; }
.yw-ops-line [data-muted] { color: #a59fab; }
.yw-ops-line--note { margin-top: 2px; color: #87818c; }
.yw-closure-why { color: #59535f; font-weight: 500; }
.yw-closure-why[data-tone="bad"] { color: #a96883; }
.yw-closure-why[data-tone="good"] { color: #2f8a6d; }
.yw-closure-why[data-tone="watch"] { color: #9a805f; }
.yw-closure-why .hw-info-label { color: inherit; font-size: 12px; font-weight: 500; text-align: left; }
.yw-ops-moves { display: flex; max-width: 380px; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px; }
.yw-ops-moves button {
  display: inline-flex; width: auto; height: 28px; align-items: center; margin: 0; padding: 0 11px; border: 0;
  border-radius: 10px; background: #eeeded; color: #202024; font-size: 11.5px; font-weight: 500; white-space: nowrap;
}
.yw-ops-moves button:hover:not(:disabled) { background: #e8e4ed; color: #202024; }
.yw-ops-moves button:is([title="Remove this tag"], [title^="Hide this closure"]) { width: 28px; justify-content: center; padding: 0; background: transparent; color: #a59fab; font-size: 16px; }
.yw-ops-moves button:is([title="Remove this tag"], [title^="Hide this closure"]):hover:not(:disabled) { background: #eeeded; color: #202024; }
.yw-ops-moves button[title^="Put this closure back"] { color: #7433d4; }
.yw-ops-dismiss:empty { display: none; }
.yw-ops-amount { min-width: 92px; text-align: right; }
.yw-ops-amount > strong { display: block; color: #202024; font-size: 16px; font-weight: 500; letter-spacing: -.4px; white-space: nowrap; }
.yw-ops-amount > strong[data-muted] { color: #a59fab; font-size: 13px; font-weight: 400; }
.yw-ops-amount > span { display: block; margin-top: 2px; color: #a59fab; font-size: 11px; white-space: nowrap; }
.yw-ops-amount > span[data-tone="bad"] { color: #a96883; }
/* The pickup strip on the Blocks tab, when group holds are present. */
.yw-ops-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 22px; margin-top: 12px; }
.yw-ops-stats > .yw-row-stat { border-top: 1px solid #eae8ec; }

/* The night, drilled into (DateDetail in its dialog): Dashboard rows. The
   panel keeps its Tailwind classes for the mobile view; these win here. */
.yw-closures-page .yw-cday { margin-top: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.yw-closures-page .yw-cday-total { color: #59535f; font-size: 13px; }
.yw-closures-page .yw-cday-total > .num { color: #202024; font-size: 15px; font-weight: 500; }
.yw-closures-page .yw-cday-list { margin-top: 10px; }
.yw-closures-page .yw-cday-list > li { margin-block: 0; }
.yw-closures-page .yw-cday-entry { padding: 14px 2px; border: 0; border-top: 1px solid #eae8ec; border-radius: 0; background: transparent; }
.yw-closures-page .yw-cday-entry:first-child { border-top: 0; }
.yw-closures-page .yw-cday-title > .num:first-child { color: #202024; font-size: 14.5px; font-weight: 500; letter-spacing: -.2px; }
.yw-closures-page .yw-cday-rooms { margin-top: 8px; }
.yw-closures-page .yw-cday-room { display: inline-block; padding: 3px 8px; border: 0; border-radius: 8px; background: #efe8fb; color: #7433d4; font-size: 11.5px; font-weight: 500; text-decoration: none; }
.yw-closures-page a.yw-cday-room:hover { background: #e3d6f6; }
.yw-closures-page .yw-cday-reason { margin-top: 8px; }
.yw-closures-page .yw-cday-meta { margin-top: 7px; color: #929097; font-size: 12px; }
.yw-closures-page .yw-cday-meta .font-semibold { color: #343039; }
.yw-closures-page :is(.yw-cday-note, .yw-cday-empty) { color: #929097; font-size: 12px; line-height: 1.5; }
.yw-closures-page .yw-cday-empty[data-tone="bad"] { color: #a96883; font-size: 13px; }
/* Tag one room: each tag a quiet row button, the one set in violet. */
.yw-roomtag-dialog form button { width: 100%; padding: 11px 14px; border: 1px solid #e2e1e4; border-radius: 12px; background: #fff; color: #202024; font-size: 13px; font-weight: 500; text-align: left; }
.yw-roomtag-dialog form button:hover { border-color: #cdb5ee; }
.yw-roomtag-dialog form button[class~="border-violet-300"] { border-color: #dccbf6; background: #f6f1fb; color: #7433d4; }
.yw-roomtag-dialog form > span { color: #929097; font-size: 12px; }

/* ----------------------------------------------------- 5. room types -- */
/* 10/09 redesign: the filter is the header's; the hero beside Next 30 days;
   the catalog one line per type. */
.yw-rt-when { flex-shrink: 0; color: #929097; font-size: 13px; white-space: nowrap; }
.yw-rt-hero-rows { margin-top: 14px; }
/* 10/10: one hero across the page. The figure and its picture on the left,
   the rows on the right; stacked on a phone. */
.yw-rt-hero-body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 8px 40px; }
.yw-rt-hero-body > .yw-rt-hero-rows { margin-top: 0; }
@media (max-width: 860px) { .yw-rt-hero-body { grid-template-columns: minmax(0, 1fr); } .yw-rt-hero-body > .yw-rt-hero-rows { margin-top: 14px; } }
/* The dotted hotel at dusk beside the figure (halftone-scene.tsx): its own
   band between the head and the rows, bled to the card's right edge and
   fading out to the left. A flex item, not an overlay: a longer figure
   takes its room from the picture, never the other way round. */
.yw-rt-hero { overflow: hidden; isolation: isolate; }
.yw-rt-hero-figure { position: relative; display: flex; min-height: 132px; align-items: center; }
.yw-rt-hero-figure > .yw-hero-value { position: relative; z-index: 1; margin: 0; }
.yw-rt-hero-art { position: relative; z-index: 0; flex: 0 1 50%; align-self: stretch; min-width: 0; margin: 0 -23px 0 auto; pointer-events: none; -webkit-mask-image: linear-gradient(90deg, transparent 0, transparent 14%, #000 62%), linear-gradient(180deg, transparent 0, #000 18%, #000 82%, transparent 100%); -webkit-mask-composite: source-in; mask-image: linear-gradient(90deg, transparent 0, transparent 14%, #000 62%), linear-gradient(180deg, transparent 0, #000 18%, #000 82%, transparent 100%); mask-composite: intersect; animation: yw-gf-todo-art-in .9s cubic-bezier(.2, .7, .2, 1) both; }
.yw-rt-hero-art > canvas { display: block; width: 100%; height: 100%; mix-blend-mode: multiply; }
@media (prefers-reduced-motion: reduce) { .yw-rt-hero-art { animation: none; } }
.yw-rt-hero .yw-row-stat-value[data-muted] { color: #a09aa4; font-size: 14px; font-weight: 400; letter-spacing: -.2px; }
.yw-rt-stat-of { color: #a09aa4; font-weight: 400; }
/* Next 30 days: one track per type, fullest first. */
.yw-rt-fastest { flex-shrink: 0; margin-left: 10px; color: #7c3aed; font-size: 13px; font-weight: 500; outline: none; }
.yw-rt-track { display: block; height: 8px; overflow: hidden; border-radius: 4px; background: #eeedf1; }
.yw-rt-track > i { display: block; height: 100%; border-radius: inherit; background: repeating-linear-gradient(125deg, #8a45f0 0 2px, #d4b6fb 2px 4px); transform-origin: left; animation: yw-scale-in 1s cubic-bezier(.2, .8, .2, 1) backwards; }
.yw-rt-pick { color: #59535f; font-size: 13px; outline: none; }
.yw-rt-pick[data-muted] { color: #c9c4cd; }
/* The card's hovers: the frosted menu surface, above the word. */
.yw-rt-table [data-tip] { position: relative; cursor: default; }
.yw-rt-table [data-tip]::after {
  position: absolute; right: 0; bottom: calc(100% + 8px); z-index: 9; width: max-content; max-width: 260px;
  padding: 7px 11px; border: 1px solid rgba(229, 221, 234, .9); border-radius: 12px; background: rgba(253, 252, 254, .86);
  -webkit-backdrop-filter: blur(18px) saturate(150%); backdrop-filter: blur(18px) saturate(150%);
  box-shadow: 0 12px 30px #3a214424, 0 2px 6px #3a21440d; color: #59535f; content: attr(data-tip);
  font-size: 12.5px; font-weight: 400; letter-spacing: 0; line-height: 1.4; text-align: left; white-space: normal;
  opacity: 0; pointer-events: none; transform: translateY(4px); transition: opacity .16s ease, transform .24s cubic-bezier(.2, .8, .2, 1);
}
.yw-rt-table .yw-rt-fastest[data-tip]::after { right: auto; left: 0; }
.yw-rt-table [data-tip]:is(:hover, :focus-visible)::after { opacity: 1; transform: translateY(0); }
/* The catalog. */
.yw-rt-scroll { margin-top: 8px; }
.yw-rt-table { min-width: 1060px; }
.yw-rt-table thead th { position: sticky; top: 0; z-index: 1; padding-bottom: 10px; background: #fbfbfb; box-shadow: inset 0 -1px 0 #eae8ec; vertical-align: bottom; white-space: nowrap; }
.yw-rt-table thead th.yw-rt-th-rev { width: 24%; text-align: left; }
/* The two column groups: the picked period, then the next 30 days, split by
   one quiet rule so the eye reads them as two answers about one type. */
.yw-rt-table thead tr.yw-rt-groups th { position: static; padding-top: 0; padding-bottom: 4px; box-shadow: none; color: #a09aa4; font-size: 11.5px; font-weight: 500; letter-spacing: .2px; text-align: left; text-transform: uppercase; }
.yw-rt-table thead tr + tr th { top: 0; }
.yw-rt-table .yw-rt-next { padding-left: 22px; border-left: 1px solid #eae8ec; }
.yw-rt-table thead th.yw-rt-th-next { width: 15%; text-align: left; }
.yw-rt-sort[data-static] { cursor: default; }
.yw-rt-sort[data-static]:hover { color: #87818c; }
.yw-rt-fwd { display: flex; align-items: center; gap: 12px; }
.yw-rt-fwd > .yw-rt-track { flex: 1 1 auto; max-width: 120px; }
.yw-rt-fwd > strong { min-width: 38px; color: #202024; font-size: 14px; font-weight: 500; text-align: right; }
/* The name stays put while the figures scroll on a narrow screen. */
.yw-rt-table .yw-rt-type, .yw-rt-table thead tr:last-child th:first-child { position: sticky; left: 0; z-index: 2; background: #fbfbfb; }
/* On a phone the pinned name wraps in a narrow column, so the figures still
   show beside it; rooms, closure and Fastest drop under the name. */
@media (max-width: 720px) {
  .yw-rt-table { min-width: 940px; }
  .yw-rt-table .yw-rt-type { width: 150px; min-width: 150px; max-width: 150px; white-space: normal; box-shadow: inset -1px 0 0 #eae8ec; }
  .yw-rt-table .yw-rt-name { display: block; font-size: 14px; line-height: 1.3; }
  .yw-rt-table :is(.yw-rt-units, .yw-rt-closed, .yw-rt-fastest) { margin-left: 0; margin-right: 8px; font-size: 12px; }
  .yw-rt-table .yw-rt-share { min-width: 48px; max-width: 56px; }
  .yw-rt-table thead th.yw-rt-th-rev { width: auto; }
}
.yw-rt-sort { color: #87818c; font-size: 13px; font-weight: 400; letter-spacing: -.1px; text-decoration: none; }
.yw-rt-sort:hover { color: #202024; }
.yw-rt-sort[aria-current="page"] { color: #7c3aed; font-weight: 500; }
.yw-rt-table tbody td { padding-top: 14px; padding-bottom: 14px; vertical-align: middle; color: #202024; font-size: 14px; }
.yw-rt-type { white-space: nowrap; }
.yw-rt-name { color: #202024; font-size: 15px; font-weight: 500; letter-spacing: -.3px; }
.yw-rt-name > a { color: inherit; text-decoration: none; }
.yw-rt-name > a:hover { color: #7c3aed; }
.yw-rt-units { margin-left: 10px; color: #a09aa4; font-size: 13px; }
.yw-rt-closed { margin-left: 10px; }
.yw-rt-closed .hw-info-label { color: #b4547d; font-size: 13px; font-weight: 500; }
.yw-rt-rev { display: flex; align-items: center; gap: 14px; }
.yw-rt-rev > strong { min-width: 76px; color: #202024; font-size: 15px; font-weight: 500; letter-spacing: -.3px; text-align: right; }
.yw-rt-share { display: block; flex: 1 1 auto; max-width: 170px; height: 8px; overflow: hidden; border-radius: 4px; background: #eeedf1; }
.yw-rt-share > i { display: block; height: 100%; border-radius: inherit; background: repeating-linear-gradient(125deg, #9161df 0 2px, #dcccfa 2px 4px); transform-origin: left; animation: yw-scale-in 1s cubic-bezier(.2, .8, .2, 1) backwards; }
.yw-rt-table td.yw-rt-pct { color: #87818c; font-size: 13px; }
/* The type dialog. */
.yw-rt-detail { display: flex; flex-direction: column; gap: 22px; }
.yw-rt-sec + .yw-rt-sec { padding-top: 20px; border-top: 1px solid #eae8ec; }
.yw-rt-sec-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; }
.yw-rt-sec-title { margin: 0; color: #202024; font-size: 16px; font-weight: 500; letter-spacing: -.4px; }
.yw-rt-sec-title .hw-info-label { font-weight: 500; }
.yw-rt-season { margin-top: 14px; }
.yw-rt-cols { display: grid; gap: 3px; }
.yw-rt-col { display: flex; min-width: 0; flex-direction: column; align-items: center; padding: 4px 2px 6px; border: 0; border-radius: 10px; background: transparent; color: #202024; font: inherit; text-decoration: none; cursor: default; transition: background .2s; }
a.yw-rt-col { cursor: pointer; }
.yw-rt-col:hover, .yw-rt-col[data-active="true"] { background: #f4eefb; }
.yw-rt-col:focus-visible { outline: 2px solid #7836e9; outline-offset: -2px; }
.yw-rt-col-value { height: 18px; color: #87818c; font-size: 11px; font-weight: 500; }
.yw-rt-col[data-active="true"] .yw-rt-col-value { color: #202024; }
.yw-rt-col-rail { position: relative; display: flex; width: 100%; height: 112px; align-items: flex-end; justify-content: center; gap: 3px; 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)); }
.yw-rt-col-bar { width: min(46%, 22px); border-radius: 4px 4px 0 0; background: repeating-linear-gradient(125deg, #8a45f0 0 2px, #d4b6fb 2px 4px); transform-origin: bottom; animation: yw-rt-grow .65s cubic-bezier(.2, .7, .2, 1) both; }
.yw-rt-col-bar[data-future] { background: repeating-linear-gradient(125deg, #c4a2f8 0 2px, #efe6fd 2px 4px); }
.yw-rt-col-bar[data-peak] { background: linear-gradient(#9b51f4, #7c38de); }
.yw-rt-col-last { width: min(20%, 9px); border-radius: 3px 3px 0 0; background: #dedae3; }
.yw-rt-col-none { width: min(46%, 22px); height: 0; border-top: 2px dashed #cfc8d6; }
.yw-rt-col-label { margin-top: 6px; color: #736b79; font-size: 11px; }
.yw-rt-col-sold { color: #a59fab; font-size: 10px; }
.yw-rt-season .yw-month-detail { margin-top: 8px; }
@keyframes yw-rt-grow { from { transform: scaleY(0); } to { transform: scaleY(1); } }
.yw-rt-key { margin-top: 10px; }
.yw-rt-key-bar { display: inline-block; width: 10px; height: 10px; flex-shrink: 0; border-radius: 3px; background: repeating-linear-gradient(125deg, #8a45f0 0 2px, #d4b6fb 2px 4px); }
.yw-rt-key-bar[data-future] { background: repeating-linear-gradient(125deg, #c4a2f8 0 2px, #efe6fd 2px 4px); }
.yw-rt-key-bar[data-last] { background: #dedae3; }
.yw-rt-key-bar[data-none] { width: 12px; height: 0; border-top: 2px dashed #cfc8d6; border-radius: 0; background: none; }
.yw-rt-months { margin-top: 14px; }
.yw-rt-month-link { color: #8553c2; font-weight: 500; text-decoration: none; }
.yw-rt-month-link:hover { text-decoration: underline; text-underline-offset: 2px; }
.yw-rt-peak { margin: 10px 0 0; color: #59535f; font-size: 12.5px; }
.yw-rt-peak > strong { color: #202024; font-weight: 500; }
.yw-rt-month { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 5px; margin-top: 14px; }
.yw-rt-month-dow { padding: 0 0 2px 10px; color: #929097; font-size: 11px; font-weight: 500; }
.yw-rt-month-dow[data-weekend] { color: #6f6975; }
.yw-rt-night { height: 62px; overflow: visible; outline: none; cursor: default; }
.yw-rt-night:hover, .yw-rt-night:focus-visible { z-index: 30; }
.yw-rt-night:focus-visible { box-shadow: 0 0 0 2px #8a45f0; }
.yw-rt-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 20px; margin-top: 14px; }
.yw-rt-stats > .yw-row-stat { flex-direction: column; align-items: flex-start; gap: 3px; border-top: 1px solid #eae8ec; }
.yw-rt-stats .yw-row-stat-value { color: #202024; font-size: 17px; letter-spacing: -.4px; }
/* The night's hover card: the menu surface. */
.yw-room-types-page .yw-rt-tip { padding: 8px 11px; border: 1px solid #e5ddea; border-radius: 12px; background: #fdfcfe; color: #49434e; box-shadow: 0 12px 30px rgba(58, 33, 68, .14); font-size: 11.5px; }
.yw-room-types-page .yw-rt-tip > span:first-child { color: #202024; font-weight: 500; }

/* ---------------------------------------------- 6. the dialog surface -- */
dialog.yw-ops-dialog { border: 1px solid rgba(226, 225, 228, .9); border-radius: 20px; background: rgba(253, 252, 254, .97); color: #202024; box-shadow: 0 24px 60px rgba(48, 32, 64, .16), 0 3px 9px rgba(58, 33, 68, .04); font-family: var(--font-geist-sans), Geist, system-ui, sans-serif; letter-spacing: -.25px; }
dialog.yw-ops-dialog::backdrop { background: rgba(32, 32, 36, .34); }
dialog.yw-ops-dialog > div > header { align-items: center; padding: 16px 22px 14px; border-color: #eae8ec; }
dialog.yw-ops-dialog > div > header h2 { color: #202024; font-size: 17px; font-weight: 500; letter-spacing: -.4px; }
dialog.yw-ops-dialog > div > header p { color: #929097; font-size: 12px; }
dialog.yw-ops-dialog > div > header button[aria-label="Close"] { display: grid; width: 32px; height: 32px; place-items: center; padding: 0; border: 1px solid #e4e2e6; border-radius: 50%; color: #59535f; font-size: 16px; }
dialog.yw-ops-dialog > div > header button[aria-label="Close"]:hover { background: #eeeded; color: #202024; }
dialog.yw-ops-dialog > div > div { padding: 16px 22px 22px; scrollbar-width: thin; scrollbar-color: #ddd2e7 transparent; }

/* --------------------------------------------------------- narrower -- */
@media (max-width: 800px) {
  .yw-ops-row { grid-template-columns: 36px minmax(0, 1fr) auto; }
  .yw-ops-row > .yw-ops-amount { grid-column: 3; grid-row: 1; }
  .yw-ops-row > .yw-ops-moves { grid-column: 2 / -1; grid-row: 2; justify-content: flex-start; max-width: none; margin-top: 8px; }
  .yw-ops-stats, .yw-rt-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .yw-heat-metric { padding: 9px 10px 10px; }
  .yw-heat-metric-value { font-size: 18px; }
  .yw-nmap .yw-night { height: 56px; padding: 7px 8px 8px; border-radius: 11px; }
  .yw-nmap .yw-night-fig { font-size: 14px; }
}
@media (max-width: 520px) {
  .yw-heat-metric-label { font-size: 11px; }
  .yw-rt-cols { gap: 1px; }
  .yw-rt-col-sold { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .yw-night, .yw-ops-row, .yw-rt-col, .yw-heat-metric { transition: none; }
  a.yw-night-hit:hover .yw-night { transform: none; }
  .yw-rt-col-bar, .yw-rt-share > i { animation: none; }
}

/* ------------------------------------------ 4b. closures, 10/08 rework -- */
/* Owner, 10/08: "this whole closures tab needs to get re worked. it still has
   the old ui design, really small fonts hard to understand, a lot of ai slop
   ... information should be on the hover modal info. also modals should be
   translucent and animated". One size up everywhere (figures and names 14 to
   15px, lines 13px, nothing under 12px), the house control corner (10px), the
   house hatch for every bar, menus and the night dialog in frosted glass that
   fades and lifts in, and every sentence that explained something moved into
   a hover. */

/* The hero: the house's rooms tonight as dots, the counts at the foot. */
.yw-closures-page .yw-closure-hero { display: flex; flex-direction: column; }
.yw-closure-rooms { display: grid; max-width: 380px; grid-template-columns: repeat(auto-fill, minmax(13px, 1fr)); gap: 7px; margin: 22px 0 8px; }
.yw-closure-rooms > i { display: block; aspect-ratio: 1; border-radius: 50%; background: #cdb6f6; animation: yw-closure-dot-in .42s cubic-bezier(.2, .7, .2, 1) both; animation-delay: calc(var(--i) * 7ms); }
.yw-closure-rooms > i[data-closed] { background: repeating-linear-gradient(125deg, #c85f84 0 2px, #f6d3e2 2px 4px); }
@keyframes yw-closure-dot-in { from { opacity: 0; transform: scale(.4); } }
.yw-closures-page .yw-closure-hero .yw-row-stats { margin-top: auto; }
.yw-closures-page .yw-closure-hero .yw-row-stat-label { gap: 4px 8px; color: #343039; font-size: 14px; }
.yw-closures-page .yw-closure-hero .yw-row-stat-label .hw-info-label { font-size: 14px; }
.yw-closures-page .yw-closure-hero .yw-row-stat-value { font-size: 19px; }
.yw-closures-page .yw-closure-hero .yw-money-row-count { color: #87818c; font-size: 13px; }
.yw-closures-page .yw-closure-row-flag { margin-left: 0; padding: 0; background: none; color: #b4547d; font-size: 13px; font-weight: 500; }

/* How tonight adds up. */
.yw-closures-page .yw-closure-night-chip { padding: 4px 9px; border-radius: 8px; font-size: 12px; }
.yw-closures-page .yw-ops-step { min-width: 34px; height: 34px; font-size: 14px; }
.yw-closures-page .yw-closure-recon-scroll { max-height: 27rem; }
.yw-closures-page .yw-closure-recon-table thead th { color: #87818c; font-size: 13px; font-weight: 500; }
.yw-closures-page .yw-closure-recon-table td { padding-top: 12px; padding-bottom: 12px; font-size: 14px; }
.yw-closures-page .yw-closure-booked { font-size: 14px; }
.yw-closures-page .yw-closure-booked-dot { width: 8px; height: 8px; }
.yw-closures-page .yw-closure-booked-none { font-size: 13px; }
.yw-closures-page .yw-closure-recon-why { font-size: 13px; }
.yw-closures-page .yw-closure-recon-why .hw-info-label { color: #7433d4; font-size: 13px; font-weight: 500; }
/* The room-count warning: one pink line, the counts its hover. */
.yw-closure-alert { margin: 12px 0 0; }
.yw-closure-alert .hw-info-label { display: inline-flex; align-items: center; gap: 8px; color: #b4547d; font-size: 13px; font-weight: 500; }
.yw-closure-alert .hw-info-label::before { content: "!"; display: grid; width: 18px; height: 18px; place-items: center; border-radius: 50%; background: #f8e8ef; color: #bd6a91; font-size: 12px; font-weight: 600; }

/* The calendar, one size up. */
.yw-closures-page .yw-night { height: 60px; }
.yw-closures-page .yw-night-date { font-size: 12px; }
.yw-closures-page .yw-night-fig { font-size: 20px; }
.yw-closures-page .yw-night-word { font-size: 12px; }
.yw-closures-page .yw-night-spare { font-size: 12px; }
.yw-closures-page .yw-nmap[data-density="compact"] .yw-night { height: 44px; }
.yw-closures-page .yw-nmap[data-density="compact"] .yw-night-date { font-size: 12px; }
.yw-closures-page .yw-nmap-key { font-size: 13px; }

/* Over your limits: the limits passed, then the nights that flagged. */
.yw-closure-limits, .yw-closure-flagnights { margin: 12px 0 0; padding: 0; list-style: none; }
.yw-closure-limits > li { display: grid; grid-template-columns: minmax(0, 13rem) minmax(0, 1fr) auto; align-items: center; gap: 20px; padding: 13px 2px; border-top: 1px solid #eae8ec; }
.yw-closure-limits > li:first-child { border-top: 0; }
.yw-closure-limit-period { color: #202024; font-size: 14px; font-weight: 500; }
/* The bar is the count; its grey head is what the limit allows, the pink
   hatch is how far past it. */
.yw-closure-limit-track { display: block; height: 10px; overflow: hidden; border-radius: 6px; background: repeating-linear-gradient(125deg, #c85f84 0 2px, #f6d3e2 2px 4px); }
.yw-closure-limit-track > i { display: block; height: 100%; border-right: 2px solid #fbfbfb; background: #d9d4de; transform-origin: left; animation: yw-closure-grow .6s cubic-bezier(.2, .7, .2, 1) both; }
.yw-closure-limit-figure { color: #59535f; font-size: 14px; white-space: nowrap; }
.yw-closure-limit-figure > strong { margin-right: 2px; color: #202024; font-size: 19px; font-weight: 500; letter-spacing: -.4px; }
.yw-closure-flagnights { max-height: 24rem; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #ddd2e7 transparent; }
.yw-closure-limits + .yw-closure-flagnights { margin-top: 6px; border-top: 1px solid #eae8ec; }
.yw-closure-flagnights > li { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 12px 2px; border-top: 1px solid #eae8ec; }
.yw-closure-flagnights > li:first-child { border-top: 0; }
.yw-closure-flag-mark { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; background: #f8e8ef; color: #bd6a91; font-size: 15px; font-weight: 600; }
.yw-closure-flag-copy { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.yw-closure-flag-copy > strong { overflow: hidden; color: #202024; font-size: 15px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.yw-closure-flag-copy > span { color: #77717c; font-size: 13px; }
.yw-closure-flag-kind .hw-info-label { color: #b4547d; font-size: 13px; font-weight: 500; }
@keyframes yw-closure-grow { from { transform: scaleX(0); } }

/* The log: one size up. */
.yw-closures-page .yw-ops-row { min-height: 78px; padding-top: 12px; padding-bottom: 12px; }
.yw-closures-page .yw-ops-mark { width: 38px; height: 38px; font-size: 15px; }
.yw-closures-page .yw-ops-name { font-size: 15px; }
.yw-closures-page .yw-ops-title .yw-money-flag { font-size: 12px; }
.yw-closures-page .yw-ops-line { margin-top: 5px; font-size: 13px; }
.yw-closures-page .yw-closure-why .hw-info-label { font-size: 13px; }
.yw-closures-page .yw-ops-amount > strong { font-size: 17px; }
.yw-closures-page .yw-ops-amount > span { font-size: 12px; }
.yw-closures-page .yw-closure-log-tools > span > button { height: 34px; padding: 0 13px; font-size: 13px; }
.yw-closures-page .yw-closure-log-tools .yw-money-flag { font-size: 13px; }
.yw-closures-page .yw-ops-moves button:is([title="Remove this tag"], [title^="Hide this closure"]) { width: 32px; height: 32px; font-size: 17px; }
/* The filters: a quiet trigger naming field and choice, a frosted menu. */
.yw-closures-page .yw-closure-filters { gap: 8px; padding-bottom: 12px; }
.yw-closure-filter { position: relative; }
.yw-closure-filter-trigger { display: inline-flex; height: 36px; align-items: center; gap: 8px; padding: 0 11px 0 12px; border: 0; border-radius: 10px; background: #eeeded; color: #202024; font-size: 13px; cursor: pointer; transition: background-color .16s ease; }
.yw-closure-filter-trigger:hover, .yw-closure-filter-trigger[aria-expanded="true"] { background: #e6e4e8; }
.yw-closure-filter-trigger:focus-visible { outline: 2px solid #b993ff; outline-offset: 2px; }
.yw-closure-filter[data-set] .yw-closure-filter-trigger { background: #efe8fb; }
.yw-closure-filter-label { color: #87818c; }
.yw-closure-filter-value { font-weight: 500; }
.yw-closure-filter-trigger > svg { width: 14px; height: 14px; fill: none; stroke: #8d8595; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s ease; }
.yw-closure-filter-trigger[aria-expanded="true"] > svg { transform: rotate(180deg); }
/* Frosted menus (the filters and the tag), fading and lifting in. */
.yw-closure-filter-menu, .yw-closure-tag-menu {
  position: absolute; top: calc(100% + 8px); left: 0; z-index: 70; display: flex; min-width: 200px; flex-direction: column; gap: 2px;
  padding: 6px; border: 1px solid rgba(229, 221, 234, .85); border-radius: 14px; background: rgba(253, 252, 254, .8);
  box-shadow: 0 18px 48px #3a214424, 0 3px 9px #3a21440d; opacity: 0; visibility: hidden; pointer-events: none;
  transform: translateY(-4px) scale(.98); transform-origin: top left;
  transition: opacity .18s ease, transform .24s cubic-bezier(.16, 1, .3, 1), visibility 0s .24s;
  -webkit-backdrop-filter: blur(22px) saturate(150%); backdrop-filter: blur(22px) saturate(150%);
}
.yw-closure-filter-menu[data-open], .yw-closure-tag-menu[data-open] { opacity: 1; visibility: visible; pointer-events: auto; transform: none; transition: opacity .18s ease, transform .24s cubic-bezier(.16, 1, .3, 1), visibility 0s; }
.yw-closure-filter-menu > button { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 10px; border: 0; border-radius: 9px; background: transparent; color: #202024; font-size: 13px; text-align: left; cursor: pointer; transition: background-color .14s ease; }
.yw-closure-filter-menu > button:hover, .yw-closure-filter-menu > button:focus-visible { background: rgba(124, 58, 237, .08); outline: none; }
.yw-closure-filter-menu > button[aria-checked="true"] { color: #7433d4; font-weight: 500; }
.yw-closure-filter-menu > button > svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
/* The tag: a word with its dot, or "Tag"; the choices in the frosted menu. */
.yw-closure-tag { position: relative; display: inline-flex; }
.yw-closures-page .yw-ops-moves .yw-closure-tag-trigger, .yw-closure-tag-trigger { display: inline-flex; width: auto; height: 32px; align-items: center; gap: 7px; padding: 0 12px; border: 0; border-radius: 10px; background: #eeeded; color: #202024; font-size: 13px; font-weight: 500; white-space: nowrap; cursor: pointer; }
.yw-closures-page .yw-ops-moves .yw-closure-tag-trigger:hover { background: #e6e4e8; }
.yw-closure-tag-trigger > svg { width: 13px; height: 13px; fill: none; stroke: #87818c; stroke-width: 1.8; stroke-linecap: round; }
.yw-closures-page .yw-closure-tag[data-tagged] .yw-closure-tag-trigger { background: transparent; box-shadow: inset 0 0 0 1px #e2e1e4; }
.yw-closures-page .yw-closure-tag[data-tagged] .yw-closure-tag-trigger:hover { background: #f6f3f9; }
.yw-closure-tag-trigger[data-static] { cursor: default; }
.yw-closure-tag i { display: block; width: 8px; height: 8px; flex-shrink: 0; border-radius: 50%; background: #a59fab; }
.yw-closure-tag[data-tone="violet"] i, .yw-closure-tag-menu button[data-tone="violet"] i { background: #7c3aed; }
.yw-closure-tag[data-tone="rescue"] i, .yw-closure-tag-menu button[data-tone="rescue"] i { background: #c85f84; }
.yw-closure-tag[data-tone="gold"] i, .yw-closure-tag-menu button[data-tone="gold"] i { background: #b98234; }
.yw-closure-tag-menu { right: 0; left: auto; width: 320px; transform-origin: top right; }
.yw-closure-tag-menu > form { margin: 0; }
.yw-closures-page .yw-ops-moves .yw-closure-tag-menu button { display: grid; width: 100%; height: auto; grid-template-columns: 8px minmax(0, 1fr); align-items: start; gap: 11px; padding: 10px; border: 0; border-radius: 10px; background: transparent; color: #202024; font-size: 13px; font-weight: 400; text-align: left; white-space: normal; cursor: pointer; transition: background-color .14s ease; }
.yw-closures-page .yw-ops-moves .yw-closure-tag-menu button:hover, .yw-closures-page .yw-ops-moves .yw-closure-tag-menu button:focus-visible { background: rgba(124, 58, 237, .08); outline: none; }
.yw-closure-tag-menu button > i { margin-top: 5px; }
.yw-closure-tag-menu button > span { display: flex; flex-direction: column; gap: 2px; }
.yw-closure-tag-menu button strong { font-size: 14px; font-weight: 500; }
.yw-closure-tag-menu button small { color: #87818c; font-size: 13px; line-height: 1.4; }
.yw-closure-tag-menu button[aria-checked="true"] strong { color: #7433d4; }
.yw-closures-page .yw-ops-moves .yw-closure-tag-clear button { display: block; margin-top: 4px; padding: 9px 10px; border-top: 1px solid #eee8f3; border-radius: 0 0 10px 10px; color: #b4547d; font-weight: 500; }

/* Short notice by room type: ranked rows, the month as the pink hatch. */
.yw-closure-types-grid { margin-top: 12px; }
.yw-closure-types-head, .yw-closure-types-row { display: grid; grid-template-columns: minmax(0, 18rem) minmax(0, 1fr) 6rem 6rem 7rem; align-items: center; gap: 18px; }
.yw-closure-types-head { padding: 0 2px 10px; border-bottom: 1px solid #eae8ec; color: #87818c; font-size: 13px; }
.yw-closure-types-head > :nth-child(n+3), .yw-closure-types-row > :nth-child(n+3) { text-align: right; }
.yw-closure-types-row { padding: 12px 2px; border-bottom: 1px solid #eae8ec; color: #59535f; font-size: 14px; transition: background-color .14s ease; }
.yw-closure-types-row:last-child { border-bottom: 0; }
.yw-closure-types-row:hover { background: #f8f6fa; }
.yw-closure-types-name { overflow: hidden; color: #202024; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.yw-closure-types-track { display: block; height: 8px; overflow: hidden; border-radius: 4px; background: #f1eef3; }
.yw-closure-types-track > i { display: block; height: 100%; border-radius: inherit; background: repeating-linear-gradient(125deg, #c85f84 0 2px, #f6d3e2 2px 4px); transform-origin: left; animation: yw-closure-grow .6s cubic-bezier(.2, .7, .2, 1) both; }
.yw-closure-types-row strong { color: #202024; font-weight: 500; }
@media (max-width: 760px) {
  .yw-closure-types-head, .yw-closure-types-row { grid-template-columns: minmax(0, 1fr) 4rem 4rem 5rem; }
  .yw-closure-types-track, .yw-closure-types-head > :nth-child(2) { display: none; }
  .yw-closure-limits > li { grid-template-columns: minmax(0, 1fr) auto; }
  .yw-closure-limit-track { grid-column: 1 / -1; grid-row: 2; }
}

/* Nothing under 12px on this page: the hero caption, the table's "Not
   reported", the calendar's weekday heads and month years. Scoped here so
   the room-types calendar that shares .yw-nmap does not move. */
.yw-closures-page .yw-closure-hero .yw-hero-muted { font-size: 13px; }
.yw-closures-page td .yw-money-flag { font-size: 12px; }
.yw-closures-page .yw-nmap thead th { font-size: 12px; }
.yw-closures-page .yw-nmap-month > span { font-size: 12px; }

/* Blocks: the rooms a hold covers lead the line in ink; the age is a hover. */
.yw-closures-page .yw-block-rooms { color: #202024; font-weight: 500; }
.yw-closures-page .yw-block-age .hw-info-label { color: inherit; font: inherit; }

/* The calendar in month blocks (10/08, owner: "THE CALENDAR SHOULD BE BETTER
   SEPARATED SO WE CAN DIFERENTIATE EACH MONTH BETTER"): each month its own
   block under its own heading, a hairline and air between months, the room-
   nights it lost on the right. Another month's nights in a shared week are
   left blank; that month's block shows them. */
.yw-closures-page .yw-nmap { min-width: 560px; border-spacing: 6px 5px; }
.yw-closures-page .yw-nmap thead th { padding-left: 8px; }
.yw-closures-page .yw-nmap-monthrow th { padding: 0; background: transparent; font-weight: 400; text-align: left; }
.yw-closures-page .yw-nmap-monthhead { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 6px 2px 4px; }
.yw-closures-page .yw-nmap-block + .yw-nmap-block .yw-nmap-monthhead { margin-top: 14px; padding-top: 20px; border-top: 1px solid #eae8ec; }
.yw-closures-page .yw-nmap-monthname { color: #202024; font-size: 17px; font-weight: 500; letter-spacing: -.3px; }
.yw-closures-page .yw-nmap-monthname > .num { color: #929097; font-weight: 400; }
.yw-closures-page .yw-nmap-monthsum { color: #87818c; font-size: 13px; white-space: nowrap; }
.yw-closures-page .yw-nmap td[data-out] { background: transparent; }
.yw-closures-page .yw-nmap[data-density="compact"] .yw-nmap-monthname { font-size: 15px; }
.yw-closures-page .yw-nmap[data-density="compact"] .yw-nmap-block + .yw-nmap-block .yw-nmap-monthhead { margin-top: 8px; padding-top: 12px; }
.yw-nmap-key-swatch[data-kind="pre-existing"] { border-color: #e2e1e4; background: #f4f3f6; }

/* The Closure log (10/09, owner: "this container has a lot of ai slop, take a
   look at those fonts and colors and layout"). One accent per row at most:
   "Short notice" and its mark in the house pink. Every other fact is one grey
   line, the reason and a likely group hold included (their detail is the
   hover). The value is ink; under it "likely lost" turns pink only when it
   counts. Tag and hide wait for the row's hover, unless the row is tagged. */
.yw-closure-log .yw-ops-row { min-height: 72px; }
.yw-closure-log .yw-ops-row .yw-ops-mark { background: #f1f0f3; color: #59535f; }
.yw-closure-log .yw-ops-row[data-kind="reactive"] .yw-ops-mark { background: #f8e8ef; color: #b4547d; }
.yw-closure-notice { color: #b4547d; font-size: 13px; font-weight: 500; }
.yw-closure-log .yw-ops-line { color: #87818c; }
.yw-closure-state { color: #202024; font-weight: 500; }
.yw-closure-state[data-state="upcoming"] { color: #59535f; }
.yw-closure-log .yw-closure-why, .yw-closure-log .yw-closure-why[data-tone] { color: #59535f; font-weight: 400; }
.yw-closure-log .yw-closure-why .hw-info-label { color: inherit; font-size: 13px; font-weight: 400; }
.yw-closure-log .yw-ops-amount > span { color: #87818c; font-size: 13px; }
.yw-closure-log .yw-ops-amount > span[data-tone="bad"] { color: #87818c; }
.yw-closure-log .yw-ops-amount em { font-style: normal; }
.yw-closure-log .yw-ops-amount > span[data-tone="bad"] em { color: #b4547d; }
.yw-closure-running { color: #87818c; font-size: 13px; white-space: nowrap; }
.yw-closure-running > strong { color: #202024; font-weight: 500; }
.yw-closure-log .yw-ops-row :is(.yw-closure-tag:not([data-tagged]), .yw-ops-dismiss) { opacity: 0; transition: opacity .16s ease; }
.yw-closure-log .yw-ops-row:is(:hover, :focus-within) :is(.yw-closure-tag:not([data-tagged]), .yw-ops-dismiss) { opacity: 1; }

/* A night's hover (10/08): frosted, animated, above its neighbours and the
   sticky weekday row; the edge columns open inward. The tile itself carries
   only its date and count on the house heat ramp (cal-heat.ts). */
.yw-closures-page .yw-nmap td[data-tip] { position: relative; }
.yw-closures-page .yw-nmap td[data-tip]:hover { z-index: 3; }
.yw-closures-page .yw-nmap td[data-tip]::after {
  position: absolute; bottom: calc(100% + 6px); left: 50%; z-index: 9; display: block;
  width: max-content; max-width: 260px; padding: 8px 12px;
  border: 1px solid rgba(229, 221, 234, .9); border-radius: 12px;
  background: rgba(253, 252, 254, .86); -webkit-backdrop-filter: blur(18px) saturate(150%); backdrop-filter: blur(18px) saturate(150%);
  box-shadow: 0 12px 30px #3a214424, 0 2px 6px #3a21440d;
  color: #49434e; content: attr(data-tip); font-size: 13px; font-weight: 400; line-height: 1.4; text-align: left; white-space: normal;
  opacity: 0; pointer-events: none; transform: translate(-50%, 5px);
  transition: opacity .18s ease, transform .28s cubic-bezier(.2, .8, .2, 1);
}
.yw-closures-page .yw-nmap td[data-tip][data-edge="start"]::after { left: 0; transform: translate(0, 5px); }
.yw-closures-page .yw-nmap td[data-tip][data-edge="end"]::after { right: 0; left: auto; transform: translate(0, 5px); }
.yw-closures-page .yw-nmap td[data-tip]:hover::after { opacity: 1; transform: translate(-50%, 0); transition-delay: .1s; }
.yw-closures-page .yw-nmap td[data-tip][data-edge]:hover::after { transform: translate(0, 0); }
.yw-closures-page .yw-closure-recon-why .hw-info-label { white-space: nowrap; }

/* How tonight adds up: the night as plain words beside the title, and the
   booked share as a short bar in its band's colour (10/08, in place of a
   capsule and a coloured dot). */
.yw-closures-page .yw-closure-night-date { color: #87818c; font-size: 14px; white-space: nowrap; }
.yw-closure-booked-track { position: relative; display: inline-block; width: 44px; height: 6px; flex-shrink: 0; overflow: hidden; border-radius: 3px; background: #eeedf0; }
.yw-closure-booked-track > i { position: absolute; inset: 0 auto 0 0; border-radius: 3px; background: #c9c4ce; }
.yw-closure-booked[data-band="full"] .yw-closure-booked-track > i { background: #3f9b7c; }
.yw-closure-booked[data-band="busy"] .yw-closure-booked-track > i { background: #d6ae6c; }
.yw-closure-booked[data-band="quiet"] .yw-closure-booked-track > i { background: #d98aa9; }

/* The night's dialog in frosted glass. */
dialog.yw-ops-dialog { background: rgba(253, 252, 254, .84); -webkit-backdrop-filter: blur(26px) saturate(150%); backdrop-filter: blur(26px) saturate(150%); }
dialog.yw-ops-dialog::backdrop { background: rgba(28, 20, 38, .3); -webkit-backdrop-filter: blur(6px) saturate(110%); backdrop-filter: blur(6px) saturate(110%); }
@media (prefers-reduced-motion: reduce) {
  .yw-closure-rooms > i, .yw-closure-limit-track > i, .yw-closure-types-track > i { animation: none; }
  .yw-closure-filter-menu, .yw-closure-tag-menu, .yw-closure-filter-trigger > svg { transition: none; }
  .yw-closures-page .yw-nmap td[data-tip]::after { transition: none; }
  .yw-closure-log .yw-ops-row :is(.yw-closure-tag, .yw-ops-dismiss) { transition: none; }
}

/* ------------------------------------------------------------- dark -- */
[data-theme-root].dark .yw-ops-when > strong { color: #f3eef8; }
[data-theme-root].dark .yw-ops-when > span { color: #a297ab; }
[data-theme-root].dark .yw-ops-range :is(button[aria-label="Previous range"], button[aria-label="Next range"], button[aria-haspopup]) { border-color: #1c2843; background: #0d1527; box-shadow: none; color: #f3eef8; }
[data-theme-root].dark .yw-ops-range :is(button[aria-label="Previous range"], button[aria-label="Next range"], button[aria-haspopup]):hover:not(:disabled) { background: #142036; }
[data-theme-root].dark .yw-ops-range button[aria-haspopup] > span[aria-hidden] { color: #a297ab; }
[data-theme-root].dark .yw-ops-step { background: #142036; color: #f3eef8; }
[data-theme-root].dark .yw-ops-step:hover { background: #1c2843; }
[data-theme-root].dark .yw-ops-step[data-off] { background: #101a2f; color: #5b5663; }
[data-theme-root].dark :is(.yw-heatmap-page, .yw-closures-page, .yw-room-types-page) .yw-money-flag { color: #a297ab; }
[data-theme-root].dark :is(.yw-heatmap-page, .yw-closures-page, .yw-room-types-page) .yw-money-flag[data-tone="bad"] { color: #e69ac4; }
[data-theme-root].dark :is(.yw-heatmap-page, .yw-closures-page, .yw-room-types-page) .yw-money-flag[data-tone="good"] { color: #7fd3b4; }
[data-theme-root].dark :is(.yw-heatmap-page, .yw-closures-page, .yw-room-types-page) .yw-money-flag[data-tone="accent"] { color: #c9b1ff; }
[data-theme-root].dark :is(.yw-heatmap-page, .yw-closures-page, .yw-room-types-page) .yw-money-flag[data-tone="watch"] { color: #e6bd7f; }
[data-theme-root].dark :is(.yw-heatmap-page, .yw-closures-page, .yw-room-types-page) .yw-hero-pill[data-pace="behind"] { color: #e69ac4; }
[data-theme-root].dark :is(.yw-heatmap-page, .yw-closures-page, .yw-room-types-page) .yw-money-table td strong { color: #f3eef8; }
/* The night map, dark: the same ramp on the warm palette. */
[data-theme-root].dark .yw-nmap-scroll { scrollbar-color: #273656 transparent; }
[data-theme-root].dark .yw-nmap thead th { background: #0d1527; color: #a297ab; }
[data-theme-root].dark .yw-nmap tbody tr:hover { background: transparent; }
[data-theme-root].dark .yw-nmap thead th[data-weekend] { color: #c3b9cc; }
[data-theme-root].dark .yw-nmap-month { color: #c3b9cc; }
[data-theme-root].dark .yw-nmap-month > span { color: #8f8996; }
[data-theme-root].dark .yw-night { border-color: #1c2843; background: #111b30; color: #f3eef8; }
[data-theme-root].dark .yw-night-date { color: #a297ab; }
[data-theme-root].dark .yw-night-fig { color: #f3eef8; }
[data-theme-root].dark .yw-night-word { color: #a297ab; }
[data-theme-root].dark .yw-night-spare { color: #e69ac4; }
[data-theme-root].dark .yw-night[data-weekend] { background: #10192d; }
[data-theme-root].dark .yw-night[data-today] .yw-night-date { color: #c5a8ff; }
[data-theme-root].dark .yw-night[data-today] .yw-night-date::after { background: #c5a8ff; }
[data-theme-root].dark .yw-night[data-selected] { border-color: transparent; box-shadow: 0 0 0 2px #b58cf0; }
[data-theme-root].dark .yw-night[data-heat="0"] { border-color: #1c2843; background: #111b30; }
[data-theme-root].dark .yw-night[data-heat="0"] .yw-night-fig { color: #a297ab; }
[data-theme-root].dark .yw-night[data-heat="1"] { border-color: #3d3350; background: #33293f; }
[data-theme-root].dark .yw-night[data-heat="2"] { border-color: #4a3a63; background: #3d3052; }
[data-theme-root].dark .yw-night[data-heat="3"] { border-color: #5c4a78; background: repeating-linear-gradient(125deg, #5a4580 0 2px, #4a3a68 2px 5px); }
[data-theme-root].dark .yw-night[data-heat="4"] { border-color: #7d5bc4; background: repeating-linear-gradient(125deg, #7a55c0 0 2px, #6646a6 2px 5px); }
[data-theme-root].dark .yw-night[data-heat="5"] { border-color: #a883ee; background: repeating-linear-gradient(125deg, #9c6cf0 0 2px, #8452e6 2px 5px); }
[data-theme-root].dark .yw-night:is([data-heat="3"], [data-heat="4"]) .yw-night-date { color: #d9c8f0; }
[data-theme-root].dark .yw-night:is([data-heat="4"], [data-heat="5"]) .yw-night-fig { color: #fff; }
[data-theme-root].dark .yw-night[data-heat="5"] .yw-night-date { color: rgba(255, 255, 255, .82); }
[data-theme-root].dark .yw-night[data-heat="5"][data-today] .yw-night-date::after { background: #fff; }
[data-theme-root].dark .yw-night[data-state="beyond"] { border-color: #1c2843; background: repeating-linear-gradient(125deg, #17243d 0 2px, #10192d 2px 6px); }
[data-theme-root].dark .yw-night[data-state="beyond"] .yw-night-date { color: #8f8996; }
[data-theme-root].dark .yw-heat-night[data-today] { box-shadow: 0 0 0 2px #0d1527, 0 0 0 4px #f3eef8; }
[data-theme-root].dark .yw-nmap-key { border-top-color: #1c2843; color: #a297ab; }
[data-theme-root].dark .yw-nmap-key-swatch { border-color: #1c2843; background: #111b30; }
[data-theme-root].dark .yw-nmap-key-swatch[data-heat="1"] { border-color: #3d3350; background: #33293f; }
[data-theme-root].dark .yw-nmap-key-swatch[data-heat="2"] { border-color: #4a3a63; background: #3d3052; }
[data-theme-root].dark .yw-nmap-key-swatch[data-heat="3"] { border-color: #5c4a78; background: repeating-linear-gradient(125deg, #5a4580 0 2px, #4a3a68 2px 5px); }
[data-theme-root].dark .yw-nmap-key-swatch[data-heat="4"] { border-color: #7d5bc4; background: repeating-linear-gradient(125deg, #7a55c0 0 2px, #6646a6 2px 5px); }
[data-theme-root].dark .yw-nmap-key-swatch[data-heat="5"] { border-color: #a883ee; background: repeating-linear-gradient(125deg, #9c6cf0 0 2px, #8452e6 2px 5px); }
[data-theme-root].dark .yw-nmap-key-swatch:is([data-state="beyond"], [data-kind="blocks"]) { border-color: #1c2843; background: repeating-linear-gradient(125deg, #17243d 0 2px, #10192d 2px 5px); }
[data-theme-root].dark .yw-nmap-key-swatch.yw-nmap-key-today { border-color: #f3eef8; background: #111b30; }
[data-theme-root].dark .yw-nmap-key-swatch[data-kind="reactive"] { border-color: #5a3a4b; background: repeating-linear-gradient(125deg, #5a3a4b 0 2px, #45303d 2px 5px); }
[data-theme-root].dark .yw-nmap-key-swatch[data-kind="scheduled"] { border-color: #594a35; background: #3d3122; }
[data-theme-root].dark .yw-nmap-key-swatch[data-kind="planned"] { border-color: #4a3a63; background: #2f2638; }
[data-theme-root].dark .yw-nmap-key-swatch[data-kind="unchecked"] { border-color: #5b5663; background: transparent; }
/* Heatmap, dark. */
[data-theme-root].dark .yw-heat-band { background: #111b30; }
[data-theme-root].dark .yw-heat-metric:hover { background: rgba(255, 255, 255, .05); }
[data-theme-root].dark .yw-heat-metric-label { color: #a297ab; }
[data-theme-root].dark .yw-heat-metric-value { color: #c3b9cc; }
[data-theme-root].dark .yw-heat-metric[aria-current="page"] { background: #3f2d5c; box-shadow: none; }
[data-theme-root].dark .yw-heat-metric[aria-current="page"] .yw-heat-metric-label { color: #c9b1ff; }
[data-theme-root].dark .yw-heat-metric[aria-current="page"] .yw-heat-metric-value { color: #f3eef8; }
/* Closures, dark. */
[data-theme-root].dark .yw-closure-night-chip { background: #142036; box-shadow: none; color: #c3b9cc; }
[data-theme-root].dark .yw-closure-recon-scroll { scrollbar-color: #273656 transparent; }
[data-theme-root].dark .yw-closure-recon-table thead th { background: #0d1527; box-shadow: inset 0 -1px 0 #1c2843; }
[data-theme-root].dark .yw-closure-recon-table td { color: #d9d2e3; }
[data-theme-root].dark .yw-closure-recon-type { color: #f3eef8; }
[data-theme-root].dark .yw-closure-recon-table tr[data-quiet] td, [data-theme-root].dark .yw-closure-recon-table tr[data-quiet] .yw-closure-recon-type { color: #8f8996; }
[data-theme-root].dark .yw-closure-closed-pill { color: #f0b8d2; }
[data-theme-root].dark .yw-closure-recon-table td[data-gap] { color: #e6bd7f; }
[data-theme-root].dark .yw-closure-booked { color: #d9d2e3; }
[data-theme-root].dark .yw-closure-booked-dot.bg-emerald-500 { background: #7fd3b4; }
[data-theme-root].dark .yw-closure-booked-dot.bg-amber-400 { background: #e6bd7f; }
[data-theme-root].dark .yw-closure-booked-dot.bg-rose-400 { background: #e69ac4; }
[data-theme-root].dark .yw-closure-booked-dot.bg-zinc-300 { background: #5b5663; }
[data-theme-root].dark :is(.yw-closure-booked-none, .yw-closure-recon-foot) { color: #a297ab; }
[data-theme-root].dark .yw-closure-recon-why { color: #c3b9cc; }
[data-theme-root].dark .yw-night[data-kind="reactive"] { border-color: #5a3a4b; background: repeating-linear-gradient(125deg, #5a3a4b 0 2px, #45303d 2px 5px); }
[data-theme-root].dark .yw-night[data-kind="reactive"] .yw-night-word { color: #f0a3c2; }
[data-theme-root].dark .yw-night[data-kind="scheduled"] { border-color: #594a35; background: #3d3122; }
[data-theme-root].dark .yw-night[data-kind="scheduled"] .yw-night-word { color: #e6bd7f; }
[data-theme-root].dark .yw-night[data-kind="planned"] { border-color: #4a3a63; background: #2f2638; }
[data-theme-root].dark .yw-night[data-kind="planned"] .yw-night-word { color: #c9b1ff; }
[data-theme-root].dark .yw-night[data-kind="pre-existing"] { border-color: #1c2843; background: #142036; }
[data-theme-root].dark .yw-night:is([data-kind="blocks"], [data-kind="closed"], [data-kind="unknown-sync"]) { border-color: #1c2843; background: repeating-linear-gradient(125deg, #17243d 0 2px, #10192d 2px 6px); }
[data-theme-root].dark .yw-night:is([data-kind="blocks"], [data-kind="closed"]) .yw-night-word { color: #c3b9cc; }
[data-theme-root].dark .yw-night:is([data-kind="unknown-sync"], [data-kind="unchecked"]) .yw-night-fig { color: #8f8996; }
[data-theme-root].dark .yw-night[data-kind="unchecked"] { border-color: #5b5663; background: transparent; }
[data-theme-root].dark .yw-night[data-kind="unknown"] { border-color: #142036; background: transparent; }
[data-theme-root].dark .yw-night[data-kind="unknown"] :is(.yw-night-date, .yw-night-fig) { color: #5b5663; }
[data-theme-root].dark a.yw-night-hit:hover .yw-night { box-shadow: 0 6px 14px rgba(0, 0, 0, .3); }
[data-theme-root].dark a.yw-night-hit:hover .yw-night[data-selected] { box-shadow: 0 0 0 2px #b58cf0, 0 6px 14px rgba(0, 0, 0, .3); }
[data-theme-root].dark :is(.yw-ops-flagrow, .yw-ops-row, .yw-closure-filters, .yw-ops-stats > .yw-row-stat, .yw-rt-stats > .yw-row-stat) { border-color: #1c2843; }
[data-theme-root].dark .yw-ops-flagrow { color: #d9d2e3; }
[data-theme-root].dark .yw-closure-count { color: #8f8996; }
[data-theme-root].dark .yw-closure-log-tools > span > button { background: #142036; color: #f3eef8; }
[data-theme-root].dark .yw-closure-log-tools > span > button:hover { background: #1c2843; }
[data-theme-root].dark .yw-closure-filters label { color: #a297ab; }
[data-theme-root].dark .yw-closures-page .yw-closure-filters select { border-color: #1c2843; background-color: #142036; box-shadow: none; color: #f3eef8; }
[data-theme-root].dark .yw-closure-scroll { scrollbar-color: #273656 transparent; }
[data-theme-root].dark .yw-ops-row:hover { background: #111b30; }
[data-theme-root].dark .yw-ops-mark { background: #142036; color: #a297ab; }
[data-theme-root].dark :is(.yw-ops-row, .yw-cday-entry)[data-kind="reactive"] .yw-ops-mark, [data-theme-root].dark .yw-ops-mark[data-kind="reactive"],
[data-theme-root].dark .yw-block-row:is([data-flag="no_pickup"], [data-flag="held_not_selling"]) .yw-ops-mark { background: #4d3345; color: #f0b8d2; }
[data-theme-root].dark .yw-ops-row[data-kind="scheduled"] .yw-ops-mark { background: #3f3628; color: #e6bd7f; }
[data-theme-root].dark .yw-ops-row[data-kind="planned"] .yw-ops-mark, [data-theme-root].dark .yw-block-row[data-kind="allotment"] .yw-ops-mark { background: #3d3350; color: #c5a8ff; }
[data-theme-root].dark .yw-block-row[data-released] .yw-ops-mark { background: #101a2f; color: #5b5663; }
[data-theme-root].dark .yw-ops-name { color: #f3eef8; }
[data-theme-root].dark .yw-block-row[data-released] .yw-ops-name { color: #a297ab; }
[data-theme-root].dark .yw-ops-line { color: #a297ab; }
[data-theme-root].dark .yw-ops-line > * + *::before { color: #5b5663; }
[data-theme-root].dark :is(.yw-ops-line [data-muted], .yw-ops-line--note) { color: #8f8996; }
[data-theme-root].dark .yw-closure-why { color: #d9d2e3; }
[data-theme-root].dark .yw-closure-why[data-tone="bad"] { color: #e69ac4; }
[data-theme-root].dark .yw-closure-why[data-tone="good"] { color: #7fd3b4; }
[data-theme-root].dark .yw-closure-why[data-tone="watch"] { color: #e6bd7f; }
[data-theme-root].dark .yw-ops-moves button { background: #142036; color: #f3eef8; }
[data-theme-root].dark .yw-ops-moves button:hover:not(:disabled) { background: #1c2843; color: #f3eef8; }
[data-theme-root].dark .yw-ops-moves button:is([title="Remove this tag"], [title^="Hide this closure"]) { background: transparent; color: #8f8996; }
[data-theme-root].dark .yw-ops-moves button:is([title="Remove this tag"], [title^="Hide this closure"]):hover:not(:disabled) { background: #142036; color: #f3eef8; }
[data-theme-root].dark .yw-ops-moves button[title^="Put this closure back"] { color: #c5a8ff; }
[data-theme-root].dark .yw-ops-amount > strong { color: #f3eef8; }
[data-theme-root].dark :is(.yw-ops-amount > strong[data-muted], .yw-ops-amount > span) { color: #8f8996; }
[data-theme-root].dark .yw-ops-amount > span[data-tone="bad"] { color: #e69ac4; }
[data-theme-root].dark .yw-closures-page .yw-cday { border-color: transparent; background: transparent; }
[data-theme-root].dark .yw-closures-page .yw-cday-entry { border-color: #1c2843; background: transparent; }
[data-theme-root].dark .yw-closures-page .yw-cday-total { color: #c3b9cc; }
[data-theme-root].dark .yw-closures-page :is(.yw-cday-total > .num, .yw-cday-title > .num:first-child, .yw-cday-meta .font-semibold) { color: #f3eef8; }
[data-theme-root].dark .yw-closures-page .yw-cday-room { background: #3d3350; color: #c9b1ff; }
[data-theme-root].dark .yw-closures-page a.yw-cday-room:hover { background: #4a3a63; }
[data-theme-root].dark .yw-closures-page :is(.yw-cday-meta, .yw-cday-note, .yw-cday-empty) { color: #a297ab; }
[data-theme-root].dark .yw-closures-page .yw-cday-empty[data-tone="bad"] { color: #e69ac4; }
[data-theme-root].dark .yw-roomtag-dialog form button { border-color: #1c2843; background: #142036; color: #f3eef8; }
[data-theme-root].dark .yw-roomtag-dialog form button[class~="border-violet-300"] { border-color: #5c4a78; background: #3f2d5c; color: #c9b1ff; }
[data-theme-root].dark .yw-roomtag-dialog form > span { color: #a297ab; }
/* Room Types, dark. */
[data-theme-root].dark .yw-rt-table thead th { background: #0d1527; box-shadow: inset 0 -1px 0 #1c2843; }
[data-theme-root].dark :is(.yw-rt-sort, .yw-rt-table thead .hw-info-label) { color: #a297ab; }
[data-theme-root].dark .yw-rt-sort:hover { color: #f3eef8; }
[data-theme-root].dark .yw-rt-sort[aria-current="page"] { color: #c5a8ff; }
[data-theme-root].dark .yw-rt-table tbody td { color: #d9d2e3; }
[data-theme-root].dark .yw-rt-name { color: #f3eef8; }
[data-theme-root].dark .yw-rt-name > a:hover { color: #c5a8ff; }
[data-theme-root].dark :is(.yw-rt-when, .yw-rt-units, .yw-rt-stat-of, .yw-rt-table td.yw-rt-pct, .yw-rt-table thead tr.yw-rt-groups th) { color: #a297ab; }
[data-theme-root].dark :is(.yw-rt-rev > strong, .yw-rt-fwd > strong) { color: #f3eef8; }
[data-theme-root].dark .yw-rt-fastest { color: #c5a8ff; }
[data-theme-root].dark .yw-rt-pick { color: #c3b9cc; }
[data-theme-root].dark .yw-rt-pick[data-muted] { color: #5b5663; }
[data-theme-root].dark .yw-rt-table .yw-rt-next { border-left-color: #1c2843; }
[data-theme-root].dark .yw-rt-table thead tr.yw-rt-groups th { background: #0d1527; box-shadow: none; }
[data-theme-root].dark .yw-rt-table .yw-rt-type { background: #0d1527; }
[data-theme-root].dark :is(.yw-rt-track, .yw-rt-share) { background: #142036; }
[data-theme-root].dark :is(.yw-rt-track, .yw-rt-share) > i { background: repeating-linear-gradient(125deg, #a883ee 0 2px, #4a3a63 2px 4px); }
[data-theme-root].dark .yw-rt-table [data-tip]::after { border-color: #1c2843; background: rgba(13, 21, 39, .86); box-shadow: 0 12px 30px #00000066, 0 2px 6px #00000033; color: #c3b9cc; }
[data-theme-root].dark .yw-rt-closed .hw-info-label { color: #e69ac4; }
[data-theme-root].dark .yw-rt-hero .yw-row-stat-value[data-muted] { color: #8f8996; }
[data-theme-root].dark .yw-rt-hero-art > canvas { filter: invert(1) hue-rotate(180deg); mix-blend-mode: screen; opacity: .55; }
[data-theme-root].dark .yw-rt-sec + .yw-rt-sec { border-top-color: #1c2843; }
[data-theme-root].dark .yw-rt-sec-title { color: #f3eef8; }
[data-theme-root].dark .yw-rt-col { color: #f3eef8; }
[data-theme-root].dark .yw-rt-col:hover, [data-theme-root].dark .yw-rt-col[data-active="true"] { background: #30263a; }
[data-theme-root].dark .yw-rt-col-value { color: #a297ab; }
[data-theme-root].dark .yw-rt-col[data-active="true"] .yw-rt-col-value { color: #f3eef8; }
[data-theme-root].dark .yw-rt-col-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-rt-col-bar, [data-theme-root].dark .yw-rt-key-bar { background: repeating-linear-gradient(125deg, #a883ee 0 2px, #4a3a63 2px 4px); }
[data-theme-root].dark :is(.yw-rt-col-bar, .yw-rt-key-bar)[data-future] { background: repeating-linear-gradient(125deg, #6d5a91 0 2px, #3a3245 2px 4px); }
[data-theme-root].dark .yw-rt-col-bar[data-peak] { background: linear-gradient(#a56cff, #7c3aed); }
[data-theme-root].dark .yw-rt-col-last, [data-theme-root].dark .yw-rt-key-bar[data-last] { background: #243352; }
[data-theme-root].dark .yw-rt-col-none, [data-theme-root].dark .yw-rt-key-bar[data-none] { border-top-color: #5b5663; background: none; }
[data-theme-root].dark .yw-rt-col-label { color: #a297ab; }
[data-theme-root].dark .yw-rt-col-sold { color: #8f8996; }
[data-theme-root].dark .yw-rt-month-link { color: #c5a8ff; }
[data-theme-root].dark .yw-rt-peak { color: #c3b9cc; }
[data-theme-root].dark .yw-rt-peak > strong, [data-theme-root].dark .yw-rt-stats .yw-row-stat-value { color: #f3eef8; }
[data-theme-root].dark .yw-rt-month-dow { color: #a297ab; }
[data-theme-root].dark .yw-rt-month-dow[data-weekend] { color: #c3b9cc; }
[data-theme-root].dark .yw-room-types-page .yw-rt-tip { border-color: #1c2843; background: #0d1527; box-shadow: 0 12px 30px rgba(0, 0, 0, .4); color: #d9d2e3; }
[data-theme-root].dark .yw-room-types-page .yw-rt-tip > span:first-child { color: #f3eef8; }
/* The dialog, dark. */
[data-theme-root].dark dialog.yw-ops-dialog { border-color: #1c2843; background: rgba(13, 21, 39, .97); box-shadow: 0 24px 60px rgba(0, 0, 0, .45), 0 3px 9px rgba(0, 0, 0, .2); color: #f3eef8; }
[data-theme-root].dark dialog.yw-ops-dialog > div > header { border-color: #1c2843; }
[data-theme-root].dark dialog.yw-ops-dialog > div > header h2 { color: #f3eef8; }
[data-theme-root].dark dialog.yw-ops-dialog > div > header p { color: #a297ab; }
[data-theme-root].dark dialog.yw-ops-dialog > div > header button[aria-label="Close"] { border-color: #1c2843; color: #d9d2e3; }
[data-theme-root].dark dialog.yw-ops-dialog > div > header button[aria-label="Close"]:hover { background: #142036; color: #f3eef8; }
[data-theme-root].dark dialog.yw-ops-dialog > div > div { scrollbar-color: #273656 transparent; }

/* 10/08 closures rework, dark. */
[data-theme-root].dark .yw-closure-rooms > i { background: #5d47a0; }
[data-theme-root].dark .yw-closure-rooms > i[data-closed] { background: repeating-linear-gradient(125deg, #e08aaf 0 2px, #4d3345 2px 4px); }
[data-theme-root].dark .yw-closures-page .yw-closure-hero .yw-row-stat-label { color: #d9d2e3; }
[data-theme-root].dark .yw-closures-page .yw-closure-row-flag, [data-theme-root].dark .yw-closure-alert .hw-info-label, [data-theme-root].dark .yw-closure-flag-kind .hw-info-label { color: #e69ac4; }
[data-theme-root].dark .yw-closure-alert .hw-info-label::before, [data-theme-root].dark .yw-closure-flag-mark { background: #4a3040; color: #e6a9c4; }
[data-theme-root].dark .yw-closures-page .yw-closure-recon-why .hw-info-label { color: #c9b1ff; }
[data-theme-root].dark :is(.yw-closure-limits > li, .yw-closure-flagnights > li, .yw-closure-types-head, .yw-closure-types-row) { border-color: #1c2843; }
[data-theme-root].dark .yw-closure-limits + .yw-closure-flagnights { border-color: #1c2843; }
[data-theme-root].dark :is(.yw-closure-limit-period, .yw-closure-limit-figure > strong, .yw-closure-flag-copy > strong, .yw-closure-types-name, .yw-closure-types-row strong) { color: #f3eef8; }
[data-theme-root].dark :is(.yw-closure-limit-figure, .yw-closure-flag-copy > span, .yw-closure-types-row) { color: #c3b9cc; }
[data-theme-root].dark .yw-closure-types-head { color: #a297ab; }
[data-theme-root].dark .yw-closure-limit-track { background: repeating-linear-gradient(125deg, #e08aaf 0 2px, #4d3345 2px 4px); }
[data-theme-root].dark .yw-closure-limit-track > i { border-right-color: #0d1527; background: #33405e; }
[data-theme-root].dark .yw-closure-types-track { background: #142036; }
[data-theme-root].dark .yw-closure-types-track > i { background: repeating-linear-gradient(125deg, #e08aaf 0 2px, #4d3345 2px 4px); }
[data-theme-root].dark .yw-closure-types-row:hover { background: #111b30; }
[data-theme-root].dark .yw-closure-flagnights { scrollbar-color: #273656 transparent; }
[data-theme-root].dark :is(.yw-closure-filter-trigger, .yw-closures-page .yw-ops-moves .yw-closure-tag-trigger) { background: #142036; color: #f3eef8; }
[data-theme-root].dark :is(.yw-closure-filter-trigger:hover, .yw-closure-filter-trigger[aria-expanded="true"], .yw-closures-page .yw-ops-moves .yw-closure-tag-trigger:hover) { background: #1c2843; }
[data-theme-root].dark .yw-closure-filter[data-set] .yw-closure-filter-trigger { background: #2b2350; }
[data-theme-root].dark .yw-closure-filter-label { color: #a297ab; }
[data-theme-root].dark .yw-closures-page .yw-closure-tag[data-tagged] .yw-closure-tag-trigger { background: transparent; box-shadow: inset 0 0 0 1px #273656; }
[data-theme-root].dark :is(.yw-closure-filter-menu, .yw-closure-tag-menu) { border-color: #1c2843; background: rgba(13, 21, 39, .78); box-shadow: 0 18px 48px #00000066, 0 3px 9px #00000033; }
[data-theme-root].dark :is(.yw-closure-filter-menu > button, .yw-closures-page .yw-ops-moves .yw-closure-tag-menu button) { color: #f3eef8; }
[data-theme-root].dark :is(.yw-closure-filter-menu > button:hover, .yw-closures-page .yw-ops-moves .yw-closure-tag-menu button:hover) { background: rgba(180, 140, 255, .12); }
[data-theme-root].dark .yw-closure-filter-menu > button[aria-checked="true"], [data-theme-root].dark .yw-closure-tag-menu button[aria-checked="true"] strong { color: #c9b1ff; }
[data-theme-root].dark .yw-closure-tag-menu button small { color: #a297ab; }
[data-theme-root].dark .yw-closures-page .yw-nmap-block + .yw-nmap-block .yw-nmap-monthhead { border-top-color: #1c2843; }
[data-theme-root].dark .yw-closures-page .yw-nmap-monthname { color: #f3eef8; }
[data-theme-root].dark .yw-closures-page .yw-nmap-monthname > .num, [data-theme-root].dark .yw-closures-page .yw-nmap-monthsum { color: #a297ab; }
[data-theme-root].dark .yw-nmap-key-swatch[data-kind="pre-existing"] { border-color: #1c2843; background: #142036; }
[data-theme-root].dark .yw-closures-page .yw-closure-night-date { color: #a297ab; }
[data-theme-root].dark .yw-closure-log .yw-ops-row .yw-ops-mark { background: #142036; color: #c3b9cc; }
[data-theme-root].dark .yw-closure-log .yw-ops-row[data-kind="reactive"] .yw-ops-mark { background: #4d3345; color: #f0b8d2; }
[data-theme-root].dark .yw-closure-notice, [data-theme-root].dark .yw-closure-log .yw-ops-amount > span[data-tone="bad"] em { color: #e69ac4; }
[data-theme-root].dark .yw-closure-log .yw-ops-line, [data-theme-root].dark .yw-closure-log .yw-ops-amount > span, [data-theme-root].dark .yw-closure-running { color: #a297ab; }
[data-theme-root].dark :is(.yw-closure-state, .yw-closure-running > strong) { color: #f3eef8; }
[data-theme-root].dark .yw-closure-state[data-state="upcoming"], [data-theme-root].dark .yw-closure-log .yw-closure-why { color: #c3b9cc; }
[data-theme-root].dark .yw-closures-page .yw-nmap td[data-tip]::after { border-color: #1c2843; background: rgba(13, 21, 39, .86); box-shadow: 0 12px 30px #00000066, 0 2px 6px #00000033; color: #c3b9cc; }
[data-theme-root].dark .yw-closure-booked-track { background: #1c2843; }
[data-theme-root].dark .yw-closure-booked-track > i { background: #5b5663; }
[data-theme-root].dark .yw-closure-booked[data-band="full"] .yw-closure-booked-track > i { background: #7fd3b4; }
[data-theme-root].dark .yw-closure-booked[data-band="busy"] .yw-closure-booked-track > i { background: #e6bd7f; }
[data-theme-root].dark .yw-closure-booked[data-band="quiet"] .yw-closure-booked-track > i { background: #e69ac4; }
[data-theme-root].dark .yw-closures-page .yw-block-rooms { color: #f3eef8; }
[data-theme-root].dark .yw-closures-page .yw-ops-moves .yw-closure-tag-clear button { border-top-color: #1c2843; color: #e69ac4; }
[data-theme-root].dark dialog.yw-ops-dialog { background: rgba(13, 21, 39, .82); }

