:root{--sky:#02779e;--sky-dk:#005a78;--sky-lt:#e8f4f8;--sky-hov:#026a8d;--red:#d74432;--red-lt:#fef2f0;--grn:#009b77;--grn-lt:#edf8f5;--yel:#f0ca4d;--yel-lt:#fdf8e8;--terra:#ba5b4c;--g:#adadad;--g-lt:#f5f5f5;--g-md:#e0e0e0;--g-dk:#6b7280;--ink:#16232b;--grid:#eceff1}*{box-sizing:border-box;margin:0;padding:0}html,body{background:#000;width:100%;height:100%;overflow:hidden}body{color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.stage{transform-origin:0 0;background:var(--g-lt);flex-direction:column;width:1920px;height:1080px;padding:32px 56px 26px;display:flex;position:absolute;top:0;left:0}.topbar{justify-content:space-between;align-items:center;display:flex}.brandline{align-items:center;gap:22px;display:flex}.logo{background:var(--sky);color:#fff;letter-spacing:.06em;border-radius:10px;padding:8px 20px;font-size:30px;font-weight:800}.titles .page{color:var(--sky-dk);text-transform:uppercase;letter-spacing:.14em;font-size:22px;font-weight:600}.titles .project{margin-top:1px;font-size:36px;font-weight:700}.clockblock{text-align:right;align-items:baseline;gap:24px;display:flex}.clock{font-variant-numeric:tabular-nums;font-size:72px;font-weight:700;line-height:1}.date{color:var(--g-dk);font-size:24px}.pages{flex:1;min-height:0;position:relative}.pagepane{opacity:0;flex-direction:column;transition:opacity .9s;display:flex;position:absolute;inset:0}.pagepane.visible{opacity:1}.chip{border-radius:999px;align-items:center;gap:10px;padding:8px 22px;font-size:30px;font-weight:700;display:inline-flex}.chip.good{background:var(--grn-lt);color:var(--grn)}.chip.bad{background:var(--red-lt);color:var(--red)}.chartcard{border:1px solid var(--g-md);background:#fff;border-radius:18px;flex-direction:column;flex:1;min-height:0;margin-top:24px;padding:24px 38px 14px;display:flex}.charthead{justify-content:space-between;align-items:center;gap:24px;display:flex}.charthead .ct{font-size:30px;font-weight:600}.legend{color:#374151;gap:30px;font-size:26px;display:flex}.legend .li{align-items:center;gap:10px;display:flex}.sw{border-top:6px solid var(--sky);border-radius:3px;width:48px;height:0}.sw.dash{border-top:5px dashed var(--g)}.chartcard svg{flex:1;width:100%;min-height:0}.grid line{stroke:var(--grid);stroke-width:2px}.axis text{fill:var(--g-dk);font-size:26px}line.now{stroke:var(--yel);stroke-width:4px}line.target{stroke:var(--g);stroke-width:5px;stroke-dasharray:18 14}text.targetlabel{fill:var(--g-dk);font-size:28px}path.actual{fill:none;stroke:var(--sky);stroke-width:7px;stroke-linejoin:round;stroke-linecap:round}path.area{fill:var(--sky);opacity:.08}circle.endpoint{fill:var(--sky);stroke:#fff;stroke-width:4px}text.endpointlabel{fill:var(--sky-dk);font-size:34px;font-weight:700}.kpirow{gap:28px;margin-top:24px;display:flex}.tile{border:1px solid var(--g-md);background:#fff;border-radius:18px;flex:1;align-items:baseline;gap:24px;padding:20px 30px 18px;display:flex}.tile .label{color:var(--g-dk);font-size:28px;font-weight:600}.tile .value{font-size:96px;font-weight:700;line-height:1}.tile .sub{color:var(--g-dk);margin-left:auto;font-size:24px}.tile.hero{border:2px solid var(--sky);box-shadow:0 0 0 5px var(--sky-lt);flex:1.3}.tile.hero .label{color:var(--sky-dk)}.tile.hero .value{color:var(--sky);font-size:120px}.charthead .left{align-items:center;gap:26px;display:flex}path.plan{fill:none;stroke:var(--g);stroke-width:5px;stroke-dasharray:18 14}text.planlabel{fill:var(--g-dk);font-size:26px}text.todaylabel{fill:var(--g-dk);font-size:24px}line.now.dim{stroke-width:3px;opacity:.7}line.baseline{stroke:var(--grid);stroke-width:2px}rect.bar{fill:var(--sky);opacity:.4}rect.bar.today{opacity:1}text.barlabel{fill:var(--sky-dk);font-size:26px;font-weight:700}.barcard{border:1px solid var(--g-md);background:#fff;border-radius:18px;flex-direction:column;margin-top:18px;padding:16px 38px 10px;display:flex}.barcard .bt{color:var(--g-dk);font-size:24px;font-weight:600}.statstrip{border:1px solid var(--g-md);background:#fff;border-radius:18px;align-items:center;gap:56px;margin-top:18px;padding:18px 38px;display:flex}.stat{align-items:baseline;gap:16px;display:flex}.stat .label{color:var(--g-dk);font-size:24px;font-weight:600}.stat .value{font-size:56px;font-weight:700}.stat .value.blue{color:var(--sky)}.stat .days.overdue{color:var(--red);font-weight:700}.progress{flex:1;align-items:center;gap:18px;display:flex}.track{background:var(--sky-lt);border-radius:999px;flex:1;height:18px;overflow:hidden}.fill{background:var(--sky);border-radius:999px;height:100%}.pct{color:var(--sky-dk);font-size:40px;font-weight:700}.stalebanner{background:var(--yel-lt);border:2px solid var(--yel);border-radius:999px;padding:12px 30px;font-size:28px;font-weight:600;position:absolute;top:34px;left:50%;transform:translate(-50%)}.footer{color:var(--g-dk);justify-content:space-between;align-items:center;margin-top:18px;font-size:24px;display:flex}.dots{align-items:center;gap:12px;display:flex}.dot{background:var(--g-md);border-radius:50%;width:18px;height:18px}.dot.on{background:var(--sky)}.overlay{background:var(--g-lt);flex-direction:column;justify-content:center;align-items:center;gap:48px;display:flex;position:absolute;inset:0}.overlay[hidden]{display:none}.overlaymsg{color:var(--g-dk);font-size:64px}
