body:has(#office:not([hidden])) .masthead{display:none}body:has(#office:not([hidden])){overflow:hidden}
.office-scene{position:fixed;inset:0 0 auto;height:calc(var(--app-height,100svh) - var(--console-height));overflow:hidden;color:#fff0c0;background:#142b3b;font-family:system-ui;isolation:isolate}.office-scene[hidden]{display:none!important}.office-scene [hidden]{display:none!important}
.office-room{position:absolute;inset:0}
.office-room-stage{position:relative;width:100%;height:100%;background:url('./office-room-pixel.png') center/100% 100% no-repeat;image-rendering:pixelated}
.office-hotspot{position:absolute;min-height:0;padding:0;border:0;background:transparent;box-shadow:none;cursor:pointer;border-radius:8px}
.office-hotspot:hover,.office-hotspot:active{background:transparent;border:0;box-shadow:none;transform:none}
.office-hotspot:focus-visible{outline:2px solid #ffe19a}
.office-computer-hotspot{left:60%;top:43%;width:28%;height:43%}
.office-door-hotspot{left:0;top:10%;width:14%;height:83%}
.office-computer{position:absolute;inset:0;display:flex;flex-direction:column;padding:7px;border:5px solid #76502e;box-shadow:inset 0 0 0 2px #d5b06c;background:repeating-linear-gradient(2deg,#694023 0,#84502b 3px,#5e351d 6px,#7c4929 9px)}
.planner-heading{display:flex;align-items:center;gap:10px;flex:none;min-height:37px;margin-bottom:7px;padding:4px 48px 4px 6px;border:2px solid #bb934f;border-radius:7px;background:linear-gradient(#294252,#102330);box-shadow:inset 0 1px #edd19a66,0 2px 3px #0006}.planner-heading strong{color:#ffe095;font-size:clamp(11px,1.4vw,17px);font-weight:950;letter-spacing:.5px}.planner-heading>button{min-height:27px;padding:3px 8px;border:1px solid #c09855;border-bottom:3px solid #5d4024;border-radius:5px;background:linear-gradient(#c5482e,#8f281d);color:#ffecc5;font-size:9px}.planner-save{margin-left:auto;font-size:9px;color:#acc7bd;white-space:nowrap}
.planner-workspace{display:grid;grid-template-columns:40px minmax(0,1fr) minmax(210px,29%);gap:7px;flex:1;min-height:0}.planner-day-nav{display:flex;flex-direction:column;gap:6px;align-items:stretch;padding:6px 3px;background:#142b38;border:2px solid #bb9658;border-radius:6px}.planner-day-nav button{padding:0;min-height:36px;border:1px solid #ead08d;border-bottom:3px solid #71512a;border-radius:5px;background:linear-gradient(#f3d89a,#ba8c43);color:#3c2e1d;font-size:20px;line-height:1;box-shadow:inset 0 1px #fff8}.planner-day-nav button:disabled{opacity:.35}.planner-day-number{font-size:8px;text-align:center;color:#ffe299;font-weight:900}.planner-day-nav [data-plan-erase]{margin-top:auto;color:#eed8b2;background:linear-gradient(#a14231,#68271f);font-size:21px}.planner-day-nav [aria-pressed=true]{box-shadow:inset 0 2px 5px #0008;background:#986a35}
.planner-board{display:flex;flex-direction:column;min-height:0;min-width:0;border:2px solid #cba867;border-radius:7px;background:#0b2130;box-shadow:inset 0 2px 6px #0007;overflow:hidden}.planner-columns,.planner-row{display:grid;grid-template-columns:54px minmax(0,1fr) minmax(110px,31%);gap:4px;align-items:stretch}.planner-columns{flex:none;padding:6px;color:#ffe3a0;background:linear-gradient(#395060,#213746);font-size:10px;border-bottom:1px solid #aa8c52}.planner-columns>span{font-size:8px;font-weight:900;color:#a9d0c7;display:flex;align-items:center}.planner-table{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px;scrollbar-color:#bb975b #102738}.planner-row{min-height:34px;margin-bottom:4px}.planner-row time{display:flex;align-items:center;justify-content:center;background:#172f3e;border:1px solid #57717c;border-radius:4px;font:bold 13px system-ui;color:#ffe3a2;box-shadow:inset 0 2px 4px #0006}.planner-slot{position:relative;min-width:0;min-height:34px;padding:5px 8px;border:1px solid #8a764d;border-bottom:3px solid #574326;border-radius:4px;background:linear-gradient(#eedeb4,#d2ba85);color:#2e302a;font-size:clamp(10px,1vw,13px);font-weight:800;text-align:left;white-space:normal;line-height:1.1;overflow-wrap:anywhere;box-shadow:inset 0 1px #fff9}.planner-slot.empty{background:linear-gradient(#1e3b4d,#122c3d);color:#93b1bc;border-color:#45606c;box-shadow:inset 0 2px 4px #0007;font-weight:500;font-size:10px}.planner-slot[data-plan-kind=ads].filled{background:linear-gradient(#b7c99f,#83986e);border-color:#64784e;color:#203524}.planner-slot:disabled{opacity:.58;cursor:default}.planner-slot i{position:absolute;right:3px;top:1px;font-size:6px;font-style:normal;color:#b79558}.planner-slot.drop-ready{outline:3px solid #ffdb76;outline-offset:-3px;background:#557e6b!important}.planner-closing{flex:none;padding:4px 8px;color:#b9b79e;font-size:9px;background:#101f2a;border-top:1px solid #5b5c4a}
.planner-sidebar{display:flex;flex-direction:column;min-height:0;min-width:0;border:2px solid #b99556;border-radius:7px;background:linear-gradient(#1e3546,#0b2030);overflow:hidden;box-shadow:inset 0 2px 6px #0008}.planner-tabs{display:flex;gap:5px;padding:4px;background:#714727;border-bottom:2px solid #c19c5d}.planner-tabs button{flex:1;min-height:29px;padding:0;border:1px solid #d9b46d;border-bottom:3px solid #553d24;border-radius:4px;background:linear-gradient(#5a6f77,#263e4c);color:#ffe19d;font-size:21px;line-height:1}.planner-tabs [aria-pressed=true]{background:linear-gradient(#d2b77d,#9e753c);box-shadow:inset 0 2px 4px #54361c;color:#2d2b24;border-bottom-width:1px;transform:translateY(1px)}
.planner-stock{flex:1;min-height:0;overflow-y:auto;padding:6px;scrollbar-color:#c09b58 #102738}.planner-stock h2{display:flex;align-items:center;gap:6px;margin:0 0 6px;font:850 12px system-ui;color:#ffdf95}.planner-stock h2 button{min-height:23px;padding:2px 5px;background:#203c4c;border:1px solid #b89759;border-radius:4px;color:#e8d39d;font-size:9px}.office-genres{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.office-genres button{display:flex;align-items:center;justify-content:space-between;min-height:33px;padding:5px 7px;border:1px solid #d6b679;border-bottom:3px solid #775b32;border-radius:4px;background:linear-gradient(#ead9ae,#c7a66c);color:#342d20;font-size:11px;text-align:left}.office-genres b{font-size:10px;opacity:.7}.office-items{display:flex;flex-direction:column;gap:5px}.office-stock-card{display:flex;align-items:center;gap:7px;min-height:33px;padding:5px 7px;border:1px solid #bd9d62;border-bottom:3px solid #584729;border-radius:4px;background:linear-gradient(#ede1c0,#cdb98b);color:#2d3028;font-size:11px;font-weight:800;text-align:left;touch-action:none;user-select:none;-webkit-touch-callout:none}.office-stock-card>span{flex:1;min-width:0}.office-stock-card i{display:grid;place-items:center;flex:none;width:23px;height:24px;border:1px solid #344653;border-radius:3px;background:linear-gradient(#526978,#1b303c);font:20px system-ui;color:#e8c780}.office-stock-card>b{font-size:18px;color:#7c6b45}.office-stock-card[aria-pressed=true]{outline:2px solid #ffdc7d;outline-offset:-2px;background:#b4c49c}.office-empty{font-size:11px;color:#adc1c5;line-height:1.4}.planner-details{flex:none;max-height:44%;overflow-y:auto;margin:5px;padding:7px;border:1px solid #b99c65;border-radius:5px;background:#f0e1b8;color:#302c22;font-size:11px;box-shadow:inset 0 1px #fff9}.planner-details b{font-size:12px}.planner-details p{margin:4px 0;line-height:1.3}.planner-details small{font-size:10px;color:#5d614d}.office-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:45px;margin-bottom:7px;padding:7px;border:1px solid #d0af6c;border-bottom:3px solid #694c2b;border-radius:5px;background:linear-gradient(#f3e6c4,#ceba8d);color:#302d23;font-size:12px}.office-toggle b{padding:4px 8px;border:1px solid #405e3e;border-radius:4px;background:#55794b;color:#f2e9c1;font-size:10px}.office-toggle[aria-pressed=false] b{background:#69362b;border-color:#5b3527}.planner-status{flex:none;min-height:18px;padding:4px 6px 0;font-size:9px;color:#e5d8b2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.office-drag-ghost{position:fixed;z-index:170;max-width:240px;padding:10px 15px;border:2px solid #ffe2a1;border-radius:6px;background:#d5bd87ee;box-shadow:0 5px 12px #0009;color:#202b2e;font:bold 12px system-ui;pointer-events:none;transform:translate(-50%,-115%)}
.tv-console .console-public.family-tv-off .living-room{height:80%;background:radial-gradient(ellipse at 25% 20%,#26343b,#03090e 80%);border-radius:3%}.family-tv-off .living-room>*{visibility:hidden}.family-tv-off #public-reaction{visibility:hidden}
@media(max-width:600px){.office-computer{padding:5px;border-width:4px}.planner-heading{min-height:36px;gap:6px;padding-right:35px}.planner-heading strong{font-size:10px}.planner-save{font-size:7px;white-space:normal;max-width:62px}.planner-heading>button{font-size:8px;padding:3px 5px}.planner-workspace{grid-template-columns:31px minmax(0,1fr);grid-template-rows:minmax(225px,1fr) minmax(170px,.85fr);gap:6px}.planner-day-nav{grid-column:1;grid-row:1;padding:4px 2px}.planner-day-nav button{min-height:33px;font-size:17px}.planner-day-number{font-size:7px}.planner-board{grid-column:2;grid-row:1}.planner-sidebar{grid-column:1/-1;grid-row:2}.planner-columns,.planner-row{grid-template-columns:39px minmax(0,1fr) minmax(76px,32%);gap:3px}.planner-row time{font-size:10px}.planner-slot{padding:4px;font-size:9px;min-height:29px}.planner-slot.empty{font-size:8px}.planner-row{min-height:29px;margin-bottom:3px}.planner-columns{font-size:9px;padding:5px}.planner-columns>span{font-size:7px}.planner-tabs button{min-height:30px}.planner-stock{padding:6px}.office-genres{grid-template-columns:repeat(3,minmax(0,1fr))}.office-genres button{font-size:10px;min-height:32px}.office-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.office-stock-card{font-size:10px;min-height:35px;padding:4px}.office-stock-card i{width:19px;height:22px;font-size:17px}.planner-details{max-height:35%;font-size:10px;padding:5px}.planner-details p{font-size:10px}.planner-details b{font-size:10px}.planner-status{font-size:8px}.office-room-title{font-size:12px;padding:5px 12px}.office-exit{font-size:9px;min-height:33px}}
@media(max-height:520px) and (min-width:601px){.office-computer{padding:4px}.planner-heading{min-height:29px;margin-bottom:4px}.planner-heading strong{font-size:12px}.planner-workspace{gap:5px;grid-template-columns:32px minmax(0,1fr) minmax(190px,30%)}.planner-day-nav button{min-height:28px;font-size:16px}.planner-columns{padding:4px;font-size:9px}.planner-row{min-height:28px;margin-bottom:3px}.planner-slot{min-height:28px;padding:4px 6px;font-size:10px}.planner-row time{font-size:10px}.planner-closing{padding:2px 6px;font-size:8px}.planner-tabs button{min-height:25px}.planner-stock h2{font-size:10px}.office-genres button{min-height:28px;font-size:10px}.office-stock-card{min-height:29px;font-size:10px}.planner-details{font-size:10px;padding:5px}.planner-details p{font-size:9px}.planner-details small{font-size:9px}.planner-status{font-size:8px;min-height:15px}}

@media(max-width:600px){.planner-row{min-height:38px}.planner-slot{min-height:38px;font-size:11px}.planner-slot.empty{font-size:10px}.planner-row time{font-size:11px}}

.office-stock-card span small{display:block;margin-top:3px;font-size:.8em;font-weight:600;opacity:.8}.office-series-card{touch-action:pan-y}

/* Original computer arrangement: full-width schedule and vertical command rail. */
.planner-workspace{--menu-rail:52px;position:relative;grid-template-columns:40px minmax(0,1fr) var(--menu-rail);grid-template-rows:minmax(0,1fr)}
.planner-day-nav{grid-column:1;grid-row:1}.planner-board{grid-column:2;grid-row:1}
.planner-sidebar{grid-column:3;grid-row:1;position:static;overflow:visible;display:block;z-index:4}
.planner-tabs{height:100%;box-sizing:border-box;flex-direction:column;justify-content:flex-start;gap:9px;padding:7px 4px;border:0;border-radius:5px;background:linear-gradient(90deg,#654225,#976438,#50341f)}
.planner-tabs button{flex:none;width:100%;min-height:44px;border-width:2px;border-bottom-width:4px;font-size:25px;box-shadow:inset 0 1px #e8d09866,0 2px 3px #0005}
.planner-tabs button:focus-visible{outline:2px solid #ffe39a;outline-offset:2px}
.planner-menu-panel{position:absolute;z-index:5;right:calc(var(--menu-rail) + 8px);top:0;bottom:0;display:flex;flex-direction:column;width:min(370px,calc(100% - var(--menu-rail) - 55px));min-height:0;border:3px solid #c7a15d;border-radius:7px;background:linear-gradient(120deg,#233e50,#0b2030);box-shadow:0 6px 18px #000a,inset 0 0 0 1px #f1d18c;overflow:hidden}
.planner-menu-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none;padding:5px 7px;background:linear-gradient(#79522d,#4b311e);border-bottom:1px solid #c7a15d;color:#ffe5a6;font-size:11px}
.planner-menu-heading button{flex:none;width:28px;min-height:28px;padding:0;border:1px solid #d2aa64;border-bottom:3px solid #653b25;border-radius:4px;background:linear-gradient(#b34c34,#75291f);color:#fff0be;font-size:21px;line-height:1}
.planner-menu-panel .planner-stock{flex:1;min-height:0}.planner-menu-panel .planner-details{max-height:38%;margin-top:0}
body:has(.office-drag-ghost) .planner-menu-panel{opacity:0;pointer-events:none}
@media(max-width:600px){.planner-workspace{--menu-rail:44px;grid-template-columns:31px minmax(0,1fr) var(--menu-rail);grid-template-rows:minmax(0,1fr);gap:5px}.planner-sidebar{grid-column:3;grid-row:1}.planner-tabs{gap:8px;padding:5px 3px}.planner-tabs button{min-height:40px;font-size:22px}.planner-menu-panel{right:calc(var(--menu-rail) + 5px);width:calc(100% - var(--menu-rail) - 42px)}.office-genres{grid-template-columns:repeat(2,minmax(0,1fr))}.office-items{display:flex;flex-direction:column}.planner-menu-panel .planner-details{max-height:38%}.planner-columns,.planner-row{grid-template-columns:36px minmax(0,1fr) minmax(62px,28%)}.planner-columns{font-size:8px}.planner-slot{padding:4px 3px;font-size:10px}.planner-slot.empty{font-size:9px}.planner-heading strong{font-size:9px}.planner-menu-heading{font-size:10px}}
@media(max-height:520px) and (min-width:601px){.planner-workspace{--menu-rail:46px;grid-template-columns:32px minmax(0,1fr) var(--menu-rail)}.planner-tabs{gap:6px;padding:5px 3px}.planner-tabs button{min-height:36px;font-size:22px}.planner-menu-heading{padding:3px 5px}}
.planner-statistics{grid-column:1/3;grid-row:1;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:auto;border:2px solid #c5a369;border-radius:7px;background:linear-gradient(120deg,#213b4b,#091e2d);box-shadow:inset 0 2px 7px #0007}
.stats-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border-bottom:1px solid #b38e52;background:linear-gradient(#365262,#142b3c);color:#ffe3a3;font-size:13px}.stats-heading span{font-size:11px;color:#bbd0cd}
.stats-workspace{display:grid;grid-template-columns:minmax(125px,19%) minmax(0,1fr);gap:12px;flex:1;min-height:0;padding:10px}
.stats-controls{display:flex;flex-direction:column;gap:7px;min-width:0;overflow:auto}.stats-controls button{min-height:34px;padding:5px 8px;border:1px solid #c09d60;border-bottom:3px solid #61482b;border-left:5px solid var(--chain-color,#c09d60);border-radius:5px;background:linear-gradient(#e9d9b2,#bfa16b);color:#302d24;font-size:11px;font-weight:800;text-align:left;overflow-wrap:anywhere}.stats-controls [aria-pressed=true]{background:linear-gradient(#35596b,#142e3e);color:#ffe49e;outline:1px solid #f5d48e;outline-offset:-3px}.stats-controls button:disabled{opacity:.4;cursor:default}.stats-period{display:flex;flex-direction:column;gap:6px;margin-top:9px}
.stats-chart{display:flex;flex-direction:column;min-height:0;min-width:0;position:relative}.stats-chart h2{margin:0;text-align:center;color:#ffe4a6;font-size:14px}.stats-unit{margin:3px 0 0;color:#a8c2c7;font-size:10px;text-align:center}.stats-chart svg{display:block;flex:1;min-height:150px;width:100%;max-height:300px;font-family:system-ui}.stats-summary{margin:0;text-align:center;font-size:11px;color:#e7dbb9}.stats-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}.stats-legend span{border-left:5px solid var(--chain-color);padding:4px 8px;border-radius:3px;background:#0a1c2a;color:#f4e5be;font-size:11px;overflow-wrap:anywhere}.stats-note{margin:6px 0 0;color:#a4b9b8;font-size:9px;line-height:1.4}.stats-accessible{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:600px){.stats-heading{padding:7px;font-size:11px;flex-wrap:wrap;gap:3px}.stats-heading span{font-size:9px}.stats-workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);padding:6px;gap:8px}.stats-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;overflow:visible}.stats-controls button{min-height:36px;padding:4px;font-size:9px;border-left-width:3px}.stats-period{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;gap:5px}.stats-controls>button:disabled:last-child{grid-column:1/-1}.stats-chart svg{min-height:190px;max-height:270px}.stats-chart h2{font-size:12px}.stats-summary,.stats-legend span{font-size:10px}.stats-note{font-size:9px}}
@media(max-height:520px) and (min-width:601px){.stats-heading{padding:4px 8px;font-size:11px}.stats-workspace{padding:6px;gap:8px;grid-template-columns:120px minmax(0,1fr)}.stats-controls{gap:4px}.stats-controls button{min-height:27px;font-size:10px}.stats-period{margin-top:4px;gap:4px}.stats-chart svg{min-height:110px}.stats-chart h2{font-size:11px}.stats-note{font-size:8px;margin:3px 0 0}.stats-summary{font-size:9px}}

@media(min-width:601px) and (min-height:521px){.stats-controls{gap:5px}.stats-controls button{min-height:29px;padding:4px 8px}.stats-period{gap:5px;margin-top:6px}}

@media(max-width:600px){.stats-chart svg text{font-size:22px}}
.programme-continuation{display:block;font-size:9px;color:#bba469;font-weight:600;margin-top:3px}.planner-slot:has(.programme-continuation){border-left:3px solid #c9a363}
.planner-slot.filled .programme-continuation{color:#665133}.planner-menu-panel .planner-details:has(.programme-ratings){max-height:75%}
.planner-menu-panel .planner-details:has(.programme-ratings){max-height:65%}.planner-details .programme-ratings>div{font-size:9px;line-height:1.2;margin-bottom:2px}.planner-details .programme-ratings b{font-size:10px;line-height:1.1}.planner-details .programme-ratings meter{height:8px}.planner-details .programme-ratings small{font-size:8px}.planner-details:has(.programme-ratings) p{margin:2px 0}
/* Six brass command keys, matching the reference order. The rail scrolls on small screens. */
.planner-tabs{overflow-y:auto;gap:5px}.planner-tabs button{min-height:34px;flex:0 0 auto;display:grid;place-items:center;padding:4px;color:#f3d18c;background:linear-gradient(135deg,#456071,#142c3c);border-color:#c4a369}.planner-tabs svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px #000)}.planner-tabs button[aria-pressed=true]{background:linear-gradient(#f1d49b,#a87c42);color:#172d39;box-shadow:inset 0 3px 6px #3e231a9c;border-bottom-width:2px;transform:translateY(1px)}
.office-speeds{display:flex;gap:5px}.office-speeds button,.report-period button{min-height:38px;padding:6px;border:1px solid #c6a260;border-bottom:3px solid #6b482a;border-radius:5px;background:linear-gradient(#e7cea0,#ab874f);color:#302b23}.office-speeds button{flex:1;font-size:11px}.office-speeds small{display:block;font-size:9px;margin-top:3px}.office-speeds button[aria-pressed=true],.report-period button[aria-pressed=true]{background:linear-gradient(#386174,#173345);color:#ffe6ac;box-shadow:inset 0 2px 5px #0008}.office-speeds button:disabled{opacity:.5}.report-period{display:flex;justify-content:center;gap:10px;padding:8px}.report-period button{min-width:90px}.report-period button:disabled{opacity:.4}.finance-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:6px 14px;color:#e9d9b4}.finance-columns h2{margin:3px 0 9px;font-size:14px;color:#ffe2a0;border-bottom:1px solid #b28d51;padding-bottom:6px}.finance-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid #c9ac6d22;font-size:12px}.finance-row b{white-space:nowrap;font-variant-numeric:tabular-nums;color:#ffdfa1}.finance-row.total{border-top:1px solid #ae8c57;margin-top:4px;font-weight:800}.finance-row.balance{background:#091e2c;padding:10px 6px;border:1px solid #c6a569;border-radius:4px}.report-note{margin:8px 14px;color:#bdcbc6;font-size:11px;line-height:1.4}.trends-list{padding:6px 14px;overflow-y:auto}.trend-row{display:grid;grid-template-columns:minmax(100px,1fr) 2fr 50px;align-items:center;gap:8px;border:1px solid #b38d54;border-radius:6px;background:linear-gradient(#294759,#122b3b);margin:7px 0;padding:10px;color:#ffe3a4;font-size:12px}.trend-row small{grid-column:1/-1;color:#b7cccb;font-size:10px}.trend-row meter{width:100%;accent-color:#d7ad58}
@media(max-width:600px){.finance-columns{grid-template-columns:1fr;padding:5px 9px;gap:12px}.finance-row{font-size:11px}.report-note{font-size:10px;margin:8px}.trend-row{grid-template-columns:1fr 1fr 40px;font-size:10px;padding:7px}.planner-tabs button{min-height:37px}.planner-tabs svg{width:23px;height:23px}}
@media(max-height:520px) and (min-width:601px){.planner-tabs button{min-height:30px;padding:2px}.planner-tabs svg{height:21px;width:21px}.planner-tabs{gap:4px}.finance-row{padding:4px 0;font-size:10px}.finance-columns{padding:3px 10px}.report-period{padding:4px}.report-period button{min-height:28px;padding:3px}.finance-columns h2{font-size:12px;margin-bottom:3px}.report-note{font-size:9px}}
.finance-row{padding:3px 0;font-size:11px;line-height:1.25}.finance-columns h2{font:800 13px system-ui;margin:2px 0 5px;padding-bottom:4px}.finance-columns{gap:14px;padding-top:3px}.finance-row.balance{padding:6px}.report-period{padding:5px}.report-period button{min-height:30px}.report-note{margin-top:5px;margin-bottom:5px}

/* Broadcast console. The catalogue sits beside the schedule while the command keys stay on the right. */
.office-computer{border:3px solid #16558a;background:#08162b;box-shadow:inset 0 0 0 2px #46c6ec}
.planner-heading,.planner-board,.planner-day-nav,.planner-menu-panel,.planner-sidebar{
 border:2px solid #56cfff;border-radius:5px;background:#0a203d;box-shadow:inset 0 0 0 2px #154672,0 2px 0 #030b19
}
.planner-heading strong,.planner-menu-heading,.planner-columns,.planner-day-number{font-family:ZuvTV Pixel,monospace}
.planner-heading strong{font-size:clamp(12px,2vw,25px)}
.planner-heading button{background:linear-gradient(#e62c22,#8b160e);color:#fff2ce;border-color:#ff9752}
.planner-workspace{--menu-rail:clamp(46px,8.5vw,116px)}
.catalogue-open .planner-workspace{grid-template-columns:clamp(28px,4vw,50px) minmax(0,1fr) minmax(0,27%) var(--menu-rail)}
.catalogue-open .planner-sidebar{grid-column:4}
.planner-tabs{background:#091c36;gap:3px;padding:3px;overflow:auto}
.planner-tabs button{flex:1 0 auto;min-height:0;background:linear-gradient(#193f66,#0b2547);border-color:#5cbce9;color:#fff0c2;font-size:clamp(7px,.85vw,12px);line-height:1}
.planner-tabs svg{width:clamp(14px,2vw,25px);height:clamp(14px,2vw,25px)}
.planner-tabs button[aria-pressed=true]{background:linear-gradient(#aa6b13,#58330e);border-color:#ffd06c}
.planner-tab-label{display:block}
.planner-menu-panel{position:static;grid-column:3;grid-row:1;width:auto;overflow:hidden}
.planner-menu-heading,.planner-columns{background:#103759;border-color:#399cc9;color:#fff1c5}
.planner-row time,.planner-slot.empty{background:#102d50;border-color:#3688b5;color:#c3e7f8}
.planner-slot.filled,.office-stock-card{background:linear-gradient(#fff0bd,#e9d093);border-color:#fff0bf;color:#16243a}
.planner-slot.filled[data-plan-kind=ads]{background:linear-gradient(#d9eaa8,#a9c781)}
.office-computer .planner-details{position:absolute;z-index:8;width:min(310px,42%);margin:0;max-height:85%;overflow:auto;padding:8px;background:#ffedbd;color:#12223b;border:2px solid #cd9a4a;box-shadow:0 4px 12px #0009;pointer-events:none}
body:has(.office-drag-ghost) .planner-menu-panel{opacity:1;pointer-events:auto}
.planner-workspace{grid-template-columns:minmax(0,1fr) var(--menu-rail);grid-template-rows:auto minmax(0,1fr)}
.catalogue-open .planner-workspace{grid-template-columns:minmax(0,1fr) minmax(0,28%) var(--menu-rail)}
.planner-day-nav{grid-column:1;grid-row:1;flex-direction:row;align-items:center;gap:5px;padding:3px 5px}
.planner-day-nav button{width:clamp(25px,4vw,40px);min-height:23px;padding:1px 4px}
.planner-day-nav [data-plan-erase]{margin:0 0 0 auto}
.planner-board{grid-column:1;grid-row:2}
.planner-sidebar{grid-column:2;grid-row:1/3}
.catalogue-open .planner-sidebar{grid-column:3}
.planner-menu-panel{grid-column:2;grid-row:1/3}
.planner-statistics{grid-column:1;grid-row:1/3}
.planner-table{display:grid;grid-template-rows:repeat(6,minmax(23px,1fr))}
.planner-row,.planner-slot{min-height:0}
.planner-row{margin-bottom:2px}
.planner-slot{padding:2px 5px}
.planner-columns,.planner-row{grid-template-columns:clamp(34px,6vw,70px) minmax(0,1fr) minmax(0,34%)}
.office-stock-card{-webkit-touch-callout:none;user-select:none}
.office-computer .planner-details p{margin:4px 0}
@media(max-height:520px){
 .planner-tabs button{flex:1 1 0;padding:1px;border-bottom-width:2px;gap:1px}
 .planner-tabs svg{width:14px;height:14px}
 .planner-table{grid-template-rows:repeat(6,minmax(16px,1fr));padding:2px}
 .planner-row{margin-bottom:1px}
 .planner-slot,.planner-slot.empty,.planner-row time{font-size:clamp(8px,1.25vw,12px);line-height:1.05;padding:1px 4px}
 .planner-columns{padding:2px 4px}
 .planner-closing{padding:1px 4px}
 .planner-day-nav{padding:1px 4px}
 .planner-day-nav button{min-height:19px}
}

/* Stepped metal bezels and illuminated keys from the approved broadcast console. */
.office-computer{--planner-edge:#48caff;--planner-depth:#071a35;--planner-light:#b8ecff;
 border:0;padding:clamp(4px,.65vw,10px);gap:2px;background:repeating-linear-gradient(0deg,#081a31 0 2px,#0b213c 2px 4px);box-shadow:none}
.planner-heading,.planner-board,.planner-day-nav,.planner-menu-panel,.planner-sidebar{
 border:2px solid var(--planner-edge);border-radius:0;
 clip-path:polygon(7px 0,calc(100% - 7px) 0,100% 7px,100% calc(100% - 7px),calc(100% - 7px) 100%,7px 100%,0 calc(100% - 7px),0 7px);
 box-shadow:inset 0 0 0 1px #b2edff,inset 0 0 0 3px #15578b,inset 0 0 0 5px #07162f;
}
.planner-heading{position:relative;padding:4px 7px;min-height:clamp(34px,6vw,67px);margin-bottom:3px;background:linear-gradient(#123658,#07182f 55%,#103253)}
.planner-heading strong{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap;color:#fff0ba;text-shadow:2px 2px #000;font-size:clamp(12px,2.35vw,34px)}
.planner-heading>button{z-index:1;border-radius:3px;border:2px solid #ffbc71;box-shadow:0 0 0 2px #782719,inset 0 0 0 1px #ff6249;font-family:ZuvTV Pixel,monospace}
.planner-save{margin-left:auto;margin-right:33px}
.planner-workspace{gap:clamp(3px,.5vw,8px)}
.catalogue-open .planner-workspace{grid-template-columns:minmax(0,1fr) minmax(0,28%) var(--menu-rail)}
.planner-columns{background:linear-gradient(#087098,#063f62);text-transform:uppercase;color:#fff0bc;font-size:clamp(9px,1.25vw,18px)}
.planner-day-nav{padding-inline:8px;background:linear-gradient(#173a64,#081b35)}
.planner-day-number{background:linear-gradient(#70ecff,#05aad9);color:#06233b;padding:3px 10px;border:1px solid #a4efff}
.planner-row time,.planner-slot.empty{background:linear-gradient(#17385e,#0a2244);border:1px solid #64b7e5;box-shadow:inset 0 1px #7ecbff70,inset 0 -2px #05162f}
.planner-row time{color:#fff0c4;font-family:ZuvTV Pixel,monospace}
.planner-slot.filled,.office-stock-card{border:1px solid #fff1bc;box-shadow:inset 0 -2px #c39f59,0 2px #030d1e}
.planner-slot,.office-stock-card{font-weight:850}
.planner-menu-heading{background:linear-gradient(#1a426c,#0b2442);text-transform:uppercase}
.planner-tabs button{background:linear-gradient(#18436c,#0a2346);border:1px solid #82d4ff;box-shadow:inset 0 0 0 1px #25649a,0 2px #020a18;color:#fff5d6;text-transform:uppercase;font-family:ZuvTV Pixel,monospace}
.planner-tabs button[aria-pressed=true]{background:linear-gradient(#9e601b,#502805);color:#fff6cf;box-shadow:inset 0 0 0 1px #ffd76b,0 0 4px #ffaf22}
.planner-tabs button svg{display:none}
.planner-tab-label::before{content:'';display:block;margin:0 auto 2px;width:var(--planner-icon);height:var(--planner-icon);background:url('./planner-icons-pixel.png') 0 var(--planner-icon-y)/100% 600% no-repeat;image-rendering:pixelated}
.planner-tabs{--planner-icon:clamp(18px,3vw,43px)}
[data-office-tab=settings]{--planner-icon-y:0%}
[data-office-tab=ads]{--planner-icon-y:20%}
[data-office-tab=programs]{--planner-icon-y:40%}
[data-office-tab=stats]{--planner-icon-y:60%}
[data-office-tab=finance]{--planner-icon-y:80%}
[data-office-tab=trends]{--planner-icon-y:100%}
.office-computer .planner-details{border-radius:0;border:2px solid #b18039;box-shadow:inset 0 0 0 2px #fff7d4,inset 0 0 0 4px #e2c48a,0 5px 12px #000a}
@media(max-height:520px){
 .planner-heading{min-height:31px}
 .planner-tabs{--planner-icon:14px}
 .planner-tabs button{font-size:clamp(6px,.85vw,9px)}
 .planner-save{display:none}
}

/* Blue/cyan proposal approved 7 November: shared materials for every live panel. */
.office-computer{font-family:"ZuvTV Pixel",monospace;--planner-muted:#badbeb}
.office-computer button,.office-computer h2,.office-computer p,.office-computer small,.office-computer .stats-chart svg{font-family:inherit}
.planner-heading{min-height:clamp(34px,4.8vw,58px)}
.planner-heading strong{position:static;transform:none;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:clamp(14px,2.15vw,30px);text-align:left}
.planner-save{flex:none;font-family:system-ui;font-size:clamp(8px,.8vw,11px)}
.planner-columns{background:#103759;text-transform:none}
.planner-day-number{background:transparent;border:0;color:#ffe29e;padding:2px 3px}
.planner-tabs{border-radius:0;background:#091c36;gap:4px;padding:4px;--planner-icon:clamp(17px,2.1vw,31px)}
.planner-tabs button{border-radius:0;border:2px solid #48caff;background:linear-gradient(#153d61 0 3px,#102f51 3px calc(100% - 3px),#071b34 calc(100% - 3px));box-shadow:inset 2px 0 #8cdeff,inset -2px 0 #164b75,0 2px #020a18;text-transform:none;font-size:clamp(8px,.95vw,14px);min-height:0}
.planner-tabs button[aria-pressed=true]{background:linear-gradient(#f9bd43 0 3px,#e5a023 3px calc(100% - 3px),#986316 calc(100% - 3px));border-color:#ffe29a;color:#11223a;box-shadow:inset 2px 0 #fff0bc,inset -2px 0 #ae7015;transform:none}
.planner-tab-label::before{display:none}
.planner-tabs button svg{display:block;width:var(--planner-icon);height:var(--planner-icon);fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:miter;stroke-linecap:square;shape-rendering:crispEdges;filter:drop-shadow(1px 2px #0008)}
.planner-slot,.planner-row time{border-radius:0}
.planner-slot.empty,.planner-row time{background:#102d50;border-color:#399dcb;box-shadow:inset 0 2px #22567a,inset 0 -2px #071b35}
.planner-slot.empty{color:var(--planner-muted);font-weight:600;font-size:clamp(10px,1.2vw,17px)}
.planner-row time{font-size:clamp(11px,1.55vw,22px)}
.planner-menu-heading{background:#103759;text-transform:none;font-size:clamp(11px,1.15vw,16px);padding:6px 8px}
.office-computer :is(.planner-day-nav button,.planner-menu-heading button,.planner-stock h2 button,.office-genres button,.office-stock-card,.office-toggle,.office-toggle b,.office-speeds button,.stats-controls button,.report-period button,.stats-legend span,.finance-row.balance,.trend-row){border-radius:0}
.planner-stock{padding:8px;scrollbar-color:#48caff #081b35}
.planner-stock h2{font-size:clamp(12px,1.3vw,18px);color:#fff0ba;margin:2px 0 9px}
.planner-stock h2 button{background:#123754;border-color:#48caff;color:#fff0ba;min-height:28px}
.office-stock-card,.office-genres button{background:#f4df9f;border:2px solid #fff0bc;box-shadow:inset 0 -3px #ccac63,2px 2px #030d1e;font-size:clamp(11px,1.2vw,17px);color:#15243a}
.office-stock-card i{border-radius:0;background:#143955;color:#ffe3a1}
.office-genres b{opacity:1;background:#112f50;color:#fff0bc;padding:2px 5px}
.office-stock-card[aria-pressed=true]{background:#cbe7b0;outline:2px solid #58e6ff;outline-offset:2px}
.office-toggle{background:#123451;border:2px solid #48caff;box-shadow:inset 2px 2px #245d80,0 2px #030d1e;color:#fff0bc;font-size:clamp(12px,1.3vw,18px)}
.office-toggle b{background:#255b41;border:2px solid #8edb80;color:#e8ffd6;font-size:.8em}
.office-toggle[aria-pressed=false] b{background:#652d31;border-color:#ec947e;color:#ffe1ca}
.office-speeds button,.stats-controls button,.report-period button{background:#123451;border:2px solid #48caff;box-shadow:inset 0 2px #286486,0 2px #030d1e;color:#fff0bc}
.stats-controls button{border-left:5px solid var(--chain-color,#48caff)}
.office-computer :is(.office-speeds button,.stats-controls button,.report-period button)[aria-pressed=true]{background:#f4df9f;color:#14243a;outline:2px solid #fff0bc;outline-offset:-4px;box-shadow:inset 0 -3px #ccac63}
.office-computer button:disabled{opacity:.45}
.office-computer button:focus-visible{outline:2px solid #fff3bc;outline-offset:-4px}
.planner-statistics{border:2px solid #48caff;border-radius:0;background:#0a203d;box-shadow:inset 0 0 0 2px #15578b;scrollbar-color:#48caff #081b35}
.stats-heading{background:#103759;border-bottom:2px solid #48caff;color:#fff0bc;font-size:clamp(13px,1.5vw,20px)}
.stats-heading span,.stats-unit,.stats-note,.report-note,.trend-row small{color:var(--planner-muted)}
.stats-chart{background:#0c2544;border:1px solid #245d80;padding:8px}
.stats-chart h2{font-size:clamp(14px,1.6vw,22px)}
.stats-chart svg{shape-rendering:crispEdges}
.stats-chart svg rect{rx:0;stroke:#fff0bc;stroke-width:2px}
.stats-chart svg path{stroke:#48caff}
.stats-legend span{border-radius:0;border-bottom:2px solid #22567a}
.finance-columns>section{background:#0c2544;border:1px solid #245d80;padding:8px;min-width:0}
.finance-columns h2{font-family:inherit;color:#fff0bc;border-bottom:2px solid #48caff;font-size:clamp(14px,1.5vw,21px)}
.finance-row{border-bottom-color:#245d80;font-size:clamp(12px,1.15vw,16px);padding:6px 0;color:#c3e7f8}
.finance-row b{color:#fff0bc}.finance-row.total{border-top:2px solid #48caff}
.finance-row.balance{border:2px solid #48caff;background:#103759;box-shadow:inset 0 -2px #071b35}
.trend-row{background:#103050;border:2px solid #399dcb;box-shadow:inset 0 2px #22567a,0 2px #030d1e;font-size:clamp(12px,1.25vw,18px)}
.trend-row meter,.programme-ratings meter{appearance:none;-webkit-appearance:none;border:2px solid #8edcff;border-radius:0;background:#071a35;height:14px}
.trend-row meter::-webkit-meter-bar,.programme-ratings meter::-webkit-meter-bar{border:0;border-radius:0;background:#071a35}
.trend-row meter::-webkit-meter-optimum-value,.programme-ratings meter::-webkit-meter-optimum-value{border-radius:0;background:repeating-linear-gradient(90deg,#8bdd43 0 8px,#377e28 8px 10px);box-shadow:inset 0 2px #ceff86,inset 0 -2px #235b2d}
.trend-row meter::-moz-meter-bar,.programme-ratings meter::-moz-meter-bar{background:#8bdd43;border-radius:0}
.office-empty,.report-note,.stats-note{font-size:clamp(11px,1.1vw,15px)}
.office-drag-ghost{border-radius:0;box-shadow:3px 3px #030d1e;font-family:"ZuvTV Pixel",monospace;background:#f4df9f}
@media(max-height:520px){
 .planner-heading{min-height:30px}.planner-heading strong{font-size:clamp(12px,2vw,19px)}
 .planner-tabs{--planner-icon:14px;gap:2px;padding:2px}.planner-tabs button{font-size:8px;border-width:1px}
 .planner-tab-label{line-height:1}.planner-tabs svg{margin:0}
 .planner-menu-heading{padding:2px 5px;font-size:11px}.planner-menu-heading button{min-height:22px;width:24px}
 .planner-stock{padding:5px}.planner-stock h2{font-size:12px;margin:0 0 4px}
 .planner-row time,.planner-slot.empty,.planner-slot{font-size:10px}
 .office-stock-card,.office-genres button{font-size:11px;min-height:29px}
 .office-toggle{font-size:12px;min-height:33px;margin-bottom:5px;padding:4px}
 .office-speeds button{min-height:31px;padding:3px}.office-speeds small{font-size:9px}
 .stats-heading{font-size:12px;padding:4px 8px}.stats-chart{padding:4px}.stats-chart h2{font-size:13px}
 .stats-controls button{font-size:11px;min-height:27px}.stats-chart svg{min-height:100px}
 .finance-columns>section{padding:4px}.finance-row{font-size:10px;line-height:1.1;padding:1px 0}.finance-columns h2{font-size:12px;margin-bottom:3px;padding-bottom:3px}.finance-row.balance{padding:3px}.finance-row.total{margin-top:2px}.report-period{padding:3px}.report-period button{min-height:22px;padding:2px}
 .report-note,.stats-note{font-size:10px}.trend-row{padding:7px;font-size:12px}
}

/* Audience map artwork is layered over the office, above the live TV console. */
.office-map-hotspot{left:50%;top:4%;width:41%;height:49%}
.audience-map{
 position:absolute;inset:1% 3% 2%;max-width:calc((var(--app-height,100svh) - var(--console-height))*2.17);
 margin-inline:auto;container-type:size;color:#fff2ca;
 background:url('./audience-frame.png') center/100% 100% no-repeat;
 font-family:"ZuvTV Pixel",monospace;image-rendering:pixelated;
}
.audience-map h2{
 position:absolute;top:1%;left:33.8%;width:41%;height:11%;margin:0;
 display:grid;place-items:center;background:#201833;color:#fff0b2;
 font-size:clamp(14px,3.75cqw,46px);line-height:1;text-align:center;text-transform:uppercase;
 text-shadow:2px 2px #090610;
}
.audience-map button{min-height:0;padding:0;line-height:1.05;font:inherit;cursor:pointer}
.audience-map button:focus-visible,.audience-map svg:focus-visible{outline:2px solid #fff4aa;outline-offset:2px}
.audience-map-close{
 position:absolute;z-index:2;top:3.5%;right:1.2%;width:5.5%;height:11%;
 color:#fff0b2;background:#971e20;border:3px ridge #ffb441;border-radius:15%;
 font-size:clamp(16px,4cqh,34px)!important;font-weight:bold!important;
}
.audience-map-viewport{
 position:absolute;left:2.4%;top:17.8%;width:75.6%;height:74.4%;
 display:grid;place-items:center;container-type:size;background:#062136;
}
.audience-map-viewport svg{
 display:block;width:min(100cqw,calc(100cqh * 1000 / 454));aspect-ratio:1000 / 454;
 touch-action:none;user-select:none;-webkit-touch-callout:none;
}
.audience-map-viewport svg[data-mode=buy]{cursor:crosshair}
.audience-zones{pointer-events:none}
.audience-zone-sale{pointer-events:all;cursor:pointer}
.audience-selection{pointer-events:none}
.audience-map .audience-satellite{
 width:100%;height:100%;border:4px solid transparent;border-radius:50%;
 background:transparent url('./audience-satellite.png') center/86% auto no-repeat;box-shadow:none;
 filter:grayscale(1) brightness(.46) drop-shadow(0 0 2px #9bcfe5);
}
.audience-map .audience-satellite.owned{border-color:var(--owner);background-color:color-mix(in srgb,var(--owner) 15%,transparent);filter:none}
.audience-map .audience-satellite.owned:hover{filter:brightness(1.18)}
.audience-quote{
 position:absolute;z-index:1;display:grid;gap:1px;pointer-events:none;
 transform:translate(12px,5px);padding:.45em .65em;border:3px ridge #f7ac3b;border-radius:6px;
 background:#201833;box-shadow:3px 4px #090610;color:#fff;font:700 clamp(10px,3.7cqh,21px)/1.1 "ZuvTV Pixel",monospace;
}
.audience-quote strong{color:#ffe44a}
.audience-quote.quote-left{transform:translate(calc(-100% - 12px),5px)}
.audience-quote.quote-top{transform:translate(12px,calc(-100% - 5px))}
.audience-quote.quote-top.quote-left{transform:translate(calc(-100% - 12px),calc(-100% - 5px))}
.audience-map-sidebar{
 position:absolute;left:79.45%;top:19%;width:18.75%;height:73.5%;
 display:grid;align-content:center;grid-template-rows:17% 17% 45%;gap:3%;
 background:#281b39;padding:0 1%;
 font-size:clamp(11px,min(2.15cqw,6cqh),28px);
}
.audience-map-sidebar button,.audience-map-prompt button{
 border:3px ridge #b1a1c6;border-radius:6px;background:#59516c;color:#fff4dc;
 box-shadow:inset 0 2px #fffc,0 3px #0d0615;font-weight:700;
}
.audience-map-sidebar [aria-pressed=true]{background:#ffb51f;border-color:#ffcf5a;color:#261404}
.audience-map-sidebar i{font-style:normal;font-size:.8em}
.audience-chains{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:7%;padding-top:6%}
.audience-chains button{display:flex;align-items:center;gap:3%;min-width:0;padding-inline:6%;border-color:var(--chain);background:var(--chain);color:#100c1b}
.audience-chains span{flex:1;font-size:.87em;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.audience-chains b{background:#dbd3e5;border:2px ridge #fff0ff;border-radius:3px;width:1.25em}
.audience-map-prompt{position:absolute;inset:0;z-index:3;display:grid;place-items:center;background:#0c0818ad}
.audience-map-prompt>div{max-width:90%;padding:clamp(9px,4cqh,24px);text-align:center;border:4px ridge #ffb639;border-radius:8px;background:#201833;font-size:clamp(13px,5cqh,27px)}
.audience-map-prompt h3,.audience-map-prompt p{margin:0 0 .4em}
.audience-map-prompt p{color:#ffe44a}
.audience-map-prompt button{min-height:32px;padding:.25em .65em;margin:.1em}
.audience-map-prompt [data-map-confirm]:enabled{background:#ffb51f;border-color:#ffcf5a;color:#261404}
html[lang=es] .audience-map h2{background:transparent;color:transparent;text-shadow:none}
.audience-map .audience-map-close,.audience-map .audience-map-close:hover,.audience-map .audience-map-close:active{
 top:2.4%;right:1.2%;width:5.3%;height:12%;
 background:transparent;border:0;color:transparent;box-shadow:none;transform:none;
}
.audience-map-sidebar button>svg{width:1em;height:1em;vertical-align:-.16em;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linejoin:miter}

/* Keep iOS selection handles and the long-press menu out of the map and its prompts. */
.audience-map,.audience-map *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
