/* This stylesheet is exclusive to the one-viewport display. The web reader keeps its normal flow. */
html.screen-document{width:100%;height:100%;overflow:hidden;overflow:clip;overscroll-behavior:none}
body.dashboard-screen{width:100%;height:100%;margin:0;overflow:hidden;overflow:clip;overscroll-behavior:none}
.screen-viewport{position:fixed;left:0;top:0;width:100%;height:100%;overflow:hidden;overflow:clip;--board-width:1440px;--board-height:900px;--board-scale:1}
.screen{position:absolute;left:0;top:0;width:var(--board-width);height:var(--board-height);min-height:0;max-width:none;margin:0;padding:24px;display:grid;grid-template-rows:56px 34px 114px minmax(0,1fr) 26px;gap:14px;transform:scale(var(--board-scale));transform-origin:0 0;overflow:hidden}
.screen>*,.screen .screen-main>*,.screen .screen-panel>*{min-width:0;min-height:0}
.screen .screen-top{height:auto;display:grid;grid-template-columns:260px minmax(0,1fr) 320px;align-items:center;gap:18px;padding:0 0 12px;flex-wrap:nowrap}
.screen .screen-brand{min-width:0;width:auto;gap:13px}
.screen .screen-brand svg{width:35px;height:35px}
.screen .screen-brand strong{font-size:18px}
.screen .screen-brand small{font-size:9px;margin-top:6px}
.screen .screen-title{width:auto;min-width:0;flex:none;text-align:center}
.screen .screen-title .data-mono{font-size:9px;margin-bottom:6px}
.screen .screen-title h1{font-size:29px;line-height:1.2;white-space:nowrap}
.screen .screen-actions{width:auto;min-width:0;display:flex;justify-content:end;gap:10px;flex-wrap:nowrap}
.screen .screen-actions button,.screen .screen-actions a{padding:8px 11px;font-size:10px;min-height:34px}
.screen .screen-meta{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0;margin:0;flex-wrap:nowrap}
.screen .screen-meta-left{gap:20px;flex-wrap:nowrap;overflow:hidden}
.screen .screen-meta select{max-width:280px;font-size:14px;min-height:32px;padding:5px 22px 6px 0;flex-shrink:1;min-width:0}
.screen .screen-stage{font-size:11px;white-space:nowrap;max-width:130px;overflow:hidden;text-overflow:ellipsis}
.screen .screen-period{font-size:11px;white-space:nowrap}
.screen .screen-mode{gap:14px;flex-shrink:0;font-size:11px}
.screen .screen-mode button{font-size:10px;min-height:30px}
.screen .kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:minmax(0,1fr);gap:14px;margin:0;min-height:0}
.screen .data-kpi{min-height:0;padding:15px 21px 12px}
.screen .data-kpi-label{font-size:12px;gap:10px;line-height:1.65;white-space:nowrap}
.screen .data-kpi-label .data-mono{display:inline;font-size:10px}
.screen .data-value{font-size:49px;margin-top:8px;line-height:1.05;white-space:nowrap}
.screen .data-value span{display:inline;font-size:12px;margin:0 0 0 10px}
.screen .data-kpi-foot{font-size:10px;line-height:1.65;margin-top:8px;white-space:nowrap}
.screen .screen-main{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,.85fr);grid-template-rows:minmax(0,1fr);gap:14px;min-height:0}
.screen .screen-analytics{display:grid;grid-template-rows:minmax(0,.94fr) minmax(0,1.06fr);grid-template-columns:minmax(0,1fr);gap:14px;min-height:0}
.screen .screen-side{display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1fr) minmax(0,1.14fr);grid-template-columns:minmax(0,1fr);gap:14px;min-height:0}
.screen .screen-side .screen-panel:last-child{grid-column:auto}
.screen .screen-panel{min-width:0;min-height:0;padding:16px 20px 12px;display:flex;flex-direction:column;margin:0}
.screen .screen-panel .data-panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0;margin:0 0 8px}
.screen .screen-panel .data-panel-head h2{font-size:18px;line-height:1.5;white-space:nowrap}
.screen .screen-panel .data-panel-head h2 .data-mono{font-size:10px;margin-right:9px}
.screen .screen-panel .data-panel-head p{display:block;font-size:10px;line-height:1.5;margin-top:2px;white-space:nowrap}
.screen .screen-panel .chart-holder{flex:1 1 0;min-height:0;min-width:0;display:flex;align-items:stretch;justify-content:stretch}
.screen .screen-panel .data-chart{width:100%;height:100%;min-width:0;max-height:none;display:block;overflow:visible}
.screen .screen-panel .axis-label{font-size:14px}
.screen .screen-panel .chart-readout{display:flex;flex-shrink:0;justify-content:space-between;align-items:center;gap:20px;min-height:24px;margin-top:6px;padding-top:7px;font-size:10px;line-height:1.5;white-space:nowrap}
.screen .screen-panel .small-legend{font-size:10px;gap:12px;margin-top:0;flex-shrink:0;flex-wrap:nowrap}
.screen .screen-panel .chart-toggle{margin:0;gap:15px;flex-shrink:0}
.screen .screen-panel .chart-toggle button{font-size:10px;min-height:30px;padding:5px 0}
.screen .screen-panel .coverage-block{flex:1;gap:20px;min-height:0;padding:0;align-items:center;border:0}
.screen .screen-panel .coverage-ring{width:105px;height:105px;flex-shrink:0}
.screen .screen-panel .coverage-copy{min-width:0}
.screen .screen-panel .coverage-copy strong{font-size:15px;line-height:1.5}
.screen .screen-panel .coverage-copy p{font-size:11px;line-height:1.6;margin-top:6px}
.screen .screen-panel .coverage-copy .data-mono{font-size:10px}
.screen .screen-panel .cash-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0;padding:0;border:0;flex-shrink:0}
.screen .screen-panel .cash-values span{font-size:10px;line-height:1.5}
.screen .screen-panel .cash-values strong{font-size:26px;line-height:1.2;margin-top:5px}
.screen .screen-panel .cash-values small{font-size:10px;margin-left:5px}
.screen .screen-panel .cash-spark{height:auto;min-height:16px;flex:1 1 0;padding-top:8px;margin:0}
.screen .screen-panel .cash-foot{display:flex;flex-shrink:0;font-size:9px;line-height:1.4;margin-top:6px;gap:10px}
.screen .screen-panel .cash-foot + .cash-foot{display:block}
.screen .screen-panel .project-note-list{display:flex;flex-direction:column;flex:1;gap:11px;min-height:0;justify-content:space-evenly}
.screen .screen-panel .project-note{min-height:0;padding-left:14px}
.screen .screen-panel .project-note time{font-size:10px;line-height:1.3}
.screen .screen-panel .project-note p{font-size:11px;line-height:1.65;margin-top:4px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.screen .screen-panel .note-empty{font-size:11px;padding:10px 0}
.screen .screen-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0;font-size:10px;line-height:1.6;flex-wrap:nowrap;white-space:nowrap}
.screen .screen-footer .screen-footer-left{display:flex;align-items:center;gap:16px;flex-wrap:nowrap}
.screen .screen-footer button{font-size:10px;white-space:nowrap}
.screen .chart-empty{height:100%;min-height:0;width:100%;font-size:12px}
.dashboard-screen .source-dialog{max-height:calc(100dvh - 24px);overflow:auto}

/* Portrait view rearranges the same modules before the complete composition is scaled. */
.screen[data-layout="portrait"]{padding:20px;gap:12px;grid-template-rows:84px 58px 206px minmax(0,1fr) 36px}
.screen[data-layout="portrait"] .screen-top{grid-template-columns:1fr 1fr;grid-template-rows:38px 30px;gap:5px 16px;padding-bottom:10px}
.screen[data-layout="portrait"] .screen-brand{grid-column:1;grid-row:1;gap:10px}
.screen[data-layout="portrait"] .screen-brand svg{width:28px;height:28px}
.screen[data-layout="portrait"] .screen-brand strong{font-size:17px}
.screen[data-layout="portrait"] .screen-brand small{font-size:7px;margin-top:4px}
.screen[data-layout="portrait"] .screen-title{grid-column:1;grid-row:2;text-align:left}
.screen[data-layout="portrait"] .screen-title .data-mono{display:none}
.screen[data-layout="portrait"] .screen-title h1{font-size:24px}
.screen[data-layout="portrait"] .screen-actions{grid-column:2;grid-row:1/3;gap:8px;flex-wrap:wrap;align-content:center}
.screen[data-layout="portrait"] .screen-actions button,.screen[data-layout="portrait"] .screen-actions a{font-size:10px;min-height:32px;padding:7px 9px}
.screen[data-layout="portrait"] .screen-meta{display:grid;grid-template-columns:1fr;grid-template-rows:29px 22px;gap:5px;align-items:center}
.screen[data-layout="portrait"] .screen-meta-left{gap:17px;justify-content:space-between}
.screen[data-layout="portrait"] .screen-meta select{font-size:13px;max-width:220px;min-height:29px}
.screen[data-layout="portrait"] .screen-stage{font-size:10px}
.screen[data-layout="portrait"] .screen-period{font-size:10px}
.screen[data-layout="portrait"] .screen-mode{justify-content:space-between;font-size:10px}
.screen[data-layout="portrait"] .screen-mode button{font-size:10px;min-height:22px;padding:2px 0}
.screen[data-layout="portrait"] .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:12px}
.screen[data-layout="portrait"] .data-kpi{padding:12px 17px 10px}
.screen[data-layout="portrait"] .data-value{font-size:39px;margin-top:6px}
.screen[data-layout="portrait"] .data-value span{font-size:10px;margin-left:8px}
.screen[data-layout="portrait"] .data-kpi-foot{font-size:9px;margin-top:6px}
.screen[data-layout="portrait"] .screen-main{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1.35fr) minmax(0,1fr);gap:12px}
.screen[data-layout="portrait"] .screen-analytics{gap:12px}
.screen[data-layout="portrait"] .screen-side{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr) minmax(0,.85fr);gap:12px}
.screen[data-layout="portrait"] .screen-side .screen-panel:last-child{grid-column:1/-1}
.screen[data-layout="portrait"] .screen-panel{padding:12px 15px 10px}
.screen[data-layout="portrait"] .screen-panel .data-panel-head{margin-bottom:6px;gap:12px}
.screen[data-layout="portrait"] .screen-panel .data-panel-head h2{font-size:16px}
.screen[data-layout="portrait"] .screen-analytics .data-panel-head>div:first-child{display:flex;align-items:baseline;gap:12px;min-width:0}
.screen[data-layout="portrait"] .screen-analytics .data-panel-head p{font-size:9px;margin:0}
.screen[data-layout="portrait"] .screen-panel .chart-readout{font-size:9px;min-height:21px;margin-top:4px;padding-top:4px}
.screen[data-layout="portrait"] .screen-panel .small-legend{font-size:9px;gap:10px}
.screen[data-layout="portrait"] .screen-panel .coverage-ring{width:74px;height:74px}
.screen[data-layout="portrait"] .screen-panel .coverage-block{gap:12px}
.screen[data-layout="portrait"] .screen-panel .coverage-copy strong{font-size:12px}
.screen[data-layout="portrait"] .screen-panel .coverage-copy p{font-size:10px;line-height:1.5;margin-top:4px}
.screen[data-layout="portrait"] .screen-panel .coverage-copy .data-mono{font-size:8px}
.screen[data-layout="portrait"] .screen-panel .cash-values{gap:12px}
.screen[data-layout="portrait"] .screen-panel .cash-values span{font-size:9px}
.screen[data-layout="portrait"] .screen-panel .cash-values strong{font-size:21px;margin-top:4px}
.screen[data-layout="portrait"] .screen-panel .cash-values small{font-size:8px;margin-left:4px}
.screen[data-layout="portrait"] .screen-panel .cash-foot{font-size:8px;margin-top:4px}
.screen[data-layout="portrait"] .screen-panel .project-note-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:minmax(0,1fr);gap:14px;align-content:center;align-items:center}
.screen[data-layout="portrait"] .screen-panel .project-note{padding-left:11px}
.screen[data-layout="portrait"] .screen-panel .project-note time{font-size:9px}
.screen[data-layout="portrait"] .screen-panel .project-note p{font-size:10px;line-height:1.6;margin-top:4px}
.screen[data-layout="portrait"] .screen-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:1fr 1fr;gap:0 12px;font-size:9px;white-space:normal}
.screen[data-layout="portrait"] .screen-footer .screen-footer-left{grid-column:1;grid-row:1;gap:10px;white-space:nowrap}
.screen[data-layout="portrait"] .screen-footer>span{grid-column:1;grid-row:2;font-size:8px;white-space:nowrap}
.screen[data-layout="portrait"] .screen-footer button{grid-column:2;grid-row:1/3;font-size:9px}
@media(prefers-reduced-motion:reduce){.screen{transition:none}}
