/* FCF-96: Report › Review lenses (focus-lenses.js). Charts inside the cards are styled by focus-rhythm.css (rc-).
   Every text colour sits on a background set here, in both themes (body.dark). */
.lens-bar{flex:none;display:flex;flex-direction:column;align-items:center;gap:2px;padding:0 12px 6px}
.lens-bar .lens-tabs{margin:4px auto 0;max-width:100%;overflow-x:auto;scrollbar-width:none}
.lens-bar .lens-tabs button{padding:4px 14px;white-space:nowrap}
.lens-question{margin:2px 0 0;font-size:11px;color:var(--rv-muted)}
.lens-page .lens-body{flex:1;min-height:0;overflow-y:auto;padding:4px 16px 24px}
.lens-asof{margin:6px 0 0;text-align:center;font-size:11px;color:var(--rv-muted)}
.lens-empty{padding:40px 16px;text-align:center}
.lens-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:14px;align-items:start;max-width:1280px;margin:0 auto}
.lens-card{background:var(--surface);color:inherit;border:1px solid var(--border);border-radius:10px;padding:14px 16px 16px;min-width:0}
.lens-card.lens-wide{grid-column:1/-1}
.lens-card header{margin-bottom:10px}
.lens-card h3{margin:0;font-size:14px;font-weight:600}
.lens-card h4{margin:12px 0 6px;font-size:12px;font-weight:600}
.lens-sub{margin:2px 0 0;font-size:11px;line-height:1.4;color:var(--rv-muted)}
.lens-note{margin:10px 0 0;font-size:11px;line-height:1.5;color:var(--rv-muted)}
.lens-muted{color:var(--rv-muted)}
.lens-up{color:var(--win);font-weight:600}
.lens-down{color:var(--rv-bad);font-weight:600}

/* CEO Brief */
.lens-brief{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.lens-brief li{font-size:13px;line-height:1.55;padding:8px 10px;border-radius:8px;background:var(--soft);color:inherit}
.lens-brief b{font-weight:650}

/* Score */
.lens-score{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-bottom:8px}
.lens-big{display:flex;align-items:baseline;gap:6px}
.lens-big strong{font-size:40px;line-height:1;font-weight:700;font-variant-numeric:tabular-nums}
.lens-big span{font-size:11px;color:var(--rv-muted)}
.lens-chips{display:flex;flex-wrap:wrap;gap:6px}
.lens-chip{font-size:11px;padding:3px 8px;border-radius:999px;background:var(--soft);color:inherit;border:1px solid var(--border)}
.lens-help{margin-top:10px;font-size:12px;line-height:1.5}
.lens-help summary{cursor:pointer;color:var(--rv-info);font-size:12px}
.lens-help p{margin:6px 0 0}
.lens-picks{display:flex;flex-wrap:wrap;gap:6px}
.lens-pick{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:inherit;cursor:pointer}
.lens-pick i{width:8px;height:8px;border-radius:50%;flex:none}
.lens-pick[aria-pressed="true"]{border-color:var(--rv-info);background:var(--soft);font-weight:600;box-shadow:inset 0 0 0 1px var(--rv-info)}

/* Energy */
.lens-rec{margin:10px 0 0;padding:8px 10px 8px 12px;border-left:4px solid var(--zone,#22c55e);border-radius:6px;background:var(--soft);color:inherit;font-size:13px;line-height:1.5}

/* Rhythm */
.lens-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 10px}
.lens-controls.lens-top{justify-content:center;margin:4px 0 12px}
.lens-controls .segmented{margin:0}
.lens-controls .segmented button{padding:3px 12px}
.lens-range{font-size:12px;font-weight:600}
.lens-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;max-width:1280px;margin:0 auto 8px}
.lens-stats div{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 10px;color:inherit}
.lens-stats strong{display:block;font-size:17px;font-variant-numeric:tabular-nums}
.lens-stats small{font-size:11px;color:var(--rv-muted)}
.lens-share{display:flex;height:10px;border-radius:5px;overflow:hidden;max-width:1280px;margin:0 auto 14px;background:var(--soft)}
.lens-share i{display:block;min-width:2px}

/* Trends, Structure, Ideal day */
.lens-sparks{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.lens-insight{margin:10px 0 0;padding-left:18px;font-size:12px;line-height:1.6}
.lens-table{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}
.lens-table th{text-align:left;font-weight:600;color:var(--rv-muted);padding:4px 6px;border-bottom:1px solid var(--border)}
.lens-table td{padding:5px 6px;border-bottom:1px solid var(--border)}
.lens-table tr:last-child td{border-bottom:0}
.lens-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}
.lens-meter{display:inline-block;vertical-align:middle;width:48px;height:6px;border-radius:3px;margin-right:6px;background:var(--soft);position:relative;overflow:hidden}
.lens-meter::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);background:var(--group-work)}

@media(max-width:600px){
 .lens-page .lens-body{padding:4px 10px 20px}
 .lens-card{padding:12px}
 .lens-big strong{font-size:32px}
 .lens-bar .lens-tabs{justify-content:flex-start}
 .lens-bar .lens-tabs button{padding:4px 9px}
 .lens-table{font-size:11px}
}

/* FCF-183: Rhythm filter (categories, intentions). Every text sits on --surface / --soft, set for both themes. */
.lens-filter{max-width:1280px;margin:0 auto 12px;background:var(--surface);color:inherit;border:1px solid var(--border);border-radius:10px}
.lens-filter>summary{display:flex;align-items:center;gap:10px;padding:8px 14px;cursor:pointer;font-size:13px;font-weight:600;list-style:none}
.lens-filter>summary::-webkit-details-marker{display:none}
.lens-filter>summary::before{content:'▸';font-size:11px;color:var(--rv-muted);transition:transform .15s}
.lens-filter[open]>summary::before{transform:rotate(90deg)}
.lf-state{font-size:11px;font-weight:400;color:var(--rv-muted)}
.lf-state.on{color:var(--rv-info);font-weight:600}
.lf-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:12px 20px;padding:0 14px 14px}
.lf-body h4{display:flex;align-items:center;gap:8px;margin:6px 0 8px;font-size:12px;font-weight:600}
.lf-actions{display:inline-flex;gap:4px;margin-left:auto}
.lf-group{margin:0 0 10px}
.lf-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0 0 6px;font-size:11px}
.lf-head b{display:inline-flex;align-items:center;gap:6px;font-size:12px}
.lf-head b i{width:9px;height:9px;border-radius:2px}
.lf-head span{color:var(--rv-muted)}
.lf-head .lf-mini:first-of-type{margin-left:auto}
.lf-mini{font-size:11px;padding:2px 8px;border-radius:6px;border:1px solid var(--border);background:var(--soft);color:inherit;cursor:pointer}
.lf-more{margin-top:8px}
.lens-pick.lf-cat small{margin-left:2px;font-size:10px;color:var(--rv-muted)}
.lens-pick.lf-cat[aria-pressed="true"]{border-color:var(--border);background:var(--surface);font-weight:400;box-shadow:none}
.lens-pick.lf-cat[aria-pressed="false"]{background:var(--soft);color:var(--rv-muted);text-decoration:line-through}
.lens-pick.lf-cat[aria-pressed="false"] i{background:transparent!important;box-shadow:inset 0 0 0 1.5px var(--rv-muted)}
.lf-ints{display:grid;gap:2px;max-height:360px;overflow-y:auto}
.lf-int{display:grid;grid-template-columns:16px minmax(0,1.6fr) minmax(40px,1fr) auto;align-items:center;gap:8px;width:100%;padding:4px 6px;border:0;border-radius:6px;background:transparent;color:inherit;font-size:12px;text-align:left;cursor:pointer}
.lf-int:hover{background:var(--soft)}
.lf-tick{width:14px;height:14px;border-radius:3px;border:1px solid var(--border);display:grid;place-items:center;font-size:10px;line-height:1;background:var(--surface);color:var(--rv-info)}
.lf-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lf-name small{margin-left:6px;font-size:10px;color:var(--rv-muted)}
.lf-bar{height:6px;border-radius:3px;background:var(--soft);overflow:hidden}
.lf-bar i{display:block;height:100%;border-radius:3px}
.lf-num{font-size:11px;color:var(--rv-muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.lf-int[aria-pressed="false"] .lf-name{color:var(--rv-muted);text-decoration:line-through}
.lf-int[aria-pressed="false"] .lf-bar i{opacity:.35}
.lf-dates input{font:inherit;font-size:12px;padding:2px 4px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:inherit;color-scheme:light dark}
.lf-legend{margin:0 0 6px}

/* FCF-184: Health lens. Tiles sit on --soft inside a --surface card; sleep colours are fills, never text colours. */
.hl-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.hl-tile{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:8px;background:var(--soft);color:inherit;min-width:0}
.hl-ask{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 12px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:inherit}.hl-ask p{margin:0;flex:1 1 260px;font-size:12px;line-height:1.5}
.hl-tile small{font-size:11px;color:var(--rv-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hl-tile strong{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2}
.hl-tile strong em{font-style:normal;font-size:11px;font-weight:500;margin-left:3px;color:var(--rv-muted)}
.hl-tile>span{font-size:11px}
.hl-spark{width:100%;height:22px;margin-top:2px}
.hl-spark polyline{fill:none;stroke:var(--rv-info);stroke-width:1.5;vector-effect:non-scaling-stroke}
.hl-sleep{width:100%;height:150px;display:block;background:var(--soft);border-radius:6px}
.hl-sleep line{stroke:var(--rv-muted);stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke;opacity:.6}
.hl-legend{display:flex;flex-wrap:wrap;gap:4px 12px;margin:6px 0 0;font-size:11px}
.hl-legend span{display:inline-flex;align-items:center;gap:5px}
.hl-legend i{width:10px;height:10px;border-radius:2px}
.hl-xs{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.hl-x{padding:8px 10px;border-radius:8px;background:var(--soft);color:inherit}
.hl-x small{display:block;font-size:11px;font-weight:600;margin-bottom:4px}
.hl-x p{margin:2px 0;font-size:12px}
.hl-x b{font-size:15px;font-variant-numeric:tabular-nums}
.lens-card button.solid[data-health-connect]{margin-top:10px}
/* FCF-198: Health insights. Each one sits on --soft with a coloured left edge (colour is never the text); its advice and
   chips sit on --surface. A vital: the usual range as a band, today's value as a dot. */
.hl-ins{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.hl-ins>li{padding:10px 12px;border-radius:8px;background:var(--soft);color:inherit;border-left:4px solid var(--rv-info)}
.hl-ins>li.hl-risk{border-left-color:var(--warn)}
.hl-ins>li.hl-win{border-left-color:var(--win)}
.hl-ins>li.hl-alert{border-left-color:var(--rv-bad)}
.hl-ins-t{margin:0;font-size:14px;font-weight:700;line-height:1.35}
.hl-ins-b{margin:4px 0 0;font-size:12px;line-height:1.5}
.hl-ins .lens-rec{margin-top:8px;background:var(--surface);--zone:var(--rv-info)}
.hl-ins .hl-risk .lens-rec{--zone:var(--warn)}
.hl-ins .hl-alert .lens-rec{--zone:var(--rv-bad)}
.hl-ins .lens-chips{margin:8px 0 0}
.hl-ins .lens-chip{background:var(--surface)}
.hl-stats{margin:0 0 10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.hl-facts span+span::before{content:' · '}
.hl-bands{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}
.hl-band{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border-radius:8px;background:var(--soft);color:inherit;min-width:0}
.hl-band small{font-size:11px;color:var(--rv-muted)}
.hl-band strong{font-size:18px;font-variant-numeric:tabular-nums}
.hl-band>span{font-size:11px}
.hl-range{position:relative;height:8px;margin:4px 0 2px;border-radius:999px;background:var(--surface);border:1px solid var(--border)}
.hl-range i{position:absolute;top:0;bottom:0;border-radius:999px;background:var(--rv-info);opacity:.35}
.hl-range b{position:absolute;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--rv-info);border:2px solid var(--surface);box-sizing:border-box}
.hl-worse .hl-range b{background:var(--rv-bad)}
.hl-all .hl-tiles{margin-top:8px}
/* FCF-208: every Apple Health type, one table by group */
.hl-types{margin-top:12px}
.hl-table-wrap{overflow-x:auto;margin-top:8px}
.hl-types .lens-table td:not(:first-child),.hl-types .lens-table thead th:not(:first-child){text-align:right;white-space:nowrap}
.hl-types .lens-table em{font-style:normal;color:var(--rv-muted)}
.hl-types .hl-group th{padding-top:12px;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
/* FCF-190: Rhythm › Top 5 each hour — 24 hour buttons in two rows of 12 (fits a phone), then the list. */
.lens-hours{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;margin:0 0 6px}
.lens-hours button{padding:4px 0;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:inherit;font-size:11px;font-variant-numeric:tabular-nums;cursor:pointer}
.lens-hours button.lh-empty{color:var(--rv-muted)}
.lens-hours button.active{border-color:var(--rv-info);background:var(--soft);font-weight:700;box-shadow:inset 0 0 0 1px var(--rv-info)}
.lens-top5{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:4px}
.lens-top5 li{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;padding:5px 8px;border-radius:6px;background:var(--soft);font-size:12px}
.lens-top5 i{width:10px;height:10px;border-radius:2px}
.lens-top5 .lt-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lens-top5 .lt-name small{margin-left:6px;font-size:10px;color:var(--rv-muted)}
.lens-top5 .lt-num{font-size:11px;color:var(--rv-muted);font-variant-numeric:tabular-nums;white-space:nowrap}
/* FCF-193: Rhythm › Overload list and Bedtime drift weekday row (self-contained backgrounds). */
.lens-ov{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px}
.lens-ov li{display:grid;grid-template-columns:minmax(80px,auto) auto minmax(0,1fr);align-items:center;gap:10px;padding:5px 8px;border-radius:6px;background:var(--soft);color:inherit;font-size:12px}
.lens-ov li b{font-variant-numeric:tabular-nums}
.lens-ov li .lens-muted{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lens-bdw{width:100%;table-layout:fixed;margin:4px 0 0}
.lens-bdw th,.lens-bdw td{text-align:center;padding:4px 2px;font-size:11px;font-variant-numeric:tabular-nums}

/* FCF-196: Rhythm step 4. "Day starts at", Years side by side and Fullscreen. Every text sits on --surface / --soft (both themes). */
.lens-dayoff{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px}
.lens-dayoff-l{color:var(--rv-muted)}
.lens-dayoff .lf-mini{min-width:28px;font-size:13px;line-height:1.2}
.lens-card{position:relative}
.lens-card>header:has(>.lens-zoom){padding-right:34px}
.lens-zoom{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid transparent;border-radius:8px;background:var(--surface);color:var(--rv-muted);cursor:pointer}
.lens-zoom svg{width:16px;height:16px}
.lens-zoom:hover,.lens-zoom:focus-visible{border-color:var(--border);background:var(--soft);color:inherit}
/* one colour per year, the newest first; All years is the muted dashed line */
.lens-years{--ly-0:#2563eb;--ly-1:#c2410c;--ly-2:#7c3aed;--ly-3:#15803d;--ly-4:#0e7490;--ly-all:#6b6b6b}
body.dark .lens-years{--ly-0:#7db0fa;--ly-1:#f0b35a;--ly-2:#b69cff;--ly-3:#8fd47a;--ly-4:#2dd4bf;--ly-all:#a0a0a0}
.lens-yearpick .lens-pick i{width:10px;height:10px;border-radius:2px}
.lens-yeartable{margin-top:8px}
.lens-yeartable td:not(:first-child),.lens-yeartable th:not(:first-child){text-align:right}
/* the copy of a card in the Fullscreen dialog */
.dialog.lens-zoom-dialog{width:min(96vw,1400px);max-height:calc(100dvh - 24px);padding:14px 16px 16px;background:var(--surface);color:inherit}
.lens-zoom-dialog>h2{margin:0 40px 6px 0}
.lens-zoom-body>.lens-card{border:0;padding:0;background:transparent}
.lens-zoom-body .rc-svg{min-width:0}
.lens-zoom-tip{display:none;margin:0 0 8px}
@media(orientation:portrait) and (max-width:600px){.lens-zoom-tip{display:block}}
@media(max-width:600px){
 .lens-zoom{width:36px;height:36px;top:6px;right:6px}
 .lens-card>header:has(>.lens-zoom){padding-right:40px}
 .overlay:has(>.lens-zoom-dialog){padding:0}
 .dialog.lens-zoom-dialog{width:100%;height:100%;max-height:none;border-radius:0;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}
 /* FCF-338: the iPhone app runs under the status bar (FCF-332). A transparent top border the size of the status bar keeps the
    dialog's own background behind the clock and battery, and everything inside (✕, title, sticky − / +) starts below it.
    The ✕ stays pinned while a zoomed-in chart scrolls, on the dialog's background, so Fullscreen can always be closed. */
 .dialog.lens-zoom-dialog{padding-top:10px;border-top:env(safe-area-inset-top,0px) solid transparent}
 .lens-zoom-dialog>.close{position:fixed;top:calc(env(safe-area-inset-top,0px) + 15px);right:16px;z-index:5;background:inherit;border-radius:50%}
}
/* FCF-292: − / + over the week Timeline, right-aligned above the chart; the buttons keep the lf-mini colours (own background + page text). */
.lens-tl-zoom{display:flex;justify-content:flex-end;gap:6px;margin:0 0 6px}.lens-tl-zoom .lf-mini{min-width:32px;min-height:26px;font-size:14px;line-height:1.2}
/* In Fullscreen the chart scrolls inside the dialog: the − / + stay at its top right as a small pill with the dialog surface behind them. */
.lens-zoom-dialog .lens-tl-zoom{position:sticky;top:0;z-index:3;width:max-content;margin:0 0 6px auto;padding:4px;border-radius:10px;background:var(--surface);color:inherit;box-shadow:0 2px 8px rgba(0,0,0,.18)}
/* FCF-338: on phones the dialog's top border already clears the status bar, so the − / + stick at 0, left of the pinned ✕ */
@media(max-width:600px){.lens-zoom-dialog .lens-tl-zoom{margin-right:48px}}
/* FCF-182: Health › Today. Each cell sits on --soft inside the --surface card; the band shows as a coloured left edge and as
   chip text on --surface (--win / --warn / --rv-bad are text colours in both themes). Two columns on a 375 px iPhone. */
.hl-today{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.hl-td{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:8px;background:var(--soft);color:inherit;min-width:0;border-left:4px solid transparent}
.hl-td small{font-size:11px;color:var(--rv-muted)}
.hl-td strong{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2}
.hl-td strong em{font-style:normal;font-size:11px;font-weight:500;margin-left:2px;color:var(--rv-muted)}
.hl-td>span{font-size:11px;line-height:1.4}
.hl-td.hl-worse>span{color:var(--rv-bad)}
.hl-body{grid-column:span 2}
.hl-body summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;cursor:pointer;list-style:none}
.hl-body summary::-webkit-details-marker{display:none}
.hl-body summary small{flex-basis:100%}
.hl-body .hl-adv{flex-basis:100%;font-size:12px;line-height:1.4}
.hl-body.hl-green{border-left-color:var(--win)}.hl-body.hl-yellow{border-left-color:var(--warn)}.hl-body.hl-red{border-left-color:var(--rv-bad)}
.hl-chip{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600;background:var(--surface);color:inherit;border:1px solid var(--border)}
.hl-green .hl-chip:not(.hl-learn){color:var(--win)}.hl-yellow .hl-chip:not(.hl-learn){color:var(--warn)}.hl-red .hl-chip:not(.hl-learn){color:var(--rv-bad)}
.hl-parts{margin:8px 0 4px;padding-left:18px;font-size:12px;line-height:1.5}
.hl-fresh span+span::before{content:' · '}
.hl-brief-body{margin:10px 0 0;padding:8px 12px;border-radius:8px;background:var(--soft);color:inherit;border-left:4px solid var(--rv-info);font-size:13px}
.hl-brief-body span{display:block}.hl-brief-body span:first-child{font-weight:700}
.hl-brief-body.hl-green{border-left-color:var(--win)}.hl-brief-body.hl-yellow{border-left-color:var(--warn)}.hl-brief-body.hl-red{border-left-color:var(--rv-bad)}
/* FCF-199: Review › Rhythm › Mood rhythm — the three parts side by side on a wide screen, one under another on a phone. */
.lens-mood-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px 18px;align-items:start}
.lens-mood-grid h4{margin:10px 0 6px}
.lens-moodwork td:last-child,.lens-moodwork th:last-child{text-align:right}
/* FCF-567: readability floor — the smallest labels (week strip, Report metrics, Review table heads) were 9px; 10px keeps the same layout at 375px and reads on a phone. Calendar lane caps and the filter chip stay as they are (FCF-564 is changing them). */
.day-total,.metric-grid small,.rv-head,.rv-ghead,.rv-matrix-head button small,.chart-day{font-size:10px}
@media(min-width:801px){.day-box small{font-size:10px}}
@media(max-width:600px){.rc-table thead th{font-size:10px}}
/* FCF-568: ⋯ menu items show their key before the icon (wide screens only). */
.menu-dialog button.menu-item .menu-key{margin-left:auto;margin-right:12px;opacity:.7}
.menu-dialog button.menu-item .menu-key .keycaps{gap:2px}
