:root{font-family:var(--font);color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,select,input{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button{color:inherit}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent)}.skip-link{position:absolute;left:12px;top:-80px;background:var(--surface);padding:16px;z-index:99}.skip-link:focus{top:12px}h1,h2,h3,p{margin:0}h1,h2,h3,.big-value{font-family:var(--font)}h1{font-size:clamp(1.8rem,2.3vw,2.5rem);letter-spacing:-.045em;font-weight:500;line-height:1.2}h2{font-size:1.15rem;letter-spacing:-.025em;font-weight:500}h3{font-size:1rem;font-weight:500}p{line-height:1.55}button svg{pointer-events:none}.muted{color:var(--muted)}.small{font-size:.8125rem}.num{font-variant-numeric:tabular-nums;font-feature-settings:'tnum';white-space:nowrap}.positive{color:var(--green)}.negative{color:var(--red)}.neutral{color:var(--muted)}.eyebrow{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}.nowrap{white-space:nowrap}
.masthead{display:flex;align-items:center;justify-content:space-between;background:var(--navy-deep);color:white;padding:24px 42px;gap:30px}.identity{display:flex;align-items:center;gap:15px;text-decoration:none}.monogram{position:relative;font-family:var(--display);font-size:2.3rem;letter-spacing:-.15em;line-height:1;padding-right:7px;color:#f4eddd}.monogram span{display:block;width:100%;height:1px;background:#b4a387;position:absolute;bottom:-7px;left:0}.wordmark{font-size:.65rem;letter-spacing:.15em;line-height:1.6;color:#e3e9ec}.wordmark b{font-weight:400;letter-spacing:.23em;font-size:.58rem}.product-name{font-size:.76rem;letter-spacing:.16em;color:#e4ecef;margin-right:auto;padding-left:32px;border-left:1px solid #41515c}.product-name span{display:block;font-size:.8125rem;letter-spacing:0;color:#adc0cc;margin-top:5px}.masthead-end{display:flex;align-items:center;gap:24px}.prototype-label{color:#b8c7d0;font-size:.8125rem}.header-button{border:1px solid #5f7483;border-radius:5px;background:transparent;color:#f3f5f6;padding:10px 15px;font-size:.8125rem}.header-button:hover{background:#263e4e}
.club-nav{display:flex;align-items:stretch;gap:14px;background:var(--white);padding:0 42px;border-bottom:1px solid var(--silver);position:sticky;top:0;z-index:10}.club-nav button{background:none;border:0;border-bottom:3px solid transparent;padding:20px 14px 17px;font-size:.9375rem;color:var(--muted);font-weight:500;white-space:nowrap}.club-nav button:hover{color:var(--navy);background:var(--surface-2)}.club-nav button.active{color:var(--navy);border-bottom-color:var(--navy-fill);font-weight:500}.club-nav button:last-child{margin-left:auto;border-left:1px solid var(--rule);padding-left:28px}.club-nav .nav-count{font-size:.7rem;background:var(--cream);color:var(--gold);padding:2px 5px;border-radius:3px;margin-left:7px}
main{padding:32px 42px 52px;width:100%;max-width:none;min-height:70vh}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.page-heading .eyebrow{margin-bottom:8px}.page-heading p{margin-top:8px;font-size:.9375rem;color:var(--muted)}.heading-actions{display:flex;align-items:center;gap:9px}.button{background:var(--white);border:1px solid var(--silver);border-radius:5px;padding:10px 15px;min-height:42px;font-size:.875rem;font-weight:500;display:inline-flex;gap:9px;align-items:center;justify-content:center;text-decoration:none}.button:hover{border-color:var(--line-strong);background:var(--surface-3)}.button.primary{background:var(--navy-fill);border-color:var(--navy-fill);color:white}.button.primary:hover{background:#24465b}.button.subtle{border-color:transparent;background:transparent;color:var(--muted)}.button.small-button{min-height:34px;padding:7px 11px;font-size:.8125rem}.button[aria-pressed=true],.segments button[aria-pressed=true]{background:var(--navy-fill);border-color:var(--navy-fill);color:white}.text-button{border:0;background:transparent;padding:2px 0;color:var(--accent);font-weight:500;font-size:inherit;text-decoration:none}.text-button:hover{text-decoration:underline}.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--silver);border-radius:4px;padding:4px 7px;font-size:.75rem;white-space:nowrap;color:var(--muted)}.pill.warning{background:var(--amber-soft);color:var(--gold);border-color:var(--amber-line)}.pill.preview{background:var(--cream);color:var(--gold);border-color:transparent}
.date-ribbon{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--white);padding:18px 22px;border:1px solid var(--silver);border-radius:6px;margin-bottom:26px}.business-date{display:flex;align-items:center;gap:18px}.weekday{font:500 1.75rem/1.1 var(--font);letter-spacing:-.035em;color:var(--navy)}.date-detail{padding-left:18px;border-left:1px solid var(--silver)}.date-detail strong{font-size:.9375rem;font-weight:500}.date-detail span{display:block;color:var(--muted);font-size:.75rem;margin-top:3px}.date-actions{display:flex;align-items:center;gap:8px}.date-arrow{min-width:36px;padding:9px}.source-status{font-size:.8125rem;color:var(--muted);margin-right:12px}.source-status b{font-weight:500;color:var(--ink)}.subnav{display:flex;gap:25px;margin:0 0 24px;border-bottom:1px solid var(--silver)}.subnav button{border:0;background:none;font-size:.9375rem;color:var(--muted);padding:0 0 14px;border-bottom:2px solid transparent}.subnav button.active{border-bottom-color:var(--navy-fill);color:var(--navy);font-weight:500}
.surface{background:var(--white);border:1px solid var(--silver);border-radius:6px;overflow:hidden}.surface-heading{padding:21px 24px;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center;gap:16px}.surface-heading p{margin-top:5px;font-size:.8125rem;color:var(--muted)}.surface-body{padding:22px 24px}.table-wrap{overflow-x:auto}.summary-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:880px}.summary-table th{text-align:right;background:var(--surface-2);padding:16px 24px;border-bottom:1px solid var(--silver);font-size:.875rem;font-weight:500}.summary-table th:first-child{text-align:left;width:22%}.summary-table th:not(:first-child){width:19.5%}.summary-table th .small{display:block;font-weight:400;color:var(--muted);margin-top:4px}.summary-table td{padding:22px 24px;text-align:right;border-bottom:1px solid var(--rule);border-left:1px solid var(--rule);vertical-align:middle}.summary-table td:first-child{text-align:left;border-left:0}.summary-table tr:last-child td{border-bottom:0}.summary-table .club-title{font-size:1rem;font-weight:500;color:var(--navy);text-align:left;display:block;border:0;background:none;padding:0}.summary-table .club-title:hover{text-decoration:underline}.club-subtitle{font-size:.8125rem;color:var(--muted);display:block;margin-top:6px}.summary-table .revenue{font:500 1.375rem/1.15 var(--font);letter-spacing:-.035em;white-space:nowrap}.summary-table .prior{font-size:.8125rem;color:var(--muted);margin-top:7px}.cell-deltas{display:flex;justify-content:flex-end;gap:14px;margin-top:11px;font-size:.8125rem;white-space:nowrap}.cell-deltas small{font-size:.6875rem;font-weight:400;color:var(--muted);margin-right:4px;letter-spacing:.01em}.cell-deltas span{font-weight:500}.summary-table .total-row td{background:var(--navy-fill);color:white;border-color:#314756}.summary-table .total-row .prior,.summary-table .total-row small,.summary-table .total-row .club-subtitle{color:#b9c9d3}.summary-table .total-row .positive{color:#9fdac5}.summary-table .total-row .negative{color:#ffb2a8}.summary-table .total-row .neutral{color:#b9c9d3}.table-note{padding:13px 24px;font-size:.8125rem;color:var(--muted);background:var(--surface-2);border-top:1px solid var(--rule);line-height:1.5}.summary-table tbody tr:not(.total-row):hover td{background:var(--surface-2)}.report-footer{display:flex;justify-content:space-between;gap:16px;align-items:center;color:var(--muted);font-size:.8125rem;margin-top:24px}.report-footer button{font-size:.8125rem}.discrepancy{margin-top:20px;border:1px solid var(--amber-line);background:var(--amber-soft);border-radius:5px}.discrepancy summary{cursor:pointer;min-height:46px;padding:14px 18px;font-size:.875rem;color:var(--gold)}.discrepancy table{background:var(--surface)}
.empty{padding:52px 28px;text-align:center;color:var(--muted);background:var(--white);border:1px dashed var(--silver);border-radius:6px}.empty h2{color:var(--ink);margin-bottom:10px}.empty .button{margin-top:20px}.empty p{max-width:540px;margin:auto}.metric-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--white);border:1px solid var(--silver);border-radius:6px;margin-bottom:24px}.metric-item{padding:24px 26px;border-right:1px solid var(--rule);min-width:0}.metric-item:last-child{border-right:0}.metric-label{color:var(--muted);font-size:.875rem;margin-bottom:10px}.big-value{font-size:clamp(1.6rem,2.2vw,2.3rem);font-weight:500;letter-spacing:-.04em;font-variant-numeric:tabular-nums;white-space:nowrap}.metric-context{font-size:.8125rem;color:var(--muted);margin-top:10px;line-height:1.45}.metric-item.featured{background:var(--cream)}.split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px;margin-bottom:24px}.split.equal{grid-template-columns:1fr 1fr}.stack{display:grid;gap:24px;align-content:start}.data-table{width:100%;border-collapse:collapse;font-size:.9375rem}.data-table th{font-size:.8125rem;font-weight:500;color:var(--muted);background:var(--surface-2);text-align:right;padding:14px 22px;border-bottom:1px solid var(--rule)}.data-table td{padding:13px 22px;border-bottom:1px solid var(--rule);text-align:right;vertical-align:top;font-variant-numeric:tabular-nums}.data-table th:first-child,.data-table td:first-child{text-align:left}.data-table tbody tr:last-child td{border-bottom:0}.data-table .total td{background:var(--surface-3);font-weight:500}.data-table .label-cell{color:var(--muted);font-size:.875rem}.data-table .current-cell{font-weight:500;color:var(--navy)}.data-table tr.selected td{background:var(--surface-3)}.notes{font-size:.9375rem;line-height:1.55}.notes p+p{margin-top:9px}.manager-line{color:var(--muted);font-size:.8125rem;margin:7px 0 15px}.note-block+.note-block{margin-top:24px;padding-top:22px;border-top:1px solid var(--rule)}.source-file{overflow-wrap:anywhere;font-size:.8125rem;padding:14px 0;border-top:1px solid var(--rule);line-height:1.5}.source-file:first-child{border:0;padding-top:0}.source-file strong{display:block;margin-bottom:4px;font-weight:500}
.analysis-controls{display:grid;grid-template-columns:minmax(190px,1.5fr) minmax(150px,1fr) minmax(200px,1.3fr) auto;gap:18px;align-items:end;background:var(--navy-fill);color:white;padding:22px 24px;border-radius:6px;margin-bottom:22px}.field{display:flex;flex-direction:column;gap:8px;font-size:.8125rem;color:var(--muted);min-width:0}.field select,.field input{border:1px solid var(--silver);border-radius:5px;background:var(--surface);color:var(--ink);padding:11px 12px;min-height:44px;max-width:100%;font-size:.9375rem}.analysis-controls .field{color:#beccd5}.analysis-controls select{background:#233e50;border-color:#4e6879;color:#fff}.analysis-controls .button{background:#345064;color:white;border-color:#526d7e}.segments{display:flex;align-items:center;border:1px solid var(--silver);border-radius:5px;overflow:hidden;width:fit-content}.segments button{border:0;background:var(--white);padding:9px 14px;color:var(--muted);font-size:.8125rem;min-height:36px;white-space:nowrap}.segments button+button{border-left:1px solid var(--silver)}.preset-row{display:flex;align-items:center;gap:8px;margin-bottom:18px;flex-wrap:wrap}.preset-row .small{margin-right:6px}.comparison-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:24px}.snapshot{background:var(--surface);border:1px solid var(--silver);border-top:3px solid var(--silver);border-radius:5px;padding:23px 25px}.snapshot.main{border-top-color:var(--navy-fill);background:var(--cream)}.snapshot .snapshot-head{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:.8125rem;color:var(--muted);margin-bottom:20px}.snapshot .day{font-size:1.1rem;font-weight:500;margin-bottom:5px;color:var(--navy)}.snapshot .range{font-size:.8125rem;color:var(--muted);min-height:20px;margin-bottom:15px}.snapshot .source{margin-top:11px;color:var(--muted);font-size:.75rem;min-height:16px}.snapshot .snapshot-change{border-top:1px solid var(--silver);padding-top:13px;margin-top:17px;font-size:.875rem}.snapshot .snapshot-change strong{font-size:1.0625rem;font-weight:500;margin-right:6px}.insight-line{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:17px 22px;background:var(--surface-3);border-left:3px solid var(--accent);margin-bottom:24px;font-size:.9375rem;line-height:1.5}.insight-line .small{flex-shrink:0}.custom-dates{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:20px}.analysis-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(360px,1fr);gap:24px;margin-bottom:24px}.trend-body{padding:12px 24px 0}.trend-svg{display:block;width:100%;height:auto;min-height:220px;overflow:visible}.trend-svg text{font-family:var(--font);font-size:14px;fill:var(--muted)}.trend-svg .grid{stroke:var(--rule);stroke-width:1}.trend-svg .current-line{stroke:var(--navy-fill);stroke-width:2.5;fill:none}.trend-svg .prior-line{stroke:var(--chart-prior);stroke-width:2;fill:none;stroke-dasharray:5 5}.trend-svg .current-point{fill:var(--navy-fill);stroke:var(--surface);stroke-width:2}.trend-svg .prior-point{fill:var(--chart-prior);stroke:var(--surface);stroke-width:2}.trend-legend{display:flex;gap:20px;align-items:center;font-size:.8125rem;color:var(--muted);padding:0 24px 20px}.legend-line{display:inline-block;width:24px;border-top:2px solid var(--navy-fill);margin-right:7px;vertical-align:middle}.legend-line.prior{border-top:2px dashed var(--chart-prior)}.chart-info{padding:12px 24px;border-top:1px solid var(--rule);font-size:.8125rem;color:var(--muted);min-height:46px}.metric-click{color:var(--accent);background:none;border:0;padding:0;font-size:inherit;text-align:left}.metric-click.active{font-weight:500;color:var(--navy)}.metric-click:hover{text-decoration:underline}.club-picker{display:flex;align-items:center;gap:9px;margin-bottom:20px;flex-wrap:wrap}.club-picker .pill{margin-left:auto}.comparison-grid .club-name{font-size:1.3rem;font-family:var(--font);font-weight:500;letter-spacing:-.025em}.selection-note{font-size:.8125rem;color:var(--muted)}.status-note{font-size:.8125rem;color:var(--muted);margin:-9px 0 22px;line-height:1.5}.excluded-strip{border:1px solid var(--amber-line);background:var(--amber-soft);border-radius:5px;padding:18px 22px;margin:0 0 24px}.excluded-strip .comparison-grid{margin:14px 0 0}.excluded-strip .snapshot{padding:16px;background:var(--surface);border-top:1px solid var(--silver)}.excluded-strip .big-value{font-size:1.6rem}
.overlay-backdrop{position:fixed;inset:0;background:#0f253955;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px}.dialog{background:var(--surface);border-radius:8px;width:min(100%,620px);max-height:85vh;overflow-y:auto;box-shadow:0 25px 80px #071a2933}.dialog.calendar-dialog{width:430px}.dialog.wide{width:850px}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:23px 25px;border-bottom:1px solid var(--rule)}.dialog-body{padding:24px 25px}.dialog-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 25px;border-top:1px solid var(--rule)}.calendar-controls{display:grid;grid-template-columns:36px 1fr 95px 36px;gap:7px;margin-bottom:18px}.calendar-controls select{max-width:100%;border:1px solid var(--silver);border-radius:4px;background:var(--surface);font:inherit;padding:8px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-grid .dow{font-size:.75rem;text-align:center;padding:7px;color:var(--muted)}.cal-day{border:0;border-radius:5px;background:var(--surface);min-height:42px;position:relative;font-size:.875rem}.cal-day:hover{background:var(--surface-3)}.cal-day.outside{color:var(--dim)}.cal-day.has-data:after{content:'';width:4px;height:4px;background:currentColor;border-radius:50%;position:absolute;bottom:5px;left:calc(50% - 2px)}.cal-day[aria-pressed=true]{background:var(--navy-fill);color:white}.date-input-inline{display:flex;gap:9px;margin-top:18px;align-items:center}.date-input-inline input{width:100%;border:1px solid var(--silver);padding:10px;border-radius:4px;min-width:0}.check-row{display:flex;align-items:center;gap:10px;padding:10px 0;font-size:.875rem;cursor:pointer}.check-row input{width:17px;height:17px;accent-color:var(--navy-fill)}.tag-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tag-list button{background:var(--amber-soft);border:1px solid var(--amber-line);border-radius:4px;padding:7px 9px;font-size:.8125rem}.empty-inline{color:var(--muted);font-size:.875rem;padding:18px 0}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--navy-fill);color:white;padding:13px 20px;border-radius:5px;font-size:.875rem;box-shadow:0 7px 22px #10233126;z-index:120;display:none;max-width:90vw}#toast.visible{display:block}
@media(min-width:1750px){.masthead{padding-left:56px;padding-right:56px}.club-nav{padding-left:56px;padding-right:56px}main{padding-left:56px;padding-right:56px}.summary-table td{padding:24px 32px}.summary-table .revenue{font-size:1.6rem}.cell-deltas{font-size:.875rem;gap:22px}.cell-deltas small{font-size:.75rem}.summary-table .prior{font-size:.875rem}.summary-table th{padding-left:32px;padding-right:32px}.analysis-grid{grid-template-columns:minmax(0,1.8fr) minmax(420px,1fr)}}
@media(max-width:1150px){.masthead{padding:20px 26px}.club-nav{padding:0 24px;gap:1px}.club-nav button{padding-left:12px;padding-right:12px}main{padding:26px}.prototype-label{display:none}.date-ribbon{gap:12px}.source-status{display:none}.summary-table td,.summary-table th{padding-left:18px;padding-right:18px}.cell-deltas{gap:8px;flex-wrap:wrap}.analysis-grid{grid-template-columns:minmax(0,1.5fr) minmax(310px,1fr)}.analysis-controls{gap:12px}.metric-item{padding:22px 20px}.snapshot{padding:21px 19px}.split{grid-template-columns:1.2fr 1fr}.data-table th,.data-table td{padding-left:16px;padding-right:16px}}
@media(max-width:900px){.product-name{display:none}.club-nav{overflow-x:auto}.club-nav button:last-child{margin-left:0}.page-heading{align-items:flex-start}.heading-actions{flex-wrap:wrap;justify-content:flex-end}.date-ribbon{flex-wrap:wrap}.analysis-controls{grid-template-columns:1fr 1fr}.analysis-grid,.split,.split.equal{grid-template-columns:1fr}.metric-strip{grid-template-columns:1fr 1fr}.metric-item:nth-child(2){border-right:0}.metric-item:nth-child(-n+2){border-bottom:1px solid var(--rule)}.snapshot .big-value{font-size:1.65rem}.report-footer{align-items:flex-start}.trend-svg{min-height:0}.comparison-grid{gap:12px}}
@media(max-width:620px){main{padding:22px 16px}.masthead{padding:22px 16px}.wordmark{display:none}.club-nav{padding:0 8px}.page-heading{display:block}.heading-actions{margin-top:18px;justify-content:flex-start}.date-ribbon{padding:16px}.date-actions{flex-wrap:wrap}.date-arrow{display:none}.weekday{font-size:1.5rem}.comparison-grid{grid-template-columns:1fr}.analysis-controls{grid-template-columns:1fr}.metric-strip{grid-template-columns:1fr 1fr}.metric-item{padding:18px 15px}.big-value{font-size:1.75rem}.surface-heading{padding:18px;flex-wrap:wrap}.surface-body{padding:18px}.snapshot .big-value{font-size:2rem}.report-footer{display:block}.report-footer>*+*{margin-top:10px}.insight-line{display:block}.overlay-backdrop{padding:14px}.dialog-body{padding:20px 18px}.data-table{font-size:.875rem}.data-table td,.data-table th{padding:12px}.trend-body{padding:12px 12px 0}.cell-deltas{flex-wrap:nowrap}.custom-dates{display:grid;grid-template-columns:1fr 1fr}.masthead-end{gap:0}.subnav{margin-top:20px}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background .15s,border-color .15s,color .15s}.surface{animation:arrive .15s ease-out}@keyframes arrive{from{opacity:.8}to{opacity:1}}}
@media print{.masthead-end,.heading-actions,.date-actions,.club-nav,.subnav,.analysis-controls,.preset-row,.report-footer button{display:none}main{padding:18px}.masthead{background:var(--surface);color:var(--navy);padding:18px}.wordmark,.monogram{color:var(--navy)}.product-name{display:none}.surface{break-inside:avoid}.summary-table .total-row td{background:var(--surface-3);color:var(--navy)}}

@media(min-width:901px) and (max-width:1300px){.analysis-grid{grid-template-columns:1fr}.trend-svg{max-height:350px}.trend-svg text{font-size:14px}}

/* KM identity and comparative hierarchy */
.masthead{background:var(--white);color:var(--navy);border-bottom:1px solid var(--brand-silver);padding-top:22px;padding-bottom:22px}.brand-mark{display:block;width:124px;height:auto;flex-shrink:0}/* the mark in proportion to the figures (Caroline, 24 Sep 2026) */.wordmark{color:var(--navy)}.product-name{color:var(--navy);border-left-color:var(--brand-silver)}.product-name span,.prototype-label{color:var(--muted)}.header-button{border-color:var(--brand-silver);color:var(--navy)}.header-button:hover{background:var(--paper)}.pill.preview{color:var(--muted);background:var(--paper)}
.page-heading{margin-bottom:20px}.date-ribbon{margin-bottom:22px}.surface-heading{padding:16px 22px}.surface-body{padding:18px 22px}.table-note{padding:11px 22px;font-size:.76rem;background:var(--paper)}.stack{gap:18px}.split,.analysis-grid{align-items:start}.surface{box-shadow:0 2px 8px #18334503}.data-table td{padding-top:11px;padding-bottom:11px}.data-table th{padding-top:10px;padding-bottom:10px}
.summary-table th{background:var(--paper)}.summary-table td{padding:16px 22px;vertical-align:top}.summary-table th:first-child{width:20%}.summary-table th:not(:first-child){width:20%}.summary-table .club-title{font-size:1.1rem;margin-top:8px}.year-pair{display:flex;flex-direction:column;gap:7px}.year-current,.year-prior{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.year-caption{font-size:.7rem;font-weight:500;color:var(--muted);white-space:nowrap}.year-prior{color:var(--navy)}.prior-value{font-family:var(--font);font-size:1.3rem;font-weight:500;letter-spacing:-.03em}.year-current .revenue{font-size:1.4rem;letter-spacing:-.025em}.direction{font:500 .9em var(--font);margin-right:4px}.year-gap{font-size:.83rem;font-weight:500;margin-top:10px}.gap-label{font-weight:400;font-size:.73rem;color:var(--muted)}.gap-percent{margin-left:12px}.cell-deltas{padding-top:9px;margin-top:9px;border-top:1px solid var(--rule);gap:13px}.summary-table .total-row .year-caption,.summary-table .total-row .gap-label{color:#c8d2d5}.summary-table .total-row .year-prior{color:white}.summary-table .total-row .cell-deltas{border-color:#526674}.summary-table .total-row .revenue{font-weight:500}.summary-table .pill.warning{white-space:normal;text-align:left;line-height:1.4}
.dsr-topline{display:grid;grid-template-columns:minmax(0,1.15fr) repeat(2,minmax(0,1fr));gap:18px;margin-bottom:22px}.revenue-hero{border-top:3px solid var(--navy-fill)}.revenue-hero .surface-heading{border-bottom:0}.revenue-hero .surface-body{padding-top:8px;padding-bottom:20px}.revenue-hero .year-pair{gap:12px}.revenue-hero .year-current .revenue{font:500 clamp(1.6rem,2.05vw,2.6rem) var(--font);letter-spacing:-.04em}.revenue-hero .prior-value{font-size:clamp(1.4rem,1.7vw,2.1rem)}.revenue-hero .year-caption{font-size:.83rem}.revenue-hero .year-gap{font-size:1.02rem;margin-top:14px}.revenue-hero .gap-label{font-size:.8rem}.aph-card{border-top:3px solid var(--brand-silver)}.aph-rows{padding:2px 22px 4px}.aph-row{padding:12px 0}.aph-row+.aph-row{border-top:1px solid var(--rule)}.aph-shift{font-size:.73rem;color:var(--muted);margin-bottom:5px}.aph-values{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.aph-current{font:500 clamp(1.65rem,2vw,2.45rem) var(--font);letter-spacing:-.035em;font-variant-numeric:tabular-nums}.aph-ly{font-size:.8rem;color:var(--muted)}.aph-ly b{font:500 1.3rem var(--font);color:var(--navy);margin-left:6px}.aph-previous{font-size:.74rem;color:var(--muted);margin-top:5px;display:flex;justify-content:space-between;gap:10px}.aph-previous strong{font-weight:500;color:var(--navy);white-space:nowrap}
.dsr-detail-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:22px;align-items:start}.count-current{font:500 1.15rem var(--font)}.count-ly{font:500 1.05rem var(--font);color:var(--muted)}.count-detail{display:block;font-size:.72rem;line-height:1.5;margin-top:3px;color:var(--muted)}.count-detail.negative{color:var(--red)}.count-detail.positive{color:var(--green)}.manager-line{font-size:.82rem;color:var(--muted);margin-bottom:8px;line-height:1.5}.manager-divider{padding:0 8px;color:var(--brand-silver)}.note-block{padding:0;border:0;min-height:0}.note-block+.note-block{margin-top:12px;padding-top:12px;border-top:1px solid var(--rule)}.note-block h3{font:500 .78rem var(--font);color:var(--muted);margin-bottom:6px}.notes p{font-size:.875rem;margin:4px 0;line-height:1.45}.incident-compact summary{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:16px 22px;cursor:pointer;font-weight:500;font-size:.875rem}.incident-compact summary:before{content:'+';color:var(--muted)}.incident-compact[open] summary:before{content:'−'}.incident-compact summary .small{font-weight:400;font-size:.73rem}.incident-compact .surface-body p{margin-top:4px}.comparison-prior{font-size:1.05rem;font-weight:500;color:var(--navy)}.snapshot .snapshot-head{margin-bottom:13px}.snapshot .big-value{font-size:clamp(1.8rem,2.25vw,2.65rem)}.snapshot .snapshot-change{margin-top:13px;padding-top:11px}.insight-line{background:var(--surface-3);border-left-color:var(--brand-silver)}.trend-svg .prior-line{stroke:var(--chart-prior)}.trend-svg .prior-point{fill:var(--chart-prior)}.legend-line.prior{border-color:var(--chart-prior)}.analysis-controls .field{color:#d9e0e0}
@media(min-width:1750px){.summary-table td{padding:18px 28px}.year-current .revenue{font-size:1.65rem}.prior-value{font-size:1.5rem}.year-caption{font-size:.78rem}.year-gap{font-size:.93rem}.cell-deltas{font-size:.9rem}.summary-table .club-title{font-size:1.2rem}}
@media(max-width:1250px){.dsr-topline{grid-template-columns:1.2fr 1fr 1fr}.dsr-topline .surface-heading{padding:14px 16px;gap:8px;flex-wrap:wrap}.dsr-topline h2{font-size:1rem}.aph-rows{padding-left:16px;padding-right:16px}.aph-previous{flex-wrap:wrap;gap:3px}.revenue-hero .surface-body{padding-left:16px;padding-right:16px}.revenue-hero .year-current .revenue{font-size:1.7rem}.revenue-hero .prior-value{font-size:1.45rem}.summary-table td{padding:14px 16px}.year-current .revenue{font-size:1.25rem}.prior-value{font-size:1.2rem}.year-caption{font-size:.66rem}}
@media(max-width:900px){.dsr-detail-grid{grid-template-columns:1fr}.dsr-topline{grid-template-columns:1fr 1fr}.revenue-hero{grid-column:1/-1}.aph-previous{justify-content:space-between}.year-current .revenue{font-size:1.3rem}}
@media(max-width:620px){.brand-mark{width:96px}.dsr-topline{grid-template-columns:1fr}.revenue-hero{grid-column:auto}.dsr-detail-grid{gap:18px}.summary-table{min-width:1060px}.revenue-hero .year-current .revenue{font-size:2.1rem}}

/* Inline change, compact independent club columns, and holiday context. */
.current-reading,.snapshot-reading{display:flex;align-items:baseline;justify-content:flex-end;gap:12px;min-width:0}.current-reading{white-space:nowrap}.inline-performance{font:500 .875rem/1.2 var(--font);letter-spacing:0;white-space:nowrap;font-variant-numeric:tabular-nums}.inline-performance .direction{font-size:1em;margin:0}.summary-table .year-current>.year-caption{display:none}.summary-table .current-reading{width:100%;justify-content:space-between;gap:8px}.summary-table .year-current .revenue{font-size:1.4rem}.summary-table .inline-performance{font-size:.875rem}.summary-table .year-prior{margin-top:2px}.summary-table .cell-deltas{padding-top:7px;margin-top:7px}.summary-table .club-title .open-report{display:block;font:500 .8125rem var(--font);letter-spacing:0;color:var(--accent);text-decoration:underline;text-underline-offset:3px;margin-top:8px}.summary-table .club-title:hover{text-decoration:none}.summary-table .club-title:hover .open-report{text-decoration-thickness:2px}.daily-grid-day{display:block;font-weight:500;font-size:.9375rem;margin-top:5px}.daily-grid-date{display:block;font-size:.875rem;font-weight:400;color:var(--muted);margin-top:3px}.summary-table .holiday-badge{margin-top:9px}
.dsr-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.dsr-dashboard-grid>.stack{gap:18px;min-width:0}.aph-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px}.aph-card{align-self:start;height:auto}.aph-card .surface-heading{padding:15px 18px;gap:8px;flex-wrap:wrap}.aph-card h2{font-size:1.1rem}.aph-rows{padding-left:18px;padding-right:18px}.aph-row{padding:12px 0}.aph-card .table-note{padding:9px 18px}.aph-previous{font-size:.8125rem;flex-wrap:wrap;gap:3px}.aph-current{font-size:clamp(1.8rem,2.1vw,2.6rem)}.aph-pair .aph-ly{font-size:.875rem}.aph-pair .text-button{font-size:.8125rem;text-decoration:underline;text-underline-offset:3px}.revenue-hero .surface-body{padding-bottom:15px}.revenue-hero .current-reading{gap:18px}.revenue-hero .inline-performance{font-size:1rem}.revenue-hero .year-gap{margin-top:12px}.snapshot-reading{justify-content:flex-start;flex-wrap:wrap;gap:10px 18px}.snapshot .inline-performance{font-size:1rem}.snapshot .snapshot-change{padding-top:9px;margin-top:10px;font-size:.875rem}
.date-ribbon{flex-wrap:wrap}.business-date{flex-wrap:wrap;gap:14px}.date-actions{margin-left:auto;flex-wrap:wrap}.holiday-date{border-left:4px solid var(--navy-fill)}.holiday-badge{display:inline-flex;flex-direction:column;gap:3px;align-items:flex-start;background:var(--navy-fill);border:1px solid var(--navy-fill);color:white;border-radius:4px;padding:8px 12px;font-size:.9375rem;font-weight:500;text-decoration:none;line-height:1.3}.holiday-badge span{font-size:.75rem;font-weight:400;color:#d9e0e0}.holiday-badge:hover{background:#28495b}.holiday-badge.compact{padding:4px 7px;font-size:.8125rem;max-width:100%;white-space:normal}.holiday-comparison-note{padding:12px 16px;margin:0 0 18px;border:1px solid var(--brand-silver);border-left:3px solid var(--navy-fill);border-radius:4px;font-size:.875rem;line-height:1.5;background:var(--white);color:var(--muted)}.holiday-comparison-note strong{color:var(--navy);margin-right:8px}.cal-day.is-holiday{box-shadow:inset 0 0 0 1px var(--navy-fill);font-weight:500}.calendar-holiday-mark{position:absolute;right:4px;top:3px;font-size:.625rem;line-height:1;font-weight:500}.calendar-holiday-list{font-size:.8125rem;line-height:1.5;color:var(--muted);margin-top:15px;padding-top:12px;border-top:1px solid var(--rule)}.calendar-holiday-list:empty{display:none}.calendar-holiday-list strong{color:var(--navy);margin-right:8px}.calendar-holiday-list>div+div{margin-top:5px}.read-change-intro{padding:14px 22px;font-size:.875rem;line-height:1.5;color:var(--muted);border-bottom:1px solid var(--rule)}.comparison-help{font-size:.9375rem;line-height:1.55}.comparison-help p+p{margin-top:14px}.comparison-help dl{display:grid;grid-template-columns:105px 1fr;gap:9px 18px;margin:20px 0}.comparison-help dt{font-weight:500}.comparison-help dd{margin:0;color:var(--muted)}.comparison-help li{margin:7px 0}.comparison-help ul{padding-left:22px;margin:10px 0 20px}
@media(min-width:1750px){.summary-table .year-current .revenue{font-size:1.65rem}.summary-table .inline-performance{font-size:1rem}}
@media(max-width:1250px){.summary-table .year-current .revenue{font-size:1.2rem}.summary-table .inline-performance{font-size:.8125rem}.dsr-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.aph-pair{gap:12px}.aph-card .surface-heading{padding:12px 14px}.aph-rows{padding:0 14px}.aph-card .table-note{padding:9px 14px}.aph-current{font-size:1.8rem}.aph-ly b{font-size:1.1rem}.revenue-hero .current-reading{gap:10px}}
@media(max-width:1050px){.dsr-dashboard-grid{display:flex;flex-direction:column}.dsr-dashboard-grid>.stack{width:100%}.aph-pair{gap:18px}.summary-table{min-width:1100px}}
@media(max-width:620px){.aph-pair{grid-template-columns:1fr 1fr;gap:10px}.aph-card h2{font-size:1rem}.aph-current{font-size:1.6rem}.aph-values{flex-wrap:wrap;gap:4px 10px}.aph-previous{font-size:.75rem}.holiday-badge{font-size:.875rem}.holiday-badge span{font-size:.75rem}.date-actions{margin-left:0}.revenue-hero .year-current{flex-wrap:wrap}.revenue-hero .current-reading{justify-content:space-between;width:100%}.comparison-help dl{grid-template-columns:1fr;gap:5px}.comparison-help dd{margin-bottom:7px}}

/* Current values lead; color belongs to the change, with smaller LY context. */
.year-current .revenue{color:var(--navy)}
.year-prior{flex-wrap:wrap;gap:5px 12px}
.prior-reading{display:flex;align-items:baseline;gap:8px}
.prior-value{font-size:1.05rem;font-weight:500;color:var(--muted);letter-spacing:-.015em}
.year-caption{font-size:.875rem;font-weight:400}
.year-gap{font-size:.8125rem;font-weight:500;white-space:nowrap}
.year-prior .year-gap{margin:0}
.gap-label{font-size:.8125rem}
.summary-table .year-pair{gap:9px}
.summary-table .year-current .revenue{font-size:1.45rem;font-weight:500}
.summary-table .inline-performance{font-size:.875rem;font-weight:500}
.summary-table .year-prior{justify-content:space-between;align-items:baseline;margin:0}
.summary-table .prior-value{font-size:1.0625rem}
.summary-table .year-prior .year-caption{font-size:.8125rem}
.summary-table .total-row .revenue{color:white;font-weight:500}
.summary-table .total-row .prior-value{color:#c8d2d5}
.guest-comparison{margin-top:12px;padding-top:10px;border-top:1px solid var(--rule);font-size:.875rem}
.guest-reading,.guest-prior{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.guest-current{display:flex;align-items:baseline;gap:8px}
.guest-current strong{font-size:1rem;font-weight:500}
.guest-label{color:var(--muted)}
.guest-prior{justify-content:space-between;flex-wrap:wrap;gap:4px 8px;margin-top:4px;font-size:.8125rem;color:var(--muted)}
.guest-prior-reading{display:inline-flex;align-items:baseline;gap:8px;white-space:nowrap}
.guest-gap{margin-left:auto;font-weight:500;white-space:nowrap}
.summary-table .total-row .guest-comparison{border-color:#526674}
.summary-table .total-row .guest-label,.summary-table .total-row .guest-prior{color:#c8d2d5}
.revenue-hero .year-current .revenue{font-size:clamp(1.8rem,2vw,2.35rem)}
.revenue-hero .year-pair{gap:14px}
.revenue-hero .year-prior{justify-content:space-between}
.revenue-hero .prior-reading{gap:14px}
.revenue-hero .prior-value{font-size:clamp(1.2rem,1.35vw,1.6rem);font-weight:500}
.revenue-hero .year-gap{font-size:.875rem;margin:0}
.revenue-hero .inline-performance{font-size:.9375rem}
.aph-current{font-size:clamp(1.6rem,1.8vw,2.1rem);color:var(--navy)}
.aph-ly b{font-size:1.05rem;font-weight:500;color:var(--muted)}
.count-ly{font-size:1rem;font-weight:500}
.comparison-current{font-size:1rem;font-weight:500;color:var(--navy)}
.comparison-prior{font-size:.9375rem;font-weight:400;color:var(--muted)}
.snapshot{padding:20px 23px;align-self:start}
.snapshot .big-value{font-size:clamp(1.8rem,2.1vw,2.4rem);font-weight:500;color:var(--navy)}
.snapshot.reference .big-value{font-size:clamp(1.5rem,1.7vw,1.95rem);font-weight:500;color:var(--muted)}
.snapshot .inline-performance{font-size:.9375rem;font-weight:500}
.snapshot .snapshot-change{font-size:.8125rem;border-top:0;margin-top:8px;padding-top:0}
.snapshot-reference{display:flex;gap:12px;align-items:baseline;font-size:.875rem;color:var(--muted);margin-top:10px}
.snapshot-reference .num{font-size:1rem;font-weight:500}
.report-footer{display:block;margin-top:26px}
.report-sources{border-top:1px solid var(--brand-silver);font-size:.875rem;line-height:1.5}
.report-sources>summary{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;cursor:pointer;padding:17px 0;list-style:none;color:var(--navy);font-weight:500}
.report-sources>summary::-webkit-details-marker{display:none}
.report-sources>summary::before{content:'+';font-size:1.1rem;font-weight:400}
.report-sources[open]>summary::before{content:'−'}
.source-overview{margin-left:auto;font-size:.8125rem;font-weight:400;color:var(--muted)}
.source-difference-count{color:var(--gold);font-weight:500}
.report-sources-body{border-top:1px solid var(--rule);padding:20px 0 0}
.source-notes-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:28px;margin-bottom:24px}
.report-sources h3{font:500 .9375rem var(--font);color:var(--navy);margin-bottom:12px}
.report-sources ul{padding-left:18px;margin:0}
.report-sources li+li,.report-sources p+p{margin-top:8px}
.source-notes-grid p{overflow-wrap:anywhere}
.source-notes-grid .text-button{margin-top:14px;font-size:.875rem}
.report-sources .data-table{background:var(--surface);border:1px solid var(--rule);font-size:.875rem}
.report-sources .data-table th,.report-sources .data-table td{padding:10px 16px}
.reconciliation-key{font-size:.8125rem;margin:12px 0 24px}
@media(min-width:1750px){.summary-table .year-current .revenue{font-size:1.6rem}.summary-table .prior-value{font-size:1.15rem}}
@media(max-width:1250px){.summary-table .year-current .revenue{font-size:1.25rem}.summary-table .prior-value{font-size:1rem}.summary-table .inline-performance{font-size:.875rem}.summary-table td{padding:16px}.summary-table .year-prior{gap:4px}.aph-current{font-size:1.7rem}}
@media(max-width:760px){.source-notes-grid{grid-template-columns:1fr;gap:22px}.source-overview{margin-left:0;width:100%}.revenue-hero .year-prior{gap:6px 12px}.snapshot{padding:18px}}
/* Historical coverage stays close to the affected value; source details live in the footer. */
.data-quality{display:block;margin-top:.35rem;font-size:.8125rem;line-height:1.45;color:var(--gold);font-weight:500}
.total-row .data-quality{color:#ead7ac}
.history-context{display:flex;align-items:baseline;gap:1rem;padding:.85rem 1rem;margin:0 0 1.25rem;border-left:3px solid var(--accent);background:var(--surface-3);font-size:.9375rem;color:var(--muted)}
.history-context strong{color:var(--navy)}
.historical-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.25rem}
.historical-kpi .surface-body{padding:1rem 1.25rem}
.historical-kpi .aph-ly{margin-top:.6rem;display:flex;justify-content:space-between}
.historical-kpi .aph-ly b{font-size:1.25rem}
.history-status{font-size:.8125rem;color:var(--muted);white-space:normal}
.trend-svg .estimated-point{fill:var(--surface);stroke:var(--gold);stroke-width:2.5}
.review-heading{margin:1.5rem 0 .75rem}
.historical-kpi .surface-heading h2{font-size:1rem}
@media(max-width:900px){.historical-kpis{grid-template-columns:1fr}.history-context{align-items:flex-start;flex-direction:column;gap:.3rem}}

/* Shared reporting policy and operator-facing comparisons. */
.header-button{text-decoration:none}.small,.field,.data-quality,.chart-info,.trend-legend,.table-note{font-size:.875rem}.definition-help{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:20px;height:20px;min-width:20px;margin-left:7px;border:1px solid var(--line-strong);border-radius:50%;background:transparent;color:var(--muted);font:500 13px var(--display);cursor:help}.definition-help:hover,.definition-help:focus-visible{color:var(--navy);background:var(--surface-3)}.term-label{display:inline-flex;align-items:center;white-space:normal}.definition-detail p+p{margin-top:18px}.definition-detail a{display:inline-block;margin-top:20px}.formula{background:var(--surface-3);border-left:3px solid var(--accent);padding:16px 20px;font-size:1rem;line-height:1.6;color:var(--navy)}
.basis-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;margin:0 0 20px;padding:14px 18px;background:var(--surface-3);border:1px solid var(--silver);border-radius:5px;font-size:.875rem}.basis-controls>span:first-child{font-weight:500}.window-note{display:flex;flex-wrap:wrap;gap:8px 30px;padding:0 0 20px;font-size:.875rem;color:var(--muted)}.window-note strong{color:var(--ink);margin-right:8px}.column-dates{display:block;white-space:normal;font-size:.875rem;font-weight:400;line-height:1.5;color:var(--muted);margin-top:6px;min-width:130px}.comparison-cell-prior{margin-top:7px;font-size:.875rem;color:var(--muted)}.comparison-current{font-size:1.08rem;font-weight:500}.comparison-prior{font-size:.98rem;font-weight:500}.data-table .comparison-current.positive,.year-current .revenue.positive{color:var(--green)}.data-table .comparison-current.negative,.year-current .revenue.negative{color:var(--red)}.data-table .comparison-prior.positive,.year-prior .prior-value.positive{color:var(--green)}.data-table .comparison-prior.negative,.year-prior .prior-value.negative{color:var(--red)}
.event-controls{display:grid;grid-template-columns:minmax(230px,2fr) repeat(5,minmax(105px,1fr));gap:16px;padding:20px 24px;border:1px solid var(--silver);background:var(--surface-3);border-radius:5px;margin:-6px 0 20px}.event-controls input{width:100%;padding:11px 12px;background:var(--surface);border:1px solid var(--silver);border-radius:4px;min-height:44px}.event-explanation{grid-column:1/-1;font-size:.875rem;color:var(--muted)}.event-explanation a{margin-left:8px}.custom-event-label{max-width:480px;margin-bottom:20px}.custom-event-label input{padding:11px 14px;border:1px solid var(--silver);border-radius:4px;background:var(--surface)}.analysis-grid{grid-template-columns:1fr;gap:22px}.analysis-grid .data-table{table-layout:auto}.analysis-grid .surface{min-width:0}.analysis-grid .surface-heading{gap:20px}.analysis-grid .heading-actions{flex-wrap:wrap}.trend-summary{display:flex;justify-content:space-between;gap:24px;padding:18px 26px;background:var(--surface-3);border-bottom:1px solid var(--rule)}.trend-summary strong{font-family:var(--font);font-size:1.65rem;font-weight:500;margin-right:10px}.trend-summary>div:first-child>div{margin-top:5px}.trend-counts{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap;font-size:1rem;font-weight:500;max-width:380px}.trend-counts small{width:100%;text-align:right;font-size:.875rem;color:var(--muted);font-weight:400}.trend-svg{max-height:375px;width:100%;min-height:240px}.trend-svg text{font-size:15px}.trend-svg .current-point.positive{fill:var(--green)}.trend-svg .current-point.negative{fill:var(--red)}.trend-svg .current-point.neutral{fill:var(--navy-fill)}.trend-svg .estimated-point{fill:var(--white);stroke-width:2}.trend-svg .current-point.positive.estimated-point{stroke:var(--green);fill:var(--white)}.trend-svg .current-point.negative.estimated-point{stroke:var(--red);fill:var(--white)}.trend-svg a:focus circle{stroke:var(--gold);stroke-width:3}.trend-legend{flex-wrap:wrap;gap:14px 28px}.trend-takeaway{padding:16px 26px;background:var(--surface-3);border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:9px 30px;font-size:.9375rem;line-height:1.55}.trend-takeaway b{display:block;font-size:.875rem;color:var(--muted);font-weight:500}.trend-takeaway p{width:100%;font-size:.875rem;color:var(--muted)}.insight-line{line-height:1.7}.rules-footer-link{display:flex;gap:16px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:16px;font-size:.875rem}.rules-footer-link a{font-weight:500}.rules-footer-link span{color:var(--muted)}.report-footer{display:block}.guide-main{max-width:1600px;margin:0 auto}.guide-intro{margin-top:14px;max-width:800px}.guide-search{max-width:750px;margin:0 0 30px}.guide-search input{padding:14px 18px;border:1px solid var(--silver);border-radius:5px;background:var(--surface);font-size:1rem}.guide-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:35px}.guide-layout>nav{position:sticky;top:24px;align-self:start;display:flex;flex-direction:column;gap:4px}.guide-layout>nav a{padding:9px 12px;text-decoration:none;font-size:.9375rem;border-left:2px solid transparent;line-height:1.45}.guide-layout>nav a:hover,.guide-layout>nav a:focus{background:var(--surface-3);border-left-color:var(--accent)}.guide-topic{margin-bottom:20px;scroll-margin-top:24px}.guide-topic:target{border-color:var(--accent);box-shadow:0 0 0 2px #456f8a25}.guide-topic p{font-size:1rem;line-height:1.65}.guide-topic p+p{margin-top:16px}.guide-topic li{font-size:1rem;line-height:1.6;margin-bottom:12px}.guide-topic .surface-heading{gap:20px}.topic-link{font-size:.875rem;color:var(--accent);white-space:nowrap}.rule-status{display:block;color:var(--muted);font-size:.875rem;margin-bottom:12px;line-height:1.5}.guide-topic p+.rule-status{margin-top:15px;margin-bottom:0}.guide-section{margin:36px 0 20px;font-size:1.4rem}[hidden]{display:none!important}
@media(min-width:1750px){.analysis-grid{grid-template-columns:1fr}.analysis-grid .trend-svg{max-height:410px}.analysis-grid .data-table th,.analysis-grid .data-table td{padding-left:28px;padding-right:28px}}
@media(max-width:1100px){.event-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.trend-summary{flex-wrap:wrap}.trend-counts{justify-content:flex-start;max-width:none}.trend-counts small{text-align:left}.guide-layout{grid-template-columns:220px minmax(0,1fr);gap:22px}}
@media(max-width:700px){.event-controls{grid-template-columns:1fr 1fr;padding:18px}.event-controls .field:first-child{grid-column:1/-1}.trend-summary,.trend-takeaway{padding:16px}.trend-svg{min-height:0}.masthead-end{gap:8px;flex-wrap:wrap}.header-button{font-size:.875rem;padding:9px 11px}.guide-layout{grid-template-columns:1fr}.guide-layout>nav{position:static;display:grid;grid-template-columns:1fr 1fr}.basis-controls .segments{flex-wrap:wrap}.column-dates{min-width:110px}.trend-counts{font-size:.875rem}.analysis-grid .data-table{min-width:700px}.guide-topic .surface-heading{align-items:flex-start}}
.definition-tooltip{position:fixed;z-index:150;pointer-events:none;background:var(--navy-fill);color:white;padding:18px 20px;border-radius:6px;box-shadow:0 8px 28px #152f4538;font-size:.9375rem;line-height:1.55;max-height:85vh;overflow:auto}.definition-tooltip strong,.definition-tooltip span,.definition-tooltip small{display:block}.definition-tooltip strong{font-size:1rem;margin-bottom:8px}.definition-tooltip .tooltip-detail{margin-top:10px;color:#dce6ed}.definition-tooltip small{font-size:.875rem;color:#b7cbd7;margin-top:12px}.hub-reference-dates{display:block;margin-top:8px;font-size:.875rem!important;font-weight:400;line-height:1.5;white-space:normal;color:var(--muted)}
.worked-example{margin:22px 0;padding:20px;border:1px solid var(--silver);border-radius:5px;background:var(--surface-3)}.worked-example h3{font-size:1.05rem;margin-bottom:14px}.worked-example .data-table{background:var(--surface);margin-bottom:18px}.worked-example .data-table tbody th{font-size:.9375rem;font-weight:500;text-align:left;text-transform:none;letter-spacing:0}.worked-example .chosen-example th,.worked-example .chosen-example td{background:var(--surface-3);font-weight:500}.worked-example .data-table td{white-space:nowrap}.worked-example p{font-size:1rem}.worked-example p.small{font-size:.875rem}
.read-change-table th:last-child{width:34%}.change-scan{display:inline-grid;grid-template-columns:minmax(8rem,1fr) 9rem;align-items:start;gap:18px;width:100%;max-width:30rem}.change-metric-name{text-align:left;color:var(--muted);font-size:.875rem;font-weight:500;line-height:1.45;white-space:normal}.change-reading{display:block;text-align:right}.change-reading>.num{white-space:nowrap}.change-reading .count-detail{font-size:.875rem;white-space:normal}
.daily-context{display:flex;justify-content:space-between;align-items:baseline;gap:12px 24px;flex-wrap:wrap;margin:-8px 0 18px;font-size:.875rem;line-height:1.5;color:var(--muted)}.daily-context strong{color:var(--ink);font-weight:500}.daily-context a{margin-left:8px}.daily-coverage{font-size:.875rem}.daily-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:18px;margin-bottom:20px}.daily-kpi{border-top:3px solid var(--brand-silver)}.daily-kpi:first-child{border-top-color:var(--navy-fill)}.daily-kpi .surface-heading{min-height:74px;align-items:center;padding:14px 18px;gap:10px}.daily-kpi h2{font-size:1rem;line-height:1.4}.daily-kpi .text-button{font-size:.875rem;white-space:nowrap}.daily-kpi .surface-body{padding:16px 18px}.daily-current-line,.daily-prior-line{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}.daily-current-line .inline-performance{font-size:.875rem}.daily-value{font:500 clamp(1.6rem,1.8vw,2.1rem) var(--font);letter-spacing:-.035em}.daily-prior-line{margin-top:10px;font-size:.875rem}.daily-prior-label{display:inline-flex;align-items:baseline;gap:9px;color:var(--muted)}.daily-prior-value{font:500 1.1rem var(--font)}.daily-difference{font-size:.875rem;white-space:nowrap}.daily-unavailable{font-size:.875rem;color:var(--muted);line-height:1.45;margin-top:10px}.daily-value.positive,.daily-prior-value.positive{color:var(--green)}.daily-value.negative,.daily-prior-value.negative{color:var(--red)}.daily-value.neutral,.daily-prior-value.neutral{color:var(--navy)}.original-detail>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px;font-size:1rem;font-weight:500;cursor:pointer}.original-detail>summary::before{content:'+';color:var(--muted)}.original-detail[open]>summary::before{content:'−'}.original-detail>summary>span:first-child{margin-right:auto}.dsr-dashboard-grid .count-detail{font-size:.875rem}
@media(max-width:1450px){.daily-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.daily-kpis{grid-template-columns:1fr}.daily-kpi .surface-heading{min-height:0}.daily-context{margin-top:0}.daily-value{font-size:1.8rem}}

.count-current.positive,.count-ly.positive{color:var(--green)}.count-current.negative,.count-ly.negative{color:var(--red)}

/* Headline shortcuts, consistent cards, and extended history. */
.daily-kpis{align-items:stretch}.daily-kpi{position:relative;min-width:0;display:flex;flex-direction:column;margin-bottom:0}.daily-kpi .surface-heading{flex:0 0 auto}.daily-kpi .surface-body{flex:1}.card-compare{font-weight:500;letter-spacing:.045em}.card-compare::after{content:'';position:absolute;inset:0;border-radius:5px}.daily-kpi:has(.card-compare:hover){border-color:var(--accent);box-shadow:0 2px 10px #19344512}.card-compare:focus-visible{outline:none}.card-compare:focus-visible::after{outline:2px solid var(--accent);outline-offset:3px}.daily-kpi .definition-help{position:relative;z-index:2}
.analysis-controls{scroll-margin-top:24px}.analysis-controls:focus{outline:none}.analysis-controls .field>span{display:flex;align-items:center}.analysis-controls optgroup{font-weight:500;background:var(--navy-fill);color:white}.analysis-controls option{font-weight:400}
.comparison-grid{align-items:stretch}.comparison-grid>.snapshot{align-self:stretch;min-width:0}.snapshot .snapshot-head,.snapshot .range,.snapshot .snapshot-change{font-size:.875rem}.snapshot .big-value.positive{color:var(--green)}.snapshot .big-value.negative{color:var(--red)}.change-summary .range{line-height:1.5}.change-summary .big-value{font-size:clamp(1.5rem,1.8vw,2rem)}.change-explanation{font-size:.875rem;line-height:1.5;margin-top:12px}
.calendar-grid .cal-day::after{display:none}.calendar-dialog .dialog-footer{align-items:flex-start}.calendar-dialog .dialog-footer>span{display:block;line-height:1.6}.calendar-holiday-mark{display:block;position:static!important;font-size:.625rem;line-height:1;margin-top:3px}.cal-day{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:46px}
.history-filters{display:flex;align-items:end;flex-wrap:wrap;gap:16px 24px;padding:18px 24px;border-bottom:1px solid var(--rule);background:var(--surface-3)}.history-filters .field{min-width:150px}.history-filter-context{font-size:.875rem;color:var(--muted);line-height:1.65;margin-left:auto}.history-scroll{max-height:68vh;overflow:auto;scrollbar-gutter:stable;overscroll-behavior:contain}.history-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.history-table{border-collapse:separate;border-spacing:0;min-width:1150px;width:100%}.history-table thead th{position:sticky;top:0;z-index:3;background:var(--surface-3);border-bottom:1px solid var(--silver);box-shadow:0 1px 0 var(--silver)}.history-table th,.history-table td{padding:14px 18px}.history-table th:first-child{min-width:200px}.history-table .column-dates{font-size:.8125rem}.history-event{display:block;width:fit-content;font-size:.75rem;color:var(--navy);background:var(--surface-3);border-radius:3px;padding:2px 6px;margin-top:6px}.history-status{font-size:.875rem}.history-table .count-detail{font-size:.8125rem}
@media(max-width:1000px){.history-filter-context{margin-left:0}.analysis-grid .surface-heading{flex-wrap:wrap}.analysis-grid .heading-actions{gap:8px}.analysis-grid .heading-actions .segments{flex-wrap:wrap}}
.analysis-controls{scroll-margin-top:90px}.card-compare:focus-visible::after{outline-offset:-3px}

@media print{.history-scroll{max-height:none;overflow:visible}.history-table thead th{position:static}.card-compare,.history-filters{display:none}}

/* Clear analysis paths and self-contained comparisons — September 10, 2026. */
.explore-nav{display:flex;gap:22px;justify-content:space-between;align-items:stretch;margin-bottom:26px;padding:16px;background:var(--surface-3);border:1px solid var(--silver);border-radius:6px}.explore-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;flex:1}.explore-choices button{padding:14px 18px;border:1px solid var(--silver);border-radius:5px;background:var(--surface);text-align:left;color:var(--navy)}.explore-choices button[aria-pressed=true]{border-color:var(--navy-fill);box-shadow:inset 0 3px var(--navy-fill)}.explore-choices strong{display:block;font-size:1rem}.explore-choices span{display:block;color:var(--muted);font-size:.8125rem;margin-top:6px;line-height:1.45}.explore-destination{display:flex;gap:12px;align-items:center}.explore-destination select{font-size:.875rem;width:215px}.mode-instruction{color:var(--muted);line-height:1.6;margin:-12px 0 24px;max-width:1000px}.club-analysis-link{display:block;margin-top:16px}.hub-scroll-note{padding:12px 22px;color:var(--muted);font-size:.8125rem;background:var(--surface-2);border-bottom:1px solid var(--rule)}
.hub-scroll{max-height:calc(100vh - 100px);min-height:350px;overflow:auto;scrollbar-gutter:stable;overscroll-behavior:contain}.summary-table{border-collapse:separate;border-spacing:0;min-width:0}.summary-table thead{position:sticky;top:0;z-index:3;box-shadow:0 2px 5px #18344722}.summary-table thead th{vertical-align:bottom;background:var(--cream)}.hub-period-header{display:grid;grid-template-rows:24px 25px 25px 58px;align-content:end;align-items:start;line-height:1.5}.hub-period-header .daily-grid-day,.hub-period-header .daily-grid-date{font-size:.875rem;margin:0;line-height:1.5;font-weight:400}.hub-period-header .daily-grid-day{font-weight:500}.hub-period-header .hub-reference-dates{display:flex;flex-direction:column;justify-content:end;align-self:stretch;margin:0;font-size:.8125rem;font-weight:400;color:var(--muted)}.summary-table .total-row th,.summary-table .total-row td{background:var(--navy-fill);color:white;border-color:#314756;vertical-align:top}.summary-table .total-row th{padding:20px 24px}.summary-table tbody th{vertical-align:middle;background:var(--surface);text-align:left;border-bottom:1px solid var(--rule);padding:22px 24px}.summary-table .total-row td{padding-top:18px;padding-bottom:18px}.summary-table .total-row .night-badge{color:#f3d797;background:#304552;border-color:#7d754e}.summary-table .total-row .night-badge span{color:#e7d8b3}.summary-table .total-row .year-caption,.summary-table .total-row .gap-label{color:#c8d2d5}.summary-table .total-row .positive{color:#9fdac5}.summary-table .total-row .negative{color:#ffb2a8}.summary-table .total-row .prior-value.positive{color:#9fdac5}.summary-table .total-row .prior-value.negative{color:#ffb2a8}
.comparison-grid.two-comparisons{grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-grid.one-comparison{grid-template-columns:1fr}.snapshot{display:flex;flex-direction:column}.snapshot .snapshot-head{min-height:44px;align-items:flex-start;margin-bottom:16px}.snapshot-head h2{font-size:1rem;font-weight:500;line-height:1.5;color:var(--navy)}.snapshot .comparison-values{flex:1}.comparison-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.comparison-values>div{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.value-label{display:block;font-size:.8125rem;color:var(--muted);font-weight:500;line-height:1.5}.value-dates{display:block;min-height:44px;margin-top:4px;font-size:.8125rem;color:var(--muted);line-height:1.5}.comparison-values .big-value,.comparison-values .reference-amount{display:block;margin-top:10px;line-height:1.2;min-height:44px;overflow-wrap:anywhere;font:500 clamp(1.6rem,2vw,2.25rem) var(--font);letter-spacing:-.03em}.comparison-values .reference-amount{font-size:clamp(1.3rem,1.6vw,1.8rem);font-weight:500;padding-top:6px}.value-quality{min-height:24px;margin-top:4px}.value-quality .data-quality{margin:0;font-size:.8125rem}.comparison-bottom{display:grid;grid-template-columns:auto auto 1fr;align-items:baseline;column-gap:14px;row-gap:4px;border-top:1px solid var(--rule);padding-top:14px;margin-top:18px;min-height:63px}.comparison-difference{font-size:1.125rem;font-weight:500}.comparison-rate{text-align:right}.comparison-status{grid-column:1/-1;min-height:19px;font-size:.8125rem;color:var(--gold);line-height:1.5}.one-comparison .comparison-values{max-width:1000px}.one-comparison .comparison-bottom{grid-template-columns:auto auto auto 1fr;justify-content:start}.one-comparison .comparison-rate{text-align:left}.one-comparison .comparison-status{grid-column:auto;padding-left:16px}.comparison-grid:not(.two-comparisons):not(.one-comparison) .comparison-values{grid-template-columns:1fr;gap:12px}.comparison-grid:not(.two-comparisons):not(.one-comparison) .reference-value{display:grid;grid-template-columns:1fr auto;width:100%;column-gap:16px}.comparison-grid:not(.two-comparisons):not(.one-comparison) .reference-value .value-label{grid-column:1}.comparison-grid:not(.two-comparisons):not(.one-comparison) .reference-value .value-dates{grid-column:1;min-height:36px}.comparison-grid:not(.two-comparisons):not(.one-comparison) .reference-value .reference-amount{grid-column:2;grid-row:1/3;margin:0;align-self:center}.comparison-grid:not(.two-comparisons):not(.one-comparison) .reference-value .value-quality{grid-column:1/-1}
.trend-summary{align-items:start;gap:26px}.trend-window-values{flex:1;min-width:0}.window-heading{display:block;font-size:.875rem;font-weight:500;color:var(--navy);margin-bottom:16px}.trend-summary .comparison-values{max-width:920px}.trend-summary .comparison-values strong{margin-right:0}.trend-summary .comparison-bottom{grid-template-columns:auto auto auto 1fr;margin-top:10px}.trend-summary .comparison-rate{text-align:left}.trend-summary .comparison-status{grid-column:auto;padding-left:12px}.trend-counts{padding-top:5px;flex-basis:280px;font-size:.875rem}.trend-counts small{font-size:.8125rem}.trend-svg .axis-weekday{font-weight:500;font-size:12px;fill:var(--navy-fill)}.trend-svg .night-star{fill:var(--gold);stroke:var(--surface);stroke-width:2px;paint-order:stroke;font-size:19px;font-weight:500}.trend-body{overflow-x:auto}.trend-svg{min-width:860px;max-height:none}.trend-legend{padding-top:8px}.comparison-current,.comparison-prior{white-space:nowrap}
.night-badge{position:relative;z-index:2;display:block;width:fit-content;max-width:100%;padding:6px 9px;margin-top:9px;border:1px solid var(--amber-line);border-radius:5px;background:var(--amber-soft);color:var(--gold);font-size:.75rem;line-height:1.35;text-align:left;font-weight:500}.night-badge span{display:block;font-size:.6875rem;font-weight:400;margin-top:2px;color:var(--gold)}.night-badge:hover{background:var(--amber-soft)}.night-intro{line-height:1.6;margin-bottom:18px}.night-list{display:grid;gap:14px;max-height:58vh;overflow:auto;margin-bottom:18px}.night-story{padding:18px;border:1px solid var(--amber-line);border-radius:5px;background:var(--amber-soft)}.night-story p{line-height:1.5;margin:8px 0}.night-story .button{margin-top:8px}.summary-table .night-badge{margin-left:auto}.daily-kpi .surface-body{display:flex;flex-direction:column}.daily-reading{display:flex;flex-direction:column;flex:1}.daily-current-line{min-height:44px}.daily-prior-line{margin-top:auto;padding-top:10px;min-height:32px}.daily-kpi .night-badge{margin-top:10px}
#read-change,#daily-history,#trend,#sources,#club-comparison,#comparison-controls{scroll-margin-top:85px}#read-change:focus,#daily-history:focus,#trend:focus,#sources:focus,#club-comparison:focus{outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:1300px){.explore-nav{flex-wrap:wrap}.explore-destination{width:100%}.explore-destination .field{flex:1}.explore-destination select{width:100%}.trend-counts{flex-basis:240px}.comparison-values{gap:16px}}
@media(max-width:900px){.comparison-grid.two-comparisons,.comparison-grid:not(.one-comparison){grid-template-columns:1fr!important}.trend-summary{flex-direction:column}.trend-counts{flex-basis:auto;max-width:none}.trend-counts small{width:auto}.one-comparison .comparison-bottom,.trend-summary .comparison-bottom{grid-template-columns:auto auto 1fr}.one-comparison .comparison-status,.trend-summary .comparison-status{grid-column:1/-1;padding-left:0}.comparison-values .value-dates{min-height:60px}}
@media print{.explore-nav,.hub-scroll-note,.club-analysis-link{display:none}.hub-scroll{max-height:none;overflow:visible}.summary-table thead{position:static;box-shadow:none}.night-badge{border:0}.trend-svg{min-width:0}}

/* Keep LY and its difference on the shared bottom line, including missing metrics. */
.daily-reading .daily-current-line{order:0}.daily-reading .night-badge,.daily-reading .daily-unavailable,.daily-reading>.data-quality{order:1}.daily-reading .daily-prior-line{order:2;margin-top:auto}

/* Board views live in the navigation; tables lead and chart detail is optional. */
.club-nav{gap:20px;min-height:64px;align-items:center;justify-content:space-between}.board-tabs{display:flex;align-self:stretch;align-items:stretch;gap:3px;min-width:0}.club-nav .board-tabs button{padding:20px 13px 17px;font-size:.875rem;margin:0;border-left:0;border-radius:0}.club-nav .board-tabs button:last-child{margin:0;border-left:0;padding-left:13px}.nav-club{display:flex;align-items:center;gap:10px;margin-left:auto;color:var(--muted);font-size:.875rem;white-space:nowrap}.nav-club select{background:var(--surface);border:1px solid var(--silver);border-radius:4px;padding:9px 30px 9px 12px;min-height:38px;color:var(--navy);font:500 .875rem var(--font);max-width:210px}.page-heading{margin-bottom:18px}.page-heading h1{font-size:2rem}.page-heading .eyebrow{font-size:.75rem;letter-spacing:.1em}.mode-instruction,.explore-nav{display:none}.board-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:-5px}.analysis-controls{margin-bottom:16px}.basis-controls{gap:12px;font-size:.8125rem;margin-bottom:18px}.analysis-grid{margin-bottom:20px}#read-change{margin-bottom:22px}#daily-history{margin-top:22px;margin-bottom:22px}.read-change-intro{display:none}
/* Group first, never frozen. The page scrolls normally; the column header remains. */
.hub-surface{overflow:visible}.hub-scroll{max-height:none;min-height:0;overflow:visible;scrollbar-gutter:auto;overscroll-behavior:auto}.summary-table thead{position:sticky;top:64px;z-index:4}.summary-table .total-row{position:static}.hub-period-header{grid-template-rows:21px 21px 22px 46px}.summary-table th,.summary-table td{padding:17px 22px}.summary-table .total-row th,.summary-table .total-row td{padding:18px 22px}.summary-table thead th:first-child{border-top-left-radius:5px}.summary-table thead th:last-child{border-top-right-radius:5px}.row-details-toggle{display:block;margin-top:14px;padding:0;border:0;background:transparent;color:var(--muted);font-size:.8125rem;white-space:nowrap}.total-row .row-details-toggle{color:#c7d6df}.coverage-badge{display:inline-block;border:0;border-bottom:1px dotted currentColor;border-radius:0;padding:0;background:none;color:var(--gold);font-size:.75rem;margin-top:6px;line-height:1.4}.total-row .coverage-badge{color:#edcf8e}.hub-note-row td,.hub-note-row th{background:var(--surface-2)!important;text-align:left!important;font-size:.8125rem;vertical-align:top}.hub-note-row .data-quality{font-size:.8125rem;line-height:1.6;margin:0 0 5px}.hub-stars{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.night-badge{display:inline-flex;align-items:center;width:auto;padding:3px 7px;font-size:.75rem;font-weight:500;line-height:1.4;margin-top:8px;white-space:nowrap;max-width:100%;border-radius:4px;background:var(--amber-soft)}.hub-stars .night-badge{margin-left:0}.total-row .night-badge{background:transparent!important;border-color:#817445!important;color:#edcf8e!important}.summary-table .guest-comparison{margin-top:10px;padding-top:10px}.summary-table .year-current .revenue{font-size:1.35rem}.summary-table .prior-value{font-size:1rem}
/* Hidden by default, while the history table is one click from the primary nav. */
.chart-disclosure{margin:22px 0;background:var(--surface);border:1px solid var(--silver);border-radius:5px;overflow:hidden}.chart-disclosure>summary{display:flex;align-items:center;gap:14px;padding:18px 22px;cursor:pointer;font-size:1rem;font-weight:500;list-style:none}.chart-disclosure>summary::-webkit-details-marker{display:none}.chart-disclosure>summary::before{content:'+';font-size:1.25rem;font-weight:400}.chart-disclosure[open]>summary::before{content:'−'}.chart-disclosure>summary .small{font-size:.8125rem;font-weight:400;margin-left:auto}.chart-disclosure[open]>summary{border-bottom:1px solid var(--rule)}.chart-disclosure #trend>.surface{border:0;border-radius:0}.chart-disclosure .surface-heading{padding:15px 20px;gap:16px;flex-wrap:wrap}.chart-disclosure h2{font-size:1rem}.chart-options{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.chart-options .field{flex-direction:row;align-items:center;gap:7px;font-size:.8125rem}.chart-options select{font-size:.8125rem;min-height:36px;padding:7px 25px 7px 10px}.chart-options .segments button{font-size:.8125rem;padding:8px 11px}.chart-help{display:inline-flex;justify-content:center;align-items:center;width:23px;height:23px;border:1px solid var(--muted);border-radius:50%;font-size:.875rem;color:var(--muted);text-decoration:none}.trend-summary{padding:14px 20px;gap:20px}.window-heading{font-size:.8125rem;margin-bottom:8px}.trend-summary .comparison-values .big-value{font-size:1.6rem;min-height:32px;margin-top:4px}.trend-summary .comparison-values .reference-amount{font-size:1.35rem;min-height:32px;margin-top:4px;padding-top:2px}.trend-summary .value-dates{min-height:0}.trend-summary .value-quality{min-height:18px}.trend-summary .comparison-bottom{padding-top:8px;min-height:35px;margin-top:6px}.trend-summary .comparison-difference{font-size:1rem}.trend-summary .comparison-status{font-size:.75rem}.trend-summary .trend-counts{font-size:.8125rem;flex-basis:240px}.trend-summary .trend-counts small{font-size:.75rem}.trend-body{padding:12px 16px 0;overflow-x:auto}.trend-svg{width:100%;height:auto;min-width:1000px;min-height:0;max-height:none;display:block;overflow:visible}.trend-svg .axis-date,.trend-svg .axis-date tspan,.trend-svg .axis-weekday{font-family:var(--font);font-size:12px;font-weight:400;fill:var(--muted);letter-spacing:0}.trend-svg .axis-amount{font-size:12px;font-weight:400}.trend-legend{padding:4px 24px 14px;font-size:.75rem;gap:12px 24px}.chart-info:empty{display:none}.chart-info{font-size:.8125rem;min-height:0;padding:10px 20px}.chart-change-details{border-top:1px solid var(--rule)}.chart-change-details>summary{padding:12px 20px;cursor:pointer;font-size:.8125rem;color:var(--muted)}.chart-change-details .trend-takeaway{border-top:0;padding:12px 20px;font-size:.8125rem;background:var(--surface-2)}.chart-change-details .trend-takeaway b{font-size:.8125rem}
@media(max-width:1250px){.club-nav{padding:0 20px;gap:10px;flex-wrap:wrap}.board-tabs{overflow-x:auto;flex:1}.nav-club select{max-width:175px}.club-nav .board-tabs button{padding-left:9px;padding-right:9px}.hub-scroll{overflow-x:auto}.summary-table thead{position:static}.summary-table{min-width:0}}
@media(max-width:1000px){.nav-club{padding:8px 0}.club-nav{position:static}.board-tabs{flex-basis:100%}.nav-club{margin-left:0}.chart-options{gap:8px}.page-heading h1{font-size:1.75rem}.chart-disclosure>summary .small{display:none}}
@media print{.nav-club,.board-tabs,.row-details-toggle,.coverage-badge{display:none}.summary-table thead{position:static}.hub-scroll{overflow:visible}.trend-svg{min-width:0}.chart-disclosure:not([open]){display:none}}

.period-length-warning{font-size:.8125rem;color:var(--gold);margin:0 0 15px}.period-length-warning a{display:inline-flex;align-items:center;justify-content:center;border:1px solid currentColor;border-radius:50%;width:20px;height:20px;font-size:.75rem;margin-left:7px;text-decoration:none;color:inherit}

/* Club-first navigation and shared menus, using the dashboard's own type and palette. */
.club-nav{align-items:stretch;gap:0;min-height:64px;z-index:30}.club-tabs{display:flex;align-items:stretch;gap:7px;width:100%;min-width:0}.club-tab{position:relative;flex:0 1 auto}.club-tab>summary,.club-nav .portfolio-tab{display:flex;align-items:center;justify-content:center;gap:12px;min-height:64px;padding:18px 17px 15px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font-family:var(--font);font-size:.9375rem;line-height:1.4;font-weight:500;white-space:nowrap;cursor:pointer;list-style:none}.club-tab>summary::-webkit-details-marker{display:none}.club-tab>summary::marker{content:''}.club-tab>summary:hover,.club-tab[open]>summary,.club-nav .portfolio-tab:hover{background:var(--surface-3);color:var(--navy)}.club-tab.active>summary,.club-nav .portfolio-tab.active{color:var(--navy);border-bottom-color:var(--navy-fill);font-weight:500}.club-tab>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-5px}.club-nav .compare-clubs-tab{margin-left:10px;border-left:1px solid var(--rule);padding-left:24px;padding-right:17px;color:var(--navy);font-weight:500;flex-shrink:0}.menu-chevron{display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px;flex-shrink:0;opacity:.7}.club-tab[open]>summary .menu-chevron,.select-trigger[aria-expanded=true] .menu-chevron{transform:rotate(225deg);margin-top:3px}.club-view-menu{position:absolute;top:100%;left:0;z-index:60;min-width:235px;padding:7px;background:var(--white);border:1px solid var(--silver);border-top:2px solid var(--navy-fill);border-radius:0 0 7px 7px;box-shadow:0 10px 25px #18334518}.club-nav .club-view-menu button{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:44px;margin:0;padding:11px 13px;border:0;border-radius:4px;background:var(--surface);color:var(--navy);text-align:left;font-family:var(--font);font-size:.9375rem;line-height:1.4;font-weight:500;white-space:nowrap}.club-nav .club-view-menu button:last-child{margin:0;border:0;padding-left:13px}.club-nav .club-view-menu button[aria-current=page]{background:var(--surface-3);color:var(--navy);font-weight:500}.club-nav .club-view-menu button:hover,.club-nav .club-view-menu button:focus-visible{background:var(--surface-3);color:var(--navy)}.menu-check{min-width:15px;flex-shrink:0;text-align:center;font-weight:500;color:var(--accent)}
.select-shell{display:inline-flex;position:relative;max-width:100%;min-width:0;width:100%}.select-trigger{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;min-width:0;min-height:44px;padding:11px 13px;border:1px solid var(--silver);border-radius:5px;background:var(--white);color:var(--navy);font:500 .9375rem/1.4 var(--font);text-align:left;cursor:pointer;transition:border-color .12s,box-shadow .12s}.select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.select-trigger:hover{border-color:var(--line-strong);background:var(--surface-2)}.select-trigger[aria-expanded=true]{border-color:var(--accent);box-shadow:0 0 0 2px #456f8a16}.select-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.select-trigger:disabled{opacity:.5;cursor:default}.analysis-controls .select-trigger{background:#233e50;border-color:#637d8e;color:white;font-weight:500}.analysis-controls .select-trigger:hover,.analysis-controls .select-trigger[aria-expanded=true]{background:#2b475b;border-color:#a8bac5}.analysis-controls .select-trigger:focus-visible{outline-color:#b3c7d4}
.select-menu{position:fixed;z-index:1000;overflow-y:auto;overscroll-behavior:contain;padding:6px;border:1px solid var(--silver);border-top:2px solid var(--navy-fill);border-radius:6px;background:var(--surface);color:var(--navy);box-shadow:0 10px 30px #18334524;scrollbar-width:thin;scroll-padding:6px;font-family:var(--font);text-align:left}.select-menu [role=option]{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;min-height:42px;padding:10px 12px;border:0;border-radius:4px;background:transparent;color:var(--navy);font:500 .9375rem/1.4 var(--font);text-align:left;cursor:pointer;white-space:normal}.select-menu [role=option][aria-selected=true]{font-weight:500;background:var(--surface-3)}.select-menu [role=option]:hover,.select-menu [role=option]:focus{background:var(--surface-3);outline:0}.select-menu [role=option]:focus-visible{box-shadow:inset 0 0 0 1px var(--line-strong)}.select-menu [role=option]:disabled{opacity:1;color:var(--dim);background:transparent;cursor:default}.select-group{font-size:.75rem;letter-spacing:.035em;font-weight:500;line-height:1.4;color:var(--muted);padding:12px 12px 6px;border-top:1px solid var(--rule);margin-top:6px}.select-group:first-child{border-top:0;margin-top:0;padding-top:7px}.calendar-controls .select-shell{width:auto;flex:1}.calendar-controls .select-trigger{min-height:39px;padding:9px 12px;font-size:.9375rem}.chart-options .select-shell{width:auto;min-width:140px}.chart-options .select-trigger{font-size:.875rem;min-height:36px;padding:7px 12px}.event-controls .select-shell,.history-filters .select-shell{width:100%}
@media(max-width:1300px){.club-tabs{gap:0}.club-tab>summary,.club-nav .portfolio-tab{font-size:.875rem;padding-left:12px;padding-right:12px}.club-nav .compare-clubs-tab{padding-left:17px}.club-view-menu{min-width:220px}}
@media(max-width:1000px){.club-nav{position:sticky;top:0;padding:0 16px}.club-tabs{flex-wrap:wrap}.club-tab>summary,.club-nav .portfolio-tab{min-height:50px;padding-top:14px;padding-bottom:11px}.club-nav .compare-clubs-tab{margin-left:0}.club-tab:last-of-type .club-view-menu{left:auto;right:0}.club-view-menu{max-width:calc(100vw - 32px)}}
@media print{.club-nav,.select-menu{display:none}.select-trigger{border:0;background:transparent!important;color:var(--navy)!important}.select-trigger .menu-chevron{display:none}}

/* Revenue summary and its contributing categories share one comparison card. */
.revenue-comparison-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;flex:1;min-width:0}
.revenue-total{display:flex;flex-direction:column;min-width:0}
.revenue-total .comparison-values{max-width:none;gap:20px}
.revenue-total .comparison-bottom{grid-template-columns:auto auto 1fr;min-height:63px}
.revenue-total .comparison-rate{text-align:right}
.revenue-total .comparison-status{grid-column:1/-1;padding-left:0}
.revenue-breakdown{min-width:0;border-left:1px solid var(--rule);padding-left:28px}
.revenue-breakdown .snapshot-head{min-height:44px;margin-bottom:12px;align-items:flex-start}
.revenue-breakdown-scroll{overflow-x:auto;max-width:100%;border-radius:3px}
.revenue-breakdown-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.revenue-breakdown-table{width:100%;min-width:600px;border-collapse:collapse;font-size:.875rem;font-variant-numeric:tabular-nums;line-height:1.4}
.revenue-breakdown-table th,.revenue-breakdown-table td{padding:10px 8px;text-align:right;vertical-align:top;border-bottom:1px solid var(--rule)}
.revenue-breakdown-table th:first-child{width:29%;text-align:left;padding-left:0;white-space:normal;font-weight:500}
.revenue-breakdown-table th:last-child,.revenue-breakdown-table td:last-child{padding-right:0}
.revenue-breakdown-table td{white-space:nowrap}
.revenue-breakdown-table thead th{padding-top:0;color:var(--muted);font-weight:500;font-size:.875rem;white-space:nowrap}
.revenue-breakdown-table .inline-performance{font-size:.875rem;font-weight:500}
.revenue-breakdown-table tfoot th,.revenue-breakdown-table tfoot td{border-bottom:0;border-top:2px solid var(--silver);padding-top:14px;font-weight:500;color:var(--navy)}
.revenue-breakdown-table tfoot .positive{color:var(--green)}
.revenue-breakdown-table tfoot .negative{color:var(--red)}
.breakdown-coverage{display:block;white-space:normal;font-size:.8125rem;font-weight:400;color:var(--gold);margin-top:3px}
.breakdown-coverage:only-child{margin-top:0}
.breakdown-footnote{display:block;color:var(--muted);font-size:.8125rem;margin-top:10px}
.revenue-remainder th,.revenue-remainder td{color:var(--gold);font-size:.8125rem}
.breakdown-help{position:relative;flex-shrink:0}
.breakdown-help>summary{display:flex;align-items:center;justify-content:center;list-style:none;width:23px;height:23px;cursor:pointer;border:1px solid var(--muted);border-radius:50%;font:500 .875rem var(--display);color:var(--muted)}
.breakdown-help>summary::-webkit-details-marker{display:none}
.breakdown-help>div{position:absolute;right:0;top:30px;z-index:12;width:min(370px,75vw);padding:16px;background:var(--surface);border:1px solid var(--silver);border-radius:5px;box-shadow:0 8px 24px #19344520;font-size:.875rem;line-height:1.55;color:var(--ink);font-weight:400}
.two-comparisons .revenue-comparison-layout{grid-template-columns:1fr;gap:24px}
.two-comparisons .revenue-breakdown{border-left:0;padding-left:0;border-top:1px solid var(--rule);padding-top:20px}
@media(max-width:1450px){.revenue-comparison-layout{grid-template-columns:1fr;gap:24px}.revenue-breakdown{border-left:0;padding-left:0;border-top:1px solid var(--rule);padding-top:20px}}
@media(max-width:620px){.revenue-total .comparison-values{gap:16px}.revenue-total .comparison-bottom{column-gap:10px}.revenue-total .comparison-difference{font-size:1rem}.revenue-breakdown-table{font-size:.875rem;min-width:590px}}

.revenue-breakdown-table thead th{vertical-align:bottom}
.revenue-breakdown-table .breakdown-period-head{white-space:normal;min-width:135px}
.breakdown-period-title{display:block;font-weight:500;line-height:1.4}
.breakdown-period-context{display:block;min-height:2.8em;margin-top:5px;font-size:.875rem;line-height:1.4;font-weight:400}
.breakdown-period-dates{display:block;margin-top:4px;font-size:.875rem;line-height:1.4;font-weight:400}
.breakdown-period-dates>span{display:block;white-space:nowrap}
/* Weekday totals keep clubs in fixed order; comments retain paired dates. */
.compare-view-tabs{margin:0 0 24px}.compare-view-tabs button{font-size:.9375rem;padding:12px 22px}.compare-view-tabs button[aria-pressed=true]{background:var(--navy-fill);color:white;font-weight:500}.manager-comment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.manager-comment-column{padding:22px;min-width:0}.manager-comment-column+.manager-comment-column{border-left:1px solid var(--rule)}.manager-comment-column>h3{font-size:1rem;margin:0 0 6px}.comment-period,.comment-coverage,.comment-events{color:var(--muted);font-size:.875rem;line-height:1.5}.comment-period{margin-bottom:18px}.comment-coverage{margin-bottom:14px}.comment-events{color:var(--accent);margin:6px 0}.manager-comment-record h4{font-size:.875rem;font-weight:500;margin:0 0 10px}.manager-comment-record+.manager-comment-record{padding-top:18px;margin-top:18px;border-top:1px solid var(--rule)}.manager-comment-record .notes p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9375rem}.manager-comment-record .manager-line{font-size:.875rem}.manager-comment-record .small{font-size:.875rem}.comment-scroll{max-height:540px;overflow:auto}.manager-comments-disclosure>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;font-weight:500}.manager-comments-disclosure>summary:before{content:'+';color:var(--muted)}.manager-comments-disclosure[open]>summary:before{content:'−'}.manager-comments-disclosure>summary .small{font-weight:400;font-size:.875rem}.manager-comments-disclosure[open]>summary{border-bottom:1px solid var(--rule)}.comment-gaps{margin-top:18px}.comment-gaps>summary{cursor:pointer;color:var(--muted);font-size:.875rem;margin-bottom:14px}.manager-comments-disclosure{margin-bottom:24px}
@media(max-width:1150px){.dsr-dashboard-grid .manager-comment-grid{grid-template-columns:1fr}.dsr-dashboard-grid .manager-comment-column+.manager-comment-column{border-left:0;border-top:1px solid var(--rule)}}
@media(max-width:680px){.manager-comment-grid{grid-template-columns:1fr}.manager-comment-column+.manager-comment-column{border-left:0;border-top:1px solid var(--rule)}.manager-comments-disclosure>summary{flex-wrap:wrap}.comment-scroll{max-height:400px}}

.benchmark-value{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--silver)}.benchmark-value .reference-amount{font-size:1.1rem}.benchmark-cell{margin-top:6px;padding-top:6px;border-top:1px dashed var(--silver);font-size:.875rem}

/* Date behaviour (CK, 14 Sep 2026; built 15 Sep 2026): Compare clubs is a peer of the club tabs; the missing-night line and the hand-off link live in the date ribbon; club names on Compare clubs are links. */
.club-nav .club-tabs .compare-clubs-tab{margin-left:0;border-left:0;padding:18px 17px 15px;color:var(--muted);font-weight:500;flex-shrink:0}.club-nav .club-tabs .compare-clubs-tab:hover{color:var(--navy)}.club-nav .club-tabs .compare-clubs-tab.active{color:var(--navy);font-weight:500}
.date-detail .date-note{color:var(--gold);font-weight:500;font-size:.8125rem;margin-top:5px}
.date-actions .date-handoff{margin-left:6px;font-size:.875rem;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.club-link{border:0;background:none;padding:0;margin:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--brand-silver);cursor:pointer;text-align:left}.club-link:hover,.club-link:focus-visible{color:var(--accent);text-decoration-color:currentColor}
@media(max-width:1300px){.club-nav .club-tabs .compare-clubs-tab{padding-left:12px;padding-right:12px}}
@media(max-width:1000px){.club-nav .club-tabs .compare-clubs-tab{min-height:50px;padding-top:14px;padding-bottom:11px}}
@media(max-width:620px){.date-ribbon{display:block}.date-ribbon .business-date{margin-bottom:12px}.date-actions{margin-left:0}.date-actions .date-handoff{margin-left:0;flex-basis:100%;white-space:normal;text-align:left;padding:6px 0 0}}

/* Compare clubs · By weekday (CK, 14 Sep 2026; spec specs/compare-weekday.md, built 16 Sep 2026): the weekday's nights down, the five clubs across, last year and the change in every cell; on a phone the cell shows the value and percentage and a tap opens the panel under the row. */
.weekday-controls{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.weekday-context{padding:18px 24px 0;justify-content:space-between;align-items:center}
.weekday-scroll{max-height:72vh;overflow:auto;scrollbar-gutter:stable;overscroll-behavior:contain}.weekday-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.weekday-table{border-collapse:separate;border-spacing:0;min-width:1060px;width:100%}
.weekday-table thead th{position:sticky;top:0;z-index:3;background:var(--surface-3);border-bottom:1px solid var(--silver);box-shadow:0 1px 0 var(--silver);vertical-align:bottom}
.weekday-table th[scope=row]{text-align:left;font-weight:500;color:var(--ink);vertical-align:top;background:var(--surface);border-bottom:1px solid var(--rule);padding:13px 18px}
.weekday-table thead th:first-child,.weekday-table th[scope=row]{position:sticky;left:0;z-index:2;min-width:196px;box-shadow:1px 0 0 var(--rule)}
.weekday-table thead th:first-child{z-index:4;box-shadow:1px 0 0 var(--silver),0 1px 0 var(--silver)}
.weekday-table td{padding:13px 18px;vertical-align:top}
.weekday-table .column-dates{min-width:0;font-size:.75rem;margin-top:3px}
.weekday-date{display:block;white-space:nowrap}.weekday-date strong{font-weight:500}
.weekday-ly-date{display:block;font-size:.8125rem;color:var(--muted);margin-top:3px;white-space:nowrap}
.weekday-night{display:flex;flex-direction:column;align-items:flex-end;gap:2px;width:100%;border:0;background:none;padding:0;margin:0;font:inherit;color:inherit;text-align:right;cursor:pointer}
button.weekday-night:hover .comparison-current,button.weekday-night:focus-visible .comparison-current{text-decoration:underline;text-underline-offset:3px}
.weekday-sum{cursor:default}
.weekday-ly{font-size:.8125rem;color:var(--muted);white-space:nowrap}.weekday-ly .comparison-prior{font-size:.8125rem;font-weight:500}
.weekday-change{display:flex;flex-direction:column;align-items:flex-end}
.weekday-reason{display:block;font-size:.75rem;line-height:1.4;color:var(--muted);white-space:normal;max-width:160px;text-align:right}
.weekday-table .count-detail{font-size:.8125rem;margin-top:0}
.weekday-table .total th[scope=row],.weekday-table .total td{background:var(--surface-3);border-top:2px solid var(--silver);border-bottom:0}
.weekday-table .total .comparison-current{font-weight:500}
.weekday-cell .night-badge,.weekday-cell .event-link{margin-top:6px}
.event-link{cursor:pointer;border:0;font:inherit;font-size:.75rem;text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--brand-silver)}.event-link:hover,.event-link:focus-visible{color:var(--accent);text-decoration-color:currentColor}
.weekday-cell .event-link{margin-left:auto}
.weekday-panel-row{display:none}
@media(max-width:900px){.weekday-controls{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.weekday-controls{grid-template-columns:1fr}.weekday-context{padding:14px 18px 0}.weekday-ly,.weekday-table .count-detail{display:none}.weekday-table{min-width:660px}.weekday-table thead th:first-child,.weekday-table th[scope=row]{min-width:136px;padding:11px 12px}.weekday-table td{padding:11px 10px}.weekday-date{white-space:normal}.weekday-reason{max-width:96px}.weekday-panel-row{display:table-row}.weekday-panel-row td{padding:0 0 12px;background:var(--surface-2)}.weekday-panel{position:sticky;left:0;width:min(100%,calc(100vw - 68px));display:flex;flex-direction:column;gap:6px;padding:12px 14px;background:var(--surface-3);border-radius:5px;font-size:.875rem;text-align:left;box-sizing:border-box}.weekday-panel .button{align-self:flex-start;margin-top:4px}}
/* All clubs' table fits the window at desk widths so the Year to date column is never off-screen (spec specs/show-me-prior-year-first.md item 3, 16 Sep 2026); under 1050 px five columns cannot fit and the table scrolls sideways inside its frame as before. */
@media(max-width:1050px){.summary-table{min-width:1060px}}
/* SHOW ME, prior year first (16 Sep 2026): the four-cell strip under the date line on every SHOW ME view. */
.prior-year-strip{margin:-8px 0 24px}
.strip-caption{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:6px 18px;margin-bottom:10px;font-size:.875rem;line-height:1.5;color:var(--muted)}
.strip-caption strong{color:var(--navy);font-weight:500}
.strip-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}
.strip-cell{display:flex;flex-direction:column;min-width:0;background:var(--white);border:1px solid var(--silver);border-top:3px solid var(--navy-fill);border-radius:6px;padding:14px 18px 16px;cursor:pointer}
.strip-cell:hover,.strip-cell:focus-visible{border-color:var(--accent);border-top-color:var(--accent)}
.strip-head{display:grid;gap:2px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--rule)}
.strip-head strong{font-size:1rem;color:var(--navy);line-height:1.4}
.strip-dates,.strip-ly-dates{font-size:.8125rem;line-height:1.4;color:var(--muted)}
.strip-dates{font-weight:500;color:var(--ink)}
.strip-cell .year-pair{gap:7px}
.strip-cell .year-current .revenue{font-size:1.4rem;font-weight:500;letter-spacing:-.02em}
.strip-cell .inline-performance{font-size:.875rem;font-weight:500}
.strip-cell .current-reading{white-space:normal;flex-wrap:wrap;justify-content:flex-end}
.strip-cell .year-prior{justify-content:space-between;align-items:baseline;margin:0}
.strip-cell .prior-value{font-size:1.0625rem}
.strip-cell .year-prior .year-caption{font-size:.8125rem}
.strip-cell .guest-comparison{margin-top:10px;padding-top:9px}
.strip-cell .guest-reading,.strip-cell .guest-prior{flex-wrap:wrap}
.strip-cell .guest-prior-reading{white-space:normal}
.strip-cell .year-prior,.strip-cell .prior-reading{flex-wrap:wrap}
.strip-cell .year-gap{white-space:normal}
.strip-cell .guest-current{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:4px 6px;min-width:0}
/* Super Bowl tag and adjusted second line (21 Sep 2026; rules.md "The Super Bowl adjustment").
   The tag reuses the page's definition control, so hover, keyboard focus and click behave as they do everywhere else. */
.strip-tag{width:auto;height:auto;min-width:0;margin:7px 0 1px;padding:3px 8px;border:1px solid var(--amber-line);border-radius:3px;background:var(--amber-soft);color:var(--gold);font:500 .6875rem/1.3 var(--font);letter-spacing:.09em;text-transform:uppercase;cursor:pointer;justify-self:start}
.strip-tag:hover,.strip-tag:focus-visible{background:var(--amber-soft);border-color:var(--gold);color:var(--gold)}
.strip-adjusted{margin-top:11px;padding-top:10px;border-top:1px dashed var(--silver);display:grid;gap:3px}
.strip-adjusted-label{font-size:.75rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--gold)}
.strip-adjusted-figures{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;min-width:0}
.strip-adjusted-figures .num{font-size:1.0625rem;font-weight:500}
.strip-adjusted-prior{font-size:.8125rem;color:var(--muted)}
.strip-adjusted .inline-performance{font-size:.8125rem;font-weight:500}
.strip-missing{display:grid;gap:4px;padding:4px 0}
.strip-missing .num{font-size:1.4rem;font-weight:500;color:var(--muted)}
.strip-reason{font-size:.875rem;color:var(--muted)}
.strip-status{display:block;margin-top:10px;font-size:.8125rem;line-height:1.4;font-weight:500;color:var(--gold)}
.prior-year-strip+.daily-context{margin-top:0}
@media(min-width:1750px){.strip-cell .year-current .revenue{font-size:1.6rem}.strip-cell .prior-value{font-size:1.15rem}}
@media(max-width:1250px){.strip-cell .year-current .revenue{font-size:1.2rem}.strip-cell .prior-value{font-size:1rem}.strip-cell .inline-performance{font-size:.8125rem}}
@media(max-width:900px){.strip-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media(max-width:620px){.strip-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.strip-cell{padding:12px 12px 14px}.strip-cell .year-current .revenue{font-size:1.1rem}.strip-cell .prior-value{font-size:.9375rem}.strip-head{margin-bottom:10px}.strip-caption{font-size:.8125rem}.strip-cell .year-current{flex-wrap:wrap;gap:2px 8px}.strip-cell .current-reading{justify-content:flex-start;width:100%}}
/* Phone pass on Compare clubs (secure site session 2, Caroline, 23 Sep 2026; interview: "Compare clubs over time is the page it is judged on").
   On a phone: the header slims to the logo and Rules & definitions (full screen is not something an iPhone offers a page); the club tabs are
   smaller and scroll away with the page instead of holding a fifth of the screen; the By weekday table's date column narrows (the weekday is in
   its heading already) so nearly three clubs sit beside it instead of one and a half. No figure, order or wording changes. */
@media(max-width:620px){
.masthead{padding:12px 16px}.brand-mark{width:88px}.masthead [data-action="fullscreen"]{display:none}
.club-nav{position:static;min-height:0;padding:0 8px}.club-tab>summary,.club-nav .portfolio-tab{min-height:40px;padding:10px 9px 8px;font-size:.8125rem}
.weekday-table{min-width:0}.weekday-table thead th:first-child,.weekday-table th[scope=row]{min-width:96px;width:96px;max-width:104px;padding:10px 8px}
.weekday-table th[scope=row] .weekday-date strong{display:none}.weekday-table th[scope=row] .weekday-ly-date{display:block;white-space:normal;font-size:.75rem}
.weekday-table td{padding:10px 8px}.weekday-table .comparison-current{font-size:1.05rem}
}
/* The flash page: All clubs as the home page (Caroline, 24 Sep 2026; spec specs/look-and-feel.md; mockup C, her pick that day). The header carries
   the club dropdown in place of the tab strip (her answer to question 4); the grid follows mockup C: hero-led, the All clubs column and the Day
   row larger and heavier, the change vs LY on a small line beneath, medium spacing. No colour, font or type-size change. On a phone the row
   labels hold still and the club columns scroll sideways inside the grid's frame, the All clubs column first; figures no smaller than the body text. */
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0;margin:-1px}
.masthead{gap:22px}.club-picker-nav{display:flex;align-items:center;flex:0 1 auto;min-width:0}.club-picker{display:block;min-width:210px}
.club-picker .select-trigger{min-height:42px;padding:9px 13px;font-weight:500}.club-picker select{max-width:100%;min-height:42px;border:1px solid var(--brand-silver);border-radius:5px;padding:9px 12px;background:var(--white);color:var(--navy);font:500 .9375rem var(--font)}
#sign-out[hidden]{display:none}
.page-heading .club-views{flex-shrink:0}.club-views button{font-weight:500}
.flash-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;margin-bottom:6px}
.flash-title h1{font-size:2.2rem;letter-spacing:-.045em;font-weight:500;line-height:1.15}
.flash-date{display:flex;align-items:center;gap:8px;white-space:nowrap}
.flash-date .date-arrow{display:inline-flex;min-width:34px;min-height:34px;padding:0 9px;font-size:1.1rem;color:var(--muted)}
.flash-date-text{border:0;background:transparent;padding:4px 2px;font:500 1.0625rem/1.4 var(--font);color:var(--navy);cursor:pointer}.flash-date-text:hover{text-decoration:underline;text-underline-offset:4px}
.flash-cal svg{width:16px;height:16px;stroke:var(--muted);fill:none;stroke-width:1.6}
.flash-vs{color:var(--muted);font-size:1rem;white-space:nowrap}/* last year's date, once, on the title line (Caroline, 24 Sep 2026) */
.flash-reported{color:var(--muted);font-size:.9375rem;margin-top:8px;line-height:1.5}.flash-reported b{color:var(--ink);font-weight:500}
.flash-notes{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:10px;font-size:.875rem;color:var(--muted)}.flash-notes .date-note{color:var(--gold);font-weight:500}
.club-abbr{display:none}
.flash-frame{margin-top:24px;background:var(--white);border:1px solid var(--silver);border-radius:6px;overflow:hidden}
.flash-scroll{overflow-x:auto;overscroll-behavior-x:contain}
table.flash{border-collapse:separate;border-spacing:0;width:100%;table-layout:fixed;font-variant-numeric:tabular-nums;font-feature-settings:'tnum'}
.flash .col-label{width:200px}.flash .col-total{width:17.5%}
.flash th,.flash td{text-align:left;vertical-align:top;border-bottom:1px solid var(--rule)}
.flash thead th{font-size:.875rem;font-weight:500;color:var(--navy);padding:14px 16px 12px;background:var(--surface-3);border-bottom:1px solid var(--silver)}
.flash thead th.flash-corner{font-weight:500;color:var(--muted)}
.flash thead th.col-all{background:var(--navy-fill);color:#fff;font-size:.9375rem}
.flash thead .club-link{border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left}.flash thead .club-link:hover{text-decoration:underline;text-underline-offset:3px}
.flash th.flash-label{padding:14px 16px;background:var(--white)}
.flash td.flash-cell{padding:0}
.flash-figure{display:grid;gap:3px;align-content:start;width:100%;height:100%;padding:14px 16px 13px;border:0;background:transparent;font:inherit;color:inherit;text-align:left;cursor:pointer}
.flash-figure:hover{background:var(--surface-2)}.flash-figure[aria-expanded=true]{background:var(--surface-3);box-shadow:inset 0 -3px 0 var(--navy-fill)}
.flash td.col-all{background:var(--navy-fill);color:#fff}.flash td.col-all .flash-figure:hover{background:#21405a}.flash td.col-all .flash-figure[aria-expanded=true]{background:#2b4b64;box-shadow:inset 0 -3px 0 #fff}
.flash td.col-all .amt,.flash td.col-all .note,.flash td.col-all .adj,.flash td.col-all .neutral,.flash td.col-all .share{color:#c8d2d5}
.flash td.col-all .inline-performance.positive{color:#8fd4bb}.flash td.col-all .inline-performance.negative{color:#f0a8a5}.flash td.col-all .inline-performance.neutral{color:#c8d2d5}
.flash tr.flash-group th{background:var(--paper);padding:22px 16px 8px;border-bottom:1px solid var(--silver);font-size:1rem;font-weight:500;color:var(--navy)}
.flash tr.flash-group th .gh{display:flex;align-items:center}.flash tr.flash-group th .definition-help{margin-left:8px}
.ly{display:block;font-size:.875rem;color:var(--muted);line-height:1.3}/* LY beneath this year's figure, every cell (Caroline, 24 Sep 2026) */
.flash td.col-all .ly{color:#c8d2d5}
.rl{display:inline-flex;align-items:center;font-weight:500;font-size:1rem;color:var(--navy)}.rl .definition-help{width:16px;height:16px;min-width:16px;font-size:11px;margin-left:6px}
.rd{display:block;font-size:.8125rem;color:var(--muted);margin-top:3px;line-height:1.35}
.fig{font-weight:500;font-size:1.1875rem;letter-spacing:-.02em;line-height:1.2;white-space:nowrap}.fig .share{font-weight:400;font-size:.9375rem;color:var(--muted)}
.chg{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 6px;font-size:.875rem;line-height:1.3}.chg .inline-performance{font-size:.875rem;font-weight:500}
.amt{color:var(--muted);white-space:nowrap}.note,.adj{font-size:.8125rem;color:var(--muted);line-height:1.3}.adj .inline-performance{font-size:.8125rem}
.flash .tags{display:flex;gap:4px;flex-wrap:wrap;padding:0 16px 10px}.flash .tags .strip-tag{margin:0}.flash td.col-all .strip-tag{background:#2b4658;color:#f1e6cf;border-color:#4b6376}
.flash .grey .fig,.flash .grey .inline-performance,.flash .grey .count-detail,.flash-panel.grey .inline-performance,.flash-panel.grey .count-detail,.flash-panel.grey .flash-big-value{color:var(--muted)}.flash td.col-all.grey .fig,.flash td.col-all.grey .inline-performance{color:#c8d2d5}
.flash td.col-all .fig{font-size:1.55rem;font-weight:500;letter-spacing:-.03em}
.flash tr.row-day td .fig{font-size:1.55rem;font-weight:500;letter-spacing:-.03em}
.flash tr.row-day td.col-all .fig{font-size:1.85rem}
.flash tr.row-day .flash-figure{padding-top:18px;padding-bottom:16px}
.flash td.col-all .chg .inline-performance,.flash tr.row-day td .chg .inline-performance{font-size:.9375rem}
.flash-foot{margin-top:18px;font-size:.875rem;color:var(--muted)}
.flash-panel-row td{padding:0;background:var(--surface-2);border-bottom:1px solid var(--silver)}
.flash-panel{padding:18px 22px 20px;border-top:3px solid var(--navy-fill)}
.flash-panel-head{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;margin-bottom:12px}.flash-panel-head h2{font-size:1.05rem;margin-right:auto}
.flash-close{border:0;background:transparent;color:var(--muted);font:400 1.6rem/1 var(--font);padding:0 4px;cursor:pointer;order:3}.flash-close:hover{color:var(--navy)}
.flash-chips{display:flex;gap:4px;order:2}.flash-chip{border:1px solid var(--rule);background:var(--white);color:var(--navy);font:500 .75rem/1 var(--font);letter-spacing:.04em;padding:7px 9px;border-radius:999px;cursor:pointer;min-height:30px}.flash-chip[aria-pressed=true]{background:var(--navy-fill);border-color:var(--navy-fill);color:#fff}.flash-chip:hover{border-color:var(--navy-fill)}
.flash-big{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px;margin-bottom:14px}.flash-big-value{font-size:1.9rem;font-weight:500;letter-spacing:-.03em;color:var(--navy)}.flash-big-ly{font-size:.9375rem;color:var(--muted)}.flash-big .chg{font-size:.9375rem}
.flash-panel .data-table{background:var(--white);border:1px solid var(--rule);font-size:.9375rem}.flash-panel .data-table th,.flash-panel .data-table td{padding:9px 14px}.flash-panel .data-table td:first-child{color:var(--ink)}
.flash-panel .data-table .note{display:block}.flash-panel .data-table .club-link{border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.flash-panel-note{margin-top:10px;font-size:.8125rem;color:var(--muted);line-height:1.5}
.flash-source{margin-top:12px;padding-top:10px;border-top:1px solid var(--rule);font-size:.8125rem;line-height:1.55;color:var(--muted);overflow-wrap:anywhere}.flash-source strong{color:var(--ink);font-weight:500}
.flash-source summary{cursor:pointer;color:var(--navy);font-weight:500;font-size:.875rem;width:max-content}.flash-source p{margin-top:8px}/* the file, date, shift and status only when tapped (Caroline, 24 Sep 2026) */
.flash-open-link{text-decoration:underline;text-underline-offset:3px}
.flash-open{margin-top:8px;font-size:.9375rem}
.calendar-basis{margin-top:14px;padding-top:12px;border-top:1px solid var(--rule);font-size:.8125rem;line-height:1.5;color:var(--muted)}.calendar-basis strong{color:var(--navy);margin-right:6px}.calendar-basis a{margin-left:6px}
@media(max-width:1150px){.flash .col-label{width:170px}.flash-figure{padding:12px 12px 11px}.flash thead th{padding:12px 12px 10px}.flash th.flash-label{padding:12px}.fig{font-size:1.0625rem}.flash td.col-all .fig,.flash tr.row-day td .fig{font-size:1.35rem}.flash tr.row-day td.col-all .fig{font-size:1.5rem}.flash .tags{padding:0 12px 10px}}
@media(max-width:900px){table.flash{table-layout:auto;width:auto;min-width:100%}.flash th.flash-label{min-width:150px;width:150px;position:sticky;left:0;z-index:2;border-right:1px solid var(--rule)}.flash td.flash-cell{min-width:150px}.flash td.col-all,.flash thead th.col-all{position:sticky;left:150px;z-index:1}.flash thead th.flash-corner{z-index:3}.flash-panel{position:sticky;left:0;width:min(100%,calc(100vw - 54px))}}
@media(max-width:620px){
.masthead{flex-wrap:wrap;gap:10px 12px;padding:12px 16px}.club-picker-nav{flex:1 1 auto}.club-picker{min-width:0;width:100%}.club-picker .select-trigger{min-height:40px;padding:8px 11px}.masthead-end{margin-left:auto}
.page-heading .club-views{width:100%;flex-wrap:wrap}.club-views button{flex:1 1 auto}
.flash-title{gap:8px 16px}.flash-title h1{font-size:1.75rem}.flash-date-text{font-size:1rem}.flash-date{flex-wrap:wrap}.flash-vs{order:5;flex-basis:100%;padding-left:42px;font-size:.9375rem}/* last year's date on its own line on the phone */
.club-full{display:none}.club-abbr{display:inline}
.flash-frame{margin-top:18px}
.flash th.flash-label{min-width:118px;width:118px;padding:12px 10px}.flash td.flash-cell{min-width:132px;width:132px}.flash td.col-all,.flash thead th.col-all{left:118px}
.flash-figure{padding:12px 10px 11px}.flash thead th{padding:12px 10px 10px}.flash .tags{padding:0 10px 10px}
.flash tr.flash-group th{padding:18px 10px 8px}.flash tr.flash-group th .gh{position:sticky;left:10px;width:calc(100vw - 54px)}
.rl{font-size:.9375rem}.rd{font-size:.75rem}
.fig{font-size:1.0625rem}.flash td.col-all .fig,.flash tr.row-day td .fig{font-size:1.35rem}.flash tr.row-day td.col-all .fig{font-size:1.5rem}.chg{font-size:.8125rem}
.flash-panel{padding:14px 12px 16px;width:min(100%,calc(100vw - 34px))}.flash-panel-head h2{flex:1 1 100%}.flash-chips{flex-wrap:wrap}.flash-vs{font-size:.9375rem}.flash-panel .data-table{font-size:.875rem}.flash-panel .data-table th,.flash-panel .data-table td{padding:8px 10px}.flash-big-value{font-size:1.6rem}
.flash-foot{font-size:.8125rem}
}
/* Round 3 (Caroline, 24 Sep 2026): the club pages and Compare clubs in the flash page's style. The top block is the club's own flash column, four to
   a row (two on the phone); every table beneath is the flash table: the group row, a label, the stacked cell (this year, LY beneath, the change). */
.club-title{margin-bottom:10px}.club-title h1{margin-right:auto}
.page-heading+.club-views,.club-title+.club-views{margin-bottom:4px}
.date-handoff{margin-left:6px;font-size:.9375rem}
.club-flash{margin-top:18px}
table.club-flash-table{table-layout:fixed}
.club-flash td.flash-cell+td.flash-cell{border-left:1px solid var(--rule)}
.flash .cl{display:block;font-size:.8125rem;font-weight:500;color:var(--muted);letter-spacing:.01em;margin-bottom:3px;line-height:1.3}
.club-flash .row-sales .flash-figure{padding-top:14px}
.club-flash td.col-all{background:var(--white);color:inherit}.club-flash td.col-all .flash-figure:hover{background:var(--surface-2)}.club-flash td.col-all .flash-figure[aria-expanded=true]{background:var(--surface-3);box-shadow:inset 0 -3px 0 var(--navy-fill)}
.club-flash td.col-all .fig{font-size:1.1875rem;font-weight:500}.club-flash td.col-all .ly,.club-flash td.col-all .amt,.club-flash td.col-all .note,.club-flash td.col-all .adj,.club-flash td.col-all .neutral,.club-flash td.col-all .share{color:var(--muted)}
.club-flash td.col-all .inline-performance.positive{color:var(--green)}.club-flash td.col-all .inline-performance.negative{color:var(--red)}.club-flash td.col-all .inline-performance.neutral{color:var(--muted)}
.club-flash td.col-all .strip-tag{background:var(--amber-soft);color:var(--gold);border-color:var(--amber-line)}
.club-flash .flash-panel-row td{border-left:0}
.club-table{margin-top:0}
.club-table .flash tr.flash-group th{padding:16px 16px 8px}
.club-table .flash tr.flash-group th .gh{justify-content:space-between;gap:12px;flex-wrap:wrap}
.gh-extra{display:flex;gap:8px;align-items:center;font-weight:500}
.club-table th.flash-label{width:44%;padding:11px 16px;font-weight:500}
.club-table .flash-label .rl{font-size:.9375rem}
.club-table td.flash-cell.static .flash-figure{cursor:default;padding:10px 16px 9px}.club-table td.flash-cell.static .flash-figure:hover{background:transparent}
.club-table tr.total th,.club-table tr.total td{border-top:2px solid var(--silver);background:var(--surface-2)}
.club-table tr.club-table-head th{font-size:.8125rem;font-weight:500;color:var(--muted);padding:9px 16px;background:var(--surface-3);border-bottom:1px solid var(--silver);text-align:left}
.club-table .flash-cell .night-badge{margin-top:4px;align-self:start}
.club-coverage{margin-top:12px}
.dsr-dashboard-grid{margin-top:22px}
.dsr-dashboard-grid .stack{gap:18px}
.gh-bar{padding:16px 16px 8px;background:var(--paper);border-bottom:1px solid var(--silver);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.gh-bar .gh{font-size:1rem;font-weight:500;color:var(--navy)}
/* Compare metrics */
.analysis-controls{margin-top:22px}
.snapshot .flash-big{margin:6px 0 6px}.card-dates{font-size:.875rem;color:var(--ink)}.card-notes{font-size:.8125rem;color:var(--muted);margin-top:4px}.card-stars{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}
.snapshot .snapshot-head h2{font-size:1rem;font-weight:500;color:var(--navy)}
.breakdown-title{font-size:1rem;font-weight:500;color:var(--navy);margin-bottom:10px}
.revenue-breakdown .data-table{background:var(--white);border:1px solid var(--rule);font-size:.9375rem}.revenue-breakdown .data-table th,.revenue-breakdown .data-table td{padding:9px 14px}.revenue-breakdown .data-table .note{display:block}
.read-change-table .metric-click{border:0;background:none;padding:0;font:inherit;font-size:.9375rem;font-weight:500;color:var(--navy);cursor:pointer;text-align:left}.read-change-table .metric-click.active{font-weight:500;text-decoration:underline;text-underline-offset:4px}
.club-table .benchmark-cell{margin-top:4px;font-size:.8125rem}
#read-change,#club-comparison{margin-top:22px}
/* Daily history */
.history-table th.flash-label{width:150px}.history-table .history-date{padding:0;text-align:left}.history-table .history-event{display:block;margin-top:3px}
.history-table td.flash-cell{min-width:118px}.history-table td.flash-cell:first-of-type{min-width:150px}
.history-scroll{max-height:760px;overflow:auto}
.history-more{margin-top:12px}
#daily-history{margin-top:22px}
/* Compare clubs, By weekday */
.weekday-frame{margin-top:18px}.weekday-frame .table-wrap{border:0;border-radius:0}
table.flash.weekday-table{table-layout:auto}
.weekday-table thead th{white-space:nowrap}
.weekday-table th.flash-label{min-width:130px;padding:12px 16px}
.weekday-table td.weekday-cell{padding:0;vertical-align:top}
.weekday-table .weekday-night{display:grid;gap:3px;width:100%;padding:12px 16px 11px;border:0;background:transparent;font:inherit;color:inherit;text-align:left;cursor:pointer}
.weekday-table .weekday-night:hover{background:var(--surface-2)}.weekday-table .weekday-sum{cursor:default}
.weekday-table tr.total th,.weekday-table tr.total td{border-top:2px solid var(--silver);background:var(--surface-2)}
.weekday-context{margin-top:10px}
@media(max-width:900px){
 .club-table th.flash-label{width:40%}
 .history-table th.flash-label{position:sticky;left:0;z-index:2;background:var(--white);border-right:1px solid var(--rule)}
 .weekday-table th.flash-label{position:sticky;left:0;z-index:2;background:var(--white);border-right:1px solid var(--rule)}
}
@media(max-width:620px){
 .club-title .flash-date{flex-wrap:wrap}
 .club-flash tr.club-row{display:grid;grid-template-columns:1fr 1fr}
 .club-flash tr.club-row td.flash-cell{display:block;border-left:0}
 .club-flash tr.club-row td.flash-cell:nth-child(even){border-left:1px solid var(--rule)}
 .club-flash tr.flash-group th .gh{position:static;width:auto}
 .club-flash .flash-panel{position:static;width:auto}
 .club-flash-table>tbody>tr.flash-group,.club-flash-table>tbody>tr.flash-panel-row{display:block}.club-flash-table>tbody>tr.flash-group>th,.club-flash-table>tbody>tr.flash-panel-row>td{display:block}
 .club-flash-table>tbody{display:block}
 .club-table th.flash-label{padding:10px 12px}.club-table td.flash-cell.static .flash-figure{padding:9px 12px 8px}
 .club-table .flash tr.flash-group th{padding:14px 12px 8px}
 .club-table .flash tr.flash-group th .gh{position:static;width:auto}
 .history-table th.flash-label{width:112px;min-width:112px}.history-table td.flash-cell{min-width:104px}
 .weekday-table th.flash-label{min-width:104px;padding:10px}
 .weekday-table .weekday-night{padding:10px 10px 9px}
}
.history-scroll .club-table-head th{position:sticky;top:0;z-index:3}
.revenue-breakdown .data-table th[scope=col]{text-align:right;white-space:nowrap}.revenue-breakdown .data-table th[scope=col]:first-child{text-align:left}
.revenue-breakdown .data-table td{vertical-align:top}.revenue-breakdown .data-table td.num .count-detail{display:block}
.revenue-breakdown .data-table .note{white-space:normal;max-width:16em;margin-left:auto;overflow-wrap:anywhere}
.revenue-breakdown .table-wrap{overflow-x:auto}
.manager-comments-disclosure summary{justify-content:flex-start;gap:10px}
table.flash.weekday-table{min-width:0;width:100%}
.weekday-table thead th.flash-corner,.weekday-table th[scope=row].flash-label{width:150px;min-width:150px;max-width:170px}
.weekday-table .weekday-ly{display:block}
.weekday-table thead th{font-size:.875rem;font-weight:500;color:var(--navy);padding:12px 16px 10px;background:var(--surface-3)}
.weekday-table thead .club-link{border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left}
@media(max-width:620px){.weekday-table thead th.flash-corner,.weekday-table th[scope=row].flash-label{width:104px;min-width:104px}.weekday-table td.weekday-cell{min-width:112px}}
#club-comparison{margin-bottom:18px}.manager-comments-disclosure{margin-top:14px}
@media(max-width:620px){
 .club-flash tr.club-row td.flash-cell{width:auto;min-width:0}
 .club-title .date-handoff{order:6;margin-left:0;padding-left:42px;flex-basis:100%;text-align:left}
}
@media(max-width:620px){
 .club-flash table.club-flash-table{display:block;width:100%;min-width:0}
 .club-flash colgroup{display:none}
 .club-flash .flash-panel{max-width:100%;overflow-x:auto}
 .club-flash .flash-panel .table-wrap{overflow-x:auto}
}
table.flash.history-table{table-layout:auto}
/* ============================================================================================================
   The design system, session (a) (Caroline, 25 Sep 2026: Type C, Hero A, Background A; specs/design-and-history.md).
   Dark by default, light one tap away on the header control and remembered for the visit (Q97). KM navy for
   everything that is not a club; the five club colours as identity only (marks, column headers, chips, chart
   fills); green up, red down, grey not comparable, orange kept for the flags. Every colour above is a token now,
   the light values exactly as the pages had them; nothing here changes a figure. Type: Neue Haas Grotesk since
   28 Sep 2026 (replacing Type C, DM Sans with IBM Plex Sans): Display for figures and headings, Text for labels and body, tabular figures everywhere.
   ============================================================================================================ */
:root{color-scheme:dark;
 --font:'neue-haas-grotesk-text',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;--display:'neue-haas-grotesk-display',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
 --bg:#0c111a;--paper:#0f151e;--cream:#0f151e;--surface:#131a26;--white:#131a26;--surface-2:#172030;--surface-3:#1a2331;--raised:#1c2534;
 --rule:#1f2937;--silver:#253044;--brand-silver:#2c394d;--line-strong:#3a4b62;--line:#253044;
 --ink:#eef2f7;--navy:#eef2f7;--navy-fill:#2e6a93;--navy-deep:#183345;--muted:#9aa7b8;--dim:#6b7788;--accent:#8fc1ee;--chart-prior:#5c6b7d;
 --green:#34c08b;--green-soft:#12312a;--red:#e4575e;--red-soft:#3a1c1f;--grey:#8a96a8;--orange:#efa43a;--gold:#e2b25b;--amber-soft:#2b2417;--amber-line:#4a3d22;
 --flag-warn:rgba(228,87,94,.12);--flag-alert:rgba(228,87,94,.19);--flag-good:rgba(52,192,139,.16);--swing-up:rgba(52,192,139,.09);--swing-down:rgba(228,87,94,.08);
 --live:#8fc1ee;--all-tint:rgba(46,106,147,.16);--all-tint-strong:rgba(46,106,147,.28);--navy-tint:rgba(46,106,147,.22);--navy-tint-soft:rgba(46,106,147,.08);
 --no:#d9a63a;--tp:#d9469c;--ba:#8f5cf0;--br:#3b7be6;--ch:#27b8a9;--on-mark:#0b0f16;
 --shadow:0 4px 14px #0006;--shadow-lift:0 8px 24px #0008;--inset-light:0 1px 0 #ffffff14 inset;
 --object:linear-gradient(180deg,#22304a,#1a2740);--object-hover:linear-gradient(180deg,#283856,#1f2e4a);--object-border:#3a4b62;--object-ink:#f3f5f6;
 --gradient:radial-gradient(1100px 620px at 6% -12%,rgba(46,106,147,.34),transparent 62%),radial-gradient(800px 520px at 104% 104%,rgba(143,92,240,.13),transparent 60%)}
:root[data-theme=light]{color-scheme:light;
 --bg:#FAF9F6;--paper:#FAF9F6;--cream:#FAF9F6;--surface:#fff;--white:#fff;--surface-2:#f8fafb;--surface-3:#edf2f5;--raised:#fff;
 --rule:#e7ebed;--silver:#d5dada;--brand-silver:#B7BFBE;--line-strong:#aab9c2;--line:#d5dada;
 --ink:#183345;--navy:#183345;--navy-fill:#183345;--muted:#637582;--dim:#a4adb4;--accent:#456f8a;--chart-prior:#879896;
 --green:#21755e;--green-soft:#edf6f2;--red:#af4d4a;--red-soft:#fbf0ee;--grey:#7d8894;--orange:#c77d12;--gold:#9b743b;--amber-soft:#fbf6ea;--amber-line:#e5d7bd;
 --flag-warn:rgba(175,77,74,.08);--flag-alert:rgba(175,77,74,.14);--flag-good:rgba(33,117,94,.13);--swing-up:rgba(33,117,94,.07);--swing-down:rgba(175,77,74,.06);
 --live:#2e6a93;--all-tint:rgba(24,51,69,.07);--all-tint-strong:rgba(24,51,69,.13);--navy-tint:rgba(24,51,69,.10);--navy-tint-soft:rgba(24,51,69,.03);
 --no:#b8860b;--tp:#c2187f;--ba:#6d3fd9;--br:#2160c4;--ch:#1a9a8c;--on-mark:#fff;
 --shadow:0 3px 10px #18334514;--shadow-lift:0 8px 22px #1833451f;--inset-light:0 1px 0 #ffffff80 inset;
 --object:linear-gradient(180deg,#ffffff,#f1f4f6);--object-hover:linear-gradient(180deg,#ffffff,#e8edf1);--object-border:#c9d3da;--object-ink:#183345;
 --gradient:radial-gradient(1100px 620px at 6% -12%,rgba(46,106,147,.14),transparent 62%),radial-gradient(800px 520px at 104% 104%,rgba(143,92,240,.06),transparent 60%)}
html{background:var(--bg)}
body{background:var(--bg);color:var(--ink);min-height:100vh;font-family:var(--font)}
/* Background A: the gradient, fixed behind the page (the "depth" layer of the mockup) */
body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:var(--gradient)}
/* type: figures and headings in the display face; labels and body in the text face; tabular figures everywhere */
h1,h2,h3,.big-value,.gh,.gh-bar .gh,.fig,.flash-big-value,.hero-num,.weekday,.flash-date-text,.revenue,.prior-value,.aph-current,.aph-ly b,.daily-value,.daily-prior-value,.comparison-current,.comparison-prior,.count-current,.count-ly,.inline-performance,.trend-summary strong,.comparison-values .big-value,.comparison-values .reference-amount,.strip-adjusted-figures .num,.strip-missing .num,.select-trigger,.club-picker select,.flash-chip,.mk,.hero-pill,.data-table td.num,.revenue-breakdown-table td,.weekday-table .comparison-current,.page-heading h1,.snapshot .big-value,.guide-section{font-family:var(--display)}
.num,.fig,.hero-num,.inline-performance,.data-table td,.revenue-breakdown-table td{font-variant-numeric:tabular-nums;font-feature-settings:'tnum'}
.trend-svg text,.trend-svg .axis-date,.trend-svg .axis-date tspan,.trend-svg .axis-weekday{font-family:var(--font)}
.definition-help,.breakdown-help>summary{font-family:var(--display);font-style:normal}
/* the header: the KM mark, the dropdown as an object, Rules & definitions, the theme control, Sign out */
.masthead{background:color-mix(in srgb,var(--surface) 70%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);color:var(--ink);padding-top:14px;padding-bottom:14px;position:relative;z-index:20}
:root:not([data-theme=light]) .brand-mark{filter:brightness(0) invert(1)}
.wordmark{color:var(--muted)}.product-name{color:var(--ink);border-left-color:var(--line)}.product-name span{color:var(--muted)}
.header-button{border:1px solid var(--object-border);border-radius:9px;background:var(--object);color:var(--object-ink);box-shadow:var(--inset-light),var(--shadow);padding:9px 13px;font-weight:500;transition:transform .12s,box-shadow .12s,background .15s}
.header-button:hover{background:var(--object-hover);box-shadow:var(--inset-light),var(--shadow-lift);transform:translateY(-1px)}.header-button:active{transform:translateY(1px);box-shadow:var(--inset-light)}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border-radius:10px}
.theme-toggle svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle .sun{display:none}.theme-toggle .moon{display:block}:root[data-theme=light] .theme-toggle .sun{display:block}:root[data-theme=light] .theme-toggle .moon{display:none}
.masthead-end{gap:10px}
/* the dropdown as an object: raised, a hover, a press */
.select-trigger,.club-picker select{border:1px solid var(--object-border);border-radius:10px;background:var(--object);color:var(--object-ink);box-shadow:var(--inset-light),var(--shadow);transition:transform .12s,box-shadow .12s,background .15s,border-color .12s}
.select-trigger:hover,.club-picker select:hover{background:var(--object-hover);border-color:var(--line-strong);box-shadow:var(--inset-light),var(--shadow-lift);transform:translateY(-1px)}
.select-trigger:active{transform:translateY(1px);box-shadow:var(--inset-light)}
.select-trigger[aria-expanded=true]{border-color:var(--accent);box-shadow:var(--inset-light),0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent),var(--shadow-lift);transform:none}
.club-picker .select-trigger{font-family:var(--display);font-weight:500;min-height:42px;gap:10px}
.select-value{display:inline-flex;align-items:center;gap:9px;min-width:0}.select-value .mk{width:22px;height:22px;font-size:.58rem}
.select-menu{background:var(--raised);border:1px solid var(--object-border);border-top:2px solid var(--navy-fill);border-radius:12px;box-shadow:var(--shadow-lift);padding:6px}
.select-menu [role=option]{border-radius:8px;color:var(--ink);gap:10px}.select-menu [role=option]>span:first-child{display:inline-flex;align-items:center;gap:9px}.select-menu [role=option] .mk{width:22px;height:22px;font-size:.58rem}
.select-menu [role=option][aria-selected=true]{background:var(--all-tint-strong)}.select-menu [role=option]:hover,.select-menu [role=option]:focus{background:var(--surface-3)}
.analysis-controls .select-trigger{background:var(--object);border-color:var(--object-border);color:var(--object-ink)}
/* buttons and segments as objects */
.button,.segments,.segments button,.date-arrow,.flash-cal{border-radius:9px}
.button{border:1px solid var(--object-border);background:var(--object);color:var(--object-ink);box-shadow:var(--inset-light),var(--shadow);transition:transform .12s,box-shadow .12s,background .15s}
.button:hover{background:var(--object-hover);border-color:var(--line-strong);box-shadow:var(--inset-light),var(--shadow-lift);transform:translateY(-1px)}.button:active{transform:translateY(1px);box-shadow:var(--inset-light)}
.button.primary{background:var(--navy-fill);border-color:var(--navy-fill);color:#fff}.button.primary:hover{background:color-mix(in srgb,var(--navy-fill) 85%,#fff)}
.button.subtle{background:transparent;border-color:transparent;box-shadow:none;color:var(--muted)}.button.subtle:hover{background:var(--surface-3);transform:none;box-shadow:none}
.segments{background:var(--surface-2);border:1px solid var(--object-border);padding:3px;gap:2px;box-shadow:var(--inset-light),var(--shadow)}
.segments button{background:transparent;border:0;border-radius:7px;color:var(--muted);font-weight:500;transition:background .15s,color .15s,box-shadow .15s}
.segments button+button{border-left:0}.segments button:hover{color:var(--ink);background:var(--surface-3)}
.segments button[aria-pressed=true],.button[aria-pressed=true]{background:var(--object);color:var(--ink);box-shadow:var(--inset-light),0 3px 10px #0006;border-color:transparent}
:root[data-theme=light] .segments button[aria-pressed=true],:root[data-theme=light] .button[aria-pressed=true]{background:var(--navy-fill);color:#fff}
.club-views{margin-top:12px}.club-views button[aria-pressed=true]{box-shadow:var(--inset-light),0 3px 10px #0006,inset 0 -2px 0 var(--club,var(--navy-fill))}
.flash-date .date-arrow,.flash-cal{border:1px solid var(--object-border);background:var(--object);color:var(--muted);box-shadow:var(--inset-light),var(--shadow)}
.flash-date .date-arrow:hover,.flash-cal:hover{color:var(--ink)}
.flash-date-text{font-weight:500;font-size:1.05rem}.flash-date-text.past{color:var(--muted)}
.text-button{color:var(--accent)}.club-link:hover,.club-link:focus-visible,.event-link:hover{color:var(--accent)}
/* the round club marks: NO, TP, BM, BR, CH, and All */
.mk{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--mc,var(--navy-fill));color:var(--on-mark);font-family:var(--display);font-weight:500;font-size:.64rem;letter-spacing:.02em;line-height:1;flex:none;box-shadow:0 0 0 1px #0004 inset;vertical-align:middle}
.mk[data-club=nola]{--mc:var(--no)}.mk[data-club=tampa]{--mc:var(--tp)}.mk[data-club=baltimore]{--mc:var(--ba)}.mk[data-club=br]{--mc:var(--br)}.mk[data-club=pa]{--mc:var(--ch)}.mk[data-club=all]{--mc:var(--navy-fill);color:#fff}
main[data-club=nola]{--club:var(--no)}main[data-club=tampa]{--club:var(--tp)}main[data-club=baltimore]{--club:var(--ba)}main[data-club=br]{--club:var(--br)}main[data-club=pa]{--club:var(--ch)}
.club-abbr{display:none}
.flash-reported{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:10px}.flash-reported .club-name{display:inline-flex;align-items:center;gap:6px}.flash-reported .mk{width:22px;height:22px;font-size:.56rem}
.flash-reported .club-name+.club-name::before{content:'';display:inline-block;width:3px;height:3px;border-radius:50%;background:var(--dim);margin-right:4px}
.flash-closed{color:var(--muted)}
.flash thead th .ch{display:flex;align-items:center;gap:8px;font-family:var(--font);font-weight:500}
.flash thead th[data-club]{box-shadow:inset 0 -2px 0 var(--mc)}.flash thead th[data-club=nola]{--mc:var(--no)}.flash thead th[data-club=tampa]{--mc:var(--tp)}.flash thead th[data-club=baltimore]{--mc:var(--ba)}.flash thead th[data-club=br]{--mc:var(--br)}.flash thead th[data-club=pa]{--mc:var(--ch)}
.flash-chip{display:inline-flex;align-items:center;gap:7px;padding:4px 11px 4px 4px;border:1px solid var(--object-border);background:var(--surface-2);color:var(--ink);border-radius:999px;font-weight:500;min-height:32px;transition:border-color .12s,background .15s,transform .12s}
.flash-chip .mk{width:22px;height:22px;font-size:.56rem}.flash-chip:hover{border-color:var(--line-strong);transform:translateY(-1px)}
.flash-chip[aria-pressed=true]{background:var(--all-tint-strong);border-color:var(--navy-fill);color:var(--ink)}
.flash-chip[aria-pressed=true][data-club=nola]{border-color:var(--no);background:color-mix(in srgb,var(--no) 16%,transparent)}.flash-chip[aria-pressed=true][data-club=tampa]{border-color:var(--tp);background:color-mix(in srgb,var(--tp) 16%,transparent)}.flash-chip[aria-pressed=true][data-club=baltimore]{border-color:var(--ba);background:color-mix(in srgb,var(--ba) 16%,transparent)}.flash-chip[aria-pressed=true][data-club=br]{border-color:var(--br);background:color-mix(in srgb,var(--br) 16%,transparent)}.flash-chip[aria-pressed=true][data-club=pa]{border-color:var(--ch);background:color-mix(in srgb,var(--ch) 16%,transparent)}
/* the flash grid in the dark room: the All clubs column a navy tint, not a solid fill; the grid a card */
.flash-frame,.surface,.snapshot,.chart-disclosure,.dialog,.empty,.excluded-strip,.metric-strip,.strip-cell,.date-ribbon{border-radius:14px}
.flash-frame{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow)}
.surface,.snapshot{border-color:var(--line);box-shadow:var(--shadow)}
.flash th,.flash td{border-bottom-color:var(--line)}
.flash thead th{background:transparent;color:var(--muted);border-bottom-color:var(--line)}
.flash thead th.col-all,.flash td.col-all{background:var(--all-tint);color:var(--ink)}
.flash td.col-all .amt,.flash td.col-all .note,.flash td.col-all .adj,.flash td.col-all .neutral,.flash td.col-all .share,.flash td.col-all .ly{color:var(--muted)}
.flash td.col-all .inline-performance.positive{color:var(--green)}.flash td.col-all .inline-performance.negative{color:var(--red)}.flash td.col-all .inline-performance.neutral{color:var(--muted)}
.flash td.col-all.grey .fig,.flash td.col-all.grey .inline-performance{color:var(--muted)}
.flash td.col-all .flash-figure:hover{background:var(--all-tint-strong)}.flash td.col-all .flash-figure[aria-expanded=true]{background:var(--all-tint-strong);box-shadow:inset 0 -3px 0 var(--navy-fill)}
.flash td.col-all .strip-tag{background:var(--amber-soft);color:var(--gold);border-color:var(--amber-line)}
.flash .grey .fig,.flash .grey .inline-performance,.flash .grey .count-detail{color:var(--grey)}
.flash tr.flash-group th{background:transparent;color:var(--muted);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500;padding-top:18px;padding-bottom:6px;border-bottom:0}
.flash tr.flash-group th .definition-help{text-transform:none;letter-spacing:0}
.flash th.flash-label{background:transparent}.rl{color:var(--ink);font-weight:500;font-family:var(--font)}
.flash-figure:hover{background:var(--surface-2)}.flash-figure[aria-expanded=true]{background:var(--surface-3);box-shadow:inset 0 -3px 0 var(--navy-fill)}
.fig{color:var(--ink)}.ly{color:var(--muted)}.chg .inline-performance.neutral{color:var(--grey)}
.positive{color:var(--green)}.negative{color:var(--red)}.neutral{color:var(--grey)}
.flash-panel-row td{background:var(--surface-2)}.flash-panel{border-top-color:var(--navy-fill)}
.club-flash td.col-all{background:transparent}.club-flash td.col-all .flash-figure:hover{background:var(--surface-2)}.club-flash td.col-all .flash-figure[aria-expanded=true]{background:var(--surface-3)}
.club-table tr.total th,.club-table tr.total td,.weekday-table tr.total th,.weekday-table tr.total td{background:var(--surface-2);border-top-color:var(--silver)}
.club-table tr.club-table-head th,.weekday-table thead th,.history-table thead th{background:var(--surface-3)}
.gh-bar{background:transparent;border-bottom-color:var(--line)}
.data-table th{background:var(--surface-3)}.data-table .total td{background:var(--surface-2)}
.strip-tag{background:var(--amber-soft);border-color:var(--amber-line);color:var(--gold)}
.holiday-badge{background:var(--navy-fill);border-color:var(--navy-fill)}.holiday-comparison-note{background:var(--surface)}
.definition-tooltip{background:var(--raised);color:var(--ink);border:1px solid var(--object-border);box-shadow:var(--shadow-lift);border-radius:10px}.definition-tooltip .tooltip-detail,.definition-tooltip small{color:var(--muted)}
#toast{background:var(--raised);color:var(--ink);border:1px solid var(--object-border);box-shadow:var(--shadow-lift);border-radius:10px}
.overlay-backdrop{background:#05090fb3;backdrop-filter:blur(4px)}.dialog{box-shadow:var(--shadow-lift);border:1px solid var(--line)}
.definition-help{border-color:var(--line-strong);color:var(--muted)}.definition-help:hover,.definition-help:focus-visible{color:var(--ink);background:var(--surface-3)}
.cal-day{background:transparent;border-radius:8px}.cal-day:hover{background:var(--surface-3)}.cal-day[aria-pressed=true]{background:var(--navy-fill);color:#fff}
.calendar-controls select{background:var(--surface);color:var(--ink);border-color:var(--object-border)}
.field select,.field input,.event-controls input,.custom-event-label input,.date-input-inline input,.guide-search input{background:var(--surface);color:var(--ink);border-color:var(--object-border);border-radius:9px}
.formula{background:var(--surface-3);color:var(--ink)}.worked-example{background:var(--surface-2);border-color:var(--line)}.worked-example .chosen-example th,.worked-example .chosen-example td{background:var(--surface-3)}
.guide-layout>nav a:hover,.guide-layout>nav a:focus{background:var(--surface-3)}.guide-topic:target{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}
.pill{border-color:var(--line);color:var(--muted);border-radius:999px}
.analysis-controls{background:var(--surface-3);color:var(--ink);border:1px solid var(--line);border-radius:14px}.analysis-controls .field{color:var(--muted)}.analysis-controls .select-trigger{background:var(--object);color:var(--object-ink)}.analysis-controls .button{background:var(--object);color:var(--object-ink);border-color:var(--object-border)}
.analysis-controls optgroup{background:var(--raised);color:var(--ink)}
.basis-controls,.event-controls,.history-filters,.trend-summary,.trend-takeaway,.chart-change-details .trend-takeaway,.insight-line,.history-context{background:var(--surface-3);border-color:var(--line)}
.weekday-panel{background:var(--surface-3)}.weekday-panel-row td{background:var(--surface-2)}
.report-sources{border-top-color:var(--line)}.report-sources .data-table{background:var(--surface)}.report-sources>summary{color:var(--ink)}
.trend-svg .current-line{stroke:var(--club,var(--navy-fill))}.trend-svg .current-point{fill:var(--club,var(--navy-fill))}.trend-svg .current-point.neutral{fill:var(--club,var(--navy-fill))}.legend-line{border-top-color:var(--club,var(--navy-fill))}
.trend-svg .grid{stroke:var(--rule)}
.night-badge{background:var(--amber-soft);border-color:var(--amber-line);color:var(--gold)}.night-badge span{color:var(--gold)}.night-story{background:var(--surface-2);border-color:var(--amber-line)}
.discrepancy{background:var(--amber-soft);border-color:var(--amber-line)}.discrepancy summary{color:var(--gold)}.discrepancy table{background:var(--surface)}
.tag-list button{background:var(--amber-soft);border-color:var(--amber-line);color:var(--ink)}
.history-event{background:var(--surface-3);color:var(--ink)}
.summary-table .total-row th,.summary-table .total-row td{background:var(--navy-fill)}
/* sections with room between: title line, hero, grid, foot */
.flash-title{margin-bottom:4px}.flash-frame{margin-top:24px}.flash-foot{margin-top:18px;color:var(--dim)}.club-flash{margin-top:22px}
/* Hero A: the All clubs figure for the night, the pill, LY and the amount beneath, the 30-night line coloured as the pill is (Q94), the fill a navy tint */
.hero{position:relative;margin-top:22px;display:flex;justify-content:space-between;align-items:stretch;gap:32px;background:linear-gradient(180deg,var(--navy-tint),var(--navy-tint-soft));border:1px solid color-mix(in srgb,var(--navy-fill) 45%,var(--line));border-radius:16px;padding:22px 28px;box-shadow:var(--shadow)}
.hero-main{min-width:0;display:flex;flex-direction:column;justify-content:center}
.hero-label{font-size:.85rem;color:var(--muted);letter-spacing:.02em}
.hero-fig{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-top:6px;position:relative}
.hero-num{font-size:3.1rem;font-weight:500;letter-spacing:-.03em;line-height:1;position:relative;z-index:1;color:var(--ink)}
.hero-num.neutral{color:var(--muted)}
.hero-pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 11px;font-size:.9rem;font-weight:500;line-height:1.2;position:relative;z-index:1}
.hero-pill.positive{background:color-mix(in srgb,var(--green) 16%,transparent);color:var(--green)}.hero-pill.negative{background:color-mix(in srgb,var(--red) 16%,transparent);color:var(--red)}.hero-pill.neutral{background:color-mix(in srgb,var(--grey) 16%,transparent);color:var(--grey)}
.hero-sub{margin-top:8px;font-size:.92rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 10px}.hero-sub .amt{color:var(--muted)}
.hero-sub .note{display:inline}
.hero .tags{display:flex;gap:4px;margin-top:10px}.hero .tags .strip-tag{margin:0}
.hero-chart{width:440px;flex:none;display:flex;flex-direction:column;justify-content:flex-end;min-width:0}
.hero-chart svg{width:100%;height:96px;display:block;overflow:visible}
.hero-chart .hero-line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;stroke:var(--grey)}
.hero-chart .hero-area{fill:var(--navy-tint)}
.hero.positive .hero-line{stroke:var(--green)}.hero.negative .hero-line{stroke:var(--red)}
.hero-chart .hero-dot{fill:var(--grey)}.hero.positive .hero-dot{fill:var(--green)}.hero.negative .hero-dot{fill:var(--red)}
.hero-chart .cap{font-size:.75rem;color:var(--dim);margin-top:6px;text-align:right}
/* the live pulse: a soft breathing glow behind the latest night's figure and a breathing dot beside its date; a past date no glow and slightly dimmer; the number never flashes */
.glow{position:absolute;left:-26px;top:-18px;width:240px;height:96px;border-radius:60px;background:radial-gradient(closest-side,color-mix(in srgb,var(--live) 26%,transparent),transparent);filter:blur(6px);pointer-events:none;z-index:0;opacity:.75}
.live{position:relative;display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--live);margin:0 6px 1px 2px;box-shadow:0 0 0 3px color-mix(in srgb,var(--live) 18%,transparent),0 0 14px 3px color-mix(in srgb,var(--live) 45%,transparent);vertical-align:middle;flex:none}
@media(prefers-reduced-motion:no-preference){
 .glow{animation:glow 4s ease-in-out infinite}.live{animation:breathe 4s ease-in-out infinite}
 @keyframes glow{0%,100%{opacity:.55}50%{opacity:1}}
 @keyframes breathe{0%,100%{box-shadow:0 0 0 3px color-mix(in srgb,var(--live) 14%,transparent),0 0 10px 2px color-mix(in srgb,var(--live) 30%,transparent)}50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--live) 22%,transparent),0 0 22px 6px color-mix(in srgb,var(--live) 60%,transparent)}}
 /* motion: rows fade in on load and on a date change, once; the figures roll in the same pass (app.js); nothing repeats except the pulse */
 main[data-motion] .flash-row,main[data-motion] .hero,main[data-motion] .flash-title,main[data-motion] .flash-reported,main[data-motion] .snapshot,main[data-motion] .surface{animation:rise .3s cubic-bezier(.2,.7,.2,1) both}
 main[data-motion] .flash-row:nth-child(2){animation-delay:.03s}main[data-motion] .flash-row:nth-child(3){animation-delay:.06s}main[data-motion] .flash-row:nth-child(4){animation-delay:.09s}main[data-motion] .flash-row:nth-child(5){animation-delay:.12s}main[data-motion] .flash-row:nth-child(7){animation-delay:.15s}main[data-motion] .flash-row:nth-child(8){animation-delay:.18s}main[data-motion] .flash-row:nth-child(9){animation-delay:.21s}main[data-motion] .flash-row:nth-child(10){animation-delay:.24s}
 main[data-motion] .hero{animation-delay:.05s}main[data-motion] .flash-frame{animation:rise .4s cubic-bezier(.2,.7,.2,1) both;animation-delay:.1s}/* every fade, delay included, ends inside 600 ms (reviewer, 25 Sep 2026); the roll takes 520 ms */
 @keyframes rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
 .surface{animation:none}
}
/* the phone's bottom bar: Home, Clubs with the dropdown, History, Compare; slides in once the header has scrolled off and away again at the top */
.bottom-bar{display:none}
@media(max-width:620px){
 .bottom-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;justify-content:space-around;gap:4px;height:calc(66px + env(safe-area-inset-bottom));padding:0 6px env(safe-area-inset-bottom);background:color-mix(in srgb,var(--surface) 94%,transparent);border-top:1px solid var(--line);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 -10px 30px #0008;transform:translateY(110%);transition:transform .28s cubic-bezier(.2,.7,.2,1);visibility:hidden}
 .bottom-bar.shown{transform:none;visibility:visible}
 .bar-item{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:58px;padding:6px 4px;border:0;background:transparent;font:500 .68rem/1.2 var(--font);color:var(--muted);border-radius:8px}
 .bar-item[aria-current=page]{color:var(--ink)}.bar-item svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
 .bar-club{min-width:0;flex:0 1 auto}.bar-club .club-picker{min-width:0;width:auto}.bar-club .select-trigger{padding:7px 11px;font-size:.85rem;min-height:38px;gap:8px;max-width:46vw}.bar-club .select-value .mk{width:18px;height:18px;font-size:.5rem}
 body.has-bar main{padding-bottom:calc(90px + env(safe-area-inset-bottom))}
 .hero{flex-direction:column;gap:14px;padding:18px 18px;margin-top:18px}.hero-num{font-size:2.5rem}.hero-chart{width:100%}.hero-chart svg{height:84px}
 .flash-reported{font-size:.9375rem}.flash-reported .club-full{display:none}.flash-reported .mk{width:24px;height:24px;font-size:.58rem}
 .flash thead th .ch .club-full{display:none}
 .flash-chip .club-full{display:none}.flash-chip{padding-right:4px}
 .masthead{padding:10px 16px;flex-wrap:nowrap}.masthead-end .header-button:not(.theme-toggle){display:none}/* on a phone the header keeps the mark, the dropdown and the theme control (the mockup); Rules & definitions is in the foot and Sign out on the site's own strip */
 .flash-date-text{font-size:1rem}
 .bar-item{font-size:1rem}.hero-label,.hero-sub,.hero-chart .cap,.hero-pill{font-size:1rem}/* nothing smaller than body text on a phone (reviewer, 25 Sep 2026) */
 .rl,.fig,.ly,.chg,.note{font-size:max(1em,0.9375rem)}.fig{font-size:1.0625rem}.flash td.col-all .fig,.flash tr.row-day td .fig{font-size:1.35rem}.flash tr.row-day td.col-all .fig{font-size:1.5rem}
}
@media(prefers-reduced-motion:reduce){.glow,.live{animation:none}.bottom-bar{transition:none}.button,.header-button,.select-trigger,.flash-chip{transition:none}}
@media print{body::before{display:none}.bottom-bar,.theme-toggle,.glow,.live{display:none}:root{color-scheme:light;--bg:#fff;--surface:#fff;--ink:#183345;--navy:#183345;--muted:#637582}}
/* ---- Caroline's fixes of 26 Sep 2026 ---- */
/* a proper gap between every round mark and its club name, everywhere they appear */
.club-name{display:inline-flex;align-items:center;gap:8px}.flash-chip{gap:8px}.select-value,.select-menu [role=option]>span:first-child{gap:10px}
/* "BM excluded": the left-out club's mark beside the word, on the change it qualifies (rulebook §3) */
.excl{display:inline-flex;align-items:center;gap:5px;font-size:.8125rem;color:var(--muted);margin-top:2px}.excl .mk{width:18px;height:18px;font-size:.5rem}.excl .mk+.mk{margin-left:-2px}
.hx .cap .excl{margin:0;vertical-align:middle}
/* "Latest night: Thu, Sep 24" beside the live dot; the dot breathes only when the page is on that night */
.latest{display:inline-flex;align-items:center;font-size:.8125rem;color:var(--muted);margin-right:10px;white-space:nowrap}.latest .live{margin-right:7px}
.latest.past .live{animation:none;background:var(--dim);box-shadow:none}
/* the hero: two halves on a laptop, the chart at full height; stacked on a phone */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:28px;align-items:stretch}
.hero-main{justify-content:space-between;gap:14px}
.hero-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px}
.hero-rule{width:1px;align-self:stretch;min-height:22px;background:var(--line-strong,var(--line))}
.hero-switch{display:inline-flex;border:1px solid var(--object-border);border-radius:999px;background:var(--surface-2);padding:2px}
.hero-switch button{border:0;background:transparent;color:var(--muted);font:500 .8125rem/1 var(--font);padding:7px 12px;border-radius:999px;cursor:pointer;position:relative}
.hero-switch button+button::before{content:'';position:absolute;left:0;top:7px;bottom:7px;width:1px;background:var(--line)}
.hero-switch button[aria-pressed=true]{background:var(--all-tint-strong);color:var(--ink);box-shadow:inset 0 0 0 1px var(--navy-fill)}.hero-switch button[aria-pressed=true]::before,.hero-switch button[aria-pressed=true]+button::before{display:none}
.hero-switch button:hover{color:var(--ink)}
.hero-chart{width:auto;justify-content:stretch}
.hx{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:minmax(150px,1fr) auto auto;height:100%;min-height:210px;--hc:var(--grey)}
.hx.positive{--hc:var(--green)}.hx.negative{--hc:var(--red)}
.hx-body{display:contents}
.hx-y{position:relative;grid-column:1;grid-row:1;width:46px;margin-right:6px}
.hx-y .ax{position:absolute;right:0;transform:translateY(50%);font-size:.72rem;color:var(--dim);font-variant-numeric:tabular-nums;white-space:nowrap}
.hx-plot{position:relative;grid-column:2;grid-row:1;border-left:1px solid var(--line);border-bottom:1px solid var(--line)}
.hx-plot svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.hx-grid{stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke;opacity:.6}
.hx-ty{fill:var(--hc)}.hx-ly{fill:color-mix(in srgb,var(--hc) 26%,transparent)}
.hx-tyline{fill:none;stroke:var(--hc);stroke-width:2.25;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}
.hx-lyline{fill:none;stroke:color-mix(in srgb,var(--hc) 55%,var(--muted));stroke-width:1.75;stroke-dasharray:2 4;vector-effect:non-scaling-stroke;stroke-linecap:round}
.hx-fill{fill:color-mix(in srgb,var(--hc) 14%,transparent)}
.hx-dot{position:absolute;width:8px;height:8px;margin:0 0 -4px -4px;border-radius:50%;background:var(--hc)}.hx-dot.ly{background:var(--surface);border:1.5px solid color-mix(in srgb,var(--hc) 55%,var(--muted));width:7px;height:7px}
.hx-x{position:relative;grid-column:2;grid-row:2;height:22px}
.hx-x .ax{position:absolute;top:5px;transform:translateX(-50%);font-size:.72rem;color:var(--dim);white-space:nowrap}
.hx .cap{grid-column:1/-1;grid-row:3;font-size:.75rem;color:var(--dim);margin-top:6px;text-align:left;line-height:1.4}
/* the grid: a divider on every club column, the row rules' grey, the full height through both groups; none on the All clubs column, which has its own background */
.flash thead th[data-club],.flash tbody td[data-club],.flash tbody td.flash-cell:not(.col-all),.flash tr.flash-head-repeat th[data-club]{border-left:1px solid var(--line)}
.flash tr.flash-group>*{border-bottom:0;padding-top:18px;padding-bottom:6px}
.flash tr.flash-group td{background:transparent}.flash tr.flash-group td.col-all{background:var(--all-tint)}
.flash tr.flash-group th.flash-label .gh{white-space:nowrap}
/* the marks and names again at the top of the Last night group */
.flash tr.flash-head-repeat>*{font-size:.875rem;font-weight:500;color:var(--muted);padding:16px 16px 12px;border-bottom:1px solid var(--line);border-top:1px solid var(--line);background:transparent}
.flash tr.flash-head-repeat th[data-club]{box-shadow:inset 0 -2px 0 var(--mc)}.flash tr.flash-head-repeat th[data-club=nola]{--mc:var(--no)}.flash tr.flash-head-repeat th[data-club=tampa]{--mc:var(--tp)}.flash tr.flash-head-repeat th[data-club=baltimore]{--mc:var(--ba)}.flash tr.flash-head-repeat th[data-club=br]{--mc:var(--br)}.flash tr.flash-head-repeat th[data-club=pa]{--mc:var(--ch)}
.flash tr.flash-head-repeat th.col-all{background:var(--all-tint);color:var(--ink);font-size:.9375rem}
.flash tr.flash-head-repeat th .club-link{border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left}
/* every figure vertically centred with equal room above and below, on the grid and on each club's summary block */
.flash-figure{align-content:center}
/* each club's summary block: one grid, every cell the same height (the tallest), four across on a laptop, two on a phone */
.club-flash{--cell-h:1fr}
table.club-flash-table{display:block;width:100%}.club-flash-table colgroup{display:none}
.club-flash-table>tbody{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:var(--rows-wide)}
.club-flash-table>tbody>tr{display:contents}
.club-flash-table>tbody>tr>td.flash-cell{display:block;min-width:0;width:auto}
.club-flash-table>tbody>tr.flash-group>th,.club-flash-table>tbody>tr.flash-panel-row>td{grid-column:1/-1;display:block}
.club-flash td.flash-cell{border-left:0}.club-flash td.flash-cell:not(:first-child){border-left:1px solid var(--line)}
/* the club page: the view switch and the date on one line, flush against the summary block */
.club-title{margin-bottom:0;align-items:center}
.club-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;margin-top:14px}
.club-bar .club-views{margin:0}
.club-bar+.club-flash,.club-bar+.flash-notes+.club-flash{margin-top:10px}
@media(max-width:900px){
 .hero{grid-template-columns:minmax(0,1fr)}
 .flash tr.flash-group th .gh{position:sticky;left:10px;width:auto}
}
@media(max-width:620px){
 .hero{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.hero-chart{width:100%}.hx{min-height:200px}
 .hx .cap,.latest,.excl{font-size:max(1em,.9375rem)}.hx-y .ax,.hx-x .ax{font-size:.8125rem}
 .flash tr.flash-head-repeat>*{padding:12px 10px 10px}.flash tr.flash-head-repeat th .ch .club-full{display:none}
 .club-flash-table>tbody{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:var(--rows-phone)}
 .club-flash td.flash-cell:not(:first-child){border-left:0}.club-flash td.flash-cell:nth-child(even){border-left:1px solid var(--line)}
 .club-flash tr.club-row td.flash-cell:nth-child(n+3){border-top:1px solid var(--line)}
 .club-bar{margin-top:10px}.club-bar .flash-date{width:100%}
}
.hero-body{display:flex;flex-direction:column;justify-content:center;flex:1}.hero .hero-sub{margin-top:10px}
@media(max-width:620px){
 .flash-date .latest{order:-1;flex-basis:100%;margin:0 0 4px}
 .hero-rule{display:none}.hero-switch{width:100%;justify-content:space-between}.hero-switch button{flex:1;font-size:.9375rem}
}
.club-flash .club-flash-table>tbody>tr,.club-flash .club-flash-table>tbody>tr.club-row,.club-flash .club-flash-table>tbody>tr.flash-group,.club-flash .club-flash-table>tbody>tr.flash-panel-row{display:contents}
.club-flash .club-flash-table>tbody>tr>th,.club-flash .club-flash-table>tbody>tr.flash-panel-row>td{grid-column:1/-1;display:block}
.club-flash .club-flash-table>tbody>tr>td.flash-cell{display:flex;flex-direction:column}.club-flash td.flash-cell>.flash-figure{flex:1 1 auto;height:auto}.club-flash td.flash-cell>.tags{flex:none}
/* ---- History by week and month, Targets, the weekday average (session (b), 26 Sep 2026) ---- */
.history-grains{margin:18px 0 0}.history-grains .segments,.span-switch,.avg-switch{display:inline-flex}
.history-periods{margin-top:12px}.history-sub{padding:2px 16px 0;color:var(--muted);font-size:.875rem}.history-sub a,.hx .cap a{color:var(--accent)}
.hx-history{margin:10px 16px 6px;min-height:240px;height:auto;grid-template-rows:220px auto auto}
.hx-target{stroke:var(--ink);stroke-width:1.25;stroke-dasharray:6 4;vector-effect:non-scaling-stroke;opacity:.7}
.hx-tlabel{position:absolute;right:0;transform:translateY(-4px);font-size:.75rem;font-weight:500;color:var(--ink);background:var(--surface);padding:1px 6px;border-radius:4px;text-decoration:none;border:1px solid var(--line)}
.hx-tlabel:hover{border-color:var(--line-strong)}
.hx-dot.pt{width:9px;height:9px;margin:0 0 -4.5px -4.5px;background:var(--hc);border:2px solid var(--surface)}
.hx-dot.pt.positive{background:var(--green)}.hx-dot.pt.negative{background:var(--red)}.hx-dot.pt.neutral,.hx-dot.pt.partial{background:var(--surface);border:2px solid var(--grey)}
.period-table{min-width:760px}.period-table .flash-label{width:210px}.period-table td.flash-cell .flash-figure{padding:12px 14px}
.period-table tr.period-row.open td,.period-table tr.period-row.open th{background:var(--surface-2)}
.tgt{display:inline-block;margin-top:4px;font-size:.75rem;font-weight:500;letter-spacing:.01em}.tgt.positive{color:var(--green)}.tgt.negative{color:var(--red)}.tgt.neutral{color:var(--muted)}
.avg-line{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin:4px 0 14px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}
.avg-text{font-size:.9375rem}.avg-text b{font-size:1.05rem}
.avg-switch button,.span-switch button{font-size:.8125rem;padding:5px 10px;min-height:30px}
.targets-said{margin:10px 0 0;padding:10px 14px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface-2)}
.targets-table{margin-top:18px}.targets-table .flash-label{width:220px}
.target-form{display:flex;gap:8px;align-items:center;margin-top:10px}.target-form input{width:150px;padding:7px 10px;border:1px solid var(--object-border);border-radius:6px;background:var(--surface);color:var(--ink);font:500 .9375rem var(--font);font-variant-numeric:tabular-nums}
.targets-log{margin-top:20px}
@media(max-width:620px){
 .hx-history{margin:10px 10px 6px;grid-template-rows:200px auto auto}.history-sub{padding:2px 12px 0}
 .period-table{min-width:640px}.period-table .flash-label{width:150px;min-width:150px}
 .avg-text,.tgt,.hx-tlabel{font-size:max(1em,.9375rem)}.avg-switch button,.span-switch button{font-size:.9375rem}
 .history-grains .segments{width:100%}.history-grains .segments button{flex:1}
 .targets-table .flash-label{width:120px;min-width:120px}.target-form input{width:120px}
}
.hx-x .ax:first-child{transform:none}.hx-x .ax:last-child{transform:translateX(-100%)}
@media(max-width:620px){.hx-history .hx-x .ax:nth-last-child(even){display:none}.hx-history .hx-x .ax:first-child{display:none}}
/* ---- Home-page fixes and the club tab row (Caroline, 26 Sep 2026, fixes 1 to 11) ---- */
/* 11: the tab row under the header, every width; on a phone it scrolls sideways */
.tab-row{display:block;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 70%,transparent);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.tab-row::-webkit-scrollbar{display:none}
.tab-row-inner{display:flex;align-items:center;gap:4px;padding:8px 42px;min-width:max-content}
.tab{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--muted);font:500 .875rem/1 var(--font);padding:8px 12px;border-radius:10px;cursor:pointer;white-space:nowrap;position:relative}
.tab:hover{color:var(--ink);background:var(--surface-2)}
.tab[aria-current=page]{color:var(--ink);background:var(--object);box-shadow:var(--inset-light),inset 0 -2px 0 var(--mc,var(--navy-fill))}
.tab[data-club=nola]{--mc:var(--no)}.tab[data-club=tampa]{--mc:var(--tp)}.tab[data-club=baltimore]{--mc:var(--ba)}.tab[data-club=br]{--mc:var(--br)}.tab[data-club=pa]{--mc:var(--ch)}
.tab .mk{width:22px;height:22px;font-size:.56rem}
.tab[data-value=compare]{margin-left:13px}.tab[data-value=compare]::before{content:'';position:absolute;left:-9px;top:8px;bottom:8px;width:1px;background:var(--line)}
.back-all{display:inline-block;vertical-align:middle;border:0;background:none;padding:2px 0;margin:0 14px 0 0;font:500 .9375rem/1.2 var(--font);letter-spacing:0;color:var(--muted);cursor:pointer}.back-all:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
@media(min-width:1750px){.tab-row-inner{padding-left:56px;padding-right:56px}}
@media(max-width:1150px){.tab-row-inner{padding-left:26px;padding-right:26px}}
@media(max-width:620px){.tab-row-inner{padding:6px 16px;gap:2px}.tab{padding:8px 10px;font-size:.9375rem}.back-all{display:block;margin:0 0 2px}}
/* 1: the latest night level with the reported line, at its end */
.flash-reported .latest{margin-left:auto;margin-right:0}
/* 5: figure block and chart as one card, no dead space between; nothing larger than it needs to be */
.hero{grid-template-columns:auto minmax(0,1fr);gap:44px;padding:20px 30px 16px 40px}
.hero-main{min-width:300px}
.hx{min-height:190px;grid-template-rows:minmax(140px,1fr) auto auto}
.hero .hx .cap{text-align:center;margin-top:4px}
/* 6: "BM excluded", Partial and the tags as one tag group under the figure */
.hero-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px}
.hero-tags>.note,.hero-tags>.excl{display:inline-flex;align-items:center;gap:5px;margin:0;font-size:.75rem;line-height:1.2;padding:3px 9px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--surface-2)}
.hero-tags>.excl .mk{width:16px;height:16px;font-size:.45rem}
.hero-tags .strip-tag{margin:0}
/* 2: the Day chart's nights, "MON 21", the night shown boxed */
.hero .hx:not([data-scale=gap]) .hx-x .ax,.hero .hx:not([data-scale=gap]) .hx-x .ax:first-child,.hero .hx:not([data-scale=gap]) .hx-x .ax:last-child{transform:translateX(-50%);letter-spacing:.03em}
.hero .hx:not([data-scale=gap]) .hx-x .ax:last-child{color:var(--ink);font-weight:500}
.hx-latest{position:absolute;top:-6px;bottom:-1px;border:1px solid var(--line-strong);border-radius:8px;background:color-mix(in srgb,var(--ink) 5%,transparent);pointer-events:none}
/* 4: the week, month and year lines clipped at the foot of a chart that starts above zero */
.hx[data-scale=gap] .hx-plot svg{overflow:hidden}
/* 7: the pinned columns solid, so scrolling columns pass cleanly beneath them */
.flash th.flash-label,.flash .flash-corner{background:var(--surface)}
.flash thead th.col-all,.flash td.col-all,.flash tr.flash-head-repeat th.col-all{background:linear-gradient(var(--all-tint),var(--all-tint)),var(--surface)}
@media(max-width:900px){
 .flash td.col-all,.flash thead th.col-all,.flash tr.flash-head-repeat th.col-all{box-shadow:8px 0 10px -8px #000a}
 .flash tr.flash-head-repeat .flash-corner{position:sticky;left:0;z-index:2}
}
@media(max-width:620px){
 .flash th.flash-label,.flash .flash-corner{min-width:100px;width:100px;padding-left:10px;padding-right:8px}
 .flash td.col-all,.flash thead th.col-all,.flash tr.flash-head-repeat th.col-all{left:100px;min-width:142px;width:142px}
 .hero .hx:not([data-scale=gap]) .hx-x{height:34px}.hero .hx:not([data-scale=gap]) .hx-x .ax{white-space:normal;text-align:center;width:13%;line-height:1.15}
 .hero{padding:18px}
 .hero-main{min-width:0}
}
/* 8: every Sales row the same height; the group titles in the header rows' corner cells */
.flash tr.row-day .flash-figure{padding-top:14px;padding-bottom:13px}
.flash tr.row-day td:not(.col-all) .fig{font-size:inherit;font-weight:inherit;letter-spacing:inherit}
.flash tr.row-day td.col-all .fig{font-size:1.55rem}
.flash .flash-corner{vertical-align:bottom}
.flash .flash-corner .gh{display:flex;align-items:center;gap:8px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--muted);white-space:nowrap}
.flash .flash-corner .definition-help{text-transform:none;letter-spacing:0;margin:0}
@media(max-width:1150px){.flash tr.row-day td.col-all .fig{font-size:1.35rem}}
@media(max-width:900px){.hero{grid-template-columns:minmax(0,1fr);gap:16px;padding:18px 22px}.hero-main{min-width:0}}
@media(max-width:620px){.flash th.flash-label,.flash .flash-corner{box-sizing:border-box}.flash .flash-corner .gh{white-space:normal;letter-spacing:.08em}}
@media(max-width:900px) and (min-width:621px){.flash th.flash-label,.flash .flash-corner{box-sizing:border-box;min-width:150px;width:150px}}
@media(max-width:620px){.flash th.flash-label,.flash .flash-corner{min-width:112px;width:112px;max-width:112px}.flash td.col-all,.flash thead th.col-all,.flash tr.flash-head-repeat th.col-all{left:112px;min-width:140px;width:140px}}
@media(max-width:900px){.flash tr.flash-head-repeat th.col-all{position:sticky;z-index:1}}
/* Q116 (26 Sep 2026): the hero's running gap about its zero line */
.hx-zero{stroke:var(--muted);stroke-width:1.25;vector-effect:non-scaling-stroke;opacity:.8}
.recon-flag{border-color:var(--amber-line);color:var(--gold);background:var(--amber-soft);cursor:help}/* a figure on the reconciliation list (26 Sep 2026): the reserved flag colour */
@media(max-width:620px){.hero .hx[data-scale=gap] .hx-x .ax:nth-child(even){display:none}}/* every other date on a phone, so none overlap */
/* Every chart's legend: a swatch of the actual mark beside its year, centred under the chart (Caroline, 26 Sep 2026) */
.hx-key{grid-column:1/-1;grid-row:3;display:flex;justify-content:center;flex-wrap:wrap;gap:6px 18px;margin-top:6px;font-size:.8125rem;color:var(--muted);line-height:1.3}
.hx-key .kx{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.hx-key .kx-note a{color:var(--accent)}
.hx-key .sw{display:inline-block;flex:none}
.hx-key .sw-bar{width:9px;height:14px;border-radius:2px;background:var(--hc)}
.hx-key .sw-barly{width:9px;height:14px;border-radius:2px;background:color-mix(in srgb,var(--hc) 26%,transparent)}
.hx-key .sw-line{width:22px;height:0;border-top:2.25px solid var(--hc);border-radius:2px}
.hx-key .sw-lineLy{width:22px;height:0;border-top:2px dotted color-mix(in srgb,var(--hc) 55%,var(--muted))}
@media(max-width:620px){.hx-key{font-size:.9375rem}}

/* The flags (session (c), specs/flags-with-targets.md; Caroline, 26 Sep 2026): a quiet tint behind a Last night cell whose figure sits below the club's
   own weekday average by the club's thresholds, orange then red; green only above a set measure target. The figure, LY and change are untouched;
   the hover line is on the cell. The same tint on the Waitresses figure one step down. */
/* the tint fills the whole cell, its full height and width, never a block inside it (Caroline, 30 Sep 2026, 17:30: "should we just shade the full cell?") */
.flash td.flag-warn{background:var(--flag-warn)}.flash td.flag-alert{background:var(--flag-alert)}.flash td.flag-good{background:var(--flag-good)}
.flash td.flag-warn .flash-figure,.flash td.flag-alert .flash-figure,.flash td.flag-good .flash-figure,.flash td.flag-warn .flash-figure:hover,.flash td.flag-alert .flash-figure:hover,.flash td.flag-good .flash-figure:hover{background:transparent}
.flash td.flag-warn .flash-figure[aria-expanded=true],.flash td.flag-alert .flash-figure[aria-expanded=true],.flash td.flag-good .flash-figure[aria-expanded=true]{box-shadow:inset 0 -3px 0 var(--navy-fill)}
.flag-cell{display:inline-block;padding:2px 8px;margin:-2px -8px;border-radius:6px;cursor:help}.flag-cell.flag-warn{background:var(--flag-warn)}.flag-cell.flag-alert{background:var(--flag-alert)}.flag-cell.flag-good{background:var(--flag-good)}
.flags-lede{margin-top:22px}.flags-table{margin-top:14px}
.flags-form{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding:8px 16px 12px}.flags-form .rl{min-width:120px}.flags-form label{display:inline-flex;align-items:center;gap:6px;font-size:.9375rem;color:var(--muted)}
.flags-form input{width:56px;padding:7px 8px;border:1px solid var(--object-border);border-radius:6px;background:var(--surface);color:var(--ink);font:500 .9375rem var(--font);font-variant-numeric:tabular-nums;text-align:right}
.flags-form select{padding:7px 8px;border:1px solid var(--object-border);border-radius:6px;background:var(--surface);color:var(--ink);font:500 .9375rem var(--font)}
.flags-form-row td{padding:0;border-top:0}
@media(max-width:640px){.flags-form{padding:8px 12px 12px}.flags-form .rl{min-width:100%}.flags-form label{font-size:max(1em,.9375rem)}}
/* Home page fixes (Caroline, 27 Sep 2026). 1: a club open on the night with no report yet reads as absent at a glance, its whole
   column dimmed, header included; the reported line keeps the words. 2: on a phone nothing on the home or club grid is pinned,
   the whole grid moving together under a swipe. 3: any row-label column that stays pinned (History, By weekday) is fully
   opaque in both themes, so scrolled cells never show through it. */
.flash .absent>*{opacity:.38}
@media(max-width:900px){
 .flash-home th.flash-label,.flash-home .flash-corner,.flash-home td.col-all,.flash-home th.col-all,
 .club-flash-table th.flash-label,.club-flash-table .flash-corner,.club-flash-table td.col-all,.club-flash-table th.col-all,
 table.flash-home thead th.col-all,table.flash-home tr.flash-head-repeat .flash-corner,table.flash-home tr.flash-head-repeat th.col-all,table.club-flash-table tr.flash-head-repeat .flash-corner{position:static}
 /* Unpinned means no offset either (28 Sep 2026): the notes dot's position:relative on every cell had switched the old 118 px pin
    offset back on, so on a phone the All clubs figures sat over New Orleans and their own column read empty. */
 .flash-home td.col-all,.club-flash-table td.col-all{left:auto}
}
.flash th.flash-label,.flash .flash-corner,.weekday-table th[scope=row],.weekday-table thead th:first-child{background-color:var(--white)}
/* The Daily DSR page (Caroline, 26 and 27 Sep 2026; spec specs/daily-dsr-page.md, mockup approved 27 Sep 2026). The title line carries "‹ All clubs", the club
   and the view switch; the date and its picker sit on their own line, flush against the block beneath. Then the club's hero and summary block, as on the home
   page; Revenue and Counts in two equal columns whose rows line up, the same gap across as down; Notes on this night; three cards across the foot. */
.club-title{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 24px}
.club-title .club-views{margin:0}
.club-bar{justify-content:flex-start}
.club-bar+.weather-slot+.hero,.club-bar+.hero{margin-top:10px}
.club-bar+.controls-wrap,.club-bar+.analysis-controls,.club-bar+.history-grains{margin-top:14px}
.weather-slot[hidden]{display:none}
:root{--dsr-gap:18px}
.dsr-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--dsr-gap);margin-top:var(--dsr-gap);align-items:start}
.dsr-stack{display:flex;flex-direction:column;gap:var(--dsr-gap);min-width:0}.dsr-table{display:flex;flex-direction:column;min-width:0}/* Revenue on the left; Counts, then Comps beneath it, on the right (Caroline, 30 Sep 2026, 17:55) */
.dsr-cell{display:grid;grid-template-columns:minmax(0,44%) minmax(0,1fr);gap:12px;align-items:center;margin:0;padding:12px 18px;background:var(--surface);border-inline:1px solid var(--silver);border-bottom:1px solid var(--rule);min-width:0}
.dsr-cell.head{grid-template-columns:1fr;background:var(--surface-3);border-top:1px solid var(--silver);border-bottom-color:var(--silver);border-radius:10px 10px 0 0;padding:13px 18px;font:500 .8125rem/1.3 var(--font);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.dsr-cell.last{border-bottom:1px solid var(--silver);border-radius:0 0 10px 10px}
.dsr-cell.total{border-top:3px double var(--line-strong)}
.dsr-lab{font-size:.9375rem;color:var(--ink)}
.dsr-lab small{display:block;color:var(--muted);font-size:.8125rem}
.dsr-fig{display:grid;gap:3px;align-content:start;font-variant-numeric:tabular-nums;min-width:0}
.dsr-cell.total .fig{font-weight:500}
.dsr-cell.grey .fig{color:var(--grey)}
.dsr-cell.grey .inline-performance,.dsr-cell.grey .inline-performance .direction{color:var(--grey)}
.dsr-source{margin-top:8px}
.dsr-h{margin:calc(var(--dsr-gap)*1.6) 0 12px;font:500 1.125rem/1.3 var(--display);color:var(--ink)}
.dsr-notes{display:grid;gap:var(--dsr-gap)}.dsr-notes .dsr-h{margin-bottom:-6px}
.dsr-quote{--club:var(--navy-fill);position:relative;margin:0;background:color-mix(in srgb,var(--club) 13%,var(--surface));border:1px solid color-mix(in srgb,var(--club) 38%,var(--line));border-radius:16px;padding:20px 26px 16px 70px}
.dsr-quote[data-club=nola]{--club:var(--no)}.dsr-quote[data-club=tampa]{--club:var(--tp)}.dsr-quote[data-club=baltimore]{--club:var(--ba)}.dsr-quote[data-club=br]{--club:var(--br)}.dsr-quote[data-club=pa]{--club:var(--ch)}
.dsr-quote::before{content:"\201C";position:absolute;left:20px;top:6px;font:500 4.2rem/1 var(--display);color:var(--club)}
.dsr-quote blockquote{margin:0}
.dsr-quote blockquote p{margin:0;font:500 1.125rem/1.6 var(--display);color:var(--ink);letter-spacing:-.01em}
.dsr-quote figcaption{margin-top:12px;display:flex;flex-wrap:wrap;gap:4px 12px;color:var(--muted);font-size:.875rem}
.dsr-quote-who{color:var(--ink);font-weight:500}
.dsr-no-comment{margin:0;color:var(--muted)}
.note-thread{display:grid;gap:10px}
.note-offline{display:grid;gap:4px;font-size:.875rem;color:var(--muted)}.note-offline-line{margin:0;color:var(--muted)}.note-offline-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px}.note-offline-pick summary{cursor:pointer;list-style:none;display:inline}.note-offline-pick summary::-webkit-details-marker{display:none}.note-offline-choices{display:inline-flex;gap:12px;margin-left:12px}.note-offline-choices .text-button{font-size:.875rem;background:none;border:0;padding:0;cursor:pointer}
.note-item{display:grid;gap:8px;padding:14px 18px;background:var(--surface);border:1px solid var(--silver);border-radius:12px}
.note-item p{margin:0;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}
.note-head{display:flex;gap:6px 12px;flex-wrap:wrap;align-items:center}
.note-when{color:var(--muted);font-size:.8125rem}
.who{color:var(--accent);font-weight:500;text-decoration:underline;text-underline-offset:3px}.who.plain{text-decoration:none;color:var(--ink)}
.note-chips{display:flex;gap:6px;flex-wrap:wrap}
.note-chip{border:1px solid var(--line-strong);border-radius:999px;padding:1px 10px;font:500 .8125rem/1.6 var(--font);color:var(--muted)}
.note-chip.pick{cursor:pointer;padding:4px 12px}.note-chip.pick input{position:absolute;opacity:0;pointer-events:none}
.note-chip.pick:has(input:checked){background:var(--navy-fill);border-color:transparent;color:#fff}
.note-chip.pick:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}
.note-delete{margin:0 0 0 auto}.note-delete .text-button{font-size:.8125rem;color:var(--muted)}
.note-compose{display:grid;gap:10px;padding:14px 18px;background:var(--surface);border:1px solid var(--silver);border-radius:12px}
.note-compose textarea{width:100%;min-height:64px;resize:vertical;background:var(--surface-2);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px 12px;font:inherit;font-size:max(1rem,16px)}
.note-compose-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.note-compose .button[disabled]{opacity:.45;cursor:default}
.dsr-foot-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--dsr-gap);margin-top:calc(var(--dsr-gap)*1.6);align-items:start}
.dsr-card{background:var(--surface);border:1px solid var(--silver);border-radius:12px;min-width:0}
.dsr-card>summary{list-style:none;cursor:pointer;padding:15px 18px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:center}
.dsr-card>summary::-webkit-details-marker{display:none}
.dsr-card>summary b{font:500 1rem/1.3 var(--display);color:var(--ink)}
.dsr-card>summary span{grid-column:1;color:var(--muted);font-size:.875rem}
.dsr-card>summary i{grid-row:1/3;grid-column:2;font-style:normal;color:var(--muted);transition:transform .2s}
.dsr-card[open]>summary i{transform:rotate(180deg)}
.dsr-card-body{padding:0 14px 14px;display:grid;gap:12px;min-width:0;overflow-x:auto}
.dsr-card-body p{margin:0}.dsr-card-sub{color:var(--muted);font-size:.8125rem}
.dsr-card-body .flash-frame{margin:0}
/* the Super Bowl switch and its band (Caroline, 26 and 27 Sep 2026) */
.sb-switch{background:transparent;border-color:var(--line-strong);color:var(--muted)}
.sb-switch b{font-weight:500}
.sb-switch[aria-pressed=true]{background:var(--amber-soft);border-color:var(--amber-line);color:var(--gold)}
.hx-band{fill:var(--muted);opacity:.14}
.hx-band-label{position:absolute;top:2px;transform:translateX(6px);font-size:.6875rem;color:var(--muted);white-space:nowrap;pointer-events:none}
.sb-note{margin:4px 0 0;color:var(--muted);font-size:.8125rem}
/* notes: the dot on the home grid, the bell in the header */
.flash td.flash-cell{position:relative}
.note-dot{position:absolute;top:10px;right:10px;width:7px;height:7px;border-radius:50%;background:var(--muted);pointer-events:none}
.bell-wrap{position:relative}
.masthead .bell{position:relative;display:inline-grid!important;place-items:center;min-width:42px}
.bell svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}
.bell-count{position:absolute;top:2px;right:2px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--navy-fill);color:#fff;font:500 .6875rem/17px var(--display);text-align:center}
.bell-count[hidden]{display:none}
.bell-panel{position:absolute;right:0;top:calc(100% + 8px);width:min(360px,calc(100vw - 24px));max-height:70vh;overflow:auto;z-index:40;background:var(--raised);border:1px solid var(--line-strong);border-radius:14px;box-shadow:var(--shadow-lift);padding:12px;display:grid;gap:8px}
.bell-panel[hidden]{display:none}
.bell-panel .segments{justify-self:start}
.bell-item{display:grid;gap:3px;text-align:left;padding:10px 12px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line);font:inherit;color:inherit;cursor:pointer}
.bell-item b{font:500 .9375rem var(--display);color:var(--ink)}
.bell-item span{font-size:.875rem;color:var(--muted)}
.bell-item .bell-text{color:var(--ink)}
@media(max-width:900px){.dsr-foot-cards{grid-template-columns:minmax(0,1fr)}}
@media(max-width:620px){
 .dsr-cols{grid-template-columns:minmax(0,1fr)}
 .dsr-cell{padding:11px 14px}
 .dsr-quote{padding:18px 16px 14px 50px}.dsr-quote::before{left:12px;font-size:3.4rem}.dsr-quote blockquote p{font-size:1.0625rem}
 .club-title .club-views{width:100%}
 .bell-panel{position:fixed;right:12px;left:12px;top:64px;width:auto}
}
/* ---- Caroline's fixes of 28 Sep 2026, guarded by scripts/verify-layout.cjs (a real browser, phone and laptop) ---- */
/* (a, e) the date and its picker on the title line, right-aligned, wherever they fit; below the title on a phone only */
.flash-title{flex-wrap:wrap;align-items:center}.flash-title>.flash-date{margin-left:auto}
.club-title h1{margin-right:0}.club-title .club-views{margin:0}
/* (a) the space above the hero closed: the reported line, the day's notes and the latest night on one line */
.flash-status{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin-top:6px;font-size:.875rem;color:var(--muted);line-height:1.4}
.flash-status .reported-text{margin:0}.flash-status .flash-notes{margin:0}.flash-status .latest{margin:0 0 0 auto}
.flash-status+.hero,.flash-title+.hero,.flash-title+.weather-slot+.hero,.flash-notes+.hero,.flash-notes+.weather-slot+.hero{margin-top:12px}
.club-title+.flash-notes{margin-top:6px}
.club-title+.controls-wrap,.club-title+.analysis-controls,.club-title+.history-grains,.flash-notes+.controls-wrap,.flash-notes+.analysis-controls,.flash-notes+.history-grains{margin-top:14px}
/* (c) figures are bold, labels are not (design-principles.md): one weight for every figure, the clubs' Day figures included */
.fig,.flash tr.row-day td:not(.col-all) .fig{font-weight:500}
.flash td.col-all .fig,.dsr-cell.total .fig{font-weight:500}
/* (d) each club's summary block compact: rows sized to their contents, the label directly above its figure, the row of four kept (rule 8) */
.club-flash{--cell-h:auto}
.club-flash tr.club-row td.flash-cell>.flash-figure{align-content:start;gap:1px;padding:10px 14px}
.club-flash .flash .cl,.club-flash .cl{margin-bottom:1px}
.flash .cl,.dsr-lab{font-weight:500}
.club-flash tr.flash-group>th{padding-top:10px;padding-bottom:2px}
@media(max-width:620px){
 .flash-title>.flash-date,.club-title>.flash-date{flex-basis:100%;margin-left:0}
 .flash-status .latest{margin-left:0}
 .club-flash tr.club-row td.flash-cell>.flash-figure{padding:9px 12px}
}
/* the weather on the night (Caroline, 27 and 28 Sep 2026): one small line under the title of the Daily DSR, beside the latest night; not coloured (S7) */
.weather{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.875rem;color:var(--muted)}
.club-status .weather{margin-left:auto}.club-status .weather+.latest{margin-left:14px}
.wx-icon{flex:none;width:18px;height:18px;fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.wx-temp{font-weight:500;color:var(--ink)}.wx-cond{color:var(--ink)}.wx-dot{color:var(--dim)}.wx-event{font-weight:500;color:var(--ink)}
@media(max-width:620px){.club-status .weather{margin-left:0;flex-basis:100%}.club-status .weather+.latest{margin-left:0}}
/* ---- The Daily DSR's Revenue and Counts as ledger rows (Q137, Caroline, 28 Sep 2026: "Door, then a ton of blank space, then the number, then a ton of blank space"):
   one line per row, the label left, the figure right-aligned in bold, LY and the change on the same line to its right; the row as tall as its text, no vertical
   centring, thin rules between rows; on a phone LY and the change drop beneath the figure only where they must. Held by scripts/verify-layout.cjs. */
.dsr-cell{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:4px 14px;padding:7px 16px}
.dsr-cell.head{padding:9px 16px}
.dsr-lab{font-size:1rem;line-height:1.35}
.dsr-lab small{display:inline;margin-left:6px;font-size:.875rem}
/* One set of columns on every row (Caroline, 30 Sep 2026, 13:05: "the formatting in this counts box looks off"): the figure, LY, the change and the
   weekday average each in a fixed column, so every row of Revenue and Counts lines up down the table; a note ("LY not on file") sits in the LY and change
   space, the shift split beneath the Guests figure, small and grey. Where a row cannot hold four columns and its label (below 1260px and on a phone),
   the label and figure share the first line and LY and the change sit in two fixed columns beneath, the average and the split under them. Held by
   scripts/verify-layout.cjs (the columns check). */
.dsr-fig{display:grid;grid-template-columns:4.6em 5.2em 8em 6.8em;column-gap:12px;row-gap:2px;justify-content:end;align-items:baseline;line-height:1.35;font-variant-numeric:tabular-nums;min-width:0}
.dsr-fig>*{grid-column:2/4;justify-self:end;text-align:right}
.dsr-fig>.fig{grid-column:1;grid-row:1;font-size:1rem}
.dsr-fig>.ly{grid-column:2;grid-row:1;display:inline;font-size:.9375rem}
.dsr-fig>.chg{grid-column:3;grid-row:1;justify-content:flex-end;flex-wrap:nowrap;white-space:nowrap;font-size:.9375rem}.dsr-fig>.chg .inline-performance{font-size:.9375rem}
.dsr-fig>.avg{grid-column:4;grid-row:1;font-size:.875rem;color:var(--muted);white-space:nowrap}
.dsr-fig>.shift-split{grid-column:1;grid-row:2;font-size:.875rem;color:var(--muted);white-space:nowrap}
.dsr-fig>.note{font-size:.875rem}
@media(max-width:1259px){
 .dsr-cell:not(.head){grid-template-columns:minmax(0,1fr) 5.8em 8.8em;column-gap:12px;grid-auto-flow:row dense}
 .dsr-cell:not(.head)>.dsr-lab{grid-column:1/3;grid-row:1}
 .dsr-fig{display:contents}
 .dsr-fig>*{grid-column:1/-1}
 .dsr-fig>.fig{grid-column:3;grid-row:1}
 .dsr-fig>.ly{grid-column:2;grid-row:2}
 .dsr-fig>.chg{grid-column:3;grid-row:2}
 .dsr-fig>.avg,.dsr-fig>.shift-split{grid-column:1/-1;grid-row:auto}
}
@media(max-width:620px){
 .dsr-cell{padding:7px 12px;gap:2px 10px}
 .dsr-cell:not(.head){grid-template-columns:minmax(0,1fr) 6em 9.2em;column-gap:8px}
 .dsr-lab small{display:block;margin-left:0}
 .dsr-fig>.ly,.dsr-fig>.chg,.dsr-fig>.chg .inline-performance,.dsr-fig>.note,.dsr-fig>.avg,.dsr-fig>.shift-split,.dsr-lab small{font-size:1rem}
}
/* ---- Compare metrics' controls in the house style (Caroline, 28 Sep 2026, with the audit fixes): one frame like the page's others, the labels in the
   group-title style, every choice a pill like the hero's switch, the basis switch inside the same frame's flow rather than a second box */
.analysis-controls{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:14px 18px;gap:10px 16px;grid-template-columns:repeat(4,max-content) 1fr;align-items:end;margin-bottom:0}
.analysis-controls .field{font:500 .78rem/1.3 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);gap:6px;min-width:0}
.analysis-controls .field .select-trigger{min-height:36px;padding:7px 14px;border-radius:999px;background:var(--surface-2);border:1px solid var(--object-border);color:var(--ink);font:500 .875rem/1.2 var(--font);letter-spacing:0;text-transform:none;gap:10px}
.analysis-controls>.button{justify-self:end;align-self:end;min-height:36px;padding:7px 14px;border-radius:999px;background:transparent;border:1px solid var(--object-border);color:var(--ink);font:500 .875rem/1.2 var(--font)}
.analysis-controls>.button[disabled]{color:var(--dim);border-color:var(--line)}
.analysis-controls+.basis-controls,.basis-controls{background:none;border:0;padding:0;margin:12px 0 0;box-shadow:none}
.basis-controls .segments{border-radius:999px;padding:2px}.basis-controls .segments button{border-radius:999px;font:500 .8125rem/1 var(--font);padding:7px 12px;min-height:0}
.basis-controls .segments button[aria-pressed=true]{background:var(--all-tint-strong);color:var(--ink);box-shadow:inset 0 0 0 1px var(--navy-fill)}
@media(max-width:900px){.analysis-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-controls>.button{justify-self:start}}
@media(max-width:620px){.analysis-controls{padding:12px 14px}.analysis-controls .field,.analysis-controls .field .select-trigger,.analysis-controls>.button,.basis-controls .segments button{font-size:1rem}}
/* Compare metrics' Revenue breakdown in the flash style (round 3, 24 Sep 2026; restored 28 Sep 2026): a row label and the stacked cell, two columns on every width */
.revenue-breakdown-table.flash-style th[scope=row]{text-align:left;font-weight:500;color:var(--ink);vertical-align:top;padding:9px 14px;white-space:normal}
.revenue-breakdown-table.flash-style td.num{text-align:right;vertical-align:top}
.revenue-breakdown-table.flash-style .fig{display:block}.revenue-breakdown-table.flash-style .chg{justify-content:flex-end}
.revenue-breakdown-table.flash-style .note{display:block;margin-left:auto}
.revenue-breakdown-table.flash-style tr.total th,.revenue-breakdown-table.flash-style tr.total td{border-top:3px double var(--line-strong)}
.revenue-breakdown-table.flash-style tr.total .fig{font-weight:500}
/* ---- The audit's fixes, 28 Sep 2026 (specs/fixes-28-sep-audit.md; held by scripts/verify-layout.cjs) ---- */
/* the day's notes ("No report yet …") in the ink of the line, not orange: orange is kept for the flags (S7, 25 Sep 2026) */
.flash-notes .date-note,.date-detail .date-note{color:var(--ink);font-weight:500}
/* the home grid's Day row larger and heavier than the week, month and year rows (mockup C, 24 Sep 2026; fix 8 of 26 Sep had reversed it) */
.flash:not(.club-flash-table) tr.row-day td:not(.col-all) .fig{font-size:1.35rem;font-weight:500;letter-spacing:-.02em}
@media(max-width:1150px){.flash:not(.club-flash-table) tr.row-day td:not(.col-all) .fig{font-size:1.2rem}}
/* nothing smaller than the body text on a phone (Type C, Caroline, 25 Sep 2026): every line of text at 16px at least; only the titles, the
   figures, the quote and the marks keep their own larger (or, for the marks, drawn) sizes */
@media(max-width:620px){
 body *:not(svg,svg *,.mk,.mk *,h1,h2,.date-arrow,.hero-num,.hero-num *,.fig,.fig *,.dsr-h,blockquote,blockquote *,.flash-big-value,.flash-big-value *){font-size:1rem!important}
 .fig .share,h2.dsr-cell.head{font-size:1rem!important}
 .strip-tag,.definition-help.strip-tag,.flash .flash-corner .gh,.dsr-cell.head,.analysis-controls .field{letter-spacing:.04em}
 .flash-status{row-gap:2px}.flash-status .latest{margin-left:auto}
 .flash-date .flash-vs{order:5;flex-basis:100%;padding-left:0;margin:0}/* last year's date flush beneath the date, not indented (layout fixes, 28 Sep 2026) */
}
/* History by week and by month: the change vs LY on one line, % and amount, as on the flash page; the "So far" or "Partial" tag on its own line under the period's
   name; no definitions sentence under the table (round 3 and Q90, 24 and 25 Sep 2026: definitions on the Rules page) */
.period-table td.pc-vs .flash-figure{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 6px}.period-table td.pc-vs .inline-performance,.period-table td.pc-vs .amt{white-space:nowrap}
.period-table td.pc-vs .note{flex-basis:100%}
.period-table th.flash-label .note{display:block;margin-top:3px}
/* the weather this night and last year, one small line under the Daily DSR's title (Caroline, 28 Sep 2026, 13:50 and 13:58): "☾ 85°, clear | ☂ 79°, rain"; not coloured (S7) */
.weather-line{display:inline-flex;align-items:center;gap:0 10px;min-width:0;max-width:100%;white-space:nowrap;flex-wrap:nowrap}
.weather-line .weather{white-space:nowrap;flex:none}.weather-line:has(.wx-last[aria-expanded="true"]){flex-wrap:wrap}
.club-status .weather-line{margin-left:auto}.club-status .weather-line+.latest{margin-left:14px}
@media(max-width:620px){.weather-line{white-space:normal;flex-wrap:wrap}.weather-line .weather{white-space:normal;flex:0 1 auto;flex-wrap:wrap;overflow:visible;text-overflow:clip}.wx-event{overflow-wrap:anywhere}}/* a long weather event on a narrow phone wraps rather than running past the screen's edge (Tampa 7 Oct 2026, "Heavy rain, 2.1 in" at 150% text; the site's phone check, 8 Oct 2026) */
.wx-sep{color:var(--dim)}
/* the events line under the weather line, the same shape (specs/events-on-the-night.md): its own row, right-aligned beneath the weather on a laptop; TY then LY on their own rows on a phone */
.events-line{display:inline-flex;align-items:center;gap:0 10px;min-width:0;max-width:100%;white-space:nowrap;flex-wrap:nowrap;font-size:.875rem;color:var(--muted)}
.events-line .events{display:inline-flex;align-items:center;gap:6px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto;max-width:100%}/* each half shrinks and ellipsizes so a long calendar name never pushes the line off the page (8 Oct 2026) */
.club-status .events-line{flex-basis:100%;justify-content:flex-end}
.ev-kind{color:var(--ink);font-weight:500}.ev-item{color:var(--ink)}.ev-none,.ev-more{color:var(--muted)}
@media(max-width:620px){.club-status .events-line{flex-wrap:wrap;row-gap:2px;white-space:normal;justify-content:flex-start}.club-status .events-line .wx-sep{display:none}.club-status .events-line>.events{flex-basis:100%;overflow:visible;white-space:normal}}
/* A phone keeps each half of the events line to one row, a long name cut with "…" (the whole name on the night's Sources list), so the small lines stay the
   four rows of 28 and 29 Sep 2026 (2 Oct 2026: New Orleans 1 Oct, "New Orleans Ernest N. Morial Convention Center Career Expo" wrapped to a fifth row) */
@media(max-width:620px){.club-status .events-line>.events{display:flex;flex-wrap:nowrap;align-items:baseline;white-space:nowrap;overflow:hidden}.club-status .events-line>.events>*{flex:none}.club-status .events-line>.events>.ev-item{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}/* the name itself shrinks and ends in "…", so nothing reaches past the screen (the iPhone check, 2 Oct 2026) */
button.wx-last{font:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;color:inherit;text-align:left}
.wx-last-date{flex-basis:100%;color:var(--muted);white-space:nowrap}.wx-last[aria-expanded="true"]{flex-wrap:wrap;overflow:visible}
.weather.none .wx-cond{color:var(--muted)}span.wx-icon{display:inline-block}
@media(max-width:620px){.club-status .weather-line{margin-left:0}.club-status .weather-line+.latest{margin-left:auto}}
.wx-main{white-space:nowrap}

/* Centring (Caroline, 28 Sep 2026, read back and approved; design-principles.md): SALES and LAST NIGHT sit at the left edge of their card row, and each
   card is three bands, the label, the figure, then last year and the change, the outer two the same height, so the figure is at the card's vertical
   centre. A card's tags sit at its head, above the label, inside the label's band, so they never pull the figure off centre. Held by verify-layout. */
.club-flash{--edge:112px}
.club-flash-table>tbody{grid-template-columns:var(--edge) repeat(4,minmax(0,1fr))}
.club-flash .club-flash-table>tbody>tr>th.flash-group-edge{grid-column:1;grid-row:span 1;display:flex;align-items:center;padding:0 12px 0 0;background:transparent;border:0}
.club-flash th.flash-group-edge .gh{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--muted);line-height:1.3}
.club-flash th.flash-group-edge .definition-help{text-transform:none;letter-spacing:0;margin:0}
.club-flash td.flash-cell:nth-child(2){border-left:1px solid var(--line)}
.club-flash tr.club-row td.flash-cell>.flash-figure{display:grid;grid-template-rows:1fr auto 1fr;align-content:stretch;gap:1px}
.club-flash .fx-above{align-self:end;display:flex;flex-direction:column;min-width:0}
.club-flash .fx-below{align-self:start;display:flex;flex-wrap:wrap;align-items:baseline;gap:1px 8px;min-width:0}.club-flash .fx-below>.ly{flex-basis:100%}/* a note shares the change's line where it fits, so the bands stay low */
.club-flash .row-sales .flash-figure{padding-top:10px}
.club-flash td.flash-cell{position:relative}
.club-flash td.flash-cell>.tags{position:absolute;left:14px;right:14px;top:10px;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}
.club-flash{--tag-room:28px}
.club-flash tr.club-row td.flash-cell:has(>.tags) .fx-above{padding-top:var(--tag-room)}
@media(max-width:620px){
 .club-flash{--edge:30px;--tag-room:52px}
 .club-flash th.flash-group-edge .gh{writing-mode:vertical-rl;transform:rotate(180deg);flex-wrap:nowrap;white-space:nowrap;letter-spacing:.1em}/* on a phone the group title reads up the left edge, so the cards keep their width */
 .club-flash th.flash-group-edge .definition-help{transform:rotate(180deg)}
 .club-flash th.flash-group-edge{justify-content:center}
 .club-flash-table>tbody{grid-template-columns:var(--edge) repeat(2,minmax(0,1fr))}
 .club-flash .club-flash-table>tbody>tr>th.flash-group-edge{grid-row:span 2;padding:0 4px 0 0}
 .club-flash td.flash-cell:nth-child(2),.club-flash td.flash-cell:nth-child(4){border-left:1px solid var(--line)}.club-flash td.flash-cell:nth-child(3),.club-flash td.flash-cell:nth-child(5){border-left:1px solid var(--line)}
 .club-flash tr.club-row td.flash-cell:nth-child(n+3){border-top:0}.club-flash tr.club-row td.flash-cell:nth-child(n+4){border-top:1px solid var(--line)}
 .club-flash td.flash-cell>.tags{left:12px;right:12px;top:9px}
}
/* The hero as tall as its figure block (Caroline, 28 Sep 2026, read back and approved): the switch, the figure and pill, and LY with the change sit
   together at the top with no space pushed between them; on a laptop the chart takes its height from that block (it asks for none of its own), so the
   two start and end level and the card is no taller than its figures. On a phone the chart sits beneath at its own height. Held by verify-layout. */
.hero-main{justify-content:flex-start;gap:14px}.hero-body{flex:none;justify-content:flex-start}.hero .hero-sub{margin-top:8px}
.hero{align-items:stretch}
.hero-chart{contain:size;min-height:0;align-self:stretch}
.hero .hx{min-height:0;height:100%;grid-template-rows:minmax(0,1fr) auto auto}
@media(max-width:900px){.hero{grid-auto-rows:1fr}}/* stacked, the chart's row the same height as the figure block's */

/* Type: Neue Haas Grotesk (Caroline, 28 Sep 2026; specs/type-neue-haas-grotesk-decision.md, read back and approved). Served from Caroline's Adobe
   Fonts kit ezj1euc (index.html, rules.html), never copied in. Display at 500 for the figures, headings, the pill, the change line and the group
   titles; 700 for the round club marks (the KM mark is drawn, not set in type); Text at 400 and 500 for labels, body, dates and hovers; tabular
   figures kept. Every weight above was brought onto this scale the same day (nothing between 500 and 700: Text has no 600). Held by verify-layout. */
h1,h2,h3,.big-value,.gh,.gh-bar .gh,.fig,.flash-big-value,.hero-num,.weekday,.revenue,.prior-value,.aph-current,.aph-ly b,.daily-value,.daily-prior-value,.comparison-current,.comparison-prior,.count-current,.count-ly,.inline-performance,.chg,.chg .amt,.direction,.hero-pill,.data-table td.num,.revenue-breakdown-table td,.weekday-table .comparison-current,.page-heading h1,.snapshot .big-value,.dsr-h,.flash-corner .gh,.flash-group-edge .gh,.wx-temp{font-family:var(--display);font-weight:500}
.mk{font-family:var(--display);font-weight:700}
b,strong,th{font-weight:500}
/* ---- Caroline's phone review (28 Sep 2026, 15:45 and 15:55; read back and approved; specs/fixes-28-sep-phone-review.md). Held by verify-layout. */
/* 2: the live dot inside the date control on a club page, breathing on the latest night, still and grey on a past one */
.flash-date-text{display:inline-flex;align-items:center}.flash-date-text .live{margin:0 8px 0 0}
.flash-date-text.past .live{animation:none;background:var(--dim);box-shadow:none}
/* 5: the Super Bowl switch in the small-tag style, one line; on a phone once, full width, above the cards */
.sb-switch{max-width:100%;text-align:left}/* one line where the cell has room; in a narrow cell it wraps inside its own box, never across the next club's column (29 Sep 2026: at 1280 px it ran into Tampa's) */
.sb-phone{display:none}
/* 6: SALES and LAST NIGHT read up a narrow strip at every width, no wider than the text and a little padding */
.club-flash-table>tbody{grid-template-columns:max-content repeat(4,minmax(0,1fr))}
.club-flash .club-flash-table>tbody>tr>th.flash-group-edge{justify-content:center;padding:0 7px}
.club-flash th.flash-group-edge .gh{writing-mode:vertical-rl;transform:rotate(180deg);flex-wrap:nowrap;white-space:nowrap;letter-spacing:.1em}
.club-flash th.flash-group-edge .definition-help{transform:rotate(180deg)}
/* 6: each card's whole block, label to change, centred top to bottom with equal space above and below; a card's tags sit in room kept at the head, and the
   same room at the foot, so the block stays centred */
.club-flash tr.club-row td.flash-cell>.flash-figure{display:flex;flex-direction:column;justify-content:center;gap:1px}
.club-flash .fx-above,.club-flash .fx-below{align-self:stretch}
.club-flash tr.club-row td.flash-cell:has(>.tags) .fx-below{padding-bottom:var(--tag-room)}
/* 7: the weather line, TY and LY before each icon */
.wx-yr{color:var(--muted);margin-right:2px}
/* 8: the hero's day labels: "MON 21" on a laptop at the small-label size; the weekday letters alone on a phone */
.hx-x .ax-short{display:none}
.hero .hx:not([data-scale=gap]) .hx-x .ax{font-size:.72rem}
@media(max-width:620px){
 .club-flash-table>tbody{grid-template-columns:max-content repeat(2,minmax(0,1fr))}
 .club-flash .club-flash-table>tbody>tr>th.flash-group-edge{padding:0 5px}
 .sb-phone{display:flex;margin:0 0 10px}.sb-phone .sb-switch{margin:0}
 .flash td.flash-cell .tags>.sb-switch{display:none}
 .flash td.flash-cell>.tags:has(>.sb-switch:only-child),.flash td.flash-cell .tags:has(>.sb-switch:only-child){display:none}
 .club-flash tr.club-row td.flash-cell:has(>.tags>.sb-switch:only-child) .fx-above{padding-top:0}
 .club-flash tr.club-row td.flash-cell:has(>.tags>.sb-switch:only-child) .fx-below{padding-bottom:0}
 .hx-x .ax-long{display:none}.hx-x .ax-short{display:inline}
 .hero .hx:not([data-scale=gap]) .hx-x{height:24px}.hero .hx:not([data-scale=gap]) .hx-x .ax{width:auto;font-size:1rem}
 /* 4: heavier on a phone: figures and headings up one weight, Display 500 to 700; labels Text at 500 */
 h1,h2,h3,.gh,.fig,.flash-big-value,.hero-num,.revenue,.dsr-h,.flash-corner .gh,.flash-group-edge .gh,.wx-temp,.dsr-fig>.fig{font-weight:700!important}/* one weight for every figure on a phone, whatever a page's own rule says */
 .cl,.dsr-lab,.rl,.flash .cl{font-weight:500!important}
 /* 9: the Revenue and Counts rows: this year's figure large and bold on its own line, right-aligned; LY and the change beneath, smaller. The summary
    cards' figures at the same size, so a figure and its LY read the same way everywhere */
 .dsr-fig>.fig{text-align:right;font-size:1.25rem;line-height:1.25}
 .dsr-fig>.ly,.dsr-fig>.chg,.dsr-fig>.chg .inline-performance,.dsr-fig>.note{color:var(--muted)}
 .dsr-fig>.chg .inline-performance.positive{color:var(--green)}.dsr-fig>.chg .inline-performance.negative{color:var(--red)}
 .club-flash td.flash-cell .fig{font-size:1.25rem}
}
/* 7 on a phone: the two halves stack, TY above LY, when one line cannot hold both; never cut off */
@media(max-width:620px){.club-status .weather-line{flex-wrap:wrap;row-gap:2px;white-space:normal}.club-status .weather-line .wx-sep{display:none}.club-status .weather-line>.weather{flex-basis:100%;overflow:visible}}
/* Comp admissions' share says what it is, "58 · 50% of guests" (Caroline, 28 Sep 2026, 16:25; built 29 Sep 2026): one line where it fits; where it does not,
   "50% of guests" goes on the line beneath and its dot, left of the cell's edge, is clipped away */
.fig.has-share{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:.75em;overflow:hidden;white-space:normal}
.fig.has-share>span{white-space:nowrap}
.fig.has-share .share{position:relative}
.fig.has-share .share::before{content:'·';position:absolute;left:-.5em}
/* Manager comments read against flagged and standout nights (Caroline, 29 Sep 2026; specs/manager-comments.md): grey, never a colour (S7) */
.comment-mark{position:absolute;top:4px;right:9px;font:600 1.25rem/1 var(--display);color:var(--muted);cursor:default}
.note-dot+.comment-mark{right:24px}
.comment-tag{display:inline-block;padding:1px 7px;border:1px solid var(--line-strong);border-radius:3px;color:var(--muted);font:500 .6875rem/1.4 var(--font);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.dsr-quote figcaption .comment-tag{align-self:center}
.ly-quote{margin-top:12px}
.ly-quote-label{margin:14px 0 6px;color:var(--muted);font-size:.8125rem;letter-spacing:.02em}
.comments-beside .ly-quote-label:first-of-type{margin-top:6px}
.dsr-quote.quiet{background:transparent;border-style:dashed}
.dsr-quote.quiet blockquote p{font-size:1rem;color:var(--muted)}
.dsr-quote.quiet::before{opacity:.5}
.comments-beside{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.history-comment{display:block;max-width:22rem;white-space:normal;font-size:.875rem;color:var(--ink);text-align:left}
.history-comment summary{cursor:pointer;list-style:none}.history-comment summary::-webkit-details-marker{display:none}
.history-comment summary::after{content:" …";color:var(--muted)}
.history-comment[open] summary::after{content:""}
.history-comment p{margin:6px 0 0;color:var(--muted)}
td .comment-tag{margin:4px 4px 0 0}
.tags-table .tag-words{white-space:normal;max-width:48rem;display:block}
.tag-form input[name=words]{width:min(38rem,100%)}
/* The reconciliation list page (30 Sep 2026; specs/reconciliation-list-page.md): the open items by club, the manager's report beside Paul's by month, the answers */
.recon-h{font:500 1.125rem/1.3 var(--font);color:var(--ink);margin:30px 0 10px}
.recon-table{margin-bottom:14px}
.recon-none,.recon-summary{padding:12px 18px;margin:0;color:var(--muted)}
.recon-summary b,.recon-month b{color:var(--ink);font-weight:500}
table.recon td{vertical-align:top}
table.recon .recon-what{min-width:18em;max-width:34em}
table.recon .recon-night,table.recon .recon-since{white-space:nowrap}
table.recon td.num .note{display:block;color:var(--muted);font-size:.8125rem}
.recon-month{border-top:1px solid var(--rule)}
.recon-month>summary{display:flex;flex-wrap:wrap;gap:4px 16px;padding:10px 18px;cursor:pointer;color:var(--muted)}
.recon-month>summary .recon-month-name{color:var(--ink);font-weight:500;min-width:6.5em}
.recon-month[open]>summary{border-bottom:1px solid var(--rule)}
.recon-form{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.recon-form label{flex:1 1 14em}.recon-form input[name=answer]{width:100%}
@media(max-width:620px){.recon-none,.recon-summary,.recon-month>summary{padding-left:14px;padding-right:14px}table.recon td.num .note{font-size:1rem}}
table.recon th,table.recon td{text-align:left}table.recon td.num,table.recon th.num{text-align:right}
/* on a phone each item is a small card: the night and the amount, the line and who it is for, then what disagrees in full (no sideways scrolling) */
@media(max-width:620px){
 table.recon thead{display:none}
 table.recon,table.recon tbody{display:block}
 table.recon tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:10px 14px;border-top:1px solid var(--rule)}
 table.recon td{display:block;padding:0;border:0;min-width:0!important;max-width:none!important;white-space:normal}
 table.recon td[data-l]::before{content:attr(data-l) " ";color:var(--muted)}
 table.recon .recon-night{grid-column:1;grid-row:1;font-weight:500}
 table.recon .recon-by,table.recon .recon-diff{grid-column:2;grid-row:1;text-align:right}
 table.recon .recon-line{grid-column:1;grid-row:2;color:var(--muted)}
 table.recon .recon-for{grid-column:1;grid-row:3}
 table.recon .recon-since{grid-column:2;grid-row:2;text-align:right;color:var(--muted)}
 table.recon .recon-what{grid-column:1/-1}
 table.recon .recon-reason{grid-column:1/-1}
}
.flash-cell .avg-note{display:block}/* the weekday average on a card: its own small grey line beneath the change (Caroline, 30 Sep 2026) */
/* ---- The Daily DSR's tables named once and ruled (Caroline, 30 Sep 2026, 15:00 to 16:14): a header row over Revenue and Counts naming the columns
   "TY | LY | Change | 8-wk avg (Tue)" ("2024" for LY where the night is compared two years back), numbers only in the cells, thin vertical rules between the
   columns in the row rules' grey; the average's label shows in the cell only where the table has no average column (below 1260px and on a phone). The shift
   split its own thin grey row under Guests (14:55). Held by scripts/verify-layout.cjs. */
.dsr-cell.head{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:4px 14px}
.dsr-colheads{display:grid;grid-template-columns:4.6rem 5.2rem 8rem 6.8rem;column-gap:12px;justify-content:end;font:500 .8125rem/1.3 var(--font);text-transform:none;letter-spacing:0;color:var(--muted)}
.dsr-colheads>span{text-align:right;white-space:nowrap}
.dsr-colheads .ch-avg{cursor:help}
.dsr-fig .avg-lab{display:none}
.dsr-cell:not(.head),.dsr-cell.head{--vr:linear-gradient(var(--rule),var(--rule));background-image:var(--vr),var(--vr),var(--vr),var(--vr);background-repeat:no-repeat;background-size:1px 100%;
 background-position:right calc(22px + 6.8rem) top 0,right calc(34px + 14.8rem) top 0,right calc(46px + 20rem) top 0,right calc(59px + 24.6rem) top 0}
/* A line on hover, or a tap on a phone (Caroline, 30 Sep 2026, 18:05 and 18:20): Baltimore's "2024" line gives its date and whose figure; "Guests" on a club's
   Daily DSR gives the shift split. The same box as a chart point's. The 2024 tag sits on the same line as the 2024 figure. */
.tap-tip{cursor:help;-webkit-tap-highlight-color:transparent}
.dsr-lab .tap-tip{text-decoration:underline dotted var(--dim);text-underline-offset:3px;outline:none}
.strip-tag.tag-inline{display:inline-block;margin:0 0 0 6px;padding:0 5px;vertical-align:1px;font-size:.6875rem;line-height:1.35;cursor:inherit}
/* Comps: TY | LY | Change, the same column widths as Counts, flush to the right edge; no average column (17:55) */
.dsr-table.no-avg .dsr-fig{grid-template-columns:4.6em 5.2em 8em}
.dsr-table.no-avg .dsr-colheads{grid-template-columns:4.6rem 5.2rem 8rem}
.dsr-table.no-avg .dsr-cell:not(.head),.dsr-table.no-avg .dsr-cell.head{background-image:var(--vr),var(--vr),var(--vr);background-position:right calc(22px + 8rem) top 0,right calc(34px + 13.2rem) top 0,right calc(47px + 17.8rem) top 0}
.dsr-fig>.note.wide{grid-column:2/5}.dsr-table.no-avg .dsr-fig>.note.wide{grid-column:2/4}
@media(max-width:1259px){
 .dsr-cell.head{grid-template-columns:minmax(0,1fr) 5.8rem 8.8rem;column-gap:12px}
 .dsr-colheads{display:contents}
 .dsr-colheads .ch-ly{grid-column:2;grid-row:1}
 .dsr-colheads .ch-ty{grid-column:3;grid-row:1}
 .dsr-colheads .ch-chg,.dsr-colheads .ch-avg{display:none}
 .dsr-fig .avg-lab{display:inline}
 .dsr-cell:not(.head),.dsr-cell.head,.dsr-table.no-avg .dsr-cell:not(.head),.dsr-table.no-avg .dsr-cell.head{background-image:var(--vr);background-position:right calc(22px + 8.8rem) top 0}
 .dsr-fig>.note.wide,.dsr-table.no-avg .dsr-fig>.note.wide{grid-column:1/-1}
}
@media(max-width:620px){
 .dsr-cell.head{grid-template-columns:minmax(0,1fr) 6rem 9.2rem;column-gap:8px}
 .dsr-colheads>span{font-size:.875rem}
 .dsr-cell:not(.head),.dsr-cell.head,.dsr-table.no-avg .dsr-cell:not(.head),.dsr-table.no-avg .dsr-cell.head{background-position:right calc(16px + 9.2rem) top 0}
}
.dsr-fig>.note,.dsr-fig>.strip-tag,.dsr-fig>.avg{background:var(--surface);padding-left:6px}/* a note spanning LY and the change sits over the rule between them, not through it */
/* The row-label column pinned on a phone (Caroline, 30 Sep 2026, 14:10; reverses the 27 Sep "nothing pinned" for this column only): on the home grid, Compare
   clubs and every club's summary block the labels stay put, fully opaque, and the club columns scroll behind them; the All clubs column still scrolls. */
@media(max-width:900px){
 .flash-home th.flash-label,.flash-home .flash-corner,.club-flash-table th.flash-label,.club-flash-table .flash-corner,
 table.flash-home tr.flash-head-repeat .flash-corner,table.club-flash-table tr.flash-head-repeat .flash-corner,
 .read-change-table th.flash-label{position:sticky;left:0;z-index:3;background-color:var(--white);box-shadow:1px 0 0 var(--rule)}
}
/* A chart point's line on hover or tap (Caroline, 30 Sep 2026, 14:20): invisible bands over the plot, one per point; the line above the plot, small, in the
   page's own surface and type; the point's band a faint tint while shown. */
.hx-hit{position:absolute;top:0;bottom:0;z-index:3;outline:none;-webkit-tap-highlight-color:transparent}
.hx-hit.on,.hx-hit:focus-visible{background:color-mix(in srgb,var(--ink) 5%,transparent)}
.chart-tip{position:fixed;z-index:60;pointer-events:none;display:grid;gap:2px;max-width:min(92vw,480px);padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow);font:500 .8125rem/1.35 var(--font);font-variant-numeric:tabular-nums}
.chart-tip[hidden]{display:none}
.chart-tip-sub{color:var(--muted);font-weight:400}
@media(max-width:620px){.chart-tip{font-size:.9375rem}}
.dsr-cell.split{background-image:none}.dsr-cell.split>.dsr-lab{grid-column:1/-1;white-space:nowrap}.dsr-cell.split>.dsr-fig{display:none}/* the split row runs the table's width, one line, no column rules through it */
/* On a phone and a narrow laptop this year's figure left, last year's to its right, the change beneath them, the same order as the laptop's columns
   (Caroline, 30 Sep 2026, 17:10: "that reads backwards to me"); the header row "TY | LY" over them, a rule between. Held by scripts/verify-layout.cjs. */
@media(max-width:1259px){
 .dsr-cell:not(.head),.dsr-cell.head{grid-template-columns:minmax(0,1fr) 6rem 6.4rem;column-gap:12px}
 .dsr-cell:not(.head)>.dsr-lab{grid-column:1;grid-row:1}
 .dsr-fig>.fig{grid-column:2;grid-row:1}
 .dsr-fig>.ly{grid-column:3;grid-row:1}
 .dsr-fig>.chg{grid-column:2/4;grid-row:2;background:var(--surface);padding-left:6px}
 .dsr-colheads .ch-ty{grid-column:2;grid-row:1}
 .dsr-colheads .ch-ly{grid-column:3;grid-row:1}
 .dsr-cell:not(.head),.dsr-cell.head{background-image:var(--vr),var(--vr);background-position:right calc(22px + 6.4rem) top 0,right calc(34px + 12.4rem) top 0}
 .dsr-cell.split{background-image:none}
}
@media(max-width:620px){
 .dsr-cell:not(.head),.dsr-cell.head{grid-template-columns:minmax(0,1fr) 6rem 6.4rem;column-gap:8px}
 .dsr-cell:not(.head),.dsr-cell.head{background-position:right calc(16px + 6.4rem) top 0,right calc(24px + 12.4rem) top 0}
 .dsr-cell.split{background-image:none}
}
/* ---- Look fixes (Caroline, 30 Sep 2026, 17:45): the Sales and Last night rows of a club's summary block the same height at every width, each row a track
   as tall as the block's tallest card, so the Super Bowl switch's room at the head of its card is the same band in both rows; and a tag's words start on the
   same left line as the label and figures beneath it, not the pill's edge: the pill's own left padding and border move out to the left (SUPER BOWL · INCLUDED,
   UNRELIABLE, 2024, and the hero's pills alike). Held by scripts/verify-layout.cjs. */
.club-flash{--cell-h:1fr}
.flash td.flash-cell>.tags>:first-child{margin-left:-9px}
.hero-tags>:first-child{margin-left:-10px}
@media(max-width:620px){.club-flash{--cell-h:auto}}/* on a phone the switch sits once above the cards, so it adds no height; each pair of cards keeps its own height */
.ly.tap-tip{white-space:normal}.ly.tap-tip>.tag-inline{white-space:nowrap}/* where the card is too narrow, the 2024 tag drops beneath its figure rather than past the card's edge */
/* The two sides of the Daily DSR end on the same line (Caroline, 30 Sep 2026, evening: "i want the bottoms to be in the same spot"): Revenue and Counts with
   Comps beneath stretch to the taller side; the shorter side's last table takes the difference, shared across its rows, its figures centred in each row. A
   laptop only: on a phone the tables stack. Held by scripts/verify-layout.cjs. */
.dsr-cols{align-items:stretch}
.dsr-stack>.dsr-table:last-child{flex:1 1 auto}
.dsr-table>.dsr-cell:not(.head){flex:1 1 auto;align-content:center}
/* Phone fixes (Caroline, 30 Sep 2026, 21:25: "day data i spilling out of the cell and also the cells are not shifting left so i can see beyond WTD"):
   everything stays inside its card, the average line wrapping where it must; and the summary block scrolls sideways, SALES / LAST NIGHT pinned at the left,
   wherever its cards are wider than the screen, so every card can be reached. Held by scripts/verify-layout.cjs. */
@media(max-width:620px){
 .club-flash .flash-cell .avg-note{white-space:normal;overflow-wrap:anywhere}
 .club-flash .fx-below>*{max-width:100%}
 .club-flash{overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
 .club-flash .club-flash-table>tbody>tr>th.flash-group-edge{position:sticky;left:0;z-index:2;background:var(--surface)}
}
/* The weekday average on the home grid and Compare clubs (Caroline, 30 Sep 2026, 13:40 and 13:42; built that night): the same small grey line as a club's
   cards, wrapping inside its cell where the column is narrow, never into the next club's column. */
.read-change-table .avg-note,.snapshot .avg-note,.flash-home .avg-note{white-space:normal;overflow-wrap:anywhere}
.snapshot>.avg-note{display:block;margin-top:2px;font-size:.8125rem;color:var(--muted)}
/* The Daily DSR's year picker (Caroline, 30 Sep 2026, 13:59; Cowork's mockup, "ok great that's perfect"): the "vs" date a button, a dashed underline its only
   hint, a caret; the menu lists the club's years on file, last year first, the chosen one ticked; the year's tag beside the date when an earlier year is chosen. */
.yr-pick{position:relative;display:inline-flex;align-items:center;gap:6px}
.yr-button{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:underline dashed var(--dim);text-underline-offset:4px}
.yr-button[aria-expanded=true]{color:var(--ink)}
.yr-caret{margin-left:4px;font-size:.75em;color:var(--dim)}
.yr-pick .tag-inline{margin:0}
.yr-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:30;display:grid;min-width:220px;padding:6px;background:var(--raised,var(--surface));border:1px solid var(--line-strong);border-radius:10px;box-shadow:var(--shadow-lift,var(--shadow))}
.yr-menu button{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:9px 10px;border:0;border-radius:6px;background:transparent;color:var(--ink);font:inherit;font-size:.9375rem;text-align:left;cursor:pointer;white-space:nowrap}
.yr-menu button span{color:var(--muted)}
.yr-menu button:hover,.yr-menu button:focus-visible{background:var(--surface-3)}
.yr-menu button[aria-checked=true]{background:var(--all-tint-strong)}
@media(max-width:620px){.yr-menu{left:0;right:auto;min-width:min(260px,calc(100vw - 32px))}}/* on a phone the vs date starts its own line at the left, so the menu opens from there */
/* ---- TELL ME (spec specs/tell-me.md; build 1, 30 Sep 2026): one panel per club in the house style; the morning four as four cards like a club's summary
   block, a figure outside its usual range tinted as the flags are; Factors as three short lists, each fall labelled "Consistent with …" (a quiet tint) or
   "Flag for Ops" (the orange of the flags); nothing scrolls sideways on a phone but the week's small table, inside its own box. */
.tm-status{margin:4px 0 0}
.tm-club{margin-top:22px}.tm-club .gh{display:flex;align-items:center;gap:8px}.tm-date{margin-left:auto;font-weight:400;color:var(--muted);text-transform:none;letter-spacing:0}
.tm-body{padding:4px 18px 18px}
.tm-h{font:500 .8125rem/1.3 var(--font);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:18px 0 8px}
.tm-four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:10px;overflow:hidden}
.tm-cell{display:flex;flex-direction:column;gap:2px;padding:12px 14px;min-width:0}.tm-cell+.tm-cell{border-left:1px solid var(--line)}
.tm-cell .fig{font-size:1.25rem}.tm-cell .note{white-space:normal}
.tm-cell.tm-below{background:var(--flag-warn)}.tm-cell.tm-above{background:var(--surface-3)}/* above its range is neutral: higher is not automatically better (rule 4) */
.tm-link{background:none;border:0;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.tm-link:hover,.tm-link:focus-visible{text-decoration:underline;text-underline-offset:3px}
.tm-list,.tm-lines{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.tm-list li,.tm-lines li{line-height:1.45}
.tm-quiet{color:var(--muted);margin:4px 0}
.tm-scroll{max-width:100%;overflow-x:auto}
.tm-week{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}
.tm-week th,.tm-week td{padding:7px 10px;border-bottom:1px solid var(--rule);text-align:right;white-space:nowrap}
.tm-week th:first-child{text-align:left}.tm-week thead th{font:500 .8125rem/1.3 var(--font);color:var(--muted)}
.tm-chg{font-size:.875rem}
.tm-lines{margin-top:10px}
.tm-open{margin:8px 0 0;font-size:.875rem;color:var(--muted)}.tm-open .tm-link{text-decoration:underline dotted;text-underline-offset:3px}
.tm-factor{border-top:1px solid var(--rule);padding-top:10px;margin-top:10px}
.tm-factor h3{font-size:1rem;font-weight:500;margin:0 0 6px}
.tm-how{margin-top:22px}
@media(max-width:620px){
 .tm-body{padding:4px 12px 14px}
 .tm-four{grid-template-columns:repeat(2,minmax(0,1fr))}.tm-cell:nth-child(3){border-left:0}.tm-cell:nth-child(n+3){border-top:1px solid var(--line)}
 .tm-date{flex-basis:100%;margin-left:0}
}
.tm-week-list{display:none;margin:0}
@media(max-width:620px){
 .tm-scroll{display:none}
 .tm-week-list{display:grid;gap:8px}.tm-week-list>div{display:grid;grid-template-columns:minmax(0,7em) minmax(0,1fr);gap:8px;border-bottom:1px solid var(--rule);padding-bottom:6px}
 .tm-week-list dt{font-weight:500}.tm-week-list dd{margin:0;display:grid;gap:2px}.tm-week-list dd span{color:var(--muted)}
}
/* TELL ME build 2: Worth asking and What to check as framed lists; guests per entertainer as thirteen small bars, each week on hover or tap; comps a
   small table. */
.tm-bars{display:flex;align-items:flex-end;gap:4px;height:60px;padding:2px 0;border-bottom:1px solid var(--line);max-width:420px}
.tm-bar{flex:1 1 0;min-width:6px;background:var(--navy-fill);border-radius:2px 2px 0 0;opacity:.85}.tm-bar.tm-none{background:transparent}
.tm-bar.on,.tm-bar:focus-visible{opacity:1;outline:2px solid var(--line-strong)}
.tm-pe .tm-quiet{margin-top:6px}
.tm-comps{border-collapse:collapse;font-variant-numeric:tabular-nums;min-width:min(100%,420px)}
.tm-comps th,.tm-comps td{padding:5px 10px;border-bottom:1px solid var(--rule);text-align:right}.tm-comps th:first-child{text-align:left;font-weight:400}
.tm-comps thead th{font:500 .8125rem/1.3 var(--font);color:var(--muted)}
@media(max-width:620px){.tm-comps{width:100%}.tm-comps th,.tm-comps td{padding:5px 6px}}
/* The loading line (NEXT-STEPS housekeeping, the cold-open blank of 21 Sep 2026): shown only until the figures have loaded and the page is drawn over it */
.loading-note{margin:48px auto;text-align:center;color:var(--muted);font-size:1rem}
/* Every switch fits the screen at any text size (Caroline, 1 Oct 2026, answering Q155: "can't see past WTD on each club DSR page"; with Safari's text
   size or the phone's larger text turned up, the Day | WTD | MTD | YTD switch and the Daily DSR | Compare metrics | History switch ran off the right of the
   screen with no way to reach MTD, YTD or History). On a phone each switch is as wide as the column and its buttons share it equally, a name wrapping to a
   second line where it must; nothing runs off the screen. Held by scripts/verify-safari-phone.cjs and km-club-site/scripts/check-dashboard-phone.js. */
@media(max-width:620px){
 .club-views,.club-title .club-views,.hero-switch{display:flex;width:100%;max-width:100%;min-width:0;box-sizing:border-box}
 .club-views>button,.hero-switch>button{flex:1 1 auto;min-width:0;white-space:normal;overflow-wrap:normal;word-break:keep-all;text-align:center;padding-left:4px;padding-right:4px;line-height:1.2}
 .hero-switch>button{padding-left:2px;padding-right:2px}/* words break only at a space: "Compare / metrics", never "WT / D"; the text keeps the phone's body size (the audit) */
 .hero-main,.hero .hero-head,.flash-date{min-width:0;max-width:100%}
}
@media(max-width:620px){
 .club-title .club-views.segments{flex-wrap:wrap}.club-title .club-views.segments>button,.page-heading .club-views.segments>button{flex:1 1 0;min-width:min-content;padding:8px 2px}/* the views share the width equally, "Compare metrics" on two lines where it must; a button is never narrower than its longest word, so with the fourth view at a phone's larger text the row wraps rather than clipping a word (8 Oct 2026) */
}
/* A very narrow page (a small phone with Safari's text size or the phone's larger text turned well up): the summary block one card a row, so no figure
   is wider than its card (Q155, 1 Oct 2026). */
@media(max-width:330px){
 .club-flash .club-flash-table>tbody{grid-template-columns:max-content minmax(0,1fr);grid-template-rows:none}
 .club-flash .club-flash-table>tbody>tr>th.flash-group-edge{grid-row:span 4}
 .club-flash td.flash-cell:nth-child(n){border-left:1px solid var(--line)}.club-flash tr.club-row td.flash-cell:nth-child(n+3){border-top:1px solid var(--line)}
 .club-views.segments{padding:2px}
}
@media(max-width:330px){
 .tm-four{grid-template-columns:minmax(0,1fr)}.tm-cell+.tm-cell{border-left:0;border-top:1px solid var(--line)}
 .tm-comps{min-width:0;width:100%;table-layout:fixed}.tm-comps th,.tm-comps td{white-space:normal;padding:5px 4px;overflow-wrap:anywhere}
}
/* The summary block's card titles read as titles (Caroline, 1 Oct 2026: "at the very least bold them and/or standarize so that all titles look the same and
   like actual titles and not text. i literally missed them and thought i had to scroll right for the mtd and ytd data"): all eight in one style, bold
   capitals a little spaced, in the ink of the REVENUE and COUNTS headings; DAY, WTD, MTD, YTD for Sales. This changes the 28 Sep 2026 type rule's labels at
   500 for these eight titles only. Held by scripts/verify-layout.cjs. */
.club-flash td.flash-cell .cl,.club-flash .flash .cl{font-weight:700!important;text-transform:uppercase;letter-spacing:.06em;color:var(--ink);font-size:.8125rem;margin-bottom:2px}
@media(max-width:620px){.club-flash td.flash-cell .cl,.club-flash .flash .cl{font-size:1rem;letter-spacing:.04em}}
/* A thin line under each of the summary block's eight titles, so each stands clear of its figures (Caroline, 1 Oct 2026: "i still think any underline
   beneath the title would be hlepful"; read back and approved): the same thin grey line on all eight, as wide as the title's words, phone and laptop. */
.club-flash td.flash-cell .cl,.club-flash .flash .cl{align-self:flex-start;display:inline-block;padding-bottom:3px;border-bottom:1px solid var(--line-strong)}
@media(max-width:620px){.club-flash td.flash-cell .cl,.club-flash .flash .cl{width:min-content;max-width:100%}}/* a two-line title (COMP ADMISSIONS) breaks at its space and its line is as wide as its longer word */
/* Top, not centred (Caroline, 1 Oct 2026, her "Top"; this changes the 28 Sep 2026 centring rule for the summary block): every card's title and figures
   start at the top of the card, so the two titles in a row sit on one line, any spare room at the foot. A row with a tag in any card keeps the tag's room at
   the top of every card in it, so the titles still line up. */
.club-flash tr.club-row td.flash-cell>.flash-figure{display:flex!important;flex-direction:column;justify-content:flex-start!important;align-content:flex-start;gap:1px}
.club-flash .fx-above,.club-flash .fx-below{align-self:stretch;flex:none}
.club-flash tr.club-row td.flash-cell:has(>.tags) .fx-below{padding-bottom:0}
.club-flash tr.club-row:has(td.flash-cell>.tags) td.flash-cell .fx-above{padding-top:var(--tag-room)}
@media(max-width:620px){.club-flash tr.club-row:has(td.flash-cell>.tags>.sb-switch:only-child):not(:has(td.flash-cell>.tags>:not(.sb-switch))) td.flash-cell .fx-above{padding-top:0}}
/* The average line on one line (Caroline, 1 Oct 2026: "the size of the text automatically shrinks so that the average explanation shrinks to one line,
   including the count, and two lines if you must say drink only"; her "13px"): it shrinks to fit its card, never below 13px (app.js, fitAverages). */
.club-flash .flash-cell .avg-note{white-space:nowrap}
/* On a phone's summary block the average reads "8-wk avg $3,196": the weekday is on the date line, so one line fits every iPhone (Caroline, 1 Oct 2026,
   her choice of the short form; this changes the 30 Sep 2026 wording on phones only). Everywhere else, "8-wk avg (Tue) $3,196"; the full words on hover. */
.avg-short{display:none}
@media(max-width:620px){.club-flash .avg-long{display:none}.club-flash .avg-short{display:inline}}

/* Baltimore's asterisk and its footnote (Caroline, 1 Oct 2026) */
.ly-star{margin-left:1px;cursor:help}
.star-footnote{margin:12px 0 0;font-size:13px;color:var(--muted);line-height:1.4}
.hero.no-chart .hero-main{flex:1}/* the chart off (1 Oct 2026): the figure block takes the card's width */
/* Colours (Caroline, 1 Oct 2026, approved): red only for negatives, falls against a comparison and below-range warnings (the warning tint, orange
   until now, is red); every $ change is the same green or red as the % beside it, as coloured text, no pill or background; last year's figures and
   entertainer and waitress changes stay grey (their classes are neutral). Trial: Caroline judges the $ change on the live site. */
.inline-performance.positive~.amt,.hero.positive .hero-sub .amt{color:var(--green)}
.inline-performance.negative~.amt,.hero.negative .hero-sub .amt{color:var(--red)}
.inline-performance.neutral~.amt{color:var(--muted)}
.amt{background:none}
.flash td.col-all .inline-performance.positive~.amt,.club-flash td.col-all .inline-performance.positive~.amt{color:var(--green)}
.flash td.col-all .inline-performance.negative~.amt,.club-flash td.col-all .inline-performance.negative~.amt{color:var(--red)}
/* The Club Daily page (Caroline, 1 Oct 2026): Paul's layout, the full grid on a laptop, one window at a time on a phone */
/* the reported marker beside Club Daily's date (Caroline, 3 Oct 2026): "4/5" and the dot, quiet, the whole line on hover or tap */
.cd-reported{display:inline-flex;align-items:center;gap:6px;margin-left:4px;color:var(--muted);font-size:.875rem;white-space:nowrap;outline:none}
.cd-reported:focus-visible{text-decoration:underline dotted var(--dim);text-underline-offset:3px}
.cd-reported .live-dot{width:7px;height:7px;border-radius:50%;background:var(--green);flex:none}.cd-reported .live-dot.waiting{background:var(--grey)}
.cd-date{margin:14px 0 0;color:var(--muted);font-size:.9375rem}
/* the Super Bowl switch as a footnote on Club Daily and All clubs (Caroline, 3 Oct 2026): the footnote's size and colour, the word to tap underlined */
.sb-foot{margin:12px 0 0;font-size:13px;color:var(--muted);line-height:1.4}.sb-foot+.star-footnote{margin-top:4px}
.sb-foot .sb-flip{font:inherit;color:inherit;padding:0;text-decoration:underline;text-underline-offset:2px;min-height:0}
.cd-notes-foot{margin-top:24px}
.cd-switch{display:none;margin:14px 0 0}
.cd-frame{margin-top:16px}
.cd-grid{width:100%;border-collapse:collapse;table-layout:fixed}
.cd-grid thead th{font-weight:600;font-size:.8125rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);text-align:left;padding:12px 14px;border-bottom:1px solid var(--line)}
.cd-grid .cd-corner{width:170px}
.cd-grid th.cd-club{text-align:left;vertical-align:top;padding:16px 14px;border-bottom:1px solid var(--line);font-weight:600}
.cd-grid th.cd-club .text-button{display:inline-flex;align-items:center;gap:8px;font:inherit;color:var(--ink);text-align:left}
.cd-grid td.cd-cell{vertical-align:top;padding:12px 14px;border-bottom:1px solid var(--line)}
.cd-fig{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;padding:4px 6px;margin:-4px -6px;border:0;background:none;text-align:left;border-radius:8px;color:inherit}
.cd-fig:hover{background:var(--surface-2)}
.cd-ty{font-weight:600;font-size:1.25rem;color:var(--ink)}
.cd-ly{color:var(--muted);font-size:.9375rem}
.cd-chg{display:flex;align-items:baseline;gap:8px;font-size:.9375rem}
.cd-guests{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 6px;margin-top:4px;font-size:.875rem;color:var(--ink)}.cd-guests .cd-gl{color:var(--muted)}
.cd-notes{margin-top:4px;display:flex;flex-direction:column;gap:2px}
.cd-total th.cd-club,.cd-total td.cd-cell{background:var(--surface-2);border-top:2px solid var(--line-strong)}
.cd-total .cd-ty{font-size:1.375rem}
.cd-foot{margin:12px 0 0;color:var(--muted);font-size:.875rem}
@media(max-width:620px){
 .cd-switch{display:flex}
 .cd-grid [data-p]{display:none}
 .cd-grid.show-day [data-p=day],.cd-grid.show-week [data-p=week],.cd-grid.show-month [data-p=month],.cd-grid.show-year [data-p=year]{display:table-cell}
 .cd-grid .cd-corner{width:42%}
 .cd-grid th.cd-club,.cd-grid td.cd-cell{padding:12px 8px}
 .cd-ty{font-size:1.125rem}.cd-ly,.cd-chg,.cd-guests,.cd-foot,.cd-date{font-size:1rem}
}
/* The headline box (Caroline, 2 Oct 2026): one box in place of the hero and the summary block. The hero's frame and its large figure for each of the
   four sales windows; last night's counts beneath at their own, smaller size. The four sales figures share one size: the longest (--hl-len characters)
   fills about nine tenths of its card, never above the hero's own size and never below 22px. */
.club-flash.headline{background:linear-gradient(180deg,var(--navy-tint),var(--navy-tint-soft));border:1px solid color-mix(in srgb,var(--navy-fill) 45%,var(--line));border-radius:16px}
.club-flash.headline .row-sales td.flash-cell{container-type:inline-size}
.club-flash.headline .row-sales .fig.hl-fig{display:block;font-size:inherit;line-height:1}
.club-flash.headline .row-sales .hero-num{display:inline-block;white-space:nowrap;font-size:clamp(22px,calc(150cqi / var(--hl-len,8)),3.1rem)}
.club-flash.headline .hl-sub{display:block;margin-top:8px}
.club-flash.headline .hl-pill{display:block;margin-bottom:6px}
.club-flash.headline .hl-sub .hero-pill{padding:3px 10px;font-size:.8125rem}
.club-flash.headline .hl-ly{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;font-size:.875rem;color:var(--muted)}
.club-flash.headline .hl-ly .ly{display:inline;margin:0;font-size:inherit}.club-flash.headline .hl-ly .amt{font-size:inherit}
.club-flash.headline .hl-ly .amt.positive{color:var(--green)}.club-flash.headline .hl-ly .amt.negative{color:var(--red)}.club-flash.headline .hl-ly .amt.neutral{color:var(--muted)}
.club-flash.headline td.flash-cell:not([class*=flag-]),.club-flash.headline td.flash-cell:not([class*=flag-]) .flash-figure{background:transparent}/* a flagged cell keeps its tint, the whole cell (30 Sep 2026) */
.club-flash.headline .row-night .fig{font-size:1.125rem}
@media (max-width:760px){
 .club-flash.headline .hl-sub .hero-pill,.club-flash.headline .hl-ly{font-size:1rem}
 .club-flash.headline .row-night .fig{font-size:1rem!important}/* the counts a step below the sales figures, never below body text */
}
/* Club Daily's top line (Caroline, 2 Oct 2026): the date picker just above the table, at the right, level with the table's top; since 3 Oct 2026 the
   reported marker sits inside it and the Super Bowl switch is at the foot. */
.cd-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;margin-top:10px}
.cd-bar>:last-child{margin-left:auto}
.cd-bar+.cd-switch+.cd-frame,.cd-bar+.cd-frame{margin-top:12px}
@media (max-width:760px){.cd-bar>:last-child{margin-left:0}}
/* Reactions on a note (1 Oct 2026): four small pills beneath the note, the count beside each; yours outlined in the club's navy */
.note-reacts{display:flex;flex-wrap:wrap;gap:6px}
.note-react{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);overflow:hidden}
.note-react.mine{border-color:var(--navy-fill);background:var(--all-tint-strong)}
.note-react-btn{border:0;background:transparent;color:var(--ink);font:500 .875rem/1 var(--font);padding:6px 10px;cursor:pointer;min-height:32px}
.note-react-btn:hover{background:var(--surface-3)}
.note-react.done .note-react-btn{color:var(--muted)}.note-react.done.mine .note-react-btn{color:var(--green)}
.note-react-n{border:0;background:transparent;cursor:pointer;font:500 .8125rem/1 var(--font);color:var(--muted);padding:6px 10px 6px 0}
.note-who{flex-basis:100%;margin-top:6px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);font:400 .875rem/1.4 var(--font);color:var(--ink)}.note-who p{margin:0}.note-who p+p{margin-top:4px}
@media (max-width:760px){.note-react-btn{font-size:1rem;min-height:40px;padding:8px 12px}.note-react-n{font-size:1rem;min-height:44px;min-width:32px}}
/* A club page's notes on a phone (2 Oct 2026): side by side and wrapping, not one per line, and the date correction's detail one tap away, so a
   night with two notes keeps the title block inside its budget (Baton Rouge, 30 Sep 2026: "No report yet" and "Date corrected") */
@media (max-width:760px){.club-status .flash-notes{flex-direction:row;flex-wrap:wrap;align-items:baseline;column-gap:12px;row-gap:2px}.club-status .flash-notes .date-note{display:inline}.club-status .dc-more{display:none}}
/* ---- Phase 1, slice 1 (Caroline, 3 Oct 2026; specs/phase-1.md): the slimmer header and the one alignment system. Held by scripts/verify-layout.cjs and scripts/verify-phase-1.cjs ---- */
/* The header: the mark, then one small utility area (Targets, Rules & definitions, access, the theme, Sign out) as quiet text, nothing twice. The site's own strip
   (the name, Who has access, Sign out and the reported line) no longer shows on the dashboard's pages: each of those has one place, here or on the page. */
body>.km-site-strip,.km-site-strip{display:none!important}
.masthead{padding-top:8px;padding-bottom:8px;gap:16px}
.brand-mark{width:72px}.masthead .wordmark{font-size:.625rem;line-height:1.5}
.masthead-end{display:flex;align-items:center;gap:6px;margin-left:auto}
.utility{display:flex;align-items:center;gap:2px}
.util-link{display:inline-flex;align-items:center;min-height:34px;padding:6px 10px;border-radius:8px;color:var(--muted);font:500 .875rem/1 var(--font);text-decoration:none;white-space:nowrap}
.util-link:hover{color:var(--ink);background:var(--surface-2)}.util-link[hidden]{display:none}
.masthead .header-button.theme-toggle,.masthead .header-button.bell,.masthead .header-button.util-toggle{border:0;background:transparent;box-shadow:none;min-width:34px;min-height:34px;padding:6px;color:var(--muted);display:inline-grid;place-items:center}
.masthead .header-button.theme-toggle:hover,.masthead .header-button.bell:hover,.masthead .header-button.util-toggle:hover{color:var(--ink);background:var(--surface-2);transform:none}
.util-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.masthead .header-button.util-toggle{display:none}
.tab-row-inner{padding-top:5px;padding-bottom:5px}
.tab[data-value=compare]{margin-left:0}.tab[data-value=compare]::before{content:none}
.tab-sep{flex:none;width:1px;align-self:stretch;margin:7px 9px;background:var(--line)}
@media(max-width:620px){
 .masthead{padding:6px 16px;position:relative}.brand-mark{width:64px}
 .masthead .header-button.util-toggle{display:inline-grid}
 .masthead-end .utility{display:none;position:absolute;right:12px;top:calc(100% + 4px);z-index:60;flex-direction:column;align-items:stretch;gap:0;min-width:210px;padding:6px;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-lift)}
 .masthead.util-open .utility{display:flex}
 .utility .util-link{font-size:1rem;min-height:44px;padding:10px 12px;color:var(--ink)}
 .masthead .utility .header-button.theme-toggle{display:inline-grid;justify-content:start;min-height:44px;padding:10px 12px;color:var(--ink)}
 .tab-row-inner{padding-top:4px;padding-bottom:4px}.tab-sep{margin:8px 5px}
}
@media print{.utility,.util-toggle{display:none}}
/* The metric cell, one alignment system (rules.md, Phase 1): a column of fixed slots, figure, last year, change, then a second small pair and a status. Every slot
   keeps its line whether or not it is filled, so a cell missing last year or carrying a tag has its figure exactly where its neighbours' is; cells in a row share
   one height (the table's row, or .mc-row's grid); figures are tabular. Text starts at the cell's left edge; the block sits at the cell's vertical centre where the
   cell is a card (design check S10) and at its top in a table of many rows. */
.mc{display:flex;flex-direction:column;align-items:flex-start;gap:var(--mc-gap,3px);text-align:left;font-variant-numeric:tabular-nums;min-width:0}
.mc>.mc-label,.mc>.mc-fig,.mc>.mc-ly,.mc>.mc-chg,.mc>.mc-more,.mc>.mc-status,.mc-sub>.mc-sub-fig,.mc-sub>.mc-sub-ly{display:block;line-height:1.3;min-height:1.3em;max-width:100%;white-space:nowrap}
.mc>.mc-status{white-space:normal}
.mc-sub{display:flex;flex-direction:column;align-items:flex-start;gap:var(--mc-gap,3px);max-width:100%}
.mc-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:stretch}
.mc-row>.mc{justify-content:flex-start}
.lab-short{display:none}
@media(max-width:620px){.lab-long{display:none}.lab-short{display:inline}}
/* Club Daily on the shared cell: sales (figure, last year, change), then guests (the count, then last year and its change), every cell the same five lines */
.cd-fig.mc{gap:3px}.cd-fig .mc-chg>.cd-chg{display:inline-flex}
.cd-guests.mc-sub{flex-direction:column;flex-wrap:nowrap;gap:2px;margin-top:6px}
.cd-guests .mc-sub-ly{color:var(--muted)}
.cd-guests .mc-sub-ly>*{display:inline}.cd-guests .mc-sub-ly>*+*{margin-left:6px}
/* ---- Phase 1, slice 3: Overview (Caroline, 3 Oct 2026; specs/phase-1.md). Target Watch and the scorecard on the shared cell; Portfolio detail a step down ---- */
.tw-meta{color:var(--muted);font-size:.875rem}
.tw-grid{grid-auto-flow:initial;grid-template-columns:repeat(5,minmax(0,1fr))}
.tw-cell{padding:16px 16px 14px;border-left:1px solid var(--line);gap:4px}.tw-cell:first-child{border-left:0}
.tw-cell .mc-label .club-name{display:inline-flex;align-items:center;gap:8px;font-weight:500;color:var(--ink)}.tw-cell .mc-label .mk{width:22px;height:22px;font-size:.56rem}
.tw-cell .mc-label{min-height:22px;margin-bottom:4px}
.tw-cell .mc-fig{font-size:1.5rem;line-height:1.2;min-height:1.2em;color:var(--ink)}
.tw-cell .mc-ly,.tw-cell .mc-chg,.tw-cell .mc-more,.tw-cell .mc-status{font-size:.875rem;color:var(--muted)}.tw-cell .mc-status{white-space:normal}.tw-cell .mc-status>*{display:inline}
.tw-cell.unset .mc-fig{color:var(--muted)}
.tw-prov{color:var(--muted);border-bottom:1px dotted var(--dim);cursor:help}
.tw-bar{display:block;width:100%;height:4px;border-radius:2px;background:var(--line);overflow:hidden;margin:4px 0 2px}.tw-bar>span{display:block;height:100%;border-radius:2px;background:var(--muted)}
.tw-bar.positive>span{background:var(--green)}.tw-bar.negative>span{background:var(--red)}.tw-bar.none{background:transparent}
.tw-progress{color:var(--ink)}.tw-result{font-weight:500}.tw-result.positive{color:var(--green)}.tw-result.negative{color:var(--red)}
.scorecard .sc-grid{display:block}
.sc-head,.sc-row{display:grid;grid-template-columns:minmax(150px,1.1fr) repeat(3,minmax(0,1fr)) minmax(0,1.25fr) minmax(0,1.35fr);column-gap:16px;align-items:stretch;width:100%;padding:0 16px;text-align:left}
.sc-head{padding-top:10px;padding-bottom:8px;border-bottom:1px solid var(--line);color:var(--muted);font:500 .8125rem/1.3 var(--font);letter-spacing:.04em;text-transform:uppercase}
.sc-row{border:0;border-top:1px solid var(--line);background:none;color:inherit;font:inherit;cursor:pointer;padding-top:12px;padding-bottom:12px}.sc-head+.sc-row{border-top:0}
.sc-row:hover,.sc-row:focus-visible{background:var(--surface-2)}
.sc-club{display:flex;align-items:center;font-weight:500;color:var(--ink)}.sc-club .club-name{display:inline-flex;align-items:center;gap:8px}
.sc-cell{justify-content:center;gap:2px}.sc-cell .mc-label{display:none}
.sc-cell .mc-fig{font-size:1.125rem;color:var(--ink)}.sc-cell .mc-ly,.sc-cell .mc-chg{font-size:.875rem;color:var(--muted)}
.sc-cell .mc-ly>*,.sc-cell .mc-chg>*{display:inline}
.sc-target .sc-tw{font-size:.9375rem;font-family:var(--font);font-weight:500;color:var(--ink);white-space:normal}.sc-target .sc-tw.unset{color:var(--muted);font-weight:400}.sc-target .sc-tw.positive{color:var(--green)}.sc-target .sc-tw.negative{color:var(--red)}
.sc-status{display:flex;flex-wrap:wrap;align-content:center;align-items:center;gap:6px}
.sc-tag{display:inline-block;padding:3px 8px;border:1px solid var(--line-strong);border-radius:999px;font:500 .8125rem/1.3 var(--font);color:var(--muted);white-space:nowrap}
.sc-tag.quiet{border-color:transparent;padding-left:0;color:var(--dim)}.sc-tag.wait{color:var(--ink)}
.sc-tag.flag-warn{border-color:var(--amber-line);background:var(--amber-soft);color:var(--gold)}.sc-tag.flag-alert{border-color:color-mix(in srgb,var(--red) 45%,transparent);background:color-mix(in srgb,var(--red) 14%,transparent);color:var(--red)}
.portfolio{margin-top:24px}.portfolio>summary{display:flex;align-items:baseline;gap:12px;list-style:none;cursor:pointer;padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font-weight:500}
.portfolio>summary::-webkit-details-marker{display:none}.portfolio>summary::before{content:'+';display:inline-block;width:14px;color:var(--muted)}.portfolio[open]>summary::before{content:'–'}
.portfolio-hint{color:var(--muted);font-weight:400;font-size:.875rem}.portfolio[open]>.flash-frame{margin-top:12px}
@media(max-width:1100px){.tw-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tw-cell:nth-child(4){border-left:0}.tw-cell:nth-child(n+4){border-top:1px solid var(--line)}}
@media(max-width:620px){
 .tw-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tw-cell{padding:14px 12px;border-left:0;border-top:1px solid var(--line)}.tw-cell:nth-child(-n+2){border-top:0}.tw-cell:nth-child(even){border-left:1px solid var(--line)}
 .tw-cell .mc-fig{font-size:1.25rem}.tw-cell .mc-ly,.tw-cell .mc-chg,.tw-cell .mc-more,.tw-cell .mc-status,.tw-meta,.tw-prov{font-size:1rem}
 .sc-head{display:none}.sc-row{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:8px;column-gap:10px;padding:14px 12px}.sc-head+.sc-row{border-top:0}
 .sc-club,.sc-target,.sc-status{grid-column:1/-1}.sc-cell .mc-label{display:block;color:var(--muted);font-size:1rem}
 .sc-cell .mc-fig{font-size:1.0625rem}.sc-cell .mc-ly,.sc-cell .mc-chg,.sc-tag,.sc-target .sc-tw,.portfolio-hint{font-size:1rem}
 .sc-target .mc-chg{display:none}.sc-cell{justify-content:flex-start}.sc-cell .mc-chg .amt{display:none}
 .tw-cell .club-full,.sc-club .club-full{display:inline}
 .portfolio>summary{flex-wrap:wrap;gap:2px 10px}
}
.sc-cell .mc-chg>.chg{display:inline-flex;align-items:baseline;gap:6px}
/* Overview at a phone's larger text sizes (as narrow as 260px): lines may wrap rather than run past the screen; under 340px one cell to a row */
@media(max-width:620px){
 .tw-cell .mc-ly,.tw-cell .mc-chg,.tw-cell .mc-more,.tw-cell .mc-status,.sc-target .mc-fig,.sc-target .mc-ly{white-space:normal;overflow-wrap:anywhere}
 .tw-cell .club-name,.sc-club .club-name{flex-wrap:wrap;min-width:0}.sc-row{min-width:0}.sc-tag{white-space:normal}
}
@media(max-width:340px){
 .tw-grid{grid-template-columns:minmax(0,1fr)}.tw-cell,.tw-cell:nth-child(even){border-left:0}.tw-cell:nth-child(2){border-top:1px solid var(--line)}
 .sc-row{grid-template-columns:minmax(0,1fr)}.sc-cell .mc-ly,.sc-cell .mc-chg{white-space:normal;overflow-wrap:anywhere}.sc-cell .mc-ly>.note{white-space:normal}
}
/* ---- Phase 1, slice 4: Club Daily tidied (Caroline, 3 Oct 2026; specs/phase-1.md): spacing and hierarchy; in every cell sales and guests are two groups, a
   hairline between them; on the summary block SALES and LAST NIGHT are two groups, a stronger rule between their rows. No figure, name or position changes:
   Club Daily keeps its name, its 4/5 marker beside the date and its place as the first page. ---- */
.cd-grid thead th{padding:12px 18px 10px}
.cd-grid th.cd-club{padding:20px 16px 18px}
.cd-grid td.cd-cell{padding:16px 18px 16px}
.cd-fig.mc{gap:2px}
.cd-ty{font-size:1.375rem;line-height:1.25}.cd-total .cd-ty{font-size:1.5rem}
.cd-guests.mc-sub{align-self:stretch;margin-top:10px;padding-top:9px;border-top:1px solid var(--line)}
.cd-guests .mc-sub-fig .num{color:var(--ink);font-weight:500}
.cd-grid tbody tr.cd-row:last-child th,.cd-grid tbody tr.cd-row:last-child td{border-bottom:0}
.cd-foot{margin-top:14px}
.club-flash .club-row.row-night>th,.club-flash .club-row.row-night>td{border-top:2px solid var(--line-strong)}
@media(max-width:760px){
 .cd-grid thead th,.cd-grid td.cd-cell{padding:12px 10px}.cd-grid th.cd-club{padding:14px 8px 12px}
 .cd-ty{font-size:1.25rem}.cd-total .cd-ty{font-size:1.3125rem}
}
@media(max-width:620px){.club-flash .club-flash-table .club-row.row-night>td.flash-cell:nth-of-type(-n+2){border-top:2px solid var(--line-strong)}}/* two across on a phone: the rule sits above the first pair of LAST NIGHT cards */
.sc-cell{min-width:0}.sc-cell .mc-ly{width:100%}.sc-cell .mc-ly>.note{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}/* a reason where a figure would be: one line, the whole of it on hover or tap */
/* Phase 2, the Daily DSR's shared grid (Caroline, 4 Oct 2026; rules.md, "Phase 2"): the summary block and the cards below it sit on one set of tracks, the label strip and the four
   windows, so the line between WTD and MTD and the line between the Revenue card and the Counts card are the same grid line at every width that shows them side by side. The
   summary and the cards take the parent's tracks (subgrid); nothing is a width worked out to match. On a phone the windows go two across and the cards stack, as before. */
.dsr-shared{min-width:0}
@supports (grid-template-columns:subgrid){@media(min-width:621px){
 .dsr-shared{display:grid;grid-template-columns:max-content repeat(4,minmax(0,1fr))}
 .dsr-shared>*{grid-column:1/-1;min-width:0}
 .dsr-shared>.club-flash,.dsr-shared>.club-flash>.club-flash-table{display:grid;grid-template-columns:subgrid}
 .dsr-shared>.club-flash>.club-flash-table{grid-column:1/-1}
 .dsr-shared>.club-flash>.club-flash-table>tbody{grid-column:1/-1;grid-template-columns:subgrid}
 .dsr-shared>.dsr-cols{grid-template-columns:subgrid;column-gap:0}
 .dsr-shared>.dsr-cols>.dsr-stack:first-child{grid-column:1/4;margin-right:calc(var(--dsr-gap)/2)}
 .dsr-shared>.dsr-cols>.dsr-stack:last-child{grid-column:4/6;margin-left:calc(var(--dsr-gap)/2)}
}}
/* Phase 2 (Caroline, 4 Oct 2026; rules.md, "Phase 2"): each summary cell's whole stack (title, figure, last year and change) sits at the vertical centre of its cell, its text
   still starting at the cell's left edge (Q191). This changes the 1 Oct 2026 "Top": the average line that made the stacks uneven left the cards in Phase 1, so the stacks in a
   row are the same height and their titles still sit on one line. */
.club-flash tr.club-row td.flash-cell>.flash-figure{justify-content:center!important;align-content:center;text-align:left;align-items:stretch}
/* the lines below the figure are made the same height in every cell that sits side by side (evenStacks, app.js), so stacks centred one by one keep their titles and figures
   level across the row whatever a cell holds; where one title runs to two lines beside one that does not, that pair starts at the top */
.club-flash tr.club-row td.flash-cell>.flash-figure.stack-top{justify-content:flex-start!important}
/* Phase 2, Compare metrics (Caroline, 4 Oct 2026; rules.md, "Phase 2"): the three controls every comparison needs, with room around them; the two ways of matching last year set
   apart as two choices, each saying what it means; advanced controls only when the mode can use them; the selected metric a compact card beside the list of metrics on a laptop,
   its lines one row each, so the page is figures rather than empty space. */
.analysis-controls.cm-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:18px 32px;padding:20px 24px}
.cm-primary{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px 22px;min-width:0}
.cm-primary .field{min-width:150px}
.cm-basis{display:flex;flex-direction:column;gap:6px;padding-left:32px;border-left:1px solid var(--line);min-width:0}
.cm-basis-label{font:500 .78rem/1.3 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.cm-basis-opts{display:flex;flex-wrap:wrap;gap:12px}
.cm-basis-opt{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:36px;padding:6px 16px;border-radius:12px;border:1px solid var(--object-border);background:transparent;color:var(--muted);text-align:left;cursor:pointer;font:inherit}
.cm-basis-opt b{font:500 .875rem/1.2 var(--font);color:var(--ink)}
.cm-basis-opt span{font:400 .8125rem/1.25 var(--font);letter-spacing:0;text-transform:none;color:var(--muted)}
.cm-basis-opt[aria-pressed=true]{background:var(--all-tint-strong);border-color:var(--navy-fill);box-shadow:inset 0 0 0 1px var(--navy-fill)}
.cm-basis-opt:focus-visible{outline:2px solid var(--focus,var(--ink));outline-offset:2px}
.cm-advanced{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px 18px;margin-left:auto}
.cm-advanced:empty{display:none}
.cm-advanced>.button{min-height:36px;padding:7px 14px;border-radius:999px;background:transparent;border:1px solid var(--object-border);color:var(--ink);font:500 .875rem/1.2 var(--font)}
.cm-more{min-height:36px;font:500 .875rem/1.2 var(--font);color:var(--muted)}
.cm-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--dsr-gap);margin-top:var(--dsr-gap);align-items:start}
.cm-layout>*{min-width:0}.cm-layout .comparison-grid,.cm-layout .flash-frame{margin-top:0;margin-bottom:0}
.cm-main{display:grid;gap:var(--dsr-gap)}
.cm-main .snapshot .snapshot-head{min-height:0;margin-bottom:4px}
.cm-main .revenue-total{padding-bottom:14px}
@media(min-width:1100px){.cm-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(min-width:621px){
 /* a line of the breakdown, and a metric in the list, is one row: the figure, last year, the change, each in its own column */
 .cm-main .revenue-breakdown-table td.num,.cm-side .read-change-table td.flash-cell>.flash-figure{display:grid;grid-template-columns:minmax(5.5rem,auto) minmax(6.5rem,auto) minmax(9.5rem,auto);justify-content:end;align-items:baseline;column-gap:14px;text-align:right}
 .cm-main .revenue-breakdown-table td.num>*,.cm-side .read-change-table td.flash-cell>.flash-figure>*{margin:0;justify-self:end;white-space:nowrap}
 .cm-main .revenue-breakdown-table th,.cm-main .revenue-breakdown-table td{padding-top:9px;padding-bottom:9px;vertical-align:baseline}
 .cm-side .read-change-table th.flash-label,.cm-side .read-change-table td.flash-cell{padding-top:9px;padding-bottom:9px;vertical-align:baseline}
 .cm-side .read-change-table td.flash-cell>.flash-figure{padding-top:0;padding-bottom:0}
}
@media(max-width:620px){
 .analysis-controls.cm-controls{padding:14px;gap:14px}
 .cm-primary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.cm-primary .field{min-width:0}.cm-primary .field:first-child{grid-column:1/-1}
 .cm-basis{padding-left:0;border-left:0;padding-top:12px;border-top:1px solid var(--line);width:100%}
 .cm-basis-label,.cm-basis-opt b,.cm-basis-opt span,.cm-more,.cm-advanced>.button{font-size:1rem}
 .cm-basis-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .cm-advanced{margin-left:0;width:100%}
}
.cm-layout .cm-side>.flash-frame,.cm-layout .cm-main>.comparison-grid{margin-top:0!important}
.cm-main .revenue-comparison-layout{gap:14px}
.cm-main .revenue-breakdown-table,.cm-side .read-change-table{width:100%}
@media(min-width:621px){
 .cm-main .revenue-breakdown-table td.num,.cm-side .read-change-table td.flash-cell>.flash-figure{grid-template-columns:minmax(4.75rem,auto) minmax(5.5rem,auto) minmax(8.25rem,auto);column-gap:10px}
 .cm-main .revenue-breakdown-table th{width:30%}.cm-side .read-change-table th.flash-label{width:32%}
 .cm-main .revenue-breakdown-table td.num{padding-left:8px;padding-right:12px}
}
@media(min-width:621px){
 /* the breakdown's cell stays a table cell, its three figures set side by side at fixed widths, so the table keeps to its card */
 .cm-main .revenue-breakdown-table td.num{display:table-cell;white-space:nowrap;text-align:right}
 .cm-main .revenue-breakdown-table td.num>*{display:inline-block;vertical-align:baseline;margin:0 0 0 10px;text-align:right}
 .cm-main .revenue-breakdown-table td.num>.fig{min-width:4.5rem}.cm-main .revenue-breakdown-table td.num>.ly{min-width:5.25rem}.cm-main .revenue-breakdown-table td.num>.chg{min-width:8.5rem;justify-content:flex-end}
 .cm-main .revenue-breakdown-table th{width:auto}
}
@media(min-width:621px){.cm-main .revenue-breakdown-table{table-layout:fixed;width:100%;min-width:0}.cm-main .revenue-breakdown-table th{width:31%;white-space:normal}.cm-main .revenue-breakdown-table td.num>*{margin-left:6px}.cm-main .revenue-breakdown-table td.num>.chg{min-width:8.25rem}}
@media(min-width:621px){.cm-main .revenue-breakdown-table td.num>.chg{display:inline-flex;gap:6px}.cm-main .revenue-breakdown-table td.num>.ly:last-child{margin-right:calc(8.25rem + 6px)}.cm-main .revenue-breakdown-table td.num>.fig:last-child{margin-right:calc(13.5rem + 12px)}}
@media(max-width:620px){.cm-main .revenue-breakdown-table{table-layout:fixed;width:100%;min-width:0}.cm-main .revenue-breakdown-table th{width:44%;white-space:normal}.cm-main .table-wrap{overflow:visible}}
/* Phase 2, Club Pulse (Caroline, 4 Oct 2026; rules.md, "Phase 2"): Overview's rows on the same grid as before; the line's name in words, its dollars a figure; one quiet line beneath saying
   what the two effects are */
.sc-line .sc-tw{white-space:nowrap}.sc-line .sc-tw .num{font-variant-numeric:tabular-nums}
.sc-foot{margin:0;padding:10px 16px 12px;border-top:1px solid var(--line);color:var(--muted);font:400 .8125rem/1.45 var(--font)}
@media(max-width:620px){.sc-foot{font-size:1rem;padding:12px}.sc-line{grid-column:1/-1}.sc-line .sc-tw{white-space:normal}}
@media(min-width:621px){.club-pulse .sc-head,.club-pulse .sc-row{grid-template-columns:minmax(140px,1fr) minmax(0,.95fr) minmax(0,.8fr) minmax(0,1.2fr) minmax(0,1fr) minmax(0,2fr)}}
@media(max-width:620px){
 /* on a phone the three figures stay side by side; what each pair of numbers is (guests, a guest) is said by the cell's label and the line beneath the rows, and a long pair wraps inside its own cell */
 .club-pulse .pulse-unit{display:none}
 .club-pulse .sc-cell .mc-ly,.club-pulse .sc-cell .mc-fig,.club-pulse .sc-cell .mc-ly>.ly{white-space:normal;overflow-wrap:anywhere}
 .club-pulse .sc-cell .mc-label{white-space:normal}
}
@media(max-width:620px){.club-pulse .sc-row>.sc-cell:not(.sc-target) .mc-ly{min-height:2.9em;line-height:1.45}}/* room for a pair that wraps, kept in all three cells so the line beneath stays level */
/* Phase 2, Compare clubs (Caroline, 4 Oct 2026; rules.md, "Phase 2"): four sections, each a question, on Overview's row and cell; the older cards and table follow under "Metric by metric" */
.cq{margin-top:var(--dsr-gap)}.cq .sc-row{cursor:pointer}
.cq-lead .cq-row{grid-template-columns:28px minmax(140px,1.3fr) repeat(3,minmax(0,1fr))}
.cq-drive .cq-row{grid-template-columns:minmax(140px,1.1fr) repeat(3,minmax(0,1fr)) minmax(0,1.3fr)}
.cq-unusual .cq-row{grid-template-columns:minmax(140px,1.1fr) repeat(3,minmax(0,.9fr)) minmax(0,1.9fr)}
.cq-cover .cq-row{grid-template-columns:minmax(140px,1.1fr) repeat(2,minmax(0,.8fr)) minmax(0,2.6fr)}
.cq-rank{display:flex;align-items:center;color:var(--muted);font:500 .9375rem/1 var(--font)}
.cq .sc-cell .mc-fig.cq-chg{font-size:1rem}.cq .sc-cell .mc-fig.cq-chg .chg{display:inline-flex;align-items:baseline;gap:6px}
.cq .sc-cell .mc-ly{white-space:normal}.cq-missing .sc-tag{white-space:normal}
.cq-detail-h{margin:calc(var(--dsr-gap)*1.6) 0 12px;font:500 1.125rem/1.3 var(--display);color:var(--ink)}
@media(max-width:620px){
 .cq .cq-row{grid-template-columns:repeat(3,minmax(0,1fr))}.cq-lead .cq-row{grid-template-columns:28px repeat(3,minmax(0,1fr))}
 .cq-lead .cq-row{grid-template-columns:repeat(3,minmax(0,1fr))}.cq-lead .cq-row>.cq-rank{grid-column:1;grid-row:1;position:absolute;visibility:hidden}.cq-lead .cq-row>.sc-club{grid-column:1/-1}.cq-lead .cq-row>.sc-cell{grid-column:auto}
 .cq-lead .cq-row>.sc-club::before{content:attr(data-rank);color:var(--muted);font-variant-numeric:tabular-nums;margin-right:10px}
 .cq-cover .cq-row{grid-template-columns:repeat(2,minmax(0,1fr))}
 .cq .sc-cell .mc-fig{white-space:nowrap;overflow-wrap:normal}.cq .sc-cell .mc-fig.cq-chg .chg{flex-wrap:wrap;column-gap:6px;row-gap:0}
 .cq .sc-cell .mc-ly,.cq .sc-cell .mc-ly>.ly{white-space:normal;overflow-wrap:normal}.cq .sc-cell .mc-ly>.note{white-space:normal;overflow:visible;text-overflow:clip}.cq .pulse-unit{display:none}/* Phase 3 (7 Oct 2026): a figure never breaks between its digits; a reason where a figure would be is read whole on a phone, never cut off */
 .cq-rank,.cq-detail-h{font-size:1rem}
}
.cq-rank{font-variant-numeric:tabular-nums}
@media(max-width:620px){.cq .sc-cell .mc-fig.cq-chg,.cq .sc-cell .mc-fig.cq-chg *,.cq .sc-foot,.cq .sc-tag{font-size:1rem}}
/* Phase 2, History by weekday (Caroline, 4 Oct 2026; rules.md, "Phase 2"): the weekday and the lookback as two plain rows of choices, a line saying what the window holds, then the nights */
.wd-controls{display:flex;flex-wrap:wrap;gap:16px 36px;align-items:flex-end;margin-top:var(--dsr-gap);padding:18px 22px;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.wd-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.wd-label,.wd-unit{font:500 .78rem/1.3 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.wd-looks{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center}.wd-look{align-items:center}.wd-unit{padding:0 10px 0 6px;letter-spacing:.04em}
.wd-days button,.wd-look button{min-width:44px}
.wd-summary{margin:12px 2px 0;color:var(--muted);font:400 .9375rem/1.4 var(--font)}
.wd-summary+.flash-frame{margin-top:12px}
@media(max-width:620px){.wd-controls{padding:14px;gap:14px}.wd-label,.wd-unit,.wd-summary,.wd-days button,.wd-look button{font-size:1rem}.wd-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));width:100%}.wd-days button{min-width:0;padding-left:0;padding-right:0}.wd-field{width:100%}}
/* The figures themselves coloured (the CEO via Caroline, 6 Oct 2026; rulebook §4): the figure takes its change's green or red, the figure it is
   compared with the opposite; text only, never a background, so the weekday warning tints stay as they are. Set by paintFigures in app.js. */
.tone-up,.tone-up *:not(.tap-tip-box){color:var(--green)!important}
.tone-down,.tone-down *:not(.tap-tip-box){color:var(--red)!important}

/* Phase 3 (7 Oct 2026): Compare clubs' Detailed comparison, closed as the page opens; on a phone the full table is one club to a table */
.cq-detail{margin-top:calc(var(--dsr-gap)*1.6)}.cq-detail>summary .cq-detail-h{margin:0}.cq-detail[open]>summary{border-bottom:1px solid var(--rule)}.cq-detail>.comparison-grid,.cq-detail>#club-comparison,.cq-detail>h2{margin-left:16px;margin-right:16px}.cq-detail>.comparison-grid{margin-top:16px}
.cq-matrix-phone{display:none}
@media(max-width:620px){.cq-matrix-wide{display:none}.cq-matrix-phone{display:block}.cq-detail>.comparison-grid,.cq-detail>#club-comparison,.cq-detail>h2{margin-left:8px;margin-right:8px}}
.targets-title{display:flex;align-items:center;justify-content:space-between;gap:16px}.targets-title .targets-edit{flex:none}/* Phase 3 (7 Oct 2026): Targets view-only until Edit */
/* Phase 3 (7 Oct 2026): the phone's club picker; the laptop keeps the club tabs */
.club-pick-row{display:none}
@media(max-width:620px){
 .tab-row-inner .tab[data-club],.tab-row-inner .tab-sep{display:none}
 #club-nav.tab-row{overflow:visible}#club-nav .tab-row-inner{padding:6px 6px;gap:0;min-width:0;overflow-x:auto;scrollbar-width:none}#club-nav .tab-row-inner .tab{padding:8px 7px}#club-nav .tab-row-inner .tab[data-value="club-review"]{display:none}.tm-review-link{display:inline-flex}/* on a phone the Club Review is reached from TELL ME's head, not a tab, so the tabs still fit (6 Nov 2026) */#club-nav .tab-long{display:none}/* a label may shorten on a phone, its full name kept for a screen reader (Phase 1) */
 .club-pick-row{display:flex;align-items:center;gap:10px;padding:0 10px 6px}.club-pick-row>.club-pick{flex:1 1 auto;min-width:0}
 .club-pick{position:relative}.club-pick>summary{list-style:none}.club-pick>summary::-webkit-details-marker{display:none}
 .club-pick-button{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 14px;border:1px solid var(--silver);border-radius:8px;background:var(--surface);color:var(--ink);font:500 .9375rem/1.2 var(--font);cursor:pointer}
 .club-pick-button svg{width:18px;height:18px;margin-left:auto;fill:none;stroke:currentColor;stroke-width:2}.club-pick[open] .club-pick-button svg{transform:rotate(180deg)}
 .club-pick-button:not(.current){color:var(--muted)}
 .club-pick-menu{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:60;display:flex;flex-direction:column;padding:6px;border:1px solid var(--silver);border-radius:8px;background:var(--surface);box-shadow:0 10px 30px rgb(0 0 0 / .35)}
 .club-pick-item{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 10px;border:0;border-radius:6px;background:none;color:var(--ink);font:500 .9375rem/1.2 var(--font);text-align:left;cursor:pointer}
 .club-pick-item[aria-current="page"]{background:var(--navy-fill);color:#fff}
}
/* Phase 3 (7 Oct 2026): when the figures reached the site, and Refresh */
.fresh{display:inline-flex;align-items:center;gap:10px;color:var(--muted);font-size:.8125rem;white-space:nowrap}.fresh-slot{display:flex;align-items:center}.fresh-wide{margin-right:8px}.fresh-phone{display:none}
.fresh-refresh{border:1px solid var(--silver);border-radius:6px;background:none;color:var(--ink);font:500 .8125rem/1 var(--font);padding:6px 10px;cursor:pointer}.fresh-refresh:hover{border-color:var(--ink)}
.fresh-new{color:var(--ink);font-weight:500}
@media(max-width:620px){.fresh-wide{display:none}.fresh-phone{display:flex;flex:none;gap:6px;font-size:1rem}.fresh-phone .fresh-refresh{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0}.fresh-phone .fresh-refresh svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
 .club-pick-button{min-height:40px}#club-nav .tab-row-inner{padding-top:4px;padding-bottom:2px}}
@media(max-width:620px){.fresh-slot{display:none}}
/* A change shown grey (comps, entertainer and waitress counts: rule 4) keeps its amount grey too: the amount follows its % (fix, 7 Oct 2026; seen 6 Oct on Tampa's Comp admissions) */
.flash .grey .inline-performance~.amt,.flash-panel.grey .inline-performance~.amt,.dsr-cell.grey .inline-performance~.amt{color:var(--grey)}.flash td.col-all.grey .inline-performance~.amt,.club-flash td.col-all.grey .inline-performance~.amt{color:var(--muted)}
/* TELL ME, redesigned (Caroline, 7 Oct 2026, 22:45; rules.md "TELL ME redesign"; specs/tell-me.md "Redesign"): a one-line header, Priority signals, the Clubs table, Club
   evidence closed and one open at a time, one Data notes area at the foot. The percentage is the dominant thing on every line; labels and words are secondary; colour says
   direction only (the status word and the signal labels are never coloured, S7). */
.tm-title{align-items:baseline}.tm-cut{margin:0;color:var(--muted);font-size:1rem;white-space:nowrap}
.tm-part{margin-top:26px}.tm-part>.tm-h{margin:0 0 10px}.tm-part-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.tm-part-head>.tm-h{margin:0}
.tm-sigs{list-style:none;margin:0;padding:0;display:grid;gap:0}
.tm-sig{display:grid;grid-template-columns:7.5em minmax(0,1fr);gap:4px 14px;align-items:start;padding:12px 0;border-top:1px solid var(--rule)}.tm-sig:last-child{border-bottom:1px solid var(--rule)}
.tm-sig-label{display:inline-block;justify-self:start;margin-top:2px;padding:2px 8px;border:1px solid var(--line-strong);border-radius:999px;font:500 .8125rem/1.3 var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.tm-sig-body{min-width:0}.tm-sig-head{font-weight:500;font-size:1.0625rem;line-height:1.35;display:block}
.tm-sig-ev{margin:4px 0 0;display:flex;flex-wrap:wrap;gap:2px 8px;align-items:baseline;color:var(--muted);line-height:1.4}.tm-sig-ev .tm-m b{font-weight:500}.tm-sig-ev .tm-m b.inline-performance{font-size:1.0625rem}.tm-sig-ev .tm-m b.num:not(.inline-performance){color:var(--ink)}
.tm-sig-look{margin:3px 0 0;color:var(--muted);font-size:.9375rem}
.tm-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.tm-table th,.tm-table td{padding:10px 12px;border-bottom:1px solid var(--rule);text-align:left;vertical-align:middle;line-height:1.3}
.tm-table thead th{font-weight:500;font-size:.8125rem;line-height:1.3;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--line-strong)}
.tm-table .tm-c-name{font-weight:500;white-space:nowrap}.tm-table .tm-c-name .mk{vertical-align:middle;margin-right:4px}.tm-club-name{font-weight:500}
.tm-ar{font-weight:500}.tm-ar.neutral{color:var(--muted)}
.tm-h4{font:500 .9375rem/1.3 var(--font);color:var(--ink);margin:14px 0 6px}
.tm-figtable{width:100%;min-width:0;font-size:.875rem;margin-top:4px}.tm-figtable td,.tm-figtable th{text-align:left;vertical-align:top}.tm-figtable .fig{font-size:1rem}
.tm-notes li{line-height:1.5}
.tm-how{margin-top:26px}.tm-how>summary{width:auto;max-width:100%}/* the summary wraps rather than widening the page at a phone's larger text */
@media(max-width:700px){
 .tm-title{display:block}.tm-cut{white-space:normal;margin-top:4px}
 .tm-sig{grid-template-columns:1fr;gap:2px}.tm-sig-label,.tm-sig-look,.tm-table thead th,.tm-figtable,.tm-figtable .fig,.tm-h,.tm-h4,.tm-quiet,.tm-open{font-size:1rem}
 .tm-table thead{display:none}.tm-table,.tm-table tbody{display:block}
 .tm-table td,.tm-table th{display:block;padding:0;border:0}
 .tm-figtable{display:block;overflow-x:auto}.tm-figtable table{min-width:0}
}
/* TELL ME, Caroline's fixes (8 Oct 2026; rules.md "TELL ME, Caroline's fixes and the house style"; specs/tell-me.md "Build 1 of 3"): a club's TELL ME view on its own page; evidence rows
   as bullets with the label, its value and the rest in narrow columns that sit together; "Flag for Ops" and "Consistent with" small tags beside the amount; a club not yet reported
   greyed and italic in the Clubs table; the header's quiet marker. */
.tm-view{margin-top:12px}.tm-view .tm-body{padding:4px 18px 18px}
.tm-rows{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.tm-rows li{display:grid;grid-template-columns:auto minmax(5em,max-content) max-content minmax(0,1fr);gap:2px 10px;align-items:baseline;line-height:1.4}
.tm-rows li::before{content:'•';color:var(--muted);grid-column:1}
.tm-rows .tm-k{grid-column:2;min-width:0}.tm-rows .tm-v{grid-column:3;font-weight:500}.tm-rows .tm-v.negative{color:var(--red)}.tm-rows .tm-n{grid-column:4;min-width:0;color:var(--muted)}.tm-rows .tm-n .num{color:var(--ink)}.tm-rows .tm-n .positive{color:var(--green)}.tm-rows .tm-n .negative{color:var(--red)}
.tm-rows li.tm-span .tm-n{grid-column:3/-1}
.tm-ctx{grid-column:2/-1;list-style:disc;margin:0;padding-left:1.4em;color:var(--muted);font-size:.9375rem}.tm-ctx li{line-height:1.4}
.tm-tag{display:inline-block;padding:1px 7px;border:1px solid var(--line-strong);border-radius:999px;font:500 .75rem/1.4 var(--font);letter-spacing:.04em;text-transform:uppercase;color:var(--ink);white-space:nowrap;vertical-align:middle}.tm-tag.consistent{color:var(--muted)}/* a label, not a fall: no red (Caroline, 1 Oct 2026) */
.tm-sub{margin:10px 0 4px;font:500 .875rem/1.3 var(--font);color:var(--muted)}
.tm-cell .tm-tag.note{align-self:flex-start;margin:2px 0}
.tm-table tr.tm-late{font-style:italic;background:var(--surface-2)}.tm-table tr.tm-late .tm-c-name,.tm-table tr.tm-late .tm-club-name{color:var(--muted)}
.tm-cut .cd-reported{font-size:1rem;margin-left:0;vertical-align:baseline}
@media(max-width:700px){.tm-view .tm-body{padding:4px 12px 14px}.tm-rows li{grid-template-columns:auto max-content minmax(0,1fr)}.tm-rows .tm-v{grid-column:3;justify-self:start}.tm-rows .tm-n,.tm-rows li.tm-span .tm-n{grid-column:2/-1}.tm-table tr.tm-late{padding-left:6px;padding-right:6px}}/* on a phone the value sits right after its label, the rest beneath: never the figure at the far edge */
.tm-held{margin:6px 0 0;font-size:.875rem;color:var(--muted)}/* TELL ME held at its last good night when a TELL ME check failed (8 Oct 2026; scripts/import): said once, under the night line, not coloured */
/* TELL ME Build 2, the operating view (Caroline, 8 Oct 2026): every per cent, arrow and figure beside its label in its own cell; the one switch above the table;
   the combination line under the club's name; the current target last and quieter; on a phone each club's measures wrap under its name */
.tm-ops td.tm-c-m{white-space:nowrap;padding:10px 8px}.tm-ops .tm-m{display:inline-flex;align-items:baseline;gap:4px}.tm-ops .tm-mk{color:var(--muted);font-size:.875rem}
.tm-ops .inline-performance{font-size:1rem}.tm-ops .tm-c-name{min-width:9.5rem}.tm-combo{display:block;font-weight:400;font-size:.875rem;color:var(--muted);margin-top:2px;white-space:normal}
.tm-ops .tm-c-target,.tm-ops .tm-c-target .num{color:var(--muted)}.tm-spark{vertical-align:middle;overflow:visible}.tm-spark path{fill:none;stroke:var(--muted);stroke-width:1.5}.tm-spark circle{fill:var(--ink)}
@media(min-width:701px){.tm-ops td.tm-c-m{white-space:normal;vertical-align:top}.tm-ops .tm-m{flex-direction:column;align-items:flex-start;gap:1px}.tm-ops .tm-mk{white-space:normal;line-height:1.25}}/* on a laptop each label sits just above its figure in the same cell, so the eight columns fit */
@media(max-width:700px){
 .tm-ops tr{display:flex;flex-wrap:wrap;gap:4px 14px;padding:12px 0;border-bottom:1px solid var(--rule)}
 .tm-ops .tm-c-name{flex-basis:100%;white-space:normal;min-width:0}.tm-ops td.tm-c-m{padding:0;white-space:normal}.tm-ops .tm-m{flex-wrap:wrap}
 .tm-ops .tm-mk,.tm-combo{font-size:1rem}
}
.tm-ops .tm-when{white-space:nowrap}/* the two columns that do not follow the switch say so (Caroline, 8 Oct 2026: "visibly labelled 'Last night'") */
/* TELL ME Build 3 (Caroline, 8 Oct 2026; rules.md "TELL ME Build 3"): the five cells of the last night, the Friday and Saturday block with its trend lines (the usual range shaded,
   the strong-night mark dashed, a game night a filled point), the direction table, the external tag (Mark Brown), the windows table with the target folded in. */
.tm-five{grid-template-columns:repeat(5,minmax(0,1fr))}
.tm-night{margin-top:12px}
.tm-wkend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tm-wkcard{border:1px solid var(--line);border-radius:10px;padding:10px 14px 12px;min-width:0}.tm-wkcard>.tm-h4{margin:0 0 8px;display:flex;align-items:baseline;gap:10px}.tm-wkcard>.tm-h4 .tm-link{font-weight:400;font-size:.875rem;color:var(--muted);text-decoration:underline dotted;text-underline-offset:3px}
.tm-wk{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:6px}
.tm-wk li{display:grid;grid-template-columns:minmax(6.5em,max-content) 132px max-content minmax(0,1fr);gap:2px 10px;align-items:center;line-height:1.35}
.tm-wk .tm-k{min-width:0}.tm-wk .tm-v{font-weight:500}.tm-wk .tm-n{color:var(--muted);min-width:0;font-size:.9375rem}
.tm-wkspark{overflow:visible;display:block}.tm-wkspark path{fill:none;stroke:var(--muted);stroke-width:1.4}.tm-wkspark .tm-band-fill{fill:var(--surface-3)}.tm-wkspark .tm-strong{stroke:var(--line-strong);stroke-width:1;stroke-dasharray:3 2}
.tm-wkspark .tm-pt{fill:var(--surface);stroke:var(--muted);stroke-width:1.2;cursor:pointer}.tm-wkspark .tm-pt.tm-game{fill:var(--ink);stroke:var(--ink)}.tm-wkspark .tm-pt.tm-last{stroke:var(--ink);stroke-width:1.8}.tm-wkspark .tm-pt:focus-visible{outline:2px solid var(--line-strong)}
.tm-dir td{white-space:nowrap}.tm-dir .tm-ar{font-weight:500}
.tm-tag.ext{border-style:dashed;color:var(--muted);white-space:normal}/* the tag wraps on a phone at the largest text (the Safari check, 8 Oct 2026) */
.tm-extl{list-style:none;margin:4px 0 0;padding:0;grid-column:2/-1;display:grid;gap:4px}.tm-ext{color:var(--muted);font-size:.9375rem;line-height:1.45}.tm-quote{display:block;font-style:italic;margin-top:2px}
.tm-sig-ext{margin:4px 0 0;color:var(--muted);font-size:.9375rem;line-height:1.45}.tm-sig-ext .tm-quote{display:inline}
.tm-windows th,.tm-windows td{white-space:normal}.tm-windows .tm-c-target .num{color:var(--muted)}
.tm-ev .tm-v{font-weight:400}
@media(max-width:900px){.tm-wkend{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){.tm-five{grid-template-columns:repeat(2,minmax(0,1fr))}.tm-five .tm-cell:nth-child(5){grid-column:1/-1;border-left:0;border-top:1px solid var(--line)}
 .tm-wk li{grid-template-columns:minmax(0,1fr) max-content}.tm-wk .tm-s{grid-column:1/-1;order:3}.tm-wk .tm-n{grid-column:1/-1;order:4}.tm-wkspark{width:100%;height:36px}
 .tm-extl{grid-column:1/-1}.tm-ext,.tm-sig-ext,.tm-wk .tm-n{font-size:1rem}}
/* The CEO's DSR changes (the CEO and Caroline, 8 Oct 2026; rules.md, "The CEO's DSR changes"). Clarifications, site-wide: grey italic, a dash or two words, the
   sentence on hover. The split APH | VPH box: two mirrored halves of equal weight, a hairline between, the box its old size. Comps: Ambassador's lines indented
   beneath it; a red ground on a line at 0 and always on Ambassador. */
.note.clar,.fig.clar,.num.clar,.neutral.clar{font-style:italic;color:var(--grey)}
.club-flash td.flash-cell.aph-vph>.flash-figure{display:block!important;padding:0!important}
.club-flash .fx-split{display:grid;grid-template-columns:1fr 1fr;height:100%;min-height:100%}
.club-flash .fx-half{display:flex;flex-direction:column;justify-content:center;gap:1px;min-width:0;padding:10px 12px}
.club-flash .fx-half+.fx-half{border-left:1px solid var(--line)}
.club-flash .fx-half.flag-warn{background:var(--flag-warn)}.club-flash .fx-half.flag-alert{background:var(--flag-alert)}.club-flash .fx-half.flag-good{background:var(--flag-good)}
.club-flash td.aph-vph .fx-below .ly,.club-flash td.aph-vph .fx-below .chg,.club-flash td.aph-vph .fx-below .amt,.club-flash td.aph-vph .fx-below .inline-performance{white-space:nowrap}
@media(max-width:1180px){.club-flash td.aph-vph .fx-below .ly,.club-flash td.aph-vph .fx-below .chg,.club-flash td.aph-vph .fx-below .amt,.club-flash td.aph-vph .fx-below .inline-performance{font-size:.8125rem}.club-flash td.aph-vph .fig{font-size:1rem}.club-flash .fx-half{padding:10px 9px}}
.club-flash td.aph-vph .fx-below{flex-wrap:nowrap;flex-direction:column;align-items:flex-start}.club-flash td.aph-vph .fx-below>.ly{flex-basis:auto}/* VPH's LY line its own height, so its change sits right under it as APH's does (Caroline, 8 Oct 2026, 22:40: "a weird space") */
.dsr-cell.sub .dsr-lab{padding-left:16px;font-weight:400}
.dsr-cell.amb .dsr-lab{font-weight:500}
.dsr-cell.shade{background-color:var(--flag-alert)}
.mc-sub.cd-amb{padding:3px 6px;margin-left:-6px;margin-right:-6px;border-radius:6px;background:var(--flag-alert)}
.dsr-cell.shade .note{background:transparent}
@media(max-width:620px){.club-flash td.aph-vph .fx-below .chg{display:flex;flex-wrap:wrap;column-gap:6px;white-space:normal}.club-flash td.aph-vph .fx-below .ly,.club-flash td.aph-vph .fx-below .chg,.club-flash td.aph-vph .fx-below .amt,.club-flash td.aph-vph .fx-below .inline-performance{font-size:.8125rem}.club-flash .fx-half{padding:9px 8px}}/* on a phone the change's amount drops beneath its per cent rather than past the half's edge */
.club-flash .fx-half.stack-top{justify-content:flex-start}
.club-flash .fx-half>*{position:relative;top:var(--shift,0px)}/* a half's stack moves down without the half growing */
@media(max-width:620px){.club-flash .fx-split{grid-template-columns:1fr}.club-flash .fx-half+.fx-half{border-left:0;border-top:1px solid var(--line)}}/* a phone: APH above VPH in the one box, a hairline between, each half wide enough to read */
/* The Super Bowl stand-in's one line under LY (the CEO, 8 Oct 2026; superbowl.js): grey italic like a clarification but keeps its words, the figures out and in on hover; wraps inside its cell */
.sb-ly{display:block;font-style:italic;color:var(--grey);font-size:.8125rem;line-height:1.3;white-space:normal;overflow-wrap:anywhere;max-width:100%}
.cd-grid .sb-ly{font-size:.75rem;text-align:left}.hero-sub .sb-ly{display:block}
/* TELL ME rebuilt (Caroline, 8 Oct 2026; rules.md "TELL ME rebuilt"): the signals' Look at and context, the Friday and Saturday cards, the history chart, the foot line */
.tm-sig-ctx{margin:3px 0 0;color:var(--muted);font-size:.9375rem;line-height:1.45}
.tm-verdict{margin:0 0 8px;font:700 1.0625rem/1.2 var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.tm-wk li{grid-template-columns:minmax(5em,max-content) max-content minmax(0,1fr)}.tm-wk .tm-state{color:var(--ink)}.tm-wk .tm-ly{color:var(--muted)}
.tm-take .tm-n{color:var(--ink)}
.tm-wkcard .tm-rows li.tm-span .tm-n{grid-column:2/-1}
.tm-hist{margin-top:14px;border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.tm-hist-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 14px}.tm-hist-head .tm-h4{margin:0}
.tm-histchart{display:block;width:100%;height:auto;margin-top:8px;overflow:visible}
.tm-histchart .tm-grid{stroke:var(--rule);stroke-width:1}.tm-histchart .tm-ax{fill:var(--muted);font:400 11px var(--font)}
.tm-histchart .tm-line{fill:none;stroke:var(--ink);stroke-width:1.6}.tm-histchart .tm-band-fill{fill:var(--surface-3)}.tm-histchart .tm-strong{stroke:var(--line-strong);stroke-width:1;stroke-dasharray:4 3}
.tm-histchart .tm-pt{fill:var(--surface);stroke:var(--ink);stroke-width:1.4;cursor:pointer}.tm-histchart .tm-pt.tm-game{fill:var(--ink)}.tm-histchart .tm-pt.tm-last{stroke-width:2.4}.tm-histchart .tm-pt:focus-visible{outline:2px solid var(--line-strong)}
.tm-foot{margin:18px 0 0;font-size:.8125rem;font-style:italic;color:var(--grey);line-height:1.4}
.tm-caption{margin:0 0 6px}
.tm-ctxrow .tm-n{color:var(--muted)}
@media(max-width:700px){.tm-wk li{grid-template-columns:minmax(0,1fr) max-content}.tm-wk .tm-n{grid-column:1/-1}.tm-sig-ctx{font-size:1rem}.tm-histchart .tm-ax{font-size:14px}.tm-verdict{font-size:1.125rem}}
/* TELL ME refined (Caroline, 9 Oct 2026, her review document; rules.md "TELL ME refined"): Executive Signals as cards with the club's colour as a left border and its round mark, the severity badge small;
   the period line; Drivers rows (label, TY, LY, change); Events, LY events and Weather lines; the Clubs table's grouped headers and Staffing words; the club page's summary sentence, MTD row and
   week behind one control; the card lines. The hover rule (S15) holds: one hover per item. */
.tm-sig{grid-template-columns:minmax(0,1fr);gap:2px;padding:12px 14px 12px 16px;border-left:4px solid var(--mc,var(--line-strong));border-top:1px solid var(--rule);margin:0}.tm-sig:last-child{border-bottom:1px solid var(--rule)}
.tm-sig[data-club=nola]{--mc:var(--no)}.tm-sig[data-club=tampa]{--mc:var(--tp)}.tm-sig[data-club=baltimore]{--mc:var(--ba)}.tm-sig[data-club=br]{--mc:var(--br)}.tm-sig[data-club=pa]{--mc:var(--ch)}
.tm-sig-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tm-sig-top .mk{width:22px;height:22px;font-size:.56rem}.tm-sig-club{font-weight:500;font-size:.9375rem;color:var(--navy)}
.tm-sig-label{margin:0;padding:1px 7px;font-size:.6875rem;letter-spacing:.06em;color:var(--muted);border-color:var(--line)}.tm-sev-attention{color:var(--ink);border-color:var(--line-strong)}
.tm-sig-head{font-weight:500;font-size:1.0625rem;line-height:1.35;margin-top:4px}.tm-sig-period{margin:2px 0 0;font-size:.875rem;color:var(--muted)}
.tm-sig-ev{margin:4px 0 0}@media(min-width:701px){.tm-sig-ev .tm-m{white-space:nowrap}}@media(max-width:700px){.tm-sig-ev .tm-m,.tm-sig-ev .tm-m b{white-space:normal}}
.tm-sig-k{margin:8px 0 2px;font:500 .75rem/1.3 var(--font);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.tm-drv{list-style:none;margin:0;padding:0;display:grid;gap:3px;font-variant-numeric:tabular-nums}
.tm-drv li{display:grid;grid-template-columns:minmax(7em,max-content) minmax(6em,max-content) minmax(6em,max-content) minmax(4em,max-content);gap:2px 14px;align-items:baseline;line-height:1.35;font-size:.9375rem}
.tm-drv li.tm-drv-text{grid-template-columns:minmax(0,1fr);color:var(--muted)}
.tm-drv .tm-drv-k{color:var(--ink)}.tm-drv .tm-drv-c{white-space:nowrap}.tm-drv .tm-drv-l{color:var(--muted);font-size:.8125rem;margin-right:2px}.tm-drv b{font-weight:500}
.tm-fact{margin:3px 0 0;font-size:.9375rem;color:var(--ink);line-height:1.45}.tm-fact-k{color:var(--muted)}
.tm-sig .tm-fact:first-of-type{margin-top:6px}
.tm-held-note{font-size:.875rem;color:var(--muted);padding:2px 8px;border:1px solid var(--line);border-radius:999px;white-space:nowrap}
.tm-groups th{font:500 .75rem/1.3 var(--font);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-align:left;padding:6px 8px;border-bottom:1px solid var(--line-strong)}.tm-groups .tm-g{text-align:left}
.tm-ops td.tm-c-m .tm-staff{font-weight:500}.tm-staff-light,.tm-staff-heavy{color:var(--ink)}.tm-staff-aligned{color:var(--muted)}
.tm-backdrop{margin-top:22px}.tm-bd{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:10px}.tm-bd li{line-height:1.45}.tm-bd-figs{margin:4px 0 0;padding-left:1.2em;color:var(--muted);font-style:italic}.tm-bd-figs li{line-height:1.4}.tm-bd-link{display:inline-block;margin-top:2px;font-size:.875rem}
.tm-summary{margin:12px 0 0;font-size:1.0625rem;line-height:1.45;color:var(--ink)}
.tm-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.tm-drive{margin:10px 0 0;font-size:.9375rem;line-height:1.5;color:var(--ink)}.tm-drive-total{font-weight:500}.tm-drive b{font-weight:500}.tm-drive .tm-dot{margin:0 4px;color:var(--muted)}
.tm-night{margin-top:10px}.tm-cardlines{margin:6px 0 2px}.tm-cardlines .tm-drive{margin-top:4px}
.tm-weekdetail{margin-top:12px}.tm-weekdetail>summary{cursor:pointer;color:var(--muted);font-size:.9375rem;padding:6px 0}.tm-weekdetail[open]>summary{margin-bottom:6px}
@media(max-width:700px){.tm-groups{display:none}.tm-three{grid-template-columns:repeat(2,minmax(0,1fr))}.tm-three .tm-cell:nth-child(3){grid-column:1/-1;border-left:0;border-top:1px solid var(--line)}
 .tm-drv li{grid-template-columns:minmax(0,1fr) max-content;row-gap:0}.tm-drv .tm-drv-k{grid-column:1/-1}.tm-drv li.tm-drv-text{grid-template-columns:minmax(0,1fr)}.tm-fact,.tm-drive,.tm-drv li,.tm-sig-period{font-size:1rem}.tm-held-note{white-space:normal}}

/* Last Night cards on TELL ME (Caroline's document of 10 Oct 2026; stage 1, 11 Oct 2026, for her approval): one a row on a phone, two columns on a wide screen; the club's colour as the card's
   left border; compact rows; the detail a step down behind "More" (her mobile rule: the collapsed card short enough to compare five clubs without scrolling far) */
.tm-ln-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
@media(min-width:1100px){.tm-ln-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tm-lncard{border:1px solid var(--line);border-left:4px solid var(--mc,var(--line-strong));border-radius:10px;padding:10px 14px 10px 16px;min-width:0}
.tm-lncard.tm-late{opacity:.72}
.tm-ln-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.tm-ln-top .tm-sig-label{margin-left:auto}
.tm-ln-night{color:var(--muted);font-size:.9375rem}
.tm-lncard .tm-verdict{margin:0 0 4px;font-size:1rem}
.tm-ln-read{margin:0 0 8px;color:var(--ink);font-size:.9375rem;line-height:1.45}
.tm-ln-rows{margin-bottom:6px}
.tm-ln-rows li{grid-template-columns:minmax(4.5em,max-content) max-content minmax(0,1fr)}
.tm-lncard .tm-drive{margin-top:4px}
.tm-ln-more{margin-top:6px}
.tm-ln-more>summary{cursor:pointer;color:var(--muted);font-size:.9375rem;padding:4px 0}
.tm-ln-more[open]>summary{margin-bottom:4px}
/* the two small column headings over a card's rows, "vs recent Thu" over the state words and "vs LY" over last year (Caroline, 11 Oct 2026: "do headings and hover"); one grid for the card so the headings sit over their columns */
.tm-wk.tm-cols{display:grid;grid-template-columns:minmax(4.5em,max-content) max-content minmax(0,max-content) minmax(0,1fr);gap:6px 12px;align-items:baseline}
.tm-wk.tm-cols li{display:contents}
.tm-wk.tm-cols .tm-sc{min-width:0;color:var(--ink)}
.tm-wk.tm-cols .tm-n{grid-column:auto;order:0}
.tm-colh{font-size:.8125rem;color:var(--muted);white-space:nowrap}
.tm-colhead .tm-colh{line-height:1.2}
.tm-colrow{display:block;font-size:.9375rem}.tm-colrow .ly,.tm-colrow .chg{display:inline}.tm-colrow .tm-state{color:var(--ink)}
.tm-wk-inlast .tm-quiet{margin:2px 0 6px}
@media(max-width:700px){.tm-wk.tm-cols{grid-template-columns:max-content max-content minmax(0,max-content) minmax(0,1fr);gap:6px 10px}.tm-wk.tm-cols .tm-n{grid-column:auto;font-size:.9375rem}.tm-colh{font-size:.875rem}}
@media(max-width:360px){.tm-wk.tm-cols{grid-template-columns:minmax(0,max-content) minmax(0,max-content) minmax(0,1fr);gap:2px 8px}.tm-wk.tm-cols .tm-n,.tm-wk.tm-cols .tm-colh+.tm-colh{grid-column:3}.tm-wk.tm-cols .tm-n{margin-bottom:4px}.tm-wk.tm-cols .tm-n,.tm-wk.tm-cols .tm-ly,.tm-wk.tm-cols .tm-sc,.tm-wk.tm-cols .tm-colh{white-space:normal;overflow-wrap:anywhere}}/* the larger-text phone (Safari at 125% and 150%): last year's figure and change sit under the state word, "vs LY" under "vs recent Thu", never past the screen */
/* Overview's unreliable asterisk beside the total, small and raised, its line at the page's foot (Caroline, 11 Oct 2026) */
.un-star{font-size:1rem;vertical-align:super;line-height:0;margin-left:2px;color:var(--muted);cursor:help}
.star-footnote .text-button{font:inherit;color:inherit;text-decoration:underline dotted;text-underline-offset:2px}
/* Club Daily: no empty line under the Ambassador count (Caroline, 11 Oct 2026: "eliminate the additional space underneath ambassador card counts") */
.mc-sub.cd-amb>.mc-sub-ly:empty{display:none}
/* Compare clubs (Caroline, 11 Oct 2026: "all data always centered in the cell" and "vertical dividers between columns to make it all more legible"): every figure centred in its cell, the club names left, a thin divider between the columns, in both modes */
#main[data-page="compare"] .cq .cq-row>.sc-cell{display:flex;flex-direction:column;text-align:center;align-items:center;justify-content:center}#main[data-page="compare"] .cq .cq-row>.sc-cell>:empty{display:none}
#main[data-page="compare"] .cq-lead .sc-head>span:nth-child(n+3),#main[data-page="compare"] .cq:not(.cq-lead) .sc-head>span:nth-child(n+2){text-align:center;border-left:1px solid var(--line);padding-left:8px;padding-right:8px}
#main[data-page="compare"] .cq .cq-row>.sc-cell>*{text-align:center;margin-left:auto;margin-right:auto}
#main[data-page="compare"] .cq .sc-cell .mc-fig.cq-chg .chg{justify-content:center}
#main[data-page="compare"] .cq .cq-row>.sc-cell{border-left:1px solid var(--line);padding-left:8px;padding-right:8px}
#main[data-page="compare"] .club-table td.flash-cell .flash-figure,#main[data-page="compare"] .club-table td.flash-cell{text-align:center;align-items:center;justify-content:center}
#main[data-page="compare"] .club-table td.flash-cell .flash-figure>*{align-self:center;text-align:center;justify-content:center}
#main[data-page="compare"] .club-table tr.club-table-head th[scope="col"],#main[data-page="compare"] .club-table thead th:not(:first-child){text-align:center}
#main[data-page="compare"] .club-table td,#main[data-page="compare"] .club-table th[scope="col"],#main[data-page="compare"] .club-table thead th+th{border-left:1px solid var(--line)}
#main[data-page="compare"] .weekday-table td.weekday-cell{text-align:center}#main[data-page="compare"] .weekday-table .weekday-night{justify-items:center;align-items:center;align-content:center;text-align:center}#main[data-page="compare"] .weekday-table .weekday-night>*{justify-self:center;text-align:center}/* By weekday: the night's figures centred too */
/* big swings (Caroline, 11 Oct 2026): the faint tone on a cell more than double last year, or half of it or less; fainter than the flag tints, which keep their own */
.swing-up{background-color:var(--swing-up)!important}.swing-down{background-color:var(--swing-down)!important}
/* Night only (Caroline, 11 Oct 2026): said once, beside the club or the Last night title, grey italic like every clarification, never on a cell */
.night-only{font-size:.78em;font-weight:400;letter-spacing:0;text-transform:none;white-space:nowrap;margin-left:.35em}
.flash-head-repeat .ch .night-only{display:block;margin:2px 0 0}
.flash-group-edge .gh .night-only{font-size:1em;letter-spacing:.04em;margin:0}
/* Compare clubs, the detailed comparison's Compare metrics table (fix, 11 Oct 2026): the two-column table's "last column 34%" made Port Allen's column
   over 300 px and squeezed the other four clubs to about 50 px, their figures wrapping letter by letter. With three or more columns every club column
   takes an equal share and the metric names a fixed one; nothing wraps inside a figure. */
.read-change-table:has(tr>:nth-child(4)){table-layout:fixed;width:100%}
.read-change-table:has(tr>:nth-child(4)) th:last-child{width:auto}
.read-change-table:has(tr>:nth-child(4)) tr:first-child>:first-child{width:18%}
.read-change-table:has(tr>:nth-child(4)) .num{white-space:nowrap}
/* TELL ME stage 2 (11 Oct 2026, the build copy): the Comparable line's View list, and the shared-pattern line under the Clubs table */
.tm-comp-view{display:inline}.tm-comp-view>summary{display:inline;cursor:pointer;color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.tm-comp-view[open]>summary{margin-right:.4em}.tm-comp-list{display:inline}
.tm-shared{margin:8px 0 0;font-size:.875rem;color:var(--muted)}

/* The club heading (Caroline, 15 Oct 2026, 13:05 and 13:06; corrected by her 15 Oct 2026, 14:40, with a picture: "the daily dsr compare metrics tabs
   etc should move back next to the overview new orleans tab, both of which you could also make slightly bigger to accommodate the triple lines of the
   date/weather/convention"): on a laptop the club's name and its four views sit side by side on the left, a little larger, their foot level with the
   events line, right above the Daily DSR; the date, the weather and the events stay stacked on the right. A phone is unchanged. */
@media(min-width:621px){
 .club-head{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;column-gap:20px;row-gap:6px;align-items:center;margin-bottom:0}
 .club-head>.club-title{display:contents}
 .club-head .club-title>h1{grid-column:1/3;grid-row:1;align-self:end;margin:0;font-size:2.3rem;line-height:1.05;white-space:nowrap}
 .club-head .club-title>.club-views{grid-column:1/3;grid-row:2;justify-self:start;align-self:end}
 .club-head .club-views button{font-size:1rem;padding:11px 16px}
 .club-head .club-title>.flash-date{grid-column:4;grid-row:1;justify-self:end;align-self:end;margin:0}
 .club-head>.flash-status{grid-column:3/5;grid-row:2;margin-top:0;justify-content:flex-end;align-self:end;min-width:0;overflow:hidden}/* never over the views */
 .club-head>.flash-status:empty{display:none}
}
@media(min-width:1440px){/* name and views on one band where the events line still has its room beside them */
 .club-head .club-title>h1{grid-column:1;grid-row:1/3;font-size:2.6rem}
 .club-head .club-title>.club-views{grid-column:2;grid-row:1/3}
}

/* The "no report yet" line on a phone: the clubs by their marks, one row (Caroline, 27 Oct 2026, "Club marks") */
.gap-short{display:none}
@media (max-width:760px){.gap-long{display:none}.gap-short{display:inline}}

/* ============================================================================================================
   Visual refinement, 27 and 28 Oct 2026 (Caroline's brief of 27 Oct 2026; rules.md "Visual refinement, 27 Oct 2026"). Rebuilt 28 Oct 2026 after her
   review of the first version ("ok i fear this isn't actually much better"): the page fills the screen again, the type is larger on a laptop, and the
   card rules of 28 Sep and 3 Oct 2026 (S10 centring, S12 one height) stand as before. What stays from the first version is below; the Daily DSR follows
   in its own section.
   ============================================================================================================ */
/* One spacing scale and fewer decorative surfaces: shadows down to a hairline lift, the object gradients flat, the page glow halved. */
:root{--sp-1:8px;--sp-2:12px;--sp-3:16px;--sp-4:24px;--sp-5:32px;
 --shadow:0 1px 2px #0005;--shadow-lift:0 2px 8px #0006;--inset-light:0 0 0 transparent;
 --object:linear-gradient(#1d2738,#1d2738);--object-hover:linear-gradient(#233046,#233046);
 --gradient:radial-gradient(1100px 620px at 6% -12%,rgba(46,106,147,.17),transparent 62%)}
:root[data-theme=light]{--shadow:0 1px 2px #1833450f;--shadow-lift:0 2px 8px #18334514;--inset-light:0 0 0 transparent;
 --object:linear-gradient(#fff,#fff);--object-hover:linear-gradient(#f1f4f6,#f1f4f6);
 --gradient:radial-gradient(1100px 620px at 6% -12%,rgba(46,106,147,.07),transparent 62%)}

/* One treatment for tabs and segmented switches: a hairline frame, the chosen one a quiet fill with the club's line beneath; no glow. */
.segments{box-shadow:none!important;background:transparent!important;border-color:var(--line)!important}
.segments>button{box-shadow:none!important;background:transparent!important}
.segments>button[aria-pressed=true]{background:var(--surface-2)!important;box-shadow:inset 0 -2px 0 var(--club,var(--navy-fill))!important}
:root[data-theme=light] .segments>button[aria-pressed=true]{background:var(--surface-3)!important}

/* Club Daily (brief, item 2): every measure kept, in the same lines in the same order in every cell so the matrix reads as identical rows; the space
   inside the stack tightened (the hairline between the sales and the guests kept, the gaps either side of it halved), and Ambassador's red ground (flag-alert) the size of its words
   rather than a bar across the cell. */
@media(min-width:621px){
 .cd-grid td.cd-cell>.mc{row-gap:1px!important}
 .cd-grid td.cd-cell .cd-guests.mc-sub{margin-top:6px!important;padding-top:6px!important;border-top:1px solid var(--rule)!important}
 .cd-grid td.cd-cell>.mc>.mc-sub.cd-amb{align-self:flex-start!important;width:fit-content!important;margin:6px 0 0!important;padding:1px 8px!important}
}

/* Overview's Club Pulse (brief, item 3): a wrapping set of tags no longer sets a row's height. Each row is one record, the club and its four figures on
   one line, its tags on a quiet line beneath them across the figure columns, so every row has the same shape; the Largest line has the room its label
   needs. The "Tags" heading stays for a screen reader, the line beneath needing no column heading of its own. */
@media(min-width:900px){
 .club-pulse .sc-head,.club-pulse .sc-row{grid-template-columns:minmax(140px,.85fr) minmax(0,.9fr) minmax(0,.9fr) minmax(0,1.25fr) minmax(0,1.4fr)!important;row-gap:6px}
 .club-pulse .sc-row>.sc-status{grid-column:2/-1;grid-row:2;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
 .club-pulse .sc-row>.sc-club{grid-row:1/3;align-self:start}
 .club-pulse .sc-head>:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .club-pulse .sc-row{align-items:start!important}
}

/* Compare clubs (brief, items 4 and 5): the controls read as one quiet band rather than stacked boxes; the four questions keep their tables, each row as
   tall as its contents; a coverage count and its word on one line; the manager-comment disclosures one list of rows, not five separate cards. */
.analysis-controls.cm-controls{background:transparent!important;border-width:1px 0!important;border-radius:0!important;padding:var(--sp-3) 0!important;margin-top:var(--sp-3)!important;box-shadow:none!important}
.club-picker{gap:6px}
.club-picker .button{border-color:var(--line)!important;box-shadow:none!important}
@media(min-width:621px){
 .cq .sc-row{padding-top:9px!important;padding-bottom:9px!important}
 .cq-cover .sc-cell.mc{flex-direction:row!important;flex-wrap:wrap;align-items:baseline;justify-content:center;column-gap:6px}
 .cq-cover .sc-cell.mc>.mc-label{flex-basis:100%}
}
details.manager-comments-disclosure{margin:0!important;border-radius:0!important;box-shadow:none!important}
details.manager-comments-disclosure>summary{padding:12px 20px!important}
.cq-detail+details.manager-comments-disclosure{margin-top:var(--sp-4)!important}
details.manager-comments-disclosure+details.manager-comments-disclosure{border-top:0!important}
details.manager-comments-disclosure:not(.manager-comments-disclosure+.manager-comments-disclosure){border-top-left-radius:12px!important;border-top-right-radius:12px!important}
details.manager-comments-disclosure:not(:has(+.manager-comments-disclosure)){border-bottom-left-radius:12px!important;border-bottom-right-radius:12px!important;margin-bottom:var(--sp-4)!important}
details.cq-detail>summary{padding:12px 20px!important}
details.cq-detail{margin:var(--sp-4) 0 0!important;border-radius:12px!important;box-shadow:none!important}
/* By weekday: the filters in the same quiet band as All days, sized to themselves; the five clubs' columns one width (the date column as wide as its
   dates), and each night's change, percent and amount, on one line where the column allows. */
.analysis-controls.weekday-controls{background:transparent!important;border-width:1px 0!important;border-radius:0!important;padding:var(--sp-3) 0!important;box-shadow:none!important}
@media(min-width:900px){
 .weekday-table{table-layout:fixed;width:100%}
 .weekday-table thead th:first-child,.weekday-table tbody th:first-child,.weekday-table tbody td:first-child:not(.weekday-cell){width:170px}
 .weekday-table .weekday-change{display:inline-flex!important;flex-wrap:wrap;justify-content:center;column-gap:6px;flex-direction:row!important}
}

/* TELL ME (brief, item 7): the Last night cards each as tall as their own contents, not stretched to their row partner; order and meaning unchanged. */
.tm-ln-grid{align-items:start!important}
.tm-ln-grid>.tm-lncard{height:auto!important}

/* Rules & definitions (brief, item 8): a comfortable reading measure for prose, never compressed like a ledger; its tables keep their width. */
.guide-main p,.guide-main li,.guide-main dd{max-width:72ch}

/* Targets (brief, item 8): the same table system as the rest; the club column as wide as the club's name, the settings beside it in columns of their
   own width, the remaining width left at the row's end rather than between a club and its target. */
@media(min-width:900px){
 .targets-table table.flash{table-layout:auto!important;width:100%}
 .targets-table table.flash th.flash-label,.targets-table table.flash tbody th{width:1%;white-space:nowrap;padding-right:48px!important}
 .targets-table table.flash td,.targets-table table.flash thead th:not(.flash-label),.targets-table table.flash tr.club-table-head th:not(.flash-label){width:auto;white-space:nowrap}
 .targets-table table.flash td:last-child,.targets-table table.flash tr.club-table-head th:last-child{width:99%}
}

/* History (brief, item 6): a clearer order among its controls. The club's views stay the primary switch; the grains (By night, By weekday, ...) read as
   the second level, plain words with the chosen one underlined, no frame of their own. */
.history-grains .segments{border:0!important;padding:0!important;gap:var(--sp-4)!important;width:auto!important}
.history-grains .segments>button{flex:none!important;padding:6px 0!important;border-radius:0!important}
.history-grains .segments>button[aria-pressed=true]{background:transparent!important;box-shadow:inset 0 -2px 0 var(--club,var(--navy-fill))!important}
.segments>button[aria-pressed=true]{color:var(--ink)!important}
.segments>button[aria-pressed=true] *{color:inherit}
@media(max-width:620px){.history-grains .segments{flex-wrap:wrap!important;column-gap:var(--sp-3)!important;row-gap:2px!important;max-width:100%}}
@media(max-width:620px){/* the Daily DSR's rows on a phone in two lines, not four: the label, this year and last year; then the Average and the change */
 .dsr-cols .dsr-table:not(.no-avg) .dsr-cell:not(.head) .dsr-fig>.avg{grid-column:1!important;grid-row:2!important;justify-self:end;align-self:baseline}
}

/* Larger type on a laptop and desktop (Caroline, 28 Oct 2026: "can we just enlarge the font size so there's the same amount of less dead space but
   everything is bigger"): every size set from the page's base, one step up from 16px to 18px at 1360px and wider, where the tables have the room (at 1280px it wrapped their labels to three lines); a laptop
   narrower than that and a phone are unchanged. */
@media(min-width:1360px){html{font-size:112.5%}}

/* A card's tags never move its figures (Caroline, 28 Oct 2026: "i hate hate hate how the nola cells looks bottom aligned instead of center aligned
   vertically because of the super bowl excluded tag ... move the super bowl tag to be vertical or something"): the tags run up the card's right edge,
   so every card's stack stays at its centre with no room kept above it for a tag. */
@media(min-width:621px){/* a phone's cards are too short for it: there the tag stays at the card's head, as before */
.club-flash{--tag-room:0px!important}
.club-flash td.flash-cell{position:relative}
.club-flash td.flash-cell>.tags{position:absolute!important;top:4px!important;bottom:4px!important;right:6px!important;left:auto!important;width:auto!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:6px;margin:0!important;pointer-events:none}
.club-flash td.flash-cell>.tags>*{pointer-events:auto;writing-mode:vertical-rl;transform:rotate(180deg);white-space:normal!important;margin:0!important;letter-spacing:.02em!important;padding:6px 3px!important;max-height:100%;text-align:center}/* two short upright lines where one would outrun the card */
.club-flash td.flash-cell:has(>.tags)>.flash-figure{padding-right:52px!important}
}

/* Club Daily's title on the table (Caroline, 28 Oct 2026: "i want club daily to come down so its bottom aligned and there's no dead space between it
   and the start of the table"): on a laptop the title and the date share one line, their feet level, directly above the table. */
@media(min-width:621px){
 main:has(>.cd-title){display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:var(--sp-4)}
 main:has(>.cd-title)>*{grid-column:1/-1}
 main>.cd-title{grid-column:1;align-self:end;margin:0!important}
 main>.cd-title+.cd-bar{grid-column:2;align-self:end;justify-self:end;margin:0!important}
 main>.cd-bar~.cd-frame{margin-top:var(--sp-2)!important}
}

/* Overview's Club Pulse: a thin rule between its columns (Caroline, 28 Oct 2026: "i need vertical dividers added in between the club pulse columns") */
@media(min-width:900px){
 .club-pulse .sc-head>*+*,.club-pulse .sc-row>.sc-cell{border-left:1px solid var(--rule);padding-left:12px}
 .club-pulse .sc-head,.club-pulse .sc-row{align-items:stretch!important}
 .club-pulse .sc-row>.sc-status{border-left:0;padding-left:0}
}

/* History: a comment's tag as long as its word (Caroline, 28 Oct 2026: "the tags are wayyyy too long, they take up the whole cell! they should end after
   the end of the text") */
.history-table .strip-tag,.history-table .comment-tag,td .strip-tag{width:fit-content!important;max-width:100%;display:inline-flex!important}

/* ---- The Daily DSR as one report (Caroline's review, 28 Oct 2026; rules.md "Visual refinement, 27 Oct 2026", "Rebuilt 28 Oct 2026") ---- */
/* The club's views rehomed (her words: "the daily dsr/compare, tell me tabs i don't like here ... we need to move or otherwise rehome"): a plain row of
   views across the top of every club page, under the club tabs, the chosen one underlined in the club's colour. Beneath it the club's name on the left
   and, on the right, the report time beside the date, all on one line whose foot sits on the numbers ("the date picker needs to once again come down to
   align on the bottom with the top of the numbers"). */
@media(min-width:621px){
 .club-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;grid-template-areas:"views views views" "title status date"!important;column-gap:20px!important;row-gap:var(--sp-4)!important;align-items:end!important;margin:0 0 10px!important}
 .club-head>.club-title{display:contents!important}
 .club-head .club-title>h1{grid-area:title!important;align-self:end!important;margin:0!important}
 .club-head .club-title>.flash-date{grid-area:date!important;align-self:end!important;justify-self:end!important;margin:0!important}
 .club-head>.flash-status{grid-area:status!important;align-self:end!important;justify-self:end!important;margin:0 0 9px!important;overflow:visible!important}
 .club-head>.flash-status .flash-notes{display:flex;flex-wrap:wrap;justify-content:flex-end;column-gap:12px;margin:0}
 .club-head .club-title>.club-views{grid-area:views!important;justify-self:stretch!important;align-self:end!important;display:flex!important;gap:32px;width:auto!important;margin:0!important;padding:0!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:none!important;box-shadow:none!important}
 .club-head .club-title>.club-views>button{flex:none!important;padding:10px 0!important;border-radius:0!important;background:none!important;box-shadow:none!important;color:var(--muted)!important}
 .club-head .club-title>.club-views>button[aria-pressed=true]{color:var(--ink)!important;box-shadow:inset 0 -2px 0 var(--club,var(--navy-fill))!important}
}

/* A big swing shown on its change, not across the cell (Caroline, 28 Oct 2026: "the way a full cell is shaded red doesn't look good, this needs to be
   revisited"; the swings of 11 Oct 2026 kept): a change of more than +100%, or of -50% or less, sits in a soft pill of its direction's colour; the cell and
   the row keep their plain ground. */
.club-flash td.flash-cell.swing-up,.club-flash td.flash-cell.swing-down,.club-flash .fx-half.swing-up,.club-flash .fx-half.swing-down,.dsr-cols .dsr-cell.swing-up,.dsr-cols .dsr-cell.swing-down{background-color:transparent!important}
.club-flash tr.row-night .swing-up .inline-performance,.dsr-cols .dsr-cell.swing-up .chg .inline-performance{background:var(--flag-good);border-radius:5px;padding:0 4px}
.club-flash tr.row-night .swing-down .inline-performance,.dsr-cols .dsr-cell.swing-down .chg .inline-performance{background:var(--flag-alert);border-radius:5px;padding:0 4px}
@media(min-width:621px){.club-head+.dsr-shared>.club-flash,.club-head+.dsr-shared{margin-top:0!important}.club-head:has(+.dsr-shared){margin-bottom:10px!important}}
/* the Portfolio detail grid's cells carry the same named flag, beneath their change */
.flash-home td.flash-cell.flag-warn>.flash-figure::after,.flash-home td.flash-cell.flag-alert>.flash-figure::after{content:"Below Average";display:block;width:fit-content;margin-top:4px;padding:0 6px;border:1px solid currentColor;border-radius:4px;font-size:.75em;font-weight:600;letter-spacing:.04em;white-space:nowrap}
.flash-home td.flash-cell.flag-warn>.flash-figure::after{color:var(--orange)}
.flash-home td.flash-cell.flag-alert>.flash-figure::after{color:var(--red)}

/* ---- The Daily DSR, built to the Tampa mockup (Caroline, 28 Oct 2026: "Yes, build this direction on the live Daily DSR") ----
   Her words on the page before it: "an insane amount of dead space"; "the 3, the 2, and 32,000 are basically touching"; "we clearly have two different font sizes";
   "I'm super, super fixated on having things be aligned vertically"; "some stuff that's centered in the cell and some stuff that's left-aligned"; "why are we pointing
   out that this specific metric is below average"; "the revenue table ... you can barely keep track of it"; weather and events "write it out and be descriptive".
   One grid of four for every row of the page: the Sales cards, the Last night cards, and beneath them Revenue over the first two and Counts and Comps over the last
   two. Every card the same shape: its name, the figure alone, then a list beneath a hairline (Last year, Change, Change %, and Average or Share of guests), the
   names to the left and the figures to the right, one size for the whole list. The figures set at their natural width, never pulled together. */
@media(min-width:621px){
 .dsr-shared{--dsr-gap:16px;grid-template-columns:0 repeat(4,minmax(0,1fr))!important;row-gap:0!important}
 .dsr-shared>.club-flash.kv-cards{margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;overflow:visible!important}
 .dsr-shared>.club-flash.kv-cards>.club-flash-table{background:none!important;border:0!important;box-shadow:none!important}
 .dsr-shared>.club-flash.kv-cards>.club-flash-table>tbody{grid-template-rows:none!important;grid-auto-rows:auto!important;row-gap:0!important;column-gap:0!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards th.flash-group-edge{grid-column:2/-1!important;grid-row:auto!important;display:block!important;padding:26px 0 10px!important;margin:0!important;background:none!important;border:0!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards tr.row-sales>th.flash-group-edge{padding-top:6px!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards th.flash-group-edge .gh{writing-mode:horizontal-tb!important;transform:none!important;display:flex;align-items:center;gap:10px;font-size:.8125rem!important;font-weight:500!important;letter-spacing:.09em!important;color:var(--muted)!important;font-family:var(--font)!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards th.flash-group-edge .definition-help{transform:none!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards td.flash-cell{margin:0 calc(var(--dsr-gap)/2)!important;background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:14px!important;box-shadow:none!important;overflow:visible}
 .dsr-shared>.club-flash.kv-cards.kv-cards tr>td.flash-cell:nth-child(2){margin-left:0!important;grid-column-start:2!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards tr>td.flash-cell:last-child{margin-right:0!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards td.flash-cell>.flash-figure,.dsr-shared>.club-flash.kv-cards.kv-cards td.flash-cell.aph-vph>.flash-figure>.fx-split>.fx-half{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;gap:0!important;height:auto!important;min-height:0!important;padding:18px 20px 16px!important;text-align:left!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards td.flash-cell.aph-vph>.flash-figure{display:block!important;padding:0!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split{display:grid!important;grid-template-columns:1fr 1fr!important;height:100%}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split>.fx-half+.fx-half{border-left:1px solid var(--rule)!important;border-top:0!important;margin-top:0!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split>.fx-half{padding-left:16px!important;padding-right:16px!important;background:none!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split>.fx-half:first-child{padding-left:20px!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split>.fx-half:last-child{padding-right:20px!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-above{display:flex!important;align-items:baseline;gap:8px;min-height:0!important;margin:0!important;padding:0!important;justify-content:flex-start!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-above .cl{width:auto!important;flex:none!important;display:inline!important;font-size:.8125rem!important;font-weight:700!important;letter-spacing:.07em!important;text-transform:uppercase!important;color:var(--muted)!important;white-space:nowrap}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-above .cl-when{font-size:.8125rem;color:var(--muted);opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .dsr-shared>.club-flash.kv-cards.kv-cards .flash-figure>.fig,.dsr-shared>.club-flash.kv-cards.kv-cards .fx-half>.fig{display:block!important;margin:1px 0 14px!important;padding:0!important;min-height:0!important;font-family:var(--display);font-size:2.5rem!important;font-weight:500!important;line-height:1!important;letter-spacing:0!important;text-align:left!important;white-space:nowrap}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-half>.fig{font-size:2.15rem!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .row-sales .fig.hl-fig .hero-num{font-size:clamp(1.75rem,calc(170cqi / var(--hl-len,8)),2.5rem)!important;font-weight:500!important;letter-spacing:0!important;color:inherit}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-below{display:grid!important;grid-auto-rows:auto;row-gap:7px!important;min-height:0!important;margin:0!important;padding:10px 0 0!important;border-top:1px solid var(--rule)!important;align-content:start!important;justify-content:stretch!important;text-align:left!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-below>*{width:auto!important;max-width:none!important;margin:0!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .kv-chg{display:contents!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .kv{display:flex!important;justify-content:space-between!important;align-items:baseline!important;gap:10px;font-size:.9375rem!important;line-height:1.3;white-space:nowrap}
 .dsr-shared>.club-flash.kv-cards.kv-cards .kv-k{color:var(--muted);font-weight:400;letter-spacing:0;text-transform:none}
 .dsr-shared>.club-flash.kv-cards.kv-cards .kv>:last-child{font-size:inherit!important;font-weight:400!important;letter-spacing:0!important;margin:0!important;padding:0;background:none;border:0}
 .dsr-shared>.club-flash.kv-cards.kv-cards .kv .inline-performance{display:inline-flex;gap:4px;align-items:baseline}
 .dsr-shared>.club-flash.kv-cards.kv-cards .kv .avg{color:var(--muted)}
 .dsr-shared>.club-flash.kv-cards.kv-cards .kv .avg.flag-warn{color:var(--orange)!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .kv .avg.flag-alert{color:var(--red)!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split .kv{font-size:.875rem!important;gap:8px}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-below>.note,.dsr-shared>.club-flash.kv-cards.kv-cards .fx-below>.clar{font-size:.8125rem!important;color:var(--muted)}
 .dsr-shared>.club-flash.kv-cards.kv-cards td.flash-cell.flag-warn,.dsr-shared>.club-flash.kv-cards.kv-cards td.flash-cell.flag-alert,.dsr-shared>.club-flash.kv-cards.kv-cards .fx-half.flag-warn,.dsr-shared>.club-flash.kv-cards.kv-cards .fx-half.flag-alert{background:var(--surface)!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-half.flag-warn,.dsr-shared>.club-flash.kv-cards.kv-cards .fx-half.flag-alert{background:none!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-below::after,.dsr-shared>.club-flash.kv-cards.kv-cards .flash-figure::after{content:none!important;display:none!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .swing-up .kv .inline-performance,.dsr-shared>.club-flash.kv-cards.kv-cards td.swing-up .kv .inline-performance{background:var(--flag-good);border-radius:999px;padding:0 7px}
 .dsr-shared>.club-flash.kv-cards.kv-cards .swing-down .kv .inline-performance,.dsr-shared>.club-flash.kv-cards.kv-cards td.swing-down .kv .inline-performance{background:var(--flag-alert);border-radius:999px;padding:0 7px}
 .dsr-shared>.club-flash.kv-cards.kv-cards td.flash-cell:has(>.tags)>.flash-figure{padding-right:48px!important}
}
/* The tables as one report: each a panel, a hairline under every row, the figures right-aligned in five columns of one width (This year, Last year, Change,
   %, Average), the same five in Revenue, Counts and Comps; Gross sales under a double rule. */
@media(min-width:621px){
 .dsr-shared>.dsr-cols{margin-top:26px!important;row-gap:0!important}
 .dsr-cols .dsr-stack{gap:var(--dsr-gap)!important}
 .dsr-cols .dsr-table,.dsr-cols .night-context{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:14px!important;padding:4px 20px 6px!important;box-shadow:none!important;overflow:hidden;margin:0!important}
 .dsr-cols .dsr-table>.dsr-cell{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:baseline!important;column-gap:12px;padding:10px 0!important;margin:0!important;border:0!important;border-bottom:1px solid var(--rule)!important;border-radius:0!important;background-image:none!important;min-height:0!important}
 .dsr-cols .dsr-table>.dsr-cell:not(.shade){background-color:transparent!important}
 .dsr-cols .dsr-table>.dsr-cell.shade{background-color:color-mix(in srgb,var(--red) 12%,transparent)!important;margin:0 -20px!important;padding-left:20px!important;padding-right:20px!important}
 .dsr-cols .dsr-table>.dsr-cell.last{border-bottom:0!important}
 .dsr-cols .dsr-table>.dsr-cell.head{padding:14px 0 10px!important;border-bottom:1px solid var(--line)!important;align-items:end!important}
 .dsr-cols .dsr-table>.dsr-cell.total{border-top:3px double var(--line-strong)!important;padding-top:12px!important}
 .dsr-cols .dsr-table>.dsr-cell.total .dsr-lab,.dsr-cols .dsr-table>.dsr-cell.total .dsr-fig>*{font-weight:500!important}
 .dsr-cols .dsr-cell.head .dsr-lab{font-size:.8125rem!important;font-weight:500!important;letter-spacing:.09em!important;text-transform:uppercase;color:var(--muted)!important}
 .dsr-cols .dsr-cell:not(.head) .dsr-lab{font-size:.9375rem!important;font-weight:400!important;color:var(--ink)}
 .dsr-cols .dsr-cell:not(.head) .dsr-lab *{font-weight:inherit!important}
 .dsr-cols .dsr-cell.sub .dsr-lab{padding-left:14px}
 .dsr-cols .dsr-fig,.dsr-cols .dsr-colheads{display:grid!important;grid-template-columns:repeat(5,4.7em)!important;column-gap:8px!important;justify-items:end!important;align-items:baseline!important;text-align:right!important;font-size:.9375rem!important;width:auto!important}
 .dsr-cols .dsr-colheads{font-size:.9375rem!important}
 .dsr-cols .dsr-colheads>*{font-size:.6875rem!important;font-weight:500!important;letter-spacing:.05em!important;text-transform:uppercase;color:var(--muted)!important;white-space:nowrap;width:auto!important;min-width:0!important;padding:0!important;margin:0!important;text-align:right;justify-self:end}
 .dsr-cols .dsr-colheads .ch-short{display:none}
 .dsr-cols .dsr-fig>*{margin:0!important;padding:0!important;font-size:inherit!important;white-space:nowrap;text-align:right;grid-row:1}
 .dsr-cols .dsr-fig>*{font-weight:400!important}
 .dsr-cols .dsr-fig>.fig{grid-column:1!important;font-family:var(--display)!important;font-weight:500!important}
 .dsr-cols .dsr-fig>.ly{grid-column:2!important}/* last year's figure keeps its colour against this year's (the CEO, 6 Oct 2026) */
 .dsr-cols .dsr-fig>.chg{display:contents!important}
 .dsr-cols .dsr-fig>.chg>.amt{grid-column:3!important;grid-row:1!important}
 .dsr-cols .dsr-fig>.chg>.inline-performance{grid-column:4!important;grid-row:1!important;display:inline-flex;gap:3px}
 .dsr-cols .dsr-fig>.chg>.inline-performance>.direction{display:none}
 .dsr-cols .dsr-fig>.avg,.dsr-cols .dsr-table:not(.no-avg) .dsr-cell:not(.head) .dsr-fig>.avg{grid-column:5!important;grid-row:1!important;color:var(--muted);justify-self:end}
 .dsr-cols .dsr-fig>.avg .avg-lab{display:none}
 .dsr-cols .dsr-fig>.note:not(.fig),.dsr-cols .dsr-fig>.clar:not(.fig){grid-column:2/-1!important;grid-row:auto;justify-self:start;font-size:.8125rem!important;color:var(--muted);white-space:normal;text-align:left}
 .dsr-cols .dsr-fig>.fig+.note,.dsr-cols .dsr-fig>.fig+.clar{grid-column:2!important;grid-row:1!important;justify-self:end!important;white-space:nowrap!important;font-size:inherit!important}
 .dsr-cols .dsr-fig>.chg:has(.negative)>.amt{color:var(--red)}
 .dsr-cols .dsr-fig>.chg:has(.positive)>.amt{color:var(--green)}
 .dsr-cols .dsr-fig>.chg:has(.neutral)>.amt{color:var(--muted)}
 .dsr-cols .dsr-cell.swing-up .chg .inline-performance{background:var(--flag-good);border-radius:999px;padding:0 7px!important;margin-right:-7px!important}
 .dsr-cols .dsr-cell.swing-down .chg .inline-performance{background:var(--flag-alert);border-radius:999px;padding:0 7px!important;margin-right:-7px!important}
}
/* Weather and events written out, under Revenue: the two nights side by side, a hairline between. */
.night-context{display:block;margin:0;padding:4px 20px 18px;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.night-context .nc-title{margin:14px 0 12px!important;font-size:.8125rem!important;font-weight:500!important;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)!important}
.night-context .nc-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:28px}
.night-context .nc-night+.nc-night{border-left:1px solid var(--rule);padding-left:28px}
.night-context .nc-h{margin:0 0 12px;font-size:.9375rem;font-weight:500;color:var(--ink)}
.night-context .nc-date{display:block;margin-top:2px;font-weight:400;font-size:.875rem;color:var(--muted)}
.night-context .nc-list{display:grid;grid-template-columns:5.5em minmax(0,1fr);row-gap:12px;column-gap:10px;margin:0}
.night-context .nc-k{margin:0;padding-top:2px;font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.night-context .nc-v{margin:0;display:grid;row-gap:8px;font-size:.9375rem;line-height:1.4;min-width:0}
.night-context .nc-event{display:grid}
.night-context .nc-main{color:var(--ink)}
.night-context a.nc-main{text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px}
.night-context .nc-sub{font-size:.875rem;color:var(--muted)}
.night-context .nc-none{color:var(--muted)}
.night-context .nc-where{margin:14px 0 0;padding-top:10px;border-top:1px solid var(--rule);font-size:.875rem;color:var(--muted)}/* where and when the weather is read, once (29 Oct 2026) */
@media(max-width:620px){.night-context .nc-pair{column-gap:14px}.night-context .nc-night+.nc-night{padding-left:14px}.night-context .nc-list{grid-template-columns:1fr}.night-context .nc-k{padding-top:0}}
/* The header on one bottom line (Caroline, 28 Oct 2026: "these two things need to be aligned on the bottom!!!"): the club's name, the report time, the date
   and the year it is compared with share one baseline; the arrows and the calendar sit on it. */
@media(min-width:621px){
 .club-head{align-items:last baseline!important}
 .club-head .club-title>h1,.club-head .club-title>.flash-date,.club-head>.flash-status{align-self:last baseline!important}
 .club-head>.flash-status{margin:0!important}
 .club-head .club-title>.flash-date{align-items:baseline!important}
}
@media(min-width:621px){
 .dsr-notes>.dsr-h{margin:30px 0 12px!important;font-family:var(--font)!important;font-size:.8125rem!important;font-weight:500!important;letter-spacing:.09em!important;text-transform:uppercase;color:var(--muted)!important}
}
@media(min-width:621px){
 .club-flash.kv-cards .fx-above{flex-direction:row!important;flex-wrap:nowrap!important}
 .club-flash.kv-cards .fx-above .cl{padding:0!important}/* the title's thin line under its words stays (Caroline, 1 Oct 2026) */
 .club-flash.kv-cards .kv *{font-size:.9375rem!important;font-weight:400!important}
 .club-flash.kv-cards .fx-split .kv,.club-flash.kv-cards .fx-split .kv *{font-size:.8125rem!important}
 .club-flash.kv-cards .fx-split .kv{gap:6px}
 .dsr-cols .dsr-fig>.fig,.dsr-cols .dsr-fig>.ly,.dsr-cols .dsr-fig>.avg,.dsr-cols .dsr-fig>.chg>*,.dsr-cols .dsr-fig>.chg>* *{font-size:.9375rem!important}
 .dsr-cols .dsr-cell.total .dsr-fig>*,.dsr-cols .dsr-cell.total .dsr-fig>.chg>*{font-weight:500!important}
}
@media(min-width:621px){
 .dsr-cols .dsr-stack>.dsr-table,.dsr-cols .dsr-stack>.dsr-table:last-child,.dsr-cols .dsr-stack>.night-context{flex:none!important;align-content:start!important;grid-auto-rows:auto!important}
 .dsr-cols .dsr-stack{align-self:start!important;justify-content:flex-start!important}
}
.night-context .nc-list{grid-template-columns:minmax(0,1fr)!important;row-gap:4px!important}
.night-context .nc-k{padding-top:6px!important}
.night-context .nc-v{margin-bottom:6px!important}
/* On a phone (the Tampa mockup's direction, Caroline, 28 Oct 2026): one card to a row, its name and figure on the left, its list on the right; APH and VPH
   side by side in their one card, each its name, figure and list stacked; the tables' heads short (TY, LY) where the words cannot fit. */
.dsr-shared>.club-flash.kv-cards.kv-cards td.flash-cell.flag-warn,.dsr-shared>.club-flash.kv-cards.kv-cards td.flash-cell.flag-alert,.dsr-shared>.club-flash.kv-cards.kv-cards .fx-half.flag-warn,.dsr-shared>.club-flash.kv-cards.kv-cards .fx-half.flag-alert{background-color:var(--surface)!important;box-shadow:none!important}
.dsr-shared>.club-flash.kv-cards.kv-cards .fx-half.flag-warn,.dsr-shared>.club-flash.kv-cards.kv-cards .fx-half.flag-alert{background-color:transparent!important}
.dsr-shared>.club-flash.kv-cards.kv-cards .fx-below::after,.dsr-shared>.club-flash.kv-cards.kv-cards .flash-figure::after{content:none!important;display:none!important}
@media(max-width:620px){
 .dsr-shared>.club-flash.kv-cards.kv-cards{border:0!important;background:none!important;box-shadow:none!important;padding:0!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards>.club-flash-table{background:none!important;border:0!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards>.club-flash-table>tbody{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:none!important;grid-auto-rows:auto!important;row-gap:10px!important;column-gap:0!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards th.flash-group-edge{grid-column:1/-1!important;grid-row:auto!important;display:block!important;padding:12px 0 0!important;background:none!important;border:0!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards th.flash-group-edge .gh{writing-mode:horizontal-tb!important;transform:none!important;display:flex;gap:8px;font-size:1rem!important;font-weight:500!important;letter-spacing:.09em!important;color:var(--muted)!important;font-family:var(--font)!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards th.flash-group-edge .definition-help{transform:none!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards td.flash-cell{grid-column:1/-1!important;grid-row:auto!important;margin:0!important;background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:12px!important;min-height:0!important;height:auto!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards td.flash-cell>.flash-figure{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)!important;grid-template-rows:auto auto!important;grid-template-areas:"above above" "fig below"!important;column-gap:14px!important;row-gap:2px!important;align-items:start!important;height:auto!important;min-height:0!important;padding:14px 14px!important;text-align:left!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards td.flash-cell>.flash-figure>.fx-above{grid-area:above;display:flex!important;flex-direction:row!important;align-items:baseline!important;gap:8px;margin:0!important;min-height:0!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards td.flash-cell>.flash-figure>.fig{grid-area:fig;margin:0!important;font-family:var(--display);font-size:1.75rem!important;font-weight:700!important;line-height:1.05!important;letter-spacing:0!important;white-space:nowrap;min-height:0!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .row-sales .fig.hl-fig .hero-num{font-size:1.75rem!important;font-weight:700!important;letter-spacing:0!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards td.flash-cell>.flash-figure>.fx-below{grid-area:below;display:grid!important;row-gap:4px!important;margin:4px 0 0!important;padding:0 0 0 12px!important;border-left:1px solid var(--rule)!important;border-top:0!important;min-height:0!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-above .cl{display:block!important;width:fit-content!important;font-size:1rem!important;font-weight:700!important;letter-spacing:.07em!important;text-transform:uppercase!important;color:var(--muted)!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-above .cl-when{font-size:1rem!important;color:var(--muted)}
 .dsr-shared>.club-flash.kv-cards.kv-cards .kv-chg{display:contents!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .kv{display:flex!important;justify-content:space-between!important;align-items:baseline!important;gap:8px;white-space:nowrap}
 .dsr-shared>.club-flash.kv-cards.kv-cards .kv,.dsr-shared>.club-flash.kv-cards.kv-cards .kv *{font-size:1rem!important;font-weight:400!important;line-height:1.3!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .kv-k{color:var(--muted)}
 .dsr-shared>.club-flash.kv-cards.kv-cards .kv .avg{color:var(--muted)}
 .dsr-shared>.club-flash.kv-cards.kv-cards .kv .avg.flag-warn{color:var(--orange)!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .kv .avg.flag-alert{color:var(--red)!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-below>.note,.dsr-shared>.club-flash.kv-cards.kv-cards .fx-below>.clar{font-size:1rem!important;color:var(--muted)}
 .dsr-shared>.club-flash.kv-cards.kv-cards td.flash-cell.aph-vph>.flash-figure{display:block!important;padding:0!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split{display:grid!important;grid-template-columns:1fr 1fr!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split>.fx-half{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;gap:2px;padding:14px!important;background:none!important;min-height:0!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split>.fx-half+.fx-half{border-left:1px solid var(--rule)!important;border-top:0!important;margin-top:0!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split>.fx-half>.fig{margin:0!important;font-family:var(--display);font-size:1.625rem!important;font-weight:700!important;line-height:1.05!important;min-height:0!important;text-align:left!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split>.fx-half>.fx-below{display:grid!important;row-gap:4px!important;margin:0!important;padding:8px 0 0!important;border-top:1px solid var(--rule)!important;min-height:0!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split>.fx-half>.fx-above{margin:0!important;min-height:0!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards td.flash-cell>.tags{position:static!important}
 .dsr-cols .dsr-colheads .ch-long{display:none!important}
 .dsr-cols .dsr-colheads .ch-pct{display:none!important}
}
@media(min-width:621px){.dsr-cols .dsr-colheads .ch-long{display:inline!important}}
@media(max-width:620px){/* a phone: never below the body's size (Caroline, 28 Sep 2026, the presentation audit) */
 .night-context .nc-title,.night-context .nc-k,.night-context .nc-h,.night-context .nc-v,.night-context .nc-main,.night-context .nc-date,.night-context .nc-sub,.night-context .nc-none,.night-context .nc-where,.dsr-notes>.dsr-h{font-size:1rem!important}
}
/* Between a phone and a wide laptop (621 to 1099px): the cards two to a row, the tables one under the other, the club's name above the report time and the date */
@media(min-width:621px) and (max-width:1099px){
 .dsr-shared>.club-flash.kv-cards.kv-cards>.club-flash-table>tbody{grid-column:1/-1!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:var(--dsr-gap)!important;row-gap:var(--dsr-gap)!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards th.flash-group-edge{grid-column:1/-1!important;padding-bottom:0!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards td.flash-cell,.dsr-shared>.club-flash.kv-cards.kv-cards tr>td.flash-cell:nth-child(2),.dsr-shared>.club-flash.kv-cards.kv-cards tr>td.flash-cell:last-child{margin:0!important;grid-column:auto!important}
 .dsr-shared>.dsr-cols>.dsr-stack:first-child,.dsr-shared>.dsr-cols>.dsr-stack:last-child,.dsr-cols>.dsr-stack:first-child,.dsr-cols>.dsr-stack:last-child{grid-column:1/-1!important;margin:0!important}
 .dsr-shared>.dsr-cols{display:flex!important;flex-direction:column;gap:var(--dsr-gap)}
 .club-head{grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"views views" "title title" "status date"!important;row-gap:10px!important}
 .club-head>.flash-status{justify-self:start!important}
}
@media(min-width:621px){
 .dsr-cols .dsr-colheads>.ch-ty{grid-column:1!important;grid-row:1!important}
 .dsr-cols .dsr-colheads>.ch-ly{grid-column:2!important;grid-row:1!important}
 .dsr-cols .dsr-colheads>.ch-chg{grid-column:3!important;grid-row:1!important}
 .dsr-cols .dsr-colheads>.ch-pct{grid-column:4!important;grid-row:1!important}
 .dsr-cols .dsr-colheads>.ch-avg{grid-column:5!important;grid-row:1!important}
}
@media(min-width:621px) and (max-width:1099px){
 .dsr-shared>.dsr-cols>.dsr-stack{width:100%!important;align-self:stretch!important}
 .dsr-shared>.dsr-cols{gap:var(--dsr-gap)!important}
}
@media(min-width:621px){.dsr-cols .dsr-colheads>.ch-chg,.dsr-cols .dsr-colheads>.ch-avg,.dsr-cols .dsr-colheads>.ch-pct{display:block!important;visibility:visible!important}}
/* The home grid's flags named, not painted (Caroline, 28 Oct 2026, morning; kept when the Daily DSR moved its flag onto the card's Average the same afternoon) */
.flash td.flash-cell.flag-warn,.flash td.flash-cell.flag-alert,.flash .fx-half.flag-warn,.flash .fx-half.flag-alert{background:transparent!important;box-shadow:none!important}
.flash td.flash-cell.flag-warn>.flash-figure>.fx-below::after,.flash td.flash-cell.flag-alert>.flash-figure>.fx-below::after,.flash .fx-half.flag-warn>.fx-below::after,.flash .fx-half.flag-alert>.fx-below::after{content:"Below Average";display:inline-block;margin-left:0;white-space:nowrap;padding:0 6px;border:1px solid currentColor;border-radius:4px;font-size:.75em;font-weight:500;letter-spacing:.04em;text-transform:none;vertical-align:1px}
.flash td.flash-cell.flag-warn>.flash-figure>.fx-below::after,.flash .fx-half.flag-warn>.fx-below::after{color:var(--orange)}
.flash td.flash-cell.flag-alert>.flash-figure>.fx-below::after,.flash .fx-half.flag-alert>.fx-below::after{color:var(--red)}
.dsr-shared>.club-flash.kv-cards.kv-cards td.flash-cell .fx-below::after{content:none!important;display:none!important}
.dsr-shared>.club-flash.kv-cards.kv-cards td.flash-cell.flag-warn,.dsr-shared>.club-flash.kv-cards.kv-cards td.flash-cell.flag-alert{background:var(--surface)!important}
/* the two sides end on one line (Caroline, 30 Sep 2026, evening): the shorter side's last panel runs down to meet the longer, its rows from the top */
@media(min-width:1100px){
 .dsr-shared>.dsr-cols>.dsr-stack{align-self:stretch!important;display:flex!important;flex-direction:column!important}
 .dsr-shared>.dsr-cols>.dsr-stack>:last-child{flex:1 1 auto!important}
 .dsr-cols .dsr-table,.dsr-cols .night-context{align-content:start!important;justify-content:flex-start!important}
}
@media(min-width:1100px){
 .dsr-cols .dsr-table,.dsr-cols .night-context{grid-template-rows:none!important;grid-auto-rows:min-content!important}
 .dsr-cols .dsr-table>.dsr-cell{flex:none!important}
}
/* the APH | VPH card's two lists at a narrower laptop: a touch smaller and closer, the arrow left to the colour, so nothing runs past the card */
@media(min-width:1100px) and (max-width:1439px){
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split>.fx-half{padding-left:12px!important;padding-right:12px!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split>.fx-half:first-child{padding-left:20px!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split>.fx-half:last-child{padding-right:16px!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split .kv,.dsr-shared>.club-flash.kv-cards.kv-cards .fx-split .kv *{font-size:.75rem!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split .kv{gap:4px!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split .kv .direction{display:none!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split .kv .inline-performance{padding:0 4px!important}
}
/* sizes held at or above those recorded on 27 Oct 2026 (Caroline's brief: "record the existing type sizes and preserve them") */
@media(min-width:621px){
 .dsr-cols .dsr-cell:not(.head) .dsr-lab,.dsr-cols .dsr-fig,.dsr-cols .dsr-fig>.fig,.dsr-cols .dsr-fig>.ly,.dsr-cols .dsr-fig>.avg,.dsr-cols .dsr-fig>.chg>*,.dsr-cols .dsr-fig>.chg>* *{font-size:1rem!important}
 .dsr-cols .dsr-cell.head .dsr-lab{font-size:1rem!important}
 .dsr-cols .dsr-colheads>*{font-size:.8125rem!important}
 .dsr-cols .dsr-fig,.dsr-cols .dsr-colheads{grid-template-columns:repeat(5,4.6rem)!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .row-sales .fig.hl-fig .hero-num{font-size:clamp(22px,calc(150cqi / var(--hl-len,8)),3.1rem)!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .kv,.dsr-shared>.club-flash.kv-cards.kv-cards .kv *{font-size:1rem!important}
 /* the APH | VPH card: its line names once, beside APH; VPH's figures beside them, in their own column */
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split>.fx-half+.fx-half .kv-k{visibility:hidden;width:0;overflow:hidden}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split>.fx-half+.fx-half .kv{justify-content:flex-end!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split .kv,.dsr-shared>.club-flash.kv-cards.kv-cards .fx-split .kv *{font-size:.875rem!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split .kv{gap:6px!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split .kv .direction{display:inline!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split>.fx-half{padding-left:14px!important;padding-right:14px!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split>.fx-half:first-child{padding-left:20px!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split>.fx-half:last-child{padding-right:20px!important}
}
@media(min-width:621px){
 .dsr-shared>.club-flash.kv-cards.kv-cards .row-sales .fig.hl-fig .hero-num{font-size:clamp(22px,calc(156cqi / var(--hl-len,8)),3.1rem)!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-below>.note,.dsr-shared>.club-flash.kv-cards.kv-cards .fx-below>.clar,.dsr-cols .dsr-fig>.note:not(.fig),.dsr-cols .dsr-fig>.clar:not(.fig),.dsr-cols .dsr-fig>.fig+.note,.dsr-cols .dsr-fig>.fig+.clar{font-size:.875rem!important}
}
@media(min-width:621px){
 .dsr-cols .dsr-colheads>*{text-transform:none!important;letter-spacing:0!important;font-weight:500!important}
 .dsr-cols .dsr-cell.head .dsr-lab{text-transform:none!important;letter-spacing:0!important;font-weight:500!important}
 .dsr-cols .dsr-cell.total .dsr-fig>*,.dsr-cols .dsr-cell.total .dsr-fig>.chg>*,.dsr-cols .dsr-cell.total .dsr-lab{font-weight:500!important}
}
@media(min-width:621px){
 .dsr-cols .dsr-table .dsr-cell .dsr-fig>.ly.ly{font-weight:400!important}
 .dsr-cols .dsr-table .dsr-cell.total .dsr-fig>.ly.ly{font-weight:500!important}
}

/* Last night's records on one line, kept for the Overview's headline box (28 Oct 2026, 12:00): the club's Daily DSR draws its own cards since that afternoon */
/* Last night's metrics, a section of their own (her words: "guests and entertainers cells are WAY TOO BIG. same with comp admissions. this almost needs a
   different section formatted just to fit these appropriately"): the row as tall as its records, not the Sales row's height; each record its label, then
   the figure with LY and the change beside it on one line; the records start level at the top of the row, which is as tall as the longest of them. */
@media(min-width:621px){
 .dsr-shared>.club-flash:not(.kv-cards)>.club-flash-table>tbody{grid-template-rows:var(--cell-h,auto) auto!important}
 .club-flash:not(.kv-cards) tr.row-night>td.flash-cell>.flash-figure,.club-flash:not(.kv-cards) tr.row-night .fx-half{display:grid!important;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"above above" "fig below";grid-template-rows:auto auto!important;column-gap:12px!important;row-gap:2px!important;align-content:start!important;align-items:baseline;justify-content:start!important;padding-top:12px!important}
 .club-flash:not(.kv-cards) tr.row-night .fx-above{grid-area:above}
 .club-flash:not(.kv-cards) tr.row-night .flash-figure>.fig,.club-flash:not(.kv-cards) tr.row-night .fx-half>.fig{grid-area:fig;min-height:0!important}
 .club-flash:not(.kv-cards) tr.row-night .fx-below{grid-area:below;display:flex!important;flex-direction:row!important;flex-wrap:wrap;align-items:baseline;justify-content:flex-start!important;column-gap:10px;row-gap:2px;min-height:0!important;margin:0!important}
 .club-flash:not(.kv-cards) tr.row-night .fx-below>*{width:auto!important;flex:none!important;max-width:100%}
 .club-flash:not(.kv-cards) tr.row-night .fx-below .chg{display:inline-flex;align-items:baseline;gap:6px;flex-wrap:wrap}
 .club-flash:not(.kv-cards) tr.row-night td.flash-cell.aph-vph>.flash-figure{display:block!important;padding:0!important}
 .club-flash:not(.kv-cards) tr.row-night .fx-split{height:100%}
 .club-flash:not(.kv-cards) tr.row-night .fx-half{padding-left:14px!important;padding-right:10px!important;padding-bottom:10px!important}
 .club-flash:not(.kv-cards) tr.row-night .fx-half>.fx-below{column-gap:8px}
}

/* A narrow phone, or a phone with enlarged text (an iPhone at 150% text is 260px wide): each card's figure above its list, APH above VPH */
@media(max-width:360px){
 .dsr-shared>.club-flash.kv-cards.kv-cards td.flash-cell>.flash-figure{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"above" "fig" "below"!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards td.flash-cell>.flash-figure>.fx-below{padding:8px 0 0!important;margin:6px 0 0!important;border-left:0!important;border-top:1px solid var(--rule)!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards td.flash-cell>.flash-figure>.fx-above{flex-wrap:wrap!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split{grid-template-columns:minmax(0,1fr)!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split>.fx-half+.fx-half{border-left:0!important;border-top:1px solid var(--rule)!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .kv{white-space:normal!important;flex-wrap:wrap;column-gap:8px}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fig,.dsr-shared>.club-flash.kv-cards.kv-cards .hero-num{white-space:normal!important;overflow-wrap:anywhere}
}
/* APH and VPH share their card half and half, each with its own line names (Caroline, 28 Oct 2026: "I want APH and VPH to split that card 50/50. There is no reason why APH should be larger") */
@media(min-width:621px){
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split>.fx-half+.fx-half .kv-k{visibility:visible!important;width:auto!important;overflow:visible!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split>.fx-half+.fx-half .kv{justify-content:space-between!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split>.fx-half,.dsr-shared>.club-flash.kv-cards.kv-cards .fx-split>.fx-half:first-child,.dsr-shared>.club-flash.kv-cards.kv-cards .fx-split>.fx-half:last-child{padding-left:16px!important;padding-right:16px!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split>.fx-half:first-child{padding-left:20px!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split>.fx-half:last-child{padding-right:20px!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split .kv{gap:4px!important}
}
@media(min-width:1100px) and (max-width:1439px){
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split>.fx-half,.dsr-shared>.club-flash.kv-cards.kv-cards .fx-split>.fx-half:first-child,.dsr-shared>.club-flash.kv-cards.kv-cards .fx-split>.fx-half:last-child{padding-left:12px!important;padding-right:12px!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split .kv .direction{display:none!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split .kv-k{font-size:.8125rem!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards .fx-split .kv .inline-performance{padding:0!important;background:none!important}
}
/* the Comps box as tall as its own lines, not drawn down to meet the weather panel (Caroline, 28 Oct 2026: "you have just extended the bottom of the comps table to match the weather and events box. I hate this"; this ends 30 Sep 2026's two sides ending on one line) */
@media(min-width:1100px){
 .dsr-shared>.dsr-cols>.dsr-stack{align-self:start!important}
 .dsr-shared>.dsr-cols>.dsr-stack>:last-child{flex:none!important}
}
/* The date and the report time brought down onto the cards (Caroline, 28 Oct 2026: "can you please bring the date picker and the report sent? Can you lower
   those down? It looks like they're floating"): on the SALES line, on the right, their foot just above the cards' top edge */
@media(min-width:1100px){
 .club-head .club-title>.flash-date,.club-head>.flash-status{position:relative;z-index:3;transform:translateY(calc(26px + 1rem))}/* kept above the SALES line it is lowered onto, which is drawn after it and otherwise takes every click on the date, the arrows and the calendar (Caroline, 29 Oct 2026: on her desktop the Daily DSR's date could not be changed) */
 .dsr-shared>.club-flash.kv-cards.kv-cards tr.row-sales>th.flash-group-edge{padding-right:0!important}
}
/* The Super Bowl switch as a pill (Caroline, 28 Oct 2026: "If you add that just as a pill button in the blank space"): beside it the year-to-date figure
   leaves 80px at most and the pill needs 105, so it sits once on the SALES line, beside the title, as a phone has it above the cards */
@media(min-width:621px){
 .dsr-shared:has(>.club-flash.kv-cards){position:relative}
 .dsr-shared:has(>.club-flash.kv-cards)>.sb-phone{display:flex!important;position:absolute;top:11px;left:calc(6.25rem - 14px);margin:0!important;z-index:2}
 .dsr-shared:has(>.club-flash.kv-cards)>.sb-phone .sb-switch{writing-mode:horizontal-tb!important;transform:none!important;white-space:nowrap!important;border-radius:999px!important;padding:2px 10px!important;margin:0!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards td.flash-cell>.tags:not(:has(>:not(.sb-switch))){display:none!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards td.flash-cell>.tags>.sb-switch{display:none!important}
 .dsr-shared>.club-flash.kv-cards.kv-cards td.flash-cell:has(>.tags>.sb-switch):not(:has(>.tags>:not(.sb-switch)))>.flash-figure{padding-right:20px!important}
}
/* Per guest, a sixth column (Caroline, 28 Oct 2026): the label column gives up its spare room; Counts and Comps keep the same columns, the sixth empty */
@media(min-width:621px){
 .dsr-cols .dsr-fig,.dsr-cols .dsr-colheads{grid-template-columns:4.2rem 4.2rem 4.2rem 3.6rem 4.2rem 4.2rem!important;column-gap:6px!important}
 .dsr-cols .dsr-fig>.pg{grid-column:6!important;grid-row:1!important;justify-self:end;color:var(--ink);font-size:1rem!important;font-weight:400!important}
 .dsr-cols .dsr-cell.total .dsr-fig>.pg{font-weight:500!important}
 .dsr-cols .dsr-colheads>.ch-pg{grid-column:6!important;grid-row:1!important;display:block!important}
 .dsr-cols .dsr-fig>.note:not(.fig),.dsr-cols .dsr-fig>.clar:not(.fig){grid-column:2/6!important}
}
@media(max-width:620px){/* a phone: per guest after the Average beneath the line's name */
 .dsr-cols .dsr-colheads>.ch-pg{display:none!important}
}
@media(min-width:621px){
 .dsr-cols .dsr-fig>.fig+.note:not(.fig),.dsr-cols .dsr-fig>.fig+.clar:not(.fig){grid-column:2!important;justify-self:end!important}
}
@media(max-width:620px){
 .dsr-cols .dsr-fig>.pg{color:var(--muted)}
 .dsr-cols .dsr-fig>.pg::after{content:" a guest"}
}
/* Comps beside Revenue, Counts beneath it (Caroline, 28 Oct 2026, evening: "move comps up underneath the revenue table so that it's flush with revenue
   components - length-wise that is - and bring Counts down below it"). The right side's tables give up the sixth column, which only Revenue's Per guest
   uses, so the comp names sit on one line; Comps and Counts keep the same columns as each other. On a laptop the first table on each side shares one row,
   so Revenue and Comps end on one line, the shorter one's lines spaced evenly and never a blank foot; the weather panel and Counts each keep their own
   height (her 28 Oct "I hate this" of a box drawn down to meet another stands). */
@media(min-width:621px){
 .dsr-cols .dsr-cell.r .dsr-fig,.dsr-cols .dsr-cell.r .dsr-colheads{grid-template-columns:4.2rem 4.2rem 4.2rem 3.6rem 4.2rem!important}
}
@media(min-width:1100px){
 .dsr-shared>.dsr-cols{grid-template-rows:auto auto!important;row-gap:var(--dsr-gap)!important}
 .dsr-shared>.dsr-cols>.dsr-stack{display:grid!important;grid-template-columns:minmax(0,1fr)!important;justify-content:stretch!important;grid-row:span 2!important;grid-template-rows:subgrid!important;row-gap:var(--dsr-gap)!important;align-self:stretch!important}
 .dsr-shared>.dsr-cols>.dsr-stack>:first-child{align-self:stretch!important}
 .dsr-shared>.dsr-cols>.dsr-stack>:not(:first-child){align-self:start!important}
 .dsr-shared>.dsr-cols>.dsr-stack>.dsr-table:first-child>.dsr-cell:not(.head){flex:1 1 auto!important;align-content:center!important}
}
/* The Super Bowl pill level with SALES (Caroline, 28 Oct 2026, evening: "align super bowl excluded pill with SALES so that those are both bottom aligned
   at the same level"): on the SALES line itself, its words on SALES' own line at every width, taking no width of its own; the switch above the cards stays the phone's */
.dsr-shared .gh>.sb-inline{display:none}
@media(min-width:621px){
 .dsr-shared:has(>.club-flash.kv-cards)>.sb-phone{display:none!important}
 .dsr-shared>.club-flash.kv-cards .gh:has(>.sb-inline){align-items:baseline!important}
 .dsr-shared>.club-flash.kv-cards .gh:has(>.sb-inline)>.definition-help{align-self:center}
 .dsr-shared>.club-flash.kv-cards .gh>.sb-inline{display:inline-block;width:0;overflow:visible;white-space:nowrap;vertical-align:baseline;margin-left:14px}
 .dsr-shared>.club-flash.kv-cards .gh>.sb-inline>.sb-switch{display:inline-block!important;width:max-content!important;max-width:none!important;min-width:0!important;vertical-align:baseline;writing-mode:horizontal-tb!important;transform:none!important;white-space:nowrap!important;border-radius:999px!important;padding:2px 10px!important;margin:0!important}
}

/* @ mentions in the note box (29 Oct 2026; specs/note-mentions.md): the list under the box at the note's own size, the warning line in the muted ink; no new colour */
.note-compose{position:relative}
.note-at{display:grid;margin:6px 0 0;padding:4px;background:var(--surface);border:1px solid var(--line);border-radius:10px;max-width:360px;max-height:320px;overflow-y:auto}
.note-at[hidden]{display:none}
.note-at-item{all:unset;cursor:pointer;display:flex;gap:10px;align-items:baseline;padding:7px 10px;border-radius:8px;color:var(--ink);font-size:inherit}
.note-at-item.on,.note-at-item:hover{background:var(--rule)}
.note-at-kind{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.note-warn{margin:8px 0 0;color:var(--muted)}
.note-need{margin:8px 0 0;font-weight:600}
.bell-named{font-weight:500}

/* ---- Club Daily and Overview, built to the mockups (Caroline, 30 Oct 2026: "I like both of the mockups"; reference/look-and-feel/visual-refinement-27-oct/,
   mockup-club-daily and mockup-overview, drawn 29 to 30 Oct 2026; specs/visual-refinement-27-oct.md) ----
   Club Daily: one panel; each window's name written out with its dates beneath; each cell its figure, then two short lists beneath a hairline, Last year and
   Change, then Guests, LY and Ambassador, names to the left and figures to the right; Totals under a double rule. Overview: the reported line beside the date;
   Sales and Last night as the Daily DSR's cards; Target Watch and Club Pulse as tables in panels, Club Pulse's tags in a column of their own; its explanation
   beneath the panel. Colours, figures and type sizes as before: the colouring is still paintFigures', and no type is smaller. */
#main[data-page="daily"] .cd-frame{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:14px!important;box-shadow:none!important;padding:4px 20px 6px!important;overflow:visible}
#main[data-page="daily"] .cd-frame>.flash-scroll{overflow:visible}
#main[data-page="daily"] .cd-grid{table-layout:fixed}
#main[data-page="daily"] .cd-grid thead th{padding:14px 16px 12px!important;border-bottom:1px solid var(--line)!important;vertical-align:bottom;text-transform:none!important;letter-spacing:0!important;background:none!important}
#main[data-page="daily"] .cd-grid thead th.cd-corner{width:15%;padding-left:0!important}
#main[data-page="daily"] .cd-w{display:block;font-size:.8125rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
#main[data-page="daily"] .cd-when{display:block;margin-top:3px;font-size:.875rem;font-weight:400;color:var(--dim);white-space:nowrap}
#main[data-page="daily"] .cd-grid th.cd-club{padding:18px 16px 16px 0!important;vertical-align:top;font-size:1.0625rem;font-weight:500!important;border:0!important;background:none!important}
#main[data-page="daily"] .cd-grid th.cd-club .text-button{white-space:nowrap;gap:10px}
#main[data-page="daily"] .cd-grid td.cd-cell{padding:16px 16px 14px!important;vertical-align:top;border:0!important;border-left:1px solid var(--rule)!important;background:none!important}
#main[data-page="daily"] .cd-grid tbody tr+tr>th,#main[data-page="daily"] .cd-grid tbody tr+tr>td{border-top:1px solid var(--rule)!important}
#main[data-page="daily"] .cd-grid tbody tr.cd-total>th,#main[data-page="daily"] .cd-grid tbody tr.cd-total>td{border-top:3px double var(--line-strong)!important;background:none!important}
#main[data-page="daily"] td.cd-cell>.cd-fig.mc{display:block!important;width:100%;margin:0!important;padding:0!important;border-radius:6px}
#main[data-page="daily"] .cd-ty,#main[data-page="daily"] .cd-total .cd-ty{display:block;font-family:var(--display);font-size:1.75rem!important;font-weight:500!important;line-height:1!important;margin:0 0 12px!important;letter-spacing:0}/* figures in Display at 500 (the type decision, 28 Sep 2026) */
#main[data-page="daily"] .cd-kv{display:grid!important;row-gap:5px;width:100%;margin:0!important;padding:9px 0 0!important;border-top:1px solid var(--rule)!important;background:none!important}
#main[data-page="daily"] .cd-kv+.cd-kv{margin-top:9px!important}
#main[data-page="daily"] .cd-kv>.kv{display:flex!important;justify-content:space-between;align-items:baseline;gap:10px;font-size:.9375rem;line-height:1.3;color:var(--ink)}
#main[data-page="daily"] .cd-kv .kv-k,#main[data-page="daily"] .cd-kv .cd-gl{color:var(--muted);font-weight:400}
#main[data-page="daily"] .cd-kv .kv-v{margin:0;white-space:nowrap;text-align:right}
#main[data-page="daily"] .cd-kv .kv-v>*{display:inline}
#main[data-page="daily"] .cd-kv .cd-chg{display:inline-flex!important;align-items:baseline;gap:8px;font-size:inherit}
#main[data-page="daily"] .cd-kv .cd-chg .amt{color:inherit}
#main[data-page="daily"] .cd-kv .ly{color:var(--ink);font-size:inherit}
#main[data-page="daily"] .cd-kv .inline-performance{margin-left:2px}
#main[data-page="daily"] .cd-kv>.kv.cd-amb{margin:0 -6px!important;padding:1px 6px!important;width:auto!important;border-radius:6px;background:var(--flag-alert)}/* Ambassador's red ground across its line (the CEO, 8 Oct 2026) */
#main[data-page="daily"] .cd-kv .cd-amb .mc-sub-fig .num{color:var(--ink)}
#main[data-page="daily"] .cd-kv .cd-amb-ly{color:var(--muted)}
#main[data-page="daily"] .cd-kv>.kv-note .note{white-space:normal}
#main[data-page="daily"] .cd-notes{margin-top:8px}
#main[data-page="daily"] .cd-foot{margin-top:14px;font-size:.875rem;color:var(--muted)}
@media(max-width:620px){
 #main[data-page="daily"] .cd-frame{padding:2px 12px 4px!important}
 #main[data-page="daily"] .cd-grid thead th.cd-corner{width:40%}
 #main[data-page="daily"] .cd-grid th.cd-club{padding:14px 8px 12px 0!important;font-size:1rem}
 #main[data-page="daily"] .cd-grid th.cd-club .text-button{white-space:normal}
 #main[data-page="daily"] .cd-grid td.cd-cell{padding:14px 0 12px 12px!important}
 #main[data-page="daily"] .cd-ty,#main[data-page="daily"] .cd-total .cd-ty{font-size:1.5rem!important}
 #main[data-page="daily"] .cd-kv>.kv,#main[data-page="daily"] .cd-when,#main[data-page="daily"] .cd-foot{font-size:1rem}
 #main[data-page="daily"] .cd-kv .kv-v{white-space:normal}
 #main[data-page="daily"] .cd-kv .cd-chg{flex-wrap:wrap;justify-content:flex-end;column-gap:6px;row-gap:0}
}

/* Overview */
#main[data-page="hub"] .hub-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 28px}
#main[data-page="hub"] .hub-title>.reported-text{margin:0 0 0 auto;font-size:.9375rem;color:var(--muted)}
#main[data-page="hub"] .hub-title>.flash-date{margin:0!important}
#main[data-page="hub"] .flash-status:empty{display:none}
#main[data-page="hub"] .flash-status .latest:not(.past){display:none}
#main[data-page="hub"] .hub-shared{margin-top:12px}
#main[data-page="hub"] .hub-shared .grp-sub{font-size:.875rem;font-weight:400;letter-spacing:0;text-transform:none;color:var(--dim)}
#main[data-page="hub"] .hub-sec{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:30px 0 12px}
#main[data-page="hub"] .hub-sec>h2{margin:0;font-size:.8125rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
#main[data-page="hub"] .hub-sec>.tw-meta{font-size:.875rem;color:var(--dim)}
#main[data-page="hub"] .hub-sec+.flash-frame{margin-top:0!important}
#main[data-page="hub"] .target-watch,#main[data-page="hub"] .club-pulse{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:14px!important;box-shadow:none!important;padding:6px 20px 8px!important}
#main[data-page="hub"] .tw-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.9375rem}
#main[data-page="hub"] .tw-table col.tw-c1{width:22%}#main[data-page="hub"] .tw-table col.tw-c4{width:20%}
#main[data-page="hub"] .tw-table th{padding:12px 14px 10px 0;border-bottom:1px solid var(--line);text-align:left;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
#main[data-page="hub"] .tw-table td{padding:12px 14px 12px 0;border:0;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top;color:var(--ink);white-space:normal}
#main[data-page="hub"] .tw-table tbody tr:last-child td{border-bottom:0}
#main[data-page="hub"] .tw-table td.mc-fig{font-size:inherit!important;line-height:inherit;min-height:0}
#main[data-page="hub"] .tw-table td .ly{color:var(--ink);font-size:inherit}
#main[data-page="hub"] .tw-table td .note{color:var(--muted);font-size:inherit}
#main[data-page="hub"] .tw-table td.mc-status .note{color:var(--muted)}
#main[data-page="hub"] .tw-table .club-name{display:inline-flex;align-items:center;gap:10px;font-weight:400;color:var(--ink)}
#main[data-page="hub"] .tw-table .tw-bar{display:inline-block;vertical-align:middle;width:90px;height:6px;margin:0 8px 0 0;border-radius:3px;background:var(--rule)}
#main[data-page="hub"] .tw-table .tw-bar>span{background:var(--accent)}
#main[data-page="hub"] .tw-table .tw-bar.positive>span{background:var(--green)}#main[data-page="hub"] .tw-table .tw-bar.negative>span{background:var(--red)}
#main[data-page="hub"] .tw-table .tw-progress{color:var(--ink)}
@media(min-width:1100px){
 #main[data-page="hub"] .club-pulse .sc-head,#main[data-page="hub"] .club-pulse .sc-row{grid-template-columns:15fr 17fr 14fr 16fr 14fr 24fr!important;column-gap:0!important;align-items:start!important;padding-left:0!important;padding-right:0!important}
 #main[data-page="hub"] .club-pulse .sc-head>*,#main[data-page="hub"] .club-pulse .sc-row>*{border-left:0!important;padding-left:0!important;padding-right:14px!important}
 #main[data-page="hub"] .club-pulse .sc-head>:last-child{position:static!important;width:auto!important;height:auto!important;overflow:visible!important;clip-path:none!important}
 #main[data-page="hub"] .club-pulse .sc-row>.sc-club{grid-row:auto!important;grid-column:auto!important;flex-direction:column;align-items:flex-start;gap:2px}
 #main[data-page="hub"] .club-pulse .sc-row>.sc-status{grid-column:auto!important;grid-row:auto!important;align-content:flex-start;gap:0!important}
}
#main[data-page="hub"] .club-pulse .sc-head{font-size:.75rem!important;font-weight:600!important;letter-spacing:.08em!important;text-transform:uppercase;color:var(--muted);padding-top:12px!important;padding-bottom:10px!important;border-bottom:1px solid var(--line)!important}
#main[data-page="hub"] .club-pulse .sc-row{border-top:1px solid var(--rule)!important;padding-top:12px!important;padding-bottom:12px!important}
#main[data-page="hub"] .club-pulse .sc-head+.sc-row{border-top:0!important}
#main[data-page="hub"] .club-pulse .sc-club .club-name{gap:10px;font-weight:400}
#main[data-page="hub"] .club-pulse .sc-year{font-size:.875rem;color:var(--muted);font-weight:400}
#main[data-page="hub"] .club-pulse .sc-cell{justify-content:flex-start!important;gap:3px}
#main[data-page="hub"] .club-pulse .sc-cell .mc-fig{font-size:.9375rem!important;line-height:1.35;color:var(--ink)}
#main[data-page="hub"] .club-pulse .sc-cell .mc-fig.positive{color:var(--green)}#main[data-page="hub"] .club-pulse .sc-cell .mc-fig.negative{color:var(--red)}
#main[data-page="hub"] .club-pulse .sc-cell .mc-ly,#main[data-page="hub"] .club-pulse .sc-cell .mc-chg{font-size:.875rem!important;color:var(--ink);line-height:1.4}
#main[data-page="hub"] .club-pulse .sc-row>.sc-cell:nth-child(2) .mc-fig{display:block}
#main[data-page="hub"] .club-pulse .sc-line .sc-tw{font-size:.9375rem!important;font-weight:400!important}
#main[data-page="hub"] .club-pulse .sc-tag{margin:0 6px 6px 0;padding:2px 9px;font-size:.8125rem}
#main[data-page="hub"] .sc-explain{margin:10px 0 0!important;padding:0!important;border:0!important;font-size:.875rem!important;color:var(--muted)}
#main[data-page="hub"] .portfolio{margin-top:16px}
#main[data-page="hub"] .portfolio>summary{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 20px;align-items:baseline}
#main[data-page="hub"] .portfolio>summary::before{content:none}
#main[data-page="hub"] .portfolio>summary::after{content:'⌄';margin-left:auto;color:var(--muted)}
#main[data-page="hub"] .portfolio[open]>summary::after{transform:rotate(180deg)}
#main[data-page="hub"] .portfolio-title{font-weight:500}
#main[data-page="hub"] .flash-foot{margin-top:22px;padding-top:14px;border-top:1px solid var(--line);font-size:.875rem;color:var(--muted)}
@media(max-width:620px){
 #main[data-page="hub"] .hub-title>.reported-text{margin-left:0;flex-basis:100%}
 #main[data-page="hub"] .hub-title>.reported-text,#main[data-page="hub"] .hub-sec>.tw-meta,#main[data-page="hub"] .hub-shared .grp-sub,#main[data-page="hub"] .sc-explain,#main[data-page="hub"] .flash-foot{font-size:1rem!important}
 #main[data-page="hub"] .target-watch,#main[data-page="hub"] .club-pulse{padding:2px 12px 4px!important}
 #main[data-page="hub"] .tw-table,#main[data-page="hub"] .tw-table tbody,#main[data-page="hub"] .tw-table tr{display:block}
 #main[data-page="hub"] .tw-table colgroup,#main[data-page="hub"] .tw-table thead{display:none}
 #main[data-page="hub"] .tw-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;row-gap:4px;padding:12px 0;border-bottom:1px solid var(--rule)}
 #main[data-page="hub"] .tw-table tr:last-child{border-bottom:0}
 #main[data-page="hub"] .tw-table td{display:block;padding:0;border:0;font-size:1rem}
 #main[data-page="hub"] .tw-table td.tw-club,#main[data-page="hub"] .tw-table td.mc-chg,#main[data-page="hub"] .tw-table td.mc-status{grid-column:1/-1}
  #main[data-page="hub"] .tw-table .club-full{display:inline}
 #main[data-page="hub"] .club-pulse .sc-row>.sc-club{flex-direction:column;align-items:flex-start;gap:2px}
 #main[data-page="hub"] .club-pulse .sc-year{font-size:1rem}
}
/* the change in dollars takes its green or red, as on the Daily DSR's cards (both mockups); the percentage at the size of its line */
#main[data-page="daily"] .cd-kv .amt.positive,#main[data-page="hub"] .hub-shared .kv .amt.positive{color:var(--green)!important}
#main[data-page="daily"] .cd-kv .amt.negative,#main[data-page="hub"] .hub-shared .kv .amt.negative{color:var(--red)!important}
#main[data-page="hub"] .hub-shared .grey .kv .amt,#main[data-page="hub"] .hub-shared .grey .kv .inline-performance,#main[data-page="hub"] .hub-shared .grey .kv .inline-performance *{color:var(--muted)!important}/* comps are counts, never coloured (rule 4) */
#main[data-page="daily"] .cd-kv .inline-performance,#main[data-page="daily"] .cd-kv .inline-performance *{font-size:inherit!important}
/* Target Watch drawn as a table: the card grid it was once laid out in no longer applies */
@media(min-width:621px){
 #main[data-page="hub"] .tw-table tbody.tw-grid{display:table-row-group!important}
 #main[data-page="hub"] .tw-table tr.tw-cell{display:table-row!important;padding:0!important;border:0!important;gap:0!important}
 #main[data-page="hub"] .tw-table tr.tw-cell>td{display:table-cell!important;min-height:0!important;margin:0!important}
}
@media(max-width:620px){
 #main[data-page="hub"] .tw-table tbody.tw-grid{display:block!important}
 #main[data-page="hub"] .tw-table tr.tw-cell{display:grid!important;border-left:0!important;border-top:0!important}
}
@media(min-width:621px) and (max-width:1099px){#main[data-page="hub"] .club-pulse .sc-cell .mc-ly,#main[data-page="hub"] .club-pulse .sc-cell .mc-fig{white-space:normal!important;overflow-wrap:anywhere}}
/* Club Pulse between a phone and a laptop: the phone's arrangement, the club above, its three figures across, the largest line and the tags beneath, since six columns do not fit */
#main[data-page="hub"] .club-pulse .sc-row>.sc-club{flex-direction:column!important;align-items:flex-start!important;gap:2px}
@media(min-width:621px) and (max-width:1099px){
 #main[data-page="hub"] .club-pulse .sc-head{display:none!important}
 #main[data-page="hub"] .club-pulse .sc-row{grid-template-columns:repeat(3,minmax(0,1fr))!important;row-gap:8px!important;column-gap:16px!important;padding:14px 0!important;align-items:start!important}
 #main[data-page="hub"] .club-pulse .sc-row>*{border-left:0!important;padding-left:0!important}
 #main[data-page="hub"] .club-pulse .sc-row>.sc-club,#main[data-page="hub"] .club-pulse .sc-row>.sc-target,#main[data-page="hub"] .club-pulse .sc-row>.sc-status{grid-column:1/-1!important;grid-row:auto!important}
 #main[data-page="hub"] .club-pulse .sc-cell .mc-label{display:block!important;color:var(--muted);font-size:.875rem}
 #main[data-page="hub"] .club-pulse .sc-row>.sc-status{gap:0!important}
}
#main[data-page="hub"] .tw-table td.mc-chg{white-space:nowrap}
@media(min-width:621px) and (max-width:1099px){#main[data-page="hub"] .tw-table .tw-bar{width:56px}}
/* a Club Daily line with nothing to say keeps its place but shows no name (Phase 1, 3 Oct 2026: a gap never moves the lines beneath) */
#main[data-page="daily"] .cd-kv>.kv:has(>.kv-v:empty){visibility:hidden}
/* Target Watch's words its column headings say on a laptop: hidden there, read out to a screen reader, shown on a phone */
@media(min-width:621px){#main[data-page="hub"] .tw-table .tw-x{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}
@media(max-width:620px){#main[data-page="hub"] .tw-table .tw-x{color:var(--muted)}}
/* Overview's cards on a phone: the figure above its list, since the all-clubs totals are wider than half a card (Safari, iPhone 13 Mini: $12,835,961*) */
@media(max-width:620px){
 #main[data-page="hub"] .dsr-shared>.club-flash.kv-cards.kv-cards td.flash-cell>.flash-figure{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"above" "fig" "below"!important;row-gap:6px!important}
 #main[data-page="hub"] .dsr-shared>.club-flash.kv-cards.kv-cards td.flash-cell>.flash-figure>.fx-below{padding:8px 0 0!important;border-left:0!important;border-top:1px solid var(--rule)!important;margin:4px 0 0!important}
 #main[data-page="hub"] .dsr-shared>.club-flash.kv-cards.kv-cards .fx-above{flex-wrap:wrap!important}
}
/* on a phone nothing below the body's 16px (the presentation audit, 28 Sep 2026) */
@media(max-width:620px){
 #main[data-page="hub"] .hub-sec>h2,#main[data-page="hub"] .club-pulse .sc-cell .mc-fig,#main[data-page="hub"] .club-pulse .sc-cell .mc-ly,#main[data-page="hub"] .club-pulse .sc-cell .mc-chg,#main[data-page="hub"] .club-pulse .sc-line .sc-tw,#main[data-page="hub"] .club-pulse .sc-tag,#main[data-page="hub"] .club-pulse .sc-year,#main[data-page="hub"] .tw-table,#main[data-page="hub"] .tw-table td,#main[data-page="hub"] .tw-table td *:not(.mk):not(.mk *){font-size:1rem!important}
 #main[data-page="hub"] .club-pulse .sc-cell .mc-fig{font-size:1.0625rem!important}
}
/* no text smaller than recorded on 27 Oct 2026 (Caroline's brief for this refinement: "without shrinking type"; held as on the Tampa build, 28 Oct 2026):
   the panels' titles at their 16px, the tables' headings at 13px, Club Pulse's figures at 18px and the week's sales in Target Watch at 24px, larger than the mockup drew them */
#main[data-page="hub"] .hub-sec>h2{font-size:1rem!important;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink)}
#main[data-page="hub"] .tw-table th,#main[data-page="hub"] .club-pulse .sc-head{font-size:.8125rem!important}
#main[data-page="hub"] .club-pulse .sc-cell .mc-fig{font-size:1.125rem!important}
#main[data-page="hub"] .tw-table td.mc-fig{font-family:var(--display);font-size:1.5rem!important;font-weight:500;line-height:1.1}
#main[data-page="hub"] .tw-table td{vertical-align:baseline}
#main[data-page="daily"] .cd-kv .kv-v:empty::before{content:'\00a0'}/* an empty line keeps its height, so the lines beneath stay level across the row */
#main[data-page="hub"] .club-pulse .sc-row{align-items:stretch!important}/* the row's figure cells share one height, their contents at the top (Phase 1, 3 Oct 2026) */
@media(max-width:620px){#main[data-page="hub"] .club-pulse{padding:2px 0 4px!important}#main[data-page="hub"] .club-pulse .sc-row{padding-left:12px!important;padding-right:12px!important}}/* the phone's columns as wide as before, so no label wraps and moves its figure */
#main[data-page="hub"] .tw-table{font-size:1rem}/* the tables at 16px, as on the Daily DSR (28 Oct 2026) */
@media(max-width:620px){#main[data-page="hub"] .tw-table td.mc-more:empty{display:none!important}}/* a week past its target has nothing remaining: no blank line for it on a phone */
/* The Monday weekend window (Caroline, 1 Nov 2026): five Sales cards above the four Last night cards, on Mondays only. The Sales row keeps its own five tracks across the same width,
   so Last night and the cards below stay on their four. Below 1100px the cards go two across or one as they always do, the fifth on a row of its own. */
@media(min-width:1100px){
 .club-flash.has-wknd .club-flash-table>tbody>tr.row-sales{display:grid!important;grid-column:1/-1!important;grid-template-columns:max-content repeat(5,minmax(0,1fr))!important}
 .dsr-shared>.club-flash.has-wknd.kv-cards.kv-cards>.club-flash-table>tbody>tr.row-sales{grid-column:2/-1!important;grid-template-columns:repeat(5,minmax(0,1fr))!important}
 .dsr-shared>.club-flash.has-wknd.kv-cards.kv-cards tr.row-sales>th.flash-group-edge{grid-column:1/-1!important}
 .dsr-shared>.club-flash.has-wknd.kv-cards.kv-cards tr.row-sales>td.flash-cell:nth-child(2){grid-column-start:auto!important}
 .dsr-shared>.club-flash.has-wknd.kv-cards.kv-cards tr.row-sales>td.flash-cell:last-child{margin-right:0!important}
}
@media(max-width:620px){
 .cd-grid.show-weekend [data-p=weekend]{display:table-cell}
}
/* The Monday column looks temporary by a faint tint alone (Caroline, 2 Nov 2026: "Fine with tinting it. I don't necessarily want to market it as anything... I think by tinting it, you're calling it out"): no label, the same width */
:root{--wknd-tint:rgba(214,170,74,.09)}
:root[data-theme=light]{--wknd-tint:rgba(190,140,30,.09)}
#main[data-page="daily"] .cd-grid thead th[data-p=weekend],#main[data-page="daily"] .cd-grid td.cd-cell[data-p=weekend],#main[data-page="daily"] .cd-grid tbody tr.cd-total>td[data-p=weekend]{background:var(--wknd-tint)!important}
.club-flash td.flash-cell.wknd-tint,.dsr-shared>.club-flash.kv-cards.kv-cards td.flash-cell.wknd-tint{background:var(--wknd-tint)!important}
/* The DSR set (Caroline, 2 Nov 2026): a small switch at the head of the page, and the window's own columns with no Average */
.dsr-kinds{display:inline-flex;width:fit-content;margin:0}
.dsr-kinds button{font-size:1rem;padding:5px 12px;min-height:0}
@media(min-width:621px){
 .club-head .club-title>.dsr-kinds{grid-area:kinds!important;justify-self:start;align-self:end!important}
}
@media(min-width:621px) and (max-width:1099px){
 .club-head:has(.dsr-kinds){grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"views views" "title kinds" "status date"!important}
}
@media(min-width:1100px){
 .club-head:has(.dsr-kinds){grid-template-columns:auto minmax(0,1fr) auto auto!important;grid-template-areas:"views views views views" "title kinds status date"!important}
}
.window-cards .flash-figure{cursor:default}
.date-arrow[disabled]{opacity:.35;cursor:default}
@media(max-width:620px){.dsr-kinds{display:flex;flex-wrap:wrap;width:100%;order:9}.dsr-kinds button{flex:1 1 0;min-width:min-content;padding:7px 4px}}
/* Beneath the first row of each stack, the rest in one column: Revenue and Comps end on one line, and Counts, Averages and the window's tables each keep their own height, never drawn over one another */
.dsr-rest{display:flex;flex-direction:column;gap:var(--dsr-gap);min-width:0}.dsr-rest:empty{display:none}
/* A window's figures run longer than a night's, and it has no Average column */
@media(min-width:621px){
 .dsr-cols .dsr-table.win .dsr-fig,.dsr-cols .dsr-table.win .dsr-colheads{grid-template-columns:5.6rem 5.8rem 5.4rem 3.2rem 0 3.8rem!important}
 .dsr-cols .dsr-table.win .dsr-cell.r .dsr-fig,.dsr-cols .dsr-table.win .dsr-cell.r .dsr-colheads{grid-template-columns:5.6rem 5.8rem 5.4rem 3.2rem!important}
}
/* Club Daily with five columns: the change's amount and its percentage on two lines in every cell, the blank ones keeping the same room, so a row's cells share one height and every line sits level */
@media(min-width:621px){
 .cd-grid.five .cd-fig .mc-chg{min-height:2.91rem;align-self:stretch}
 .cd-grid.five .cd-fig .mc-chg>.cd-chg{display:inline-flex!important;flex-direction:column;align-items:flex-end;row-gap:0}
}
/* The change line stays in LY's own cell on a phone (Caroline, 1 Nov 2026, her screenshot of Tampa's VIP row; specs/who-reacted-and-tampa-overflow.md): the dollar change drops to the next line when both do not fit, and nothing crosses the rule */
@media(max-width:620px){
 .dsr-fig>.chg{grid-column:3;min-width:0;flex-wrap:wrap;white-space:normal;background:none;padding-left:0}
}
/* The Daily DSR at larger phone text (Caroline, 3 Nov 2026, Q266): an Average that does not fit beside the label wraps to two lines, never cut off; at the largest text the label takes its own line, and this year and last year share the width beneath it, with the Average under this year and the change under last year */
@media(max-width:380px){
 .dsr-cols .dsr-table:not(.no-avg) .dsr-cell:not(.head) .dsr-fig>.avg{white-space:normal;text-align:right;min-width:0;max-width:100%;padding-left:0}
}
@media(max-width:340px){/* the label's column is too narrow here for the Average: the rule beside it would run through the words, so only the rule between this year and last year stays */
 .dsr-cell:not(.head):not(.split),.dsr-cell.head:not(.split),.dsr-table.no-avg .dsr-cell:not(.head):not(.split),.dsr-table.no-avg .dsr-cell.head:not(.split){background-image:var(--vr);background-position:right calc(16px + 6.4rem) top 0}
}
@media(max-width:280px){
 .dsr-cell:not(.head):not(.split),.dsr-cell.head:not(.split),.dsr-cell:not(.head),.dsr-cell.head{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:8px;background-image:none}
 .dsr-table.no-avg .dsr-cell:not(.head):not(.split),.dsr-table.no-avg .dsr-cell.head:not(.split){background-image:none}
 .dsr-cell:not(.head)>.dsr-lab{grid-column:1/-1;grid-row:1}
 .dsr-fig>.fig{grid-column:1;grid-row:2}
 .dsr-fig>.ly{grid-column:2;grid-row:2}
 .dsr-fig>.chg{grid-column:2;grid-row:3}
 .dsr-cols .dsr-table:not(.no-avg) .dsr-cell:not(.head) .dsr-fig>.avg{grid-column:1!important;grid-row:3!important}
 .dsr-cell.head>:first-child{grid-column:1/-1;grid-row:1}
 .dsr-colheads .ch-ty{grid-column:1;grid-row:2}
 .dsr-colheads .ch-ly{grid-column:2;grid-row:2}
}

/* A manager's typed fix, at the very foot of the night (5 Nov 2026; specs/upload-second-round.md): the quiet note style, no colour of its own */
.dsr-corrections{margin:16px 0 0;font-size:.875rem;line-height:1.45;color:var(--muted)}
.dsr-corrections p{margin:0 0 4px}

/* The Club Review (6 Nov 2026): the review's tables in the site's type, the first column pinned on a phone, estimates grey italic, the tags as TELL ME's */
.cr-title{flex-wrap:wrap;gap:10px 16px}.cr-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cr-pdf{text-decoration:none}
.cr-topline{margin:0 0 18px;color:var(--muted)}
.cr-h2{margin:28px 0 10px;padding-bottom:4px;border-bottom:1px solid var(--line-strong)}.cr-h3{font:500 1.0625rem/1.35 var(--font);margin:18px 0 4px}
.cr-p{margin:4px 0 10px;line-height:1.5;max-width:78em}.cr-note{margin:4px 0 10px;color:var(--muted);font-size:.875rem;line-height:1.5}
.cr-scroll{overflow-x:auto;margin:6px 0 10px;-webkit-overflow-scrolling:touch}
.cr-table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums;font-size:.9375rem}
.cr-table th,.cr-table td{padding:8px 10px;border-bottom:1px solid var(--rule);text-align:right;vertical-align:middle;line-height:1.3;white-space:nowrap}
.cr-table th.l,.cr-table td.l,.cr-table tbody th{text-align:left}.cr-table thead th{font-weight:500;font-size:.8125rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--line-strong);white-space:normal;vertical-align:bottom}
.cr-table tbody th{font-weight:500;position:sticky;left:0;background:var(--surface);z-index:1}.cr-table tr.total th,.cr-table tr.total td{font-weight:500;border-top:2px solid var(--line-strong);background:var(--surface-2)}
.cr-table .est{font-style:italic;color:var(--muted)}.cr-scorecard th,.cr-scorecard td,.cr-passes td:last-child{white-space:normal;text-align:left;vertical-align:top}.cr-scorecard{min-width:720px}
.cr-bridge{border-collapse:collapse;margin:2px 0 14px;font-variant-numeric:tabular-nums;font-size:.9375rem}.cr-bridge th{font-weight:400;text-align:left;padding:3px 18px 3px 0;color:var(--muted)}.cr-bridge td{text-align:right;padding:3px 0}.cr-bridge tr.cr-bridge-end th,.cr-bridge tr.cr-bridge-end td{font-weight:500;color:var(--ink)}.cr-bridge tr.cr-bridge-end:last-child th,.cr-bridge tr.cr-bridge-end:last-child td{border-top:1px solid var(--line-strong)}
.cr-list{margin:4px 0 10px;padding-left:18px;max-width:78em}.cr-list li{margin:4px 0;line-height:1.5}.cr-small{font-size:.875rem;color:var(--muted)}
.cr-lines{list-style:none;margin:4px 0 12px;padding:0;max-width:78em}.cr-lines li{margin:4px 0;line-height:1.5}.cr-lines .cr-fig{font-weight:500}
.tm-tag.flag{color:var(--gold);border-color:var(--amber-line)}
@media(max-width:700px){.cr-table{font-size:1rem}.cr-h3,.cr-note,.cr-small,.cr-topline{font-size:1rem}.cr-tools{width:100%}}

/* The pass line on TELL ME (6 Nov 2026): one row a club, hotel passes and Comp VIP this month to date against last month, never coloured */
.tm-passes>summary{cursor:pointer;width:auto;list-style:none}.tm-passes>summary::-webkit-details-marker{display:none}.tm-pass-rows{list-style:none;margin:6px 0 0;padding:0}
.tm-pass{display:flex;flex-wrap:wrap;gap:4px 18px;align-items:baseline;padding:8px 0;border-top:1px solid var(--rule)}.tm-pass:last-child{border-bottom:1px solid var(--rule)}.tm-pass-club{font-weight:500;min-width:9em}.tm-pass-club .mk{vertical-align:middle;margin-right:4px}.tm-pass-m .num{font-weight:500}.tm-pass-partial{color:var(--muted);font-style:italic}
@media(max-width:700px){.tm-pass{gap:2px 12px}.tm-pass-club{min-width:0;width:100%}}
.tm-review-link{display:none;font-weight:500;margin-left:auto}/* the phone's way to the Club Review (6 Nov 2026); the laptop has the tab */
