/* PRTY OS — Event Workspace. Screen-specific layout only; components.css owns every component. */

/* ---------- Frame ---------- */
.ew-tabs { margin-top: var(--s-6); }
.ew-body { padding-top: var(--s-5); min-width: 0; }
/* PRTY.Missing renders its own Page — neutralise the double gutter inside the workspace */
.ew-body .page { padding: 0; max-width: none; }
.ew-body .page .panel { margin-top: 0 !important; }
.ew-stack { display: flex; flex-direction: column; gap: var(--s-4); min-width: 0; }

/* Daily lineup plan editor: compact on desktop, touch-sized on mobile. */
.ew-lineup-plan { display: grid; grid-template-columns: repeat(3, minmax(130px, 1fr)); gap: 10px; padding: 12px var(--s-4); border-bottom: 1px solid var(--line-soft); background: var(--bg-2); }
.ew-lineup-plan__status { grid-column: 1 / -1; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ew-lineup-plan label { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ew-lineup-plan label > span { color: var(--text-3); font-size: var(--fs-11); font-weight: 500; }
.ew-lineup-plan > .btn { align-self: end; }
@media (max-width: 720px) {
  .ew-lineup-plan { grid-template-columns: minmax(0, 1fr); }
  .ew-lineup-plan .input--sm, .ew-lineup-plan .select.input--sm { min-height: 40px; }
}

/* ---------- Warnings ---------- */
.ew-warnings { overflow: hidden; }
.ew-area { width: 76px; text-align: right; font-size: var(--fs-11); text-transform: uppercase; letter-spacing: 0.07em; font-weight: 500; color: var(--text-3); }
.ew-more {
  display: flex; align-items: center; gap: 6px; width: 100%;
  height: 34px; padding: 0 var(--s-4);
  border-top: 1px solid var(--line-soft);
  color: var(--text-3); font-size: var(--fs-12); font-weight: 500;
  transition: background var(--dur-1), color var(--dur-1);
}
.ew-more:hover { background: var(--hover); color: var(--text); }
@media (max-width: 720px) { .ew-area { display: none; } }

/* ---------- Overview grid ----------
   Desktop: two columns (primary 1.65fr · context 1fr).
   Tablet: columns dissolve into a 2-up grid, wide panels span both.
   Mobile: one column, ordered by importance. */
.ew-ov { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: var(--s-4); align-items: start; }
.ew-ov__col { display: flex; flex-direction: column; gap: var(--s-4); min-width: 0; }
.ew-ov__item { min-width: 0; display: flex; flex-direction: column; }
.ew-ov__item > .panel { flex: 1; }

@media (max-width: 1100px) {
  .ew-ov { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
  .ew-ov__col { display: contents; }
  .ew-ov__lead { order: 1; grid-column: 1 / -1; }
  .ew-ov__pnl { order: 2; }
  .ew-ov__adv { order: 3; }
  .ew-ov__lineup { order: 4; grid-column: 1 / -1; }
  .ew-ov__contacts { order: 5; }
  .ew-ov__mkt { order: 6; }
  .ew-ov__docs { order: 7; }
  .ew-ov__notes { order: 8; }
}
@media (max-width: 720px) {
  .ew-ov { grid-template-columns: minmax(0, 1fr); }
  .ew-ov__lead { order: 1; }
  .ew-ov__pnl { order: 2; }
  .ew-ov__lineup { order: 3; }
  .ew-ov__contacts { order: 4; }
  .ew-ov__adv { order: 5; }
  .ew-ov__mkt { order: 6; }
  .ew-ov__docs { order: 7; }
  .ew-ov__notes { order: 8; }
}

/* Split rows inside tabs: main + side */
.ew-split { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: var(--s-4); align-items: stretch; }
.ew-split--wide { align-items: start; }
@media (max-width: 1100px) { .ew-split { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Figures & metrics ---------- */
.ew-big { font-size: var(--fs-24); font-weight: 600; letter-spacing: -0.02em; line-height: 1.1; white-space: nowrap; }

.ew-figs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: var(--s-4) calc(var(--s-4) * -1) calc(var(--s-4) * -1); border-top: 1px solid var(--line-soft); }
.ew-figs--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ew-fig { padding: 12px var(--s-4); border-left: 1px solid var(--line-soft); min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.ew-fig:first-child { border-left: 0; }
.ew-fig__label { font-size: var(--fs-11); color: var(--text-3); text-transform: uppercase; letter-spacing: 0.07em; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ew-fig__value { font-size: var(--fs-16); font-weight: 600; letter-spacing: -0.01em; white-space: nowrap; }
.ew-fig__sub { font-size: var(--fs-12); color: var(--text-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 720px) {
  .ew-figs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ew-fig:nth-child(odd) { border-left: 0; }
  .ew-fig:nth-child(n+3) { border-top: 1px solid var(--line-soft); }
  .ew-figs--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ew-figs--3 .ew-fig { border-top: 0; border-left: 1px solid var(--line-soft); }
  .ew-figs--3 .ew-fig:first-child { border-left: 0; }
  .ew-figs--3 .ew-fig__sub { white-space: normal; }
}

.ew-metrics { display: flex; flex-direction: column; }
.ew-metric { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s-3); padding: 9px 0; border-bottom: 1px solid var(--line-soft); min-width: 0; }
.ew-metrics > .ew-metric:last-child { border-bottom: 0; }
.ew-metric__label { color: var(--text-2); display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ew-metric__sub { font-size: var(--fs-12); color: var(--text-3); }
.ew-metric__value { font-weight: 500; white-space: nowrap; text-align: right; }
.ew-metric--strong .ew-metric__label { color: var(--text); font-weight: 500; }
.ew-metric--strong .ew-metric__value { font-size: var(--fs-16); font-weight: 600; }

/* ---------- Sales / result lead ---------- */
.ew-sold { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--s-6); align-items: center; margin-bottom: var(--s-4); }
.ew-sold__figure { display: flex; align-items: baseline; gap: 8px; white-space: nowrap; }
.ew-sold__bar { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.ew-chart { margin: 0 calc(var(--s-2) * -1); }
@media (max-width: 720px) { .ew-sold { grid-template-columns: minmax(0, 1fr); gap: var(--s-3); } }

/* ---------- Planning (no budget) ---------- */
.ew-plan__intro { padding: var(--s-4); border-bottom: 1px solid var(--line-soft); display: flex; flex-direction: column; gap: 4px; }
.ew-plan__row { min-height: 64px; }
.ew-step { width: 22px; height: 22px; border-radius: 50%; display: inline-grid; place-items: center; flex-shrink: 0; font: 600 var(--fs-11)/1 var(--font); color: var(--text-3); box-shadow: inset 0 0 0 1px var(--line-strong); font-variant-numeric: tabular-nums; }
.ew-step.is-done { background: var(--green); color: var(--on-inverse); box-shadow: none; }
.ew-step.is-done .icon { stroke-width: 2.5; }
.ew-wrap { white-space: normal; }
@media (max-width: 720px) {
  .ew-plan__row { flex-wrap: wrap; }
  .ew-plan__row .list-row__main { flex-basis: calc(100% - 40px); }
  .ew-plan__row .list-row__side { margin-left: 34px; }
}

/* ---------- P&L summary ---------- */
.ew-net { display: flex; flex-direction: column; gap: 2px; padding-bottom: var(--s-3); }
.ew-commits { display: flex; flex-direction: column; gap: 10px; margin-top: var(--s-3); padding-top: var(--s-4); border-top: 1px solid var(--line-soft); }
.ew-commit { display: grid; grid-template-columns: 96px minmax(0, 1fr) 84px; gap: var(--s-3); align-items: center; }
.ew-commit__label { display: inline-flex; align-items: center; gap: 8px; color: var(--text-2); font-size: var(--fs-12); }
.ew-commit__value { text-align: right; font-size: var(--fs-12); color: var(--text-2); }

/* ---------- Quiet empty text inside panels ---------- */
.ew-quiet { display: flex; align-items: flex-start; gap: 10px; color: var(--text-3); font-size: var(--fs-12); line-height: 1.5; }
.ew-quiet .icon { color: var(--text-4); margin-top: 1px; }
.ew-quiet--row { padding: 10px var(--s-4); }
.ew-quiet--pad { padding: var(--s-4); }

/* ---------- Advancing ---------- */
.ew-adv { display: flex; align-items: center; gap: var(--s-4); padding: var(--s-4); }
.ew-adv__issues { border-top: 1px solid var(--line-soft); }

/* ---------- Lineup ---------- */
.ew-stage + .ew-stage { border-top: 1px solid var(--line-soft); }
.ew-stage__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; height: 34px; padding: 0 var(--s-4); background: var(--bg-2); border-bottom: 1px solid var(--line-soft); }
.ew-slot { display: grid; grid-template-columns: 104px minmax(0, 1fr) 112px 84px; gap: var(--s-3); align-items: center; min-height: 40px; padding: 0 var(--s-4); border-bottom: 1px solid var(--line-soft); }
.ew-slot:last-child { border-bottom: 0; }
.ew-slot--empty { display: flex; }
.ew-slot__time { color: var(--text-2); font-size: var(--fs-12); white-space: nowrap; }
.ew-slot__artist { display: flex; align-items: center; gap: 8px; min-width: 0; }
.ew-slot__cost { text-align: right; color: var(--text-2); font-size: var(--fs-12); }
@media (max-width: 720px) {
  .ew-slot { grid-template-columns: 84px minmax(0, 1fr) auto; min-height: 44px; }
  .ew-slot__cost { display: none; }
  .ew-slot__time { font-size: var(--fs-11); }
}

.ew-artist { font-weight: 600; letter-spacing: 0.01em; color: var(--text); text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; max-width: 100%; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 3px; transition: text-decoration-color var(--dur-1); }
.ew-artist:hover { text-decoration-color: var(--text-3); }
.ew-inline-link { color: var(--text-3); font-weight: 500; letter-spacing: 0.01em; }
.ew-inline-link:hover { color: var(--text); }

/* ---------- Artist offer review ---------- */
.ew-offer { display: flex; flex-direction: column; gap: var(--s-4); }
.ew-offer__status { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.ew-offer__missing { display: flex; align-items: flex-start; gap: 8px; padding: 10px 12px; border: 1px solid color-mix(in srgb, var(--amber) 34%, var(--line)); border-radius: var(--r-2); color: var(--amber); font-size: var(--fs-12); line-height: 1.45; }
.ew-offer__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-3); }
.ew-offer__wide { grid-column: 1 / -1; }
.ew-offer__currency { width: 92px; flex: 0 0 92px; }
.ew-offer__extras { display: flex; flex-wrap: wrap; gap: 10px 16px; padding: 12px; border: 1px solid var(--line-soft); border-radius: var(--r-2); }
.ew-offer__extras > .field__label { flex-basis: 100%; }
.ew-offer__extras label { display: inline-flex; align-items: center; gap: 7px; color: var(--text-2); font-size: var(--fs-12); }
.ew-offer__body { min-height: 360px; font-family: var(--font-mono); font-size: var(--fs-12); line-height: 1.5; }
.ew-offer__source { padding-top: var(--s-3); border-top: 1px solid var(--line-soft); color: var(--text-3); font-size: var(--fs-11); line-height: 1.5; }
.ew-offer__source a { color: var(--text-2); text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 720px) {
  .ew-offer__grid { grid-template-columns: minmax(0, 1fr); }
  .ew-offer__wide { grid-column: auto; }
  .ew-offer__body { min-height: 300px; }
  .drawer__foot .row--between { align-items: flex-start; flex-direction: column; }
  .drawer__foot .row--between > .row { width: 100%; flex-wrap: wrap; }
}

/* ---------- Contacts ---------- */
.ew-contacts .contact:first-child { padding-top: 0; }
.ew-contacts .contact:last-child { padding-bottom: 0; }

/* ---------- Mini rows (marketing, documents in overview) ---------- */
.ew-sub { display: flex; align-items: center; justify-content: space-between; height: 32px; padding: 0 var(--s-4); background: var(--bg-2); border-bottom: 1px solid var(--line-soft); font-size: var(--fs-11); font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-3); }
.ew-sub:not(:first-child) { border-top: 1px solid var(--line-soft); }
.ew-sub .t-4 { text-transform: none; letter-spacing: 0; font-weight: 500; }
.ew-mini { display: flex; align-items: center; gap: 10px; min-height: 40px; padding: 0 var(--s-4); border-bottom: 1px solid var(--line-soft); min-width: 0; }
.ew-mini:last-child { border-bottom: 0; }
.ew-mini__date { width: 48px; flex-shrink: 0; font-size: var(--fs-12); color: var(--text-2); white-space: nowrap; }
.ew-mini__kind { width: 92px; flex-shrink: 0; font-size: var(--fs-12); color: var(--text-3); }
.ew-mini__title { flex: 1; min-width: 0; }
.ew-mini__type { margin-left: 8px; font-size: var(--fs-12); color: var(--text-3); }
@media (max-width: 720px) { .ew-mini__type { display: none; } .ew-mini__kind { width: 72px; } }

.ew-docsum { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--line-soft); }
.ew-docsum__cell { padding: 12px var(--s-4); border-left: 1px solid var(--line-soft); display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ew-docsum__cell:first-child { border-left: 0; }
.ew-docsum__cell > span:first-child { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ---------- Notes ---------- */
.ew-note { margin-top: var(--s-4); padding-top: var(--s-4); border-top: 1px solid var(--line-soft); }
.ew-note__text { color: var(--text-2); line-height: 1.55; white-space: pre-wrap; }

/* ---------- Ticketing ---------- */
.ew-legend { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: var(--s-3); font-size: var(--fs-12); color: var(--text-2); }
.ew-key { width: 14px; height: 0; border-top: 2px solid var(--text); display: inline-block; }
.ew-key--be { border-top: 1.5px dashed var(--amber); }
.ew-key--cap { border-top: 1.5px dotted var(--text-3); }
.ew-forecast { margin-top: var(--s-3); padding-top: var(--s-2); border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: 10px; }
.ew-forecast .ew-metric { border-bottom: 0; padding-bottom: 0; align-items: center; }
.ew-forecast__edit { min-width: 96px; }
.ew-forecast__edit .inline-edit { margin: 0; }
.ew-col-progress { width: 180px; min-width: 140px; }
.ew-pct { width: 36px; text-align: right; flex-shrink: 0; }
.ew-tier-m { align-items: flex-start; padding-top: 12px; padding-bottom: 12px; }
.ew-tier-m .list-row__title { overflow: visible; }
.ew-tier-m__bar { margin-top: 8px; }
.ew-right { align-items: flex-end; }

/* ---------- Marketing timeline ---------- */
.ew-week + .ew-week { border-top: 1px solid var(--line); }
.ew-week__head { display: flex; align-items: center; gap: 10px; height: 34px; padding: 0 var(--s-4); background: var(--bg-2); border-bottom: 1px solid var(--line-soft); }
.ew-week.is-past .ew-mk { color: var(--text-3); }
.ew-week.is-past .ew-mk__title { color: var(--text-2); }
.ew-mk {
  display: grid;
  grid-template-columns: 84px 148px minmax(0, 1fr) 84px 128px;
  grid-template-areas: "date type title owner status";
  gap: var(--s-3); align-items: center;
  min-height: 42px; padding: 0 var(--s-4);
  border-bottom: 1px solid var(--line-soft);
  transition: background var(--dur-1);
}
.ew-mk:last-child { border-bottom: 0; }
.ew-mk:hover { background: var(--hover); }
.ew-mk.is-today { box-shadow: inset 2px 0 0 var(--text); }
.ew-mk__date { grid-area: date; font-size: var(--fs-12); color: var(--text-2); white-space: nowrap; }
.ew-mk__type { grid-area: type; display: flex; align-items: center; gap: 8px; min-width: 0; font-size: var(--fs-12); color: var(--text-2); }
.ew-mk__title { grid-area: title; min-width: 0; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ew-mk__owner { grid-area: owner; min-width: 0; font-size: var(--fs-12); }
.ew-mk__status { grid-area: status; display: flex; justify-content: flex-end; }
@media (max-width: 1400px) and (min-width: 1101px) {
  .ew-mk { grid-template-columns: 76px minmax(0, 1fr) 128px; grid-template-areas: "date title status" "date type owner"; padding-top: 8px; padding-bottom: 8px; row-gap: 2px; }
  .ew-mk__owner { justify-self: end; }
}
@media (max-width: 720px) {
  .ew-mk { grid-template-columns: 64px minmax(0, 1fr) auto; grid-template-areas: "date title status" "date type type"; padding-top: 8px; padding-bottom: 8px; row-gap: 2px; align-items: start; }
  .ew-mk__owner { display: none; }
  .ew-mk__title { white-space: normal; }
}

.ew-art { align-items: flex-start; padding-top: 10px; padding-bottom: 10px; }
.ew-art .list-row__sub { white-space: normal; }
.ew-art__note { margin-top: 4px; font-size: var(--fs-12); color: var(--text-3); line-height: 1.45; }
.ew-art__side { flex-direction: column; align-items: flex-end; gap: 6px; }

/* ---------- Artists ---------- */
.ew-agent { display: inline-flex; align-items: center; gap: 6px; min-width: 0; max-width: 100%; }
.ew-agent__name { color: var(--text-2); max-width: 132px; }
.ew-agent__icons { display: inline-flex; gap: 0; flex-shrink: 0; }
.ew-col-agent { width: 1%; }
.ew-col-adv { width: 150px; min-width: 130px; }
.ew-advcell { display: flex; align-items: center; gap: 8px; min-width: 0; color: var(--text-2); }
.ew-advcell:hover { color: var(--text); }
.ew-artist-m { display: flex; flex-direction: column; gap: 6px; padding: 12px var(--s-4); border-bottom: 1px solid var(--line-soft); }
.ew-artist-m:last-child { border-bottom: 0; }
.ew-artist-m .ew-agent__icons .btn { --btn-h: 38px; }
.ew-artist-m__adv { width: 110px; flex-shrink: 0; }
.ew-artist-m .ew-agent__name { max-width: 120px; }

/* ---------- Documents ---------- */
.ew-col-kind { width: 150px; }
.ew-col-status { width: 190px; }

/* ---------- Activity ---------- */
.ew-activity { display: flex; flex-direction: column; gap: var(--s-6); max-width: 880px; }
.ew-compose { display: flex; align-items: center; gap: var(--s-3); padding: 10px var(--s-3) 10px var(--s-4); }
.ew-compose .input { flex: 1; min-width: 0; }
.ew-feed { display: flex; align-items: flex-start; gap: var(--s-3); padding: 12px var(--s-4); border-bottom: 1px solid var(--line-soft); }
.ew-feed:last-child { border-bottom: 0; }
.ew-feed .avatar { margin-top: 1px; }
.ew-feed__main { flex: 1; min-width: 0; line-height: 1.5; }
.ew-feed__time { flex-shrink: 0; font-size: var(--fs-12); color: var(--text-3); white-space: nowrap; padding-top: 1px; }
@media (max-width: 720px) {
  .ew-feed { flex-wrap: wrap; }
  .ew-feed__main { flex-basis: calc(100% - 40px); }
  .ew-feed__time { margin-left: 34px; padding-top: 0; }
}

/* ---------- Revision 2: header status, KPIs, commercial warnings, forecast, ticket cash ---------- */
/* Status control sits in the header meta row; the popover is position:fixed (ui.Menu) and nothing in the
   header is sticky, transformed or overflow-clipped, so it is never cut off. Keep the trigger a comfortable tap target. */
.ew-status { display: inline-flex; align-items: center; min-height: 28px; }
@media (max-width: 720px) { .ew-status > div > span > button { min-height: 38px; } }

.kpi__value small.c-amber { color: var(--amber); }
.kpi__value small.c-red { color: var(--red); }

.ew-issue--commercial { min-height: 52px; }
.ew-issue--commercial .issue__title { font-size: var(--fs-14); font-weight: 600; white-space: normal; }
.ew-issue--commercial .issue__meta { white-space: normal; color: var(--text-2); line-height: 1.45; }

.ew-units { letter-spacing: 0.02em; white-space: nowrap; }

/* Commercial forecast: four aligned groups (desktop) → 2×2 (tablet) → stacked (mobile) */
.ew-fc { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ew-fc__group { min-width: 0; padding: 0 0 var(--s-2); border-left: 1px solid var(--line-soft); }
.ew-fc__group:first-child { border-left: 0; }
.ew-fc__head { display: flex; flex-direction: column; gap: 2px; padding: 12px var(--s-4) 8px; }
.ew-fc__title { font-size: var(--fs-11); font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ew-fc__caption { font-size: var(--fs-12); color: var(--text-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-height: 16px; }
.ew-fc__row { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s-2); padding: 5px var(--s-4); min-width: 0; }
.ew-fc__label { color: var(--text-3); font-size: var(--fs-12); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ew-fc__hint { color: var(--text-4); margin-left: 4px; }
.ew-fc__value { font-size: var(--fs-13); font-weight: 500; color: var(--text); white-space: nowrap; }
.ew-fc__value small { font-size: var(--fs-11); color: var(--text-3); font-weight: 400; }
.ew-fc__row.is-strong { margin-top: 4px; padding-top: 9px; border-top: 1px solid var(--line-soft); }
.ew-fc__row.is-strong .ew-fc__label { color: var(--text-2); font-weight: 500; }
.ew-fc__row.is-strong .ew-fc__value { font-size: var(--fs-16); font-weight: 600; letter-spacing: -0.01em; }
.ew-fc__value.c-green { color: var(--green); } .ew-fc__value.c-red { color: var(--red); } .ew-fc__value.c-amber { color: var(--amber); }
.ew-fc-empty { display: flex; flex-direction: column; gap: var(--s-3); }
@media (max-width: 1400px) and (min-width: 1101px) {
  .ew-fc { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ew-fc__group:nth-child(3) { border-left: 0; }
  .ew-fc__group:nth-child(n+3) { border-top: 1px solid var(--line-soft); }
}
@media (max-width: 1100px) {
  .ew-ov__fc { order: 1; grid-column: 1 / -1; }
  .ew-fc { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ew-fc__group:nth-child(3) { border-left: 0; }
  .ew-fc__group:nth-child(n+3) { border-top: 1px solid var(--line-soft); }
}
@media (max-width: 720px) {
  .ew-ov__fc { order: 1; }
  .ew-fc { grid-template-columns: minmax(0, 1fr); }
  .ew-fc__group, .ew-fc__group:nth-child(3) { border-left: 0; }
  .ew-fc__group + .ew-fc__group { border-top: 1px solid var(--line-soft); }
  .ew-fc__row { min-height: 32px; align-items: center; }
}

/* Ticketing: manual forecast + ticket cash */
.ew-forecast__manual { padding-top: var(--s-3); border-top: 1px solid var(--line-soft); }
.ew-cash { align-items: flex-start; padding-top: 10px; padding-bottom: 10px; }
.ew-cash .ew-mini__title { display: flex; flex-direction: column; gap: 2px; }
.ew-cash__note { font-size: var(--fs-12); color: var(--text-3); white-space: normal; line-height: 1.4; }
.ew-cash--total { background: var(--bg-2); align-items: center; }
