/* Warm & Personal: all five OP interfaces; assistant interfaces remain unchanged. */
html.warm-op[data-mode="light"] {
  --navy:#f8f5ef!important; --navy-mid:#fffdfa!important; --navy-lt:#fffdfa!important;
  --card:#fffdfa!important; --text:#173b40!important; --muted:#60716e!important;
  --border:#e5e4db!important; --orange-lt:var(--warm-ink,#065f5c)!important;
  --accent-dk:var(--warm-ink,#065f5c)!important;
}
html.warm-op { --warm-soft:color-mix(in srgb,var(--orange) 9%,var(--navy)); }
.warm-op #root { max-width:980px; margin:0 auto; padding-bottom:calc(85px + env(safe-area-inset-bottom)); }
.warm-op button,.warm-op input,.warm-op select,.warm-op textarea { font:inherit; }
.warm-op button { cursor:pointer; touch-action:manipulation; }
.warm-op button:focus-visible { outline:3px solid var(--orange-lt); outline-offset:3px; }
.warm-op .warm-topbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:17px 22px; background:var(--navy-mid); }
.warm-brand { font-size:25px; font-weight:800; letter-spacing:-1.4px; color:var(--text); }
.warm-brand span { color:var(--orange-lt); }
.warm-topbar-actions { display:flex; align-items:center; gap:4px; }
.warm-unit { font-size:11px; color:var(--muted); margin-right:7px; }
.warm-op .warm-icon-button { background:transparent; border:0; color:var(--text); width:42px; height:42px; display:grid; place-items:center; border-radius:10px; }
.warm-op .warm-icon-button:hover { background:var(--warm-soft); }
.warm-icon { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.warm-hero { height:250px; position:relative; overflow:hidden; background:var(--warm-soft); }
.warm-hero-photo { height:100%; width:100%; object-fit:cover; object-position:center; display:block; }
.warm-hero::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,var(--navy),transparent 32%); pointer-events:none; }
.warm-hero.warm-evening .warm-hero-photo { filter:brightness(.85) saturate(.9); }
.warm-hero-credit { position:absolute; right:13px; bottom:35px; font-size:10px; background:#13352fb8; color:white; padding:4px 7px; border-radius:5px; }
.warm-identity { display:flex; align-items:center; gap:14px; padding:0 24px 25px; margin-top:-5px; position:relative; }
.warm-avatar { height:48px; width:48px; flex-shrink:0; border-radius:50%; overflow:hidden; background:var(--orange); color:var(--on-accent); display:grid; place-items:center; font-size:20px; box-shadow:0 0 0 5px var(--navy); }
.warm-avatar img { width:100%; height:100%; object-fit:cover; }
.warm-identity h1 { font-size:25px; font-weight:750; letter-spacing:-.8px; line-height:1.2; overflow-wrap:anywhere; }
.warm-identity p { font-size:12px; color:var(--muted); margin-top:6px; line-height:1.5; }
.warm-home { padding:0 20px 12px; animation:warm-arrive .3s ease-out; }
.warm-heading { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:18px; }
.warm-heading h2 { font-size:25px; letter-spacing:-.7px; }
.warm-heading p { font-size:12px; color:var(--muted); margin-top:5px; }
.warm-date { text-align:right; font-size:11px; line-height:1.5; color:var(--muted); }
.warm-date b { color:var(--text); font-weight:500; }
.warm-metrics { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.warm-op .warm-card { border:1px solid var(--border); border-radius:16px; background:var(--card); padding:17px; box-shadow:0 3px 15px #403b300b; min-width:0; }
.warm-op button.warm-card { display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; width:100%; text-align:left; color:var(--text); transition:transform .2s,box-shadow .2s; }
.warm-op button.warm-card:hover { transform:translateY(-2px); box-shadow:0 6px 20px #28635418; }
.warm-label { display:flex; justify-content:space-between; gap:8px; align-items:center; font-size:12px; font-weight:600; }
.warm-label small { font-size:10px; color:var(--muted); font-weight:400; }
.warm-value { display:block; font-size:clamp(25px,5.8vw,34px); font-weight:750; letter-spacing:-1.2px; line-height:1.15; margin-top:10px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.warm-context { font-size:11px; color:var(--muted); line-height:1.6; margin-top:10px; }
.warm-context strong { color:var(--orange-lt); font-weight:600; }
.warm-op button.warm-spmh { flex-direction:row; align-items:center; justify-content:space-between; }
.warm-spmh { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.warm-spmh .warm-value { font-size:29px; }
.warm-spmh .warm-context { text-align:right; }
.warm-chart { display:block; width:100%; height:70px; margin-top:13px; overflow:visible; }
.warm-chart-line { stroke:var(--orange-lt); stroke-width:2.5; fill:none; stroke-linejoin:round; stroke-linecap:round; }
.warm-chart-labels { display:flex; justify-content:space-between; gap:7px; font-size:10px; color:var(--muted); margin-top:6px; }
.warm-budget { margin-top:23px; }
.warm-budget-track { position:relative; height:8px; border-radius:6px; background:var(--border); margin:11px 0; }
.warm-budget-fill { height:100%; border-radius:6px; background:var(--orange); transition:width .6s ease; }
.warm-budget-mark { position:absolute; top:-4px; height:16px; width:2px; background:var(--text); }
.warm-budget-label { font-size:12px; font-weight:600; color:var(--text); }
.warm-freshness { color:var(--muted); font-size:11px; line-height:1.5; margin:15px 2px; }
.warm-insight { background:var(--warm-soft); border-radius:13px; padding:16px; color:var(--text); display:flex; gap:11px; align-items:flex-start; margin:14px 0; }
.warm-insight strong { font-size:13px; display:block; margin-bottom:5px; }
.warm-insight p { font-size:12px; line-height:1.6; color:var(--muted); }
.warm-op .warm-primary { display:flex; align-items:center; justify-content:center; gap:12px; width:100%; padding:16px; min-height:52px; border:0; border-radius:12px; background:var(--orange); color:var(--on-accent); font-weight:650; box-shadow:0 4px 12px #087d7821; transition:background .2s,transform .2s; }
.warm-op .warm-primary:hover { background:var(--accent-dk); }
.warm-op .warm-primary:active { transform:scale(.985); }
.warm-report-note { text-align:center; color:var(--muted); font-size:11px; margin-top:10px; line-height:1.5; }
.warm-op .warm-bottom-nav { position:fixed; bottom:0; left:50%; transform:translateX(-50%); z-index:30; width:min(100%,980px); display:flex; gap:5px; padding:9px 14px calc(10px + env(safe-area-inset-bottom)); background:var(--navy-mid); border-top:1px solid var(--border); }
.warm-op .warm-nav-item { display:flex; flex:1; flex-direction:column; align-items:center; gap:5px; border:0; border-radius:10px; padding:8px 3px; min-height:52px; font-size:11px; background:transparent; color:var(--muted); }
.warm-op .warm-nav-item[aria-current=page],.warm-op .warm-nav-item:hover { background:var(--warm-soft); color:var(--orange-lt); }
.warm-op .warm-nav-item[aria-current=page] { font-weight:700; }
.warm-op .view-title { margin:22px 20px 16px; }
.warm-op .view-title-name { font-size:24px; letter-spacing:-.6px; }
.warm-op .kpi-card,.warm-op .ptd-card,.warm-op .period-badge { box-shadow:0 3px 15px #403b300b; border-radius:15px; }
.warm-op .kpi-card,.warm-op .ptd-card { margin-left:20px; margin-right:20px; }
.warm-op .kpi-card-header { background:var(--warm-soft); }
.warm-op .submit-btn { border-radius:12px; box-shadow:0 4px 12px #087d7821; }
.warm-op .drawer-wrap { z-index:100; }
.warm-op .drawer-item { font:inherit; width:100%; text-align:left; background:transparent; border:0; }
.warm-op .drawer-item.active { background:var(--warm-soft); }
.warm-op .success-icon { background:var(--warm-soft); color:var(--orange-lt); }
.warm-op .warm-empty { font-size:13px; line-height:1.65; padding:24px; margin-bottom:17px; }
.warm-op .warm-empty h3 { font-size:17px; margin-bottom:8px; }
.warm-op .warm-empty button { margin-top:12px; }
@keyframes warm-arrive { from { opacity:.6; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
@media(min-width:700px) { .warm-hero { height:310px; } .warm-hero-photo { object-position:center 56%; } .warm-home { padding-left:28px; padding-right:28px; } .warm-metrics { grid-template-columns:1fr 1fr 1fr; } .warm-op button.warm-spmh { flex-direction:row; align-items:center; justify-content:space-between; }
.warm-op button.warm-spmh { grid-column:auto; display:block; } .warm-spmh .warm-context { text-align:left; margin-top:28px; } .warm-home .warm-primary { max-width:480px; margin:0 auto; } }
@media(max-width:360px) { .warm-op .warm-topbar { padding:12px 14px; } .warm-unit { display:none; } .warm-home { padding-left:14px; padding-right:14px; } .warm-op .warm-card { padding:13px; } .warm-identity { padding-left:17px; padding-right:17px; } .warm-identity h1 { font-size:21px; } .warm-hero { height:205px; } .warm-spmh .warm-context { max-width:110px; } }
@media(prefers-reduced-motion:reduce) { .warm-op *, .warm-op *::before, .warm-op *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
/* Shared visual language for every operational destination. */
html.warm-op[data-mode="light"] { --navy:var(--warm-page,#f8f5ef)!important; --navy-mid:var(--warm-surface,#fffdfa)!important; --navy-lt:var(--warm-surface,#fffdfa)!important; --card:var(--warm-surface,#fffdfa)!important; }
.warm-op.warm-clock-ready body,.warm-clock-ready .warm-topbar,.warm-clock-ready .warm-bottom-nav { transition:background-color .18s ease; }
.warm-op body { background:var(--navy); }
.warm-brand-lockup { display:flex; align-items:center; gap:10px; min-width:0; }
.warm-brand-lockup .warm-unit { display:block; margin:0; padding-left:10px; border-left:1px solid var(--border); white-space:nowrap; }
.warm-op .warm-topbar { padding:14px 20px; gap:6px; }
.warm-op .warm-profile-button { display:flex; align-items:center; gap:8px; padding:3px; border:0; background:transparent; color:var(--text); min-width:0; border-radius:30px; }
.warm-op-name { max-width:120px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; font-weight:650; }
.warm-profile-photo { width:34px; height:34px; border-radius:50%; background:var(--orange); color:var(--on-accent); display:grid; place-items:center; overflow:hidden; flex-shrink:0; font-size:12px; box-shadow:0 0 0 3px var(--warm-soft); }
.warm-profile-photo img { width:100%; height:100%; object-fit:cover; }
.warm-hero-photo { filter:brightness(var(--warm-photo-light,1)); transition:filter 30s linear; animation:warm-breathe 26s ease-in-out infinite alternate; }
.warm-hero::before { content:''; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(120deg,rgba(249,168,89,.16),transparent 60%); opacity:var(--warm-glow,0); transition:opacity 30s linear; }
.warm-chart { height:90px; }
.warm-chart-line { stroke-dasharray:1; stroke-dashoffset:0; animation:warm-draw 1s ease-out both; }
.warm-chart-area { animation:warm-area .9s ease-out both; }
.warm-page-heading { margin:8px 20px 22px; padding:27px 25px; display:flex; gap:16px; align-items:center; justify-content:space-between; border:1px solid var(--border); border-radius:23px; background:linear-gradient(120deg,var(--card),var(--warm-soft)); position:relative; overflow:hidden; animation:warm-arrive .4s ease-out both; }
.warm-page-heading h1 { font-size:clamp(26px,4vw,36px); font-weight:750; letter-spacing:-1px; line-height:1.15; margin:8px 0 10px; }
.warm-page-heading p { color:var(--muted); font-size:13px; line-height:1.6; max-width:440px; }
.warm-eyebrow { color:var(--orange-lt); text-transform:uppercase; letter-spacing:1.8px; font-size:10px; font-weight:700; }
.warm-page-art { width:100px; height:100px; display:grid; place-items:center; flex-shrink:0; position:relative; }
.warm-page-art span { position:absolute; inset:4px; border-radius:32% 68% 60% 40%; background:var(--orange); opacity:.08; animation:warm-orbit 20s linear infinite; }
.warm-page-art span:nth-child(2) { inset:17px; opacity:.09; animation-direction:reverse; animation-duration:27s; }
.warm-page-art .warm-icon { width:38px; height:38px; stroke-width:1.1; color:var(--orange-lt); z-index:1; }
.warm-page-content { min-width:0; animation:warm-arrive .4s ease-out both; }
.warm-page-content > * { min-width:0; }
.warm-op :is(.kpi-card,.ptd-card,.fcc-card,.meat-card,.st-card,.st-deck,.res-card,.res-sec,.pan-box,.pan-saved,.wg-hero,.wg-sc-card,.wg-phase,.wg-prizes,.wg-lb,.exp-sumcard) { border:1px solid var(--border); border-radius:19px; background:var(--card); box-shadow:0 5px 24px #183e3710; overflow:hidden; }
.warm-op :is(.kpi-card-header,.meat-head,.pan-sec-h,.res-title,.st-bar,.wg-sec-h,.trk-head) { background:var(--warm-soft); border-color:var(--border); padding-top:15px; padding-bottom:15px; }
.warm-op :is(.period-badge,.trk-bar,.exp-bar,.inv-top,.st-intro,.res-intro) { border:1px solid var(--border); border-radius:16px; background:var(--card); padding:17px; box-shadow:0 3px 15px #183e3708; }
.warm-op :is(.input-field,.note-field,.fc-input,.fc-area,.fc-sel,.pz-input,.pan-in,.pan-ta,.trk-search,.fcc-inwrap input,.meat-in input,.bench-row input,.bench-row select) { border:1px solid var(--border); border-radius:11px; background:var(--navy); color:var(--text); min-height:44px; transition:border-color .18s,box-shadow .18s; }
.warm-op :is(input,select,textarea):focus { outline:0; border-color:var(--orange); box-shadow:0 0 0 3px var(--warm-soft); }
.warm-op :is(.period-select,.st-mode,.st-cat) { border-radius:11px; min-height:40px; }
.warm-op :is(.bench-btn,.fc-btn,.exp-btn,.trk-btn,.st-btn,.pan-btn,.pz-btn,.fcc-submit,.submit-btn,.new-entry-btn,.wg-cta) { border-radius:12px; min-height:46px; transition:transform .18s,box-shadow .18s,filter .18s; }
.warm-op :is(button,[role="button"]):not(:disabled):active { transform:translateY(1px); }
.warm-op :is(.bench-btn,.fc-btn,.exp-btn,.trk-btn,.st-btn,.pan-btn,.fcc-submit,.submit-btn):not(:disabled):hover { filter:brightness(1.06); box-shadow:0 5px 15px #173b4018; }
.warm-op :is(.bench-section-title,.section-label,.fc-section,.trk-section,.exp-grouphdr) { color:var(--orange-lt); letter-spacing:1px; font-size:11px; padding-top:18px; padding-bottom:12px; }
.warm-op :is(.bench-row,.trk-row,.res-item,.pan-saved-row,.history-row,.exp-catline,.st-lb-row) { border-color:var(--border); transition:background .18s; }
.warm-op :is(.bench-row,.trk-row,.res-item,.pan-saved-row,.history-row,.exp-catline,.st-lb-row):hover { background:var(--warm-soft); }
.warm-op :is(.inv-table,.exp-table) { border-collapse:separate; border-spacing:0; background:var(--card); }
.warm-op :is(.inv-table,.exp-table) th { background:var(--warm-soft); color:var(--text); border-color:var(--border); padding-top:13px; padding-bottom:13px; }
.warm-op :is(.inv-table,.exp-table) td { border-color:var(--border); }
.warm-op :is(.inv-table,.exp-table) tbody tr:nth-child(even) td { background:color-mix(in srgb,var(--warm-soft) 35%,var(--card)); }
.warm-op :is(.inv-table,.exp-table) input { background:transparent; color:var(--text); }
.warm-op :is(.exp-scroll,.res-pdf) { border:1px solid var(--border); border-radius:15px; }
.warm-op :is(.fcc-res,.meat-result,.ptd-hero,.success-kpi-tile,.st-score) { border-radius:15px; background:var(--warm-soft); }
.warm-op :is(.fcc-res .v,.meat-order-val,.ptd-hero-val,.exp-sumcard .v) { letter-spacing:-.8px; font-variant-numeric:tabular-nums; }
.warm-op :is(.bench-note,.exp-note,.trk-msg,.fc-msg,.res-card-desc,.pan-note) { color:var(--muted); line-height:1.65; }
.warm-op .drawer { border-radius:24px 24px 0 0; box-shadow:0 -10px 60px #13352f30; background:var(--card); }
.warm-op .drawer-item { border-radius:12px; margin:3px 0; padding:13px 16px; transition:background .2s,transform .2s; }
.warm-op .drawer-item:hover { background:var(--warm-soft); transform:translateX(3px); }
.warm-op .drawer-title { color:var(--orange-lt); letter-spacing:1.6px; margin-top:14px; }
.warm-op .pz-screen { background:var(--navy); animation:warm-arrive .4s ease-out; }
.warm-op .pz-title { letter-spacing:-.8px; }
.warm-op .pz-photo-wrap { border-radius:20px; overflow:hidden; }
@keyframes warm-draw { from { stroke-dashoffset:1; } to { stroke-dashoffset:0; } }
@keyframes warm-area { from { opacity:0; } to { opacity:1; } }
@keyframes warm-breathe { from { transform:scale(1); } to { transform:scale(1.035); } }
@keyframes warm-orbit { to { transform:rotate(360deg); } }
@media(max-width:480px) { .warm-op .warm-topbar { padding:12px; } .warm-brand { font-size:22px; } .warm-brand-lockup { gap:6px; } .warm-brand-lockup .warm-unit { padding-left:6px; font-size:10px; } .warm-topbar-actions { gap:0; } .warm-op .warm-icon-button { width:34px; height:38px; } .warm-op-name { max-width:64px; font-size:11px; } .warm-profile-photo { width:30px; height:30px; } .warm-page-heading { margin:6px 14px 18px; padding:21px 18px; } .warm-page-art { width:64px; height:80px; } .warm-page-art .warm-icon { width:29px; height:29px; } }
@media(max-width:350px) { .warm-brand { font-size:19px; } .warm-op .warm-icon-button { width:29px; } .warm-profile-button { gap:4px!important; } .warm-op-name { max-width:48px; } .warm-profile-photo { width:27px; height:27px; } .warm-page-art { width:48px; } }
@media(prefers-reduced-motion:reduce) { .warm-op *, .warm-op *::before, .warm-op *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

.warm-labor-ring { width:76px; height:76px; display:block; margin:10px auto; }
.warm-ring-value { animation:warm-area .9s ease-out both; transition:stroke-dasharray .7s ease; }
.warm-op .warm-tool-card { border-radius:18px!important; box-shadow:0 5px 24px #183e3710; background:var(--card)!important; }
.warm-op .warm-tool-intro { border-radius:17px!important; background:var(--warm-soft)!important; padding:16px 18px!important; }
.warm-op .warm-tool-intro > div:first-child { font-size:13px!important; }
@media(prefers-reduced-motion:reduce) { .warm-op *, .warm-op *::before, .warm-op *::after { animation:none!important; transition:none!important; } }

/* Living restaurant: the approved composition remains uncropped at every size. */
.living-scene { position:relative; isolation:isolate; margin:0 16px; aspect-ratio:3/2; overflow:hidden; border-radius:24px; background:#102938; box-shadow:0 9px 35px #1d363c14; }
.scene-art { filter:saturate(1); transition:filter 12s linear; }
.scene-photo { object-fit:cover; transition:opacity 2.5s ease; pointer-events:none; }
.scene-temperature { position:absolute; inset:0; background:linear-gradient(rgba(255,166,60,var(--scene-hot)),rgba(131,189,237,var(--scene-cold))); pointer-events:none; }
.scene-clouds { position:absolute; inset:0; opacity:0; background:linear-gradient(180deg,#a6adb6dd,transparent 62%); mix-blend-mode:saturation; transition:opacity 15s; }
:is(.scene-cloudy,.scene-rain,.scene-storm,.scene-snow,.scene-ice,.scene-fog) .scene-art { filter:saturate(.55) brightness(.83); }
:is(.scene-cloudy,.scene-rain,.scene-storm,.scene-snow,.scene-ice,.scene-fog) .scene-clouds { opacity:.9; }
.scene-caption { position:absolute; z-index:3; left:12px; right:12px; display:flex; align-items:center; justify-content:space-between; gap:10px; color:white; }
.scene-caption { bottom:0; left:0; right:0; padding:28px 14px 12px; background:linear-gradient(transparent,#102532c9); font-size:9px; align-items:flex-end; }
.scene-caption a { color:#fff; text-decoration:none; text-align:right; font-size:11px; }
.scene-caption a small { display:block; font-size:9px; opacity:.85; margin-top:2px; }
.scene-weather-unavailable { opacity:.8; }
.scene-wet-pavement { position:absolute; inset:74% 0 0; background:linear-gradient(110deg,#d6e8fa0a,#cce5ff35,transparent 80%); mix-blend-mode:screen; pointer-events:none; }
.scene-fog { position:absolute; inset:0; background:linear-gradient(transparent 35%,#c3d4d877 65%,#ced7db30); animation:scene-fog 17s ease-in-out infinite alternate; }
.scene-precipitation { position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.scene-precipitation i { position:absolute; top:-10%; animation:scene-fall 1s linear infinite; }
.scene-rain i { width:1px; height:5%; background:linear-gradient(transparent,#e9f3fbaa); }
.scene-snow i { width:3px; height:3px; border-radius:50%; background:#fff; opacity:.7; }
.scene-still * { animation-play-state:paused!important; }
@keyframes scene-fall { to {transform:translate(-45px,600px);} }
@keyframes scene-fog { to {opacity:.65;transform:translateX(2%);} }
@media(min-width:700px) { .living-scene {margin:0 24px;} }
.living-scene + .warm-identity { margin-top:18px; }
@media(max-width:360px) { .warm-op .warm-unit {display:inline;font-size:9px;} .warm-op-name {max-width:70px;} }


.scene-layer {transition:opacity 30s linear;}
@media(prefers-reduced-motion:reduce) { .living-scene * {animation:none!important;transition:none!important;} }
.scene-art,.scene-photo,.scene-layer {position:absolute;inset:0;width:100%;height:100%;}

.scene-caption {justify-content:flex-end;}

/* Unit-scoped shift reports, using the shared warm presentation. */
.op-shifts{display:grid;gap:20px;min-width:0}
.shift-controls,.shift-summary,.shift-daypart{padding:22px!important;min-width:0}
.shift-source,.shift-filters,.shift-views{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.shift-source{justify-content:space-between;margin-bottom:18px}.shift-source span,.shift-summary p,.shift-trend-heading p{color:var(--muted);font-size:13px}
.shift-filters label{display:grid;gap:6px;font-size:12px;flex:1;min-width:120px}
.op-shifts select{width:100%;min-height:42px;border:1px solid var(--border);border-radius:12px;background:var(--bg2);color:var(--text);padding:8px;font:inherit}
.shift-views{margin-top:16px}.shift-views button{flex:1;min-height:44px;padding:10px;border-radius:12px;border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;font:inherit;font-size:13px}
.shift-views button[aria-pressed=true]{background:var(--orange);color:var(--accent-ink,#fff)}
.shift-summary>strong{display:block;font-size:36px;margin-top:8px}.shift-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.shift-daypart h2{font-size:16px;margin:0 0 12px}.shift-daypart>strong{font-size:27px}.shift-daypart dl{font-size:12px;margin-bottom:0}.shift-daypart dl>div{display:flex;justify-content:space-between;gap:8px;margin-top:10px}.shift-daypart dt{color:var(--muted)}.shift-daypart dd{margin:0;font-weight:650}
.shift-mix{height:6px;background:var(--border);border-radius:8px;margin:16px 0}.shift-mix span{display:block;height:100%;border-radius:inherit;background:var(--orange)}
.shift-trend{width:100%;height:auto;display:block;margin-top:16px}.shift-point{display:flex;gap:8px;align-items:center;font-size:12px;margin-top:12px}.shift-point select{width:auto;max-width:70%}
@media(max-width:540px){.shift-grid{grid-template-columns:1fr}.shift-summary>strong{font-size:32px}}
.warm-op .op-shifts{padding:0 16px 24px}

/* A single photo-and-greeting header with a quieter, compact Today overview. */
html.warm-op[data-mode="light"]{--navy:color-mix(in srgb,var(--warm-page,#f8f5ef) 25%,#faf6ee)!important;--card:color-mix(in srgb,var(--warm-surface,#fffdfa) 20%,#fffdf8)!important}
html.warm-op[data-mode="dark"]{--navy:#0d202b!important;--navy-mid:#102632!important;--navy-lt:#142d39!important;--card:#142d39!important;--border:#29414b!important;--text:#edf6f3!important;--muted:#a8bfbd!important}
.warm-welcome{margin:0 16px 20px;border-radius:24px;overflow:hidden;background:var(--card);box-shadow:0 8px 28px #132f3610}
.warm-welcome .living-scene{margin:0;border-radius:0;aspect-ratio:auto;height:clamp(205px,55vw,310px);box-shadow:none}
.warm-welcome .living-scene::after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(to bottom,transparent 65%,var(--card) 100%)}
.warm-welcome .warm-identity{margin-top:-10px;padding:0 20px 20px;z-index:3}
.warm-welcome .warm-identity h1{font-size:clamp(22px,5.7vw,30px);margin:0}
.warm-welcome .warm-identity p{font-size:12px;line-height:1.5;margin-top:6px}
.warm-welcome .scene-caption{top:12px;bottom:auto;left:12px;right:12px;padding:0;background:none;align-items:flex-start}
.warm-welcome .scene-caption a{display:flex;align-items:center;gap:7px;max-width:85%;padding:8px 11px;border-radius:30px;background:#102c39b8;backdrop-filter:blur(12px);border:1px solid #ffffff38;font-size:11px;text-align:left;box-shadow:0 3px 12px #081e281a}
.scene-weather-icon{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.warm-home{padding:0 16px 12px}.warm-home .warm-heading{margin-bottom:12px}.warm-home .warm-heading h2{font-size:23px}.warm-home .warm-heading p{margin-top:3px}
.warm-home .warm-card{border-radius:20px;padding:16px;background:linear-gradient(145deg,var(--card),color-mix(in srgb,var(--card) 96%,var(--orange)));box-shadow:0 6px 18px #15363b0b}
.warm-home .warm-value{font-size:clamp(25px,6.5vw,36px);margin-top:10px}
.warm-home .warm-chart{height:82px;margin-top:16px}.warm-home .warm-budget{margin-top:10px;display:flex;flex-direction:column}.warm-home .warm-budget-label{font-size:11px;order:2;text-align:center}
.warm-home .warm-labor-ring{width:86px;height:86px;margin:0 auto 5px;order:1}.warm-home .warm-budget .warm-context{order:3;margin-top:6px;text-align:center;font-size:10px}
.warm-home .warm-context{font-size:10px;line-height:1.5}.warm-home .warm-freshness{font-size:10px;margin:12px 2px}.warm-home .warm-spmh .warm-value{font-size:28px}
.warm-shift-highlight{width:100%;text-align:left;border:1px solid var(--border);font:inherit}.warm-shift-highlight .warm-eyebrow{font-size:8px;letter-spacing:1px;display:block;margin-bottom:7px}.warm-shift-highlight .warm-icon{margin-top:8px}.warm-shift-highlight strong{font-size:16px}.warm-shift-highlight:hover{box-shadow:0 4px 18px #14363b14}
@media(min-width:700px){.warm-welcome{margin:0 24px 22px}.warm-home{padding-left:24px;padding-right:24px}.warm-welcome .warm-identity{padding:0 26px 24px}.warm-home .warm-chart{height:100px}}

/* Approved Shifts visual design; scoped to OP components. */
.warm-op .shifts-heading{padding:28px 30px 32px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.warm-op .eyebrow{font-size:9px;font-weight:750;letter-spacing:1.6px;color:var(--orange-lt)}
.warm-op .shifts-heading h1{font-size:36px;letter-spacing:-1.5px;line-height:1.12;max-width:530px;margin:11px 0}
.warm-op .shifts-heading p{color:var(--muted);font-size:14px}
.warm-op .heading-sun{width:86px;height:86px;background:linear-gradient(145deg,#f2d4a5,#f4e9d8);border-radius:50%;display:grid;place-items:center;color:#95743f}
.warm-op .heading-sun svg{width:43px;height:43px}
.warm-op .op-shifts{padding:0 28px 24px;gap:22px}
.warm-op .shift-controls{box-shadow:none!important;padding:18px 20px!important;border-radius:20px!important}
.warm-op .shift-source{margin-bottom:14px;font-size:11px}
.warm-op .shift-source span{font-size:10px}
.warm-op .shift-filters{gap:12px}
.warm-op .shift-filters label{font-size:10px;min-width:85px}
.warm-op .shift-filters select{font-size:12px;min-height:39px;background:var(--card)}
.warm-op .shift-views{background:var(--warm-soft);padding:4px;border-radius:13px;gap:4px;margin-top:13px}
.warm-op .shift-views button{border:0;min-height:34px;font-size:12px;padding:7px}
.warm-op .shift-views button[aria-pressed=true]{background:var(--card);color:var(--text);box-shadow:0 2px 6px #123c3410}
.warm-op .shift-hero{position:relative;isolation:isolate;overflow:hidden;border-radius:24px;padding:26px 28px;background:linear-gradient(115deg,#12434b,#176a69 75%,#2a8276);color:#fff;box-shadow:0 9px 24px #12434b18}
.warm-op .hero-top{display:flex;justify-content:space-between;gap:10px;font-size:10px;letter-spacing:1.5px;font-weight:650;color:#c3e1dc}
.warm-op .hero-top span:last-child{letter-spacing:0;font-weight:400}
.warm-op .shift-hero>strong{display:block;font-size:48px;letter-spacing:-2px;font-weight:730;margin:13px 0 5px;position:relative}
.warm-op .shift-hero>p{font-size:12px;color:#d0e4df}
.warm-op .hero-comparisons{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}
.warm-op .hero-comparisons>span{font-size:13px;padding:7px 10px;border:1px solid #ffffff25;background:#ffffff0e;border-radius:9px;font-weight:650}
.warm-op .hero-comparisons small{font-size:10px;font-weight:400;color:#cee3dd;margin-left:3px}
.warm-op .hero-coverage{font-size:10px;color:#c3ded7;margin-top:15px}
.warm-op .hero-orbits{position:absolute;right:-60px;top:-60px;width:300px;height:300px;z-index:-1;opacity:.55}
.warm-op .hero-orbits i{position:absolute;inset:0;border:1px solid #cce6d52b;border-radius:50%}
.warm-op .hero-orbits i:nth-child(2){inset:30px}
.warm-op .hero-orbits i:nth-child(3){inset:60px;background:radial-gradient(circle,#f5c98115,transparent 70%)}
.warm-op .section-title{display:flex;align-items:end;justify-content:space-between;gap:12px}
.warm-op .section-title h2{font-size:21px;letter-spacing:-.6px;margin-top:6px}
.warm-op .quiet-label{color:var(--muted);font-size:10px;text-align:right}
.warm-op .sales-story{padding:5px 2px 0}
.warm-op .sales-ribbon{display:flex;gap:3px;height:24px;border-radius:8px;overflow:hidden;margin:18px 0 12px;background:var(--border)}
.warm-op .sales-ribbon>div{min-width:0;transition:flex .35s}
.warm-op .ribbon-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;font-size:10px;color:var(--muted)}
.warm-op .ribbon-legend span{display:flex;gap:6px;align-items:center}
.warm-op .ribbon-legend i{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.warm-op .leader-note{display:flex;align-items:center;gap:12px;background:var(--warm-soft);padding:15px;border-radius:14px;margin-top:18px}
.warm-op .leader-star{color:var(--orange-lt);font-size:26px}
.warm-op .leader-note strong{font-size:13px}
.warm-op .leader-note p{font-size:11px;color:var(--muted);margin-top:5px;line-height:1.5}
.warm-op .daypart-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.warm-op .daypart-tile{text-align:left;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:19px;padding:18px;min-width:0;transition:transform .18s,box-shadow .18s}
.warm-op .daypart-tile:hover{transform:translateY(-2px);box-shadow:0 5px 20px #20483710}
.warm-op .daypart-tile.selected{border-color:var(--orange);box-shadow:0 0 0 1px var(--orange)}
.warm-op .daypart-tile-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px}
.warm-op .daypart-icon{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.warm-op .daypart-tile .daypart-icon{color:var(--part-color)}
.warm-op .daypart-tile h3{font-size:12px;font-weight:600;margin-top:15px}
.warm-op .daypart-tile>strong{font-size:25px;letter-spacing:-.7px;display:block;margin:6px 0 12px;font-variant-numeric:tabular-nums}
.warm-op .change-badge{display:inline-block;font-size:11px;font-weight:650;border-radius:7px;padding:5px 7px}
.warm-op .change-badge small{font-size:9px;font-weight:400}
.warm-op .positive{background:#19806412;color:#287559}
.warm-op .negative{background:#ae563814;color:#a7573b}
.warm-op .neutral{background:var(--warm-soft);color:var(--muted)}
.warm-op .last-week{color:var(--muted);font-size:9px;margin-top:8px}
.warm-op .trend-panel{background:var(--card);border:1px solid var(--border);border-radius:22px;padding:24px}
.warm-op .trend-picks{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0}
.warm-op .trend-picks button{border:1px solid var(--border);border-radius:20px;background:transparent;color:var(--muted);font-size:10px;padding:8px 11px}
.warm-op .trend-picks button[aria-pressed=true]{background:var(--orange);color:white;border-color:var(--orange)}
.warm-op .trend-legend{display:flex;align-items:center;gap:14px;font-size:10px;color:var(--muted)}
.warm-op .trend-legend span{display:flex;align-items:center;gap:6px}
.warm-op .trend-legend i{width:14px;border-top:2px solid var(--orange)}
.warm-op .trend-legend span:nth-child(2) i{border-top:2px dashed var(--muted)}
.warm-op .trend-legend small{margin-left:auto;font-size:9px}
.warm-op .trend-panel .shift-trend{margin-top:20px;max-height:260px}
.warm-op .trend-panel .shift-point{justify-content:flex-end;margin-top:20px;font-size:10px}
.warm-op .trend-panel .shift-point select{font-size:11px;min-height:34px}
.warm-op .trend-panel .warm-context{text-align:right}
.warm-op .source-note{font-size:10px;line-height:1.7;color:var(--muted)}
html.warm-op[data-mode="dark"] .positive{background:#68c99d18;color:#9cdbb9}
html.warm-op[data-mode="dark"] .negative{background:#e9a18916;color:#f2b49c}
html.warm-op[data-mode="dark"] .heading-sun{background:#364342;color:#e9bd7c}
@media(max-width:600px){.warm-op .shifts-heading{padding:22px 20px 26px}
.warm-op .shifts-heading h1{font-size:29px;max-width:255px}
.warm-op .shifts-heading p{font-size:12px}
.warm-op .shifts-heading .eyebrow{font-size:8px;letter-spacing:1.1px}
.warm-op .heading-sun{width:58px;height:58px;flex-shrink:0}
.warm-op .heading-sun svg{width:32px;height:32px}
.warm-op .op-shifts{padding:0 16px 24px;gap:19px}
.warm-op .shift-hero{padding:23px}
.warm-op .shift-hero>strong{font-size:43px}
.warm-op .daypart-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.warm-op .daypart-tile{padding:16px}
.warm-op .daypart-tile>strong{font-size:23px}
.warm-op .trend-panel{padding:20px}
.warm-op .section-title h2{font-size:20px}
.warm-op .ribbon-legend{grid-template-columns:repeat(2,1fr)}
.warm-op .trend-legend{gap:9px;font-size:9px}
.warm-op .trend-legend small{max-width:75px;text-align:right}
}

.warm-op .shifts-heading h1,.warm-op .shifts-heading h2,.warm-op .daypart-tile h3,.warm-op .section-title h2,.warm-op .leader-note p{margin-bottom:0}
