:root{--bg:#0B0D10;--panel:#15181D;--panel2:#20252B;--line:#30363D;--text:#F2F2F2;--muted:#A7AFB8;--accent:#0060A8;--accentSoft:rgba(0,96,168,.14);--accentGlow:rgba(0,96,168,.20);--red:#ef4444;--blue:#0060A8}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;overflow:hidden}button,.fileBtn{border:1px solid var(--line);background:#222833;color:var(--text);padding:10px 13px;border-radius:10px;cursor:pointer;font-weight:800;white-space:nowrap}button:hover,.fileBtn:hover,.toolBtn.active{border-color:var(--accent);color:var(--accent)}.primary{background:var(--accent);color:#111315;border-color:var(--accent)}.danger{background:#3b1111;border-color:#6b1c1c;color:#fecaca}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--line);background:#090b0f}.brandBlock{display:flex;gap:14px;align-items:center}.brandMark{width:46px;height:46px;border:2px solid var(--accent);border-radius:12px;display:grid;place-items:center;font-weight:900;color:var(--accent)}h1{font-size:21px;margin:0}p{margin:4px 0;color:var(--muted)}.topActions,.presentControls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.fileBtn input{display:none}.workspace{height:calc(100vh - 72px);display:grid;grid-template-columns:220px minmax(680px,1fr) 360px;transition:.2s}.panelCollapsed .workspace{grid-template-columns:220px minmax(680px,1fr) 0px}.leftPanel,.rightPanel{background:var(--panel);border-right:1px solid var(--line);padding:14px;overflow:auto}.rightPanel{border-left:1px solid var(--line);border-right:none;transition:.2s}.panelCollapsed .rightPanel{padding:0;border-left:0;overflow:hidden}.panelSection{margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}.panelSection h2{font-size:13px;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin:0 0 10px}.pagesHeader{display:flex;align-items:center;justify-content:space-between}.addPageBtn{width:42px;height:42px;font-size:24px;line-height:18px;color:var(--accent)}#pageList{display:flex;flex-direction:column;gap:10px}.pageCard{border:1px solid var(--line);background:#20252c;border-radius:14px;padding:10px;cursor:pointer;display:grid;grid-template-columns:54px 1fr;gap:10px;position:relative}.pageCard.active{border-color:var(--accent);box-shadow:0 0 0 1px rgba(0,96,168,.22)}.pageThumb{height:38px;border:1px solid rgba(245,246,247,.35);background:#177245;border-radius:5px}.pageCard.cover .pageThumb{background:#111315}.pageCard.overview .pageThumb{background:linear-gradient(135deg,#25282E,#1B1D21)}.pageCard.notes .pageThumb{background:#25282E}.pageCard.image .pageThumb{background:#0f172a}.pageMeta strong{display:block;font-size:13px}.pageMeta span{display:block;color:var(--muted);font-size:11px;margin-top:4px;text-transform:capitalize}.pageActions{grid-column:1/3;display:none;gap:5px;flex-wrap:wrap}.pageCard.active .pageActions{display:flex}.pageActions button{padding:5px 7px;border-radius:7px;font-size:11px}.canvasArea{display:flex;flex-direction:column;min-width:0;background:#0a0d10;position:relative}.toolsTray{height:auto;min-height:58px;background:#12161b;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:center;padding:8px 12px;overflow:visible;z-index:30}.toolsHidden .toolsTray{display:none}.toolGroup{position:relative;display:flex;gap:8px;align-items:center}.toolCategory{background:#151a20;color:var(--accent);min-width:110px}.toolDrop{display:none;position:absolute;top:44px;left:0;z-index:50;background:#161b21;border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,.55);padding:10px;gap:7px;min-width:180px}.dropdownGroup:hover .toolDrop{display:grid}.formationDrop{min-width:220px}.formationDrop label{margin-bottom:6px}.formationDrop select{width:100%;margin-top:5px;background:#0b1220;color:var(--text);border:1px solid var(--line);border-radius:9px;padding:9px}.toolBtn.mini,.mini,.formationBtn{padding:8px 10px;font-size:12px}.wideBtn{width:100%;margin-bottom:12px}.canvasToolbar{height:52px;background:#101419;border-bottom:1px solid var(--line);display:flex;gap:8px;align-items:center;padding:8px 12px;overflow:auto}.canvasToolbar label{display:flex;align-items:center;gap:8px;margin:0;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}#pitchCanvas{flex:1;display:grid;place-items:center;overflow:hidden;padding:22px}.konvajs-content{box-shadow:0 22px 70px rgba(0,0,0,.42);border-radius:12px}#timeline{height:76px;background:#080b0f;border-top:1px solid var(--line);display:flex;align-items:center;gap:8px;padding:10px;overflow:auto}.frameChip{min-width:98px;border:1px solid var(--line);border-radius:12px;padding:12px;text-align:center;background:var(--panel);cursor:pointer;font-weight:900}.frameChip.active{border-color:var(--accent);color:var(--accent)}label{display:block;color:var(--muted);font-size:12px;font-weight:800;margin-bottom:10px;text-transform:uppercase;letter-spacing:.04em}input,textarea{width:100%;margin-top:5px;background:#0b1220;color:var(--text);border:1px solid var(--line);border-radius:9px;padding:10px;text-transform:none;letter-spacing:0}input[type=color]{height:42px;padding:3px}textarea{min-height:82px;resize:vertical}.inlineFields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.blockCard{border:1px solid var(--line);background:#111821;border-radius:12px;padding:10px;margin-bottom:10px}.blockCard h3{margin:0 0 8px;font-size:14px}.inspectorActions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.muted{color:var(--muted)}.hidden{display:none!important}.popover{position:fixed;z-index:80;background:#161b21;border:1px solid var(--line);box-shadow:0 20px 60px rgba(0,0,0,.45);border-radius:14px;padding:8px;display:grid;gap:6px;min-width:210px}.popover button{text-align:left;background:transparent;border:0;border-radius:8px}.popover button:hover{background:#222833}.pageSurface{flex:1;margin:22px;border:1px solid var(--line);border-radius:18px;background:#101419;overflow:auto;box-shadow:0 22px 70px rgba(0,0,0,.35)}.coverPage{min-height:100%;position:relative;background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:56px}.coverControls{position:absolute;top:18px;right:18px}.coverText{width:min(780px,80%);display:grid;gap:14px}.coverTitleInput{font-size:58px;line-height:1;font-weight:950;letter-spacing:-.05em;background:transparent;border:0;padding:0;color:var(--text)}.coverSubtitleInput{font-size:24px;background:transparent;border:0;padding:0;color:var(--muted)}.coverMetaInput{font-size:16px;background:transparent;border:0;padding:0;color:var(--accent);font-weight:900;text-transform:uppercase;letter-spacing:.14em}.overviewPage{padding:34px;display:grid;gap:22px}.overviewHero input{font-size:42px;font-weight:950;letter-spacing:-.04em;background:transparent;border:0;padding:0}.overviewHero textarea{font-size:18px;min-height:54px;background:transparent;border:0;padding:0;color:var(--muted)}.overviewMetaGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.overviewBlocksHead{display:flex;justify-content:space-between;align-items:center}.overviewBlocksHead h2{margin:0;color:var(--accent);text-transform:uppercase;font-size:13px;letter-spacing:.16em}.overviewBlocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.overviewBlockCard{border:1px solid var(--line);border-radius:16px;background:#171c22;padding:14px}.overviewBlockCard strong{display:block;margin-bottom:10px}.overviewBlockCard strong input{font-size:18px;font-weight:900;background:transparent;border:0;padding:0}.overviewBlockGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.blockActions{display:flex;gap:8px;margin-top:10px}.notesPage{padding:44px;display:grid;gap:18px}.notesPage h2{font-size:42px;margin:0}.notesPage textarea{min-height:520px;font-size:20px;line-height:1.55;background:#111821}.presentToggle{display:flex;align-items:center;gap:6px;margin:0}.presentToggle input{width:auto;margin:0}#presentationOverlay{position:fixed;inset:0;background:#05070a;z-index:50;padding:22px}.presentationHeader{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:16px;gap:20px}.presentationHeader.infoOff>div:first-child{display:none}.presentationBody{height:calc(100vh - 120px);display:grid;grid-template-columns:minmax(700px,1fr) 360px;gap:20px;padding-top:20px}.presentationBody.notesOff{grid-template-columns:1fr}.presentationBody.notesOff #presentCanvas .konvajs-content{transform:scale(1.07)}#presentCanvas{display:grid;place-items:center}#presentTimeline{height:42px;margin-top:10px;border:1px solid var(--line);border-radius:10px;display:grid;place-items:center;background:#080b10;color:var(--accent);font-weight:800}.presentNotes{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;overflow:auto}.presentSurface{height:100%;border-radius:18px;overflow:hidden;background:#101419}.presentCover{height:100%;background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:flex-end;padding:60px}.presentCover h1{font-size:72px;letter-spacing:-.06em;max-width:900px}.presentCover h2{font-size:26px;color:var(--muted);font-weight:600}.presentCover p{color:var(--accent);font-weight:900;text-transform:uppercase;letter-spacing:.18em}.presentOverview{padding:48px}.presentOverview h1{font-size:56px;letter-spacing:-.05em}.presentMeta{display:flex;gap:12px;margin:24px 0;flex-wrap:wrap}.presentMeta span{border:1px solid var(--line);border-radius:999px;padding:10px 14px;color:var(--accent);font-weight:900}.presentBlockGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.presentBlockGrid div{border:1px solid var(--line);background:#151a20;border-radius:16px;padding:18px}.presentBlockGrid strong,.presentBlockGrid span,.presentBlockGrid small{display:block}.presentBlockGrid span{color:var(--accent);font-weight:900;margin:8px 0}.presentNotesPage{padding:54px}.presentNotesPage h1{font-size:56px}.presentNotesPage p{font-size:24px;line-height:1.55;color:var(--text);white-space:pre-wrap}@media print{.topbar,.leftPanel,.toolsTray,.canvasToolbar,#timeline,.rightPanel button,.presentControls{display:none}.workspace{display:block}.rightPanel{display:block}.canvasArea{page-break-after:always}}
.toolHint{font-size:11px;color:var(--muted);max-width:150px;line-height:1.25;padding:6px 4px}
body.objectSelected #sessionPanel, body.objectSelected #blockPanel{display:none}
.imagePage{min-height:100%;position:relative;display:grid;place-items:center;padding:34px;background:#101419}
.imagePageControls{position:absolute;top:18px;right:18px;display:flex;gap:10px;align-items:center;z-index:3}.imagePage img{max-width:100%;max-height:calc(100vh - 250px);border-radius:14px;box-shadow:0 20px 80px rgba(0,0,0,.45);border:1px solid var(--line)}.imageDropText{border:1px dashed var(--line);border-radius:18px;padding:80px 120px;color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.12em}.imageCaptionInput{position:absolute;left:34px;right:34px;bottom:34px;width:auto;background:rgba(11,18,32,.86)}
.imageReplaceRow{display:flex;gap:8px;align-items:center;margin-bottom:10px}.imageReplaceRow .fileBtn{width:100%;text-align:center}
/* V010 tightening: keep frames visible when tools are open */
.topbar{height:68px;padding:10px 18px}.workspace{height:calc(100vh - 68px)}.toolsTray{min-height:44px;padding:6px 12px}.toolCategory{min-width:105px;padding:8px 11px}.canvasToolbar{height:44px;padding:6px 12px}.canvasToolbar button{padding:8px 11px}.canvasToolbar label{font-size:11px}#pitchCanvas{padding:12px;align-content:center}#timeline{height:58px;padding:8px}.frameChip{min-width:86px;padding:9px 11px}.konvajs-content{max-width:100%;max-height:100%}
/* Object editing must show object controls only */
body.objectSelected #sessionPanel, body.objectSelected #blockPanel{display:none!important}
#exportAnimBtn{border-color:rgba(0,96,168,.38)}
.imageEditControls{position:absolute;left:34px;top:18px;display:flex;gap:14px;background:rgba(17,19,21,.78);border:1px solid var(--line);border-radius:12px;padding:9px 12px;z-index:3}.imageEditControls label{margin:0;display:flex;align-items:center;gap:8px}.imageEditControls input{width:120px;margin:0}
/* V012 targeted fixes */
.fieldTitleBar{height:44px;display:flex;align-items:center;padding:8px 22px;border-bottom:1px solid var(--line);background:#090c10}
.fieldTitleBar input{margin:0;background:transparent;border:0;color:var(--text);font-size:22px;font-weight:900;letter-spacing:-.03em;padding:0}
.pageType-field #sessionPanel,.pageType-field #blockPanel{display:none!important}
.objectSelected #pagePanel{display:none!important}
.pageType-cover #pagePanel,.pageType-overview #pagePanel,.pageType-image #pagePanel,.pageType-notes #pagePanel{display:none!important}
.imagePage{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;gap:12px;position:relative}
.imagePage img{max-height:70vh;object-fit:contain;border-radius:14px;box-shadow:0 18px 60px rgba(0,0,0,.35)}
.imageEditControls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;width:min(960px,100%)}
.imageEditControls label{min-width:180px;flex:1}
.imagePageControls{position:absolute;top:18px;right:18px;display:flex;gap:10px;align-items:center;z-index:2}
.toolsTray{min-height:50px;padding:6px 12px}.canvasToolbar{height:46px;padding:6px 12px}#pitchCanvas{padding:14px}.toolCategory{min-width:104px;padding:8px 10px}.toolDrop{top:39px}.frameChip{padding:10px;min-width:88px}#timeline{height:66px}
.presentationBody{height:calc(100vh - 112px)}
#presentCanvas{align-content:center}.presentSurface{min-height:100%}
/* V014 stabilisation pass */
.dropdownGroup:hover .toolDrop{display:none}
.dropdownGroup.open .toolDrop{display:grid}
.toolDrop{top:42px;pointer-events:auto}
.toolCategory.active{border-color:var(--accent);color:var(--accent)}
.speedPills{display:flex;gap:5px;align-items:center}.speedPills button{padding:7px 9px;border-radius:9px;font-size:11px}.speedPills button.active{border-color:var(--accent);color:var(--accent)}
.pageType-cover:not(.objectSelected) #rightPanel .panelSection{display:none!important}.pageType-cover:not(.objectSelected) #rightPanel{background:transparent}
.coverColourControls{position:absolute;top:18px;left:18px;display:flex;gap:10px;align-items:center;z-index:4;background:rgba(17,19,21,.72);border:1px solid var(--line);border-radius:12px;padding:8px 10px}.coverColourControls label{margin:0;display:flex;align-items:center;gap:6px}.coverColourControls input[type=color]{width:42px;height:32px;margin:0}
.imageToolbar{position:absolute;top:18px;left:18px;right:18px;display:flex;gap:10px;align-items:center;z-index:4;flex-wrap:wrap}.imageToolbar label{margin:0}.imagePage img{cursor:grab}.imagePage img:active{cursor:grabbing}
.pageType-image #sessionPanel,.pageType-image #blockPanel{display:none!important}
/* V016 targeted fixes */
.coverPage{align-items:stretch;padding:0;}
.coverText{position:absolute;width:min(780px,80%);}
.coverMoveHandle{display:inline-block;margin-bottom:12px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:rgba(17,19,21,.72);color:var(--accent);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;cursor:grab;user-select:none;}
.coverMoveHandle:active{cursor:grabbing;}
.blockInfoPage{padding:44px;display:grid;gap:22px;}
.blockInfoPage h1{font-size:50px;letter-spacing:-.05em;margin:0;}
.blockInfoTop{max-width:360px;}
.blockInfoTop select{width:100%;margin-top:5px;background:#0b1220;color:var(--text);border:1px solid var(--line);border-radius:9px;padding:10px;}
.blockInfoMeta{display:flex;gap:10px;flex-wrap:wrap;}
.blockInfoMeta span{border:1px solid var(--line);border-radius:999px;padding:9px 13px;color:var(--accent);font-weight:900;}
.blockInfoGrid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:16px;}
.blockInfoGrid section{background:#151a20;border:1px solid var(--line);border-radius:16px;padding:18px;}
.blockInfoGrid h2{margin:0 0 10px;color:var(--accent);font-size:12px;text-transform:uppercase;letter-spacing:.14em;}
.blockInfoGrid p{white-space:pre-wrap;color:var(--text);line-height:1.5;}
.pageType-blockInfo #pagePanel{display:none!important;}
/* V018 final workspace/premium object controls */
.sectionEditorHeader{display:flex;align-items:center;justify-content:space-between;margin-top:14px;border-top:1px solid #31353c;padding-top:12px}
.sectionEditorHeader h3{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent)}
.sectionEditorList{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.sectionEditRow{border:1px solid #31353c;background:#20242a;border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:8px}
.sectionEditRow.hiddenSection{opacity:.55}
.sectionEditTop{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center}
.sectionEditTop input[data-label]{min-width:0;background:#111315;border:1px solid #31353c;color:#f5f6f7;border-radius:8px;padding:7px 8px;font-weight:800}
.sectionVisible{display:flex!important;align-items:center;gap:6px;margin:0!important;color:#9aa1ac;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.sectionEditRow textarea{min-height:70px;resize:vertical}
.sectionEditTop button,.sectionEditorHeader button{background:#25282e;border:1px solid #31353c;color:#f5f6f7;border-radius:8px;padding:6px 8px;font-weight:800;cursor:pointer}
.sectionEditorHeader button{color:#111315;background:var(--accent);border-color:var(--accent)}

/* V020 presentation lock: true present shows content only, keyboard controls only */
#presentationOverlay.truePresent{padding:0;background:#05070a;}
#presentationOverlay.truePresent .presentationHeader{display:none!important;}
#presentationOverlay.truePresent #presentTimeline{display:none!important;}
#presentationOverlay.truePresent .presentationBody{height:100vh;padding:24px;grid-template-columns:minmax(720px,1fr) 340px;gap:20px;}
#presentationOverlay.truePresent .presentationBody.notesOff{grid-template-columns:1fr;}
#presentationOverlay.truePresent #presentCanvas{height:100%;display:grid;place-items:center;}
#presentationOverlay.truePresent #presentCanvas .konvajs-content{transform:scale(1.08);transform-origin:center center;}
#presentationOverlay.truePresent .presentSurface{height:100%;min-height:100%;}
#presentationOverlay.truePresent .presentNotes{max-height:calc(100vh - 48px);}
#presentationOverlay.truePresent .presentCover{height:100%;}
#presentationOverlay.truePresent .presentationBody.notesOff #presentCanvas .konvajs-content{transform:scale(1.15);}

/* V020 block info page editable replacement for right panel */
.blockInfoEditablePage{overflow:auto;}
.blockInfoEditorCard{background:#151a20;border:1px solid var(--line);border-radius:18px;padding:18px;display:grid;gap:12px;}
.blockInfoEditorCard label{margin:0;}
.blockInfoEditorCard input,.blockInfoEditorCard textarea{background:#111315;}


/* V020 lock-pass fixes */
.blockInfoPage{padding:22px 34px 34px;max-height:calc(100vh - 150px);overflow:auto;align-content:start;}
.blockInfoEditorCard{max-width:100%;}
.blockInfoEditablePage .sectionEditorList{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:12px;align-items:start;}
.blockInfoEditablePage .sectionEditRow textarea{min-height:68px;}
.blockInfoEditablePage .sectionEditTop{gap:8px;}
.blockInfoTop{max-width:420px;}
.konvajs-content{touch-action:none;}

/* V021 targeted lock repairs */
.presentOverviewLocked{padding:48px;display:grid;gap:22px;align-content:start;height:100%;}
.presentOverviewLocked .overviewHero h1{font-size:56px;letter-spacing:-.05em;margin:0;}
.presentOverviewLocked .overviewHero p{font-size:20px;color:var(--muted);}
.presentOverviewLocked .overviewMetaGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.presentOverviewLocked .overviewMetaGrid>div{border:1px solid var(--line);background:#151a20;border-radius:14px;padding:14px;}
.presentOverviewLocked .overviewMetaGrid strong{display:block;color:var(--muted);text-transform:uppercase;font-size:12px;letter-spacing:.08em;margin-bottom:8px;}
.presentOverviewLocked .overviewMetaGrid span{color:var(--accent);font-weight:900;}
.presentOverviewLocked h2{margin:0;color:var(--accent);text-transform:uppercase;font-size:13px;letter-spacing:.16em;}
.presentOverviewLocked .overviewBlockCard{min-height:110px;}
.blockInfoPage{padding:18px 28px 28px!important;max-height:calc(100vh - 128px)!important;overflow:auto!important;}
.blockInfoEditablePage .sectionEditorList{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;}
.blockInfoEditablePage .sectionEditRow textarea{min-height:60px!important;}


/* V022 final correction pass */
.lineValue{display:inline-block;margin-top:6px;color:var(--accent);font-weight:900;}
.presentOverviewEditorMatch{height:100%;align-content:start;padding:52px;}
.presentOverviewEditorMatch .overviewHero h1{font-size:52px;line-height:1;letter-spacing:-.05em;margin:0 0 8px;}
.presentOverviewEditorMatch .overviewHero p{font-size:18px;color:var(--muted);margin:0;}
.presentOverviewEditorMatch .overviewMetaGrid>div{border:1px solid var(--line);background:#151a20;border-radius:14px;padding:14px;}
.presentOverviewEditorMatch .overviewMetaGrid strong{display:block;color:var(--muted);text-transform:uppercase;font-size:12px;letter-spacing:.08em;margin-bottom:8px;}
.presentOverviewEditorMatch .overviewMetaGrid span{color:var(--accent);font-weight:900;}
.presentOverviewEditorMatch .overviewBlockCard span,.presentOverviewEditorMatch .overviewBlockCard small{display:block;color:var(--muted);margin-top:4px;}
.presentOverviewEditorMatch .overviewBlockCard span{color:var(--accent);font-weight:900;}


/* V023 final targeted fixes */
#presentationOverlay.truePresent .presentSurface .presentOverviewEditorMatch{height:100%;width:100%;padding:34px;display:grid;gap:22px;align-content:start;}
#presentationOverlay.truePresent .presentSurface .presentOverviewEditorMatch .overviewHero h1{font-size:52px;line-height:1;letter-spacing:-.05em;margin:0 0 8px;}
#presentationOverlay.truePresent .presentSurface .presentOverviewEditorMatch .overviewBlocks{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}
#presentationOverlay.truePresent .presentSurface .presentOverviewEditorMatch .overviewBlockCard{min-height:auto;}

/* V024 source correction pass: present overview now uses the editor overview component at full scale. */
#presentationOverlay.truePresent .presentSurface .presentOverviewExact{
  height:100%;
  width:100%;
  padding:34px;
  display:grid;
  gap:22px;
  align-content:start;
}
#presentationOverlay.truePresent .presentSurface .presentOverviewExact .overviewHero input{
  font-size:52px;
  line-height:1;
}
#presentationOverlay.truePresent .presentSurface .presentOverviewExact input[readonly],
#presentationOverlay.truePresent .presentSurface .presentOverviewExact textarea[readonly]{
  pointer-events:none;
}
#presentationOverlay.truePresent .presentSurface .presentOverviewExact .overviewBlocks{
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}

/* V031 First Phase Studio homepage + brand */
.homeScreen{position:fixed;inset:0;z-index:90;background:radial-gradient(circle at top left,rgba(0,96,168,.12),transparent 34%),#080a0d;color:var(--text);display:none;overflow:auto;padding:38px}
.atHome .homeScreen{display:block}
.homeInner{width:min(1160px,100%);margin:0 auto;display:grid;gap:28px}
.homeHeader{min-height:230px;border:1px solid var(--line);background:linear-gradient(135deg,#14181e,#0c0f13);border-radius:28px;padding:38px;display:flex;align-items:flex-end;justify-content:space-between;box-shadow:0 30px 100px rgba(0,0,0,.42)}
.homeHeader h1{font-size:76px;line-height:.9;letter-spacing:-.075em;margin:10px 0 8px;font-weight:950}
.homeHeader p{font-size:19px;max-width:560px;color:#c4cbd4}
.homeKicker{color:var(--accent);font-size:13px;font-weight:950;text-transform:uppercase;letter-spacing:.18em}
.homeBrandMark{width:84px;height:84px;border:2px solid var(--accent);border-radius:24px;display:grid;place-items:center;color:var(--accent);font-weight:950;font-size:28px;box-shadow:0 0 44px rgba(0,96,168,.14)}
.workflowGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.workflowCard{height:190px;text-align:left;border-radius:24px;background:#171b21;border:1px solid var(--line);padding:22px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;transition:.18s;white-space:normal}
.workflowCard:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 24px 70px rgba(0,0,0,.36)}
.workflowCard span{color:var(--accent);font-size:12px;font-weight:950;letter-spacing:.18em}
.workflowCard strong{font-size:28px;letter-spacing:-.04em;text-transform:uppercase}
.workflowCard small{color:var(--muted);font-size:14px;font-weight:850}
.homeSplit{display:grid;grid-template-columns:1.4fr .9fr;gap:18px;align-items:start}
.homePanel{border:1px solid var(--line);background:#11151a;border-radius:24px;padding:20px;min-height:220px}
.homePanelHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.homePanel h2{font-size:12px;line-height:1;margin:0;color:var(--accent);text-transform:uppercase;letter-spacing:.16em}
.homePanelHead button{padding:7px 9px;font-size:11px;border-radius:9px;background:#151a20;color:var(--muted)}
.recentList{display:grid;gap:9px}
.recentProject{width:100%;text-align:left;background:#1a1f26;border:1px solid var(--line);border-radius:15px;padding:14px 15px;display:grid;gap:4px}
.recentProject strong{font-size:15px}.recentProject span,.emptyRecent{color:var(--muted);font-size:12px}.emptyRecent{border:1px dashed var(--line);border-radius:16px;padding:24px;line-height:1.5;text-align:center}
.templateGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.templateGrid > button{height:74px;background:#1a1f26;border-radius:15px;text-align:left;color:var(--text)}
.projectMode-tactical #sessionPanel,.projectMode-tactical #blockPanel,.projectMode-player #sessionPanel,.projectMode-player #blockPanel{display:none!important}
.projectMode-tactical #pagePanel,.projectMode-player #pagePanel{display:block}
@media(max-width:980px){.homeScreen{padding:22px}.homeHeader{min-height:190px;padding:28px}.homeHeader h1{font-size:52px}.workflowGrid{grid-template-columns:1fr 1fr}.homeSplit{grid-template-columns:1fr}}


/* V031 First Phase Studio brand/logo + homepage refinements */
.s4Logo{position:relative;display:block;flex:0 0 auto;width:52px;height:52px;border-radius:14px;background:linear-gradient(145deg,#151a20,#090c10);box-shadow:inset 0 0 0 1px rgba(245,247,250,.07),0 18px 45px rgba(0,0,0,.35)}
.s4Logo:before,.s4Logo:after,.s4Logo span:before{content:"";position:absolute;display:block;transform:skewX(-16deg);border-radius:2px;}
.s4Logo:before{width:14px;height:44px;left:14px;top:5px;background:linear-gradient(180deg,#fff,#c8d0da);transform:skewX(-33deg) rotate(35deg);transform-origin:center;}
.s4Logo:after{width:27px;height:11px;left:20px;bottom:10px;background:linear-gradient(135deg,#0060A8,#0060A8);}
.s4Logo span:before{width:10px;height:34px;left:29px;top:13px;background:linear-gradient(180deg,#f8fafc,#aab3c0);transform:skewX(0deg);}
.homeLogo{width:94px;height:94px;border-radius:26px;}
.homeLogo:before{width:25px;height:80px;left:26px;top:7px;border-radius:3px;}
.homeLogo:after{width:48px;height:18px;left:36px;bottom:18px;border-radius:3px;}
.homeLogo span:before{width:17px;height:58px;left:54px;top:24px;border-radius:3px;}
.appLogo{width:44px;height:44px;border-radius:12px;}
.appLogo:before{width:12px;height:36px;left:12px;top:4px;}.appLogo:after{width:23px;height:9px;left:17px;bottom:9px}.appLogo span:before{width:8px;height:28px;left:25px;top:11px}
.homeHeader{background:radial-gradient(circle at 80% 10%,rgba(0,96,168,.10),transparent 30%),linear-gradient(135deg,#14181e,#0b0e12)!important;}
.homeHeader h1{letter-spacing:-.055em;}
.homePanel{max-height:310px;overflow:hidden;display:flex;flex-direction:column;}
.recentList{max-height:226px;overflow:auto;padding-right:4px;align-content:start;}
.recentList::-webkit-scrollbar,.templateGrid::-webkit-scrollbar{width:8px}.recentList::-webkit-scrollbar-thumb,.templateGrid::-webkit-scrollbar-thumb{background:#2c3440;border-radius:999px}
.templateGrid{max-height:226px;overflow:auto;padding-right:4px;}
.panelActions{display:flex;gap:8px;align-items:center;}
.templateGrid button{display:grid;gap:4px;align-content:center;white-space:normal;}
.templateGrid button small{display:block;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;}
.templateGrid button.savedTemplate{border-color:rgba(0,96,168,.36);}
.homePanelHead button:hover{color:var(--accent);border-color:var(--accent)}
body.atHome #appShell{filter:blur(0px);}

/* V032 Match/Tactical preparation pages */
.matchOverviewPage,.lineupPage,.responsibilityPage,.keyPointsPage{min-height:100%;padding:28px;display:grid;gap:18px;align-content:start;background:#101419}.matchMetaGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.overviewTextGrid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:14px}.overviewTextGrid textarea{min-height:170px}.lineupControls{display:grid;grid-template-columns:2fr 1fr 1fr repeat(5,auto);gap:10px;align-items:end}.lineupControls select{width:100%;margin-top:5px;background:#0b1220;color:var(--text);border:1px solid var(--line);border-radius:9px;padding:10px}.lineupBody{display:grid;grid-template-columns:minmax(420px,1fr) 520px;gap:18px;min-height:640px}.verticalPitch{position:relative;min-height:640px;border:2px solid rgba(245,247,250,.75);border-radius:18px;background:linear-gradient(180deg,var(--pitch,#0f6c42),color-mix(in srgb,var(--pitch,#0f6c42) 72%,#000));overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15),0 20px 70px rgba(0,0,0,.35)}.verticalPitch:before{content:"";position:absolute;left:8%;right:8%;top:0;height:23%;border:2px solid rgba(255,255,255,.58);border-top:0}.verticalPitch:after{content:"";position:absolute;left:36%;right:36%;top:0;height:8%;border:2px solid rgba(255,255,255,.58);border-top:0}.lineupPitch{background-image:linear-gradient(90deg,rgba(255,255,255,.045) 50%,transparent 50%);background-size:80px 80px}.lineupMarker{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;gap:6px;min-width:110px}.playerDisc{width:54px;height:54px;border-radius:999px;background:var(--kit);border:3px solid #f5f7fa;display:grid;place-items:center;color:var(--numText);font-weight:950;box-shadow:0 10px 28px rgba(0,0,0,.36);overflow:hidden}.playerDisc img{width:100%;height:100%;object-fit:cover}.playerTag{max-width:140px;background:rgba(8,11,15,.82);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:6px 10px;color:var(--tagText,#f5f7fa);font-weight:900;font-size:12px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lineupRoster{display:flex;flex-direction:column;gap:8px;overflow:auto;max-height:640px;padding-right:4px}.lineupRow{display:grid;grid-template-columns:28px 48px 1fr 72px auto auto;gap:7px;align-items:center;background:#151a20;border:1px solid var(--line);border-radius:12px;padding:8px}.lineupRow strong{color:var(--accent);font-size:12px}.lineupRow input{margin:0;padding:8px}.lineupRow button,.lineupRow .fileBtn{padding:8px 9px;font-size:11px}.sectionDividerPage{min-height:100%;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--dividerAccent,#0060A8) 20%,transparent),transparent 42%),var(--dividerBg,#080b0f);text-align:center;position:relative}.sectionDividerPage input{width:min(900px,86%);background:transparent;border:0;text-align:center;color:var(--dividerText,#f5f7fa);font-size:82px;font-weight:900;letter-spacing:-.04em;text-transform:uppercase}.dividerControls{position:absolute;top:18px;right:18px;display:flex;gap:10px;background:rgba(8,11,15,.7);border:1px solid var(--line);border-radius:12px;padding:8px}.dividerControls label{margin:0}.dividerControls input{width:42px;height:32px;margin:0;padding:2px}.sectionDividerPage p{display:none}.responsibilityHead{display:flex;justify-content:space-between;align-items:center}.responsibilityHead h1,.keyPointsPage h1{font-size:52px;letter-spacing:-.05em;margin:0}.responsibilityList{display:grid;gap:10px}.responsibilityRow{display:grid;grid-template-columns:220px 1fr 1fr auto;gap:10px;align-items:start;background:#151a20;border:1px solid var(--line);border-radius:14px;padding:12px}.responsibilityRow select{width:100%;background:#0b1220;color:var(--text);border:1px solid var(--line);border-radius:9px;padding:10px}.responsibilityRow textarea{min-height:86px;margin:0}.keyPointList{display:grid;gap:12px}.keyPointList label{display:grid;grid-template-columns:54px 1fr;gap:12px;align-items:start;background:#151a20;border:1px solid var(--line);border-radius:16px;padding:14px;font-size:30px;color:var(--accent)}.keyPointList textarea{min-height:100px;font-size:18px}.pageCard.lineup .pageThumb{background:linear-gradient(180deg,#0f6c42,#0b5132)}.pageCard.sectionDivider .pageThumb{background:#05070a}.pageCard.matchOverview .pageThumb,.pageCard.responsibilities .pageThumb,.pageCard.keyPoints .pageThumb{background:#1b2636}
@media(max-width:1200px){.lineupBody{grid-template-columns:1fr}.lineupControls{grid-template-columns:repeat(2,minmax(0,1fr))}.matchMetaGrid,.overviewTextGrid{grid-template-columns:1fr}.responsibilityRow{grid-template-columns:1fr}.lineupRoster{max-height:none}.sectionDividerPage input{font-size:48px}}

.nonSessionMode #sessionPanel,.nonSessionMode #blockPanel{display:none!important}
.sectionMiniControls{display:flex;gap:8px;align-items:center;margin-bottom:8px}.sectionMiniControls input{margin:0}.sectionMiniControls button{padding:7px 9px;font-size:11px}.overviewSectionToolbar{display:flex;justify-content:flex-end}

/* V034 precision pass: media/split layouts, text-box support, lineup export polish */
.mediaPage{min-height:100%;padding:24px;display:grid;grid-template-rows:auto 1fr auto;gap:14px;background:#101419}
.pageLayoutBar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:rgba(8,11,15,.62);border:1px solid var(--line);border-radius:14px;padding:10px;position:sticky;top:0;z-index:3}
.pageLayoutBar input{max-width:320px;margin:0;background:#0b1220}.pageLayoutBar button.active{border-color:var(--accent);color:var(--accent)}
.mediaCanvas{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;min-height:560px;align-items:stretch}.mediaPanel{display:grid;place-items:center;background:#0b1118;border:1px solid var(--line);border-radius:18px;padding:20px;overflow:hidden}.mediaPanel img{max-width:100%;max-height:70vh;object-fit:contain;border-radius:14px;box-shadow:0 20px 70px rgba(0,0,0,.4)}.mediaNotesBox{min-height:100%;font-size:20px;line-height:1.45;background:#111821;border-radius:18px;padding:22px}.mediaPage.layout-full .mediaCanvas{grid-template-columns:1fr}.mediaPage.layout-full .mediaNotesBox{display:none}.mediaPage.layout-notes .mediaCanvas{grid-template-columns:1fr}.mediaPage.layout-notes .mediaPanel{display:none}.inlineMediaTools{position:static!important;background:rgba(8,11,15,.55);border:1px solid var(--line);border-radius:12px;padding:8px 10px}.inlineMediaTools label{margin:0}.inlineMediaTools input{margin:0}
.lineupPage{background:var(--lineupPage,#101419)}.lineupBody{background:var(--lineupPage,#101419)}.lineupControls{grid-template-columns:2fr 1fr 1fr repeat(8,auto)!important}.lineupPitch{min-height:700px}.lineupMarker{min-width:124px}.playerDisc{background:var(--photoBg,#0B1220);border-color:var(--tagBorder,#fff)}.playerDisc span{display:grid;place-items:center;width:100%;height:100%;border-radius:999px;background:var(--kit);color:var(--numText)}.playerTag{background:var(--tag,#111315)!important;border-color:var(--tagBorder,rgba(255,255,255,.35))!important;color:var(--tagText,#f5f7fa)!important}.lineupRoster{max-height:700px}.lineupRow{grid-template-columns:28px 48px 1fr 78px auto auto}.lineupRow input[placeholder="Name"]{min-width:130px}
.sectionDividerPage{background-size:cover!important;background-position:center!important}.sectionDividerPage:after{content:"";position:absolute;left:12%;right:12%;bottom:22%;height:2px;background:var(--dividerAccent,#0060A8);opacity:.85}.dividerControls{left:18px;right:18px;justify-content:flex-end;align-items:center}.dividerControls input[type=range]{width:120px;height:auto}.dividerControls .fileBtn{padding:8px 10px}
.responsibilityHead{display:grid;grid-template-columns:1fr auto auto;gap:10px}.responsibilityHead input,.pageTitleInput{font-size:52px;letter-spacing:-.05em;font-weight:950;background:transparent;border:0;color:var(--text);padding:0}.respColumnControls{display:flex;gap:10px;flex-wrap:wrap}.respColumnControls label{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:12px;padding:8px;background:#151a20;margin:0}.respColumnControls input[type=checkbox]{width:auto;margin:0}.respColumnControls input:not([type=checkbox]){width:150px;margin:0}.keyPointList label{grid-template-columns:90px 1fr auto}.keyPointList label input{font-size:22px;font-weight:950;color:var(--accent);background:transparent;border:0;margin:0}.keyPointList button{align-self:start}
@media print{.pageLayoutBar,.inlineMediaTools,.dividerControls,.lineupControls,.lineupRoster,.respColumnControls,.responsibilityHead button,.keyPointsPage button{display:none!important}.lineupBody{display:block}.lineupPitch{min-height:920px}.mediaCanvas{min-height:720px}.sectionDividerPage{page-break-after:always}}

/* V035 tidy pass: lineup presentation/export, split panels, page menu ordering */
.lineupControls{
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:8px!important;
  align-items:end;
}
.lineupControls label:nth-child(1){grid-column:span 3}
.lineupControls label:nth-child(2),.lineupControls label:nth-child(3){grid-column:span 2}
.lineupControls label:not(:nth-child(1)):not(:nth-child(2)):not(:nth-child(3)){grid-column:span 1}
.lineupControls input[type=color]{width:46px;min-width:46px}
.lineupBody{grid-template-columns:minmax(480px,0.95fr) minmax(420px,0.7fr);align-items:start;}
.verticalPitch{aspect-ratio:0.72;min-height:0;height:min(720px,calc(100vh - 250px));max-height:760px;width:100%;max-width:620px;margin:0 auto;}
.lineupPitch{background-size:64px 64px;}
.lineupMarker{min-width:96px;gap:4px;}
.playerDisc{width:48px;height:48px;}
.playerTag{font-size:11px;padding:5px 9px;}
.lineupRoster{max-height:calc(100vh - 250px);}
.lineupRow{grid-template-columns:24px 42px minmax(96px,1fr) 66px auto auto;font-size:12px;}
.presentLineupPage{height:100%;min-height:100%;display:grid!important;grid-template-rows:auto 1fr;gap:18px;padding:28px 42px!important;align-content:stretch!important;place-items:center;background:var(--lineupPage,#101419)!important;overflow:hidden;}
.presentLineupPage h1{justify-self:start;margin:0;font-size:42px;letter-spacing:-.04em;}

.mediaCanvas.onePanel{grid-template-columns:1fr!important;}
.splitPanel{display:grid;grid-template-rows:auto 1fr;gap:8px;min-width:0;}
.splitPanel.active>.mediaPanel{border-color:var(--accent);box-shadow:0 0 0 1px rgba(0,96,168,.25)}
.splitPanelToolbar{display:flex;gap:8px;align-items:center;background:#0b1118;border:1px solid var(--line);border-radius:12px;padding:8px;}
.splitPanelToolbar select{background:#0b1220;color:var(--text);border:1px solid var(--line);border-radius:9px;padding:8px;min-width:130px;}
.splitPanelToolbar button.active{border-color:var(--accent);color:var(--accent)}

@media print{
  .lineupMarker{transform:translate(-50%,-50%) scale(.95)}
}

/* V036A stabilisation: no mock tactical board in split/media pages */

/* V036A stabilisation: split pages are media/notes only until real canvas slots exist */
.mediaPage .mediaCanvas{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;}
.mediaPanel{min-height:520px;}

/* V036A stabilisation: lineup editor and presentation share the same markup */
.lineupPageReadonly{height:100%;min-height:100%;display:grid!important;grid-template-rows:1fr;align-items:center;justify-items:center;padding:24px!important;background:var(--lineupPage,#101419)!important;overflow:hidden;}
.lineupPageReadonly .lineupBody{display:grid!important;grid-template-columns:1fr!important;place-items:center;width:100%;height:100%;background:var(--lineupPage,#101419)!important;}
.lineupPageReadonly .lineupPitchReadonly{height:min(calc(100vh - 92px),860px)!important;width:auto!important;max-width:min(78vw,700px)!important;aspect-ratio:.72!important;min-height:620px!important;margin:auto!important;}
.lineupPageReadonly .lineupMarker{transform:translate(-50%,-50%) scale(1)!important;}
.lineupPageReadonly .playerDisc{width:54px!important;height:54px!important;}
.lineupPageReadonly .playerTag{font-size:12px!important;max-width:145px!important;}

/* V036A stabilisation: media/split is a page surface, not an object-inspector page */
.pageType-image #rightPanel{background:transparent;}


/* V036B Split Present pass: render current media/split pages in present mode */
#presentationOverlay.truePresent .presentSurface .presentMediaPage{
  height:100%;
  width:100%;
  padding:32px;
  display:grid;
  grid-template-rows:auto 1fr;
  gap:18px;
  overflow:hidden;
}
#presentationOverlay.truePresent .presentSurface .presentMediaTitle{
  font-size:28px;
  font-weight:950;
  letter-spacing:-.04em;
  color:var(--text);
}
#presentationOverlay.truePresent .presentSurface .presentMediaPage .mediaCanvas{
  min-height:0;
  height:100%;
}
#presentationOverlay.truePresent .presentSurface .presentMediaPanel{
  display:grid;
  place-items:center;
  min-height:0;
  background:#0b1118;
  border:1px solid var(--line);
  border-radius:18px;
  padding:22px;
  overflow:hidden;
}
#presentationOverlay.truePresent .presentSurface .presentMediaPanel img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  border-radius:14px;
  box-shadow:0 20px 70px rgba(0,0,0,.4);
}
#presentationOverlay.truePresent .presentSurface .presentMediaPanel video{
  max-width:100%;
  max-height:100%;
}
#presentationOverlay.truePresent .presentSurface .readonlyNotes{
  width:100%;
  height:100%;
  white-space:pre-wrap;
  overflow:auto;
  font-size:22px;
  line-height:1.45;
  color:var(--text);
}

/* V036C lineup polish: cleaner editor controls + larger export/present half-field */
.lineupControls{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  align-items:stretch!important;
  background:rgba(8,11,15,.32);
  border:1px solid var(--line);
  border-radius:16px;
  padding:12px;
}
.lineupSetup{
  display:grid;
  grid-template-columns:minmax(220px,1.6fr) minmax(140px,.7fr) minmax(150px,.7fr) auto;
  gap:10px;
  align-items:end;
}
.lineupAppearance{
  display:grid;
  grid-template-columns:auto repeat(8,minmax(64px,1fr));
  gap:8px;
  align-items:end;
  border-top:1px solid rgba(245,247,250,.08);
  padding-top:10px;
}
.lineupAppearance>span{
  align-self:center;
  color:var(--accent);
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:11px;
}
.lineupControls label{margin:0;min-width:0;}
.lineupControls input[type=color]{width:100%!important;min-width:42px!important;height:34px!important;margin-top:5px;}
.lineupControls select,.lineupControls input:not([type=color]){height:38px;padding:8px 10px;}
.lineupControls .sectionVisible{display:flex!important;align-items:center;gap:8px;justify-content:center;height:38px;border:1px solid var(--line);border-radius:10px;background:#151a20;padding:0 10px;}
.lineupControls .sectionVisible input{width:auto;margin:0;}

.lineupBody{
  grid-template-columns:minmax(560px,1fr) minmax(420px,.72fr)!important;
  gap:18px!important;
}
.verticalPitch{
  aspect-ratio:.86!important;
  width:min(100%,760px)!important;
  max-width:760px!important;
  height:auto!important;
  min-height:640px!important;
  max-height:calc(100vh - 260px)!important;
}
.lineupPitch{background-size:58px 58px!important;}
.lineupMarker{min-width:104px!important;}
.playerDisc{width:52px!important;height:52px!important;}
.playerTag{font-size:11px!important;padding:5px 9px!important;max-width:132px!important;}
.lineupRoster{max-height:calc(100vh - 260px)!important;}

.lineupPageReadonly{
  height:100%;
  min-height:100%;
  display:grid!important;
  grid-template-rows:auto 1fr!important;
  gap:12px!important;
  align-items:stretch!important;
  justify-items:stretch!important;
  padding:28px 34px!important;
  background:var(--lineupPage,#101419)!important;
  overflow:hidden;
}
.lineupPresentTitle{
  margin:0!important;
  justify-self:start;
  align-self:start;
  font-size:clamp(32px,4vw,58px)!important;
  line-height:1!important;
  letter-spacing:-.055em!important;
}
.lineupPageReadonly .lineupBody{
  display:grid!important;
  grid-template-columns:1fr!important;
  place-items:center!important;
  width:100%!important;
  height:100%!important;
  background:var(--lineupPage,#101419)!important;
}
.lineupPageReadonly .lineupPitchReadonly{
  aspect-ratio:.86!important;
  width:min(92vw,980px)!important;
  max-width:980px!important;
  height:auto!important;
  min-height:min(680px,calc(100vh - 150px))!important;
  max-height:calc(100vh - 140px)!important;
  margin:auto!important;
}
.lineupPageReadonly .lineupMarker{transform:translate(-50%,-50%) scale(1.06)!important;}
.lineupPageReadonly .playerDisc{width:58px!important;height:58px!important;}
.lineupPageReadonly .playerTag{font-size:12px!important;max-width:152px!important;padding:6px 10px!important;}

@media(max-width:1280px){
  .lineupBody{grid-template-columns:1fr!important;}
  .lineupRoster{max-height:360px!important;}
  .lineupSetup{grid-template-columns:1fr 1fr;}
  .lineupAppearance{grid-template-columns:repeat(4,1fr);}
  .lineupAppearance>span{grid-column:1/-1;}
}
@media print{
  .lineupPageReadonly .lineupPitchReadonly,.lineupPitch{width:min(92vw,980px)!important;max-width:980px!important;height:auto!important;min-height:760px!important;}
  .lineupPresentTitle{font-size:46px!important;}
}

/* V036C2 lineup correction: football-first layout, compact controls, click-player photo workflow */
.lineupPage{
  padding:18px 22px 22px!important;
  gap:14px!important;
  min-height:100%!important;
  align-content:start!important;
  background:var(--lineupPage,#101419)!important;
  overflow:auto;
}
.lineupControlsCompact{
  display:grid!important;
  grid-template-columns:minmax(220px,1.4fr) minmax(140px,.7fr) minmax(140px,.7fr) auto auto!important;
  gap:10px!important;
  align-items:end!important;
  padding:10px 12px!important;
  border:1px solid var(--line)!important;
  border-radius:16px!important;
  background:rgba(8,11,15,.48)!important;
}
.lineupControlsCompact label{margin:0!important;min-width:0!important;}
.lineupControlsCompact input:not([type=color]),
.lineupControlsCompact select{height:36px!important;padding:7px 9px!important;margin-top:4px!important;}
.lineupControlsCompact .sectionVisible{height:36px!important;min-width:92px!important;justify-content:center!important;align-self:end!important;}
.lineupAppearanceDrawer{align-self:end;position:relative;z-index:6;}
.lineupAppearanceDrawer summary{
  height:36px;display:flex;align-items:center;justify-content:center;list-style:none;
  border:1px solid var(--line);border-radius:10px;background:#151a20;padding:0 13px;
  color:var(--accent);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;
}
.lineupAppearanceDrawer summary::-webkit-details-marker{display:none;}
.lineupAppearanceGrid{
  position:absolute;right:0;top:44px;width:420px;display:grid;grid-template-columns:repeat(4,1fr);gap:9px;
  padding:12px;border:1px solid var(--line);border-radius:14px;background:#11161d;box-shadow:0 24px 80px rgba(0,0,0,.52);
}
.lineupAppearanceGrid label{font-size:10px!important;margin:0!important;}
.lineupAppearanceGrid input[type=color]{width:100%!important;height:32px!important;min-width:0!important;margin-top:4px!important;}
.lineupBody{
  display:grid!important;
  grid-template-columns:minmax(560px,1fr) minmax(260px,320px)!important;
  gap:16px!important;
  align-items:start!important;
  min-height:0!important;
  background:var(--lineupPage,#101419)!important;
}
.verticalPitch.lineupPitch{
  width:100%!important;
  max-width:760px!important;
  height:min(calc(100vh - 210px),760px)!important;
  min-height:600px!important;
  aspect-ratio:.74!important;
  margin:0 auto!important;
  background:linear-gradient(180deg,var(--pitch,#177245),color-mix(in srgb,var(--pitch,#177245) 74%,#000))!important;
  background-color:var(--pitch,#177245)!important;
  background-image:linear-gradient(90deg,rgba(255,255,255,.045) 50%,transparent 50%)!important;
  background-size:58px 58px!important;
}
.lineupMarker{min-width:88px!important;gap:3px!important;}
.playerDisc{
  width:48px!important;height:48px!important;padding:0!important;border-radius:999px!important;
  background:var(--photoBg,#0B1220)!important;border:2px solid var(--tagBorder,#fff)!important;color:var(--numText)!important;
  display:grid!important;place-items:center!important;cursor:pointer!important;
}
.playerDisc span{background:var(--kit)!important;color:var(--numText)!important;border-radius:999px!important;width:100%!important;height:100%!important;display:grid!important;place-items:center!important;}
.playerDisc:hover{outline:2px solid var(--accent);outline-offset:2px;}
.playerTag{font-size:10.5px!important;padding:4px 8px!important;max-width:116px!important;}
.lineupRoster{
  max-height:min(calc(100vh - 210px),760px)!important;
  overflow:auto!important;padding-right:4px!important;gap:7px!important;
}
.lineupRow{
  grid-template-columns:22px 40px minmax(90px,1fr) 58px!important;
  gap:6px!important;padding:7px!important;border-radius:10px!important;font-size:11px!important;
}
.lineupRow input{padding:7px!important;font-size:11px!important;min-width:0!important;}
.lineupRow input[placeholder="Name"]{min-width:0!important;}
.lineupRow button,.lineupRow .fileBtn{display:none!important;}

/* Present/export lineup: pitch as slide hero, no tiny centred board */
.lineupPageReadonly{
  height:100%!important;min-height:100%!important;display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;gap:12px!important;
  padding:28px 36px!important;background:var(--lineupPage,#101419)!important;overflow:hidden!important;
  align-content:stretch!important;justify-items:center!important;
}
.lineupPresentTitle{
  justify-self:start!important;margin:0!important;font-size:46px!important;line-height:1!important;letter-spacing:-.045em!important;
}
.lineupPageReadonly .lineupBody{
  display:grid!important;grid-template-columns:1fr!important;width:100%!important;height:100%!important;
  place-items:center!important;background:var(--lineupPage,#101419)!important;min-height:0!important;
}
.lineupPageReadonly .lineupPitchReadonly{
  width:auto!important;height:min(calc(100vh - 128px),860px)!important;
  max-height:860px!important;max-width:min(80vw,980px)!important;min-height:0!important;
  aspect-ratio:.74!important;margin:0 auto!important;
  background-color:var(--pitch,#177245)!important;
}
.lineupPageReadonly .lineupMarker{transform:translate(-50%,-50%) scale(1.08)!important;}
.lineupPageReadonly .playerDisc{width:58px!important;height:58px!important;}
.lineupPageReadonly .playerTag{font-size:12px!important;max-width:150px!important;padding:6px 10px!important;}
@media(max-width:1200px){
  .lineupControlsCompact{grid-template-columns:1fr 1fr!important;}
  .lineupAppearanceDrawer{grid-column:1/-1;justify-self:start;}
  .lineupBody{grid-template-columns:1fr!important;}
  .lineupRoster{max-height:260px!important;}
  .lineupAppearanceGrid{left:0;right:auto;width:min(420px,90vw);}
}


/* V036C3 lineup geometry correction: true half-field proportions + photo simplification */
.lineupControlsCompact{
  grid-template-columns:minmax(220px,1.4fr) minmax(130px,.6fr) minmax(150px,.7fr) auto!important;
  gap:10px!important;
}
.lineupControlsCompact .sectionVisible{display:none!important;}
.lineupBody{
  grid-template-columns:minmax(680px,1fr) minmax(240px,300px)!important;
  gap:14px!important;
  align-items:start!important;
}
.verticalPitch.lineupPitch{
  width:min(100%,920px)!important;
  max-width:920px!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:1.34!important;
  margin:0 auto!important;
  background:linear-gradient(180deg,var(--pitch,#177245),color-mix(in srgb,var(--pitch,#177245) 72%,#000))!important;
  background-color:var(--pitch,#177245)!important;
  background-image:linear-gradient(90deg,rgba(255,255,255,.045) 50%,transparent 50%)!important;
  background-size:58px 58px!important;
}
.verticalPitch.lineupPitch:before{
  left:18%!important;right:18%!important;top:0!important;height:26%!important;
}
.verticalPitch.lineupPitch:after{
  left:40%!important;right:40%!important;top:0!important;height:10%!important;
}
.lineupMarker{min-width:82px!important;gap:3px!important;}
.playerDisc{background:var(--photoBg,#0B1220)!important;overflow:hidden!important;}
.playerDisc img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;background:var(--photoBg,#0B1220)!important;}
.playerDisc span{background:var(--kit)!important;}
.lineupRoster{max-height:calc(100vh - 260px)!important;}
.lineupPageReadonly{
  padding:30px 42px!important;
  grid-template-rows:auto minmax(0,1fr)!important;
}
.lineupPageReadonly .lineupBody{
  width:100%!important;height:100%!important;display:grid!important;place-items:center!important;
}
.lineupPageReadonly .lineupPitchReadonly{
  width:min(88vw,1180px)!important;
  max-width:1180px!important;
  height:auto!important;
  aspect-ratio:1.34!important;
  max-height:calc(100vh - 150px)!important;
  min-height:0!important;
}
.lineupPageReadonly .lineupMarker{transform:translate(-50%,-50%) scale(1.02)!important;}
.lineupPageReadonly .playerDisc{width:56px!important;height:56px!important;}
.lineupPageReadonly .playerTag{font-size:12px!important;max-width:150px!important;padding:6px 10px!important;}
@media(max-width:1200px){
  .lineupBody{grid-template-columns:1fr!important;}
  .lineupRoster{max-height:240px!important;}
  .verticalPitch.lineupPitch{width:100%!important;}
}

/* V036C5 lineup recovery: C3 functionality restored, controls moved out of page flow */
.lineupPageRecovered{
  min-height:100%;
  height:100%;
  padding:28px 30px!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  gap:14px!important;
  align-content:stretch!important;
  background:var(--lineupPage,#101419)!important;
  overflow:hidden!important;
}
.lineupPageRecovered .lineupPageHead{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  position:relative;
  z-index:20;
  min-height:52px;
}
.lineupPageRecovered .lineupPresentTitle{
  margin:0!important;
  font-size:44px!important;
  line-height:1!important;
  letter-spacing:-.055em!important;
}
.lineupSettingsDrawer{
  position:absolute;
  right:0;
  top:0;
  z-index:40;
  max-width:min(760px,72vw);
}
.lineupSettingsDrawer>summary{
  list-style:none;
  cursor:pointer;
  border:1px solid var(--line);
  background:#151a20;
  color:var(--accent);
  border-radius:12px;
  padding:10px 14px;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
  text-align:center;
}
.lineupSettingsDrawer>summary::-webkit-details-marker{display:none;}
.lineupSettingsDrawer[open]{background:#11161c;border:1px solid var(--line);border-radius:16px;padding:10px;box-shadow:0 25px 80px rgba(0,0,0,.55);}
.lineupSettingsDrawer[open]>summary{margin-bottom:10px;}
.lineupSettingsDrawer .lineupControlsCompact{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(120px,1fr))!important;
  gap:8px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.lineupSettingsDrawer .lineupControlsCompact label{margin:0!important;font-size:10px!important;min-width:0!important;}
.lineupSettingsDrawer .lineupControlsCompact input:not([type=color]),
.lineupSettingsDrawer .lineupControlsCompact select{height:34px!important;margin-top:4px!important;padding:7px 9px!important;}
.lineupSettingsDrawer .lineupControlsCompact input[type=color]{height:34px!important;width:100%!important;min-width:0!important;margin-top:4px!important;}
.lineupPageRecovered .lineupBody{
  min-height:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 260px!important;
  gap:18px!important;
  align-items:stretch!important;
  background:var(--lineupPage,#101419)!important;
}
.lineupPageRecovered .verticalPitch.lineupPitch{
  width:100%!important;
  height:100%!important;
  max-height:calc(100vh - 185px)!important;
  aspect-ratio:1.42!important;
  min-height:0!important;
  max-width:1120px!important;
  justify-self:center!important;
  align-self:stretch!important;
  border-radius:18px!important;
  background-image:linear-gradient(90deg,rgba(255,255,255,.055) 50%,transparent 50%)!important;
  background-size:62px 62px!important;
}
.lineupPageRecovered .verticalPitch.lineupPitch:before{left:14%!important;right:14%!important;height:23%!important;}
.lineupPageRecovered .verticalPitch.lineupPitch:after{left:40%!important;right:40%!important;height:10%!important;}
.lineupPageRecovered .lineupMarker{min-width:82px!important;gap:3px!important;}
.lineupPageRecovered .playerDisc{width:50px!important;height:50px!important;background:var(--photoBg,#0B1220)!important;position:relative!important;isolation:isolate!important;}
.lineupPageRecovered .playerDisc:before{content:"";position:absolute;inset:0;background:var(--photoBg,#0B1220);border-radius:inherit;z-index:0;}
.lineupPageRecovered .playerDisc span,
.lineupPageRecovered .playerDisc img{position:relative;z-index:1;}
.lineupPageRecovered .playerDisc img{display:block;width:100%;height:100%;object-fit:cover;background:var(--photoBg,#0B1220)!important;border-radius:inherit;}
.lineupPageRecovered .playerTag{font-size:11px!important;max-width:128px!important;padding:5px 9px!important;}
.lineupRosterSlim{
  max-height:calc(100vh - 185px)!important;
  overflow:auto!important;
  padding-right:4px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
}
.lineupRosterHead{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:12px;background:#10161c;padding:9px 10px;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:950;}
.lineupRosterHead small{color:var(--muted);font-size:10px;text-transform:none;letter-spacing:0;}
.lineupRosterSlim .lineupRow{grid-template-columns:22px 38px minmax(76px,1fr) 58px!important;gap:6px!important;padding:7px!important;}
.lineupRosterSlim .lineupRow input{font-size:11px!important;padding:7px!important;min-width:0!important;}
.lineupRosterSlim .lineupRow button,.lineupRosterSlim .lineupRow .fileBtn{display:none!important;}
.lineupPageReadonly.lineupPageRecovered{
  padding:30px 38px!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  gap:16px!important;
  overflow:hidden!important;
}
.lineupPageReadonly.lineupPageRecovered .lineupPageHead{min-height:56px!important;}
.lineupPageReadonly.lineupPageRecovered .lineupPresentTitle{font-size:48px!important;}
.lineupPageReadonly.lineupPageRecovered .lineupBody{
  grid-template-columns:1fr!important;
  place-items:center!important;
  min-height:0!important;
}
.lineupPageReadonly.lineupPageRecovered .lineupPitchReadonly{
  width:min(90vw,1180px)!important;
  height:auto!important;
  max-height:calc(100vh - 150px)!important;
  aspect-ratio:1.42!important;
  align-self:center!important;
}
.lineupPageReadonly.lineupPageRecovered .lineupMarker{transform:translate(-50%,-50%) scale(1.02)!important;}
.lineupPageReadonly.lineupPageRecovered .playerDisc{width:56px!important;height:56px!important;}
.lineupPageReadonly.lineupPageRecovered .playerTag{font-size:12px!important;max-width:150px!important;padding:6px 10px!important;}
@media(max-width:1200px){
  .lineupPageRecovered .lineupBody{grid-template-columns:1fr!important;}
  .lineupRosterSlim{max-height:180px!important;}
  .lineupSettingsDrawer{position:relative;right:auto;top:auto;max-width:100%;}
}


/* V036C6 final lineup lock: remove dead team control; harden photo backing */
.lineupSettingsDrawer .lineupControlsCompact{
  grid-template-columns:1.4fr 1fr repeat(8,minmax(54px,.75fr))!important;
}
.playerPhotoSolid{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  border-radius:inherit!important;
  background:var(--photoBg,#0B1220)!important;
  overflow:hidden!important;
  z-index:2!important;
}
.playerPhotoSolid:before{
  content:"";
  position:absolute;
  inset:0;
  background:var(--photoBg,#0B1220)!important;
  border-radius:inherit;
  z-index:0;
}
.playerPhotoSolid img{
  position:relative!important;
  z-index:1!important;
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  background-color:var(--photoBg,#0B1220)!important;
  border-radius:inherit!important;
}
.lineupPageRecovered .playerDisc{
  background-color:var(--photoBg,#0B1220)!important;
}


/* V036C7 lineup behaviour lock: solid photo layer, draggable markers, formation role maps */
.lineupPageRecovered .lineupMarker{cursor:grab!important;touch-action:none!important;}
.lineupPageRecovered .lineupMarker:active{cursor:grabbing!important;}
.lineupPageRecovered .playerDisc{background:var(--photoBg,#0B1220)!important;}
.lineupPageRecovered .playerDisc .playerNumber{
  position:relative!important;
  z-index:2!important;
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:100%!important;
  border-radius:inherit!important;
  background:var(--kit)!important;
  color:var(--numText)!important;
}
.lineupPageRecovered .playerDisc .playerPhotoSolid{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  border-radius:inherit!important;
  background:var(--photoBg,#0B1220)!important;
  overflow:hidden!important;
  z-index:4!important;
}
.lineupPageRecovered .playerDisc .playerPhotoSolid:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:var(--photoBg,#0B1220)!important;
  border-radius:inherit!important;
  z-index:0!important;
}
.lineupPageRecovered .playerDisc .playerPhotoSolid img{
  position:relative!important;
  z-index:1!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
  border-radius:inherit!important;
  background:var(--photoBg,#0B1220)!important;
}

/* V036E workflow bar + optional animation drawer */
.workflowActions{gap:16px;align-items:center;justify-content:flex-end;min-width:0;}
.flowGroup{display:flex;gap:8px;align-items:center;min-width:0;}
.flowPrimary{padding:4px;background:#0f1318;border:1px solid var(--line);border-radius:14px;}
.flowPrimary button{background:transparent;border-color:transparent;padding:9px 11px;color:var(--muted);}
.flowPrimary button:hover{background:#1a2028;border-color:var(--line);color:var(--accent);}
.homeAction{color:var(--text)!important;border-color:rgba(245,246,247,.12)!important;background:#151a20!important;}
.presentAction{padding:11px 18px;border-radius:12px;text-transform:uppercase;letter-spacing:.08em;box-shadow:0 0 0 1px rgba(0,96,168,.18),0 12px 34px rgba(0,96,168,.12);}
.projectMenu{position:relative;z-index:70;}
.projectMenu summary{list-style:none;border:1px solid var(--line);background:#222833;color:var(--text);padding:10px 13px;border-radius:10px;cursor:pointer;font-weight:800;white-space:nowrap;}
.projectMenu summary::-webkit-details-marker{display:none;}
.projectMenu summary:after{content:' ▾';color:var(--accent);font-weight:900;}
.projectMenu[open] summary,.projectMenu summary:hover{border-color:var(--accent);color:var(--accent);}
.projectMenuPanel{position:absolute;right:0;top:46px;display:grid;gap:6px;min-width:220px;background:#161b21;border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,.55);padding:8px;}
.projectMenuPanel button{background:transparent;border:0;text-align:left;border-radius:8px;padding:10px 11px;color:var(--text);}
.projectMenuPanel button:hover{background:#222833;color:var(--accent);}
.animationHidden .canvasToolbar,.animationHidden #timeline{display:none!important;}
.animationHidden #pitchCanvas{padding-bottom:22px;}
body:not(.animationHidden) #toggleAnimationBtn{border-color:var(--accent);color:var(--accent);background:#151d27;}
body:not(.toolsHidden) #toggleToolsBtn{border-color:var(--accent);color:var(--accent);background:#151d27;}
body:not(.panelCollapsed) #togglePanelBtn{border-color:var(--accent);color:var(--accent);background:#151d27;}
@media(max-width:1120px){.workflowActions{gap:8px}.flowPrimary button{padding:8px}.presentAction{padding:10px 12px}.brandBlock p{display:none}}

/* V036E.1 header flow refinement */
.topbar{
  display:grid!important;
  grid-template-columns:minmax(260px,auto) 1fr minmax(150px,auto)!important;
  align-items:center!important;
  column-gap:18px!important;
}
.brandBlock{
  min-width:0;
  gap:12px!important;
}
.brandBlock .homeAction{
  margin-left:10px;
  padding:9px 12px;
  border-radius:11px;
  background:#151a20!important;
  color:var(--text)!important;
  border-color:rgba(245,246,247,.16)!important;
}
.workflowActions{
  display:contents!important;
}
.flowPrimary{
  justify-self:center;
  padding:5px!important;
  background:#0f1318;
  border:1px solid var(--line);
  border-radius:15px;
  gap:8px!important;
}
.flowPrimary .presentAction{
  margin-left:8px;
  padding:12px 24px!important;
  min-width:116px;
  font-size:12px;
}
.flowOutput{
  justify-self:end;
}
.projectMenu summary{
  padding:12px 15px!important;
  border-radius:12px!important;
}
@media(max-width:1180px){
  .topbar{grid-template-columns:minmax(220px,auto) 1fr minmax(120px,auto)!important;column-gap:10px!important;}
  .brandBlock p{display:none;}
  .brandBlock .homeAction{padding:8px 10px;margin-left:4px;}
  .flowPrimary button{padding:8px 9px!important;}
  .flowPrimary .presentAction{padding:10px 14px!important;min-width:92px;}
}


/* V036E.2 final header hierarchy: workspace controls are primary, delivery/admin secondary */
.topbar{
  display:grid!important;
  grid-template-columns:minmax(255px,auto) minmax(360px,1fr) minmax(245px,auto)!important;
  align-items:center!important;
  column-gap:20px!important;
  min-height:72px!important;
}
.brandBlock{
  min-width:0!important;
  gap:12px!important;
}
.brandBlock .appLogo{
  width:40px!important;
  height:40px!important;
}
.brandBlock h1{
  font-size:19px!important;
  letter-spacing:-.03em!important;
}
.brandBlock p{
  font-size:11px!important;
  max-width:230px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.brandBlock .homeAction{
  margin-left:8px!important;
  height:40px!important;
  padding:0 13px!important;
  border-radius:11px!important;
  background:#12171d!important;
  color:var(--muted)!important;
  border-color:rgba(245,246,247,.12)!important;
  font-size:12px!important;
  letter-spacing:.04em!important;
}
.brandBlock .homeAction:hover{
  color:var(--accent)!important;
  border-color:rgba(0,96,168,.45)!important;
}
.workflowActions{
  display:contents!important;
}
.flowPrimary{
  justify-self:center!important;
  display:flex!important;
  gap:12px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
}
.flowPrimary .workspaceAction{
  height:54px!important;
  min-width:124px!important;
  padding:0 22px!important;
  border-radius:16px!important;
  border:1px solid rgba(0,96,168,.22)!important;
  background:linear-gradient(180deg,#222b36,#151b23)!important;
  color:var(--text)!important;
  font-size:13px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.11em!important;
  box-shadow:0 14px 34px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.04)!important;
}
.flowPrimary .workspaceAction:hover{
  border-color:var(--accent)!important;
  color:var(--accent)!important;
  background:linear-gradient(180deg,#263241,#17202b)!important;
  transform:translateY(-1px);
}
body:not(.toolsHidden) #toggleToolsBtn,
body:not(.animationHidden) #toggleAnimationBtn,
body:not(.panelCollapsed) #togglePanelBtn{
  border-color:var(--accent)!important;
  color:#111315!important;
  background:var(--accent)!important;
  box-shadow:0 0 0 1px rgba(0,96,168,.20),0 14px 36px rgba(0,96,168,.18)!important;
}
.flowOutput{
  justify-self:end!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
}
.flowOutput .presentAction{
  height:50px!important;
  min-width:128px!important;
  padding:0 24px!important;
  border-radius:15px!important;
  font-size:13px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.12em!important;
  box-shadow:0 0 0 1px rgba(0,96,168,.20),0 16px 40px rgba(0,96,168,.16)!important;
}
.projectMenu summary{
  height:48px!important;
  min-width:116px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 18px!important;
  border-radius:14px!important;
  background:#1a2028!important;
  border-color:rgba(245,246,247,.14)!important;
  color:var(--text)!important;
  font-size:12px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  box-shadow:0 14px 32px rgba(0,0,0,.20)!important;
}
.projectMenu summary:hover,
.projectMenu[open] summary{
  border-color:rgba(0,96,168,.55)!important;
  color:var(--accent)!important;
}
.projectMenuPanel{
  top:58px!important;
}
@media(max-width:1180px){
  .topbar{grid-template-columns:minmax(220px,auto) minmax(300px,1fr) minmax(210px,auto)!important;column-gap:10px!important;}
  .brandBlock p{display:none!important;}
  .brandBlock .homeAction{padding:0 10px!important;margin-left:3px!important;}
  .flowPrimary{gap:7px!important;}
  .flowPrimary .workspaceAction{height:48px!important;min-width:96px!important;padding:0 12px!important;font-size:11px!important;}
  .flowOutput{gap:8px!important;}
  .flowOutput .presentAction{height:46px!important;min-width:104px!important;padding:0 15px!important;font-size:11px!important;}
  .projectMenu summary{height:44px!important;min-width:96px!important;padding:0 12px!important;font-size:11px!important;}
}

/* V036E.3 premium control pass: material refinement only. No layout/function changes. */
.topbar{
  background:
    radial-gradient(circle at 46% 0%, rgba(0,96,168,.08), transparent 32%),
    linear-gradient(180deg,#0b0e13,#07090d)!important;
  border-bottom:1px solid rgba(0,96,168,.12)!important;
  box-shadow:0 14px 44px rgba(0,0,0,.26)!important;
}
.brandBlock .homeAction{
  height:38px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,rgba(31,38,48,.82),rgba(17,22,29,.82))!important;
  border:1px solid rgba(255,255,255,.09)!important;
  color:#aab3c0!important;
  font-size:12px!important;
  font-weight:800!important;
  text-transform:none!important;
  letter-spacing:.01em!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 8px 18px rgba(0,0,0,.20)!important;
}
.brandBlock .homeAction:hover{
  color:#dbeafe!important;
  border-color:rgba(0,96,168,.35)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 10px 24px rgba(0,0,0,.22),0 0 18px rgba(0,96,168,.08)!important;
}
.flowPrimary{
  gap:10px!important;
  padding:6px!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,rgba(20,26,34,.72),rgba(8,12,17,.52))!important;
  border:1px solid rgba(255,255,255,.07)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 14px 36px rgba(0,0,0,.18)!important;
  backdrop-filter:blur(10px);
}
.flowPrimary .workspaceAction{
  height:46px!important;
  min-width:118px!important;
  padding:0 20px!important;
  border-radius:16px!important;
  border:1px solid rgba(95,125,168,.28)!important;
  background:
    linear-gradient(180deg,rgba(35,45,59,.96),rgba(18,24,32,.96))!important;
  color:#edf3fb!important;
  font-size:14px!important;
  font-weight:850!important;
  text-transform:none!important;
  letter-spacing:.015em!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.075),
    inset 0 -1px 0 rgba(0,0,0,.25),
    0 8px 20px rgba(0,0,0,.30)!important;
  transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease, color .14s ease, background .14s ease;
}
.flowPrimary .workspaceAction:hover{
  transform:translateY(-1px)!important;
  color:#ffffff!important;
  border-color:rgba(0,96,168,.72)!important;
  background:linear-gradient(180deg,rgba(43,56,72,.98),rgba(21,29,39,.98))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.09),
    0 12px 28px rgba(0,0,0,.32),
    0 0 20px rgba(0,96,168,.10)!important;
}
body:not(.toolsHidden) #toggleToolsBtn,
body:not(.animationHidden) #toggleAnimationBtn,
body:not(.panelCollapsed) #togglePanelBtn{
  color:#f8fbff!important;
  border-color:rgba(92,178,255,.88)!important;
  background:
    linear-gradient(180deg,rgba(64,126,185,.36),rgba(22,43,66,.96)),
    linear-gradient(180deg,#243447,#151d29)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 0 0 1px rgba(0,96,168,.18),
    0 10px 26px rgba(0,0,0,.30),
    0 0 24px rgba(0,96,168,.18)!important;
}
.flowOutput{
  gap:10px!important;
}
.flowOutput .presentAction{
  height:48px!important;
  min-width:122px!important;
  padding:0 22px!important;
  border-radius:16px!important;
  border:1px solid rgba(119,190,255,.62)!important;
  background:
    linear-gradient(180deg,#63b3ff,#357fdc)!important;
  color:#07111f!important;
  font-size:14px!important;
  font-weight:950!important;
  text-transform:none!important;
  letter-spacing:.01em!important;
  text-shadow:0 1px 0 rgba(255,255,255,.18)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.30),
    inset 0 -1px 0 rgba(0,0,0,.20),
    0 12px 30px rgba(35,128,231,.22),
    0 0 22px rgba(0,96,168,.18)!important;
}
.flowOutput .presentAction:hover{
  transform:translateY(-1px)!important;
  background:linear-gradient(180deg,#78c0ff,#3d8bed)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.34),
    0 14px 36px rgba(35,128,231,.28),
    0 0 30px rgba(0,96,168,.24)!important;
}
.projectMenu summary{
  height:46px!important;
  min-width:112px!important;
  border-radius:16px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  background:
    linear-gradient(180deg,rgba(34,42,54,.96),rgba(17,22,29,.96))!important;
  color:#d9e1ea!important;
  font-size:13px!important;
  font-weight:850!important;
  text-transform:none!important;
  letter-spacing:.01em!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    inset 0 -1px 0 rgba(0,0,0,.25),
    0 10px 24px rgba(0,0,0,.25)!important;
}
.projectMenu summary:after{
  color:#0060A8!important;
  margin-left:4px;
}
.projectMenu summary:hover,
.projectMenu[open] summary{
  color:#ffffff!important;
  border-color:rgba(0,96,168,.45)!important;
  background:linear-gradient(180deg,rgba(40,50,64,.98),rgba(19,26,35,.98))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 12px 28px rgba(0,0,0,.28),
    0 0 18px rgba(0,96,168,.10)!important;
}
.projectMenuPanel{
  top:56px!important;
  background:linear-gradient(180deg,#171d25,#10151c)!important;
  border:1px solid rgba(255,255,255,.09)!important;
  box-shadow:0 28px 80px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.04)!important;
}
@media(max-width:1180px){
  .flowPrimary{gap:6px!important;padding:5px!important;}
  .flowPrimary .workspaceAction{height:44px!important;min-width:92px!important;padding:0 12px!important;font-size:13px!important;}
  .flowOutput .presentAction{height:44px!important;min-width:102px!important;padding:0 16px!important;font-size:13px!important;}
  .projectMenu summary{height:42px!important;min-width:94px!important;padding:0 12px!important;font-size:12px!important;}
}


/* V036E4 WORKSPACE CLUSTER */

.flowPrimary{
  padding:6px;
  gap:4px;
  border-radius:22px;
  background:linear-gradient(180deg,#1b2129 0%,#11161d 100%);
  border:1px solid rgba(255,255,255,.06);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 14px 40px rgba(0,0,0,.35);
}

.workspaceAction{
  min-width:108px!important;
  height:44px!important;
  border-radius:16px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  text-transform:none!important;
  letter-spacing:0!important;
  font-size:14px!important;
  font-weight:700!important;
  color:#aeb8c5!important;
}

.workspaceAction:hover{
  color:#ffffff!important;
  background:rgba(255,255,255,.05)!important;
}

.workspaceAction.active,
.workspaceAction[aria-pressed="true"]{
  background:linear-gradient(180deg,#2f7fe8,#2467c7)!important;
  color:white!important;
  box-shadow:
    0 0 18px rgba(79,164,255,.30),
    inset 0 1px 0 rgba(255,255,255,.15)!important;
}

.presentAction{
  min-width:120px;
  height:46px;
  border-radius:18px;
  background:linear-gradient(180deg,#53a8ff,#2f7fe8)!important;
  color:white!important;
  font-weight:800!important;
  letter-spacing:.03em!important;
}

.projectMenu summary{
  height:46px;
  border-radius:18px;
  padding:0 18px;
  display:flex;
  align-items:center;
  background:linear-gradient(180deg,#232a34,#181d24);
}


/* V036E5 — WORKSPACE BLOCK FIX
   Tools / Animation / Panel are one unified working block, not three buttons. */
.flowPrimary{
  display:inline-flex !important;
  align-items:center !important;
  gap:0 !important;
  padding:4px !important;
  border-radius:20px !important;
  overflow:hidden !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,0) 32%),
    linear-gradient(180deg,#1a222d 0%,#111820 100%) !important;
  border:1px solid rgba(118,148,190,.22) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.075),
    inset 0 -1px 0 rgba(0,0,0,.55),
    0 14px 36px rgba(0,0,0,.38) !important;
}
.flowPrimary .workspaceAction{
  position:relative !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  min-width:112px !important;
  height:42px !important;
  margin:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#AEB8C6 !important;
  font-size:14px !important;
  font-weight:800 !important;
  letter-spacing:.01em !important;
  text-transform:none !important;
}
.flowPrimary .workspaceAction:first-child{border-top-left-radius:16px !important;border-bottom-left-radius:16px !important;}
.flowPrimary .workspaceAction:last-child{border-top-right-radius:16px !important;border-bottom-right-radius:16px !important;}
.flowPrimary .workspaceAction + .workspaceAction::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:9px !important;
  bottom:9px !important;
  width:1px !important;
  background:linear-gradient(180deg, transparent, rgba(255,255,255,.11), transparent) !important;
}
.flowPrimary .workspaceAction:hover{
  color:#F7FAFF !important;
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025)) !important;
}
.flowPrimary .workspaceAction.active,
.flowPrimary .workspaceAction[aria-pressed="true"],
.flowPrimary .workspaceAction.isActive{
  color:#FFFFFF !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(108,184,255,.32), transparent 58%),
    linear-gradient(180deg, rgba(78,163,255,.28), rgba(45,127,232,.18)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    inset 0 0 0 1px rgba(107,183,255,.48),
    0 0 22px rgba(0,96,168,.18) !important;
  border-radius:16px !important;
  z-index:2 !important;
}
.flowPrimary .workspaceAction.active + .workspaceAction::before,
.flowPrimary .workspaceAction[aria-pressed="true"] + .workspaceAction::before,
.flowPrimary .workspaceAction.isActive + .workspaceAction::before,
.flowPrimary .workspaceAction.active::before,
.flowPrimary .workspaceAction[aria-pressed="true"]::before,
.flowPrimary .workspaceAction.isActive::before{opacity:0 !important;}
.presentAction,
#presentBtn.presentAction{
  border-radius:18px !important;
  min-width:118px !important;
  height:44px !important;
  background:linear-gradient(180deg, #62B3FF 0%, #347FE8 100%) !important;
  color:#071019 !important;
  font-weight:900 !important;
  letter-spacing:.035em !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    0 12px 30px rgba(52,127,232,.28) !important;
}
.projectMenu summary,
.projectAction{
  border-radius:18px !important;
  height:44px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
    linear-gradient(180deg,#202833,#151b23) !important;
  border:1px solid rgba(255,255,255,.075) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 10px 28px rgba(0,0,0,.30) !important;
}


/* V036F — Presenter Toolbar / Phase 1 */
#presentationOverlay.truePresent{
  cursor:none;
}

.presenterAnnotationLayer{
  position:fixed;
  inset:0;
  z-index:78;
  pointer-events:none;
}

.presenterAnnotationLayer.presenterLayerActive{
  pointer-events:auto;
}

#presenterDrawCanvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

.presenterToolbar{
  position:fixed;
  left:50%;
  bottom:24px;
  transform:translateX(-50%);
  z-index:90;
  display:flex;
  gap:4px;
  padding:6px;
  border-radius:22px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.015)),
    rgba(12,16,22,.88);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 18px 60px rgba(0,0,0,.48);
  backdrop-filter: blur(14px);
  transition:opacity .25s ease, transform .25s ease;
}

.presenterToolbar.toolbarIdle{
  opacity:.22;
  transform:translateX(-50%) translateY(10px);
}

.presenterToolbar button{
  height:40px;
  min-width:92px;
  border:0;
  border-radius:16px;
  background:transparent;
  color:#b9c4d2;
  font-weight:850;
  letter-spacing:.01em;
}

.presenterToolbar button:hover{
  background:rgba(255,255,255,.06);
  color:white;
}

.presenterToolbar button.active{
  background:linear-gradient(180deg,rgba(0,96,168,.35),rgba(47,127,232,.22));
  color:white;
  box-shadow:
    inset 0 0 0 1px rgba(94,179,255,.55),
    0 0 22px rgba(0,96,168,.22);
}

.presenterPointer{
  position:fixed;
  width:18px;
  height:18px;
  margin-left:-9px;
  margin-top:-9px;
  border-radius:999px;
  z-index:88;
  pointer-events:none;
  background:#ff3434;
  box-shadow:
    0 0 0 7px rgba(255,52,52,.14),
    0 0 24px rgba(255,52,52,.85);
}

.presenterHighlight{
  position:fixed;
  width:112px;
  height:112px;
  margin-left:-56px;
  margin-top:-56px;
  z-index:87;
  pointer-events:none;
  border-radius:999px;
  border:3px solid rgba(0,96,168,.95);
  box-shadow:
    0 0 0 9999px rgba(0,0,0,.18),
    0 0 34px rgba(0,96,168,.55),
    inset 0 0 24px rgba(0,96,168,.12);
}

.presenterHighlight[data-label]::after{
  content:attr(data-label);
  position:absolute;
  left:50%;
  top:calc(100% + 12px);
  transform:translateX(-50%);
  white-space:nowrap;
  color:#dbeafe;
  background:rgba(8,11,15,.88);
  border:1px solid rgba(0,96,168,.25);
  border-radius:999px;
  padding:7px 12px;
  font-size:12px;
  font-weight:850;
}



/* V036F2 — Presenter Toolbar Repair */
#presentationOverlay.truePresent{
  cursor:auto !important;
}

#presentationOverlay.truePresent .presenterPointerMode{
  cursor:none !important;
}

.presenterAnnotationLayer{
  pointer-events:none !important;
}

.presenterAnnotationLayer.presenterLayerActive{
  pointer-events:auto !important;
}

#presenterDrawCanvas{
  pointer-events:none !important;
}

.presenterAnnotationLayer.presenterLayerActive #presenterDrawCanvas{
  pointer-events:auto !important;
}

.presenterToolbar{
  pointer-events:auto !important;
}

.presenterPointer{
  width:10px !important;
  height:10px !important;
  margin-left:-5px !important;
  margin-top:-5px !important;
  background:#ff2f2f !important;
  box-shadow:
    0 0 0 4px rgba(255,47,47,.16),
    0 0 16px rgba(255,47,47,.75) !important;
}

.presenterHighlight{
  pointer-events:none !important;
}

.presenterToolbar button{
  min-width:76px !important;
}

.presenterToolbar [data-present-tool="clear"]{
  color:#fecaca !important;
}

.presentationBody.notesOff{
  grid-template-columns:minmax(0,1fr) 0 !important;
}

.presentationBody.notesOff .presentNotes{
  display:none !important;
}


/* V036F3 — Presenter Tools Repair */
.presentPanelHidden .presentationHeader{
  opacity:0 !important;
  pointer-events:none !important;
  transform:translateY(-10px);
}

.presentPanelHidden #presentTimeline{
  opacity:0 !important;
}

.presenterGroupsMenu,
.presenterProjectMenu{
  position:relative;
}

.presenterGroupsMenu summary,
.presenterProjectMenu summary{
  list-style:none;
  height:40px;
  min-width:86px;
  border-radius:16px;
  padding:0 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#b9c4d2;
  font-weight:850;
  cursor:pointer;
}

.presenterGroupsMenu summary::-webkit-details-marker,
.presenterProjectMenu summary::-webkit-details-marker{
  display:none;
}

.presenterGroupsMenu[open] summary,
.presenterProjectMenu[open] summary{
  background:linear-gradient(180deg,rgba(0,96,168,.35),rgba(47,127,232,.22));
  color:white;
}

.presenterMenuPanel{
  position:absolute;
  bottom:52px;
  left:50%;
  transform:translateX(-50%);
  min-width:170px;
  padding:8px;
  border-radius:16px;
  background:rgba(10,14,20,.94);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 22px 60px rgba(0,0,0,.48);
  display:grid;
  gap:6px;
}

.presenterMenuPanel button{
  min-width:0 !important;
  width:100%;
  justify-content:flex-start;
  text-align:left;
}

.presenterHighlight{
  cursor:pointer;
}



/* V036F4 — Tactical presenter repair */
.presenterProjectMenu{
  display:none !important;
}

.presenterAnnotationLayer{
  pointer-events:none !important;
}

.presenterAnnotationLayer.presenterLayerActive{
  pointer-events:auto !important;
}

#presenterDrawCanvas{
  pointer-events:none !important;
  touch-action:none !important;
}

#presenterDrawCanvas.drawActive{
  pointer-events:auto !important;
  cursor:crosshair !important;
}

.presentPanelHidden .presentationHeader,
.presentPanelHidden #presentTimeline{
  display:none !important;
}

.presentPanelHidden .presentationBody{
  height:100vh !important;
}

.presenterGroupsMenu .presenterMenuPanel{
  min-width:150px;
}


/* V036F5 — Presenter toolbar cleanup / manual select */
.presenterProjectMenu{
  display:none !important;
}

.presenterDrawMenu{
  position:relative;
}

.presenterDrawMenu summary{
  list-style:none;
  height:40px;
  min-width:68px;
  border-radius:16px;
  padding:0 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#b9c4d2;
  font-weight:850;
  cursor:pointer;
}

.presenterDrawMenu summary::-webkit-details-marker{
  display:none;
}

.presenterDrawMenu[open] summary{
  background:linear-gradient(180deg,rgba(0,96,168,.28),rgba(47,127,232,.16));
  color:white;
}

.presenterGroupsMenu{
  display:none !important;
}

.presenterToolbar [data-present-tool="select"].active{
  background:linear-gradient(180deg,rgba(0,96,168,.35),rgba(47,127,232,.22));
  color:white;
  box-shadow:
    inset 0 0 0 1px rgba(94,179,255,.55),
    0 0 22px rgba(0,96,168,.22);
}

.presentPanelHidden .presentationHeader,
.presentPanelHidden #presentTimeline{
  display:none !important;
}

.presenterAnnotationLayer.presenterLayerActive{
  pointer-events:auto !important;
}

#presenterDrawCanvas.drawActive{
  pointer-events:auto !important;
  cursor:crosshair !important;
}



/* V036F6 — Presenter polish / remove broken group-panel */
.presenterGroupsMenu,
.presenterProjectMenu,
.presenterToolbar [data-present-tool="select"],
.presenterToolbar [data-present-tool="groups"],
.presenterToolbar [data-present-tool="panel"]{
  display:none !important;
}

.presenterToolbar{
  gap:5px !important;
}

.presenterDrawMenu .presenterMenuPanel{
  min-width:148px !important;
}

.presenterMenuPanel button{
  cursor:pointer !important;
}

#presenterDrawCanvas.drawActive{
  cursor:crosshair !important;
}

.presenterToolbar [data-present-tool="draw"].active + .presenterDrawMenu summary,
.presenterDrawMenu[open] summary{
  background:linear-gradient(180deg,rgba(0,96,168,.30),rgba(47,127,232,.18)) !important;
  color:white !important;
  box-shadow:inset 0 0 0 1px rgba(94,179,255,.45) !important;
}

/* Remove F3/F4 panel hiding artefacts from the usable toolbar pass */
.presentPanelHidden .presentationHeader,
.presentPanelHidden #presentTimeline{
  display:initial;
}


/* V036F7 — final presenter cleanup */
#presentationOverlay.truePresent ~ .projectMenu,
#presentationOverlay.truePresent .projectMenu,
.truePresent .projectMenu,
.truePresent .presenterProjectMenu,
.presenterProjectMenu{
  display:none !important;
}

/* Browser/layout fallback: when Present overlay is active, no Project button should be usable/visible */
body:has(#presentationOverlay.truePresent:not(.hidden)) .projectMenu{
  display:none !important;
}

/* Better coaching dash: visible, consistent dashed stroke rather than dotted fragments */
#presenterDrawCanvas.drawActive{
  pointer-events:auto !important;
  cursor:crosshair !important;
}


/* V036G — Coaching efficiency pass */
.playerDrop,
.formationDrop{
  min-width:230px !important;
}

.playerDrop label,
.formationDrop label{
  display:block;
  margin:0 0 8px;
}

.playerDrop select,
.formationDrop select{
  width:100%;
  margin-top:5px;
  background:#0b1220;
  color:var(--text);
  border:1px solid var(--line);
  border-radius:9px;
  padding:9px;
}

#insertPlayersBtn{
  width:100%;
  margin-top:2px;
  border-color:rgba(0,96,168,.38);
  color:var(--accent);
}


/* V036G2 — formation/player labelling workflow */
.playerDrop input[type=number]{
  width:100%;
  margin-top:5px;
  background:#0b1220;
  color:var(--text);
  border:1px solid var(--line);
  border-radius:9px;
  padding:9px;
}

.formationDrop label,
.playerDrop label{
  color:#b9c4d2;
}

.formationDrop .formationBtn{
  width:100%;
  text-align:left;
}


/* V036H1 — meaningful editable tactical object pass */
.konvajs-content{
  touch-action:none;
}


/* V036I — Split page functionality */
.splitPanel.panelType-field .mediaPanel,
.presentMediaField{
  background:#0b1118;
  padding:18px;
}

.splitPanel.panelType-blank .mediaPanel,
.presentMediaBlank{
  background:#0b1118;
  border:1px dashed rgba(255,255,255,.10);
}

.splitBlankPanel{
  width:100%;
  height:100%;
  min-height:420px;
}

.splitTacticalField{
  position:relative;
  width:min(100%, 360px);
  height:min(100%, 560px);
  min-height:480px;
  aspect-ratio:.64;
  background:linear-gradient(180deg,#167542,#0e5f36);
  border-radius:16px;
  box-shadow:inset 0 0 0 2px rgba(229,247,223,.86), 0 20px 70px rgba(0,0,0,.32);
  overflow:hidden;
}

.splitTacticalField:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.04) 50%,transparent 50%);
  background-size:56px 56px;
}

.splitFieldOuter{
  position:absolute;
  inset:28px;
  border:3px solid rgba(229,247,223,.88);
}

.splitFieldCentreLine{
  position:absolute;
  left:28px;
  right:28px;
  top:50%;
  border-top:2px solid rgba(229,247,223,.8);
}

.splitFieldCircle{
  position:absolute;
  width:96px;
  height:96px;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  border:2px solid rgba(229,247,223,.82);
  border-radius:999px;
}

.splitFieldBox{
  position:absolute;
  left:50%;
  width:52%;
  height:22%;
  transform:translateX(-50%);
  border:2px solid rgba(229,247,223,.78);
}

.splitFieldBoxTop{top:28px;border-top:0;}
.splitFieldBoxBottom{bottom:28px;border-bottom:0;}

.splitFieldSix{
  position:absolute;
  left:50%;
  width:26%;
  height:9%;
  transform:translateX(-50%);
  border:2px solid rgba(229,247,223,.78);
}

.splitFieldSixTop{top:28px;border-top:0;}
.splitFieldSixBottom{bottom:28px;border-bottom:0;}

.presentSplitField{
  height:min(76vh,620px);
  min-height:520px;
}

.mediaPanel textarea.mediaNotesBox{
  width:100%;
  height:100%;
  border:0;
  margin:0;
  resize:none;
}

.mediaPanel .readonlyNotes:empty::before{
  content:"";
}


/* V036I2 — Premium split tactical field optimisation */

/* Let split content dominate the page instead of the panel chrome. */
.mediaPage{
  padding:16px !important;
  gap:10px !important;
  background:
    radial-gradient(circle at 50% 15%, rgba(0,96,168,.045), transparent 34%),
    #0b0f14 !important;
}

.mediaCanvas{
  gap:12px !important;
  min-height:0 !important;
  height:100% !important;
  align-items:stretch !important;
}

.mediaPanel{
  min-height:0 !important;
  padding:10px !important;
  border:1px solid rgba(255,255,255,.065) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.035), transparent 34%),
    rgba(8,12,18,.42) !important;
  border-radius:20px !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.035),
    0 18px 56px rgba(0,0,0,.30) !important;
}

.splitPanel{
  gap:6px !important;
}

.splitPanel.active>.mediaPanel{
  border-color:rgba(0,96,168,.34) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.045),
    0 0 0 1px rgba(0,96,168,.12),
    0 18px 56px rgba(0,0,0,.30) !important;
}

.splitPanelToolbar{
  padding:6px 8px !important;
  border-radius:12px !important;
  background:rgba(8,12,18,.50) !important;
  border:1px solid rgba(255,255,255,.07) !important;
}

.splitPanelToolbar select{
  min-width:132px !important;
  padding:7px 8px !important;
}

.splitPanelToolbar button{
  padding:7px 9px !important;
}

/* Make tactical pitch the hero of the split panel. */
.splitPanel.panelType-field .mediaPanel,
.presentMediaField{
  padding:6px !important;
  background:
    radial-gradient(circle at 50% 4%, rgba(255,255,255,.04), transparent 32%),
    rgba(5,8,12,.24) !important;
}

.splitTacticalField{
  width:min(96%, 520px) !important;
  height:min(100%, 720px) !important;
  min-height:620px !important;
  aspect-ratio:.74 !important;
  border-radius:20px !important;
  background:
    radial-gradient(circle at 50% 35%, rgba(255,255,255,.055), transparent 35%),
    linear-gradient(180deg, rgba(255,255,255,.04), transparent 18%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.038) 0 42px, rgba(0,0,0,.028) 42px 84px),
    linear-gradient(180deg,#1b7e49 0%,#126a3d 52%,#0d5632 100%) !important;
  box-shadow:
    inset 0 0 0 2px rgba(232,248,226,.92),
    inset 0 18px 52px rgba(255,255,255,.055),
    inset 0 -34px 70px rgba(0,0,0,.22),
    0 22px 70px rgba(0,0,0,.38) !important;
}

.splitTacticalField:before{
  background:
    linear-gradient(90deg, rgba(255,255,255,.035) 50%, transparent 50%),
    radial-gradient(circle at 50% 50%, transparent 0 42%, rgba(0,0,0,.08) 100%) !important;
  background-size:72px 72px, 100% 100% !important;
  opacity:.72 !important;
}

.splitFieldOuter{
  inset:22px !important;
  border:3px solid rgba(236,250,232,.92) !important;
  border-radius:4px !important;
}

.splitFieldCentreLine{
  left:22px !important;
  right:22px !important;
  border-top:3px solid rgba(236,250,232,.88) !important;
}

.splitFieldCircle{
  width:124px !important;
  height:124px !important;
  border:3px solid rgba(236,250,232,.86) !important;
}

.splitFieldCircle:after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:7px;
  height:7px;
  transform:translate(-50%,-50%);
  border-radius:999px;
  background:rgba(236,250,232,.9);
}

.splitFieldBox{
  width:62% !important;
  height:23.5% !important;
  border:3px solid rgba(236,250,232,.86) !important;
}

.splitFieldBoxTop{top:22px !important;}
.splitFieldBoxBottom{bottom:22px !important;}

.splitFieldSix{
  width:31% !important;
  height:9.5% !important;
  border:3px solid rgba(236,250,232,.86) !important;
}

.splitFieldSixTop{top:22px !important;}
.splitFieldSixBottom{bottom:22px !important;}

/* Subtle goals on the vertical tactical fields. */
.splitTacticalField:after{
  content:"";
  position:absolute;
  left:50%;
  top:8px;
  width:88px;
  height:13px;
  transform:translateX(-50%);
  border:3px solid rgba(236,250,232,.92);
  border-bottom:0;
  border-radius:4px 4px 0 0;
  box-shadow:0 calc(min(100%, 720px) - 28px) 0 -1px rgba(236,250,232,.92);
}

/* Present mode: remove slide chrome dominance and maximise the field. */
#presentationOverlay.truePresent .presentSurface .presentMediaPage{
  padding:18px !important;
  gap:10px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(0,96,168,.05), transparent 36%),
    #070a0e !important;
}

#presentationOverlay.truePresent .presentSurface .presentMediaTitle{
  font-size:22px !important;
  opacity:.82 !important;
  margin-left:4px !important;
}

#presentationOverlay.truePresent .presentSurface .presentMediaPage .mediaCanvas{
  gap:12px !important;
}

#presentationOverlay.truePresent .presentSurface .presentMediaPanel{
  padding:8px !important;
  border-color:rgba(255,255,255,.07) !important;
  background:rgba(8,12,18,.36) !important;
  border-radius:20px !important;
}

#presentationOverlay.truePresent .presentSurface .presentMediaField{
  padding:6px !important;
}

#presentationOverlay.truePresent .presentSurface .presentSplitField{
  width:min(96%,560px) !important;
  height:min(82vh,740px) !important;
  min-height:620px !important;
  aspect-ratio:.74 !important;
}

@media(max-height:820px){
  .splitTacticalField{
    min-height:540px !important;
    height:min(100%, 640px) !important;
  }
  #presentationOverlay.truePresent .presentSurface .presentSplitField{
    min-height:560px !important;
  }
}

@media(max-width:1100px){
  .splitTacticalField{
    min-height:500px !important;
    width:min(96%,460px) !important;
  }
}


/* V036I3 — Split page architecture cleanup */

/* Split page is now a dedicated two-panel page. The old Full/Split/Notes tabs are removed in JS. */
.mediaPage.layout-split{
  grid-template-rows:auto minmax(0,1fr) auto !important;
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
}

.pageSurface .mediaPage{
  height:100% !important;
  min-height:0 !important;
}

.mediaPage .pageLayoutBar{
  padding:8px 10px !important;
  min-height:46px !important;
}

.mediaPage .pageLayoutBar input#mediaTitle{
  max-width:none !important;
  flex:1 1 320px !important;
}

.mediaPage .mediaCanvas{
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
}

.mediaPage .splitPanel{
  min-height:0 !important;
  overflow:hidden !important;
  grid-template-rows:auto minmax(0,1fr) !important;
}

.mediaPage .mediaPanel{
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
}

.mediaPage .inlineMediaTools{
  min-height:42px !important;
  padding:7px 10px !important;
}

/* Fix bottom cut-off by sizing the field inside the available split panel, not beyond it. */
.splitTacticalField{
  height:100% !important;
  min-height:0 !important;
  max-height:100% !important;
  width:auto !important;
  max-width:96% !important;
  aspect-ratio:.74 !important;
}

.splitPanel.panelType-field .mediaPanel{
  align-items:center !important;
  justify-items:center !important;
}

/* Present split page should fit inside the true present surface without bottom clipping. */
#presentationOverlay.truePresent .presentSurface .presentMediaPage{
  height:100% !important;
  min-height:0 !important;
  grid-template-rows:auto minmax(0,1fr) !important;
  overflow:hidden !important;
  padding:16px !important;
}

#presentationOverlay.truePresent .presentSurface .presentMediaPage .mediaCanvas{
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
}

#presentationOverlay.truePresent .presentSurface .presentMediaPanel{
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
}

#presentationOverlay.truePresent .presentSurface .presentSplitField{
  height:100% !important;
  min-height:0 !important;
  max-height:100% !important;
  width:auto !important;
  max-width:96% !important;
  aspect-ratio:.74 !important;
}

/* Keep tactical field prominent while preventing lower markings being cropped. */
.splitFieldOuter{ inset:20px !important; }
.splitFieldBoxTop{ top:20px !important; }
.splitFieldBoxBottom{ bottom:20px !important; }
.splitFieldSixTop{ top:20px !important; }
.splitFieldSixBottom{ bottom:20px !important; }
.splitTacticalField:after{ display:none !important; }


/* V036I4 workflow simplification */

.inlineMediaTools{
    display:none !important;
}

.mediaPanel{
    cursor:pointer;
}

.mediaPanel:hover{
    border-color:rgba(0,96,168,.25) !important;
}

.imageDropText{
    opacity:.75;
    transition:.2s;
}

.mediaPanel:hover .imageDropText{
    opacity:1;
    transform:scale(1.03);
}

.pageLayoutBar{
    min-height:38px !important;
    padding:6px 10px !important;
}

.mediaCanvas{
    height:calc(100% - 4px) !important;
}

.splitPanel{
    padding-bottom:0 !important;
}


/* V036I5 — click-to-upload restoration */
.pageLayoutBar input.hidden{
  display:none !important;
}

.panelType-image .mediaPanel,
.panelType-video .mediaPanel{
  cursor:pointer;
}

.panelType-image .mediaPanel:has(.imageDropText):hover,
.panelType-video .mediaPanel:has(.imageDropText):hover{
  border-color:rgba(0,96,168,.42) !important;
  box-shadow:0 0 0 1px rgba(0,96,168,.16), 0 18px 56px rgba(0,0,0,.30) !important;
}

.panelType-image .imageDropText::after{
  content:"\A Click to upload";
  white-space:pre;
  display:block;
  margin-top:8px;
  color:var(--accent);
  font-size:11px;
  letter-spacing:.12em;
}

.panelType-video .imageDropText::after{
  content:"\A Click to upload";
  white-space:pre;
  display:block;
  margin-top:8px;
  color:var(--accent);
  font-size:11px;
  letter-spacing:.12em;
}


/* V036I6 — Split tactical players */
.splitTacticalTools{
  display:grid;
  gap:6px;
  padding:7px;
  border:1px solid rgba(255,255,255,.07);
  background:rgba(8,12,18,.46);
  border-radius:12px;
}
.splitToolRow{
  display:flex;
  gap:6px;
  align-items:end;
  flex-wrap:wrap;
}
.splitToolRow label{
  margin:0;
  min-width:74px;
  flex:1 1 74px;
  font-size:9px;
}
.splitToolRow select,
.splitToolRow input{
  margin-top:3px;
  padding:6px 7px;
  border-radius:8px;
  font-size:11px;
}
.splitToolRow button{
  padding:7px 8px;
  border-radius:8px;
  font-size:11px;
}
.splitPlayerLayer{
  position:absolute;
  inset:0;
  z-index:8;
}
.splitPlayer{
  position:absolute;
  width:32px;
  height:32px;
  transform:translate(-50%,-50%);
  border-radius:999px;
  border:2px solid rgba(255,255,255,.82);
  background:var(--kit);
  color:var(--num);
  display:grid;
  place-items:center;
  font-size:10px;
  font-weight:950;
  padding:0;
  box-shadow:0 7px 18px rgba(0,0,0,.34);
  touch-action:none;
  cursor:grab;
  z-index:9;
}
.splitPlayer:active{cursor:grabbing;}
.presentSplitPlayer{
  pointer-events:none;
  width:34px;
  height:34px;
  font-size:10px;
}
#presentationOverlay.truePresent .splitTacticalTools{
  display:none !important;
}


/* V036I7A — narrow split tactical progress */
.presentSplitPlayer{
  pointer-events:auto !important;
  cursor:grab !important;
}
.presentSplitPlayer:active{
  cursor:grabbing !important;
}
.splitToolRow button[data-split-clear-last]{
  color:#fef3c7;
  border-color:rgba(250,204,21,.34);
}


/* V036I7B — present player visibility repair */
.presentSplitPlayer{
  display:grid !important;
  pointer-events:auto !important;
  cursor:grab !important;
}
.presentSplitPlayer:active{
  cursor:grabbing !important;
}


/* V036I7C - UI cleanup only */
.splitTacticalTools{
  gap:10px !important;
  padding:10px !important;
}

.splitToolHeader{
  color:#d0d5dd !important;
  font-size:11px !important;
  letter-spacing:.08em !important;
  margin:2px 0 4px 0 !important;
}

.splitToolRow{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px !important;
  align-items:end !important;
}

.splitToolRow label{
  min-width:0 !important;
  font-size:10px !important;
}

.splitToolRow select,
.splitToolRow input{
  width:100% !important;
  min-height:34px !important;
  font-size:12px !important;
}

.splitToolRow button{
  min-height:34px !important;
  font-size:12px !important;
}

.splitTacticalEdit summary{
  padding:10px 12px !important;
  font-size:12px !important;
}

.splitToolActions{
  display:flex !important;
  justify-content:flex-end !important;
}

@media(max-width:1200px){
  .splitToolRow{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* V036I7E — verified Team 1 / Team 2 controls, UI only */
.splitTeamTools{
  display:grid !important;
  gap:8px !important;
  padding:9px !important;
  border:1px solid rgba(255,255,255,.07) !important;
  background:rgba(8,12,18,.46) !important;
  border-radius:12px !important;
}
.teamControlRow{
  display:grid !important;
  grid-template-columns:76px minmax(90px,1fr) minmax(120px,1fr) minmax(110px,1fr) 88px;
  gap:8px !important;
  align-items:end !important;
  padding:0 0 8px 0;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.teamControlRow:last-of-type{border-bottom:0;}
.teamControlRow strong{
  align-self:center;
  color:#F5F6F7;
  font-size:12px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.teamControlRow label{
  min-width:0 !important;
  margin:0 !important;
  font-size:9px !important;
  color:#9AA1AC !important;
}
.teamControlRow select,
.teamControlRow input{
  width:100% !important;
  margin-top:3px !important;
  min-height:32px !important;
  padding:6px 7px !important;
  border-radius:8px !important;
  font-size:12px !important;
}
.teamControlRow button{
  min-height:32px !important;
  padding:7px 10px !important;
  border-radius:9px !important;
  font-size:12px !important;
}
.splitControlActions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
}
.splitControlActions button{
  min-height:32px;
  padding:7px 10px;
  font-size:12px;
  border-radius:9px;
}
.splitControlActions [data-split-clear-last]{
  color:#fef3c7;
  border-color:rgba(250,204,21,.34);
}
.splitControlActions [data-split-clear]{
  color:#fecaca;
  border-color:#6b1c1c;
  background:#3b1111;
}
@media(max-width:1250px){
  .teamControlRow{
    grid-template-columns:70px minmax(0,1fr) minmax(0,1fr);
  }
  .teamControlRow button{
    grid-column:2 / 4;
  }
}


/* V036I7F — collapsible split tactical controls */
.splitTacticalDrawer{
  margin-top:6px;
  border:1px solid rgba(255,255,255,.07);
  background:rgba(8,12,18,.42);
  border-radius:12px;
  overflow:hidden;
}

.splitTacticalDrawer summary{
  list-style:none;
  cursor:pointer;
  padding:9px 11px;
  color:var(--accent);
  font-size:11px;
  font-weight:950;
  letter-spacing:.10em;
  text-transform:uppercase;
  user-select:none;
}

.splitTacticalDrawer summary::-webkit-details-marker{
  display:none;
}

.splitTacticalDrawer summary:after{
  content:"+";
  float:right;
  color:#9AA1AC;
  font-size:14px;
  line-height:1;
}

.splitTacticalDrawer[open] summary{
  border-bottom:1px solid rgba(255,255,255,.07);
  background:rgba(0,96,168,.07);
}

.splitTacticalDrawer[open] summary:after{
  content:"–";
}

.splitTacticalDrawer .splitTeamTools{
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  margin:0 !important;
}

.splitPanel.panelType-field{
  grid-template-rows:auto minmax(0,1fr) auto !important;
}

.splitPanel.panelType-field .mediaPanel{
  min-height:0 !important;
}

.splitPanel.panelType-field:not(:has(.splitTacticalDrawer[open])) .splitTacticalField{
  height:100% !important;
  max-height:100% !important;
  min-height:0 !important;
}

/* V036I8 PASS 1: editable images only */
.mediaPanel{position:relative;}
.editableImageStage{position:absolute;display:block;max-width:none;cursor:grab;user-select:none;touch-action:none;z-index:2;filter:drop-shadow(0 20px 70px rgba(0,0,0,.42));}
.editableImageStage:active{cursor:grabbing;}
.editableImageStage img{width:100%;height:auto;display:block;border-radius:14px;border:1px solid var(--line);pointer-events:none;max-width:none;max-height:none;box-shadow:none!important;}
.splitPanel.active .editableImageStage{outline:1px solid rgba(0,96,168,.65);outline-offset:7px;border-radius:16px;}
.imageMoveHint{position:absolute;left:10px;top:10px;background:rgba(8,11,15,.72);border:1px solid rgba(245,247,250,.18);border-radius:999px;padding:5px 8px;color:var(--accent);font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.12em;opacity:0;transition:.16s;pointer-events:none;}
.editableImageStage:hover .imageMoveHint,.splitPanel.active .editableImageStage .imageMoveHint{opacity:1;}
.imageResizeHandle{position:absolute!important;right:-14px!important;bottom:-14px!important;width:28px!important;height:28px!important;border-radius:999px!important;background:var(--accent)!important;border:2px solid #05070a!important;padding:0!important;box-shadow:0 8px 24px rgba(0,0,0,.45)!important;cursor:nwse-resize!important;z-index:4;}
.imageResizeHandle:after{content:"";position:absolute;left:8px;top:8px;width:8px;height:8px;border-right:2px solid #05070a;border-bottom:2px solid #05070a;}
.imageToolbar.inlineMediaTools{align-items:center;}
.imageToolbar.inlineMediaTools label{min-width:120px;}

/* V036I8B repair: editable cover + section-divider background images only */
.coverPage,.sectionDividerPage{overflow:hidden;}
.pageBgImageLayer{position:absolute;z-index:0;display:grid;place-items:center;cursor:grab;user-select:none;touch-action:none;}
.pageBgImageLayer:active{cursor:grabbing;}
.pageBgImageLayer img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;}
.pageBgImageLayer span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:7px 10px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(8,11,15,.62);color:#f5f7fa;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.12em;opacity:.72;pointer-events:none;}
.pageBgImageLayer:hover span{opacity:1;}
.coverImageShade,.dividerImageShade{position:absolute;inset:0;z-index:1;pointer-events:none;}
.coverImageShade{background:linear-gradient(90deg, rgba(5,7,10,.82), rgba(5,7,10,.32));}
.dividerImageShade{background:linear-gradient(rgba(8,11,15,.55),rgba(8,11,15,.55));}
.coverControls,.coverColourControls,.dividerControls,.coverText,.sectionDividerPage>input{z-index:4;}
.coverControlsExpanded,.dividerControlsExpanded{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:rgba(8,11,15,.72);border:1px solid var(--line);border-radius:12px;padding:8px;}
.coverControlsExpanded label,.dividerControlsExpanded label{margin:0;display:flex;align-items:center;gap:6px;}
.coverControlsExpanded input[type=range],.dividerControlsExpanded input[type=range]{width:110px;height:auto;margin:0;padding:0;}
.coverControlsExpanded input[type=color],.dividerControlsExpanded input[type=color]{width:42px;height:32px;margin:0;padding:2px;}
.coverControlsExpanded .fileBtn,.dividerControlsExpanded .fileBtn{padding:8px 10px;}
.sectionDividerPage>input{position:relative;}

/* V036I8A repair: editable cover + section divider image layers */
.editableCoverPage,.editableDividerPage{position:relative;overflow:hidden;background:var(--dividerBg,#080b0f)}
.editablePageImage{position:absolute;z-index:0;display:block;max-width:none;width:100%;height:auto;user-select:none;touch-action:none;cursor:grab;transform-origin:center center;filter:saturate(1.03) contrast(1.02)}
.editablePageImage:active{cursor:grabbing}
.coverImageShade,.dividerImageShade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(5,7,10,.88),rgba(5,7,10,.22));opacity:var(--coverOverlay,.48)}
.dividerImageShade{background:rgba(8,11,15,.72);opacity:var(--dividerOverlay,.55)}
.editableCoverPage .coverControls,.editableCoverPage .coverColourControls,.editableCoverPage .coverText,.editableDividerPage .dividerControls,.editableDividerPage #dividerTitle{z-index:3}
.coverEditControls,.dividerEditControls{display:flex!important;gap:8px!important;align-items:center!important;flex-wrap:wrap!important;max-width:calc(100% - 36px);background:rgba(8,11,15,.76);border:1px solid var(--line);border-radius:12px;padding:8px!important}
.coverEditControls label,.dividerEditControls label{display:flex;align-items:center;gap:6px;margin:0!important;color:var(--muted);font-size:10px;letter-spacing:.08em;white-space:nowrap}
.coverEditControls input[type=range],.dividerEditControls input[type=range]{width:92px;margin:0;padding:0}
.coverEditControls input[type=color],.dividerEditControls input[type=color]{width:34px;height:28px;margin:0;padding:2px}
.coverEditControls button,.dividerEditControls button{padding:7px 9px;font-size:11px;border-radius:8px}
.editableDividerPage #dividerTitle{position:relative}

/* V036I8C repair: cover/divider use direct image resize + right-sidebar image controls */
body.pageType-cover #rightPanel,
body.pageType-sectionDivider #rightPanel{padding:14px!important;border-left:1px solid var(--line)!important;overflow:auto!important;background:var(--panel)!important;}
body.pageType-cover #pagePanel,
body.pageType-sectionDivider #pagePanel{display:block!important;}
body.pageType-cover #sessionPanel,
body.pageType-cover #blockPanel,
body.pageType-sectionDivider #sessionPanel,
body.pageType-sectionDivider #blockPanel{display:none!important;}
.pageImageSidebar{border-top:1px solid var(--line);margin-top:14px;padding-top:14px;display:grid;gap:10px;}
.pageImageSidebar h2{font-size:13px;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin:0 0 2px;}
.pageImageSidebar label{margin:0;}
.pageImageSidebar input[type=range]{width:100%;}
.compactPageImageTools{max-width:420px!important;}
.compactPageImageTools label:not(.fileBtn){display:none!important;}
.pageEditableImageStage{position:absolute;z-index:0;display:block;max-width:none;cursor:grab;user-select:none;touch-action:none;transform-origin:center center;filter:drop-shadow(0 22px 80px rgba(0,0,0,.45));}
.pageEditableImageStage:active{cursor:grabbing;}
.pageEditableImageStage img{display:block;width:100%;height:auto;max-width:none;max-height:none;border:1px solid rgba(245,247,250,.22);border-radius:16px;pointer-events:none;}
.pageEditableImageStage:hover{outline:1px solid rgba(0,96,168,.72);outline-offset:8px;border-radius:18px;}
.pageImageResizeHandle{position:absolute!important;right:-14px!important;bottom:-14px!important;width:30px!important;height:30px!important;border-radius:999px!important;background:var(--accent)!important;border:2px solid #05070a!important;padding:0!important;box-shadow:0 8px 24px rgba(0,0,0,.48)!important;cursor:nwse-resize!important;z-index:6;}
.pageImageResizeHandle:after{content:"";position:absolute;left:9px;top:9px;width:8px;height:8px;border-right:2px solid #05070a;border-bottom:2px solid #05070a;}
.editableCoverPage .coverImageShade,.editableDividerPage .dividerImageShade{z-index:1;}
.editableCoverPage .coverControls,.editableCoverPage .coverColourControls,.editableCoverPage .coverText,.editableDividerPage .dividerControls,.editableDividerPage #dividerTitle{z-index:3;}
#presentationOverlay.truePresent .presentExactCover,
#presentationOverlay.truePresent .presentExactDivider{position:relative;height:100%;width:100%;overflow:hidden;background:var(--dividerBg,#101419);}
#presentationOverlay.truePresent .presentExactCover .presentExactImage,
#presentationOverlay.truePresent .presentExactDivider .presentExactImage{position:absolute;z-index:0;display:block;max-width:none;height:auto;transform-origin:center center;}
#presentationOverlay.truePresent .presentExactCover .coverImageShade,
#presentationOverlay.truePresent .presentExactDivider .dividerImageShade{position:absolute;inset:0;z-index:1;pointer-events:none;}
#presentationOverlay.truePresent .presentExactCover .coverText{position:absolute;z-index:2;display:grid;gap:14px;width:min(780px,80%);}
#presentationOverlay.truePresent .presentExactCover h1{font-size:58px;line-height:1;font-weight:950;letter-spacing:-.05em;margin:0;}
#presentationOverlay.truePresent .presentExactCover h2{font-size:24px;font-weight:600;margin:0;}
#presentationOverlay.truePresent .presentExactCover p{font-size:16px;font-weight:900;text-transform:uppercase;letter-spacing:.14em;margin:0;}
#presentationOverlay.truePresent .presentExactDivider input{position:relative;z-index:2;width:min(900px,86%);background:transparent;border:0;text-align:center;color:var(--dividerText,#f5f7fa);font-size:82px;font-weight:900;letter-spacing:-.04em;text-transform:uppercase;}

/* V036I8D universal image layers */
.pageImageHost{position:relative!important;overflow:hidden;}
.pageInsertedImageLayer{position:absolute;inset:0;pointer-events:none;z-index:35;}
.pageInsertedImageStage{position:absolute;pointer-events:auto;user-select:none;touch-action:none;cursor:grab;min-width:28px;}
.pageInsertedImageStage:active{cursor:grabbing;}
.pageInsertedImageStage img{display:block;width:100%;height:auto;max-width:none!important;max-height:none!important;pointer-events:none;border-radius:0;box-shadow:none;}
.pageInsertedImageStage.selected{outline:2px solid var(--accent);outline-offset:4px;}
.pageInsertedResizeHandle{position:absolute;right:-12px;bottom:-12px;width:26px;height:26px;border-radius:999px;background:var(--accent);border:2px solid #07111f;box-shadow:0 8px 22px rgba(0,0,0,.45);cursor:nwse-resize;padding:0;}
.pageInsertedResizeHandle:hover{border-color:#fff;}
.imageLayerButtons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;}
.imageLayerButtons button{width:100%;}
.presentImageHost{position:relative!important;overflow:hidden;}
.presentInsertedImageLayer{position:absolute;inset:0;pointer-events:none;z-index:42;}
.presentInsertedImage{position:absolute;height:auto;max-width:none!important;max-height:none!important;}


/* V036I8F functional repair: global image sidebar + real image/text stacking */
body.pageType-cover #rightPanel .panelSection,
body.pageType-sectionDivider #rightPanel .panelSection{display:block!important;}
body.pageType-cover #rightPanel,
body.pageType-sectionDivider #rightPanel{background:var(--panel)!important;padding:14px!important;border-left:1px solid var(--line)!important;overflow:auto!important;}
body.pageType-cover #pagePanel,
body.pageType-sectionDivider #pagePanel{display:block!important;}
.pageInsertedImageLayer{z-index:auto!important;}
.presentInsertedImageLayer{z-index:auto!important;}
.pageInsertedImageStage{position:absolute!important;}
.coverText,.sectionDividerPage #dividerTitle,.sectionDividerPage>input{z-index:3!important;}
.coverColourControls,.coverControls,.dividerControls{z-index:10!important;}


/* V036I8G cover sidebar visibility + media tab tidy */
body.pageType-cover:not(.objectSelected) #rightPanel .panelSection,
body.pageType-sectionDivider:not(.objectSelected) #rightPanel .panelSection{display:block!important;}
body.pageType-cover #pagePanel,
body.pageType-sectionDivider #pagePanel{display:block!important;}
body.pageType-cover #sessionPanel,
body.pageType-cover #blockPanel,
body.pageType-sectionDivider #sessionPanel,
body.pageType-sectionDivider #blockPanel{display:none!important;}
.mediaUpload{display:block;text-align:center;}
.toolDrop .toolHint{display:block;max-width:210px;white-space:normal;line-height:1.25;}

/* V036I8I sidebar discipline: cover/divider show image controls only; session/block panels only on session block pages */
body:not(.pageType-block) #sessionPanel,
body:not(.pageType-block) #blockPanel{display:none!important;}
body.pageType-block #sessionPanel,
body.pageType-block #blockPanel{display:block;}

body.pageType-cover #rightPanel .panelSection,
body.pageType-sectionDivider #rightPanel .panelSection{display:none!important;}
body.pageType-cover #pagePanel,
body.pageType-sectionDivider #pagePanel{display:block!important;border-bottom:0!important;margin-bottom:0!important;padding-bottom:0!important;}
body.pageType-cover #pagePanel > h2,
body.pageType-cover #pagePanel > label,
body.pageType-cover #pagePanel > #rightPitchModeWrap,
body.pageType-sectionDivider #pagePanel > h2,
body.pageType-sectionDivider #pagePanel > label,
body.pageType-sectionDivider #pagePanel > #rightPitchModeWrap{display:none!important;}
body.pageType-cover #pagePanel .pageImageSidebar,
body.pageType-sectionDivider #pagePanel .pageImageSidebar{display:grid!important;border-top:0!important;margin-top:0!important;padding-top:0!important;}


/* V036I8K hard sidebar discipline: non-block pages never show session/block editors */
body:not(.pageType-block) aside#rightPanel section#sessionPanel,
body:not(.pageType-block) aside#rightPanel section#blockPanel{display:none!important;}
body.pageType-cover aside#rightPanel section.panelSection:not(#pagePanel),
body.pageType-sectionDivider aside#rightPanel section.panelSection:not(#pagePanel){display:none!important;}
body.pageType-cover aside#rightPanel #pagePanel > *:not(.pageImageSidebar):not(#insertedImageSidebar),
body.pageType-sectionDivider aside#rightPanel #pagePanel > *:not(.pageImageSidebar):not(#insertedImageSidebar){display:none!important;}
body.pageType-cover aside#rightPanel #pagePanel,
body.pageType-sectionDivider aside#rightPanel #pagePanel{display:block!important;margin-bottom:0!important;padding-bottom:0!important;border-bottom:0!important;}

/* V036I9 Premium Equipment Library */
.equipmentDrop{
  min-width:230px;
  max-height:70vh;
  overflow:auto;
  grid-template-columns:1fr 1fr;
  align-items:start;
}
.equipmentDrop .toolDropLabel{
  grid-column:1 / -1;
  margin:7px 0 2px;
  padding:7px 8px 4px;
  color:var(--accent);
  border-top:1px solid rgba(245,247,250,.08);
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.16em;
}
.equipmentDrop .toolDropLabel:first-child{border-top:0;margin-top:0;}
.equipmentDrop .toolBtn{font-size:11px;padding:8px 9px;text-align:left;}

/* V036I9D quick object actions */
.canvasQuickActions{
  position:absolute;
  z-index:45;
  display:grid;
  gap:6px;
  align-items:center;
  padding:6px;
  border:1px solid rgba(0,96,168,.35);
  border-radius:12px;
  background:rgba(12,15,19,.92);
  box-shadow:0 14px 38px rgba(0,0,0,.38);
  backdrop-filter:blur(10px);
  pointer-events:auto;
}
.canvasQuickActions .quickMainRow,.canvasQuickActions .quickDuplicateRow{display:flex;gap:6px;align-items:center;}
.canvasQuickActions .quickDuplicateRow{border-top:1px solid rgba(245,247,250,.10);padding-top:6px;}
.canvasQuickActions .quickDuplicateRow span{color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;}
.canvasQuickActions.hidden{display:none!important;}
.canvasQuickActions button{
  padding:7px 9px;
  border-radius:8px;
  font-size:11px;
  line-height:1;
  background:#1b222b;
}
.canvasQuickActions .quickDuplicateRow button{padding:6px 8px;font-size:10px;}
.canvasQuickActions .danger{
  background:#3b1111;
  color:#fecaca;
  border-color:#6b1c1c;
}


/* V037B Framework pages — visual-first editable coaching assets */
.frameworkPage{min-height:100%;padding:28px;display:grid;gap:18px;align-content:start;background:radial-gradient(circle at 82% 8%,rgba(0,96,168,.10),transparent 30%),#101419;overflow:auto;}
.frameworkHead{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.frameworkTitle{font-size:48px;letter-spacing:-.05em;font-weight:950;background:transparent;border:0;color:var(--text);padding:0;margin:0;min-width:280px;}
.frameworkControls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:rgba(8,11,15,.62);border:1px solid var(--line);border-radius:14px;padding:8px;}
.frameworkControls button{padding:8px 10px;font-size:12px;border-radius:9px;}
.frameworkCard{border:1px solid color-mix(in srgb,var(--cardColor,#0060A8) 40%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--cardColor,#0060A8) 15%,#151a20),#111821);border-radius:22px;padding:18px;min-height:150px;display:grid;grid-template-rows:auto 1fr auto;gap:10px;position:relative;overflow:hidden;}
.frameworkCard:before{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:var(--cardColor,#0060A8);opacity:.95;}
.frameworkCard input,.frameworkCard textarea,.frameworkPanel input,.frameworkPanel textarea{background:transparent!important;border:0!important;color:var(--text)!important;margin:0!important;padding:0!important;resize:none;outline:0;}
.frameworkCard input{font-size:22px;font-weight:950;letter-spacing:-.02em;}
.frameworkCard textarea{min-height:86px;font-size:16px;line-height:1.45;color:var(--text)!important;}
.frameworkCard input::placeholder,.frameworkCard textarea::placeholder,.frameworkTitle::placeholder{color:rgba(245,246,247,.28);}
.frameworkMiniBar{display:flex;gap:8px;align-items:center;justify-content:flex-end;}
.frameworkMiniBar input[type=color]{width:36px;height:30px;padding:2px;border-radius:8px;background:#0b1220;border:1px solid var(--line);}
.frameworkMiniBar button{padding:6px 8px;font-size:11px;border-radius:8px;}
.flexGridWrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;align-items:stretch;}
.flexGridWrap.count1{grid-template-columns:1fr}.flexGridWrap.count2{grid-template-columns:repeat(2,1fr)}.flexGridWrap.count3{grid-template-columns:1.15fr 1fr 1fr}.flexGridWrap.count4{grid-template-columns:repeat(2,1fr)}
.circularStage{position:relative;min-height:640px;border:1px solid var(--line);border-radius:26px;background:rgba(8,11,15,.35);overflow:hidden;}
.circularCenter{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:210px;height:210px;border-radius:999px;border:1px solid rgba(245,246,247,.16);background:#151a20;display:grid;place-items:center;text-align:center;padding:20px;z-index:2;}
.circularCenter input{background:transparent;border:0;color:var(--text);font-size:24px;font-weight:950;text-align:center;width:100%;}
.circularSegment{position:absolute;width:230px;min-height:132px;transform:translate(-50%,-50%);}
.circularSegment .frameworkCard{min-height:132px;padding:14px;}
.circularSegment .frameworkCard input{font-size:18px}.circularSegment .frameworkCard textarea{font-size:14px;min-height:50px}
.decisionStage{position:relative;min-height:650px;border:1px solid var(--line);border-radius:26px;background:radial-gradient(circle at center,rgba(0,96,168,.08),transparent 45%),rgba(8,11,15,.3);overflow:hidden;}
.decisionSvg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
.decisionNode{position:absolute;width:230px;min-height:130px;transform:translate(-50%,-50%);cursor:grab;}
.decisionNode:active{cursor:grabbing;}
.decisionNode .frameworkCard{min-height:130px;padding:14px;}
.decisionNode .frameworkCard input{font-size:18px}.decisionNode .frameworkCard textarea{font-size:14px;min-height:48px}
.pyramidWrap{display:grid;gap:14px;align-content:end;min-height:620px;}
.pyramidRow{display:flex;justify-content:center;gap:14px;align-items:stretch;}
.pyramidRow .frameworkCard{min-height:112px;min-width:180px;max-width:320px;flex:1;}
.pyramidRow.foundation .frameworkCard{min-height:132px;}
.spiderLayout{display:grid;grid-template-columns:minmax(420px,1fr) 420px;gap:20px;align-items:start;}
.spiderCanvasBox{border:1px solid var(--line);border-radius:28px;background:rgba(8,11,15,.35);padding:18px;display:grid;place-items:center;min-height:560px;}
.spiderSvg{width:100%;max-width:560px;height:auto;overflow:visible;}
.axisList{display:grid;gap:10px;}
.axisRow{display:grid;grid-template-columns:1fr 72px 72px auto;gap:8px;align-items:center;background:#151a20;border:1px solid var(--line);border-radius:14px;padding:10px;}
.axisRow input{margin:0;background:#0b1220;color:var(--text);border:1px solid var(--line);border-radius:9px;padding:8px;}
.axisRow button{padding:8px 9px;font-size:11px;}
.idpCoverPage{min-height:100%;display:grid;grid-template-columns:1.05fr .95fr;gap:24px;padding:38px;background:radial-gradient(circle at 80% 20%,rgba(0,96,168,.12),transparent 36%),#101419;}
.idpHero{display:grid;align-content:end;gap:14px;border:1px solid var(--line);border-radius:30px;padding:30px;background:#121820;}
.idpHero input{background:transparent;border:0;color:var(--text);padding:0;margin:0;}
.idpHero .playerName{font-size:60px;font-weight:950;letter-spacing:-.06em;}
.idpHero .playerMeta{font-size:24px;color:var(--accent);font-weight:900;}
.idpHero textarea{background:transparent;border:0;color:var(--muted);font-size:19px;min-height:160px;}
.idpPhoto{border:1px dashed rgba(245,246,247,.22);border-radius:30px;background:#0b1118;display:grid;place-items:center;min-height:560px;color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.12em;overflow:hidden;}
.idpPhoto img{width:100%;height:100%;object-fit:cover;}
.pillarsWrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;}
.objectiveList,.progressList{display:grid;gap:14px;}
.objectiveCard{grid-template-columns:1fr;}
.objectiveGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.objectiveGrid label{margin:0;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:11px;}
.objectiveGrid textarea{background:#0b1220!important;border:1px solid var(--line)!important;border-radius:12px!important;padding:10px!important;min-height:90px!important;}
.progressStatus{display:flex;gap:8px;align-items:center;}
.principleVisual{display:grid;grid-template-columns:minmax(360px,1fr) minmax(360px,.9fr);gap:20px;min-height:590px;}
.principleMedia{border:1px dashed rgba(245,246,247,.22);border-radius:26px;background:#0b1118;display:grid;place-items:center;color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.12em;overflow:hidden;}
.principleMedia img{width:100%;height:100%;object-fit:cover;}
.principleNotes{display:grid;gap:14px;}
.presentFramework{height:100%;padding:44px!important;overflow:hidden!important;align-content:start!important;}
.presentFramework .frameworkControls,.presentFramework .frameworkMiniBar,.presentFramework button,.presentFramework input[type=color],.presentFramework .axisList{display:none!important;}
.presentFramework input,.presentFramework textarea{pointer-events:none;}
.presentFramework .frameworkCard.emptyInPresent{display:none!important;}
.presentFramework .circularStage,.presentFramework .decisionStage{min-height:820px;}
.presentFramework .spiderLayout{grid-template-columns:1fr;}.presentFramework .spiderCanvasBox{min-height:700px;}
.pageCard.flexGrid .pageThumb,.pageCard.circularGrid .pageThumb,.pageCard.decisionTree .pageThumb,.pageCard.pyramid .pageThumb,.pageCard.spiderGraph .pageThumb,.pageCard.idpCover .pageThumb,.pageCard.developmentPillars .pageThumb,.pageCard.idpObjectives .pageThumb,.pageCard.idpProgress .pageThumb,.pageCard.principlePage .pageThumb{background:linear-gradient(135deg,#1b2636,#12324d)}
@media(max-width:1200px){.spiderLayout,.idpCoverPage,.principleVisual{grid-template-columns:1fr}.objectiveGrid{grid-template-columns:1fr}.circularStage,.decisionStage{min-height:760px}.frameworkTitle{font-size:38px}}

/* V038 geometry rebuild: presentation-first pages, no card/pill clone visuals */
.geometryPage{min-height:100%;padding:26px 30px 34px;background:radial-gradient(circle at 82% 8%,rgba(0,96,168,.08),transparent 32%),#101419;display:grid;grid-template-rows:auto 1fr;gap:18px;overflow:auto;}
.geometryHead{display:flex;align-items:center;justify-content:space-between;gap:14px;}
.geometryTitle{font-size:48px!important;font-weight:950!important;letter-spacing:-.055em!important;background:transparent!important;border:0!important;color:var(--text)!important;padding:0!important;margin:0!important;}
.geometryTitle::placeholder,.geometryPage input::placeholder,.geometryPage textarea::placeholder{color:rgba(245,246,247,.25)!important;}
.geometryControls{display:flex;gap:8px;align-items:center;background:rgba(8,11,15,.62);border:1px solid var(--line);border-radius:14px;padding:8px;}
.geometryControls button,.geoMini button,.pyramidRowControls button{padding:7px 9px;font-size:11px;border-radius:8px;}
.geoMini{display:flex;gap:7px;align-items:center;justify-content:flex-end;opacity:.72;}
.geoMini input[type=color]{width:34px;height:28px;padding:2px;border-radius:8px;background:#0b1220;border:1px solid var(--line);}
.geometryPage input,.geometryPage textarea{font-family:inherit;}

.flexCanvas{min-height:630px;border:1px solid var(--line);border-radius:28px;overflow:hidden;display:grid;background:#090c10;box-shadow:inset 0 0 0 1px rgba(255,255,255,.035);}
.flexCanvas.flexCount1{grid-template-columns:1fr;grid-template-rows:1fr;}
.flexCanvas.flexCount2{grid-template-columns:1fr 1fr;}
.flexCanvas.flexCount3{grid-template-columns:1.12fr .88fr;grid-template-rows:1fr 1fr;}
.flexCanvas.flexCount3 .flexCell:first-child{grid-row:1/3;}
.flexCanvas.flexCount4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;}
.flexCanvas.flexCount5,.flexCanvas.flexCount6{grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;}
.flexCell{min-height:210px;border:1px solid rgba(245,246,247,.12);padding:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--geoColor) 24%,#111821),#0c1117);display:grid;grid-template-rows:auto 1fr auto;gap:10px;position:relative;}
.flexCell:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.035),transparent);pointer-events:none;}
.flexCell input,.flexCell textarea,.pieEdit input,.pieEdit textarea,.pyramidBlock input,.pyramidBlock textarea,.treeNode input,.treeNode textarea,.pillarColumn input,.pillarColumn textarea,.objectiveStrip input,.objectiveStrip textarea{background:transparent!important;border:0!important;color:var(--text)!important;margin:0!important;padding:0!important;resize:none!important;outline:0!important;position:relative;z-index:1;}
.flexCell input,.pyramidBlock input,.treeNode input,.pillarColumn input,.objectiveStrip input,.pieEdit input{font-size:22px;font-weight:950;letter-spacing:-.025em;}
.flexCell textarea,.pyramidBlock textarea,.treeNode textarea,.pillarColumn textarea,.objectiveStrip textarea,.pieEdit textarea{font-size:16px;line-height:1.42;color:var(--text)!important;min-height:80px;}

.pieStage{position:relative;min-height:650px;border:1px solid var(--line);border-radius:30px;background:radial-gradient(circle at center,rgba(0,96,168,.08),transparent 42%),#0b1016;overflow:hidden;}
.pieSvg{position:absolute;inset:0;width:100%;height:100%;}
.pieCentre{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:170px!important;text-align:center!important;font-size:23px!important;font-weight:950!important;background:transparent!important;border:0!important;color:var(--text)!important;padding:0!important;z-index:3;}
.pieEdit{position:absolute;transform:translate(-50%,-50%);width:190px;min-height:112px;display:grid;grid-template-rows:auto 1fr auto;gap:6px;text-align:center;padding:10px;z-index:4;background:rgba(7,10,14,.28);border:1px solid rgba(245,246,247,.18);border-radius:16px;backdrop-filter:blur(2px);}
.pieEdit textarea{min-height:42px;text-align:center;}
.pieEdit input{text-align:center;font-size:18px;}

.treeStage{position:relative;min-height:650px;border:1px solid var(--line);border-radius:30px;background:radial-gradient(circle at 50% 18%,rgba(0,96,168,.07),transparent 44%),#0b1016;overflow:hidden;}
.treeSvg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.treeSvg line{stroke:rgba(245,246,247,.44);stroke-width:2.2;stroke-linecap:round;}
.treeNode{position:absolute;transform:translate(-50%,-50%);width:142px;min-height:66px;padding:8px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--geoColor) 55%,rgba(245,246,247,.18));background:color-mix(in srgb,var(--geoColor) 23%,#101419);display:grid;gap:3px;text-align:center;box-shadow:0 16px 40px rgba(0,0,0,.24);cursor:grab;}
.treeNode.selected{box-shadow:0 0 0 2px var(--accent),0 18px 52px rgba(0,0,0,.36);}
.treeNode input{font-size:15px!important;text-align:center;}
.treeNode textarea{font-size:11px!important;line-height:1.2!important;text-align:center;min-height:22px!important;}
.treeNode .geoMini{display:none;position:absolute;left:50%;top:100%;transform:translateX(-50%);background:#111821;border:1px solid var(--line);border-radius:10px;padding:4px;margin-top:4px;}
.treeNode.selected .geoMini{display:flex;}

.pyramidBuild{min-height:630px;border:1px solid var(--line);border-radius:30px;background:radial-gradient(circle at 50% 0%,rgba(0,96,168,.07),transparent 46%),#0b1016;padding:24px;display:flex;flex-direction:column;justify-content:flex-end;gap:12px;overflow:auto;}
.pyramidLevel{width:calc(92% * var(--levelScale));margin:0 auto;display:grid;gap:6px;}
.pyramidRowControls{display:flex;gap:7px;justify-content:center;opacity:.7;}
.pyramidBlocks{display:flex;gap:10px;justify-content:center;align-items:stretch;}
.pyramidBlock{flex:1;min-height:90px;max-width:520px;padding:16px 18px;border-radius:14px;border:1px solid color-mix(in srgb,var(--geoColor) 55%,rgba(245,246,247,.18));background:linear-gradient(135deg,color-mix(in srgb,var(--geoColor) 26%,#151a20),#0e1319);display:grid;grid-template-rows:auto 1fr auto;gap:6px;text-align:center;}
.pyramidLevel.foundation{width:94%;}
.pyramidLevel.foundation .pyramidBlock{min-height:118px;border-radius:18px;}
.pyramidBlock textarea{text-align:center;min-height:38px;}
.pyramidBlock input{text-align:center;}

.spiderLayoutV38{display:grid;grid-template-columns:minmax(560px,1fr) 390px;gap:20px;align-items:start;}
.spiderCanvasBox{border:1px solid var(--line);border-radius:30px;background:radial-gradient(circle at 50% 50%,rgba(0,96,168,.05),transparent 44%),#0b1016;min-height:650px;display:grid;place-items:center;padding:10px;}
.spiderSvg{width:100%;max-width:720px;height:auto;overflow:visible;}
.axisListV38{display:grid;gap:9px;align-content:start;}
.datasetRows{display:grid;gap:8px;margin-bottom:8px;}
.datasetRow,.axisRowV38{display:grid;grid-template-columns:1fr 58px auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:14px;background:#111821;padding:9px;}
.axisRowV38{grid-template-columns:1fr repeat(3,64px) auto;}
.axisRowV38 input,.datasetRow input{background:#0b1220!important;border:1px solid var(--line)!important;border-radius:8px!important;padding:8px!important;color:var(--text)!important;margin:0!important;}
.axisRowV38 input[type=number]{min-width:58px;}

.pillarStage{min-height:630px;border:1px solid var(--line);border-radius:30px;background:#0b1016;display:flex;gap:0;overflow:hidden;}
.pillarColumn{flex:1;min-width:160px;border-right:1px solid rgba(245,246,247,.12);position:relative;padding:26px 22px;display:grid;grid-template-rows:auto 1fr auto;gap:10px;align-content:end;background:linear-gradient(180deg,rgba(255,255,255,.035),transparent);}
.pillarColumn:last-child{border-right:0;}
.pillarFill{position:absolute;left:0;right:0;bottom:0;height:100%;background:linear-gradient(180deg,color-mix(in srgb,var(--geoColor) 36%,transparent),color-mix(in srgb,var(--geoColor) 58%,#101419));opacity:.38;}
.pillarColumn input{font-size:26px!important;z-index:2;align-self:end;}
.pillarColumn textarea{z-index:2;min-height:170px;align-self:end;}
.pillarColumn .geoMini{z-index:3;}

.objectiveListV38{display:grid;gap:14px;align-content:start;}
.objectiveStrip{border-left:12px solid var(--geoColor);background:#111821;border-radius:18px;padding:18px 18px 14px;display:grid;grid-template-columns:minmax(200px,.55fr) 1fr auto;gap:16px;align-items:start;}
.objectiveStrip input{font-size:22px!important;}
.objectiveStrip textarea{min-height:70px;}
.objectiveStrip .geoMini{align-self:end;}

.presentFramework.geometryPage{height:100%;padding:34px;overflow:hidden;}
.presentFramework .geometryControls,.presentFramework .geoMini,.presentFramework .pyramidRowControls,.presentFramework button,.presentFramework input[type=color],.presentFramework .axisListV38,.presentFramework .datasetRows{display:none!important;}
.presentFramework .emptyInPresent{display:none!important;}
.presentFramework input,.presentFramework textarea{pointer-events:none!important;}
.presentFramework .spiderLayoutV38{grid-template-columns:1fr;}
.presentFramework .spiderCanvasBox{min-height:760px;}
@media(max-width:1200px){.spiderLayoutV38{grid-template-columns:1fr}.axisRowV38{grid-template-columns:1fr 70px auto}.pieEdit{width:160px}.geometryTitle{font-size:38px!important}}

/* V039 refinement: geometry pages stay inside First Phase Studio shell and keep controls accessible */
.canvasArea{min-height:0;}
.pageSurface{min-height:0;margin:14px 18px 10px;}
.geometryPage{height:100%;min-height:0;max-height:100%;overflow:auto;padding:22px 26px;background:radial-gradient(circle at 82% 8%,rgba(0,96,168,.16),transparent 34%),#101419;}
.geometryControls{flex-wrap:wrap;max-width:52%;justify-content:flex-end;}
.geometryControls label{display:flex;align-items:center;gap:7px;margin:0;color:var(--muted);font-size:11px;}
.geometryControls select{background:#0b1220;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:7px 8px;}
.geometryControls button{background:#263447;border-color:rgba(0,96,168,.45);}
.flexCanvas,.pieStage,.treeStage,.growthStage,.pyramidBuild,.spiderCanvasBox,.pillarStage{min-height:clamp(430px,calc(100vh - 250px),650px);}
.flexCell{background:linear-gradient(135deg,color-mix(in srgb,var(--geoColor) 44%,#111821),color-mix(in srgb,var(--geoColor) 18%,#05070a));border-color:color-mix(in srgb,var(--geoColor) 70%,rgba(245,246,247,.18));}
.flexCell:after{background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 45%);}

/* circular sectors: write inside the pie, not in detached cards */
.pieSvg path{filter:drop-shadow(0 10px 22px rgba(0,0,0,.22));}
.pieEdit.wedgeText{background:transparent!important;border:0!important;backdrop-filter:none!important;box-shadow:none!important;width:170px;min-height:96px;text-shadow:0 2px 12px rgba(0,0,0,.6);}
.pieEdit.wedgeText input{font-size:20px!important;text-align:center;text-transform:uppercase;}
.pieEdit.wedgeText textarea{font-size:13px!important;min-height:34px;text-align:center;}
.pieEdit.wedgeText .geoMini{opacity:0;justify-content:center;background:rgba(5,7,10,.72);border:1px solid rgba(245,246,247,.22);border-radius:10px;padding:4px;}
.pieEdit.wedgeText:hover .geoMini,.pieEdit.wedgeText:focus-within .geoMini{opacity:1;}
.pieCentre{font-size:26px!important;text-transform:uppercase;text-shadow:0 2px 18px rgba(0,0,0,.8);}

/* pyramid: foundation-first stack, widest at bottom */
.pyramidBuild{overflow:auto;justify-content:flex-end;gap:10px;background:radial-gradient(circle at 50% 100%,rgba(0,96,168,.13),transparent 48%),#0b1016;}
.pyramidLevel{width:calc(96% * var(--levelScale));}
.pyramidLevel.foundation{width:98%;}
.pyramidBlocks{align-items:stretch;}
.pyramidBlock{background:linear-gradient(135deg,color-mix(in srgb,var(--geoColor) 46%,#151a20),color-mix(in srgb,var(--geoColor) 18%,#05070a));border-color:color-mix(in srgb,var(--geoColor) 76%,rgba(245,246,247,.2));box-shadow:0 14px 42px rgba(0,0,0,.22);}
.pyramidLevel.foundation .pyramidBlock{min-height:125px;}
.pyramidRowControls{position:relative;z-index:2;}

/* Growth tree: bottom-up culture/development branching */
.growthStage{position:relative;border:1px solid var(--line);border-radius:30px;background:radial-gradient(circle at 50% 100%,rgba(0,96,168,.12),transparent 45%),#0b1016;overflow:hidden;}
.growthSvg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.growthSvg path{fill:none;stroke:rgba(245,246,247,.42);stroke-width:2.4;stroke-linecap:round;}
.growthNode{position:absolute;transform:translate(-50%,-50%);width:150px;min-height:78px;padding:9px 10px;border-radius:16px;border:1px solid color-mix(in srgb,var(--geoColor) 70%,rgba(245,246,247,.18));background:linear-gradient(135deg,color-mix(in srgb,var(--geoColor) 40%,#111821),#0b1016);display:grid;gap:3px;text-align:center;box-shadow:0 14px 42px rgba(0,0,0,.25);}
.growthNode.foundation{width:190px;min-height:92px;border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--geoColor) 55%,#111821),#0b1016);}
.growthNode.selected{box-shadow:0 0 0 2px var(--accent),0 18px 54px rgba(0,0,0,.34);}
.growthNode input,.growthNode textarea{background:transparent!important;border:0!important;color:var(--text)!important;margin:0!important;padding:0!important;text-align:center;resize:none!important;outline:0!important;}
.growthNode input{font-size:15px!important;font-weight:950!important;text-transform:uppercase;}
.growthNode textarea{font-size:11px!important;line-height:1.18!important;min-height:24px!important;}
.growthNode .geoMini{display:none;position:absolute;left:50%;top:100%;transform:translateX(-50%);background:#111821;border:1px solid var(--line);border-radius:10px;padding:4px;margin-top:4px;z-index:5;}
.growthNode.selected .geoMini,.growthNode:hover .geoMini{display:flex;}

/* IDP cover and principle visual slots: actual functional image areas and layout choices */
.floatingLayout{position:absolute;top:18px;right:18px;z-index:6;}
.idpCoverPage{position:relative;min-height:100%;height:100%;overflow:auto;}
.idpCoverPage.layout-textRight{grid-template-columns:.95fr 1.05fr;}
.idpCoverPage.layout-textRight .idpHero{order:2;}
.idpCoverPage.layout-textRight .idpPhoto{order:1;}
.idpCoverPage.layout-imageTop,.idpCoverPage.layout-imageBottom{grid-template-columns:1fr;grid-template-rows:.9fr 1fr;}
.idpCoverPage.layout-imageTop .idpPhoto{order:1;min-height:280px;}
.idpCoverPage.layout-imageTop .idpHero{order:2;}
.idpCoverPage.layout-imageBottom .idpHero{order:1;}
.idpCoverPage.layout-imageBottom .idpPhoto{order:2;min-height:280px;}
.functionalSlot{position:relative;}
.functionalSlot .slotControls{position:absolute;left:14px;right:14px;bottom:14px;display:flex;gap:8px;justify-content:center;opacity:.18;transition:.15s;z-index:4;}
.functionalSlot:hover .slotControls{opacity:1;}
.functionalSlot .fileBtn{background:rgba(10,14,20,.82);}
.principleVisual{height:100%;min-height:0;}
.principleVisual.layout-visualRight{grid-template-columns:.92fr 1.08fr;}
.principleVisual.layout-visualRight .principleMedia{order:2;}
.principleVisual.layout-visualRight .principleNotes{order:1;}
.principleVisual.layout-visualTop,.principleVisual.layout-visualBottom{grid-template-columns:1fr;grid-template-rows:.9fr 1fr;}
.principleVisual.layout-visualTop .principleMedia{order:1;min-height:240px;}
.principleVisual.layout-visualTop .principleNotes{order:2;}
.principleVisual.layout-visualBottom .principleNotes{order:1;}
.principleVisual.layout-visualBottom .principleMedia{order:2;min-height:240px;}
.principleMedia img{width:100%;height:100%;object-fit:cover;border-radius:24px;}

/* IDP objectives/progress: scale down to fit instead of running off screen */
.objectiveListV38{height:100%;min-height:0;overflow:hidden;display:grid;align-content:stretch;}
.objectiveListV38.large{grid-template-columns:1fr;grid-auto-rows:minmax(118px,1fr);}
.objectiveListV38.medium{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(104px,1fr);}
.objectiveListV38.compact{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(86px,1fr);gap:10px;}
.objectiveListV38.tight{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(72px,1fr);gap:8px;}
.objectiveListV38.compact .objectiveStrip,.objectiveListV38.tight .objectiveStrip{padding:11px 12px;border-left-width:9px;gap:8px;}
.objectiveListV38.compact .objectiveStrip input,.objectiveListV38.tight .objectiveStrip input{font-size:17px!important;}
.objectiveListV38.compact .objectiveStrip textarea,.objectiveListV38.tight .objectiveStrip textarea{font-size:12px!important;line-height:1.2!important;min-height:34px!important;}
.objectiveStrip{background:linear-gradient(135deg,color-mix(in srgb,var(--geoColor) 24%,#111821),#0b1016);border-left-color:var(--geoColor);border-top:1px solid color-mix(in srgb,var(--geoColor) 45%,var(--line));}

/* Stronger colour energy across new geometry pages */
.pillarFill{opacity:.55;background:linear-gradient(180deg,color-mix(in srgb,var(--geoColor) 46%,transparent),color-mix(in srgb,var(--geoColor) 74%,#101419));}
.pillarColumn{background:linear-gradient(180deg,color-mix(in srgb,var(--geoColor) 16%,transparent),transparent);}
.treeNode{background:color-mix(in srgb,var(--geoColor) 38%,#101419);border-color:color-mix(in srgb,var(--geoColor) 76%,rgba(245,246,247,.22));}

.presentFramework .pieEdit.wedgeText .geoMini,.presentFramework .slotControls,.presentFramework .floatingLayout{display:none!important;}
.presentFramework .growthNode .geoMini{display:none!important;}
.presentFramework .objectiveListV38{height:100%;}
.presentFramework.idpCoverPage{height:100%;overflow:hidden;}
.pageCard.growthTree .pageThumb{background:linear-gradient(180deg,#12324d,#101419)!important;}
/* V039: structural pages must not block the lower navigation/frames strip */
body.pageType-flexGrid #timeline,
body.pageType-circularGrid #timeline,
body.pageType-decisionTree #timeline,
body.pageType-growthTree #timeline,
body.pageType-pyramid #timeline,
body.pageType-spiderGraph #timeline,
body.pageType-idpCover #timeline,
body.pageType-developmentPillars #timeline,
body.pageType-idpObjectives #timeline,
body.pageType-idpProgress #timeline,
body.pageType-principlePage #timeline{display:flex!important;}

/* V040: keep new page systems native to First Phase Studio, no hidden overflow under frames */
.pageSurface{display:flex;flex-direction:column;min-height:0;}
.geometryPage{height:100%;min-height:0;overflow:hidden;grid-template-rows:auto minmax(0,1fr);}
.geometryHead{min-height:54px;}
.geometryControls{max-width:60%;}
.geometryControls button,.geoMini button,.pyramidRowControls button{font-size:11px;line-height:1;}

/* Default page colour is stable; user changes colour only when they choose */
.flexCell,.pillarColumn,.objectiveStrip,.pyramidBlock,.treeNode,.growthNode{--geoColor:#0060A8;}

/* Flex: real divided square, scales beyond four without breaking or hiding below the frame strip */
.flexCanvas{min-height:0;height:100%;}
.flexCanvas.flexCount5,.flexCanvas.flexCount6{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));}
.flexCanvas.flexCount5 .flexCell,.flexCanvas.flexCount6 .flexCell{min-height:0;}
.flexCanvas[class*="flexCount"] .flexCell{min-height:0;}
.flexCell{padding:22px;}
.flexCell input{font-size:clamp(18px,2.1vw,28px)!important;}
.flexCell textarea{font-size:clamp(13px,1.2vw,18px)!important;min-height:0;}

/* Circular: text belongs inside the pie, controls only reveal in edit */
.pieStage{min-height:0;height:100%;}
.pieEdit.wedgeText{width:min(23%,190px);min-height:80px;padding:4px;display:grid;place-items:center;background:transparent!important;border:0!important;}
.pieEdit.wedgeText input{font-size:clamp(14px,1.35vw,20px)!important;line-height:1.05;text-transform:none;}
.pieEdit.wedgeText textarea{font-size:clamp(11px,.95vw,14px)!important;line-height:1.15;min-height:30px;}
.pieEdit.wedgeText .geoMini{position:absolute;left:50%;top:100%;transform:translateX(-50%);}

/* Pyramid: foundation is always the biggest bottom layer */
.pyramidBuild{height:100%;min-height:0;overflow:hidden;justify-content:flex-end;padding:18px 28px;}
.pyramidLevel.foundation{width:98%;}
.pyramidLevel.foundation .pyramidBlock{max-width:none;min-height:118px;}
.pyramidLevel:not(.foundation) .pyramidBlock{max-width:520px;}
.pyramidLevel{min-height:0;}
.pyramidBlock{min-height:78px;}
.pyramidBlock input{font-size:clamp(16px,1.5vw,24px)!important;}
.pyramidBlock textarea{font-size:clamp(11px,1vw,15px)!important;min-height:26px;}

/* Growth tree: keep visible and connected above multiple foundations */
.growthStage{height:100%;min-height:0;overflow:hidden;}
.growthNode{width:clamp(112px,13vw,165px);min-height:clamp(58px,7vh,88px);}
.growthNode.foundation{width:clamp(138px,16vw,210px);}
.growthSvg path{stroke:rgba(245,246,247,.58);stroke-width:2.6;}

/* IDP objectives/progress: vertical stack only; compress rows to fit slide, never side-by-side */
.objectiveListV38{height:100%;min-height:0;overflow:hidden;display:grid!important;grid-template-columns:1fr!important;grid-template-rows:repeat(var(--itemCount),minmax(0,1fr))!important;gap:clamp(6px,1vh,12px)!important;align-content:stretch!important;}
.objectiveListV38.large,.objectiveListV38.medium,.objectiveListV38.compact,.objectiveListV38.tight{grid-template-columns:1fr!important;grid-template-rows:repeat(var(--itemCount),minmax(0,1fr))!important;}
.objectiveStrip{min-height:0;display:grid!important;grid-template-columns:1fr auto!important;grid-template-rows:auto minmax(0,1fr) auto!important;padding:clamp(8px,1.4vh,18px) clamp(12px,1.4vw,18px)!important;gap:clamp(4px,.8vh,10px)!important;}
.objectiveStrip input{grid-column:1/2;font-size:clamp(15px,1.55vw,24px)!important;}
.objectiveStrip textarea{grid-column:1/3;min-height:0!important;font-size:clamp(11px,1vw,16px)!important;line-height:1.18!important;overflow:hidden;}
.objectiveStrip .geoMini{grid-column:2/3;grid-row:1/2;align-self:start;}
.objectiveStrip .geoMini button{padding:5px 7px;}

/* Traffic lights page restored */
.trafficStage{height:100%;min-height:0;display:grid;grid-template-columns:repeat(var(--itemCount),minmax(0,1fr));gap:14px;overflow:hidden;}
.trafficPanel{position:relative;border-radius:24px;border:1px solid color-mix(in srgb,var(--geoColor) 70%,rgba(245,246,247,.18));background:linear-gradient(180deg,color-mix(in srgb,var(--geoColor) 36%,#111821),#0b1016);padding:24px;display:grid;grid-template-rows:auto 1fr auto;gap:10px;min-width:0;}
.trafficPanel:before{content:"";position:absolute;left:18px;right:18px;top:16px;height:7px;border-radius:999px;background:var(--geoColor);box-shadow:0 0 24px color-mix(in srgb,var(--geoColor) 55%,transparent);}
.trafficPanel input{margin-top:22px!important;font-size:clamp(20px,2vw,32px)!important;}
.trafficPanel textarea{font-size:clamp(13px,1.1vw,18px)!important;min-height:0!important;}
@media(max-width:1200px){.trafficStage{grid-template-columns:1fr}.geometryControls{max-width:100%;}.geometryTitle{font-size:34px!important}}

.presentFramework .trafficStage{height:100%;}
.presentFramework .objectiveListV38{grid-template-columns:1fr!important;grid-template-rows:repeat(var(--itemCount),minmax(0,1fr))!important;}

/* V041 lock pass: repair geometry behaviour without new templates */
body.pageType-flexGrid #timeline,
body.pageType-circularGrid #timeline,
body.pageType-decisionTree #timeline,
body.pageType-growthTree #timeline,
body.pageType-pyramid #timeline,
body.pageType-spiderGraph #timeline,
body.pageType-idpCover #timeline,
body.pageType-developmentPillars #timeline,
body.pageType-idpObjectives #timeline,
body.pageType-idpProgress #timeline,
body.pageType-principlePage #timeline,
body.pageType-trafficLights #timeline{display:none!important;}

/* Keep static template pages inside the shell but give them full usable canvas height */
body.pageType-flexGrid .pageSurface,
body.pageType-circularGrid .pageSurface,
body.pageType-decisionTree .pageSurface,
body.pageType-growthTree .pageSurface,
body.pageType-pyramid .pageSurface,
body.pageType-spiderGraph .pageSurface,
body.pageType-idpCover .pageSurface,
body.pageType-developmentPillars .pageSurface,
body.pageType-idpObjectives .pageSurface,
body.pageType-idpProgress .pageSurface,
body.pageType-principlePage .pageSurface,
body.pageType-trafficLights .pageSurface{margin-bottom:18px;}

/* Stronger, First Phase Studio-level colour energy: vivid border/glow with dark controlled fills */
.flexCell,.pyramidBlock,.treeNode,.growthNode,.pillarColumn,.objectiveStrip,.trafficPanel{
  border-color:color-mix(in srgb,var(--geoColor) 88%,rgba(245,246,247,.18))!important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--geoColor) 35%,transparent), 0 18px 46px rgba(0,0,0,.26)!important;
}
.flexCell,.objectiveStrip,.trafficPanel{
  background:linear-gradient(135deg,color-mix(in srgb,var(--geoColor) 52%,#111821),color-mix(in srgb,var(--geoColor) 18%,#05070a))!important;
}
.pyramidBlock,.treeNode,.growthNode{
  background:linear-gradient(135deg,color-mix(in srgb,var(--geoColor) 56%,#111821),color-mix(in srgb,var(--geoColor) 16%,#05070a))!important;
}
.pillarFill{opacity:.72!important;background:linear-gradient(180deg,color-mix(in srgb,var(--geoColor) 62%,transparent),color-mix(in srgb,var(--geoColor) 86%,#101419))!important;}
.pieSvg path{filter:drop-shadow(0 12px 24px color-mix(in srgb,currentColor 22%,rgba(0,0,0,.25)));}

/* Flex must not break at 5+: 1-12 sections fit the slide instead of overflowing */
.flexCanvas{height:clamp(430px,calc(100vh - 248px),650px);min-height:0!important;grid-auto-rows:minmax(0,1fr);}
.flexCanvas.flexCount5,.flexCanvas.flexCount6{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));}
.flexCanvas.flexCount6 .flexCell,.flexCanvas.flexCount5 .flexCell{min-height:0;padding:18px;}
.flexCanvas.flexCount6 .flexCell input,.flexCanvas.flexCount5 .flexCell input{font-size:19px!important;}
.flexCanvas.flexCount6 .flexCell textarea,.flexCanvas.flexCount5 .flexCell textarea{font-size:13px!important;min-height:44px!important;}

/* Circle page: real pie editor stays open and labels live inside sectors */
.pieStage{height:clamp(430px,calc(100vh - 248px),650px);min-height:0!important;}
.pieSvg{pointer-events:none;}
.pieEdit.wedgeText{width:150px!important;min-height:70px!important;padding:4px!important;}
.pieEdit.wedgeText input{font-size:16px!important;line-height:1.05!important;}
.pieEdit.wedgeText textarea{font-size:11px!important;line-height:1.12!important;min-height:24px!important;}
.pieEdit.wedgeText .geoMini{position:absolute;left:50%;top:100%;transform:translateX(-50%);z-index:10;}

/* Spider graph must fit the visible canvas */
.spiderLayoutV38{grid-template-columns:minmax(0,1fr) 340px!important;gap:14px!important;height:clamp(430px,calc(100vh - 248px),650px);min-height:0;}
.spiderCanvasBox{min-height:0!important;height:100%;padding:6px!important;overflow:hidden;}
.spiderSvg{max-width:min(100%,560px)!important;max-height:100%!important;}
.axisListV38{max-height:100%;overflow:auto;gap:7px!important;}
.axisRowV38{grid-template-columns:minmax(90px,1fr) repeat(3,52px) auto!important;padding:7px!important;gap:6px!important;}
.datasetRow{grid-template-columns:minmax(90px,1fr) 44px auto!important;padding:7px!important;gap:6px!important;}
.axisRowV38 input,.datasetRow input{padding:6px!important;font-size:12px!important;}

/* IDP Objectives always vertical; scale cards to fit the slide */
.objectiveListV38.verticalObjectives{display:grid!important;grid-template-columns:1fr!important;height:clamp(430px,calc(100vh - 248px),650px)!important;overflow:hidden!important;align-content:stretch!important;}
.objectiveListV38.verticalObjectives .objectiveStrip{grid-template-columns:minmax(160px,.42fr) 1fr auto!important;min-height:0!important;}
.objectiveListV38.verticalObjectives.large{grid-auto-rows:minmax(100px,1fr)!important;}
.objectiveListV38.verticalObjectives.medium{grid-auto-rows:minmax(80px,1fr)!important;}
.objectiveListV38.verticalObjectives.compact{grid-auto-rows:minmax(62px,1fr)!important;gap:8px!important;}
.objectiveListV38.verticalObjectives.tight{grid-auto-rows:minmax(48px,1fr)!important;gap:6px!important;}
.objectiveListV38.verticalObjectives.tight .objectiveStrip{padding:7px 10px!important;border-left-width:8px!important;}
.objectiveListV38.verticalObjectives.tight textarea{min-height:22px!important;}

/* IDP Progress fits more than six without caps or off-screen content */
.objectiveListV38.progressAuto{height:clamp(430px,calc(100vh - 248px),650px)!important;overflow:hidden!important;align-content:stretch!important;}
.objectiveListV38.progressAuto.large{grid-template-columns:1fr!important;grid-auto-rows:minmax(100px,1fr)!important;}
.objectiveListV38.progressAuto.medium{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:minmax(92px,1fr)!important;}
.objectiveListV38.progressAuto.compact{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:minmax(70px,1fr)!important;gap:8px!important;}
.objectiveListV38.progressAuto.tight{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:minmax(54px,1fr)!important;gap:6px!important;}
.objectiveListV38.progressAuto.tight .objectiveStrip{padding:7px 9px!important;border-left-width:7px!important;gap:7px!important;}
.objectiveListV38.progressAuto.tight input{font-size:14px!important;}
.objectiveListV38.progressAuto.tight textarea{font-size:11px!important;min-height:20px!important;}

/* Pyramid: foundation widest at the bottom, higher layers progressively narrower */
.pyramidBuild{height:clamp(430px,calc(100vh - 248px),650px);min-height:0!important;overflow:hidden!important;}
.pyramidLevel.foundation{width:98%!important;}
.pyramidLevel.foundation .pyramidBlock{min-height:105px!important;border-radius:18px!important;}
.pyramidLevel:not(.foundation) .pyramidBlock{min-height:76px!important;}

/* Growth tree connections and fit */
.growthStage,.treeStage{height:clamp(430px,calc(100vh - 248px),650px);min-height:0!important;}
.growthSvg path{stroke:rgba(245,246,247,.62)!important;stroke-width:0.9!important;vector-effect:non-scaling-stroke;}
.growthNode{width:142px!important;min-height:66px!important;}
.growthNode.foundation{width:174px!important;min-height:78px!important;}

/* Traffic lights: restore as a native First Phase Studio static page, not a dull prototype */
.trafficStage{height:clamp(430px,calc(100vh - 248px),650px);display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;align-items:stretch;}
.trafficPanel{border-radius:28px;padding:26px 22px;display:grid;grid-template-rows:auto 1fr auto;align-content:center;text-align:center;background:linear-gradient(180deg,color-mix(in srgb,var(--geoColor) 62%,#151a20),color-mix(in srgb,var(--geoColor) 18%,#05070a))!important;}
.trafficPanel input{text-align:center!important;font-size:26px!important;text-transform:uppercase;}
.trafficPanel textarea{text-align:center!important;font-size:16px!important;line-height:1.35!important;}

/* Controls only appear when the user selects/works on a page element */
.geoMini{opacity:0;transition:.12s;}
.flexCell:hover .geoMini,.flexCell:focus-within .geoMini,.pyramidBlock:hover .geoMini,.pyramidBlock:focus-within .geoMini,.objectiveStrip:hover .geoMini,.objectiveStrip:focus-within .geoMini,.trafficPanel:hover .geoMini,.trafficPanel:focus-within .geoMini,.pillarColumn:hover .geoMini,.pillarColumn:focus-within .geoMini{opacity:1;}

/* V042 lock repair: direct colours, stable static geometry */
.flexCell,.pyramidBlock,.treeNode,.growthNode,.pillarColumn,.objectiveStrip,.trafficPanel{
  border-color:var(--geoColor)!important;
  background:linear-gradient(135deg, color-mix(in srgb,var(--geoColor) 72%,#101419), #091018)!important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--geoColor) 55%,transparent), 0 16px 42px rgba(0,0,0,.30)!important;
}
.flexCell:after{display:none!important;}
.pillarFill{opacity:.9!important;background:linear-gradient(180deg,var(--geoColor),color-mix(in srgb,var(--geoColor) 80%,#101419))!important;}
.geoMini{z-index:30;}
.geoMini input[type="color"]{inline-size:34px;block-size:22px;border:1px solid rgba(255,255,255,.25);border-radius:6px;background:transparent;padding:0;}

.flexCanvas{height:clamp(430px,calc(100vh - 248px),650px)!important;display:grid!important;overflow:hidden!important;}
.flexCanvas.flexCount1{grid-template-columns:1fr!important;grid-template-rows:1fr!important;}
.flexCanvas.flexCount2{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:1fr!important;}
.flexCanvas.flexCount3{grid-template-columns:1.2fr .8fr!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;}
.flexCanvas.flexCount3 .flexCell:first-child{grid-row:1/3!important;}
.flexCanvas.flexCount4{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;}
.flexCanvas.flexCount5{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;}
.flexCanvas.flexCount5 .flexCell:nth-child(4){grid-column:1/2!important;}
.flexCanvas.flexCount5 .flexCell:nth-child(5){grid-column:2/4!important;}
.flexCanvas.flexCount6{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;}
.flexCanvas .flexCell{min-width:0!important;min-height:0!important;padding:clamp(12px,1.4vw,22px)!important;}

.pieSvg path{opacity:1!important;filter:drop-shadow(0 8px 20px rgba(0,0,0,.25));}
.pieStage.noCentre .pieCentre{display:none!important;}
.pieEdit.wedgeText{width:130px!important;min-height:60px!important;background:rgba(4,8,12,.08)!important;border:0!important;text-shadow:0 3px 10px rgba(0,0,0,.72);}
.pieEdit.wedgeText textarea{display:none;}
.pieEdit.wedgeText input{color:#fff!important;font-size:clamp(12px,1vw,16px)!important;font-weight:950!important;text-align:center!important;}
.pieEdit.wedgeText .geoMini{opacity:0;position:absolute;top:calc(100% + 2px);left:50%;transform:translateX(-50%);background:rgba(5,7,10,.82);}
.pieEdit.wedgeText:hover .geoMini,.pieEdit.wedgeText:focus-within .geoMini{opacity:1!important;}
.geoToggle{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;}

.spiderLayoutV38{grid-template-columns:minmax(0,1fr) 330px!important;height:clamp(430px,calc(100vh - 248px),650px)!important;}
.spiderCanvasBox{height:100%!important;display:grid;place-items:center;overflow:hidden!important;}
.spiderSvg{width:min(100%,640px)!important;height:min(100%,560px)!important;}
.axisListV38 input[type="number"]{max-width:76px;}

.objectiveListV38.verticalObjectives,
.objectiveListV38.progressAuto{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:repeat(var(--itemCount),minmax(0,1fr))!important;height:clamp(430px,calc(100vh - 248px),650px)!important;overflow:hidden!important;gap:clamp(5px,1vh,10px)!important;}
.objectiveListV38.verticalObjectives .objectiveStrip,
.objectiveListV38.progressAuto .objectiveStrip{display:grid!important;grid-template-columns:minmax(150px,.35fr) minmax(0,1fr) auto!important;min-height:0!important;padding:clamp(7px,1.2vh,16px) clamp(10px,1.5vw,18px)!important;align-items:start!important;}
.objectiveListV38.verticalObjectives textarea,
.objectiveListV38.progressAuto textarea{min-height:0!important;height:100%!important;}

.pyramidBuild{height:clamp(430px,calc(100vh - 248px),650px)!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;gap:clamp(8px,1vh,14px)!important;overflow:hidden!important;padding:18px 28px!important;}
.pyramidLevel{min-height:0!important;flex:1 1 0!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;max-height:120px!important;}
.pyramidLevel.foundation{flex:1.05 1 0!important;max-height:130px!important;}
.pyramidBlocks{display:flex!important;gap:10px!important;min-height:0!important;height:100%!important;}
.pyramidBlock{min-height:0!important;height:100%!important;position:relative;}
.pyramidRowControls{position:absolute;right:8px;top:6px;opacity:.2;z-index:25;}
.pyramidLevel:hover .pyramidRowControls{opacity:1;}

.growthStage{height:clamp(430px,calc(100vh - 248px),650px)!important;overflow:hidden!important;}
.growthSvg path{stroke:rgba(245,246,247,.55)!important;stroke-width:1.4!important;fill:none!important;}
.growthNode{width:clamp(120px,12vw,180px)!important;min-height:clamp(52px,8vh,84px)!important;}
.growthNode.foundation{width:clamp(150px,15vw,220px)!important;}

.trafficStage{height:clamp(430px,calc(100vh - 248px),650px)!important;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;gap:18px!important;}
.trafficPanel{padding:clamp(16px,2vw,28px)!important;border-radius:24px!important;background:linear-gradient(180deg,color-mix(in srgb,var(--geoColor) 78%,#111821),#091018)!important;}
.trafficPanel:before{height:8px!important;left:16px!important;right:16px!important;background:var(--geoColor)!important;box-shadow:0 0 18px var(--geoColor)!important;}
.trafficPanel input{text-align:left!important;text-transform:none!important;margin-top:18px!important;}
.trafficPanel textarea{text-align:left!important;}

.presentFramework .axisListV38,.presentFramework .geometryControls,.presentFramework .geoMini,.presentFramework .pyramidRowControls,.presentFramework .slotControls{display:none!important;}
body.pageType-flexGrid #timeline,
body.pageType-circularGrid #timeline,
body.pageType-decisionTree #timeline,
body.pageType-growthTree #timeline,
body.pageType-pyramid #timeline,
body.pageType-spiderGraph #timeline,
body.pageType-idpCover #timeline,
body.pageType-developmentPillars #timeline,
body.pageType-idpObjectives #timeline,
body.pageType-idpProgress #timeline,
body.pageType-principlePage #timeline,
body.pageType-trafficLights #timeline{display:none!important;}


/* TEMPLATE PAGE REBUILD — isolated to weak template pages only */
.templatePage{height:100%;min-height:100%;padding:26px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:18px;background:radial-gradient(circle at 80% 0%,rgba(0,96,168,.08),transparent 34%),#101419;color:var(--text);overflow:hidden}.templateHead{display:flex;align-items:center;justify-content:space-between;gap:18px}.templateHead>div:last-child{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.templateToolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.templateToolbar label,.templateHead label{margin:0;display:flex!important;gap:7px;align-items:center;font-size:10px;color:var(--muted);letter-spacing:.08em}.templateToolbar input[type=color]{width:40px;height:31px;margin:0}.templateToolbar select,.templateHead select{background:#0b1220;color:var(--text);border:1px solid var(--line);border-radius:9px;padding:7px}.templatePage .geometryTitle{font-size:34px!important;letter-spacing:-.05em!important;background:transparent!important;border:0!important;margin:0!important;padding:0!important}.templatePage input,.templatePage textarea{font-family:inherit}.templatePage section{transition:border-color .14s,box-shadow .14s,transform .14s}.templatePage .selected{border-color:var(--geoColor)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--geoColor) 55%,transparent),0 18px 50px rgba(0,0,0,.28)!important}.mode-solid{background:linear-gradient(145deg,color-mix(in srgb,var(--geoColor) 92%,#111315),color-mix(in srgb,var(--geoColor) 64%,#000))!important;color:#fff}.mode-outline{background:#111821!important;border:2px solid var(--geoColor)!important}.mode-accent{background:#151a20!important;border:1px solid var(--line)!important;border-left:8px solid var(--geoColor)!important}.mode-outline input,.mode-outline textarea,.mode-accent input,.mode-accent textarea{color:var(--text)!important}.mode-solid input,.mode-solid textarea{color:#fff!important}.templatePage input,.templatePage textarea{background:transparent!important;border:0!important;margin:0!important;padding:0!important;resize:none}.templatePage input{font-weight:950;font-size:clamp(14px,1.5vw,24px);line-height:1.05}.templatePage textarea{font-size:clamp(11px,1vw,15px);line-height:1.25;color:rgba(245,246,247,.84);min-height:44px;overflow:hidden}.templatePage input::placeholder,.templatePage textarea::placeholder{color:rgba(245,246,247,.56)}
.flexSplit{height:100%;display:grid;gap:10px}.splitCell{position:relative;border:1px solid rgba(245,246,247,.14);border-radius:18px;padding:22px;display:grid;grid-template-rows:auto 1fr;align-content:start;min-width:0;overflow:hidden}.cellNumber{position:absolute;right:16px;top:12px;color:rgba(245,246,247,.35);font-size:12px;font-weight:950;letter-spacing:.14em}.split-1{grid-template-columns:1fr}.split-2{grid-template-columns:1fr 1fr}.split-3{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.split-3 .splitCell:nth-child(3){grid-column:1/3}.split-4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.split-5,.split-6{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr)}.split-7,.split-8{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr)}.split-9{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr)}.split-10,.split-11,.split-12{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,1fr)}
.circleStage{height:100%;display:grid;place-items:center;min-height:0}.circleSvg{width:min(100%,1120px);height:100%;max-height:720px;overflow:visible}.circleWedge{fill:var(--geoColor);stroke:rgba(245,246,247,.44);stroke-width:3;cursor:pointer}.circleWedge.mode-outline{fill:rgba(17,24,39,.35)!important;stroke:var(--geoColor)!important;stroke-width:5}.circleWedge.mode-accent{fill:color-mix(in srgb,var(--geoColor) 34%,#151a20)!important;stroke:var(--geoColor)!important}.centreCircle{fill:#101419;stroke:rgba(245,246,247,.28);stroke-width:2}.circleCentreInput{text-align:center;width:100%;height:100%;display:grid;place-items:center;color:var(--accent)!important;font-weight:950!important;font-size:16px!important}.circleLabel{height:100%;width:100%;display:grid;align-content:center;gap:4px;text-align:center;pointer-events:auto;padding:7px;border-radius:12px}.circleLabel input{text-align:center!important;font-size:15px!important}.circleLabel textarea{text-align:center!important;font-size:11px!important;min-height:32px!important}.circleLabel.selected{outline:2px solid var(--geoColor);background:rgba(8,11,15,.72)}
.decisionStage,.growthStageV2{position:relative;height:100%;min-height:520px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,#0c1117,#111821);overflow:hidden}.decisionSvg,.growthSvgV2{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.decisionSvg path,.growthSvgV2 path{fill:none;stroke:rgba(245,246,247,.34);stroke-width:.45}.decisionNode,.growthNodeV2{position:absolute;transform:translate(-50%,-50%);width:190px;min-height:104px;border-radius:16px;padding:14px;border:1px solid var(--line);cursor:grab;display:grid;gap:7px;align-content:start}.decisionNode:active,.growthNodeV2:active{cursor:grabbing}.decisionNode input,.growthNodeV2 input{font-size:17px!important}.decisionNode textarea,.growthNodeV2 textarea{font-size:12px!important}.growthNodeV2.foundation{width:210px;min-height:110px;border-radius:20px}.growthNodeV2.foundation:before{content:"FOUNDATION";font-size:9px;letter-spacing:.14em;color:var(--geoColor);font-weight:950}
.pyramidStageV2{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:10px;transform:scale(var(--pyrScale));transform-origin:center bottom;min-height:0}.pyrLevelV2{display:flex;justify-content:center;gap:10px;width:100%}.pyrBlockV2{width:min(240px,16vw);min-width:108px;min-height:86px;border-radius:16px;padding:14px;border:1px solid var(--line);display:grid;align-content:start;gap:6px;text-align:center}.pyrLevelV2.foundation .pyrBlockV2{width:min(330px,24vw);min-height:104px;border-radius:20px}.pyrBlockV2 input{text-align:center!important}.pyrBlockV2 textarea{text-align:center!important}.pillarsStage{position:relative;height:100%;border:1px solid var(--line);border-radius:24px;background:radial-gradient(circle at 50% 50%,rgba(0,96,168,.12),transparent 24%),#0c1117;overflow:hidden}.pillarCentre{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:210px;height:150px;border:1px solid rgba(245,246,247,.16);border-radius:28px;background:#151a20;display:grid;place-items:center;padding:18px;text-align:center;box-shadow:0 24px 70px rgba(0,0,0,.35)}.pillarCentre span{font-size:10px;color:var(--accent);letter-spacing:.18em;font-weight:950}.pillarCentre input{text-align:center!important}.pillarNodeV2{position:absolute;transform:translate(-50%,-50%);width:220px;min-height:142px;border-radius:18px;padding:16px;border:1px solid var(--line);display:grid;gap:7px}.pillarIndex{font-size:10px;color:var(--geoColor);font-weight:950;letter-spacing:.14em}.objectivesStage{height:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;align-content:stretch}.objectiveCardV2{position:relative;border-radius:18px;padding:18px;border:1px solid var(--line);display:grid;grid-template-rows:auto auto 1fr 1fr auto;gap:10px;min-height:220px}.objectiveNum{font-size:11px;color:var(--geoColor);font-weight:950;letter-spacing:.18em}.objectiveCardV2 textarea{min-height:56px!important}.progressTimeline{height:100%;overflow:auto;display:grid;gap:12px;align-content:start;padding:8px 0 8px 30px;position:relative}.progressTimeline:before{content:"";position:absolute;left:20px;top:18px;bottom:18px;width:2px;background:linear-gradient(var(--accent),transparent)}.progressItemV2{position:relative;border-radius:17px;padding:16px 18px 16px 22px;border:1px solid var(--line);min-height:98px;display:grid;gap:8px}.progressDot{position:absolute;left:-28px;top:18px;width:38px;height:38px;border-radius:999px;background:#101419;border:2px solid var(--geoColor);display:grid;place-items:center;color:var(--geoColor);font-size:10px;font-weight:950}.trafficBoardV2{height:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.trafficCardV2{border-radius:24px;border:1px solid var(--line);padding:22px;display:grid;grid-template-rows:auto auto 1fr;gap:14px;align-content:start}.trafficLightOrb{width:54px;height:54px;border-radius:999px;background:var(--geoColor);box-shadow:0 0 35px color-mix(in srgb,var(--geoColor) 35%,transparent)}.trafficCardV2 input{font-size:28px!important}.trafficCardV2 textarea{font-size:16px!important;line-height:1.35!important;min-height:140px!important}
#presentationOverlay.truePresent .templateToolbar,#presentationOverlay.truePresent .templateHead button,#presentationOverlay.truePresent .templateHead label{display:none!important}

/* V037 workflow lock: mode-specific add-page menu sections */
.pageMenuGroupLabel{
  color:var(--accent);
  font-size:10px;
  font-weight:950;
  letter-spacing:.16em;
  text-transform:uppercase;
  padding:10px 10px 4px;
  opacity:.9;
}
#addPageMenu [data-workflow-visible="false"]{display:none!important;}
#addPageMenu .hidden{display:none!important;}

/* V037A Session Availability foundation */
.availabilityPage{min-height:100%;padding:28px;background:#101419;display:grid;grid-template-rows:auto auto 1fr auto;gap:18px;align-content:start}.availabilityHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.availabilityTitle{font-size:52px;letter-spacing:-.055em;font-weight:950;background:transparent;border:0;color:var(--text);padding:0;margin:0}.availabilityHeader p{font-size:15px;max-width:620px}.availabilityActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.availabilityActions button{padding:9px 11px}.blockLabelRow{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;background:#0b1118;border:1px solid var(--line);border-radius:16px;padding:12px}.blockLabelRow label{margin:0}.blockLabelRow input{margin-top:6px}.availabilityBoard{display:grid;gap:14px}.availabilityGroup{border:1px solid var(--line);background:#12171d;border-radius:18px;overflow:hidden}.availabilityGroup summary{cursor:pointer;list-style:none;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.availabilityGroup summary::-webkit-details-marker{display:none}.availabilityGroup summary strong{font-size:13px;color:var(--accent);letter-spacing:.14em;text-transform:uppercase}.availabilityGroup summary span{background:#222833;border:1px solid var(--line);border-radius:999px;padding:5px 10px;color:var(--muted);font-size:12px;font-weight:900}.availabilityGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;padding:14px}.availabilityCard{display:grid;grid-template-columns:76px 1fr;gap:12px;border:1px solid var(--line);background:#171d24;border-radius:16px;padding:10px;min-height:170px;position:relative}.availabilityCard.status-available{box-shadow:inset 4px 0 0 rgba(34,197,94,.8)}.availabilityCard.status-modified{box-shadow:inset 4px 0 0 rgba(234,179,8,.9)}.availabilityCard.status-individual{box-shadow:inset 4px 0 0 rgba(249,115,22,.9)}.availabilityCard.status-unavailable{box-shadow:inset 4px 0 0 rgba(239,68,68,.9);opacity:.78}.availabilityPhoto{background:#0b1118;border:1px solid var(--line);border-radius:13px;min-height:142px;display:grid;place-items:center;position:relative;overflow:hidden;color:var(--muted);font-size:11px;font-weight:950;letter-spacing:.12em}.availabilityPhoto img{width:100%;height:100%;object-fit:cover}.photoMini{position:absolute;left:6px;right:6px;bottom:6px;margin:0;background:rgba(8,11,15,.74);border:1px solid rgba(255,255,255,.2);border-radius:9px;padding:5px;text-align:center;color:var(--text);font-size:10px;cursor:pointer}.photoMini input{display:none}.availabilityCardBody{display:grid;gap:7px;align-content:start}.availabilityNameRow{display:grid;grid-template-columns:1fr auto;gap:6px}.availabilityNameRow input{font-weight:950}.availabilityNameRow button{padding:6px 9px;border-radius:8px;background:#2a1515;color:#fecaca}.availabilityMetaRow{display:grid;grid-template-columns:64px 1fr;gap:6px}.availabilityCard input,.availabilityCard select{margin:0;padding:8px;background:#0b1220;color:var(--text);border:1px solid var(--line);border-radius:9px}.availabilityBlocks{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.blockToggle{padding:7px 0;border-radius:8px;font-size:10px}.blockToggle.on{background:var(--accent);border-color:var(--accent);color:#071019}.blockToggle.off{background:#111315;color:#596170;border-color:#29313a}.availabilityStatusLine{display:flex;gap:6px;align-items:center;color:var(--muted);font-weight:900;font-size:12px}.clearPhoto{padding:6px 8px;font-size:10px}.emptyAvailability{border:1px dashed var(--line);border-radius:14px;padding:22px;text-align:center;color:var(--muted);font-weight:850}.availabilityTotals{display:grid;grid-template-columns:repeat(8,minmax(90px,1fr));gap:10px;position:sticky;bottom:0;background:rgba(16,20,25,.92);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:18px;padding:12px}.availabilityTotals div{background:#151a20;border:1px solid var(--line);border-radius:14px;padding:12px}.availabilityTotals strong{display:block;color:var(--accent);font-size:26px;line-height:1}.availabilityTotals span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-top:5px;font-weight:900}@media(max-width:1200px){.availabilityHeader{display:grid}.availabilityTotals{grid-template-columns:repeat(4,1fr)}.blockLabelRow{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.availabilityGrid{grid-template-columns:1fr}.availabilityTotals{grid-template-columns:repeat(2,1fr)}.availabilityTitle{font-size:38px}}

/* V036E.4 Build 3B: compact Squad board */
.squadBoardPage{height:100%;min-height:0;padding:18px 22px 14px;background:#0c1116;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:10px;overflow:hidden;}
.squadHeader{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;align-items:start;gap:12px;border-bottom:1px solid var(--line);padding-bottom:10px;}
.squadHeader .availabilityTitle{font-size:34px;line-height:1;letter-spacing:-.045em;}
.squadHeader p{font-size:13px;margin-top:6px;}
.squadStatusLegend{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end;}
.squadStatusLegend span{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:#121820;border-radius:10px;padding:7px 10px;color:#cfd6df;font-size:12px;font-weight:850;}
.statusDot{width:12px;height:12px;border-radius:999px;display:inline-block;box-shadow:0 0 0 1px rgba(255,255,255,.18);}
.statusDot.status-available{background:#22c55e}.statusDot.status-modified{background:#eab308}.statusDot.status-individual{background:#f97316}.statusDot.status-unavailable{background:#ef4444}
.squadBoardPage .availabilityActions{gap:6px}.squadBoardPage .availabilityActions button{padding:7px 9px;font-size:11px;border-radius:9px;}
.compactBlockLabels{grid-template-columns:repeat(4,88px);justify-content:end;padding:7px 9px;border-radius:12px;background:#0b1118;display:none;}
.compactBlockLabels label{font-size:10px;margin:0}.compactBlockLabels input{padding:6px;margin-top:4px;font-size:11px;}
.compactSquadBoard{display:grid;grid-template-rows:auto auto auto auto;gap:8px;min-height:0;overflow:hidden;}
.compactGroup{border:1px solid var(--line);background:#10161c;border-radius:12px;overflow:hidden;min-height:0;}
.compactGroup header{height:34px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:0 12px;}
.compactGroup header strong{font-size:12px;color:var(--accent);text-transform:uppercase;letter-spacing:.15em;}
.compactGroup header strong:before{content:"";display:inline-block;width:3px;height:16px;background:var(--accent);border-radius:999px;margin-right:8px;vertical-align:-3px;}
.compactGroup header span{background:#222833;border:1px solid var(--line);border-radius:999px;padding:3px 8px;color:#cbd3dd;font-size:11px;font-weight:950;}
.compactSquadGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:7px;padding:8px;align-items:stretch;}
.squadTile{min-height:74px;display:grid;grid-template-columns:46px 1fr;gap:7px;padding:7px;border-radius:11px;background:#171d24;border:1px solid #2b333d;position:relative;box-shadow:none!important;opacity:1!important;}
.squadTile.status-available{border-left:3px solid #22c55e}.squadTile.status-modified{border-left:3px solid #eab308}.squadTile.status-individual{border-left:3px solid #f97316}.squadTile.status-unavailable{border-left:3px solid #ef4444;opacity:.68!important;}
.squadPhoto{min-height:60px;height:60px;border-radius:8px;background:#0b1118;overflow:hidden;font-size:10px;letter-spacing:.08em;}
.squadPhoto img{width:100%;height:100%;object-fit:cover;object-position:center top;}
.squadPhoto .photoMini{font-size:8px;padding:2px 3px;left:4px;right:4px;bottom:3px;border-radius:6px;opacity:.82;}
.squadTileBody{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto;gap:4px;align-content:start;min-width:0;}
.squadNameRow{grid-column:1/3;display:grid;grid-template-columns:1fr 18px;gap:4px;}
.squadNameRow input{height:22px;padding:4px 6px;font-size:11px;font-weight:950;text-transform:uppercase;background:transparent;border:0;}
.squadNameRow button{width:18px;height:18px;padding:0;border-radius:5px;font-size:12px;line-height:14px;opacity:.55;}
.squadMetaRow{grid-column:1/3;display:grid;grid-template-columns:34px 42px 14px;gap:4px;align-items:center;}
.squadMetaRow input{height:22px;padding:4px 6px;font-size:10px;font-weight:900;background:#0b1220;border:1px solid #26303a;border-radius:6px;}
.squadMetaRow input[data-player-field="position"]{text-align:center;text-transform:uppercase;}
.squadMetaRow .pos-gk{color:#67e8f9}.squadMetaRow .pos-def{color:#0060A8}.squadMetaRow .pos-mid{color:#c084fc}.squadMetaRow .pos-fwd{color:#fb923c}
.compactStatusSelect{position:absolute;right:7px;top:32px;width:18px!important;height:18px!important;opacity:0;cursor:pointer;}
.squadBlocks{grid-column:1/3;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:1px;}
.squadBlocks .blockToggle{min-width:0;height:22px;padding:0;border-radius:5px;font-size:10px;font-weight:950;}
.squadTile.status-available .blockToggle.on{background:#54d126;border-color:#54d126;color:#061208}.squadTile.status-modified .blockToggle.on{background:#facc15;border-color:#facc15;color:#111315}.squadTile.status-individual .blockToggle.on{background:#f97316;border-color:#f97316;color:#111315}.squadTile.status-unavailable .blockToggle.on{background:#3b414b;border-color:#3b414b;color:#8d96a3}.squadBlocks .blockToggle.off{background:#0b1118!important;border-color:#27313b!important;color:#596170!important;}
.squadTile .clearPhoto{position:absolute;left:7px;bottom:7px;width:46px;height:18px;padding:0;font-size:8px;opacity:0;}.squadTile:hover .clearPhoto{opacity:1;}
.squadTotals{position:static;display:grid;grid-template-columns:repeat(9,minmax(78px,1fr));gap:7px;padding:8px;border-radius:12px;background:#0b1118;backdrop-filter:none;}
.squadTotals div{padding:8px 10px;border-radius:10px;background:#151a20;}
.squadTotals strong{font-size:24px;line-height:.95;}.squadTotals span{font-size:10px;margin-top:5px;}
.presentAvailabilityPage.squadBoardPage{height:100%;padding:16px 20px 12px;grid-template-rows:auto minmax(0,1fr) auto;}
.presentAvailabilityPage .squadHeader{grid-template-columns:1fr auto;}.presentAvailabilityPage .availabilityActions,.presentAvailabilityPage .compactBlockLabels{display:none!important;}
.presentAvailabilityPage .compactSquadBoard{gap:8px;}
.presentAvailabilityPage .compactSquadGrid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:7px;padding:8px;}
.presentAvailabilityPage .squadTile{grid-template-columns:44px 1fr;min-height:72px;}
.presentAvailabilityPage .squadNameRow input,.presentAvailabilityPage input,.presentAvailabilityPage select,.presentAvailabilityPage button{pointer-events:none;}
.presentAvailabilityPage .squadTileBody strong{font-size:11px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.presentAvailabilityPage .squadPosLine{font-size:10px;color:var(--muted);font-weight:900;}
.presentAvailabilityPage .squadTileBody>.statusDot{position:absolute;right:8px;top:8px;}
.presentAvailabilityPage .squadTotals{grid-template-columns:repeat(9,minmax(72px,1fr));}
@media(max-width:1200px){.squadHeader{grid-template-columns:1fr}.squadStatusLegend{justify-content:flex-start}.squadTotals{grid-template-columns:repeat(5,1fr)}.compactSquadBoard{overflow:auto}.squadBoardPage{overflow:auto}.compactBlockLabels{display:none}}


/* V036E.3C squad board repair: compact one-screen board, clickable photos, no position colour noise */
.squadBoardPage{
  height:100%;min-height:0;padding:12px 16px 8px!important;background:#0c1116;
  display:grid;grid-template-rows:auto minmax(0,1fr) auto!important;gap:7px!important;overflow:hidden!important;
}
.squadHeader{display:grid!important;grid-template-columns:minmax(220px,1fr) auto auto!important;align-items:start;gap:10px!important;padding-bottom:7px!important;}
.squadHeader .availabilityTitle{font-size:30px!important;line-height:1!important;}
.squadHeader p{font-size:12px!important;margin-top:4px!important;}
.squadStatusLegend{gap:6px!important;}
.squadStatusLegend span{padding:5px 8px!important;font-size:11px!important;border-radius:9px!important;}
.squadBoardPage .availabilityActions{gap:5px!important;}
.squadBoardPage .availabilityActions button{padding:6px 8px!important;font-size:10px!important;border-radius:8px!important;}
.compactBlockLabels{display:none!important;}
.compactSquadBoard{display:flex!important;flex-direction:column!important;gap:6px!important;min-height:0!important;overflow:hidden!important;}
.compactGroup{flex:0 0 auto!important;border-radius:10px!important;min-height:0!important;}
.compactGroup header{height:27px!important;padding:0 10px!important;}
.compactGroup header strong{font-size:11px!important;letter-spacing:.14em!important;}
.compactGroup header strong:before{height:14px!important;margin-right:6px!important;}
.compactGroup header span{font-size:10px!important;padding:2px 7px!important;}
.compactSquadGrid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(118px,1fr))!important;gap:5px!important;padding:6px!important;align-items:stretch!important;min-height:0!important;}
.squadTile{min-height:58px!important;display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;gap:5px!important;padding:5px!important;border-radius:9px!important;}
.squadPhoto{min-height:48px!important;height:48px!important;width:38px!important;border-radius:7px!important;cursor:pointer!important;margin:0!important;}
.squadPhoto span{display:grid;place-items:center;width:100%;height:100%;}
.squadPhoto img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center top!important;}
.squadPhoto .photoMini{font-size:7px!important;padding:1px 2px!important;left:3px!important;right:3px!important;bottom:2px!important;border-radius:5px!important;line-height:1.2!important;}
.squadPhoto .photoMini input{display:none!important;}
.squadTileBody{grid-template-columns:1fr 12px!important;grid-template-rows:auto auto!important;gap:3px!important;align-content:start!important;min-width:0!important;}
.squadNameRow{grid-column:1/3!important;grid-template-columns:minmax(0,1fr) 14px!important;gap:3px!important;}
.squadNameRow input{height:17px!important;padding:1px 2px!important;font-size:10px!important;letter-spacing:-.02em!important;}
.squadNameRow button{width:14px!important;height:14px!important;font-size:10px!important;line-height:10px!important;border-radius:4px!important;}
.squadMetaRow{grid-column:1/3!important;display:grid!important;grid-template-columns:24px 30px 10px!important;gap:3px!important;align-items:center!important;}
.squadMetaRow input{height:17px!important;padding:1px 3px!important;font-size:9px!important;border-radius:5px!important;}
.squadMetaRow .pos-gk,.squadMetaRow .pos-def,.squadMetaRow .pos-mid,.squadMetaRow .pos-fwd{color:var(--text)!important;}
.statusDot{width:10px!important;height:10px!important;}
.compactStatusSelect{right:5px!important;top:22px!important;width:16px!important;height:16px!important;}
.squadBlocks{grid-column:1/3!important;gap:3px!important;margin-top:0!important;}
.squadBlocks .blockToggle{height:18px!important;border-radius:5px!important;font-size:9px!important;padding:0!important;}
.squadTile .clearPhoto{left:5px!important;bottom:5px!important;width:38px!important;height:14px!important;font-size:7px!important;}
.squadTotals{display:grid!important;grid-template-columns:repeat(9,minmax(54px,1fr))!important;gap:5px!important;padding:5px!important;border-radius:10px!important;}
.squadTotals div{padding:5px 7px!important;border-radius:8px!important;}
.squadTotals strong{font-size:20px!important;line-height:.9!important;}
.squadTotals span{font-size:8px!important;margin-top:4px!important;letter-spacing:.07em!important;}
.presentAvailabilityPage.squadBoardPage{padding:12px 16px 8px!important;grid-template-rows:auto minmax(0,1fr) auto!important;overflow:hidden!important;}
.presentAvailabilityPage .squadHeader{grid-template-columns:1fr auto!important;}
.presentAvailabilityPage .compactSquadBoard{display:flex!important;flex-direction:column!important;gap:6px!important;overflow:hidden!important;}
.presentAvailabilityPage .compactSquadGrid{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))!important;gap:5px!important;padding:6px!important;}
.presentAvailabilityPage .squadTile{grid-template-columns:38px minmax(0,1fr)!important;min-height:58px!important;}
.presentAvailabilityPage .squadPhoto{width:38px!important;height:48px!important;min-height:48px!important;}
.presentAvailabilityPage .squadTileBody strong{font-size:10px!important;line-height:1.1!important;}
.presentAvailabilityPage .squadPosLine{font-size:9px!important;}
.presentAvailabilityPage .squadTotals{grid-template-columns:repeat(9,minmax(54px,1fr))!important;}
@media(max-width:1200px){
  .squadHeader{grid-template-columns:1fr auto!important;}
  .squadStatusLegend{justify-content:flex-end!important;}
  .squadTotals{grid-template-columns:repeat(9,minmax(46px,1fr))!important;}
  .compactSquadBoard{overflow:hidden!important;}
  .squadBoardPage{overflow:hidden!important;}
}

/* V036E.3D squad proportion repair: fixed-size tiles, no stretching into row bars */
.squadBoardPage{
  padding:12px 16px 8px!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  gap:7px!important;
  overflow:hidden!important;
}
.compactSquadBoard{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  min-height:0!important;
  overflow:hidden!important;
}
.compactGroup{
  flex:0 0 auto!important;
  min-height:0!important;
  border-radius:10px!important;
  overflow:hidden!important;
}
.compactGroup header{height:27px!important;padding:0 10px!important;}
.compactSquadGrid{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,154px)!important;
  grid-auto-rows:58px!important;
  justify-content:start!important;
  align-content:start!important;
  gap:6px!important;
  padding:6px!important;
  min-height:0!important;
}
.squadTile{
  width:154px!important;
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  display:grid!important;
  grid-template-columns:36px minmax(0,1fr)!important;
  gap:5px!important;
  padding:5px!important;
  border-radius:9px!important;
}
.squadPhoto{
  width:36px!important;
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  border-radius:7px!important;
  cursor:pointer!important;
}
.squadPhoto img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center top!important;}
.squadTileBody{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 10px!important;
  grid-template-rows:16px 16px 18px!important;
  gap:2px!important;
  min-width:0!important;
  align-content:start!important;
}
.squadNameRow{grid-column:1/3!important;display:grid!important;grid-template-columns:minmax(0,1fr) 13px!important;gap:3px!important;}
.squadNameRow input{height:16px!important;min-height:0!important;padding:0 2px!important;font-size:9.5px!important;line-height:16px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.squadNameRow button{width:13px!important;height:13px!important;padding:0!important;font-size:9px!important;line-height:9px!important;border-radius:4px!important;}
.squadMetaRow{grid-column:1/3!important;display:grid!important;grid-template-columns:24px 28px 10px!important;gap:3px!important;align-items:center!important;}
.squadMetaRow input{height:16px!important;min-height:0!important;padding:0 3px!important;font-size:8.5px!important;line-height:16px!important;border-radius:5px!important;}
.squadBlocks{grid-column:1/3!important;display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:3px!important;margin:0!important;}
.squadBlocks .blockToggle{height:18px!important;min-height:0!important;padding:0!important;border-radius:5px!important;font-size:9px!important;line-height:16px!important;}
.compactStatusSelect{right:4px!important;top:21px!important;width:15px!important;height:15px!important;}
.squadTile .clearPhoto{display:none!important;}
.squadPhoto .photoMini{font-size:7px!important;line-height:1!important;padding:1px 2px!important;left:3px!important;right:3px!important;bottom:2px!important;}
.squadTotals{grid-template-columns:repeat(9,minmax(48px,1fr))!important;gap:5px!important;padding:5px!important;}
.squadTotals div{padding:5px 7px!important;}
.squadTotals strong{font-size:19px!important;line-height:.9!important;}
.squadTotals span{font-size:8px!important;margin-top:3px!important;}
.presentAvailabilityPage.squadBoardPage{padding:12px 16px 8px!important;grid-template-rows:auto minmax(0,1fr) auto!important;overflow:hidden!important;}
.presentAvailabilityPage .compactSquadGrid{grid-template-columns:repeat(auto-fill,154px)!important;grid-auto-rows:58px!important;justify-content:start!important;gap:6px!important;padding:6px!important;}
.presentAvailabilityPage .squadTile{width:154px!important;height:58px!important;min-height:58px!important;max-height:58px!important;grid-template-columns:36px minmax(0,1fr)!important;}
.presentAvailabilityPage .squadPhoto{width:36px!important;height:48px!important;min-height:48px!important;max-height:48px!important;}
@media(max-width:1200px){
  .compactSquadGrid{grid-template-columns:repeat(auto-fill,148px)!important;grid-auto-rows:56px!important;}
  .squadTile{width:148px!important;height:56px!important;min-height:56px!important;max-height:56px!important;grid-template-columns:34px minmax(0,1fr)!important;}
  .squadPhoto{width:34px!important;height:46px!important;min-height:46px!important;max-height:46px!important;}
  .squadTotals{grid-template-columns:repeat(9,minmax(44px,1fr))!important;}
}


/* V4A Squad -> Session sync */
.blockParticipants{border:1px solid var(--line);background:#12171d;border-radius:12px;padding:10px;margin:10px 0;display:grid;gap:8px}
.blockParticipantsHead{display:flex;align-items:center;justify-content:space-between}.blockParticipants h3{margin:0;color:var(--accent);font-size:12px;text-transform:uppercase;letter-spacing:.12em}.blockParticipantsHead span{background:#223044;color:var(--accent);border-radius:999px;padding:4px 8px;font-weight:950;font-size:12px}.participantGroup{display:grid;grid-template-columns:42px 1fr;gap:8px;align-items:start}.participantGroup strong{color:var(--muted);font-size:11px;letter-spacing:.08em}.participantGroup span{display:inline-block;margin:0 4px 4px 0;background:#202833;border:1px solid #303946;border-radius:999px;padding:5px 7px;font-size:11px;font-weight:850;color:var(--text)}
.overviewSquadStrip{display:grid;grid-template-columns:repeat(9,minmax(76px,1fr));gap:8px}.overviewSquadStrip div,.overviewBlockParticipants{border:1px solid var(--line);background:#151a20;border-radius:12px;padding:10px}.overviewSquadStrip strong{display:block;color:var(--accent);font-size:24px;line-height:1}.overviewSquadStrip span,.overviewBlockParticipants{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.overviewBlockParticipants span{color:var(--accent);font-size:18px;margin-right:5px}
@media(max-width:1200px){.overviewSquadStrip{grid-template-columns:repeat(3,1fr)}}


/* V4B repair: block pages show block controls only, not full session overview */
body.pageType-block #sessionPanel{display:none!important;}
body.pageType-block #blockPanel{display:block!important;}
body.pageType-block #pagePanel{display:none!important;}
body.pageType-block .rightPanel{background:var(--panel)!important;}
.blockParticipants{margin:0 0 12px!important;}
.blockParticipants.empty{opacity:.85;}


/* V4C live squad counts + field squad player drawer */
.liveSquadInput{background:#111821!important;color:var(--accent)!important;border-color:rgba(0,96,168,.35)!important;font-weight:950!important;}
.fieldSquadPanel{margin-top:14px;border-top:1px solid var(--line);padding-top:14px;display:grid;gap:10px;}
.fieldSquadHead{display:grid;grid-template-columns:1fr;gap:8px;}
.fieldSquadHead h2{font-size:13px;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin:0;}
.fieldSquadHead select{width:100%;background:#0b1220;color:var(--text);border:1px solid var(--line);border-radius:9px;padding:9px;font-weight:850;}
.fieldSquadPanel p{font-size:12px;line-height:1.35;margin:0;color:var(--muted);}
.fieldSquadGroups{display:grid;gap:9px;max-height:360px;overflow:auto;padding-right:4px;}
.fieldSquadGroups section{display:grid;gap:5px;border:1px solid #27313b;background:#111821;border-radius:12px;padding:8px;}
.fieldSquadGroups strong{font-size:10px;color:var(--accent);letter-spacing:.12em;}
.fieldSquadGroups button{width:100%;display:flex;align-items:center;gap:7px;text-align:left;padding:7px 8px;border-radius:9px;background:#1b222b;border-color:#303946;font-size:11px;white-space:normal;}
.fieldSquadGroups button span{display:grid;place-items:center;min-width:22px;height:20px;border-radius:6px;background:#0b1220;color:var(--accent);font-weight:950;}
body.pageType-field #pagePanel{display:block!important;}
body.pageType-field #pagePanel .panelSection:not(#pagePanel){display:block;}
body.pageType-field #sessionPanel, body.pageType-field #blockPanel{display:none!important;}

/* V036E.4D linked squad player insertion controls */
.fieldSquadControls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 6px}
.fieldSquadControls label{margin:0;font-size:10px;color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.fieldSquadControls select{width:100%;margin-top:4px;background:#0b1220;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:7px;font-weight:800}
.fieldSquadGroups button{align-items:center}
/* V4E block sidebar simplification */
.pageType-block #pagePanel{display:none!important;}
.pageType-block #rightPanel{display:flex;flex-direction:column;}
.pageType-block #blockPanel{order:1;}
.pageType-block .rightPanel>.panelSection:has(#objectInspector){order:2;}
.pageType-block .blockEditorCard{display:grid;gap:10px;}
.pageType-block .blockEditorCard .sectionEditorHeader{margin-top:6px;}
.pageType-block .participantDrawer{order:50;margin-top:10px;border:1px solid var(--line);border-radius:12px;background:#111821;padding:0;overflow:hidden;}
.participantDrawer summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:10px 11px;font-weight:950;color:var(--text);text-transform:uppercase;letter-spacing:.10em;font-size:11px;}
.participantDrawer summary::-webkit-details-marker{display:none;}
.participantDrawer summary strong{display:grid;place-items:center;min-width:28px;height:24px;border-radius:999px;background:var(--accentSoft);color:var(--accent);font-size:12px;}
.participantDrawer[open] summary{border-bottom:1px solid var(--line);}
.participantDrawer p{padding:8px 11px 0;margin:0;color:var(--muted);font-size:11px;line-height:1.35;}
.participantDrawer .fieldSquadGroups{padding:9px 10px 10px;max-height:220px;overflow:auto;}
.fieldSquadPanel .fieldSquadHead,.fieldSquadPanel .fieldSquadControls{display:none!important;}
.fieldSquadGroups button span:empty{display:none;}


/* V04I consolidation: stable session sidebar, colour controls, present squad fit */
body.pageType-block.objectSelected #blockPanel{display:block!important;}
body.pageType-block.objectSelected #fieldSquadPanel{display:block!important;}
body.pageType-block.objectSelected #sessionPanel{display:none!important;}
.fieldSquadPanel .fieldSquadControls{display:grid!important;grid-template-columns:1fr auto;gap:8px;align-items:end;padding:9px 10px 0;}
.fieldSquadPanel .fieldSquadControls label{display:block!important;margin:0;font-size:10px;color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.08em;}
.fieldSquadPanel .fieldSquadControls select{width:100%;margin-top:4px;background:#0b1220;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:7px;font-weight:800;}
.fieldSquadPanel .fieldSquadControls button{padding:8px 10px;font-size:11px;border-radius:8px;}
.squadMetaRow .pos-gk,.squadMetaRow .pos-def,.squadMetaRow .pos-mid,.squadMetaRow .pos-fwd{color:var(--text)!important;}
#presentationOverlay.truePresent .presentationBody{grid-template-columns:1fr!important;}
#presentationOverlay.truePresent #presentNotesPanel{display:none!important;}
#presentationOverlay.truePresent .presentAvailabilityPage{height:100%!important;width:100%!important;max-height:100%!important;overflow:hidden!important;}
#presentationOverlay.truePresent .presentAvailabilityPage .availabilityActions,
#presentationOverlay.truePresent .presentAvailabilityPage .compactBlockLabels{display:none!important;}
#presentationOverlay.truePresent .presentAvailabilityPage .compactSquadBoard{min-height:0!important;overflow:hidden!important;}
#presentationOverlay.truePresent .presentAvailabilityPage .compactSquadGrid{overflow:hidden!important;}


/* V04J root-cause repair: object selection must not hide Session Block controls */
body.objectSelected.pageType-block #blockPanel,
body.pageType-block.objectSelected #blockPanel{
  display:block!important;
}
body.objectSelected.pageType-block #sessionPanel,
body.pageType-block.objectSelected #sessionPanel{
  display:none!important;
}
body.pageType-block.objectSelected #fieldSquadPanel,
body.objectSelected.pageType-block #fieldSquadPanel{
  display:block!important;
}


/* Build 5A — universal slide tools */
.slideCanvasHost{position:relative;overflow:hidden;}
.slideObjectLayer{position:absolute;inset:0;z-index:8;pointer-events:none;}
.slideObject{position:absolute;pointer-events:auto;box-sizing:border-box;touch-action:none;user-select:none;}
.slideObject.selected{outline:2px solid var(--accent);outline-offset:3px;}
.slideObjectResize{position:absolute;right:-8px;bottom:-8px;width:16px;height:16px;border-radius:999px;padding:0;background:var(--accent);border:2px solid #081018;display:none;}
.slideObject.selected .slideObjectResize{display:block;}
.slideText{display:flex;align-items:center;font-weight:950;letter-spacing:-.04em;line-height:1.05;white-space:nowrap;text-shadow:0 8px 24px rgba(0,0,0,.25);}
.slideTextBox{border:1px solid var(--slide-stroke);border-radius:14px;padding:14px;font-weight:800;line-height:1.25;white-space:pre-wrap;overflow:hidden;}
.slideZone{border:2px solid var(--slide-stroke);border-radius:16px;}
.slideLine svg{width:100%;height:100%;display:block;overflow:visible;}
.pageImageSidebar input[type=color]{height:36px;padding:2px;}
.dividerTextStack{position:relative;z-index:4;display:grid;place-items:center;gap:12px;width:min(920px,86%);}
.dividerTextStack #dividerTitle{width:100%;background:transparent;border:0;text-align:center;color:var(--dividerText,#f5f7fa);font-size:82px;font-weight:950;letter-spacing:-.05em;text-transform:uppercase;padding:0;}
.dividerTextStack #dividerSubtitle{width:100%;background:transparent;border:0;text-align:center;color:color-mix(in srgb,var(--dividerText,#f5f7fa) 72%,transparent);font-size:24px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;padding:0;}
.sectionDividerPage:after{width:var(--dividerLineW,72%);left:calc((100% - var(--dividerLineW,72%))/2);right:auto;bottom:auto;top:var(--dividerLineY,72%);height:var(--dividerLineH,2px);}

/* Build 5B — universal slide editability repair */
.pageThemeSidebar{border-top:1px solid var(--line);padding-top:14px;margin-top:14px;}
.pageLogoUpload{display:block;text-align:center;margin-bottom:10px;}
.pageLogoUpload input{display:none;}
.universalSlideLogo{position:absolute;z-index:7;max-width:120px;max-height:70px;object-fit:contain;pointer-events:auto;filter:drop-shadow(0 8px 18px rgba(0,0,0,.35));}
.universalSlideLogo.logo-topLeft{left:28px;top:28px;}
.universalSlideLogo.logo-topRight{right:28px;top:28px;}
.universalSlideLogo.logo-bottomLeft{left:28px;bottom:28px;}
.universalSlideLogo.logo-bottomRight{right:28px;bottom:28px;}
.slideText[contenteditable="true"],.slideTextBox[contenteditable="true"]{cursor:text;outline:2px solid var(--accent);outline-offset:4px;user-select:text;}
.slideText{font-weight:950;line-height:1.05;letter-spacing:-.035em;}
.slideTextBox{line-height:1.25;padding:12px;border:1px solid var(--slide-stroke);border-radius:12px;overflow:hidden;}
.slideZone{border:2px solid var(--slide-stroke);border-radius:16px;}


/* Build 5C: universal presentation theme wiring */
.pageSurface,
.presentSurface{
  background:var(--slide-bg, #101419) !important;
  color:var(--slide-text, #F5F7FA) !important;
}
.universalThemedPage{
  background:var(--slide-bg, #101419) !important;
  color:var(--slide-text, #F5F7FA) !important;
  --accent:var(--slide-accent, #0060A8);
}
.universalThemedPage h1,
.universalThemedPage h2,
.universalThemedPage h3,
.universalThemedPage .geometryTitle,
.universalThemedPage .templateHead input,
.universalThemedPage .overviewBlocksHead h2,
.universalThemedPage .responsibilityHead h1,
.universalThemedPage .keyPointsPage h1{
  color:var(--slide-text, #F5F7FA) !important;
}
.universalThemedPage .homeKicker,
.universalThemedPage .lineValue,
.universalThemedPage .overviewBlocksHead h2,
.universalThemedPage .blockInfoGrid h2,
.universalThemedPage .responsibilityHead h1,
.universalThemedPage .templateHead,
.universalThemedPage .geometryHead,
.universalThemedPage .sectionTitle,
.universalThemedPage .squadBoardTitle,
.universalThemedPage .availabilityGroup h2,
.universalThemedPage .squadGroupTitle,
.universalThemedPage [class*="Head"] h2,
.universalThemedPage [class*="Header"] h2{
  color:var(--slide-accent, #0060A8) !important;
}
.universalThemedPage input,
.universalThemedPage textarea,
.universalThemedPage .overviewBlockCard,
.universalThemedPage .blockInfoGrid section,
.universalThemedPage .responsibilityRow,
.universalThemedPage .keyPointList label,
.universalThemedPage .mediaPanel,
.universalThemedPage .mediaNotesBox,
.universalThemedPage .squadTile,
.universalThemedPage .availabilityPlayer,
.universalThemedPage .squadSummary div,
.universalThemedPage .overviewSquadStrip div{
  border-color:color-mix(in srgb, var(--slide-accent, #0060A8) 35%, #31353C) !important;
}
.universalThemedPage .overviewBlockParticipants span,
.universalThemedPage .overviewSquadStrip strong,
.universalThemedPage .squadSummary strong,
.universalThemedPage .presentMeta span,
.universalThemedPage .blockChip,
.universalThemedPage .sectionDividerPage:after{
  color:var(--slide-accent, #0060A8) !important;
}
.universalThemedPage .sectionDividerPage:after,
.universalThemedPage.editableDividerPage:after{
  background:var(--slide-accent, #0060A8) !important;
}
.presentThemedPage{height:100%;width:100%;}
.presentSurface .universalSlideLogo{z-index:50;}


/* Build 5D — smart logo safe areas */
.pageSurface.hasUniversalLogo,
.presentSurface.hasUniversalLogo{
  --logo-safe-w:150px;
  --logo-safe-h:86px;
  --logo-safe-gap:18px;
}
.universalSlideLogo{
  width:auto;
  height:auto;
  max-width:112px!important;
  max-height:66px!important;
  border-radius:8px;
}
.pageSurface.logo-topRight .universalSlideLogo.logo-topRight,
.presentSurface.logo-topRight .universalSlideLogo.logo-topRight{
  right:24px!important;
  top:24px!important;
}
.pageSurface.logo-topLeft .universalSlideLogo.logo-topLeft,
.presentSurface.logo-topLeft .universalSlideLogo.logo-topLeft{
  left:24px!important;
  top:24px!important;
}

/* reserve header space where page controls/title live */
.logo-topRight .availabilityHeader,
.logo-topRight .squadHeader,
.logo-topRight .overviewHero,
.logo-topRight .matchOverviewPage > .overviewHero,
.logo-topRight .responsibilityHead,
.logo-topRight .keyPointsPage > h1,
.logo-topRight .blockInfoPage > h1,
.logo-topRight .notesPage > h2,
.logo-topRight .pageLayoutBar,
.logo-topRight .templateHead,
.logo-topRight .idpHead{
  padding-right:calc(var(--logo-safe-w,150px) + var(--logo-safe-gap,18px))!important;
}
.logo-topLeft .availabilityHeader,
.logo-topLeft .squadHeader,
.logo-topLeft .overviewHero,
.logo-topLeft .matchOverviewPage > .overviewHero,
.logo-topLeft .responsibilityHead,
.logo-topLeft .keyPointsPage > h1,
.logo-topLeft .blockInfoPage > h1,
.logo-topLeft .notesPage > h2,
.logo-topLeft .pageLayoutBar,
.logo-topLeft .templateHead,
.logo-topLeft .idpHead{
  padding-left:calc(var(--logo-safe-w,150px) + var(--logo-safe-gap,18px))!important;
}

/* Squad has header controls in the same zone, so keep its content clear of the logo. */
.logo-topRight .squadHeader{
  grid-template-columns:minmax(220px,1fr) minmax(0,auto) auto!important;
}
.logo-topRight .squadStatusLegend,
.logo-topRight .availabilityActions{
  max-width:calc(100vw - 520px);
  flex-wrap:wrap!important;
}
.logo-topRight .squadBoardPage{
  padding-top:12px!important;
}
.logo-topRight .squadBoardPage .compactSquadBoard,
.logo-topLeft .squadBoardPage .compactSquadBoard{
  margin-top:0!important;
}

/* If a top logo is enabled on simple pages, move content just enough to avoid collision. */
.logo-topRight .coverControls,
.logo-topRight .dividerControls,
.logo-topRight .imageToolbar{
  right:calc(var(--logo-safe-w,150px) + 36px)!important;
}
.logo-topLeft .coverColourControls,
.logo-topLeft .imageToolbar{
  left:calc(var(--logo-safe-w,150px) + 36px)!important;
}

/* Bottom logos reserve footer space where summary/footer cards live. */
.logo-bottomRight .squadTotals,
.logo-bottomLeft .squadTotals{
  margin-bottom:calc(var(--logo-safe-h,86px) - 34px)!important;
}
.logo-bottomRight .notesPage,
.logo-bottomLeft .notesPage,
.logo-bottomRight .mediaPage,
.logo-bottomLeft .mediaPage{
  padding-bottom:calc(var(--logo-safe-h,86px) + 20px)!important;
}

@media(max-width:1200px){
  .pageSurface.hasUniversalLogo,
  .presentSurface.hasUniversalLogo{--logo-safe-w:116px;--logo-safe-h:70px;}
  .universalSlideLogo{max-width:86px!important;max-height:52px!important;}
}

/* Build 5E — presentation layout controls and storyboard navigation */
.pageSurface.aspect-wide{aspect-ratio:16/9;max-width:calc(100% - 44px);width:min(1180px,calc((100vh - 190px) * 1.777));min-height:0;align-self:center;flex:0 0 auto;}
.pageSurface.aspect-square{aspect-ratio:1/1;max-width:calc(100% - 44px);width:min(900px,calc(100vh - 190px));min-height:0;align-self:center;flex:0 0 auto;}
.pageSurface.aspect-portrait{aspect-ratio:9/16;max-height:calc(100vh - 150px);width:min(580px,calc((100vh - 190px) * .5625));min-height:0;align-self:center;flex:0 0 auto;}
.universalSlideHeader,.universalSlideFooter,.universalPageTitle{position:absolute;z-index:45;pointer-events:none;font-weight:900;letter-spacing:.02em;color:var(--slide-text,#F5F7FA)}
.universalSlideHeader{top:14px;left:24px;right:24px;min-height:34px;border-bottom:1px solid color-mix(in srgb,var(--slide-accent,#0060A8) 35%,transparent);padding-bottom:8px;display:flex;flex-direction:column;gap:2px;}
.logo-topRight .universalSlideHeader{right:calc(var(--logo-safe-w,150px) + 42px)}
.logo-topLeft .universalSlideHeader{left:calc(var(--logo-safe-w,150px) + 42px)}
.universalSlideHeader strong{font-size:16px;text-transform:uppercase;color:var(--slide-text,#F5F7FA)}
.universalSlideHeader span{font-size:11px;color:var(--slide-accent,#0060A8);text-transform:uppercase;letter-spacing:.12em}
.universalPageTitle{top:62px;left:24px;font-size:13px;text-transform:uppercase;border-left:3px solid var(--slide-accent,#0060A8);padding-left:8px;color:var(--slide-text,#F5F7FA)}
.logo-topLeft .universalPageTitle{left:calc(var(--logo-safe-w,150px) + 42px)}
.universalSlideFooter{bottom:14px;left:24px;right:24px;border-top:1px solid color-mix(in srgb,var(--slide-accent,#0060A8) 25%,transparent);padding-top:7px;font-size:11px;color:var(--slide-text,#F5F7FA);opacity:.82;text-align:right}
.logo-bottomRight .universalSlideFooter{right:calc(var(--logo-safe-w,150px) + 42px)}
.logo-bottomLeft .universalSlideFooter{left:calc(var(--logo-safe-w,150px) + 42px)}
.pageThemeSidebar .inlineCheck{display:flex!important;align-items:center;gap:8px;text-transform:none;letter-spacing:0;color:var(--muted);font-weight:800}.pageThemeSidebar .inlineCheck input{width:auto;margin:0}
.pageCard{border-left:5px solid var(--page-nav-colour,#0060A8)}
.pageCard .pageThumb{background:linear-gradient(135deg,var(--page-nav-colour,#0060A8),color-mix(in srgb,var(--page-nav-colour,#0060A8) 45%,#111315))!important}
.pageStoryboardDivider{margin:8px 0 2px;padding:8px 10px;border-left:5px solid var(--page-nav-colour,#f2c94c);background:#0b1118;border-radius:10px;color:#f5f6f7;font-size:11px;font-weight:950;letter-spacing:.13em;text-transform:uppercase;opacity:.9}


/* V5F layout/panel stabilisation */
.pageThemeSidebar{display:grid;gap:12px;}
.pageThemeSidebar .panelSubsection{border:1px solid var(--line);background:#151a20;border-radius:14px;padding:12px;display:grid;gap:8px;}
.pageThemeSidebar .panelSubsection h3{margin:0;color:var(--accent);font-size:11px;text-transform:uppercase;letter-spacing:.14em;}
.pageThemeSidebar label{margin-bottom:0;}
.pageThemeSidebar input[type=color]{height:38px;}
.slideObject:not(.selected) .slideObjectResize{display:none!important;}
.slideText{border:0!important;background:transparent!important;padding:0 4px;}
.slideTextBox{border:1px solid var(--slide-stroke,#0060A8);padding:10px 12px;border-radius:8px;overflow:hidden;white-space:pre-wrap;}
#presentSurface.aspect-wide{aspect-ratio:16/9;width:min(92vw,calc((100vh - 130px) * 1.777));height:auto;max-height:calc(100vh - 130px);align-self:center;justify-self:center;}
#presentSurface.aspect-square{aspect-ratio:1/1;width:min(78vw,calc(100vh - 130px));height:auto;max-height:calc(100vh - 130px);align-self:center;justify-self:center;}
#presentSurface.aspect-portrait{aspect-ratio:9/16;width:min(44vw,calc((100vh - 130px) * .5625));height:auto;max-height:calc(100vh - 130px);align-self:center;justify-self:center;}
#presentationOverlay.truePresent #presentSurface.aspect-wide{width:min(96vw,calc(100vh * 1.777));max-height:96vh;}
#presentationOverlay.truePresent #presentSurface.aspect-square{width:min(92vw,92vh);max-height:92vh;}
#presentationOverlay.truePresent #presentSurface.aspect-portrait{width:min(54vw,calc(96vh * .5625));max-height:96vh;}
.universalSlideHeader strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.universalSlideHeader span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}


/* V6A clean template finalisation: presentation-ready blank templates */
.pageSurface input::placeholder,
.pageSurface textarea::placeholder{color:transparent!important;}
.coverPage,.overviewPage,.matchOverviewPage,.blockInfoPage,.notesPage,.keyPointsPage,.responsibilityPage,.mediaPage,.sectionDividerPage,.availabilityPage{background:var(--slide-bg,#101419);color:var(--slide-text,#F5F7FA);}
.overviewPage,.matchOverviewPage,.blockInfoPage,.notesPage,.keyPointsPage,.responsibilityPage{padding:40px;gap:20px;}
.overviewHero input,.overviewHero textarea,.pageTitleInput,.geometryTitle,#moTitle,#respTitle,#keyTitle,#notesTitle{color:var(--slide-text,#F5F7FA);}
.overviewMetaGrid>label,.overviewBlockCard,.blockInfoEditorCard,.sectionEditRow,.keyPointList label,.responsibilityRow,.mediaPanel,.mediaNotesBox{border-color:color-mix(in srgb,var(--slide-accent,#0060A8) 26%, var(--line));background:color-mix(in srgb,var(--slide-bg,#101419) 82%, #fff 6%);}
.overviewBlocksHead h2,.panelSection h2,.blockInfoGrid h2,.presentMeta span,.overviewBlockCard span,.overviewBlockCard strong,.lineValue{color:var(--slide-accent,#0060A8)!important;}
.coverColourControls,.dividerControls{opacity:.92;}
.editableCoverPage .coverText{max-width:min(820px,76%);}
.coverTitleInput{font-size:clamp(48px,7vw,86px);line-height:.92;}
.coverSubtitleInput{font-size:clamp(18px,2.6vw,30px);}
.coverMetaInput{font-size:15px;letter-spacing:.16em;}
.editableDividerPage .dividerTextStack{width:min(980px,84%);display:grid;gap:14px;z-index:3;}
.editableDividerPage #dividerTitle{font-size:clamp(54px,8vw,104px);line-height:.9;text-transform:uppercase;background:transparent;border:0;text-align:center;font-weight:950;color:var(--dividerText,var(--slide-text,#F5F7FA));}
.editableDividerPage #dividerSubtitle{font-size:clamp(18px,2.2vw,30px);background:transparent;border:0;text-align:center;color:color-mix(in srgb,var(--dividerText,var(--slide-text,#F5F7FA)) 72%, transparent);}
.cleanNotesPage{display:grid;grid-template-rows:auto 1fr;align-content:stretch;min-height:100%;}
.cleanNotesPage #notesTitle{font-size:52px;font-weight:950;letter-spacing:-.05em;background:transparent;border:0;padding:0;margin:0;}
.cleanNotesPage #notesBody{min-height:520px;font-size:22px;line-height:1.48;background:color-mix(in srgb,var(--slide-bg,#101419) 92%, #fff 5%);border-radius:18px;}
.cleanTemplatePage .keyPointList:empty{display:none;}
.keyPointList label input{color:var(--slide-accent,#0060A8)!important;}
.blockInfoEditablePage .blockInfoEditorCard{background:color-mix(in srgb,var(--slide-bg,#101419) 86%, #fff 5%);}
.blockInfoEditablePage .sectionEditorHeader{border-top-color:color-mix(in srgb,var(--slide-accent,#0060A8) 36%, var(--line));}
.blockInfoEditablePage .sectionEditorHeader h3{color:var(--slide-accent,#0060A8);}
.templateHead,.geometryHead{border-bottom:1px solid color-mix(in srgb,var(--slide-accent,#0060A8) 24%, var(--line));padding-bottom:12px;}
.templatePage,.geometryPage{background:var(--slide-bg,#101419);color:var(--slide-text,#F5F7FA);}

/* V6B stabilisation: restore editor canvas size and prevent template clipping.
   Presentation aspect is for Present/Export only; editor pages stay full workspace size. */
.canvasArea .pageSurface.aspect-wide,
.canvasArea .pageSurface.aspect-square,
.canvasArea .pageSurface.aspect-portrait{
  aspect-ratio:auto!important;
  width:auto!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  flex:1 1 auto!important;
  margin:22px!important;
  overflow:auto!important;
}

/* Keep specialised templates inside their natural editor space rather than clipping them. */
body.pageType-flexGrid .pageSurface,
body.pageType-circularGrid .pageSurface,
body.pageType-decisionTree .pageSurface,
body.pageType-growthTree .pageSurface,
body.pageType-pyramid .pageSurface,
body.pageType-spiderGraph .pageSurface,
body.pageType-trafficLights .pageSurface,
body.pageType-lineup .pageSurface,
body.pageType-responsibilities .pageSurface,
body.pageType-matchOverview .pageSurface,
body.pageType-overview .pageSurface,
body.pageType-blockInfo .pageSurface,
body.pageType-cover .pageSurface,
body.pageType-sectionDivider .pageSurface{
  overflow:auto!important;
}
.templatePage,.geometryPage,.decisionStage,.growthStageV2,.pyramidStageV2,.trafficBoardV2,.flexSplit{
  max-width:100%;
}
.templatePage{overflow:auto!important;}
.decisionStage,.growthStageV2,.pyramidStageV2{overflow:visible!important;}

/* Make blank cover/divider editable regions visible in the editor without forcing text. */
.pageSurface .coverTitleInput,
.pageSurface .coverSubtitleInput,
.pageSurface .coverMetaInput{
  border:1px dashed rgba(0,96,168,.28)!important;
  border-radius:10px!important;
  padding:8px 10px!important;
  min-height:42px!important;
}
.pageSurface .coverTitleInput{min-height:76px!important;}
.pageSurface .dividerTextStack input{
  border:1px dashed rgba(0,96,168,.30)!important;
  border-radius:12px!important;
  padding:8px 12px!important;
  min-height:52px!important;
}
.pageSurface #dividerTitle{min-height:96px!important;}

/* Neutralise old bright lineup wrapper colour unless a user deliberately changes page background. */
.lineupPageRecovered,
.lineupPageRecovered .lineupBody{
  background:var(--slide-bg,#101419)!important;
}
.lineupPageRecovered .lineupPageHead,
.lineupPageRecovered .lineupSettingsPanel,
.lineupPageRecovered .lineupRoster{
  background:color-mix(in srgb,var(--slide-bg,#101419) 90%,#000)!important;
}

/* Keep existing present aspect behaviour isolated to Present. */
#presentSurface.aspect-wide,#presentSurface.aspect-square,#presentSurface.aspect-portrait{
  overflow:hidden!important;
}



/* Build 6F — Session Overview final restore.
   Restores the 4F dashboard proportions, keeps 4 blocks across, and allows editor scroll for 5+ blocks. */
body.pageType-overview #pagePanel{display:block!important;}
body.pageType-overview .pageSurface{
  overflow:auto!important;
}
body.pageType-overview .overviewPage{
  min-height:100%!important;
  padding:34px!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:22px!important;
  align-content:start!important;
  align-items:start!important;
  overflow:visible!important;
  background:var(--slide-bg,#101419)!important;
  color:var(--slide-text,#F5F6F7)!important;
}
body.pageType-overview .overviewHero{
  display:grid!important;
  gap:10px!important;
  margin:0!important;
  padding:0!important;
  min-height:112px!important;
}
body.pageType-overview .overviewHero input{
  display:block!important;
  font-size:42px!important;
  line-height:1!important;
  min-height:48px!important;
  font-weight:950!important;
  letter-spacing:-.04em!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
  margin:0!important;
  color:var(--slide-text,var(--text))!important;
}
body.pageType-overview .overviewHero textarea{
  display:block!important;
  font-size:18px!important;
  line-height:1.35!important;
  min-height:54px!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
  margin:0!important;
  color:var(--muted)!important;
  resize:vertical!important;
}
body.pageType-overview .overviewHero input::placeholder,
body.pageType-overview .overviewHero textarea::placeholder{
  color:var(--slide-text,var(--text))!important;
  opacity:.92!important;
}
body.pageType-overview .overviewHero textarea::placeholder{
  color:var(--muted)!important;
  opacity:1!important;
}
body.pageType-overview .overviewMetaGrid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
  margin:0!important;
  padding:0!important;
}
body.pageType-overview .overviewSquadStrip{
  display:grid!important;
  grid-template-columns:repeat(9,minmax(76px,1fr))!important;
  gap:8px!important;
  margin:0!important;
}
body.pageType-overview .overviewSquadStrip div,
body.pageType-overview .overviewBlockParticipants{
  border:1px solid var(--line)!important;
  background:#151a20!important;
  border-radius:12px!important;
  padding:10px!important;
}
body.pageType-overview .overviewSquadStrip strong{
  display:block!important;
  color:var(--accent)!important;
  font-size:24px!important;
  line-height:1!important;
}
body.pageType-overview .overviewSquadStrip span,
body.pageType-overview .overviewBlockParticipants{
  color:var(--muted)!important;
  font-size:10px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:900!important;
}
body.pageType-overview .overviewBlockParticipants span{
  color:var(--accent)!important;
  font-size:18px!important;
  margin-right:5px!important;
}
body.pageType-overview .overviewBlocksHead{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  margin:0!important;
  padding:0!important;
}
body.pageType-overview .overviewBlocksHead h2{
  margin:0!important;
  color:var(--accent)!important;
  text-transform:uppercase!important;
  font-size:13px!important;
  letter-spacing:.16em!important;
}
body.pageType-overview .overviewBlocks{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:start!important;
  overflow:visible!important;
  max-height:none!important;
  min-height:0!important;
}
body.pageType-overview .overviewBlockCard{
  border:1px solid var(--line)!important;
  border-radius:16px!important;
  background:#171c22!important;
  padding:14px!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}
body.pageType-overview .overviewBlockCard strong{display:block!important;margin-bottom:10px!important;}
body.pageType-overview .overviewBlockCard strong input{
  font-size:18px!important;
  line-height:1.2!important;
  font-weight:900!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
  margin:0!important;
  min-height:28px!important;
  color:var(--slide-text,var(--text))!important;
}
body.pageType-overview .overviewBlockGrid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;}
body.pageType-overview .blockActions{display:flex!important;gap:8px!important;margin-top:10px!important;align-items:center!important;flex-wrap:wrap!important;}
@media(max-width:1200px){
  body.pageType-overview .overviewSquadStrip{grid-template-columns:repeat(3,1fr)!important;}
  body.pageType-overview .overviewBlocks{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}

/* V036K session/present repair: Present uses the editor slide DOM as truth, with editing controls suppressed. */
#presentationOverlay.truePresent .presentSurface.presentEditorTruth{height:100%;width:100%;overflow:hidden;display:block;}
#presentationOverlay.truePresent .presentSurface.presentEditorTruth>.coverPage,
#presentationOverlay.truePresent .presentSurface.presentEditorTruth>.overviewPage,
#presentationOverlay.truePresent .presentSurface.presentEditorTruth>.availabilityPage,
#presentationOverlay.truePresent .presentSurface.presentEditorTruth>.blockInfoPage,
#presentationOverlay.truePresent .presentSurface.presentEditorTruth>.matchOverviewPage,
#presentationOverlay.truePresent .presentSurface.presentEditorTruth>.lineupPage,
#presentationOverlay.truePresent .presentSurface.presentEditorTruth>.sectionDividerPage,
#presentationOverlay.truePresent .presentSurface.presentEditorTruth>.responsibilityPage,
#presentationOverlay.truePresent .presentSurface.presentEditorTruth>.keyPointsPage,
#presentationOverlay.truePresent .presentSurface.presentEditorTruth>.mediaPage,
#presentationOverlay.truePresent .presentSurface.presentEditorTruth>.templatePage,
#presentationOverlay.truePresent .presentSurface.presentEditorTruth>.idpCoverPage,
#presentationOverlay.truePresent .presentSurface.presentEditorTruth>.principlePage{height:100%;min-height:100%;max-height:100%;overflow:hidden;}
#presentationOverlay.truePresent .presentSurface .presentHiddenControl,
#presentationOverlay.truePresent .presentSurface button[disabled],
#presentationOverlay.truePresent .presentSurface .availabilityActions,
#presentationOverlay.truePresent .presentSurface .blockLabelRow,
#presentationOverlay.truePresent .presentSurface .lineupControls,
#presentationOverlay.truePresent .presentSurface .lineupRoster,
#presentationOverlay.truePresent .presentSurface .pageLayoutBar,
#presentationOverlay.truePresent .presentSurface .dividerControls,
#presentationOverlay.truePresent .presentSurface .slotControls{display:none!important;}
#presentationOverlay.truePresent .presentSurface input[readonly],
#presentationOverlay.truePresent .presentSurface textarea[readonly]{pointer-events:none;resize:none;}
#presentationOverlay.truePresent .presentSurface .overviewPage{padding:34px;}
#presentationOverlay.truePresent .presentSurface .availabilityPage{padding:24px;}
#presentationOverlay.truePresent .presentSurface .blockInfoPage{padding:34px!important;max-height:100%!important;}

/* V036K.2 present-session correction pass
   Fixes the over-aggressive V036K present clone rules:
   - do not hide every disabled button, because squad block toggles and split players are buttons
   - hide only real editor controls in Present
   - apply the restored Session Overview proportions inside Present as well as editor
   - keep Split/Media bodies visible while suppressing panel/tool controls
*/
#presentationOverlay.truePresent .presentSurface .presentHiddenControl,
#presentationOverlay.truePresent .presentSurface .availabilityActions,
#presentationOverlay.truePresent .presentSurface .blockLabelRow,
#presentationOverlay.truePresent .presentSurface .lineupControls,
#presentationOverlay.truePresent .presentSurface .lineupRoster,
#presentationOverlay.truePresent .presentSurface .pageLayoutBar,
#presentationOverlay.truePresent .presentSurface .dividerControls,
#presentationOverlay.truePresent .presentSurface .slotControls,
#presentationOverlay.truePresent .presentSurface .splitPanelToolbar,
#presentationOverlay.truePresent .presentSurface .splitTacticalDrawer,
#presentationOverlay.truePresent .presentSurface .inlineMediaTools,
#presentationOverlay.truePresent .presentSurface .blockActions,
#presentationOverlay.truePresent .presentSurface .photoMini,
#presentationOverlay.truePresent .presentSurface .clearPhoto,
#presentationOverlay.truePresent .presentSurface [data-remove-player],
#presentationOverlay.truePresent .presentSurface [data-clear-photo],
#presentationOverlay.truePresent .presentSurface [data-photo-input],
#presentationOverlay.truePresent .presentSurface .imageMoveHint,
#presentationOverlay.truePresent .presentSurface .imageResizeHandle{display:none!important;}

#presentationOverlay.truePresent .presentSurface .overviewPage{
  min-height:100%!important;
  height:100%!important;
  padding:34px!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:18px!important;
  align-content:start!important;
  align-items:start!important;
  overflow:hidden!important;
  background:var(--slide-bg,#101419)!important;
  color:var(--slide-text,#F5F6F7)!important;
}
#presentationOverlay.truePresent .presentSurface .overviewHero{display:grid!important;gap:8px!important;min-height:auto!important;margin:0!important;padding:0!important;}
#presentationOverlay.truePresent .presentSurface .overviewHero input{font-size:42px!important;line-height:1!important;min-height:44px!important;font-weight:950!important;letter-spacing:-.04em!important;background:transparent!important;border:0!important;padding:0!important;margin:0!important;color:var(--slide-text,var(--text))!important;}
#presentationOverlay.truePresent .presentSurface .overviewHero textarea{font-size:18px!important;line-height:1.25!important;min-height:42px!important;background:transparent!important;border:0!important;padding:0!important;margin:0!important;color:var(--muted)!important;resize:none!important;}
#presentationOverlay.truePresent .presentSurface .overviewMetaGrid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin:0!important;padding:0!important;}
#presentationOverlay.truePresent .presentSurface .overviewSquadStrip{display:grid!important;grid-template-columns:repeat(9,minmax(64px,1fr))!important;gap:8px!important;margin:0!important;}
#presentationOverlay.truePresent .presentSurface .overviewSquadStrip div,
#presentationOverlay.truePresent .presentSurface .overviewBlockParticipants{border:1px solid var(--line)!important;background:#151a20!important;border-radius:12px!important;padding:9px!important;}
#presentationOverlay.truePresent .presentSurface .overviewSquadStrip strong{display:block!important;color:var(--accent)!important;font-size:22px!important;line-height:1!important;}
#presentationOverlay.truePresent .presentSurface .overviewSquadStrip span,
#presentationOverlay.truePresent .presentSurface .overviewBlockParticipants{color:var(--muted)!important;font-size:10px!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-weight:900!important;}
#presentationOverlay.truePresent .presentSurface .overviewBlockParticipants span{color:var(--accent)!important;font-size:17px!important;margin-right:5px!important;}
#presentationOverlay.truePresent .presentSurface .overviewBlocksHead{display:flex!important;justify-content:space-between!important;align-items:center!important;margin:0!important;padding:0!important;}
#presentationOverlay.truePresent .presentSurface .overviewBlocksHead h2{margin:0!important;color:var(--accent)!important;text-transform:uppercase!important;font-size:13px!important;letter-spacing:.16em!important;}
#presentationOverlay.truePresent .presentSurface .overviewBlocks{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;align-items:start!important;overflow:hidden!important;max-height:none!important;min-height:0!important;}
#presentationOverlay.truePresent .presentSurface .overviewBlockCard{border:1px solid var(--line)!important;border-radius:16px!important;background:#171c22!important;padding:13px!important;min-width:0!important;height:auto!important;min-height:0!important;overflow:hidden!important;}
#presentationOverlay.truePresent .presentSurface .overviewBlockCard strong{display:block!important;margin-bottom:8px!important;}
#presentationOverlay.truePresent .presentSurface .overviewBlockCard strong input{font-size:18px!important;line-height:1.15!important;font-weight:900!important;background:transparent!important;border:0!important;padding:0!important;margin:0!important;min-height:24px!important;color:var(--slide-text,var(--text))!important;}
#presentationOverlay.truePresent .presentSurface .overviewBlockGrid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;}
#presentationOverlay.truePresent .presentSurface .overviewBlockGrid label{font-size:10px!important;margin-bottom:5px!important;}
#presentationOverlay.truePresent .presentSurface .overviewBlockGrid input,
#presentationOverlay.truePresent .presentSurface .overviewMetaGrid input{min-height:30px!important;padding:7px 9px!important;}

/* Squad Present should keep the compact squad board structure, including block toggles, not the older expanded card variant. */
#presentationOverlay.truePresent .presentSurface .squadBoardPage{height:100%!important;min-height:0!important;padding:18px 22px 14px!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;gap:10px!important;overflow:hidden!important;}
#presentationOverlay.truePresent .presentSurface .squadBoardPage .compactSquadBoard{min-height:0!important;overflow:hidden!important;}
#presentationOverlay.truePresent .presentSurface .squadBoardPage .availabilityTotals{position:static!important;}
#presentationOverlay.truePresent .presentSurface .squadBoardPage .blockToggle{display:block!important;pointer-events:none!important;}
#presentationOverlay.truePresent .presentSurface .squadBoardPage .squadNameRow button{display:none!important;}

/* Split/Media Present: hide controls but leave fields/images/notes visible and scaled. */
#presentationOverlay.truePresent .presentSurface .mediaPage{height:100%!important;min-height:100%!important;display:grid!important;grid-template-rows:minmax(0,1fr)!important;padding:24px!important;overflow:hidden!important;}
#presentationOverlay.truePresent .presentSurface .mediaPage .mediaCanvas{height:100%!important;min-height:0!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:18px!important;}
#presentationOverlay.truePresent .presentSurface .mediaPage .splitPanel{display:grid!important;grid-template-rows:minmax(0,1fr)!important;min-height:0!important;}
#presentationOverlay.truePresent .presentSurface .mediaPage .mediaPanel{height:100%!important;min-height:0!important;display:grid!important;place-items:center!important;overflow:hidden!important;}
#presentationOverlay.truePresent .presentSurface .mediaPage .splitTacticalField{height:min(100%,760px)!important;max-height:100%!important;aspect-ratio:.72!important;}
#presentationOverlay.truePresent .presentSurface .mediaPage .splitPlayer{display:grid!important;pointer-events:none!important;}

/* V036K.3 remaining Present/session correction
   - Cover: presenter must not show the editor-only Move title block or cover editing controls.
   - Overview: fit session block cards into the present surface instead of forcing a 4-column grid that cuts the last block.
   - Split/Media: tactical players remain draggable in Present; later K.2 rules accidentally disabled pointer events again.
*/
#presentationOverlay.truePresent .presentSurface .coverMoveHandle,
#presentationOverlay.truePresent .presentSurface .coverColourControls,
#presentationOverlay.truePresent .presentSurface .coverEditControls,
#presentationOverlay.truePresent .presentSurface .compactPageImageTools,
#presentationOverlay.truePresent .presentSurface .pageImageResizeHandle,
#presentationOverlay.truePresent .presentSurface .pageImageMoveHint{
  display:none!important;
}

#presentationOverlay.truePresent .presentSurface .overviewPage{
  gap:14px!important;
  padding:30px 34px!important;
}
#presentationOverlay.truePresent .presentSurface .overviewBlocks{
  grid-template-columns:repeat(auto-fit,minmax(205px,1fr))!important;
  gap:10px!important;
  align-content:start!important;
  overflow:visible!important;
}
#presentationOverlay.truePresent .presentSurface .overviewBlockCard{
  padding:11px!important;
  overflow:hidden!important;
}
#presentationOverlay.truePresent .presentSurface .overviewBlockGrid{
  grid-template-columns:1fr 1fr!important;
  gap:6px!important;
}
#presentationOverlay.truePresent .presentSurface .overviewBlockGrid input,
#presentationOverlay.truePresent .presentSurface .overviewMetaGrid input{
  min-height:27px!important;
  padding:5px 7px!important;
}
#presentationOverlay.truePresent .presentSurface .overviewSquadStrip{
  gap:7px!important;
}
#presentationOverlay.truePresent .presentSurface .overviewSquadStrip div{
  padding:8px!important;
}

#presentationOverlay.truePresent .presentSurface .mediaPage .splitPlayer,
#presentationOverlay.truePresent .presentSurface .mediaPage .presentSplitPlayer{
  pointer-events:auto!important;
  cursor:grab!important;
  display:grid!important;
}
#presentationOverlay.truePresent .presentSurface .mediaPage .splitPlayer:active,
#presentationOverlay.truePresent .presentSurface .mediaPage .presentSplitPlayer:active{
  cursor:grabbing!important;
}


/* V036K.4 final session/split repair
   1) Session Overview problem is the EDITOR slide height, not Present only.
      The top fields and five block cards must fit inside the slide without the last card being cut off.
   2) Split/Media player movement is JS-renderer related; CSS here only ensures players receive pointer events above present chrome.
*/
body.pageType-overview .overviewPage{
  padding:26px 34px!important;
  gap:14px!important;
  min-height:100%!important;
  align-content:start!important;
  overflow:visible!important;
}
body.pageType-overview .overviewHero{
  min-height:auto!important;
  gap:6px!important;
}
body.pageType-overview .overviewHero input{
  font-size:38px!important;
  min-height:40px!important;
  line-height:1!important;
}
body.pageType-overview .overviewHero textarea{
  font-size:16px!important;
  line-height:1.2!important;
  min-height:30px!important;
  max-height:38px!important;
  resize:none!important;
}
body.pageType-overview .overviewMetaGrid{
  gap:10px!important;
}
body.pageType-overview .overviewMetaGrid label{
  margin-bottom:0!important;
  font-size:10px!important;
}
body.pageType-overview .overviewMetaGrid input{
  min-height:28px!important;
  height:28px!important;
  padding:5px 8px!important;
}
body.pageType-overview .overviewSquadStrip{
  grid-template-columns:repeat(9,minmax(58px,1fr))!important;
  gap:7px!important;
}
body.pageType-overview .overviewSquadStrip div{
  padding:8px 9px!important;
}
body.pageType-overview .overviewSquadStrip strong{
  font-size:21px!important;
}
body.pageType-overview .overviewBlocksHead{
  min-height:28px!important;
}
body.pageType-overview .overviewBlocks{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:10px!important;
  align-items:start!important;
  overflow:visible!important;
}
body.pageType-overview .overviewBlockCard{
  padding:10px!important;
  border-radius:14px!important;
  overflow:hidden!important;
}
body.pageType-overview .overviewBlockCard strong{
  margin-bottom:6px!important;
}
body.pageType-overview .overviewBlockCard strong input{
  font-size:17px!important;
  min-height:22px!important;
}
body.pageType-overview .overviewBlockParticipants{
  padding:7px 9px!important;
}
body.pageType-overview .overviewBlockGrid{
  gap:5px!important;
}
body.pageType-overview .overviewBlockGrid label{
  font-size:10px!important;
  margin-bottom:0!important;
}
body.pageType-overview .overviewBlockGrid input{
  min-height:26px!important;
  height:26px!important;
  padding:4px 7px!important;
}
@media(max-width:1280px){
  body.pageType-overview .overviewBlocks{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}

#presentationOverlay.truePresent .presentSurface .overviewPage{
  padding:26px 34px!important;
  gap:14px!important;
}
#presentationOverlay.truePresent .presentSurface .overviewHero input{font-size:38px!important;min-height:40px!important;}
#presentationOverlay.truePresent .presentSurface .overviewHero textarea{font-size:16px!important;min-height:30px!important;max-height:38px!important;}
#presentationOverlay.truePresent .presentSurface .overviewMetaGrid input{min-height:28px!important;height:28px!important;padding:5px 8px!important;}
#presentationOverlay.truePresent .presentSurface .overviewSquadStrip{grid-template-columns:repeat(9,minmax(58px,1fr))!important;gap:7px!important;}
#presentationOverlay.truePresent .presentSurface .overviewSquadStrip div{padding:8px 9px!important;}
#presentationOverlay.truePresent .presentSurface .overviewSquadStrip strong{font-size:21px!important;}
#presentationOverlay.truePresent .presentSurface .overviewBlocks{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important;overflow:visible!important;}
#presentationOverlay.truePresent .presentSurface .overviewBlockCard{padding:10px!important;border-radius:14px!important;overflow:hidden!important;}
#presentationOverlay.truePresent .presentSurface .overviewBlockCard strong{margin-bottom:6px!important;}
#presentationOverlay.truePresent .presentSurface .overviewBlockCard strong input{font-size:17px!important;min-height:22px!important;}
#presentationOverlay.truePresent .presentSurface .overviewBlockParticipants{padding:7px 9px!important;}
#presentationOverlay.truePresent .presentSurface .overviewBlockGrid{gap:5px!important;}
#presentationOverlay.truePresent .presentSurface .overviewBlockGrid input{min-height:26px!important;height:26px!important;padding:4px 7px!important;}

#presentationOverlay.truePresent .presentSurface .mediaPage .presentSplitPlayer,
#presentationOverlay.truePresent .presentSurface .mediaPage .splitPlayer{
  pointer-events:auto!important;
  touch-action:none!important;
  z-index:40!important;
  position:absolute!important;
  cursor:grab!important;
}
#presentationOverlay.truePresent .presentSurface .mediaPage .presentSplitPlayer:active,
#presentationOverlay.truePresent .presentSurface .mediaPage .splitPlayer:active{cursor:grabbing!important;}

/* V036K.5 final answers
   A) Overview grey cut-off: global slide-theme rule was styling .overviewMetaGrid > label as a card.
      Those top meta fields should be plain labels + inputs, not grey cards.
   B) Split/Media Present blank: K.4 forced mediaPage to a single grid row, so the title occupied the row
      and the actual mediaCanvas collapsed to a bottom line. Restore title + content rows.
*/
body.pageType-overview .overviewMetaGrid > label,
#presentationOverlay.truePresent .presentSurface .overviewMetaGrid > label{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  border-radius:0!important;
  overflow:visible!important;
  min-height:0!important;
}

body.pageType-overview .overviewMetaGrid > label input,
#presentationOverlay.truePresent .presentSurface .overviewMetaGrid > label input{
  margin-top:5px!important;
}

#presentationOverlay.truePresent .presentSurface .mediaPage,
#presentationOverlay.truePresent .presentSurface .presentMediaPage{
  grid-template-rows:auto minmax(0,1fr)!important;
  gap:16px!important;
  align-content:stretch!important;
  align-items:stretch!important;
}

#presentationOverlay.truePresent .presentSurface .mediaPage .mediaCanvas,
#presentationOverlay.truePresent .presentSurface .presentMediaPage .mediaCanvas{
  min-height:0!important;
  height:100%!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:18px!important;
  align-items:stretch!important;
}

#presentationOverlay.truePresent .presentSurface .mediaPage .presentMediaPanel,
#presentationOverlay.truePresent .presentSurface .presentMediaPage .presentMediaPanel{
  min-height:0!important;
  height:100%!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
}

#presentationOverlay.truePresent .presentSurface .mediaPage .presentSplitField,
#presentationOverlay.truePresent .presentSurface .presentMediaPage .presentSplitField{
  height:min(100%,760px)!important;
  max-height:100%!important;
  aspect-ratio:.72!important;
  position:relative!important;
}

#presentationOverlay.truePresent .presentSurface .presentSplitPlayer{
  pointer-events:auto!important;
  touch-action:none!important;
  z-index:60!important;
  position:absolute!important;
  cursor:grab!important;
}


/* FIRST PHASE AGREED FIX PASS — single accent, clean supplied logo, stable project/save wording */
:root{
  --bg:#0B0D10;
  --panel:#15181D;
  --panel2:#20252B;
  --line:#30363D;
  --text:#F2F2F2;
  --muted:#A7AFB8;
  --accent:#0060A8;
  --accentSoft:rgba(0,96,168,.14);
  --accentGlow:rgba(0,96,168,.20);
  --blue:#0060A8;
}

/* Logo: supplied image only. No generated mark, ring, glow or border. */
.s4Logo,
.appLogo,
.homeLogo{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  outline:0!important;
  overflow:hidden!important;
  display:grid!important;
  place-items:center!important;
  border-radius:999px!important;
}
.s4Logo:before,
.s4Logo:after,
.s4Logo span:before,
.appLogo:before,
.appLogo:after,
.homeLogo:before,
.homeLogo:after{
  display:none!important;
  content:none!important;
}
.s4Logo img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:999px!important;
}
.appLogo{width:44px!important;height:44px!important;}
.homeLogo{width:96px!important;height:96px!important;}

/* Homepage: no subtitle under FIRST PHASE STUDIO. */
.homeHeader p{display:none!important;}
.homeHeader{background:radial-gradient(circle at 82% 12%,var(--accentGlow),transparent 32%),linear-gradient(135deg,#11151A,#07090C)!important;}
.homeHeader h1{font-size:68px;letter-spacing:-.04em;text-transform:uppercase;}

/* Single platform accent across editor, project menu and present chrome. */
.homeKicker,
.panelSection h2,
.workflowCard span,
.homePanel h2,
.overviewBlocksHead h2,
.toolCategory,
.formationBtn:hover,
.pageCard.active .pageMeta strong,
.lineValue,
.presentCover p,
.presentMeta span,
.presentBlockGrid span,
.blockInfoMeta span,
.blockInfoGrid h2,
.sectionEditorHeader h3,
.lineupRosterHead,
.projectMenu summary:after,
#presentTimeline{
  color:var(--accent)!important;
}
button:hover,
.fileBtn:hover,
.toolBtn.active,
.toolCategory.active,
.speedPills button.active,
.pageLayoutBar button.active,
.splitPanelToolbar button.active,
.workflowCard:hover,
.frameChip.active,
.splitPanel.active>.mediaPanel{
  border-color:var(--accent)!important;
  color:var(--accent)!important;
}
.pageCard.active{
  border-color:var(--accent)!important;
  box-shadow:0 0 0 1px var(--accentSoft)!important;
}
.addPageBtn,
.coverMetaInput{color:var(--accent)!important;}
.primary,
#presentBtn,
.sectionEditorHeader button{
  background:var(--accent)!important;
  border-color:var(--accent)!important;
  color:#06111f!important;
  box-shadow:none!important;
}
.primary:hover,
#presentBtn:hover,
.sectionEditorHeader button:hover{
  background:var(--accent)!important;
  border-color:var(--accent)!important;
  color:#06111f!important;
}
input:focus,
textarea:focus,
select:focus{
  outline:none!important;
  border-color:var(--accent)!important;
  box-shadow:0 0 0 1px var(--accentSoft)!important;
}

/* Project menu: restore normal details/dropdown behaviour, no experimental rebuild. */
.projectMenu{position:relative!important;z-index:70!important;}
.projectMenu summary{
  list-style:none!important;
  border:1px solid var(--line)!important;
  background:#222833!important;
  color:var(--text)!important;
  padding:10px 13px!important;
  border-radius:10px!important;
  cursor:pointer!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
.projectMenu summary::-webkit-details-marker{display:none!important;}
.projectMenu summary:after{content:' ▾'!important;color:var(--accent)!important;font-weight:900!important;}
.projectMenu[open] summary,
.projectMenu summary:hover{border-color:var(--accent)!important;color:var(--accent)!important;}
.projectMenuPanel{
  position:absolute!important;
  right:0!important;
  top:46px!important;
  display:grid!important;
  gap:6px!important;
  min-width:220px!important;
  background:#161b21!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
  box-shadow:0 24px 70px rgba(0,0,0,.55)!important;
  padding:8px!important;
  z-index:80!important;
}
.projectMenu:not([open]) .projectMenuPanel{display:none!important;}
.projectMenuPanel button{
  background:transparent!important;
  border:0!important;
  text-align:left!important;
  border-radius:8px!important;
  padding:10px 11px!important;
  color:var(--text)!important;
}
.projectMenuPanel button:hover{background:#222833!important;color:var(--accent)!important;}

/* Present inherits the same accent token. This only maps legacy slide-accent to the master token. */

/* FIRST PHASE PREMIUM LOCK PASS — navy token, unified chrome, clean project menu */
:root{
  --accent:#0060A8!important;
  --accentSoft:rgba(0,96,168,.24)!important;
  --accentGlow:rgba(0,96,168,.42)!important;
  --blue:#0060A8!important;
  --controlBg:#161B22;
  --controlBgHover:#1B222B;
  --controlBorder:rgba(0,96,168,.55);
  --controlShadow:0 14px 34px rgba(0,0,0,.26);
}

/* Unified top chrome */
.homeAction,
.workspaceAction,
.projectMenu summary,
#presentBtn{
  min-height:48px!important;
  padding:0 22px!important;
  border-radius:16px!important;
  font-size:14px!important;
  font-weight:900!important;
  letter-spacing:0!important;
  border:1px solid var(--controlBorder)!important;
  transition:border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease!important;
  box-shadow:var(--controlShadow)!important;
}
.homeAction,
.workspaceAction,
.projectMenu summary{
  background:linear-gradient(180deg,#1A2028,#121820)!important;
  color:var(--text)!important;
}
.homeAction:hover,
.workspaceAction:hover,
.projectMenu summary:hover,
.projectMenu[open] summary{
  border-color:var(--accent)!important;
  color:var(--accent)!important;
  background:linear-gradient(180deg,#1E2630,#151B23)!important;
}
#presentBtn{
  background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 88%,#ffffff 10%),var(--accent))!important;
  border-color:color-mix(in srgb,var(--accent) 78%,#ffffff 16%)!important;
  color:#F5F7FA!important;
}
#presentBtn:hover{
  background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 94%,#ffffff 12%),color-mix(in srgb,var(--accent) 90%,#000 10%))!important;
  color:#F5F7FA!important;
}
.flowGroup{
  border:1px solid rgba(0,96,168,.34)!important;
  background:linear-gradient(180deg,#171D25,#10151B)!important;
  border-radius:18px!important;
  box-shadow:var(--controlShadow)!important;
}
.flowGroup .workspaceAction{
  box-shadow:none!important;
  border:0!important;
  background:transparent!important;
  border-radius:0!important;
}
.flowGroup .workspaceAction:hover{color:var(--accent)!important;background:rgba(0,96,168,.10)!important;}

/* Project dropdown grouped and clean */
.projectMenuPanel{
  min-width:236px!important;
  padding:10px!important;
  gap:4px!important;
  background:#151A20!important;
  border:1px solid rgba(0,96,168,.34)!important;
  border-radius:16px!important;
}
.projectMenuPanel button{
  min-height:38px!important;
  padding:9px 11px!important;
  font-size:12px!important;
  font-weight:900!important;
  border-radius:10px!important;
  color:#E8EDF4!important;
}
.projectMenuPanel button:hover,
.projectMenuPanel button:focus{
  background:rgba(0,96,168,.16)!important;
  color:#F5F7FA!important;
}
.projectMenuDivider{
  height:1px;
  background:rgba(167,175,184,.16);
  margin:6px 4px;
}

/* First Phase navy applied to homepage, cards, panels, present and export fallbacks */
.homeScreen{background:radial-gradient(circle at top left,rgba(0,96,168,.30),transparent 34%),#080A0D!important;}
.homeHeader{background:radial-gradient(circle at 82% 12%,rgba(0,96,168,.46),transparent 33%),linear-gradient(135deg,#11151A,#07090C)!important;}
.workflowCard:hover,.workflowCard:focus,.workflowCard.active{
  border-color:var(--accent)!important;
  box-shadow:0 0 0 1px rgba(0,96,168,.72),0 24px 70px rgba(0,0,0,.34)!important;
  color:var(--text)!important;
}
.workflowCard:hover strong,.workflowCard:focus strong,.workflowCard.active strong{color:var(--accent)!important;}
.homeKicker,.homePanel h2,.workflowCard span,.panelSection h2,#presentTimeline,.projectMenu summary:after{color:var(--accent)!important;}
.pageCard.active,.templateGrid button.savedTemplate,.recentProject:hover,.templateGrid button:hover{
  border-color:var(--accent)!important;
  box-shadow:0 0 0 1px var(--accentSoft)!important;
}



/* FINAL FIRST PHASE COLOUR FINISH — visible saturated navy, single accent */
:root{
  --accent:#0060A8!important;
  --accentSoft:rgba(0,96,168,.24)!important;
  --accentGlow:rgba(0,96,168,.42)!important;
  --blue:#0060A8!important;
  --controlBorder:rgba(0,96,168,.62)!important;
}
.homeKicker,.homePanel h2,.workflowCard span,.panelSection h2,#presentTimeline,.projectMenu summary:after{
  color:var(--accent)!important;
  opacity:1!important;
}
.homeHeader{
  background:radial-gradient(circle at 82% 12%,var(--accentGlow),transparent 33%),linear-gradient(135deg,#11151A,#07090C)!important;
}
.homeScreen{
  background:radial-gradient(circle at top left,rgba(0,96,168,.30),transparent 34%),#080A0D!important;
}
.homeAction:hover,.workspaceAction:hover,.projectMenu summary:hover,.projectMenu[open] summary{
  border-color:var(--accent)!important;
  color:var(--accent)!important;
}
.workflowCard:hover,.workflowCard:focus,.workflowCard.active,.pageCard.active,.templateGrid button.savedTemplate,.recentProject:hover,.templateGrid button:hover{
  border-color:var(--accent)!important;
  box-shadow:0 0 0 1px var(--accentSoft)!important;
}

/* FINAL PRESENT LOCK — remove bright Studio Four CTA, keep First Phase navy system */
#presentBtn,
.presentAction,
button.primary.presentAction{
  background:linear-gradient(180deg,#0B3F68,#082D4C)!important;
  border-color:rgba(0,96,168,.72)!important;
  color:#F5F7FA!important;
  box-shadow:0 14px 34px rgba(0,0,0,.26)!important;
}
#presentBtn:hover,
.presentAction:hover,
button.primary.presentAction:hover{
  background:linear-gradient(180deg,#0D4B7A,#09385D)!important;
  border-color:var(--accent)!important;
  color:#F5F7FA!important;
  box-shadow:0 16px 40px rgba(0,0,0,.30),0 0 0 1px var(--accentSoft)!important;
}
#presentBtn:focus-visible,
.presentAction:focus-visible{
  outline:0!important;
  box-shadow:0 16px 40px rgba(0,0,0,.30),0 0 0 2px var(--accentSoft)!important;
}
.projectMenu[open] summary,
.projectMenu summary:hover,
.homeAction:hover,
.workspaceAction:hover{
  border-color:var(--accent)!important;
  color:var(--accent)!important;
}

/* FINAL RELEASE CANDIDATE — PRESENT BUTTON BASE + HOVER LOCK
   Scope: override the remaining bright Present base state and keep hover in the same navy family.
   No layout, JS, logo, homepage, menu, canvas or engine changes. */
:root{
  --accent:#0060A8!important;
  --accentSoft:rgba(0,96,168,.24)!important;
  --accentGlow:rgba(0,96,168,.42)!important;
  --accentHover:#0B3F68!important;
  --presentFillTop:#082D4C!important;
  --presentFillBottom:#061F35!important;
  --presentFillHoverTop:#0A365A!important;
  --presentFillHoverBottom:#072945!important;
}

#presentBtn.primary.presentAction,
#presentBtn.presentAction,
button#presentBtn.primary.presentAction,
button#presentBtn.presentAction,
.presentAction.primary,
button.primary.presentAction{
  background:linear-gradient(180deg,var(--presentFillTop),var(--presentFillBottom))!important;
  border-color:rgba(0,96,168,.78)!important;
  color:#F5F7FA!important;
  box-shadow:0 12px 28px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.07)!important;
}

#presentBtn.primary.presentAction:hover,
#presentBtn.presentAction:hover,
button#presentBtn.primary.presentAction:hover,
button#presentBtn.presentAction:hover,
.presentAction.primary:hover,
button.primary.presentAction:hover{
  background:linear-gradient(180deg,var(--presentFillHoverTop),var(--presentFillHoverBottom))!important;
  border-color:rgba(0,96,168,.86)!important;
  color:#FFFFFF!important;
  box-shadow:0 14px 32px rgba(0,0,0,.32),0 0 0 1px var(--accentSoft),inset 0 1px 0 rgba(255,255,255,.08)!important;
}

#presentBtn.primary.presentAction:focus-visible,
#presentBtn.presentAction:focus-visible,
button#presentBtn.primary.presentAction:focus-visible,
button#presentBtn.presentAction:focus-visible{
  outline:0!important;
  box-shadow:0 14px 32px rgba(0,0,0,.32),0 0 0 2px var(--accentSoft),inset 0 1px 0 rgba(255,255,255,.08)!important;
}

/* Vercel beta visibility repair — colour contrast + empty text-box visibility + present token lock */
:root{
  --accent:#0A6FB8!important;
  --accentSoft:rgba(10,111,184,.28)!important;
  --accentGlow:rgba(10,111,184,.46)!important;
  --accentHover:#0D7FCC!important;
  --presentFillTop:#083B60!important;
  --presentFillBottom:#06263F!important;
  --presentFillHoverTop:#0A4A78!important;
  --presentFillHoverBottom:#073454!important;
}


.homeKicker,
.homePanel h2,
.workflowCard span,
.panelSection h2,
#presentTimeline,
.projectMenu summary:after,
.lineValue,
.presentMeta span,
.presentBlockGrid span,
.presentOverviewLocked h2,
.presentOverviewLocked .overviewMetaGrid span,
.presentOverviewEditorMatch .overviewMetaGrid span,
.presentOverviewEditorMatch .overviewBlockCard span{
  color:var(--accent)!important;
}

.homeHeader{
  background:radial-gradient(circle at 82% 12%,var(--accentGlow),transparent 33%),linear-gradient(135deg,#11151A,#07090C)!important;
}
.homeScreen{
  background:radial-gradient(circle at top left,var(--accentGlow),transparent 34%),#080A0D!important;
}

.homeAction:hover,
.workspaceAction:hover,
.projectMenu summary:hover,
.projectMenu[open] summary,
button:hover,
.fileBtn:hover,
.toolBtn.active,
.toolCategory.active{
  border-color:var(--accent)!important;
  color:var(--accent)!important;
}

.workflowCard:hover,
.workflowCard:focus,
.workflowCard.active,
.pageCard.active,
.templateGrid button.savedTemplate,
.recentProject:hover,
.templateGrid button:hover,
.splitPanel.active>.mediaPanel{
  border-color:var(--accent)!important;
  box-shadow:0 0 0 1px var(--accentSoft)!important;
}

#presentBtn.primary.presentAction,
#presentBtn.presentAction,
button#presentBtn.primary.presentAction,
button#presentBtn.presentAction,
.presentAction.primary,
button.primary.presentAction{
  background:linear-gradient(180deg,var(--presentFillTop),var(--presentFillBottom))!important;
  border-color:rgba(10,111,184,.82)!important;
  color:#F5F7FA!important;
  box-shadow:0 12px 28px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.07)!important;
}

#presentBtn.primary.presentAction:hover,
#presentBtn.presentAction:hover,
button#presentBtn.primary.presentAction:hover,
button#presentBtn.presentAction:hover,
.presentAction.primary:hover,
button.primary.presentAction:hover{
  background:linear-gradient(180deg,var(--presentFillHoverTop),var(--presentFillHoverBottom))!important;
  border-color:var(--accent)!important;
  color:#FFFFFF!important;
  box-shadow:0 14px 32px rgba(0,0,0,.32),0 0 0 1px var(--accentSoft),inset 0 1px 0 rgba(255,255,255,.08)!important;
}

/* Editor-only empty slide text boxes must remain visible while building. */
.slideCanvasHost .slideObject.slideTextBox{
  min-height:34px;
}

.slideCanvasHost .slideObject.slideTextBox[data-empty="true"]{
  border:1px dashed var(--accent)!important;
  background:rgba(10,111,184,.08)!important;
}

.slideCanvasHost .slideObject.slideTextBox[data-empty="true"]::before{
  content:"Text box";
  color:rgba(245,247,250,.48);
  font-weight:800;
  pointer-events:none;
}

.slideCanvasHost .slideObject.slideTextBox[data-empty="true"].selected,
.slideCanvasHost .slideObject.slideTextBox[data-empty="true"]:hover{
  border-color:var(--accentHover)!important;
  background:rgba(10,111,184,.12)!important;
}

#presentationOverlay .slideObject.slideTextBox[data-empty="true"],
#presentationOverlay.truePresent .slideObject.slideTextBox[data-empty="true"],
.presentSurface .slideObject.slideTextBox[data-empty="true"]{
  border-color:transparent!important;
  background:transparent!important;
}

#presentationOverlay .slideObject.slideTextBox[data-empty="true"]::before,
#presentationOverlay.truePresent .slideObject.slideTextBox[data-empty="true"]::before,
.presentSurface .slideObject.slideTextBox[data-empty="true"]::before{
  content:""!important;
}


/* Vercel beta text object visibility repair: all empty page/shape text paths remain visible in editor only. */
.slideCanvasHost .slideObject.slideText[data-empty="true"],
.slideCanvasHost .slideObject.slideTextBox[data-empty="true"]{
  min-width:96px!important;
  min-height:34px!important;
  border:1px dashed var(--accent)!important;
  border-radius:10px!important;
  background:rgba(10,111,184,.10)!important;
  padding:8px 10px!important;
  box-shadow:inset 0 0 0 1px rgba(245,247,250,.035)!important;
  display:flex!important;
  align-items:center!important;
}

.slideCanvasHost .slideObject.slideText[data-empty="true"]::before,
.slideCanvasHost .slideObject.slideTextBox[data-empty="true"]::before{
  content:"Text";
  color:rgba(245,247,250,.54)!important;
  font-size:13px!important;
  font-weight:850!important;
  letter-spacing:.02em!important;
  text-shadow:none!important;
  pointer-events:none!important;
}

.slideCanvasHost .slideObject.slideTextBox[data-empty="true"]::before{content:"Text box";}

.slideCanvasHost .slideObject.slideText[data-empty="true"].selected,
.slideCanvasHost .slideObject.slideText[data-empty="true"]:hover,
.slideCanvasHost .slideObject.slideTextBox[data-empty="true"].selected,
.slideCanvasHost .slideObject.slideTextBox[data-empty="true"]:hover{
  border-color:var(--accentHover)!important;
  background:rgba(10,111,184,.16)!important;
  box-shadow:0 0 0 1px var(--accentSoft)!important;
}

#presentationOverlay .slideCanvasHost .slideObject.slideText[data-empty="true"],
#presentationOverlay .slideCanvasHost .slideObject.slideTextBox[data-empty="true"],
#presentationOverlay.truePresent .slideCanvasHost .slideObject.slideText[data-empty="true"],
#presentationOverlay.truePresent .slideCanvasHost .slideObject.slideTextBox[data-empty="true"],
.presentSurface .slideCanvasHost .slideObject.slideText[data-empty="true"],
.presentSurface .slideCanvasHost .slideObject.slideTextBox[data-empty="true"]{
  border-color:transparent!important;
  background:transparent!important;
  box-shadow:none!important;
}

#presentationOverlay .slideCanvasHost .slideObject.slideText[data-empty="true"]::before,
#presentationOverlay .slideCanvasHost .slideObject.slideTextBox[data-empty="true"]::before,
#presentationOverlay.truePresent .slideCanvasHost .slideObject.slideText[data-empty="true"]::before,
#presentationOverlay.truePresent .slideCanvasHost .slideObject.slideTextBox[data-empty="true"]::before,
.presentSurface .slideCanvasHost .slideObject.slideText[data-empty="true"]::before,
.presentSurface .slideCanvasHost .slideObject.slideTextBox[data-empty="true"]::before{
  content:""!important;
}

/* FINAL BETA PATCH — editor text-field visibility + unified workspace selected colour
   Scope: CSS only. Keeps Present/export/homepage/save/engines untouched. */
:root{
  --accent:#0A6FB8!important;
  --accentSoft:rgba(10,111,184,.28)!important;
  --accentGlow:rgba(10,111,184,.46)!important;
  --accentHover:#0D7FCC!important;
}

/* Keep every editor text input/title/textarea visible on page surfaces.
   This repairs template/geometry/tactical/player/match/session pages where empty boxes existed but disappeared. */
body:not(.presenting) .pageSurface input:not([type="color"]):not([type="checkbox"]):not([type="range"]):not([type="file"]),
body:not(.presenting) .pageSurface textarea{
  border:1px solid rgba(10,111,184,.44)!important;
  background:rgba(10,111,184,.065)!important;
  border-radius:10px!important;
  box-shadow:inset 0 0 0 1px rgba(245,247,250,.025)!important;
}

body:not(.presenting) .pageSurface input:not([type="color"]):not([type="checkbox"]):not([type="range"]):not([type="file"]):focus,
body:not(.presenting) .pageSurface textarea:focus{
  border-color:var(--accent)!important;
  background:rgba(10,111,184,.095)!important;
  box-shadow:0 0 0 1px var(--accentSoft), inset 0 0 0 1px rgba(245,247,250,.035)!important;
  outline:0!important;
}

body:not(.presenting) .pageSurface input::placeholder,
body:not(.presenting) .pageSurface textarea::placeholder,
body:not(.presenting) .geometryTitle::placeholder,
body:not(.presenting) .geometryPage input::placeholder,
body:not(.presenting) .geometryPage textarea::placeholder,
body:not(.presenting) .templatePage input::placeholder,
body:not(.presenting) .templatePage textarea::placeholder,
body:not(.presenting) .frameworkCard input::placeholder,
body:not(.presenting) .frameworkCard textarea::placeholder,
body:not(.presenting) .frameworkTitle::placeholder{
  color:rgba(245,247,250,.42)!important;
  opacity:1!important;
}

/* Preserve clean present/export surfaces: editor-only borders/placeholders do not leak into Present. */
#presentationOverlay input:not([type="color"]):not([type="checkbox"]):not([type="range"]):not([type="file"]),
#presentationOverlay textarea,
#presentationOverlay.truePresent input:not([type="color"]):not([type="checkbox"]):not([type="range"]):not([type="file"]),
#presentationOverlay.truePresent textarea,
.presentSurface input:not([type="color"]):not([type="checkbox"]):not([type="range"]):not([type="file"]),
.presentSurface textarea{
  border-color:transparent!important;
  background:transparent!important;
  box-shadow:none!important;
}

#presentationOverlay input::placeholder,
#presentationOverlay textarea::placeholder,
#presentationOverlay.truePresent input::placeholder,
#presentationOverlay.truePresent textarea::placeholder,
.presentSurface input::placeholder,
.presentSurface textarea::placeholder{
  color:transparent!important;
  opacity:0!important;
}

/* Tools / Animation / Panel active state uses the same accent family as the rest of First Phase Studio. */
body:not(.toolsHidden) #toggleToolsBtn,
body:not(.animationHidden) #toggleAnimationBtn,
body:not(.panelCollapsed) #togglePanelBtn,
.flowPrimary .workspaceAction.active,
.flowPrimary .workspaceAction[aria-pressed="true"],
.flowPrimary .workspaceAction.isActive{
  color:#F5F7FA!important;
  background:linear-gradient(180deg,rgba(10,111,184,.26),rgba(10,111,184,.14))!important;
  border-color:var(--accent)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), inset 0 0 0 1px var(--accentSoft), 0 0 18px rgba(10,111,184,.16)!important;
}

.flowPrimary .workspaceAction:hover,
.flowGroup .workspaceAction:hover,
body:not(.toolsHidden) #toggleToolsBtn:hover,
body:not(.animationHidden) #toggleAnimationBtn:hover,
body:not(.panelCollapsed) #togglePanelBtn:hover{
  color:#F5F7FA!important;
  background:linear-gradient(180deg,rgba(10,111,184,.20),rgba(10,111,184,.10))!important;
}


/* =====================================================================
   V1.1 PASS 02 — Unified Object Interaction
   ===================================================================== */

.propertiesHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.propertiesHeader strong{font-size:15px}
.propertyGroup{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}
.propertyGroup h3{margin:0 0 10px;color:var(--accent);font-size:11px;text-transform:uppercase;letter-spacing:.14em}
.propertyRow{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.formatButtonRow{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 12px}
.formatButtonRow button{padding:9px;background:#151a20}
.formatButtonRow button.active{border-color:var(--accent);background:var(--accentSoft);color:var(--accent)}
.arrangeButtons{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.propertiesEmpty{border:1px dashed var(--line);border-radius:12px;padding:14px}
.propertiesEmpty p{margin:6px 0 0}
.propertiesSidebar textarea,#objectInspector textarea{min-height:72px}
.propertiesSidebar select,#objectInspector select{width:100%;margin-top:5px;background:#0b1220;color:var(--text);border:1px solid var(--line);border-radius:9px;padding:9px}

.studioInlineTextEditor{
  font-family:Inter,Arial,sans-serif;
  box-shadow:0 14px 44px rgba(0,0,0,.45),0 0 0 2px rgba(10,111,184,.22);
}

.slideObject.isEditing{
  cursor:text!important;
  outline:2px solid var(--accent)!important;
  z-index:999!important;
}
.slideObject[contenteditable="plaintext-only"] .slideObjectResize{display:none!important}
.slideText,.slideTextBox{white-space:pre-wrap;overflow:hidden}
.slideTextBox{box-sizing:border-box}
.slideObjectResize{width:18px;height:18px;border-radius:999px;right:-9px;bottom:-9px}

.coverColourControls,.dividerControls{display:none!important}

/* Selected workspace buttons use one restrained state. */
body:not(.toolsHidden) #toggleToolsBtn,
body:not(.animationHidden) #toggleAnimationBtn,
body:not(.panelCollapsed) #togglePanelBtn,
.projectMenu[open] > summary{
  border-color:var(--accent)!important;
  background:var(--accentSoft)!important;
  color:#f5f7fa!important;
}

/* Hide technical generic labels left by old inspector layout. */
#objectInspector label:has(#objX),
#objectInspector label:has(#objY),
#objectInspector label:has(#objScaleX),
#objectInspector label:has(#objScaleY),
#objectInspector label:has(#objRotation){display:none!important}


/* =====================================================================
   V1.1 PASS 02B — native text parity + chrome containment
   ===================================================================== */

/* Universal header/logo must position against the slide, never the workspace. */
.pageSurface{
  position:relative!important;
  isolation:isolate!important;
}
.pageSurface > .universalSlideHeader,
.pageSurface > .universalSlideFooter,
.pageSurface > .universalPageTitle,
.pageSurface > .universalSlideLogo{
  position:absolute!important;
}
body.pageType-cover .pageSurface,
body.pageType-sectionDivider .pageSurface{
  overflow:hidden!important;
}

/* Native page text uses the same sidebar-first selection language. */
.nativeEditableText{
  cursor:text!important;
  transition:border-color .12s,box-shadow .12s,background .12s;
}
.nativeEditableText:focus,
.nativeEditableText.nativeTextSelected{
  border-color:var(--accent)!important;
  box-shadow:0 0 0 2px var(--accentSoft)!important;
  outline:0!important;
}
.nativeTextProperties{
  margin-top:14px;
  border-top:1px solid var(--line);
  padding-top:14px;
}

/* The cover title block remains below slide chrome. */
.hasUniversalLogo .coverText,
.header-title .coverText,
.header-titleSubtitle .coverText{
  max-width:calc(100% - 80px);
}

/* =====================================================================
   V1.1 SHARED PAGE SHELL — one structural owner for every surface page
   ===================================================================== */
.pageSurface,
.presentSurface{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
}

.sharedPageShell{
  width:100%;
  height:100%;
  min-height:0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  gap:14px;
  padding:22px 24px 18px;
  background:var(--slide-bg,#101419);
  color:var(--slide-text,#F5F7FA);
}

.sharedPageIdentity{
  min-height:64px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:16px;
  border-bottom:1px solid color-mix(in srgb,var(--slide-accent,#0060A8) 34%,transparent);
  padding-bottom:10px;
}

.sharedPageIdentityText{
  min-width:0;
  display:grid;
  align-content:start;
  gap:3px;
}

.sharedPageLogo{
  width:88px;
  height:54px;
  display:grid;
  place-items:start;
}
.sharedPageLogo img{
  display:block;
  max-width:88px;
  max-height:54px;
  width:auto;
  height:auto;
  object-fit:contain;
  cursor:pointer;
}

.sharedPageHeader,
.sharedPageTitle,
.sharedPageSubtitle,
.sharedPageFooterText{
  width:100%;
  min-width:0;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--slide-text,#F5F7FA)!important;
  font-family:inherit;
}
.sharedPageHeader{
  font-size:11px!important;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--slide-accent,#0060A8)!important;
}
.sharedPageTitle{
  font-size:24px!important;
  line-height:1.05;
  font-weight:950;
  letter-spacing:-.035em;
}
.sharedPageSubtitle{
  font-size:13px!important;
  line-height:1.3;
  font-weight:650;
  color:color-mix(in srgb,var(--slide-text,#F5F7FA) 68%,transparent)!important;
}

.sharedPageContent{
  position:relative;
  min-height:0;
  min-width:0;
  overflow:hidden;
}
.sharedPageContentHost{
  position:relative;
  width:100%;
  height:100%;
  min-height:0;
  min-width:0;
  overflow:auto;
}
.sharedContentCard{
  padding:24px;
  border:1px solid color-mix(in srgb,var(--slide-accent,#0060A8) 24%,var(--line,#30363D));
  border-radius:18px;
  background:color-mix(in srgb,var(--slide-bg,#101419) 88%,#fff 4%);
  box-shadow:0 16px 42px rgba(0,0,0,.18);
}
.sharedCanvasContent{
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}

.sharedPageFooter{
  min-height:18px;
  border-top:1px solid color-mix(in srgb,var(--slide-accent,#0060A8) 22%,transparent);
  padding-top:6px;
}
.sharedPageFooter:empty{
  min-height:0;
  border-top:0;
  padding-top:0;
}
.sharedPageFooterText{
  text-align:right;
  font-size:10px!important;
  font-weight:800;
  opacity:.8;
}

/* Native page-level identity remains as the data source but no longer owns layout. */
.shellOwnedIdentitySource{
  display:none!important;
}

/* Remove the superseded absolute identity implementation. */
.universalSlideHeader,
.universalSlideFooter,
.universalPageTitle,
.universalSlideLogo{
  display:none!important;
}

/* Existing page roots are content only inside the shared card. */
.sharedPageContentHost > .coverPage,
.sharedPageContentHost > .overviewPage,
.sharedPageContentHost > .availabilityPage,
.sharedPageContentHost > .notesPage,
.sharedPageContentHost > .blockInfoPage,
.sharedPageContentHost > .matchOverviewPage,
.sharedPageContentHost > .lineupPage,
.sharedPageContentHost > .sectionDividerPage,
.sharedPageContentHost > .responsibilityPage,
.sharedPageContentHost > .keyPointsPage,
.sharedPageContentHost > .mediaPage,
.sharedPageContentHost > .geometryPage,
.sharedPageContentHost > .frameworkPage{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  box-shadow:none!important;
}

/* Present removes only card decoration; geometry remains identical to Edit. */
.presentSurface .sharedContentCard{
  border-color:transparent!important;
  background:transparent!important;
  box-shadow:none!important;
}
.presentSurface .sharedPageHeader,
.presentSurface .sharedPageTitle,
.presentSurface .sharedPageSubtitle,
.presentSurface .sharedPageFooterText{
  pointer-events:none;
}

/* Shared shell identity for the two Konva canvas page families. */
.fieldTitleBar.sharedCanvasIdentity{
  min-height:74px;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:16px;
  margin:14px 18px 0;
  padding:10px 14px;
  border:0;
  border-bottom:1px solid color-mix(in srgb,var(--slide-accent,#0060A8) 34%,transparent);
  background:var(--slide-bg,#101419);
}
.sharedCanvasLogo{max-width:88px;max-height:54px;object-fit:contain;}
.sharedCanvasIdentityText{min-width:0;display:grid;gap:3px;}
.sharedCanvasHeader{font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:var(--slide-accent,#0060A8);}
#fieldPageTitle.sharedCanvasTitle{
  width:100%;margin:0;padding:0;border:0;background:transparent;color:var(--slide-text,#F5F7FA);
  font-size:24px;font-weight:950;letter-spacing:-.035em;box-shadow:none;
}
.sharedCanvasSubtitle{font-size:13px;font-weight:650;color:color-mix(in srgb,var(--slide-text,#F5F7FA) 68%,transparent);}
.sharedCanvasFooter{
  min-height:18px;margin:0 18px 10px;padding:6px 14px 0;border-top:1px solid color-mix(in srgb,var(--slide-accent,#0060A8) 22%,transparent);
  text-align:right;font-size:10px;font-weight:800;opacity:.8;
}
.sharedCanvasFooter[hidden]{display:none!important;}
body:not(.pageType-block):not(.pageType-field) #sharedCanvasFooter{display:none!important;}
.fieldTitleBar.sharedCanvasIdentity.hidden{display:none!important;}

/* =====================================================================
   V1.1 SHARED PAGE SHELL — identity tidy, fit and control pass
   ===================================================================== */
.sharedPageIdentity{
  position:relative;
  z-index:60;
}
.sharedPageContent{
  position:relative;
  z-index:1;
}
.sharedPageFooter{
  position:relative;
  z-index:60;
}
.sharedPageContentHost{
  overflow:hidden!important;
}

/* The cover uses the same geometry in Edit and Present. The image belongs
   inside the content region and cannot cover the shared identity. */
.sharedPageShell:has(.coverPage) .sharedContentCard{
  padding:0!important;
}
.sharedPageShell:has(.coverPage) .coverPage{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
}
.sharedPageShell .pageInsertedImageLayer,
.sharedPageShell .presentInsertedImageLayer{
  z-index:20!important;
}
.sharedPageIdentity,
.sharedPageFooter{
  pointer-events:auto;
}

/* Remove the remaining native title rows once their values are owned by
   the shared identity. Parent rows collapse so they do not consume space. */
.sharedPageContentHost .overviewHero:has(.shellOwnedIdentitySource),
.sharedPageContentHost .frameworkTitle:has(.shellOwnedIdentitySource),
.sharedPageContentHost .idpTitle:has(.shellOwnedIdentitySource),
.sharedPageContentHost .principleTitle:has(.shellOwnedIdentitySource),
.sharedPageContentHost .trafficTitle:has(.shellOwnedIdentitySource),
.sharedPageContentHost .lineupTitle:has(.shellOwnedIdentitySource),
.sharedPageContentHost .keyPointsHead:has(.shellOwnedIdentitySource){
  display:none!important;
}

/* Fit-heavy pages retain their exact structure but compact cleanly before
   the final automatic fit calculation is applied. */
.sharedPageContentHost > .overviewPage{
  padding:18px!important;
  gap:12px!important;
}
.sharedPageContentHost .overviewMetaGrid{gap:8px!important;}
.sharedPageContentHost .overviewSquadStrip{gap:7px!important;}
.sharedPageContentHost .overviewBlocks{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:9px!important;}
.sharedPageContentHost .overviewBlockCard{padding:10px!important;border-radius:13px!important;}
.sharedPageContentHost .overviewBlockCard strong{margin-bottom:6px!important;}
.sharedPageContentHost .overviewBlockCard strong input{font-size:16px!important;}
.sharedPageContentHost .overviewBlockGrid{gap:5px!important;}
.sharedPageContentHost .blockActions{margin-top:7px!important;}

/* The side panel now has a persistent identity controller rather than
   requiring users to discover and select text on the slide first. */
.sharedIdentitySidebar{
  order:-20;
  border-color:color-mix(in srgb,var(--accent) 38%,var(--line))!important;
}
.sharedIdentitySidebar textarea{min-height:58px!important;}

/* =====================================================================
   V1.1 PROJECT IDENTITY — functional controls and aligned identity
   ===================================================================== */
.sharedPageIdentity,
.fieldTitleBar.sharedCanvasIdentity{
  grid-template-columns:56px minmax(0,1fr)!important;
  align-items:center!important;
  gap:16px!important;
  min-height:72px!important;
}
.sharedPageLogo{
  width:56px!important;
  height:56px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  flex:0 0 56px!important;
}
.sharedPageLogo img,
.sharedCanvasLogo{
  width:56px!important;
  height:56px!important;
  max-width:56px!important;
  max-height:56px!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:0!important;
  transform:none!important;
}
.sharedPageIdentityText,
.sharedCanvasIdentityText{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:4px!important;
  min-height:56px!important;
}
.sharedPageHeader,
.sharedCanvasHeader{
  font-size:10px!important;
  line-height:1.15!important;
  letter-spacing:.14em!important;
  min-height:12px!important;
}
.sharedPageTitle,
#fieldPageTitle.sharedCanvasTitle{
  font-size:25px!important;
  line-height:1.08!important;
  min-height:30px!important;
}
.sharedPageSubtitle,.sharedCanvasSubtitle{display:none!important;}

.projectSettingsSidebar{
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.settingsSectionHead{display:flex;align-items:flex-end;justify-content:space-between;margin:0 0 10px;padding:0 2px;}
.settingsSectionHead span,.fieldEyebrow{display:block;color:var(--accent);font-size:10px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;margin-bottom:4px;}
.settingsSectionHead h2{margin:0!important;color:var(--text)!important;font-size:17px!important;letter-spacing:-.02em!important;text-transform:none!important;}
.settingsCard{border:1px solid var(--line);background:#11161c;border-radius:14px;padding:13px;margin-bottom:10px;box-shadow:0 8px 24px rgba(0,0,0,.14);}
.settingsRow{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.settingsRow + .cleanField,.cleanField + .settingsRow{margin-top:12px;}
.settingsRow strong{display:block;font-size:12px;color:var(--text);}
.settingsRow small{display:block;margin-top:3px;color:var(--muted);font-size:10px;line-height:1.3;text-transform:none;letter-spacing:0;}
.identityToggle{min-width:52px;padding:7px 10px;border-radius:999px;background:#242a31;color:var(--muted);font-size:11px;border-color:#343c45;}
.identityToggle.isOn{background:rgba(0,96,168,.24);border-color:var(--accent);color:#fff;}
.cleanField{margin:0!important;color:var(--muted)!important;font-size:10px!important;letter-spacing:.08em!important;}
.cleanField input{height:38px;margin-top:6px;padding:9px 11px;border-radius:9px;background:#0c1117;border-color:#2a333d;}
.cleanField.isDisabled{opacity:.45;}
.cleanUpload{display:block;width:100%;margin-top:10px;text-align:center;padding:9px!important;border-radius:9px!important;background:#20262f!important;font-size:11px!important;}
.colourGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 12px;}
.colourGrid label{margin:0;font-size:9px;text-align:center;}
.colourGrid input[type=color]{height:34px;margin-top:5px;padding:2px;border-radius:8px;}
.projectApplyBtn{margin:12px 0 0!important;padding:9px!important;font-size:11px!important;background:#20262f!important;}
.projectSettingsSidebar select{appearance:none;-webkit-appearance:none;}

/* HTML identity overlay for Session Block and Tactical Board in Present. */
#presentCanvas{position:relative!important;}
.presentCanvasIdentity{
  position:absolute;z-index:50;left:24px;right:24px;top:18px;
  display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:16px;
  padding:0 0 10px;border-bottom:1px solid color-mix(in srgb,var(--slide-accent,#0060A8) 34%,transparent);
  pointer-events:none;
}
.presentCanvasIdentity.noLogo{grid-template-columns:minmax(0,1fr);}
.presentCanvasIdentity img{width:56px;height:56px;object-fit:contain;}
.presentCanvasIdentityText{display:flex;flex-direction:column;justify-content:center;gap:4px;min-height:56px;}
.presentCanvasProject{font-size:10px;line-height:1.15;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--slide-accent,#0060A8);}
.presentCanvasPageTitle{font-size:25px;line-height:1.08;font-weight:950;letter-spacing:-.035em;color:var(--slide-text,#F5F7FA);}

/* =====================================================================
   V1.1 FINAL IDENTITY + ADAPTIVE APPEARANCE
   ===================================================================== */
.sharedContentCard{
  background:var(--card-bg,#11161c)!important;
  border-color:var(--card-border,#30363D)!important;
}
.sharedPageShell--cover .sharedContentCard,
.sharedPageShell--sectionDivider .sharedContentCard{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  padding:0!important;
}
.sharedPageShell--cover .sharedPageContent,
.sharedPageShell--sectionDivider .sharedPageContent{padding-top:12px!important;}
.sharedPageIdentityText,.sharedCanvasIdentityText,.presentCanvasIdentityText{
  gap:var(--identity-gap,3px)!important;
}
.sharedPageHeader,.sharedCanvasHeader,.presentCanvasProject{
  font-size:var(--identity-project-size,28px)!important;
  line-height:1!important;
  letter-spacing:-.025em!important;
  text-transform:none!important;
  font-weight:950!important;
  min-height:0!important;
}
.sharedPageTitle,#fieldPageTitle.sharedCanvasTitle,.presentCanvasPageTitle{
  font-size:var(--identity-page-size,16px)!important;
  line-height:1.15!important;
  letter-spacing:0!important;
  font-weight:750!important;
  min-height:0!important;
}
.identityPreset--pageFirst .sharedPageHeader,
.identityPreset--pageFirst .sharedCanvasHeader,
.presentCanvasIdentity.identityPreset--pageFirst .presentCanvasProject{
  font-size:11px!important;line-height:1.15!important;letter-spacing:.13em!important;text-transform:uppercase!important;font-weight:900!important;
}
.identityPreset--pageFirst .sharedPageTitle,
.identityPreset--pageFirst #fieldPageTitle.sharedCanvasTitle,
.presentCanvasIdentity.identityPreset--pageFirst .presentCanvasPageTitle{
  font-size:var(--identity-page-size,27px)!important;font-weight:950!important;letter-spacing:-.035em!important;
}
.identityPreset--balanced .sharedPageHeader,
.identityPreset--balanced .sharedPageTitle,
.presentCanvasIdentity.identityPreset--balanced .presentCanvasProject,
.presentCanvasIdentity.identityPreset--balanced .presentCanvasPageTitle{
  font-size:var(--identity-project-size,20px)!important;line-height:1.05!important;font-weight:900!important;letter-spacing:-.02em!important;text-transform:none!important;
}
.identityPreset--minimal .sharedPageHeader,
.presentCanvasIdentity.identityPreset--minimal .presentCanvasProject{display:none!important;}
.identityPreset--minimal .sharedPageTitle,
.presentCanvasIdentity.identityPreset--minimal .presentCanvasPageTitle{font-size:var(--identity-page-size,27px)!important;font-weight:950!important;letter-spacing:-.035em!important;}
.presetGrid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px;}
.presetBtn{padding:9px 7px!important;border-radius:9px!important;background:#1b2129!important;color:var(--muted)!important;font-size:10px!important;}
.presetBtn.isActive{background:rgba(0,96,168,.23)!important;border-color:var(--accent)!important;color:#fff!important;}
.advancedIdentity{margin-top:10px;border-top:1px solid var(--line);padding-top:9px;}
.advancedIdentity summary{cursor:pointer;color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;}
.cleanRange{margin:10px 0 0!important;font-size:10px!important;letter-spacing:0!important;text-transform:none!important;}
.cleanRange span{float:right;color:var(--text);}
.cleanRange input[type=range]{margin-top:7px;padding:0;height:5px;accent-color:var(--accent);}
.colourGrid.twoCol{grid-template-columns:1fr 1fr;}
.appearanceCard .settingsRow{margin-top:12px;}
.compactActions{padding-bottom:10px;}
.projectSettingsSidebar select{display:none!important;}

/* =====================================================================
   PASS 13 — COMPACT IDENTITY STRIP + WORKSPACE RECOVERY
   Shared identity remains; its geometry is reduced to a single row.
   ===================================================================== */
.sharedPageShell{
  grid-template-rows:52px minmax(0,1fr) auto!important;
  gap:8px!important;
  padding:10px 14px 10px!important;
}
.sharedPageIdentity{
  min-height:52px!important;
  height:52px!important;
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  align-items:center!important;
  gap:11px!important;
  padding:0 0 5px!important;
  border-bottom:1px solid color-mix(in srgb,var(--slide-accent,#0060A8) 30%,transparent)!important;
}
.sharedPageIdentity:has(.sharedPageLogo:empty),
.sharedPageIdentity:not(:has(.sharedPageLogo)){
  grid-template-columns:minmax(0,1fr)!important;
}
.sharedPageLogo{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  flex:0 0 34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.sharedPageLogo img{
  width:34px!important;
  height:34px!important;
  max-width:34px!important;
  max-height:34px!important;
  object-fit:contain!important;
}
.sharedPageIdentityText{
  min-width:0!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:baseline!important;
  justify-content:flex-start!important;
  gap:clamp(6px,var(--identity-gap,14px),24px)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}
.sharedPageHeader,
.sharedCanvasHeader,
.presentCanvasProject{
  flex:0 1 auto!important;
  width:auto!important;
  max-width:48%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:clamp(11px,var(--identity-project-size,15px),20px)!important;
  line-height:1!important;
  font-weight:850!important;
  letter-spacing:-.01em!important;
  text-transform:none!important;
}
.sharedPageTitle,
#fieldPageTitle.sharedCanvasTitle,
.presentCanvasPageTitle{
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:clamp(14px,var(--identity-page-size,19px),24px)!important;
  line-height:1!important;
  font-weight:750!important;
  letter-spacing:-.015em!important;
}
.sharedPageContent{
  padding:0!important;
  min-height:0!important;
}
.sharedContentCard{
  padding:16px!important;
  border-radius:14px!important;
}
.sharedPageFooter{
  min-height:0!important;
  padding-top:3px!important;
}
.sharedPageFooterText{font-size:9px!important;}
.sharedPageShell--cover .sharedPageContent,
.sharedPageShell--sectionDivider .sharedPageContent{padding-top:0!important;}

/* Canvas families use the same compact strip in Edit. */
.fieldTitleBar.sharedCanvasIdentity{
  height:52px!important;
  min-height:52px!important;
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  align-items:center!important;
  gap:11px!important;
  margin:6px 10px 0!important;
  padding:0 0 5px!important;
}
.fieldTitleBar.sharedCanvasIdentity:has(.sharedCanvasLogo[hidden]),
.fieldTitleBar.sharedCanvasIdentity:not(:has(.sharedCanvasLogo)){
  grid-template-columns:minmax(0,1fr)!important;
}
.sharedCanvasLogo{
  width:34px!important;
  height:34px!important;
  max-width:34px!important;
  max-height:34px!important;
}
.sharedCanvasIdentityText{
  min-width:0!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:baseline!important;
  gap:clamp(6px,var(--identity-gap,14px),24px)!important;
  overflow:hidden!important;
}

/* Canvas families use identical compact geometry in Present. */
.presentCanvasIdentity{
  left:12px!important;
  right:12px!important;
  top:6px!important;
  height:46px!important;
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  padding:0 0 4px!important;
}
.presentCanvasIdentity.noLogo{grid-template-columns:minmax(0,1fr)!important;}
.presentCanvasIdentity img{width:30px!important;height:30px!important;}
.presentCanvasIdentityText{
  min-height:0!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:baseline!important;
  gap:clamp(6px,var(--identity-gap,14px),24px)!important;
  overflow:hidden!important;
}

/* Presets now affect hierarchy, not vertical geometry. */
.identityPreset--pageFirst .sharedPageHeader,
.identityPreset--pageFirst .sharedCanvasHeader,
.presentCanvasIdentity.identityPreset--pageFirst .presentCanvasProject{
  font-size:clamp(11px,var(--identity-project-size,12px),16px)!important;
  font-weight:750!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}
.identityPreset--pageFirst .sharedPageTitle,
.identityPreset--pageFirst #fieldPageTitle.sharedCanvasTitle,
.presentCanvasIdentity.identityPreset--pageFirst .presentCanvasPageTitle{
  font-size:clamp(16px,var(--identity-page-size,21px),24px)!important;
  font-weight:900!important;
}
.identityPreset--balanced .sharedPageHeader,
.identityPreset--balanced .sharedPageTitle,
.presentCanvasIdentity.identityPreset--balanced .presentCanvasProject,
.presentCanvasIdentity.identityPreset--balanced .presentCanvasPageTitle{
  font-size:clamp(14px,var(--identity-project-size,17px),20px)!important;
  line-height:1!important;
}
.identityPreset--minimal .sharedPageTitle,
.presentCanvasIdentity.identityPreset--minimal .presentCanvasPageTitle{
  font-size:clamp(16px,var(--identity-page-size,21px),24px)!important;
}

/* =====================================================================
   PASS 14 — IDENTITY PERSISTENCE + NATIVE TITLE CLEANUP
   ===================================================================== */

/* Identity is application chrome, never an editable content layer. */
.sharedPageShell{
  isolation:isolate!important;
}
.sharedPageIdentity,
.sharedPageFooter{
  position:relative!important;
  z-index:100!important;
}
.sharedPageContent{
  position:relative!important;
  z-index:1!important;
  isolation:isolate!important;
}
.sharedPageContentHost{
  position:relative!important;
  z-index:1!important;
  isolation:isolate!important;
}

/* Objects added after first render must remain in the content plane. */
.sharedPageContentHost .slideObjectLayer[data-content-plane="true"]{
  z-index:8!important;
}
.sharedPageShell > .slideObjectLayer{
  display:none!important;
}

/* The shared strip is the only visible page identity. Native page titles
   remain in the DOM as data/editing sources but no longer render twice. */
.sharedPageContentHost .shellOwnedIdentitySource{
  display:none!important;
}
.sharedPageContentHost .frameworkTitle,
.sharedPageContentHost .idpTitle,
.sharedPageContentHost .principleTitle,
.sharedPageContentHost .trafficTitle,
.sharedPageContentHost .lineupTitle,
.sharedPageContentHost .keyPointsHead{
  min-height:0!important;
}
.sharedPageContentHost .frameworkTitle:has(.shellOwnedIdentitySource),
.sharedPageContentHost .idpTitle:has(.shellOwnedIdentitySource),
.sharedPageContentHost .principleTitle:has(.shellOwnedIdentitySource),
.sharedPageContentHost .trafficTitle:has(.shellOwnedIdentitySource),
.sharedPageContentHost .lineupTitle:has(.shellOwnedIdentitySource),
.sharedPageContentHost .keyPointsHead:has(.shellOwnedIdentitySource){
  display:none!important;
  margin:0!important;
  padding:0!important;
  height:0!important;
}

/* =====================================================================
   PASS 15 — PAGE SHELL FINALISATION
   ===================================================================== */

/* Compact application controls without changing control behaviour. */
body:not(.presenting) button,
body:not(.presenting) .fileBtn{
  min-height:28px;
  padding:6px 9px;
  border-radius:8px;
  font-size:11px;
  line-height:1.1;
}
body:not(.presenting) .toolsTray{
  min-height:38px!important;
  padding:4px 9px!important;
  gap:6px!important;
}
body:not(.presenting) .toolGroup,
body:not(.presenting) .topActions,
body:not(.presenting) .presentControls,
body:not(.presenting) .templateToolbar,
body:not(.presenting) .geometryControls,
body:not(.presenting) .availabilityActions{
  gap:5px!important;
}
body:not(.presenting) .toolCategory{
  min-width:92px!important;
  padding:6px 8px!important;
}
body:not(.presenting) .toolDrop{
  top:34px!important;
  padding:7px!important;
  gap:5px!important;
  border-radius:10px!important;
}
body:not(.presenting) .canvasToolbar{
  height:36px!important;
  min-height:36px!important;
  padding:4px 9px!important;
  gap:5px!important;
}
body:not(.presenting) .canvasToolbar label,
body:not(.presenting) .templateToolbar label,
body:not(.presenting) .templateHead label,
body:not(.presenting) .geometryControls label{
  gap:4px!important;
  font-size:9px!important;
  margin:0!important;
}
body:not(.presenting) select,
body:not(.presenting) .templateToolbar select,
body:not(.presenting) .templateHead select,
body:not(.presenting) .geometryControls select{
  min-height:28px;
  padding:5px 7px!important;
  border-radius:7px!important;
  font-size:11px;
}
body:not(.presenting) input[type="color"]{
  width:32px!important;
  min-width:32px!important;
  height:27px!important;
  padding:2px!important;
  border-radius:6px!important;
}
body:not(.presenting) .leftPanel,
body:not(.presenting) .rightPanel{padding:10px!important;}
body:not(.presenting) .panelSection{margin-bottom:12px!important;padding-bottom:10px!important;}
body:not(.presenting) .settingsCard{padding:10px!important;gap:8px!important;}

/* Shared shell: identity followed immediately by usable content. */
.sharedPageShell{gap:3px!important;padding:6px 8px 5px!important;}
.sharedPageIdentity{height:46px!important;min-height:46px!important;padding-bottom:3px!important;}
.sharedPageContent{min-height:0!important;}
.sharedContentCard{padding:8px!important;border-radius:12px!important;}
.sharedPageFooter{padding-top:1px!important;}
.sharedPageContentHost[data-content-root="true"]{overflow:hidden;min-width:0;min-height:0;}

/* The shared compact strip is the sole visible title. Renderer title values
   stay bound as hidden data sources for save/load and identity editing. */
.sharedPageContentHost #fwTitle.shellOwnedIdentitySource{display:none!important;}

/* Framework and IDP controls float above the content instead of consuming
   a native title band. Present hides them, so Edit and Present use the same
   content geometry. */
.templatePage,
.geometryPage{
  position:relative!important;
  height:100%!important;
  min-height:0!important;
  padding:8px!important;
  display:grid!important;
  grid-template-rows:minmax(0,1fr)!important;
  gap:0!important;
  overflow:hidden!important;
}
.templateHeadControlsOnly,
.geometryHeadControlsOnly{
  position:absolute!important;
  z-index:30!important;
  top:7px!important;
  right:7px!important;
  left:auto!important;
  width:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:5px!important;
  border:1px solid var(--line)!important;
  border-radius:9px!important;
  background:rgba(9,12,16,.92)!important;
  backdrop-filter:blur(8px);
  box-shadow:0 10px 28px rgba(0,0,0,.25);
}
.templateHeadControlsOnly>div:last-child,
.geometryHeadControlsOnly .geometryControls{gap:5px!important;}
.templateHeadControlsOnly .templateToolbar{gap:5px!important;}
.templateHeadControlsOnly button,
.geometryHeadControlsOnly button{padding:5px 7px!important;font-size:10px!important;}

/* Centre all major editor objects in the actual visible content plane. */
.flexSplit,
.decisionStage,
.growthStageV2,
.pyramidStageV2,
.pillarsStage,
.objectivesStage,
.progressTimeline,
.trafficBoardV2,
.principleVisual{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  margin:auto!important;
  align-self:center!important;
  justify-self:center!important;
}
.decisionStage,
.growthStageV2,
.pillarsStage{
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.pyramidStageV2{transform-origin:center center!important;justify-content:center!important;}
.progressTimeline{align-content:center!important;max-height:100%!important;}
.objectivesStage,.trafficBoardV2,.flexSplit{align-content:stretch!important;}
.principleVisual{min-height:0!important;overflow:hidden!important;}

/* Squad uses the same protected content root and is centred horizontally
   without changing its Present renderer. */
.availabilityPage.squadBoardPage{
  width:100%!important;
  max-width:100%!important;
  height:100%!important;
  min-height:0!important;
  margin:0 auto!important;
  padding:8px!important;
  gap:8px!important;
  overflow:auto!important;
}
.availabilityHeader{gap:8px!important;align-items:center!important;}
.availabilityHeader p{margin:2px 0!important;font-size:12px!important;}
.availabilityTitle{font-size:28px!important;}
.blockLabelRow{padding:7px!important;gap:6px!important;border-radius:10px!important;}
.availabilityBoard{gap:8px!important;}
.availabilityGroup{border-radius:12px!important;}
.availabilityGrid{padding:8px!important;gap:8px!important;}
.availabilityTotals{padding:7px!important;gap:6px!important;border-radius:11px!important;}
.availabilityTotals div{padding:7px!important;border-radius:9px!important;}
.availabilityTotals strong{font-size:19px!important;}

/* Protected identity and content-root enforcement. */
.sharedPageIdentity{pointer-events:auto!important;z-index:200!important;}
.sharedPageContentHost[data-content-root="true"] > .slideObjectLayer[data-content-plane="true"]{z-index:8!important;}
.sharedPageShell > :not(.sharedPageIdentity):not(.sharedPageContent):not(.sharedPageFooter){display:none!important;}

@media(max-width:1100px){
  .templateHeadControlsOnly,.geometryHeadControlsOnly{max-width:calc(100% - 14px);overflow:auto;}
}

/* =====================================================================
   PASS 15.1 — REGRESSION CLEANUP
   Restore out-of-scope Pass 14 homepage and Pages add-button geometry.
   No workspace, page-shell, identity, framework or Present changes.
   ===================================================================== */

/* Freeze the homepage at its Pass 14 geometry. Pass 15's generic editor
   button compaction must not apply to Home controls. */
body.atHome .homeScreen button,
body.atHome .homeScreen .fileBtn{
  min-height:0!important;
  line-height:normal!important;
}
body.atHome .workflowCard{
  height:190px!important;
  padding:22px!important;
  border-radius:24px!important;
  font-size:inherit!important;
  line-height:normal!important;
}
body.atHome .workflowCard span{
  font-size:12px!important;
  line-height:normal!important;
}
body.atHome .workflowCard strong{
  font-size:28px!important;
  line-height:normal!important;
}
body.atHome .workflowCard small{
  font-size:14px!important;
  line-height:normal!important;
}
body.atHome .homePanelHead button{
  padding:7px 9px!important;
  border-radius:9px!important;
  font-size:11px!important;
  line-height:normal!important;
}
body.atHome .recentProject{
  padding:14px 15px!important;
  border-radius:15px!important;
  font-size:inherit!important;
  line-height:normal!important;
}
body.atHome .recentProject strong{font-size:15px!important;line-height:normal!important;}
body.atHome .recentProject span{font-size:12px!important;line-height:normal!important;}
body.atHome .templateGrid button{
  height:74px!important;
  padding:10px 13px!important;
  border-radius:15px!important;
  font-size:inherit!important;
  line-height:normal!important;
}
body.atHome .templateGrid button small{
  font-size:11px!important;
  line-height:normal!important;
}

/* Restore the Pass 14 Pages + button exactly; editor control compaction
   continues to apply everywhere else. */
body:not(.presenting) .pagesHeader .addPageBtn{
  width:42px!important;
  min-width:42px!important;
  height:42px!important;
  min-height:42px!important;
  padding:0!important;
  border-radius:10px!important;
  font-size:24px!important;
  line-height:18px!important;
  display:grid!important;
  place-items:center!important;
}


/* PASS 15.2 — page appearance accent persistence
   Page/present/export accent tokens are supplied by pageEngine and presentationEngine.
   Do not hard-lock them to the application chrome colour. */
#pageSurface,
#pageSurface > .sharedPageShell,
#presentationOverlay,
#presentationOverlay.truePresent,
.presentSurface,
.exportPage{
  accent-color:var(--slide-accent, var(--accent, #0060A8));
}


/* PASS 17 — PRESENT PARITY
   Present consumes the accepted editor renderer, while selection and editing chrome remain editor-only. */
#presentationOverlay.truePresent .presentSurface .pageInsertedResizeHandle,
#presentationOverlay.truePresent .presentSurface .selectionHandle,
#presentationOverlay.truePresent .presentSurface .resizeHandle,
#presentationOverlay.truePresent .presentSurface .geometryControls,
#presentationOverlay.truePresent .presentSurface .templateToolbar,
#presentationOverlay.truePresent .presentSurface .floatingLayout,
#presentationOverlay.truePresent .presentSurface .respColumnControls,
#presentationOverlay.truePresent .presentSurface .sectionEditorHeader,
#presentationOverlay.truePresent .presentSurface .presentEmptyField{display:none!important;}
#presentationOverlay.truePresent .presentSurface .pageInsertedImageStage,
#presentationOverlay.truePresent .presentSurface .functionalSlot,
#presentationOverlay.truePresent .presentSurface .principleMedia,
#presentationOverlay.truePresent .presentSurface .coverMedia,
#presentationOverlay.truePresent .presentSurface .mediaPanel{outline:none!important;box-shadow:none!important;}
#presentationOverlay.truePresent .presentSurface .pageInsertedImageStage:focus,
#presentationOverlay.truePresent .presentSurface img:focus{outline:none!important;}
#presentationOverlay.truePresent .presentSurface button{cursor:default;}
#presentationOverlay.truePresent .responsibilityRow p{margin:0;white-space:pre-wrap;line-height:1.45;}
#presentationOverlay.truePresent .responsibilityRow p b{display:block;color:var(--slide-accent,var(--accent));margin-bottom:5px;}


/* PASS 18 — focused Present parity recovery */

/* Principles: editing controls live above the slide rather than inside its visual canvas. */
body.pageType-principlePage #pageSurface{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  gap:10px!important;
  align-items:stretch!important;
}
body.pageType-principlePage .principleEditorControls{
  position:relative!important;
  z-index:30!important;
  justify-self:end!important;
  display:flex!important;
  align-items:end!important;
  gap:8px!important;
  padding:8px 10px!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  background:#11161c!important;
}
body.pageType-principlePage .principleEditorControls label{margin:0!important;}
body.pageType-principlePage .geometryPage.pageType-principlePage{
  min-height:0!important;
  height:100%!important;
}
#presentationOverlay.truePresent .presentSurface .principleEditorControls{display:none!important;}

/* Lineup: preserve the established full-size interactive renderer and centre it in Present. */
#presentationOverlay.truePresent .presentSurface .lineupPage{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  align-content:stretch!important;
}
#presentationOverlay.truePresent .presentSurface .lineupPage .lineupBody{
  width:100%!important;
  min-height:0!important;
  height:100%!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  place-items:center!important;
}
#presentationOverlay.truePresent .presentSurface .lineupPage .lineupPitch{
  width:min(90vw,1180px)!important;
  max-width:1180px!important;
  height:auto!important;
  max-height:calc(100vh - 150px)!important;
  aspect-ratio:1.42!important;
  min-height:0!important;
  margin:0 auto!important;
  justify-self:center!important;
  align-self:center!important;
}
#presentationOverlay.truePresent .presentSurface .lineupSettingsDrawer,
#presentationOverlay.truePresent .presentSurface .lineupRoster{display:none!important;}
#presentationOverlay.truePresent .presentSurface .lineupMarker{
  cursor:grab!important;
  pointer-events:auto!important;
}
#presentationOverlay.truePresent .presentSurface .lineupMarker:active{cursor:grabbing!important;}
#presentationOverlay.truePresent .presentSurface .lineupMarker.presentLineupSelected .playerDisc{
  outline:4px solid #93c5fd!important;
  outline-offset:4px!important;
  box-shadow:0 0 0 8px rgba(31,78,121,.34),0 0 28px rgba(147,197,253,.7)!important;
}
#presentationOverlay.truePresent .presentSurface .lineupMarker .playerDisc{
  pointer-events:auto!important;
}

/* Tactical identity is shared, sizing remains context-specific. */
.splitPlayer,
.presentSplitPlayer{
  box-sizing:border-box!important;
  border-radius:50%!important;
  aspect-ratio:1 / 1!important;
  flex:0 0 auto!important;
  line-height:1!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  font-family:inherit!important;
  font-weight:950!important;
  letter-spacing:-.01em!important;
  text-shadow:0 1px 2px rgba(0,0,0,.48)!important;
  -webkit-font-smoothing:antialiased!important;
  text-rendering:geometricPrecision!important;
}
/* Split editor markers retain the compact split-specific size. */
.splitPlayer{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  min-height:32px!important;
  max-width:32px!important;
  max-height:32px!important;
  font-size:11px!important;
  padding:0!important;
}
/* Split Present markers retain their own slightly larger presentation size. */
.presentSplitPlayer{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  max-width:34px!important;
  max-height:34px!important;
  font-size:12px!important;
  padding:0!important;
}
/* Normal tactical markers keep their established larger dimensions and only share identity. */
.playerDisc{
  border-radius:50%!important;
  aspect-ratio:1 / 1!important;
  line-height:1!important;
  font-weight:950!important;
  text-shadow:0 1px 2px rgba(0,0,0,.42)!important;
  -webkit-font-smoothing:antialiased!important;
}

/* Block Information: preserve the editor structure in Present and remove controls only. */
#presentationOverlay.truePresent .presentSurface .blockInfoPage.blockInfoEditablePage{
  width:100%!important;
  height:100%!important;
  max-height:100%!important;
  overflow:hidden!important;
  padding:22px 34px 34px!important;
  align-content:start!important;
}
#presentationOverlay.truePresent .presentSurface .blockInfoPage .blockInfoTop,
#presentationOverlay.truePresent .presentSurface .blockInfoPage .sectionEditorHeader{
  display:none!important;
}
#presentationOverlay.truePresent .presentSurface .blockInfoPage .blockInfoEditorCard{
  width:100%!important;
  max-width:none!important;
  height:auto!important;
}
#presentationOverlay.truePresent .presentSurface .blockInfoPage input,
#presentationOverlay.truePresent .presentSurface .blockInfoPage textarea{
  pointer-events:none!important;
}


/* PASS 18.1 — Split tactical readability only. */
.splitPlayer,
.presentSplitPlayer,
#presentationOverlay.truePresent .presentSurface .mediaPage .splitPlayer,
#presentationOverlay.truePresent .presentSurface .mediaPage .presentSplitPlayer{
  color:#fff!important;
  text-shadow:0 1px 2px rgba(0,0,0,.9),0 0 2px rgba(0,0,0,.75)!important;
}


/* PASS 18.2 — Lineup Present cleanup: remove duplicate in-slide title and return its space to the pitch */
.lineupPageReadonly{
  grid-template-rows:minmax(0,1fr)!important;
  padding:24px 36px!important;
  gap:0!important;
}
.lineupPageReadonly>.lineupPageHead{display:none!important;}
.lineupPageReadonly .lineupPitchReadonly{
  max-height:calc(100vh - 92px)!important;
}


/* PASS 18.4 — Lineup editor slide cleanup
   The shared page-title input is the sole editable title. Lineup settings remain
   available as floating editor chrome and no longer reserve a grid row. */
.lineupPageRecovered:not(.lineupPageReadonly){
  position:relative!important;
  grid-template-rows:minmax(0,1fr)!important;
  gap:0!important;
}
.lineupPageRecovered:not(.lineupPageReadonly)>.lineupPageHead.lineupPageControlsOnly{
  position:absolute!important;
  top:28px!important;
  right:30px!important;
  z-index:60!important;
  min-height:0!important;
  width:auto!important;
  display:block!important;
  background:transparent!important;
  pointer-events:none!important;
}
.lineupPageRecovered:not(.lineupPageReadonly)>.lineupPageHead.lineupPageControlsOnly .lineupSettingsDrawer{
  pointer-events:auto!important;
}
.lineupPageRecovered:not(.lineupPageReadonly)>.lineupBody{
  grid-row:1!important;
  height:100%!important;
  min-height:0!important;
}
.lineupPageRecovered:not(.lineupPageReadonly) .verticalPitch.lineupPitch{
  max-height:calc(100vh - 125px)!important;
}
.lineupPageRecovered:not(.lineupPageReadonly) .lineupRosterSlim{
  max-height:calc(100vh - 125px)!important;
}

/* PASS 21R — surgical block overview information + presentation repair */
.loadSelect{width:100%;margin-top:5px;background:#0b1220;color:var(--text);border:1px solid var(--line);border-radius:9px;padding:10px}
.loadSelect.load-low{border-left:4px solid #37b26c}.loadSelect.load-moderate{border-left:4px solid #d89a2b}.loadSelect.load-high{border-left:4px solid #d15353}
.overviewLoadField{margin-top:8px}.overviewBlockInfoHead{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.overviewBlockInfoHead span{font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.overviewBlockInfoHead button{padding:6px 9px;font-size:11px}
.overviewBlockInfoList{display:grid;gap:8px;margin-top:8px}.overviewBlockInfoItem{position:relative;border:1px solid var(--line);border-radius:10px;padding:8px;background:#111821}.overviewBlockInfoItem input{font-weight:900;margin:0 36px 6px 0;padding:7px}.overviewBlockInfoItem textarea{min-height:54px;margin:0;padding:7px}.overviewBlockInfoItem .iconDanger{position:absolute;right:8px;top:8px;width:28px;height:28px;padding:0;color:#ff7c7c}
.blockPresentationSection{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.blockPresentationSection h3{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin:0 0 10px}
.sectionVisible.iconOnlyToggle{width:26px;min-width:26px;margin:0;display:grid;place-items:center}.sectionVisible.iconOnlyToggle input{margin:0;width:auto}.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sectionEditTop{grid-template-columns:28px minmax(0,1fr) auto!important}.sectionEditTop>input{margin-top:0!important}
.loadBadge{font-weight:900}.loadBadge.load-low{color:#79e0aa}.loadBadge.load-moderate{color:#ffc36e}.loadBadge.load-high{color:#ff8d8d}
#presentationOverlay.truePresent .presentationBody{height:100vh!important;padding:24px!important;grid-template-columns:minmax(680px,1fr) 340px!important;gap:20px!important;align-items:stretch!important}
#presentationOverlay.truePresent .presentationBody.notesOff{grid-template-columns:1fr!important}
#presentationOverlay.truePresent #presentNotesPanel{display:block!important;position:relative!important;max-height:calc(100vh - 48px)!important;overflow:auto!important;margin:0!important}
#presentationOverlay.truePresent #presentNotesPanel.hidden,#presentationOverlay.truePresent .presentationBody.notesOff #presentNotesPanel{display:none!important}
#presentationOverlay.truePresent #presentCanvas{min-height:0!important;height:100%!important;align-content:stretch!important;display:grid!important;grid-template-rows:minmax(0,1fr) auto!important}
#presentationOverlay.truePresent .presentSurface{height:100%!important;min-height:0!important;overflow:hidden!important}
.presentBlockNotesCard p{line-height:1.45}.presentBlockNotesCard strong{color:var(--text)}


/* PASS 21R.1 — focused overview scrolling and clean block-information present */
body.pageType-overview #pageSurface{min-height:0!important;overflow:hidden!important}
body.pageType-overview .overviewPage{height:100%!important;min-height:0!important;display:grid!important;grid-template-rows:auto auto auto minmax(0,1fr)!important;overflow:hidden!important}
body.pageType-overview .overviewBlocks{min-height:0!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;align-content:start!important;padding-right:6px!important}
.overviewBlockInfoItem.overviewBlockInfoPlain{padding:8px 42px 8px 8px!important}
.overviewBlockInfoItem.overviewBlockInfoPlain textarea{min-height:58px!important;margin:0!important}
#presentationOverlay.truePresent .presentSurface:has(.presentBlockInfoDocument){overflow:auto!important}
#presentationOverlay.truePresent .presentBlockInfoDocument{width:min(1180px,100%)!important;margin:0 auto!important;padding:38px 46px 48px!important;box-sizing:border-box!important}
.presentBlockInfoHeader{padding-bottom:18px;border-bottom:1px solid var(--line)}
.presentBlockInfoHeader h1{margin:0;font-size:34px}
.presentBlockInfoMeta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0}
.presentBlockInfoMeta>div{border:1px solid var(--line);border-radius:12px;background:#111821;padding:14px 16px;display:grid;gap:6px}
.presentBlockInfoMeta>div.wide{grid-column:span 2}
.presentBlockInfoMeta span{font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.presentBlockInfoSections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.presentBlockInfoSections section{border:1px solid var(--line);border-radius:14px;background:#111821;padding:18px;min-height:120px}
.presentBlockInfoSections h2{margin:0 0 12px;font-size:18px;color:var(--text)}
.presentBlockInfoSections p{margin:0;white-space:pre-wrap;line-height:1.55;color:var(--text)}


/* PASS 22 — clean rebuild of Session Overview + Block Information */
.studioDocumentPage{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:16px;padding:20px;background:var(--slide-bg,#080b0f);color:var(--slide-text,#f5f7fa);overflow:hidden}
.studioDocumentSummary,.studioDocumentBody{border:1px solid rgba(148,163,184,.18);background:rgba(18,24,31,.82);border-radius:16px}
.studioDocumentSummary{padding:18px 20px}.studioDocumentBody{min-height:0;padding:18px 20px;display:flex;flex-direction:column;overflow:hidden}
.studioDocumentMeta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.studioDocumentMeta label,.studioLinkedBlockRow label{display:grid;gap:7px}.studioDocumentMeta span,.studioLinkedBlockRow span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#9aa4b2;font-weight:800}
.studioDocumentMeta input,.studioDocumentMeta select,.studioLinkedBlockRow select,.studioDocumentTitleRow input{width:100%;height:38px;border:1px solid rgba(46,116,168,.48);border-radius:9px;background:#0d1622;color:#f5f7fa;padding:0 11px;font:inherit;font-weight:700}
.studioDocumentTitleRow{margin:14px 0}.studioDocumentTitleRow input{height:48px;font-size:22px;font-weight:850}
.studioBlockInfoMeta{grid-template-columns:repeat(5,minmax(0,1fr))}.studioLinkedBlockRow{max-width:420px}
.studioSectionHeading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}.studioSectionHeading span,.studioPresentHeading span,.studioPresentEyebrow{display:block;color:#2873a8;font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:900}.studioSectionHeading h2,.studioPresentHeading h1{margin:3px 0 0;font-size:20px}.studioPrimaryAction{border:0;border-radius:9px;background:#176da8;color:white;font-weight:800;padding:10px 14px}
.studioBlockGridViewport{min-height:0;flex:1;overflow:auto;padding-right:7px;overscroll-behavior:contain}.studioBlockGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(275px,1fr));gap:14px;align-content:start;padding-bottom:12px}
.studioSessionBlockCard{min-width:0;border:1px solid rgba(148,163,184,.18);background:#111820;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:11px}.studioBlockCardHeader{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px}.studioBlockNumber{color:#2674aa;font-size:12px;font-weight:900}.studioBlockTitle{width:100%;border:0;border-bottom:1px solid rgba(46,116,168,.55);background:transparent;color:#f5f7fa;font-size:18px;font-weight:900;padding:3px 0}.studioBlockMenu{position:relative}.studioBlockMenu summary{list-style:none;cursor:pointer;border:1px solid rgba(148,163,184,.2);border-radius:8px;padding:4px 8px;font-weight:900}.studioBlockMenu summary::-webkit-details-marker{display:none}.studioBlockMenu>div{position:absolute;right:0;top:34px;z-index:20;width:165px;padding:7px;border-radius:10px;background:#111820;border:1px solid #2a3644;box-shadow:0 12px 30px #0008;display:grid;gap:5px}.studioBlockMenu button{border:0;border-radius:7px;padding:8px;text-align:left;background:#1c2733;color:#f5f7fa}.studioBlockMenu .danger{color:#ff8f8f}
.studioBlockParticipantLine{display:flex;align-items:center;gap:7px;border:1px solid rgba(148,163,184,.14);background:#0e151d;border-radius:9px;padding:8px 10px}.studioBlockParticipantLine strong{font-size:18px;color:#2873a8}.studioBlockParticipantLine span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#aab3bf;font-weight:800}.studioBlockParticipantLine em{margin-left:auto;font-style:normal;font-size:11px;color:#2873a8;font-weight:850}
.studioBlockMetaGrid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.studioBlockMetaGrid label{display:grid;gap:4px}.studioBlockMetaGrid label.wide{grid-column:1/-1}.studioBlockMetaGrid span{font-size:10px;text-transform:uppercase;color:#9aa4b2;font-weight:800}.studioBlockMetaGrid input,.studioBlockMetaGrid select{height:34px;width:100%;border:1px solid rgba(46,116,168,.4);background:#0d1622;color:#f5f7fa;border-radius:8px;padding:0 9px}.studioLoadSelect{border-left:4px solid #526173!important}.studioLoadSelect.load-low{border-left-color:#35c477!important}.studioLoadSelect.load-moderate{border-left-color:#f2a63b!important}.studioLoadSelect.load-high{border-left-color:#ee5b5b!important}
.studioBlockNotes{border-top:1px solid rgba(148,163,184,.14);padding-top:10px}.studioBlockNotesHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.studioBlockNotesHead span{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#2873a8;font-weight:900}.studioBlockNotesHead button{border:0;background:transparent;color:#a9cdea;font-weight:800;cursor:pointer}.studioBlockNotesList{display:grid;gap:6px}.studioCompactNote{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:start}.studioCompactNote textarea{resize:none;min-height:34px;max-height:92px;overflow:auto;border:1px solid rgba(46,116,168,.35);border-radius:8px;background:#0d1622;color:#f5f7fa;padding:8px 9px;font:inherit;line-height:1.35}.studioCompactNote button{width:30px;height:30px;border:0;border-radius:7px;background:#232b36;color:#ff7c7c}.studioEmptyState{grid-column:1/-1;min-height:170px;display:grid;place-content:center;text-align:center;color:#aab3bf}.studioEmptyState span{margin-top:5px;font-size:13px}
.studioInfoSectionGrid{min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-content:start;padding-right:7px}.studioInfoSectionCard{border:1px solid rgba(148,163,184,.18);background:#111820;border-radius:14px;padding:14px;display:grid;gap:10px}.studioInfoSectionCard.isHidden{opacity:.58}.studioInfoSectionCard header{display:flex;gap:10px;align-items:center}.studioInfoSectionCard header>input{flex:1;border:0;border-bottom:1px solid rgba(46,116,168,.5);background:transparent;color:#f5f7fa;font-size:16px;font-weight:850;padding:5px}.studioInfoSectionCard header>div{display:flex;gap:5px;align-items:center}.studioInfoSectionCard button{width:30px;height:30px;border:1px solid rgba(148,163,184,.16);background:#1a2430;color:#f5f7fa;border-radius:7px}.studioInfoSectionCard textarea{min-height:130px;resize:vertical;border:1px solid rgba(46,116,168,.35);background:#0d1622;color:#f5f7fa;border-radius:10px;padding:11px;font:inherit;line-height:1.45}.studioVisibilityToggle{display:flex;align-items:center;gap:4px;font-size:10px;color:#aab3bf}.studioVisibilityToggle input{accent-color:#2873a8}
.studioPresentDocument{height:100%;padding:36px 46px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:20px;background:#080b0f;color:#f5f7fa;overflow:hidden}.studioPresentSummary,.studioPresentBody{border:1px solid rgba(148,163,184,.18);background:#111820;border-radius:18px}.studioPresentSummary{padding:22px 26px}.studioPresentBody{padding:22px 26px;min-height:0;overflow:hidden;display:flex;flex-direction:column}.studioPresentMeta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.studioPresentMeta>div{display:grid;gap:6px}.studioPresentMeta span{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#9aa4b2;font-weight:850}.studioPresentMeta strong{font-size:18px}.studioPresentDocumentTitle{margin:6px 0 18px;font-size:34px}.studioPresentHeading{margin-bottom:15px}.studioPresentBlockGrid{min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-content:start}.studioPresentBlockCard,.studioPresentInfoGrid article{border:1px solid rgba(148,163,184,.18);background:#0d141c;border-radius:14px;padding:16px}.studioPresentBlockCard header{display:flex;align-items:center;gap:10px}.studioPresentBlockCard header b{color:#2873a8}.studioPresentBlockCard h2{font-size:20px;margin:0}.studioPresentParticipant{display:flex;align-items:center;gap:8px;margin:12px 0;padding:9px 10px;border:1px solid rgba(148,163,184,.13);border-radius:9px}.studioPresentParticipant strong{font-size:19px;color:#2873a8}.studioPresentParticipant span{font-size:11px;text-transform:uppercase;color:#aab3bf;font-weight:800}.studioPresentBlockMeta{display:grid;grid-template-columns:1fr 1fr;gap:10px}.studioPresentBlockMeta div{display:grid;gap:3px}.studioPresentBlockMeta span{font-size:10px;text-transform:uppercase;color:#8f9aa7;font-weight:800}.studioPresentBlockMeta strong{font-size:13px}.studioPresentLoad{display:inline-flex;align-items:center;gap:7px;margin-top:12px;font-size:12px;font-weight:850}.studioPresentLoad i{width:8px;height:8px;border-radius:50%;background:#526173}.studioPresentLoad.load-low i{background:#35c477}.studioPresentLoad.load-moderate i{background:#f2a63b}.studioPresentLoad.load-high i{background:#ee5b5b}.studioPresentNotes{margin-top:12px;border-top:1px solid rgba(148,163,184,.14);padding-top:9px;display:grid;gap:7px}.studioPresentNotes p{margin:0;font-size:13px;line-height:1.4;color:#d7dde5}.studioPresentInfoGrid{min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-content:start}.studioPresentInfoGrid h2{margin:0 0 10px;color:#f5f7fa;font-size:19px}.studioPresentInfoGrid p{margin:0;color:#d7dde5;font-size:15px;line-height:1.55;white-space:pre-wrap}.studioPresentEmpty{grid-column:1/-1;display:grid;place-content:center;min-height:250px;color:#9aa4b2}
@media(max-width:1100px){.studioDocumentMeta,.studioBlockInfoMeta{grid-template-columns:repeat(2,1fr)}.studioInfoSectionGrid{grid-template-columns:1fr}.studioPresentBlockGrid{grid-template-columns:repeat(2,1fr)}}

/* PASS 22.1 — premium workflow density and unified Present language */
.studioDocumentPage{gap:12px;padding:16px}
.studioDocumentSummary{padding:14px 16px}
.studioDocumentBody{padding:12px 16px}
.studioDocumentActionRow{display:flex;justify-content:flex-end;align-items:center;min-height:34px;margin-bottom:8px}
.studioDocumentMeta{gap:10px}
.studioDocumentMeta input,.studioDocumentMeta select,.studioLinkedBlockRow select{height:34px}
.studioDocumentTitleRow{margin:10px 0}
.studioDocumentTitleRow input{height:42px;font-size:20px}
.studioBlockGrid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.studioSessionBlockCard{padding:12px;gap:8px}
.studioBlockParticipantLine{padding:6px 8px}
.studioBlockMetaGrid{gap:7px}
.studioBlockMetaGrid input,.studioBlockMetaGrid select{height:31px}
.studioBlockNotes{padding-top:8px}
.studioCompactNote textarea{min-height:31px;max-height:70px;padding:6px 8px}
.studioInfoSectionGrid{gap:10px}
.studioInfoSectionCard{padding:12px;gap:8px}
.studioInfoSectionCard textarea{min-height:94px}

.premiumWorkflowPresent{padding:24px 28px;gap:12px;background:#080b0f}
.premiumWorkflowSummary,.premiumWorkflowBody{border-radius:14px}
.premiumWorkflowSummary{padding:14px 18px}
.premiumWorkflowBody{padding:14px 18px}
.premiumWorkflowMeta{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:end}
.sessionOverviewPresentRebuild .premiumWorkflowMeta{grid-template-columns:repeat(4,minmax(0,1fr))}
.premiumWorkflowMeta>div{gap:3px}
.premiumWorkflowMeta span{font-size:10px;letter-spacing:.08em}
.premiumWorkflowMeta strong{font-size:15px}
.premiumWorkflowTitle{margin:0 0 12px;font-size:27px;line-height:1.05}
.premiumWorkflowBlockGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;overflow:auto;align-content:start}
.premiumWorkflowCard{padding:12px;border-radius:12px;display:flex;flex-direction:column;gap:9px;min-height:0}
.premiumWorkflowCard header{gap:7px}
.premiumWorkflowCard header h2{font-size:17px}
.premiumWorkflowCard header b{font-size:10px}
.premiumWorkflowMetrics{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;padding:7px 0;border-top:1px solid rgba(148,163,184,.12);border-bottom:1px solid rgba(148,163,184,.12)}
.premiumWorkflowMetrics span{display:inline-flex;align-items:center;gap:5px;color:#dce3ea}
.premiumWorkflowMetrics strong{font-size:12px}
.premiumWorkflowMetrics em{font-size:10px;font-style:normal;color:#8f9aa7}
.premiumWorkflowMetrics i,.premiumLoad i{width:7px;height:7px;border-radius:50%;display:inline-block;background:#526173}
.premiumWorkflowMetrics .load-low i,.premiumLoad.load-low i{background:#35c477}
.premiumWorkflowMetrics .load-moderate i,.premiumLoad.load-moderate i{background:#f2a63b}
.premiumWorkflowMetrics .load-high i,.premiumLoad.load-high i{background:#ee5b5b}
.premiumWorkflowPhysical{font-size:12px;color:#aeb8c4;line-height:1.35}
.premiumWorkflowNotes{margin-top:0;padding-top:0;border-top:0;gap:4px}
.premiumWorkflowNotes p{font-size:12px;line-height:1.35;padding-left:10px;position:relative}
.premiumWorkflowNotes p:before{content:'•';position:absolute;left:0;color:#2873a8}
.premiumWorkflowInfoGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;overflow:auto;align-content:start}
.premiumWorkflowInfoCard{padding:14px 16px!important;border-radius:12px!important;min-height:0!important}
.premiumWorkflowInfoCard h2{font-size:16px!important;margin:0 0 7px!important}
.premiumWorkflowInfoCard p{font-size:13px!important;line-height:1.45!important}
.premiumLoad{display:inline-flex!important;align-items:center;gap:7px}

/* Dedicated Present renderers contain no editor chrome. Keep this as a hard guard. */
.premiumWorkflowPresent button,.premiumWorkflowPresent input,.premiumWorkflowPresent select,.premiumWorkflowPresent textarea,.premiumWorkflowPresent details,.premiumWorkflowPresent .studioDocumentActionRow{display:none!important}

@media(max-width:1200px){.premiumWorkflowBlockGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.premiumWorkflowMeta{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* PASS 23 — premium weekly + session workflow */
.premiumWorkflowPage{height:100%;min-height:0;display:flex;flex-direction:column;gap:14px;padding:18px;background:#0b1016;color:#f5f7fa;overflow:hidden}.workflowHero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:18px 20px;border:1px solid #263240;border-radius:16px;background:#101720}.workflowHero.compact{align-items:center;padding:14px 18px}.workflowEyebrow{display:block;color:var(--accent,#1685d1);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:4px}.workflowHero h1{font-size:28px;line-height:1.05;margin:0}.workflowSubtitleInput{border:0!important;background:transparent!important;padding:5px 0!important;color:#9ca8b6!important;font-size:14px!important;width:min(560px,70vw)!important}.sessionKpis{display:grid;grid-template-columns:repeat(4,minmax(105px,1fr));gap:8px;min-width:min(600px,54vw)}.sessionKpis label{padding:9px 11px;border:1px solid #263240;border-radius:10px;background:#0d141d}.sessionKpis span,.weeklyFooter label>span{display:block;color:#8d9aaa;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.sessionKpis input,.sessionKpis strong{display:block;width:100%;border:0!important;background:transparent!important;padding:3px 0 0!important;color:#f5f7fa!important;font-weight:700}.sessionWorkflowPage{display:grid;grid-template-columns:minmax(0,1fr) 250px;grid-template-rows:auto minmax(0,1fr);gap:14px}.sessionWorkflowPage>.workflowHero{grid-column:1/-1}.sessionFlowShell{min-height:0;display:flex;flex-direction:column;border:1px solid #263240;border-radius:16px;background:#101720;padding:14px}.sessionFlowHeader{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 10px}.sessionFlowHeader h2{margin:0;font-size:19px}.sessionFlowViewport{min-height:0;overflow:auto}.sessionFlowList{display:flex;flex-direction:column;gap:8px}.sessionFlowCard{display:grid;grid-template-columns:30px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid #263240;border-radius:12px;background:#0c131b}.flowIndex{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#0f2f4a;color:#4eb2ff;font-size:12px;font-weight:800}.flowTitleRow{display:flex;align-items:center;gap:10px}.flowTitleRow input{border:0!important;background:transparent!important;padding:0!important;color:#f5f7fa!important;font-size:16px!important;font-weight:800!important;min-width:0}.flowMeta{display:flex;gap:14px;color:#9eabb8;font-size:11px;margin-top:3px}.flowMain textarea{width:100%;min-height:26px;max-height:54px;resize:none;border:0!important;border-top:1px solid #202b36!important;border-radius:0!important;background:transparent!important;padding:6px 0 0!important;color:#cbd3dc!important;margin-top:6px}.loadPill{font-size:10px;font-weight:800;padding:4px 7px;border-radius:999px;background:#1b2632;color:#9eabb8;white-space:nowrap}.loadPill.load-low{color:#55d88a;background:#123124}.loadPill.load-moderate{color:#ffb53f;background:#352714}.loadPill.load-high{color:#ff6b6b;background:#36191c}.flowOpen{background:#123d61!important;color:#dff2ff!important}.sessionSupportPanel{min-height:0;overflow:auto;border:1px solid #263240;border-radius:16px;background:#101720;padding:14px;display:flex;flex-direction:column;gap:16px}.sessionSupportPanel label>span{display:block;color:#4eb2ff;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}.sessionSupportPanel textarea{min-height:110px;background:#0c131b!important}.weekRange{display:flex;align-items:center;gap:10px}.weekRange button{font-size:20px;background:transparent!important}.weeklyBoard{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;min-height:0;flex:1}.weeklyDay{min-width:0;display:flex;flex-direction:column;border:1px solid #263240;border-radius:13px;background:#101720;overflow:hidden}.weeklyDay>header{padding:10px;border-bottom:1px solid #263240}.weeklyDay>header>div{display:flex;justify-content:space-between;gap:5px}.weeklyDay header strong{font-size:13px}.weeklyDay input{min-width:0}.weeklyDay header input{border:0!important;background:transparent!important;padding:0!important;font-size:10px!important;color:#8e9baa!important;text-align:right}.weeklyDay .dayTheme{width:100%;text-align:left!important;color:#4eb2ff!important;font-size:12px!important;font-weight:800;margin-top:6px}.dayItems{padding:8px;display:flex;flex-direction:column;gap:6px;min-height:0;overflow:auto}.weekItem{padding:7px;border:1px solid #263240;border-radius:8px;background:#0c131b;position:relative}.weekItem select{width:100%;border:0!important;background:transparent!important;padding:0!important;color:#6aaee0!important;font-size:9px!important;text-transform:uppercase}.weekItem input{width:100%;border:0!important;background:transparent!important;padding:3px 18px 0 0!important;font-size:11px!important}.weekItem button{position:absolute;right:4px;bottom:4px;padding:2px 5px!important;background:transparent!important}.addWeekItem{margin:auto 8px 8px;padding:6px!important;background:#14202b!important}.weeklyFooter{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.weeklyFooter label{padding:10px 12px;border:1px solid #263240;border-radius:12px;background:#101720}.weeklyFooter textarea{width:100%;min-height:58px;border:0!important;background:transparent!important;padding:5px 0 0!important}.premiumPresentPage{height:100%;padding:34px 42px;box-sizing:border-box;background:#0b1016;color:#f5f7fa;overflow:auto}.premiumPresentPage header span{color:#4eb2ff;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:800}.premiumPresentPage header h1{font-size:34px;margin:4px 0 18px}.weeklyPresentGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:9px}.weeklyPresentGrid article{min-height:360px;padding:13px;border:1px solid #263240;border-radius:13px;background:#101720}.weeklyPresentDay{display:flex;justify-content:space-between}.weeklyPresentDay strong{font-size:14px}.weeklyPresentDay span{font-size:10px;color:#8d9aaa}.weeklyPresentGrid h2{color:#4eb2ff;font-size:13px;min-height:34px}.weeklyPresentGrid p{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-top:1px solid #263240;font-size:11px}.weeklyPresentGrid em{font-size:9px;color:#8d9aaa;text-transform:uppercase;font-style:normal}.weeklyPresentPage footer{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.weeklyPresentPage footer section{padding:12px;border:1px solid #263240;border-radius:12px;background:#101720}.weeklyPresentPage footer p{white-space:pre-wrap;color:#cbd3dc;font-size:12px}.pageType-weeklyOverview #canvasToolbar,.pageType-weeklyOverview #timeline{display:none!important}
@media(max-width:1100px){.weeklyBoard{grid-template-columns:repeat(4,1fr)}.sessionWorkflowPage{grid-template-columns:1fr}.sessionSupportPanel{display:grid;grid-template-columns:1fr 1fr}.sessionKpis{min-width:0}.weeklyPresentGrid{grid-template-columns:repeat(4,1fr)}}

/* PASS 24 — professional workflow fidelity repair */
.pageType-weeklyOverview .canvasArea,.pageType-overview .canvasArea{padding:0!important}
.pageType-weeklyOverview #pageSurface,.pageType-overview #pageSurface{inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;border-radius:0!important}
.professionalWeekPage,.professionalSessionPage{height:100%;box-sizing:border-box;background:#0b0f14;color:#f5f7fa;padding:18px;overflow:hidden}
.professionalWeekBoard{height:100%;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.professionalDay{min-width:0;display:flex;flex-direction:column;border:1px solid #33404d;background:#111820;overflow:hidden}
.professionalDayHeader{padding:12px 11px 10px;border-bottom:2px solid var(--accent,#1f6fae);background:#151e27}
.professionalDayHeader>div{display:flex;align-items:center;justify-content:space-between;gap:6px}
.professionalDayHeader strong{font-size:14px;letter-spacing:.04em;text-transform:uppercase}
.professionalDayHeader input{border:0!important;background:transparent!important;padding:0!important;min-width:0;color:#9da9b5!important;font-size:10px!important;text-align:right}
.professionalDayTheme{width:100%;margin-top:7px!important;text-align:left!important;color:#f5f7fa!important;font-size:13px!important;font-weight:700!important}
.professionalDayItems{flex:1;min-height:0;padding:8px;display:flex;flex-direction:column;gap:7px;overflow:auto}
.professionalWeekItem{position:relative;border:1px solid #2c3742;background:#0d131a;padding:9px 8px 8px}
.professionalWeekItem:before{content:"";position:absolute;left:-1px;top:-1px;bottom:-1px;width:3px;background:#596775}
.professionalWeekItem.type-session:before{background:var(--accent,#1f6fae)}
.professionalWeekItem.type-gym:before{background:#a7833d}.professionalWeekItem.type-recovery:before{background:#4d8a70}.professionalWeekItem.type-meeting:before,.professionalWeekItem.type-video:before{background:#765c9c}
.professionalWeekItem select{appearance:none;width:100%;border:0!important;background:transparent!important;padding:0!important;color:#8fa1b2!important;font-size:9px!important;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.professionalWeekItem textarea{width:100%;min-height:42px;resize:vertical;border:0!important;background:transparent!important;padding:5px 18px 0 0!important;color:#f5f7fa!important;font-size:12px!important;line-height:1.35}
.professionalWeekItem>button{position:absolute;right:4px;top:4px;background:transparent!important;padding:2px 5px!important;color:#788591!important}
.professionalAddWeekItem{margin:0 8px 8px;padding:7px!important;background:#151e27!important;border:1px dashed #384654!important;color:#95a3b0!important;font-size:11px!important}
.professionalSessionPage{display:flex;flex-direction:column;gap:10px}
.professionalSessionSummary{display:grid;grid-template-columns:minmax(280px,1fr) auto;align-items:stretch;border:1px solid #33404d;background:#111820}
.professionalSessionObjective{min-width:0;border:0!important;background:transparent!important;padding:16px 18px!important;color:#f5f7fa!important;font-size:18px!important;font-weight:800!important}
.professionalSessionMeta{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));border-left:1px solid #33404d}
.professionalSessionMeta label{padding:10px 12px;border-left:1px solid #27333e;display:flex;flex-direction:column;justify-content:center}
.professionalSessionMeta label:first-child{border-left:0}.professionalSessionMeta span,.professionalPracticeMeta span,.professionalSessionNotes label>span{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:#8997a5}
.professionalSessionMeta input,.professionalSessionMeta strong{border:0!important;background:transparent!important;padding:3px 0 0!important;color:#f5f7fa!important;font-size:13px!important;font-weight:800}
.professionalSessionContent{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:10px}
.professionalPracticeGrid{min-height:0;overflow:auto}.professionalPracticeGrid>.sessionFlowList{display:grid;grid-template-columns:repeat(3,minmax(230px,1fr));gap:10px;align-content:start}
.professionalPracticeCard{min-height:235px;display:flex;flex-direction:column;border:1px solid #33404d;background:#111820}
.professionalPracticeCard>header{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;border-bottom:1px solid #2c3742;background:#151e27}
.professionalPracticeCard>header>span{height:100%;display:grid;place-items:center;background:var(--accent,#1f6fae);font-size:12px;font-weight:900}
.professionalPracticeCard>header input{min-width:0;border:0!important;background:transparent!important;padding:11px 10px!important;color:#f5f7fa!important;font-size:14px!important;font-weight:800!important}
.professionalPracticeMeta{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #2c3742}.professionalPracticeMeta label{padding:8px 9px;border-right:1px solid #2c3742}.professionalPracticeMeta label:last-child{border-right:0}.professionalPracticeMeta strong{display:block;margin-top:3px;font-size:11px}
.professionalPracticeCard>textarea{flex:1;width:100%;min-height:95px;resize:vertical;border:0!important;background:#0d131a!important;padding:11px!important;color:#d7dee5!important;font-size:12px!important;line-height:1.45}
.professionalOpenPractice{margin:8px;padding:7px!important;background:#172330!important;color:#dfe8f0!important;border:1px solid #354555!important;font-size:11px!important}
.professionalSessionNotes{min-height:0;display:flex;flex-direction:column;gap:10px}.professionalSessionNotes label{min-height:0;display:flex;flex-direction:column;border:1px solid #33404d;background:#111820;padding:11px}.professionalSessionNotes label:first-child{flex:1}.professionalSessionNotes textarea{flex:1;min-height:100px;margin-top:7px;resize:vertical;background:#0d131a!important;border:1px solid #29343f!important;color:#d7dee5!important;line-height:1.45}
.professionalAddBlock{align-self:flex-start;padding:7px 14px!important;background:#172330!important;border:1px solid #354555!important;color:#dfe8f0!important}
.presentEditorTruth .professionalWeekPage,.presentEditorTruth .professionalSessionPage{padding:18px!important}
.presentEditorTruth .professionalWeekBoard,.presentEditorTruth .professionalSessionContent{height:100%}
.presentEditorTruth .professionalWeekItem select{opacity:.7}.presentEditorTruth input,.presentEditorTruth textarea{pointer-events:none!important}
.presentEditorTruth .professionalWeekItem>button,.presentEditorTruth .professionalAddWeekItem,.presentEditorTruth .professionalAddBlock,.presentEditorTruth .professionalOpenPractice,.presentEditorTruth .studioBlockMenu{display:none!important}
.presentEditorTruth .professionalPracticeCard{min-height:250px}
@media(max-width:1100px){.professionalWeekBoard{grid-template-columns:repeat(4,minmax(180px,1fr));overflow:auto}.professionalPracticeGrid>.sessionFlowList{grid-template-columns:repeat(2,minmax(230px,1fr))}.professionalSessionContent{grid-template-columns:minmax(0,1fr) 260px}.professionalSessionSummary{grid-template-columns:1fr}.professionalSessionMeta{border-left:0;border-top:1px solid #33404d}}

/* PASS 25 — connected professional workflow */
.professionalWeekItem{border-left:3px solid var(--activity-colour,#1f6fa5)!important;padding:9px!important}
.weekItemTop{display:grid;grid-template-columns:24px minmax(0,1fr) 24px;gap:7px;align-items:center}
.weekItemTop input[type="color"]{width:22px!important;height:22px!important;padding:0!important;border:0!important;background:transparent!important}
.weekItemLabel{font-size:11px!important;font-weight:850!important;color:#f5f7fa!important}
.weekItemTime{margin-top:5px!important;color:#9fb0c0!important;font-size:10px!important}
.professionalWeekItem textarea{width:100%;min-height:42px;resize:vertical;border:0!important;background:transparent!important;padding:5px 0 0!important;color:#d5dde6!important;font-size:11px!important}
.professionalWeekItem button{position:static!important;padding:2px 5px!important;background:transparent!important}
.connectedSessionPage{gap:10px!important}
.connectedSessionContent{display:block!important;min-height:0!important}
.connectedSessionContent .professionalPracticeGrid{width:100%;height:100%}
.connectedSessionContent .sessionFlowList{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px!important;align-content:start}
.sessionAggregateStrip{display:grid;grid-template-columns:1fr 1.25fr;gap:10px;padding:9px 12px;border:1px solid #263240;background:#101720}
.sessionAggregateStrip>div{display:flex;align-items:center;gap:10px;min-width:0}
.sessionAggregateStrip>div>span{flex:0 0 auto;color:#8d9aaa;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.aggregateTags{display:flex;gap:6px;flex-wrap:wrap;min-width:0}
.aggregateTags b,.practiceEquipment span,.presentAggregateStrip b{border:1px solid #2c3947;background:#15202b;border-radius:999px;padding:4px 8px;font-size:10px;color:#dce4ec}
.aggregateTags b[style],.presentAggregateStrip b[style]{border-left:4px solid var(--tag-colour,#1f6fa5)}
.aggregateTags em{font-size:11px;color:#778493;font-style:normal}
.connectedPracticeCard{min-height:245px}
.practiceAutoSummary{padding:12px;min-height:96px;color:#d6dde5;font-size:12px;line-height:1.45}
.practiceAutoSummary p{margin:0;white-space:pre-wrap}
.practiceAutoSummary .muted{color:#788594}
.practiceEquipment{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}
.practiceLoad{display:inline-flex!important;align-items:center;gap:6px}
.practiceLoad:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--load-colour,#526173)}
.blockWorkflowFields label:last-child{max-width:110px}
.blockWorkflowFields input[type="color"]{width:100%;height:36px;padding:3px!important}
.connectedWeeklyPresent .weeklyPresentGrid{height:100%}
.connectedWeeklyPresent .weeklyPresentGrid article{min-height:0;height:100%}
.connectedWeeklyPresent .weeklyPresentGrid p{border-left:3px solid var(--activity-colour,#1f6fa5);padding:9px;margin:8px 0;background:#0d141c}
.connectedWeeklyPresent .weeklyPresentGrid p small{color:#9aa5b1;font-size:9px}
.connectedWeeklyPresent .weeklyPresentGrid p span{font-size:11px;color:#d6dde5}
.presentAggregateStrip{display:grid;grid-template-columns:1fr 1.25fr;gap:12px;padding:10px 26px;border-bottom:1px solid rgba(148,163,184,.18)}
.presentAggregateStrip>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.presentAggregateStrip span{font-size:10px;text-transform:uppercase;color:#8f9aa7;font-weight:850;margin-right:4px}
.presentAggregateStrip em{color:#7f8b98;font-style:normal}
.connectedPresentCard .premiumWorkflowMetrics span:last-child i{background:var(--load-colour,#526173)!important}
@media (max-width:1100px){.connectedSessionContent .sessionFlowList{grid-template-columns:repeat(2,minmax(0,1fr))}.sessionAggregateStrip{grid-template-columns:1fr}}

/* PASS 26 — connected metadata and source-of-truth repair */
.weekItemTop{grid-template-columns:24px minmax(0,1fr) 24px}
.weekItemTop .weekItemTime{margin:0!important;font-size:11px!important;font-weight:800!important;color:#aebac6!important}
.professionalWeekItem>.weekItemLabel{display:block;width:100%;border:0!important;background:transparent!important;padding:6px 0 0!important;font-size:13px!important;font-weight:850!important;color:#f5f7fa!important}
.professionalWeekItem textarea{padding-top:5px!important;min-height:34px!important;color:#aeb8c3!important}
.presentEditorTruth .professionalWeekItem{padding:10px!important}
.presentEditorTruth .professionalWeekItem input[type="color"],.presentEditorTruth .professionalWeekItem button{display:none!important}
.presentEditorTruth .professionalWeekItem .weekItemTop{display:block}
.presentEditorTruth .professionalWeekItem .weekItemTime{display:block!important;width:100%!important;text-align:left!important;font-size:11px!important;color:#9eabb8!important}
.presentEditorTruth .professionalWeekItem>.weekItemLabel{display:block!important;width:100%!important;text-align:left!important;font-size:13px!important;color:#f5f7fa!important;padding-top:4px!important}
.presentEditorTruth .professionalWeekItem textarea{display:block!important;width:100%!important;min-height:0!important;height:auto!important;padding-top:7px!important;color:#bcc6d0!important;overflow:visible!important}
.weeklyPresentActivityLine{display:flex;align-items:baseline;gap:8px}
.weeklyPresentActivityLine small{flex:0 0 auto;color:#9aa5b1!important;font-size:10px!important}
.weeklyPresentActivityLine strong{font-size:12px;color:#f5f7fa}
.connectedWeeklyPresent .weeklyPresentGrid p>em{display:block;margin-top:6px;font-size:10px!important;color:#aeb8c3!important;text-transform:none!important;letter-spacing:0!important}
.sessionAggregateStrip{display:none!important}
.connectedSessionPage{gap:10px!important}
.compactPracticeMeta{display:flex!important;align-items:center;gap:16px;padding:9px 10px;border-bottom:1px solid #2c3742!important}
.compactPracticeMeta>span{display:inline-flex;align-items:center;min-height:24px;color:#c9d2db;font-size:11px}
.compactPracticeMeta>span+span{padding-left:16px;border-left:1px solid #2c3742}
.sharedLoadBadge{display:inline-flex!important;align-items:center;gap:7px;padding:5px 9px!important;border:1px solid color-mix(in srgb,var(--load-colour,#526173) 60%,#25313c);border-radius:999px;background:color-mix(in srgb,var(--load-colour,#526173) 18%,#111820);color:#f5f7fa!important;font-size:10px!important;font-weight:850!important;line-height:1;white-space:nowrap}
.sharedLoadBadge:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--load-colour,#526173)}
.practiceOverviewInput{flex:1;width:100%;min-height:112px;resize:vertical;border:0!important;background:#0d131a!important;padding:12px!important;color:#d7dee5!important;font-size:12px!important;line-height:1.45}
.sessionEquipmentSummary{display:flex;align-items:center;gap:12px;padding:8px 11px;border:1px solid #2d3945;background:#101720}
.sessionEquipmentSummary.isEmpty{display:none}
.sessionEquipmentSummary>span{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#8d9aaa}
.sessionEquipmentSummary>div{display:flex;gap:6px;flex-wrap:wrap}
.sessionEquipmentSummary b{border:1px solid #2c3947;background:#15202b;border-radius:999px;padding:4px 8px;font-size:10px;color:#dce4ec}
.sharedBlockMeta{grid-template-columns:minmax(120px,.65fr) minmax(170px,1fr) minmax(220px,1.2fr)!important}
.sharedLoadEditor>div{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:7px;align-items:center}
.sharedLoadEditor input[type="color"]{width:38px!important;height:32px!important;padding:2px!important;border:1px solid #31404d!important;background:#0d141c!important}
.blockPracticeOverview{display:flex;flex-direction:column;padding:12px 14px;border-top:1px solid #2d3945;background:#101720}
.blockPracticeOverview>span{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#8d9aaa;margin-bottom:7px}
.blockPracticeOverview textarea{min-height:88px;resize:vertical;background:#0d141c!important;border:1px solid #2d3945!important;color:#d8e0e8!important;line-height:1.45}
.blockSharedMeta{display:grid;grid-template-columns:minmax(110px,.7fr) minmax(150px,1fr) minmax(210px,1.35fr);gap:8px;padding:10px;border:1px solid #2d3945;background:#101720}
.blockSharedMeta>span,.blockSharedMeta>label{display:flex;flex-direction:column;justify-content:center;min-width:0}
.blockSharedMeta b{font-size:13px;color:#f5f7fa}
.blockSharedMeta small{font-size:9px;color:#8d9aaa;text-transform:uppercase;letter-spacing:.08em;font-weight:850;margin-top:3px}
.blockSharedMeta .sharedLoadEditor small{margin:0 0 5px}
.compactPresentMetrics{display:flex!important;align-items:center;gap:14px}
.compactPresentMetrics>span{width:auto!important;min-width:0!important}
.presentEditorTruth .sessionEquipmentSummary{display:flex}
.presentEditorTruth .sessionEquipmentSummary.isEmpty{display:none}
@media(max-width:1100px){.sharedBlockMeta,.sharedBlockMeta{grid-template-columns:1fr}.compactPracticeMeta{flex-wrap:wrap}}


/* PASS 27 — weekly present polish, compact tactical panel, resilient block linking */
.professionalWeeklyPresent{padding:30px 34px!important;overflow:hidden!important}
.professionalWeeklyPresent .weeklyPresentGrid{height:100%;gap:10px;align-items:stretch}
.professionalWeeklyPresent .weeklyPresentGrid>article{height:100%;min-height:0;padding:0!important;border-radius:0!important;background:#0f161e!important;display:flex;flex-direction:column;overflow:hidden}
.professionalWeeklyPresent .weeklyPresentDay{padding:15px 14px 12px;border-bottom:2px solid var(--accent,#1f6fa5);align-items:flex-start}
.professionalWeeklyPresent .weeklyPresentDay>div{min-width:0}
.professionalWeeklyPresent .weeklyPresentDay strong{font-size:15px;letter-spacing:.02em}
.professionalWeeklyPresent .weeklyPresentDay span{padding-top:2px;font-size:10px}
.professionalWeeklyPresent .weeklyPresentDay h2{min-height:0;margin:7px 0 0!important;font-size:11px!important;line-height:1.25;color:#8ebfe3!important}
.professionalWeeklyPresent .weeklyPresentItems{padding:10px;display:flex;flex-direction:column;gap:8px;min-height:0}
.professionalWeeklyPresent .weeklyPresentActivity{border:1px solid #2b3743;border-left:4px solid var(--activity-colour,#1f6fa5);background:#0b1118;padding:11px 10px 10px;min-height:72px}
.professionalWeeklyPresent .weeklyPresentActivityLine{display:grid!important;grid-template-columns:44px minmax(0,1fr);gap:8px;align-items:baseline}
.professionalWeeklyPresent .weeklyPresentActivityLine small{font-size:10px!important;font-weight:800;color:#9ba8b5!important}
.professionalWeeklyPresent .weeklyPresentActivityLine strong{font-size:13px!important;line-height:1.2;color:#f5f7fa!important}
.professionalWeeklyPresent .weeklyPresentActivity p{margin:8px 0 0 52px!important;padding:0!important;border:0!important;background:transparent!important;color:#aeb8c3!important;font-size:10px!important;line-height:1.35}
.pageType-block:not(.panelCollapsed) .rightPanel{overflow:hidden!important}
.pageType-block:not(.panelCollapsed) .rightPanel>#blockEditor,.pageType-block:not(.panelCollapsed) .rightPanel .blockEditorCard{height:100%;min-height:0}
.pageType-block:not(.panelCollapsed) .rightPanel .blockEditorCard{display:flex;flex-direction:column;overflow:hidden;padding:8px;margin:0}
.pageType-block:not(.panelCollapsed) .rightPanel .blockEditorCard>label:first-child{margin-bottom:6px}
.pageType-block:not(.panelCollapsed) .rightPanel .blockSharedMeta{grid-template-columns:.72fr 1fr!important;padding:7px;gap:6px}
.pageType-block:not(.panelCollapsed) .rightPanel .blockSharedMeta .sharedLoadEditor{grid-column:1/-1}
.pageType-block:not(.panelCollapsed) .rightPanel .blockSharedMeta .sharedLoadEditor>div{grid-template-columns:minmax(0,1fr) 34px}
.pageType-block:not(.panelCollapsed) .rightPanel .blockPracticeOverview{padding:8px 0;background:transparent;border-top:0}
.pageType-block:not(.panelCollapsed) .rightPanel .blockPracticeOverview textarea{min-height:58px;max-height:72px;resize:none}
.pageType-block:not(.panelCollapsed) .rightPanel .sectionEditorHeader{margin:4px 0 6px}
.pageType-block:not(.panelCollapsed) .rightPanel .sectionEditorList{flex:1;min-height:0;overflow:auto;padding-right:3px}
.pageType-block:not(.panelCollapsed) .rightPanel .blockPresentationSection{padding-top:6px;margin-top:6px}
.pageType-block:not(.panelCollapsed) .rightPanel .inspectorActions{margin-top:6px}

/* PASS 28 — session workflow completion */
.sessionAddItemBar{display:flex;justify-content:flex-end;gap:8px;align-items:center;margin-top:10px}
.sessionAddItemBar select{min-width:170px;background:#0d141c!important;border:1px solid #2d3945!important;color:#d8e0e8!important}
.sessionItemType{font-size:9px;font-style:normal;text-transform:uppercase;letter-spacing:.08em;color:#7f8d9b;white-space:nowrap}
.editablePracticeMeta{display:grid!important;grid-template-columns:92px minmax(120px,1fr) minmax(145px,190px);gap:8px;align-items:center}
.overviewDurationEditor{display:flex;align-items:center;gap:5px;border:1px solid #2d3945;border-radius:8px;background:#0d141c;padding:5px 8px}
.overviewDurationEditor input{width:42px!important;border:0!important;background:transparent!important;padding:0!important;font-weight:800!important;color:#f5f7fa!important}
.overviewDurationEditor b{font-size:10px;color:#8f9ba7}
.overviewLoadEditor{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:6px;align-items:center}
.overviewLoadEditor input[type="text"],.overviewLoadEditor input:not([type]){min-width:0}
.overviewLoadEditor input[type="color"]{width:32px!important;height:30px!important;padding:2px!important}
.practiceCardActions{display:flex;justify-content:flex-end;margin-top:8px}
.professionalOpenPractice.secondary{background:#17212b!important;color:#c5d0da!important;border:1px solid #2d3945!important}
.sharedDurationEditor>div{display:flex;align-items:center;gap:5px}
.sharedDurationEditor input{width:50px!important}
.sharedDurationEditor b{font-size:10px;color:#8f9ba7}
.pageType-block:not(.panelCollapsed) .rightPanel .blockEditorCard{display:flex;flex-direction:column;min-height:0}
.pageType-block:not(.panelCollapsed) .rightPanel .sectionEditorHeader{display:flex!important;flex:0 0 auto!important;visibility:visible!important}
.pageType-block:not(.panelCollapsed) .rightPanel .sectionEditorHeader [data-add-section]{display:inline-flex!important;visibility:visible!important}
.pageType-block:not(.panelCollapsed) .rightPanel .sectionEditorList{min-height:92px!important;max-height:220px!important;overflow:auto!important}
@media(max-width:900px){.editablePracticeMeta{grid-template-columns:1fr}.sessionItemType{display:none}}

/* PASS 40.1 — Weekly Overview schedule-card hierarchy */
.professionalWeekItem{
  border-left:4px solid var(--activity-colour,#1f6fa5)!important;
  padding:10px 10px 9px!important;
}
.professionalWeekHeader{
  display:grid;
  grid-template-columns:42px 6px minmax(0,1fr) 22px;
  align-items:baseline;
  gap:6px;
  min-width:0;
}
.professionalWeekTime,
.professionalWeekTitle{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  padding:0!important;
  color:#f5f7fa!important;
  line-height:1.2!important;
}
.professionalWeekTime{
  font-size:11px!important;
  font-weight:850!important;
  color:#a9b6c2!important;
  font-variant-numeric:tabular-nums;
}
.professionalWeekSeparator{
  color:#657484;
  font-size:11px;
  font-weight:850;
}
.professionalWeekTitle{
  font-size:13px!important;
  font-weight:900!important;
  overflow:hidden;
  text-overflow:ellipsis;
}
.professionalWeekDelete{
  position:static!important;
  align-self:start;
  width:22px;
  height:22px;
  padding:0!important;
  border:0!important;
  border-radius:5px!important;
  background:transparent!important;
  color:#73808d!important;
  font-size:15px!important;
  line-height:20px!important;
}
.professionalWeekDelete:hover{background:#202b36!important;color:#f5f7fa!important}
.professionalWeekNotes{
  display:block;
  width:100%!important;
  min-height:40px!important;
  margin:7px 0 0!important;
  padding:7px 0 0!important;
  border:0!important;
  border-top:1px solid #202b36!important;
  border-radius:0!important;
  background:transparent!important;
  color:#aeb8c3!important;
  font-size:11px!important;
  line-height:1.4!important;
  resize:vertical;
}
.professionalWeekFooter{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  min-height:18px;
  margin-top:4px;
}
.professionalWeekFooter label{
  display:flex;
  align-items:center;
  gap:5px;
  margin:0!important;
  color:#71808e;
  font-size:8px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.professionalWeekFooter input[type="color"]{
  width:18px!important;
  height:18px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:4px!important;
  background:transparent!important;
}
.presentEditorTruth .professionalWeekHeader{
  grid-template-columns:42px 6px minmax(0,1fr)!important;
}
.presentEditorTruth .professionalWeekDelete,
.presentEditorTruth .professionalWeekFooter{display:none!important}
.presentEditorTruth .professionalWeekNotes{
  min-height:0!important;
  height:auto!important;
  resize:none!important;
  overflow:visible!important;
}

/* PASS 40.3 — Weekly Overview card reset: full title, prominent colour, stable Present */
.professionalWeekItem{
  position:relative!important;
  overflow:hidden!important;
  display:block!important;
  min-width:0!important;
  border:1px solid color-mix(in srgb,var(--activity-colour,#1f6fa5) 55%,#2b3742)!important;
  border-left:8px solid var(--activity-colour,#1f6fa5)!important;
  border-radius:10px!important;
  padding:10px 10px 9px 11px!important;
  background:linear-gradient(105deg,color-mix(in srgb,var(--activity-colour,#1f6fa5) 17%,#0d141b) 0%,#0d141b 58%)!important;
  box-shadow:0 8px 20px rgba(0,0,0,.18)!important;
}
.professionalWeekItem:before{display:none!important}
.professionalWeekMetaRow{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  min-width:0!important;
  margin:0 0 5px!important;
}
.professionalWeekTime{
  display:block!important;
  flex:0 0 auto!important;
  width:58px!important;
  min-width:58px!important;
  max-width:58px!important;
  margin:0!important;
  padding:2px 7px!important;
  border:1px solid color-mix(in srgb,var(--activity-colour,#1f6fa5) 45%,#31404d)!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--activity-colour,#1f6fa5) 14%,#101820)!important;
  color:#b9c7d3!important;
  font-size:10px!important;
  font-weight:900!important;
  line-height:1.2!important;
  text-align:center!important;
  font-variant-numeric:tabular-nums!important;
}
.professionalWeekTitle{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0 1px 7px!important;
  border:0!important;
  border-bottom:1px solid color-mix(in srgb,var(--activity-colour,#1f6fa5) 28%,#27333e)!important;
  border-radius:0!important;
  background:transparent!important;
  color:#f7f9fb!important;
  font-size:13px!important;
  font-weight:950!important;
  line-height:1.25!important;
  letter-spacing:-.01em!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.professionalWeekTitle:focus,.professionalWeekTime:focus,.professionalWeekNotes:focus{
  outline:none!important;
  box-shadow:none!important;
}
.professionalWeekTitle:focus{border-bottom-color:var(--activity-colour,#1f6fa5)!important}
.professionalWeekDelete{
  position:static!important;
  flex:0 0 20px!important;
  width:20px!important;
  height:20px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:5px!important;
  background:transparent!important;
  color:#788592!important;
  font-size:14px!important;
  line-height:20px!important;
}
.professionalWeekDelete:hover{background:#24313c!important;color:#fff!important}
.professionalWeekNotes{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  min-height:38px!important;
  margin:6px 0 0!important;
  padding:3px 1px 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#aeb9c4!important;
  font-size:11px!important;
  line-height:1.4!important;
  resize:vertical!important;
  overflow-wrap:anywhere!important;
}
.professionalWeekFooter{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  margin-top:5px!important;
  min-height:20px!important;
}
.professionalWeekFooter label{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  margin:0!important;
  color:#81909d!important;
  font-size:7px!important;
  font-weight:900!important;
  letter-spacing:.1em!important;
}
.professionalWeekFooter input[type="color"]{
  width:34px!important;
  height:20px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid color-mix(in srgb,var(--activity-colour,#1f6fa5) 72%,#fff)!important;
  border-radius:6px!important;
  background:var(--activity-colour,#1f6fa5)!important;
  cursor:pointer!important;
}
.professionalWeekFooter input[type="color"]::-webkit-color-swatch-wrapper{padding:0!important}
.professionalWeekFooter input[type="color"]::-webkit-color-swatch{border:0!important;border-radius:5px!important}
.presentEditorTruth .professionalWeekItem{
  padding:11px 11px 10px 12px!important;
  border-left-width:8px!important;
}
.presentEditorTruth .professionalWeekMetaRow{margin-bottom:5px!important}
.presentEditorTruth .professionalWeekDelete,.presentEditorTruth .professionalWeekFooter{display:none!important}
.presentEditorTruth .professionalWeekTime{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  text-align:left!important;
}
.presentEditorTruth .professionalWeekTitle{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  color:#f7f9fb!important;
}
.presentEditorTruth .professionalWeekNotes{
  display:block!important;
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  resize:none!important;
  overflow:visible!important;
  color:#b9c4ce!important;
}

/* PASS 41 — Weekly Overview shared timeline */
.timelineWeekPage{padding:16px!important;overflow:hidden!important}
.weeklyTimelineBoard{height:100%;display:grid;grid-template-columns:72px repeat(7,minmax(0,1fr));grid-template-rows:58px repeat(var(--week-rows,6),minmax(78px,1fr));border:1px solid #2b3742;background:#0c1218;overflow:auto}
.weeklyTimelineCorner,.weeklyTimelineDay{position:sticky;top:0;z-index:4;background:#111820;border-bottom:1px solid #33404c}
.weeklyTimelineCorner{left:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:0 10px;border-right:1px solid #33404c;color:#718090;font-size:9px;font-weight:900;letter-spacing:.12em}
.weeklyTimelineCorner button{width:22px;height:22px;padding:0!important;border:1px solid #34414d!important;border-radius:5px!important;background:#17212b!important;color:#c7d0d9!important}
.weeklyTimelineDay{min-width:0;padding:9px 10px;border-right:1px solid #2b3742}
.weeklyTimelineDay>div{display:flex;align-items:center;justify-content:space-between;gap:5px;min-width:0}
.weeklyTimelineDay strong{font-size:12px;letter-spacing:.04em}
.weeklyTimelineDay input{min-width:0;width:56px!important;padding:0!important;border:0!important;background:transparent!important;color:#7e8c99!important;font-size:9px!important;text-align:right}
.weeklyTimelineDay .professionalDayTheme{display:block;width:100%!important;margin-top:5px!important;text-align:left!important;color:#8cb8da!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.weeklyTimelineRow{display:contents}
.weeklyTimeGutter{position:sticky;left:0;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;gap:4px;padding:9px 7px;background:#0f161d;border-right:1px solid #33404c;border-bottom:1px solid #24303b}
.weeklyTimeGutter input{width:48px!important;padding:0!important;border:0!important;background:transparent!important;color:#aab6c1!important;font-size:10px!important;font-weight:850!important;font-variant-numeric:tabular-nums}
.weeklyTimeGutter button{opacity:0;width:16px;height:16px;padding:0!important;border:0!important;background:transparent!important;color:#667481!important;font-size:13px!important}
.weeklyTimeGutter:hover button{opacity:1}
.weeklyTimelineCell{position:relative;min-width:0;padding:7px;border-right:1px solid #24303b;border-bottom:1px solid #24303b;background:#0d141b;transition:background .12s ease}
.weeklyTimelineCell.isDropTarget{background:#142331}
.weeklyCellGuide{position:absolute;left:0;right:0;top:0;border-top:1px solid rgba(154,174,192,.10);pointer-events:none}
.weeklyCellItems{display:flex;flex-direction:column;gap:6px;position:relative;z-index:1}
.weeklyTimelineBlock{position:relative;min-width:0;padding:8px 8px 7px 10px;border:1px solid #2d3945;border-left:4px solid var(--activity-colour,#1f6fa5);border-radius:5px;background:#101820;box-shadow:none;cursor:grab}
.weeklyTimelineBlock.isDragging{opacity:.45}
.weeklyBlockTop{display:grid;grid-template-columns:minmax(0,1fr) 18px;gap:4px;align-items:start}
.weeklyBlockTitle{min-width:0;width:100%!important;padding:0!important;border:0!important;background:transparent!important;color:#f4f7fa!important;font-size:11px!important;font-weight:850!important;line-height:1.2!important}
.weeklyBlockTop button{width:18px;height:18px;padding:0!important;border:0!important;background:transparent!important;color:#65727f!important;font-size:13px!important}
.weeklyBlockNotes{display:block;width:100%!important;min-height:25px!important;margin:4px 0 0!important;padding:4px 0 0!important;border:0!important;border-top:1px solid #202b35!important;border-radius:0!important;background:transparent!important;color:#aeb8c2!important;font-size:9px!important;line-height:1.3!important;resize:vertical}
.weeklyBlockFooter{display:flex;align-items:center;justify-content:space-between;margin-top:3px;color:#5f6d79;font-size:7px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.weeklyBlockFooter input[type=color]{width:14px!important;height:14px!important;padding:0!important;border:0!important;background:transparent!important}
.weeklyCellAdd{position:absolute;right:5px;bottom:4px;z-index:2;opacity:0;width:20px;height:20px;padding:0!important;border:1px solid #35424f!important;border-radius:5px!important;background:#16212b!important;color:#9eabb7!important}
.weeklyTimelineCell:hover .weeklyCellAdd{opacity:1}
.professionalWeeklyTimelinePresent{height:100%;padding:24px 28px!important;overflow:hidden!important;background:#0b0f14}
.weeklyTimelinePresentBoard{grid-template-rows:58px repeat(var(--week-rows,6),minmax(70px,1fr));overflow:hidden}
.weeklyTimelinePresentBoard .weeklyTimelineCorner,.weeklyTimelinePresentBoard .weeklyTimelineDay,.weeklyTimelinePresentBoard .weeklyTimeGutter{position:relative;top:auto;left:auto}
.weeklyTimelinePresentBoard .weeklyTimelineDay{display:flex;flex-direction:column;justify-content:center}
.weeklyTimelinePresentBoard .weeklyTimelineDay span{font-size:9px;color:#7f8c99}
.weeklyTimelinePresentBoard .weeklyTimelineDay h2{margin:5px 0 0;font-size:9px;color:#8cb8da;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.weeklyTimelinePresentBoard .weeklyTimeGutter strong{font-size:10px;color:#aab6c1;font-variant-numeric:tabular-nums}
.weeklyTimelinePresentBoard .weeklyTimelineCell{padding:6px}
.weeklyTimelinePresentBoard .weeklyTimelineBlock{cursor:default;padding:8px 8px 7px 10px}
.weeklyTimelinePresentBoard .weeklyTimelineBlock strong{display:block;font-size:11px;line-height:1.2;color:#f4f7fa}
.weeklyTimelinePresentBoard .weeklyTimelineBlock p{margin:5px 0 0;padding-top:5px;border-top:1px solid #202b35;color:#aeb8c2;font-size:9px;line-height:1.3}
@media(max-width:1100px){.weeklyTimelineBoard{grid-template-columns:64px repeat(7,minmax(145px,1fr))}}

/* PASS 42 — editable 08:00–15:00 timeline, insertable times, draggable duration */
.weeklyTimelineBoard{--timeline-row-height:82px;grid-template-rows:58px repeat(var(--week-rows,8),var(--timeline-row-height));overflow:auto}
.weeklyTimeGutter{position:sticky;overflow:visible;align-items:flex-start;padding:9px 6px}
.weeklyTimeGutter input{width:50px!important}
.weeklyInsertTime{position:absolute!important;left:50%!important;bottom:-10px!important;z-index:12!important;transform:translateX(-50%);opacity:0!important;width:20px!important;height:20px!important;border:1px solid #3b4a58!important;border-radius:50%!important;background:#16212b!important;color:#b9c5cf!important;font-size:13px!important;line-height:18px!important}
.weeklyTimeGutter:hover .weeklyInsertTime{opacity:1!important}
.weeklyRemoveTime{position:absolute!important;right:4px!important;top:7px!important}
.weeklyTimelineCell{overflow:visible}
.weeklyCellItems{height:100%;overflow:visible}
.weeklyTimelineBlock{z-index:5;height:calc((var(--duration-rows,1) * var(--timeline-row-height)) - 14px);min-height:68px;display:flex;flex-direction:column;overflow:hidden}
.weeklyTimelineBlock .weeklyBlockNotes{flex:1;min-height:0!important}
.weeklyResizeHandle{position:absolute!important;left:12px!important;right:6px!important;bottom:1px!important;width:auto!important;height:8px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;cursor:ns-resize!important}
.weeklyResizeHandle::after{content:"";position:absolute;left:35%;right:35%;bottom:2px;border-top:2px solid rgba(162,177,190,.42)}
.weeklyTimelineBlock:hover .weeklyResizeHandle::after{border-color:rgba(205,217,227,.72)}
.weeklyTimelinePresentBoard{--timeline-row-height:74px;grid-template-rows:58px repeat(var(--week-rows,8),var(--timeline-row-height));overflow:hidden}
.weeklyTimelinePresentBoard .weeklyTimelineBlock{height:calc((var(--duration-rows,1) * var(--timeline-row-height)) - 12px);min-height:62px;z-index:5;overflow:hidden}
.weeklyTimelinePresentBoard .weeklyTimelineCell{overflow:visible}
#presentationOverlay:has(.professionalWeeklyTimelinePresent){padding:0!important}
#presentationOverlay:has(.professionalWeeklyTimelinePresent) .presentationHeader,
#presentationOverlay:has(.professionalWeeklyTimelinePresent) .presentControls{display:none!important}
#presentationOverlay:has(.professionalWeeklyTimelinePresent) .presentationBody{height:100vh!important;padding:0!important;display:block!important}
#presentationOverlay:has(.professionalWeeklyTimelinePresent) .presentationStage,
#presentationOverlay:has(.professionalWeeklyTimelinePresent) .presentationCanvas{height:100%!important;max-height:none!important}
#presentationOverlay:has(.professionalWeeklyTimelinePresent) .professionalWeeklyTimelinePresent{height:100vh!important;padding:22px 26px!important}


/* PASS 43 — weekly timeline functional repair */
.weeklyTimelineBlock{cursor:default!important}
.weeklyTimelineBlock .weeklyBlockNotes{flex:0 0 25px!important;min-height:25px!important;height:25px!important;overflow:auto!important;pointer-events:auto!important}
.weeklyBlockFooter{min-height:18px;gap:6px}
.weeklyColourControl{display:flex;align-items:center;gap:4px;color:#71808d;font-size:7px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;pointer-events:auto}
.weeklyColourControl input[type="color"]{display:block!important;width:20px!important;height:18px!important;min-width:20px!important;padding:0!important;border:1px solid #40505e!important;border-radius:4px!important;background:transparent!important;cursor:pointer!important;pointer-events:auto!important}
.weeklyDragHandle{margin-left:auto!important;padding:0!important;border:0!important;background:transparent!important;color:#6f7d89!important;font-size:7px!important;font-weight:850!important;letter-spacing:.08em!important;text-transform:uppercase!important;cursor:grab!important;pointer-events:auto!important}
.weeklyDragHandle:active{cursor:grabbing!important}
.weeklyBlockTitle,.weeklyBlockNotes,.weeklyColourControl input{user-select:text;-webkit-user-drag:none}
#presentationOverlay.weeklyPresentActive #presenterToolbar,
#presentationOverlay.weeklyPresentActive .presentControls,
#presentationOverlay.weeklyPresentActive .presentationHeader,
#presentationOverlay.weeklyPresentActive #presenterAnnotationLayer,
#presentationOverlay.weeklyPresentActive #presenterPointer{display:none!important}
#presentationOverlay.weeklyPresentActive .presentationBody{height:100vh!important;padding:0!important;display:block!important}
#presentationOverlay.weeklyPresentActive #presentCanvas,
#presentationOverlay.weeklyPresentActive .presentSurface{height:100vh!important;max-height:none!important}

/* PASS 44 — verified Weekly Overview interaction + true static Present */
.weeklyTimelineBlock{
  padding:6px 7px 6px 9px!important;
  min-height:68px!important;
  overflow:visible!important;
}
.weeklyBlockTop{grid-template-columns:minmax(0,1fr) 16px!important;gap:3px!important}
.weeklyBlockTitle{
  height:18px!important;
  min-height:18px!important;
  line-height:18px!important;
  pointer-events:auto!important;
  position:relative!important;
  z-index:3!important;
}
.weeklyBlockNotes{
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  height:20px!important;
  min-height:20px!important;
  margin:2px 0 1px!important;
  padding:2px 0!important;
  overflow:auto!important;
  resize:none!important;
  pointer-events:auto!important;
  position:relative!important;
  z-index:3!important;
}
.weeklyBlockFooter{
  height:17px!important;
  min-height:17px!important;
  margin-top:0!important;
  position:relative!important;
  z-index:4!important;
}
.weeklyColourControl{height:17px!important;pointer-events:auto!important}
.weeklyColourControl input[type="color"]{
  appearance:auto!important;
  -webkit-appearance:auto!important;
  width:26px!important;
  min-width:26px!important;
  height:17px!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  position:relative!important;
  z-index:6!important;
}
.weeklyDragHandle{height:17px!important;line-height:17px!important;pointer-events:auto!important}
.weeklyResizeHandle{z-index:2!important}
.weeklyTimelinePresentBoard,.weeklyTimelinePresentBoard *{pointer-events:none!important;user-select:none!important}
#presentationOverlay.weeklyPresentActive #presenterToolbar,
#presentationOverlay.weeklyPresentActive .presenterToolbar,
#presentationOverlay.weeklyPresentActive .presentControls,
#presentationOverlay.weeklyPresentActive .presentationHeader,
#presentationOverlay.weeklyPresentActive #presenterAnnotationLayer,
#presentationOverlay.weeklyPresentActive #presenterPointer{display:none!important;visibility:hidden!important;pointer-events:none!important}


/* PASS 46 — continuous weekly timeline lanes */
.weeklyLanePage{height:100%;min-height:0;padding:14px;background:#0b1016;overflow:hidden}
.weeklyLaneBoard{height:100%;min-height:0;display:grid;grid-template-columns:74px repeat(7,minmax(150px,1fr));grid-template-rows:58px minmax(0,1fr);border:1px solid #293643;border-radius:14px;background:#0d141b;overflow:auto;position:relative}
.weeklyLaneCorner,.weeklyLaneDayHeader{position:sticky;top:0;z-index:20;background:#101820;border-bottom:1px solid #33404c;border-right:1px solid #293643}
.weeklyLaneCorner{left:0;z-index:24;padding:20px 10px;color:#7e8c99;font-size:9px;font-weight:900;letter-spacing:.12em}
.weeklyLaneDayHeader{padding:10px 10px 8px;min-width:0}
.weeklyLaneDayHeader>div{display:flex;align-items:center;justify-content:space-between;gap:6px}
.weeklyLaneDayHeader strong{font-size:12px;color:#f2f5f7}
.weeklyLaneDayHeader input{min-width:0;border:0!important;background:transparent!important;padding:1px 0!important;color:#83909c!important;font-size:9px!important}
.weeklyLaneDayHeader>div input{text-align:right}
.weeklyLaneDayHeader>[data-week-field="theme"]{width:100%;margin-top:5px;color:#7caed2!important;text-align:left!important}
.weeklyLaneTimes{grid-column:1;grid-row:2;position:sticky;left:0;z-index:15;background:#0f161d}
.weeklyLaneTime{position:relative;display:flex;align-items:flex-start;padding:9px 7px;border-right:1px solid #33404c;border-bottom:1px solid #26323d;box-sizing:border-box}
.weeklyLaneTime input{width:52px!important;padding:0!important;border:0!important;background:transparent!important;color:#aab6c1!important;font-size:10px!important;font-weight:850!important;font-variant-numeric:tabular-nums}
.weeklyLaneInsert,.weeklyLaneRemove{position:absolute!important;opacity:0;padding:0!important;border:1px solid #3a4855!important;background:#16212b!important;color:#aeb9c3!important}
.weeklyLaneInsert{left:50%;bottom:-10px;z-index:5;width:20px;height:20px;border-radius:50%!important;transform:translateX(-50%)}
.weeklyLaneRemove{right:4px;top:6px;width:16px;height:16px;border-radius:4px!important}
.weeklyLaneTime:hover .weeklyLaneInsert,.weeklyLaneTime:hover .weeklyLaneRemove{opacity:1}
.weeklyDayLane{grid-row:2;position:relative;min-width:0;background:#0d141b;border-right:1px solid #26323d}
.weeklyDayLane:nth-of-type(1){grid-column:2}.weeklyDayLane:nth-of-type(2){grid-column:3}.weeklyDayLane:nth-of-type(3){grid-column:4}.weeklyDayLane:nth-of-type(4){grid-column:5}.weeklyDayLane:nth-of-type(5){grid-column:6}.weeklyDayLane:nth-of-type(6){grid-column:7}.weeklyDayLane:nth-of-type(7){grid-column:8}
.weeklyLaneSlot{position:absolute;left:0;right:0;border-bottom:1px solid #26323d;box-sizing:border-box}
.weeklyLaneSlot::before{content:"";position:absolute;left:0;right:0;top:0;border-top:1px solid rgba(160,178,194,.06)}
.weeklyLaneAdd{position:absolute;right:5px;top:5px;opacity:0;width:20px;height:20px;padding:0!important;border:1px solid #35424f!important;border-radius:5px!important;background:#16212b!important;color:#9eabb7!important}
.weeklyLaneSlot:hover .weeklyLaneAdd{opacity:1}
.weeklyLaneActivities{position:absolute;inset:0;pointer-events:none}
.weeklyLaneActivity{position:absolute;left:6px;right:6px;z-index:8;display:flex;flex-direction:column;min-height:48px;padding:9px 9px 10px 12px;border:1px solid #33414e;border-left:4px solid var(--activity-colour,#1f6fa5);border-radius:8px;background:#111a23;box-shadow:0 5px 14px rgba(0,0,0,.18);overflow:hidden;pointer-events:auto}
.weeklyLaneActivity.isSelected,.weeklyLaneActivity:focus-within{border-color:#4e6274;box-shadow:0 0 0 1px rgba(85,139,180,.18),0 7px 18px rgba(0,0,0,.24)}
.weeklyActivityHeader{display:grid;grid-template-columns:minmax(0,1fr) 18px;gap:5px;align-items:center}
.weeklyActivityTitle{width:100%!important;min-width:0;padding:0!important;border:0!important;background:transparent!important;color:#f4f7fa!important;font-size:11px!important;font-weight:850!important;line-height:1.2!important}
.weeklyActivityDelete{opacity:0;width:18px;height:18px;padding:0!important;border:0!important;background:transparent!important;color:#8593a0!important;font-size:14px!important}
.weeklyLaneActivity:hover .weeklyActivityDelete,.weeklyLaneActivity.isSelected .weeklyActivityDelete,.weeklyLaneActivity:focus-within .weeklyActivityDelete{opacity:1}
.weeklyActivityNotes{flex:1;width:100%!important;min-height:24px!important;margin:5px 0 0!important;padding:5px 0 0!important;border:0!important;border-top:1px solid #27323c!important;border-radius:0!important;background:transparent!important;color:#aeb8c2!important;font-size:9px!important;line-height:1.35!important;resize:none!important}
.weeklyActivityFooter{display:flex;align-items:center;gap:7px;margin-top:5px;min-height:18px}
.weeklyActivityFooter small{margin-left:auto;color:#71808d;font-size:8px;font-weight:750}
.weeklyActivityColour{display:flex;align-items:center;cursor:pointer}.weeklyActivityColour input{width:20px!important;height:16px!important;padding:0!important;border:1px solid #52606d!important;border-radius:4px!important;background:transparent!important}.weeklyActivityColour span{display:none}
.weeklyActivityMove{opacity:0;padding:2px 7px!important;border:1px solid #354553!important;border-radius:5px!important;background:#17232d!important;color:#9ba9b5!important;font-size:8px!important;font-weight:800!important;text-transform:uppercase;cursor:grab!important}
.weeklyLaneActivity:hover .weeklyActivityMove,.weeklyLaneActivity.isSelected .weeklyActivityMove,.weeklyLaneActivity:focus-within .weeklyActivityMove{opacity:1}
.weeklyActivityResize{position:absolute!important;left:18px!important;right:8px!important;height:8px!important;padding:0!important;border:0!important;background:transparent!important;cursor:ns-resize!important;opacity:0}
.weeklyActivityResizeTop{top:0}.weeklyActivityResizeBottom{bottom:0}
.weeklyActivityResize::after{content:"";position:absolute;left:36%;right:36%;border-top:2px solid rgba(177,190,201,.55)}
.weeklyActivityResizeTop::after{top:2px}.weeklyActivityResizeBottom::after{bottom:2px}
.weeklyLaneActivity:hover .weeklyActivityResize,.weeklyLaneActivity.isSelected .weeklyActivityResize{opacity:1}
.weeklyLaneActivity.isInteracting{opacity:.72;z-index:30;user-select:none}
.weeklyLanePresent{height:100%;grid-template-rows:58px minmax(0,1fr);overflow:hidden}
.weeklyLanePresent .weeklyLaneDayHeader span{color:#7e8c99;font-size:9px}.weeklyLanePresent .weeklyLaneDayHeader h2{margin:5px 0 0;color:#7caed2;font-size:9px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.weeklyLanePresent .weeklyLaneTime strong{color:#aab6c1;font-size:10px}
.weeklyPresentActivity{padding:9px 10px 10px 12px;pointer-events:none}.weeklyPresentActivity strong{font-size:11px;color:#f4f7fa}.weeklyPresentActivity p{margin:6px 0 0;padding-top:6px;border-top:1px solid #27323c;color:#aeb8c2;font-size:9px;line-height:1.35;white-space:pre-wrap}
.weeklyLanePresent button,.weeklyLanePresent input,.weeklyLanePresent textarea{display:none!important}
@media(max-width:1100px){.weeklyLaneBoard{grid-template-columns:68px repeat(7,minmax(145px,1fr))}}


/* Weekly Overview responsive activity cards — isolated Pass 47 component layer */
.weeklyLaneActivity.duration-1{
  padding:5px 7px 5px 9px;
  border-radius:6px;
}
.weeklyLaneActivity.duration-1 .weeklyActivityHeader{
  grid-template-columns:minmax(0,1fr) 18px;
  gap:3px;
}
.weeklyLaneActivity.duration-1 .weeklyActivityTitle{
  font-size:10px!important;
  line-height:1.05!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityNotes{
  min-height:0!important;
  margin:2px 0 0!important;
  padding:2px 25px 0 0!important;
  border-top:0!important;
  font-size:8px!important;
  line-height:1.1!important;
  overflow:hidden!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityFooter{
  position:absolute;
  right:6px;
  bottom:5px;
  min-height:14px;
  margin:0;
  gap:0;
}
.weeklyLaneActivity.duration-1 .weeklyActivityColour input{
  width:18px!important;
  height:14px!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityFooter small{
  display:none!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityMove{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  width:100%!important;
  height:100%!important;
  padding:0!important;
  border:0!important;
  border-radius:inherit!important;
  background:transparent!important;
  font-size:0!important;
  opacity:0!important;
  cursor:grab!important;
}
.weeklyLaneActivity.duration-1:hover .weeklyActivityMove{
  opacity:1!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityTitle,
.weeklyLaneActivity.duration-1 .weeklyActivityNotes,
.weeklyLaneActivity.duration-1 .weeklyActivityColour,
.weeklyLaneActivity.duration-1 .weeklyActivityDelete,
.weeklyLaneActivity.duration-1 .weeklyActivityResize{
  position:relative;
  z-index:2;
}
.weeklyLaneActivity.duration-1 .weeklyActivityDelete{
  opacity:0!important;
  pointer-events:none;
}
.weeklyLaneActivity.duration-1.isSelected .weeklyActivityDelete,
.weeklyLaneActivity.duration-1:focus-within .weeklyActivityDelete{
  opacity:1!important;
  pointer-events:auto;
}
.weeklyLaneActivity.duration-1 .weeklyActivityResize{
  opacity:0!important;
}
.weeklyLaneActivity.duration-1:hover .weeklyActivityResize,
.weeklyLaneActivity.duration-1.isSelected .weeklyActivityResize{
  opacity:1!important;
}
.weeklyLaneActivity.duration-2{
  padding:8px 9px 8px 11px;
}
.weeklyLaneActivity.duration-2 .weeklyActivityNotes{
  min-height:20px!important;
  margin-top:4px!important;
  padding-top:4px!important;
}
.weeklyLaneActivity.duration-2 .weeklyActivityFooter{
  margin-top:4px;
}

/* Pass 48 — one-hour activity usability repair (component-only) */
.weeklyLaneActivity.duration-1{
  padding:6px 8px 6px 10px;
}
.weeklyLaneActivity.duration-1 .weeklyActivityHeader{
  position:relative;
  z-index:4;
}
.weeklyLaneActivity.duration-1 .weeklyActivityTitle{
  padding-right:2px!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityNotes{
  position:absolute!important;
  z-index:4!important;
  left:10px!important;
  right:34px!important;
  top:24px!important;
  bottom:5px!important;
  width:auto!important;
  min-height:18px!important;
  margin:0!important;
  padding:3px 4px!important;
  border:1px solid transparent!important;
  border-radius:4px!important;
  background:rgba(255,255,255,.015)!important;
  line-height:1.2!important;
  overflow:auto!important;
  pointer-events:auto!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityNotes:hover,
.weeklyLaneActivity.duration-1 .weeklyActivityNotes:focus{
  border-color:#34424f!important;
  background:#0e171f!important;
  outline:none!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityFooter{
  position:absolute!important;
  z-index:5!important;
  right:7px!important;
  bottom:6px!important;
  display:block!important;
  width:20px!important;
  height:18px!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityColour{
  position:relative!important;
  z-index:6!important;
  display:block!important;
  width:20px!important;
  height:18px!important;
  pointer-events:auto!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityColour input{
  display:block!important;
  width:20px!important;
  height:18px!important;
  min-width:20px!important;
  padding:0!important;
  cursor:pointer!important;
  pointer-events:auto!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityMove{
  position:absolute!important;
  z-index:6!important;
  left:7px!important;
  bottom:5px!important;
  inset:auto auto 5px 7px!important;
  width:18px!important;
  height:18px!important;
  padding:0!important;
  border:1px solid #354553!important;
  border-radius:4px!important;
  background:#17232d!important;
  font-size:0!important;
  opacity:0!important;
  cursor:grab!important;
  pointer-events:none!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityMove::after{
  content:"⋮⋮";
  display:block;
  color:#9ba9b5;
  font-size:10px;
  line-height:16px;
  letter-spacing:-3px;
  transform:rotate(90deg);
}
.weeklyLaneActivity.duration-1:hover .weeklyActivityMove,
.weeklyLaneActivity.duration-1.isSelected .weeklyActivityMove{
  opacity:1!important;
  pointer-events:auto!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityResize{
  z-index:7!important;
}

/* Pass 49 — compact activity interaction zones */
.weeklyLaneActivity.duration-1 .weeklyActivityTitle,
.weeklyLaneActivity.duration-1 .weeklyActivityNotes,
.weeklyLaneActivity.duration-1 .weeklyActivityColour,
.weeklyLaneActivity.duration-1 .weeklyActivityColour input{
  position:relative!important;
  z-index:12!important;
  pointer-events:auto!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityHeader{
  z-index:12!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityNotes{
  right:58px!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityFooter{
  right:7px!important;
  bottom:5px!important;
  z-index:12!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityMove{
  left:auto!important;
  right:32px!important;
  bottom:5px!important;
  z-index:13!important;
  opacity:0!important;
  pointer-events:none!important;
}
.weeklyLaneActivity.duration-1:hover .weeklyActivityMove{
  opacity:1!important;
  pointer-events:auto!important;
}
.weeklyLaneActivity.duration-1.isSelected .weeklyActivityMove,
.weeklyLaneActivity.duration-1:focus-within .weeklyActivityMove{
  opacity:0!important;
  pointer-events:none!important;
}
.weeklyLaneActivity.duration-1.isSelected:hover .weeklyActivityMove,
.weeklyLaneActivity.duration-1:focus-within:hover .weeklyActivityMove{
  opacity:1!important;
  pointer-events:auto!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityResize{
  left:42%!important;
  right:42%!important;
  width:auto!important;
  height:5px!important;
  z-index:14!important;
  opacity:0!important;
  pointer-events:none!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityResizeTop{top:0!important;}
.weeklyLaneActivity.duration-1 .weeklyActivityResizeBottom{bottom:0!important;}
.weeklyLaneActivity.duration-1:hover .weeklyActivityResize{
  opacity:1!important;
  pointer-events:auto!important;
}
.weeklyLaneActivity.duration-1.isSelected .weeklyActivityResize,
.weeklyLaneActivity.duration-1:focus-within .weeklyActivityResize{
  opacity:0!important;
  pointer-events:none!important;
}
.weeklyLaneActivity.duration-1.isSelected:hover .weeklyActivityResize,
.weeklyLaneActivity.duration-1:focus-within:hover .weeklyActivityResize{
  opacity:1!important;
  pointer-events:auto!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityResize::after{
  left:0!important;
  right:0!important;
}

/* PASS 51 — final authoritative one-hour activity layout */
.weeklyLaneActivity.duration-1{
  padding:6px 8px 6px 10px!important;
  overflow:hidden!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityHeader{
  position:relative!important;
  z-index:30!important;
  display:block!important;
  height:18px!important;
  padding:0 42px 0 0!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityTitle{
  position:relative!important;
  z-index:31!important;
  display:block!important;
  width:100%!important;
  height:18px!important;
  min-height:18px!important;
  padding:1px 2px!important;
  border:1px solid transparent!important;
  border-radius:4px!important;
  background:transparent!important;
  font-size:10px!important;
  line-height:14px!important;
  pointer-events:auto!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityTitle:hover,
.weeklyLaneActivity.duration-1 .weeklyActivityTitle:focus{
  border-color:#34424f!important;
  background:#0e171f!important;
  outline:none!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityNotes{
  position:absolute!important;
  z-index:30!important;
  left:10px!important;
  right:34px!important;
  top:25px!important;
  bottom:6px!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:2px 4px!important;
  border:1px solid transparent!important;
  border-radius:4px!important;
  background:rgba(255,255,255,.012)!important;
  font-size:8px!important;
  line-height:1.15!important;
  overflow:auto!important;
  resize:none!important;
  pointer-events:auto!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityNotes:hover,
.weeklyLaneActivity.duration-1 .weeklyActivityNotes:focus{
  border-color:#34424f!important;
  background:#0e171f!important;
  outline:none!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityFooter{
  position:absolute!important;
  z-index:34!important;
  right:7px!important;
  bottom:6px!important;
  display:block!important;
  width:20px!important;
  height:18px!important;
  min-height:18px!important;
  margin:0!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityColour,
.weeklyLaneActivity.duration-1 .weeklyActivityColour input{
  position:relative!important;
  z-index:35!important;
  display:block!important;
  width:20px!important;
  min-width:20px!important;
  height:18px!important;
  padding:0!important;
  margin:0!important;
  cursor:pointer!important;
  pointer-events:auto!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityFooter small{display:none!important;}
.weeklyLaneActivity.duration-1 .weeklyActivityMove{
  position:absolute!important;
  z-index:36!important;
  top:5px!important;
  right:6px!important;
  bottom:auto!important;
  left:auto!important;
  width:20px!important;
  height:18px!important;
  padding:0!important;
  border:0!important;
  border-radius:4px!important;
  background:#17232d!important;
  font-size:0!important;
  opacity:0!important;
  cursor:grab!important;
  pointer-events:none!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityMove::after{
  content:"•••"!important;
  display:block!important;
  color:#9ba9b5!important;
  font-size:10px!important;
  line-height:16px!important;
  letter-spacing:1px!important;
  transform:none!important;
}
.weeklyLaneActivity.duration-1:hover .weeklyActivityMove{
  opacity:1!important;
  pointer-events:auto!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityDelete{
  position:absolute!important;
  z-index:37!important;
  top:5px!important;
  right:29px!important;
  width:16px!important;
  height:18px!important;
  opacity:0!important;
  pointer-events:none!important;
}
.weeklyLaneActivity.duration-1.isSelected .weeklyActivityDelete,
.weeklyLaneActivity.duration-1:focus-within .weeklyActivityDelete{
  opacity:1!important;
  pointer-events:auto!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityResize{
  position:absolute!important;
  z-index:38!important;
  left:44%!important;
  right:44%!important;
  width:auto!important;
  height:4px!important;
  padding:0!important;
  opacity:0!important;
  pointer-events:none!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityResizeTop{top:0!important;bottom:auto!important;}
.weeklyLaneActivity.duration-1 .weeklyActivityResizeBottom{bottom:0!important;top:auto!important;}
.weeklyLaneActivity.duration-1:hover .weeklyActivityResize{
  opacity:1!important;
  pointer-events:auto!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityResize::after{
  left:0!important;
  right:0!important;
}

/* PASS 52 — isolated final interaction correction */
.weeklyLaneActivity.duration-1 > .weeklyActivityMove{
  position:absolute!important;
  z-index:45!important;
  top:5px!important;
  right:6px!important;
  bottom:auto!important;
  left:auto!important;
  width:20px!important;
  height:18px!important;
  margin:0!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityFooter > .weeklyActivityMove{display:none!important;}
.weeklyLaneActivity.duration-1 .weeklyActivityFooter{
  right:7px!important;
  bottom:6px!important;
  top:auto!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityColour,
.weeklyLaneActivity.duration-1 .weeklyActivityColour input{
  z-index:46!important;
  pointer-events:auto!important;
}
.weeklyLaneActivity.duration-1 .weeklyActivityNotes{
  top:23px!important;
}

/* PASS 53 — normal activity editor interaction repair */
.weeklyLaneActivity.duration-2,
.weeklyLaneActivity.duration-3{
  padding-top:9px!important;
}
.weeklyLaneActivity.duration-2 .weeklyActivityHeader,
.weeklyLaneActivity.duration-3 .weeklyActivityHeader{
  padding-right:48px!important;
}
.weeklyLaneActivity.duration-2 .weeklyActivityMove,
.weeklyLaneActivity.duration-3 .weeklyActivityMove{
  position:absolute!important;
  z-index:45!important;
  top:5px!important;
  right:6px!important;
  left:auto!important;
  bottom:auto!important;
  width:20px!important;
  height:18px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:4px!important;
  background:#17232d!important;
  font-size:0!important;
  opacity:0!important;
  pointer-events:none!important;
  cursor:grab!important;
}
.weeklyLaneActivity.duration-2 .weeklyActivityMove::after,
.weeklyLaneActivity.duration-3 .weeklyActivityMove::after{
  content:"•••"!important;
  display:block!important;
  color:#9ba9b5!important;
  font-size:10px!important;
  line-height:16px!important;
  letter-spacing:1px!important;
}
.weeklyLaneActivity.duration-2:hover .weeklyActivityMove,
.weeklyLaneActivity.duration-3:hover .weeklyActivityMove{
  opacity:1!important;
  pointer-events:auto!important;
}
.weeklyLaneActivity.duration-2 .weeklyActivityTitle,
.weeklyLaneActivity.duration-2 .weeklyActivityNotes,
.weeklyLaneActivity.duration-2 .weeklyActivityColour,
.weeklyLaneActivity.duration-2 .weeklyActivityColour input,
.weeklyLaneActivity.duration-3 .weeklyActivityTitle,
.weeklyLaneActivity.duration-3 .weeklyActivityNotes,
.weeklyLaneActivity.duration-3 .weeklyActivityColour,
.weeklyLaneActivity.duration-3 .weeklyActivityColour input{
  position:relative!important;
  z-index:30!important;
  pointer-events:auto!important;
}
.weeklyLaneActivity.duration-2 .weeklyActivityNotes,
.weeklyLaneActivity.duration-3 .weeklyActivityNotes{
  flex:1 1 auto!important;
  min-height:34px!important;
}
.weeklyLaneActivity.duration-2 .weeklyActivityDelete,
.weeklyLaneActivity.duration-3 .weeklyActivityDelete{
  position:absolute!important;
  z-index:46!important;
  top:5px!important;
  right:29px!important;
}
.weeklyLaneActivity.duration-2 .weeklyActivityResize,
.weeklyLaneActivity.duration-3 .weeklyActivityResize{
  opacity:0!important;
  pointer-events:none!important;
}
.weeklyLaneActivity.duration-2:hover .weeklyActivityResize,
.weeklyLaneActivity.duration-3:hover .weeklyActivityResize{
  opacity:1!important;
  pointer-events:auto!important;
}

/* PASS 54 — final one-hour title/notes spacing freeze */
.weeklyLaneActivity.duration-1 .weeklyActivityNotes{
  top:29px!important;
  bottom:10px!important;
}

/* PASS 55 — Session Overview UI restoration. Weekly Overview untouched. */
.restoredSessionOverview{padding:10px!important;gap:8px!important;overflow:hidden!important}
.restoredSessionHeader{display:grid;grid-template-columns:260px minmax(0,1fr);gap:8px;align-items:center}
.restoredSessionHeader input{height:34px;border:1px solid #15517c!important;background:#111d29!important;color:#f5f7fa!important;border-radius:7px;padding:0 10px!important;font-weight:800}
.restoredClubField{display:grid;grid-template-columns:34px minmax(0,1fr);gap:6px;align-items:center}
.restoredClubField>span{width:30px;height:30px;overflow:hidden;text-indent:-9999px;background:var(--accent,#167bc0);border-radius:6px}
.restoredSessionTitle{font-size:15px!important}
.restoredSessionMeta{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;border:1px solid #34424f;background:#111820;min-height:68px}
.restoredSessionMeta>label{padding:10px 12px;border-right:1px solid #2c3742;display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0}
.restoredSessionMeta>label:last-child{border-right:0}
.restoredSessionMeta span,.restoredSessionRail>label>span,.restoredPracticeMeta label>span{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#8998a7;font-weight:900}
.restoredSessionMeta input{height:23px;border:1px solid #14517c!important;background:#10202e!important;color:#dfe9f2!important;border-radius:12px;padding:0 8px!important;font-weight:800}
.restoredSessionMeta strong{font-size:13px;color:#f5f7fa}
.restoredSessionBody{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:10px;min-height:0;flex:1}
.restoredPracticeArea{min-width:0;min-height:0;display:flex;flex-direction:column}
.restoredPracticeGrid{min-height:0;overflow:auto;flex:1}
.restoredPracticeGrid>.sessionFlowList{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;align-content:start}
.restoredPracticeGrid .professionalPracticeCard{min-height:250px;height:250px;background:#111820;border:1px solid #34424f;display:flex;flex-direction:column;overflow:hidden}
.restoredPracticeGrid .professionalPracticeCard>header{height:46px;flex:0 0 46px;display:grid;grid-template-columns:36px minmax(0,1fr) 36px;background:#162432;border-bottom:1px solid #34424f}
.restoredPracticeGrid .professionalPracticeCard>header>span{background:#195b91;display:grid;place-items:center;font-weight:900}
.restoredPracticeGrid .professionalPracticeCard>header input{font-size:14px!important;font-weight:900!important;padding:8px!important}
.restoredPracticeGrid .studioBlockMenu{align-self:center;justify-self:center;position:relative}
.restoredPracticeGrid .studioBlockMenu summary{list-style:none;cursor:pointer;font-weight:900;font-size:16px}
.restoredPracticeMeta{height:54px;flex:0 0 54px;display:grid;grid-template-columns:1fr 1fr 1fr;border-bottom:1px solid #34424f}
.restoredPracticeMeta>label{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:7px 9px;border-right:1px solid #2c3742;min-width:0}
.restoredPracticeMeta>label:last-child{border-right:0}
.restoredPracticeMeta input:not([type=color]){width:48px;border:0!important;background:transparent!important;color:#e9eef3!important;padding:0!important;font-weight:900;text-transform:uppercase}
.restoredPracticeMeta strong,.restoredPracticeMeta b{font-size:11px;color:#dbe4ec;text-transform:uppercase;white-space:nowrap}
.restoredLoad{display:flex;align-items:center;gap:5px;min-width:0}.restoredLoad input:first-child{width:min(70px,100%)!important}.restoredLoad input[type=color]{width:24px;height:18px;padding:0;border:1px solid #27608a;background:#10202e;border-radius:4px}
.restoredPracticeGrid .practiceOverviewInput{flex:1;min-height:0!important;resize:none!important;border:1px solid #15517c!important;border-radius:7px!important;margin:6px!important;width:calc(100% - 12px)!important;padding:10px!important;background:#111f2c!important;color:#dbe4ec!important}
.restoredPracticeGrid .practiceCardActions{padding:0 7px 7px}.restoredPracticeGrid .professionalOpenPractice{width:100%;height:29px;padding:0!important}
.restoredSessionRail{display:grid;grid-template-rows:minmax(0,1fr) 150px auto;gap:10px;min-height:0}
.restoredSessionRail>label{border:1px solid #34424f;background:#111820;padding:10px;display:flex;flex-direction:column;gap:8px;min-height:0}
.restoredSessionRail textarea{flex:1;min-height:0;resize:none;border:1px solid #15517c!important;border-radius:8px;background:#111f2c!important;color:#dbe4ec!important;padding:10px!important;line-height:1.4}
.restoredSessionRail .sessionEquipmentSummary{margin:0;max-height:80px;overflow:auto}
.restoredAddRow{display:flex;gap:8px;align-items:center;padding-top:8px}.restoredAddRow select{height:30px;margin-left:auto}.restoredAddRow .professionalAddBlock{height:30px;padding:0 14px}
@media(max-width:1150px){.restoredSessionBody{grid-template-columns:minmax(0,1fr) 240px}.restoredPracticeGrid>.sessionFlowList{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.presentEditorTruth .restoredSessionHeader input,.presentEditorTruth .restoredSessionMeta input,.presentEditorTruth .restoredPracticeGrid input,.presentEditorTruth .restoredPracticeGrid textarea,.presentEditorTruth .restoredSessionRail textarea{pointer-events:none}
.presentEditorTruth .restoredAddRow,.presentEditorTruth .studioBlockMenu{display:none!important}

/* PASS 50 — Session Overview restoration. Weekly Overview intentionally untouched. */
.pageType-overview #rightPanel{display:none!important}
.pageType-overview .workspace{grid-template-columns:220px minmax(680px,1fr)!important}
.sessionOverviewRestoration{padding:28px;display:grid;gap:18px;align-content:start;min-height:100%}
.restoredSessionMetaFive{grid-template-columns:minmax(220px,1.6fr) repeat(4,minmax(120px,1fr))!important}
.sessionOverviewRestoration .restoredPracticeArea{display:grid;gap:18px;min-width:0}
.sessionOverviewRestoration .restoredPracticeGrid{width:100%}
.sessionOverviewRestoration .sessionFlowList{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.sessionOverviewRestoration .professionalPracticeCard{min-width:0;height:100%}
.sessionOverviewRestoration .professionalPracticeCard header{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:8px;align-items:center}
.blockOrderControls{display:flex;gap:5px}
.blockOrderControls button{padding:5px 8px;border-radius:7px;font-size:12px}
.blockOrderControls button:disabled{opacity:.25;cursor:not-allowed}
.sessionEquipmentFullWidth{width:100%;border:1px solid var(--line);background:#151a20;border-radius:16px;padding:18px;display:grid;gap:12px}
.sessionEquipmentFullWidth h2{margin:0;color:var(--accent);font-size:12px;text-transform:uppercase;letter-spacing:.15em}
.equipmentSummaryList{display:flex;gap:10px;flex-wrap:wrap}
.equipmentSummaryList>div{display:flex;align-items:center;gap:8px;background:#0f141a;border:1px solid var(--line);border-radius:10px;padding:9px 12px}
.equipmentSummaryList b{color:var(--accent);font-size:16px}.equipmentSummaryList span{font-weight:800;color:var(--text)}
.singleAddBlockRow{display:flex;justify-content:flex-start!important}
.singleAddBlockRow .professionalAddBlock{min-width:170px}
.nonTacticalBadge{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:8px 11px;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.createBlockDialog{position:fixed;inset:0;z-index:120;background:rgba(2,5,8,.76);display:grid;place-items:center;padding:24px}
.createBlockDialogCard{width:min(520px,100%);background:#11161c;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 30px 100px rgba(0,0,0,.6);display:grid;gap:12px}
.createBlockDialogCard header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:4px}
.createBlockDialogCard header span{color:var(--accent);font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.14em}
.createBlockDialogCard h2{margin:5px 0 0;font-size:24px}.createBlockDialogCard header button{padding:5px 9px;font-size:20px;background:transparent}
.createBlockChoice{text-align:left;background:#181e25;border-radius:14px;padding:16px;display:grid;gap:5px;white-space:normal}
.createBlockChoice strong{font-size:16px}.createBlockChoice span{color:var(--muted);font-size:12px;line-height:1.4}
@media(max-width:1180px){.sessionOverviewRestoration .sessionFlowList{grid-template-columns:repeat(2,minmax(0,1fr))}.restoredSessionMetaFive{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* PASS 51 — Session Overview highlighted layout corrections only. */
.sessionOverviewRestoration{gap:12px!important}
.sessionOverviewRestoration .restoredSessionHeader{display:none!important}
.sessionOverviewRestoration .restoredSessionMetaFive{
  grid-template-columns:minmax(280px,1.7fr) repeat(4,minmax(105px,1fr))!important;
}
.sessionOverviewRestoration .sessionObjectiveField input{
  width:100%!important;
  height:28px!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#f5f7fa!important;
  padding:0!important;
  font-size:13px!important;
  font-weight:900!important;
}
.sessionOverviewRestoration .restoredPracticeArea{gap:12px!important}
.sessionOverviewRestoration .sessionFlowList{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
}
.sessionOverviewRestoration .professionalPracticeCard{min-width:0!important}
.sessionOverviewRestoration .singleAddBlockRow{
  order:2;
  padding-top:0!important;
  margin-top:0!important;
}
.sessionOverviewRestoration .sessionEquipmentFullWidth{
  order:3;
  margin-top:6px!important;
}
@media(max-width:1380px){
  .sessionOverviewRestoration .sessionFlowList{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:1050px){
  .sessionOverviewRestoration .sessionFlowList{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* PASS 57 — Session Overview controlled layout reset.
   One authoritative layout replaces the accumulated Pass 52–56 overrides. */
.sessionOverviewRestoration{
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:100%;
  overflow:hidden;
  padding:18px;
  gap:10px;
}
.sessionOverviewRestoration .restoredSessionMetaFive{
  flex:0 0 68px;
  min-height:68px;
}
.sessionOverviewRestoration .restoredSessionMetaFive>label{
  padding:9px 12px;
}
.sessionOverviewRestoration .restoredPracticeArea{
  flex:1 1 0;
  min-height:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.sessionOverviewRestoration .restoredPracticeGrid{
  flex:1 1 0;
  min-height:0;
  overflow:hidden;
}
.sessionOverviewRestoration .sessionFlowList{
  height:100%;
  min-height:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-rows:repeat(var(--session-block-rows,1),minmax(0,1fr));
  gap:10px;
  align-items:stretch;
  align-content:stretch;
}
.sessionOverviewRestoration .professionalPracticeCard{
  min-width:0;
  min-height:0;
  height:100%;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:10px;
}
.sessionOverviewRestoration .professionalPracticeCard>header{
  flex:0 0 44px;
  min-height:44px;
  height:44px;
  display:grid;
  grid-template-columns:30px minmax(0,1fr) 36px;
  gap:6px;
  align-items:center;
}
.sessionOverviewRestoration .professionalPracticeCard>header input{
  width:100%;
  min-width:0;
  font-size:13px;
  padding:7px 8px;
}
.sessionOverviewRestoration .studioBlockMenu{
  justify-self:center;
  align-self:center;
}
.sessionOverviewRestoration .studioBlockMenu>div{
  min-width:142px;
}
.sessionOverviewRestoration .studioBlockMenu>div button{
  width:100%;
  text-align:left;
}
.sessionOverviewRestoration .restoredPracticeMeta{
  flex:0 0 56px;
  min-height:56px;
  height:56px;
}
.sessionOverviewRestoration .restoredPracticeMeta>label{
  padding:7px 9px;
}
.sessionOverviewRestoration .restoredPracticeMeta>label:nth-child(2){
  align-items:center;
  text-align:center;
}
.sessionOverviewRestoration .restoredPracticeMeta>label:nth-child(2) strong{
  width:100%;
  text-align:center;
}
.sessionOverviewRestoration .restoredLoad{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) 26px;
  gap:5px;
  align-items:center;
}
.sessionOverviewRestoration .restoredLoad input:first-child{
  width:100%;
  min-width:0;
}
.sessionOverviewRestoration .restoredLoad input[type=color]{
  width:26px;
  min-width:26px;
  height:26px;
  margin:0;
  padding:3px;
}
.sessionOverviewRestoration .practiceOverviewInput{
  flex:1 1 auto;
  min-height:0;
  width:calc(100% - 12px);
  margin:6px;
  padding:9px;
  resize:none;
}
.sessionOverviewRestoration .singleAddBlockRow{
  flex:0 0 34px;
  min-height:34px;
  height:34px;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
}
.sessionOverviewRestoration .singleAddBlockRow .professionalAddBlock{
  height:32px;
  min-width:156px;
  padding:0 14px;
}
.sessionOverviewRestoration .sessionEquipmentFullWidth{
  flex:0 0 38px;
  min-height:38px;
  height:38px;
  margin:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:12px;
  padding:4px 10px;
  overflow:hidden;
}
.sessionOverviewRestoration .sessionEquipmentFullWidth h2{
  margin:0;
  white-space:nowrap;
  font-size:9px;
  letter-spacing:.12em;
}
.sessionOverviewRestoration .sessionEquipmentSummary{
  min-width:0;
  overflow:hidden;
}
.sessionOverviewRestoration .equipmentSummaryList{
  display:flex;
  flex-wrap:nowrap;
  gap:6px;
  overflow-x:auto;
}
.sessionOverviewRestoration .equipmentSummaryList>div{
  flex:0 0 auto;
  padding:3px 7px;
  border-radius:7px;
}
.sessionOverviewRestoration .sessionEquipmentSummary.isEmpty p{
  margin:0;
  font-size:10px;
}
.sessionOverviewRestoration .studioEmptyState{
  grid-column:1/-1;
  grid-row:1/-1;
  place-self:center;
}

/* Present uses the same full-height row distribution. */
#presentationOverlay.truePresent .connectedOverviewPresent{
  height:100%;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
#presentationOverlay.truePresent .connectedOverviewPresent .studioPresentSummary{
  flex:0 0 auto;
}
#presentationOverlay.truePresent .connectedOverviewPresent .premiumWorkflowBody{
  flex:1 1 0;
  min-height:0;
  display:flex;
  flex-direction:column;
  gap:10px;
  overflow:hidden;
}
#presentationOverlay.truePresent .connectedOverviewPresent .premiumWorkflowBlockGrid{
  flex:1 1 0;
  min-height:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-rows:repeat(var(--session-block-rows,1),minmax(0,1fr));
  gap:10px;
  align-items:stretch;
  align-content:stretch;
}
#presentationOverlay.truePresent .connectedOverviewPresent .connectedPresentCard{
  min-width:0;
  min-height:0;
  height:100%;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
#presentationOverlay.truePresent .connectedOverviewPresent .connectedPresentCard>header{
  flex:0 0 46px;
  min-height:46px;
}
#presentationOverlay.truePresent .connectedOverviewPresent .compactPresentMetrics{
  flex:0 0 56px;
  min-height:56px;
}
#presentationOverlay.truePresent .connectedOverviewPresent .premiumWorkflowNotes{
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
}
#presentationOverlay.truePresent .connectedOverviewPresent .presentEquipmentFooter{
  flex:0 0 36px;
  min-height:36px;
  height:36px;
  margin:0;
  display:flex;
  align-items:center;
  gap:12px;
  padding:4px 10px;
  overflow:hidden;
}

@media(max-width:1180px){
  .sessionOverviewRestoration .sessionFlowList,
  #presentationOverlay.truePresent .connectedOverviewPresent .premiumWorkflowBlockGrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* PASS 59 — Session Overview panel + load-label regression repair. */
/* Restore normal panel mechanics on Session Overview. The Panel button now controls
   the third workspace column exactly as it does elsewhere. */
body.pageType-overview #rightPanel{display:block!important}
body.pageType-overview:not(.panelCollapsed) .workspace{grid-template-columns:220px minmax(680px,1fr) 360px!important}
body.pageType-overview.panelCollapsed .workspace{grid-template-columns:220px minmax(680px,1fr) 0!important}
body.pageType-overview:not(.panelCollapsed) #rightPanel{padding:14px!important;border-left:1px solid var(--line)!important;overflow:auto!important;background:var(--panel)!important}
body.pageType-overview.panelCollapsed #rightPanel{padding:0!important;border-left:0!important;overflow:hidden!important}
body.pageType-overview #pagePanel{display:block!important}
body.pageType-overview #sessionPanel,
body.pageType-overview #blockPanel{display:none!important}

/* Give Load enough horizontal room without changing card count or row distribution. */
.sessionOverviewRestoration .restoredPracticeMeta{grid-template-columns:.82fr 1fr 1.22fr!important}
.sessionOverviewRestoration .restoredPracticeMeta>label{min-width:0;padding-left:7px;padding-right:7px}
.sessionOverviewRestoration .restoredLoad{grid-template-columns:minmax(58px,1fr) 24px!important;gap:4px!important}
.sessionOverviewRestoration .restoredLoad input:first-child{font-size:9.5px!important;letter-spacing:-.01em;text-overflow:clip!important}
.sessionOverviewRestoration .restoredLoad input[type=color]{width:24px!important;min-width:24px!important;height:24px!important}


/* PASS 60 — restore direct Session Objective editing only. */
.sessionOverviewRestoration .sessionObjectiveField{
  position:relative!important;
  z-index:2!important;
  min-width:0!important;
}
.sessionOverviewRestoration .sessionObjectiveField #overviewObjective{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  position:relative!important;
  z-index:3!important;
  width:100%!important;
  min-width:0!important;
  height:28px!important;
  margin:0!important;
  padding:0 8px!important;
  border:1px solid #14517c!important;
  border-radius:10px!important;
  background:#10202e!important;
  color:#f5f7fa!important;
  font-size:13px!important;
  font-weight:800!important;
  cursor:text!important;
  user-select:text!important;
  -webkit-user-select:text!important;
}
.sessionOverviewRestoration .sessionObjectiveField #overviewObjective:focus{
  outline:none!important;
  border-color:var(--accent)!important;
  box-shadow:0 0 0 2px rgba(0,96,168,.18)!important;
}

/* PASS 61 — Squad board optimisation. Architecture and session sync retained. */
.squadBoardPage{
  min-height:100%!important;
  height:100%!important;
  padding:14px 16px 10px!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  gap:8px!important;
  overflow:hidden!important;
  background:#101419!important;
}
.squadHeader{
  display:grid!important;
  grid-template-columns:minmax(180px,1fr) auto!important;
  align-items:center!important;
  gap:14px!important;
  padding:0 2px 8px!important;
  border-bottom:1px solid var(--line)!important;
}
.squadTitleBlock{display:flex;align-items:baseline;gap:10px;min-width:0}
.squadHeader .availabilityTitle{
  width:auto!important;
  max-width:340px!important;
  height:32px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--text)!important;
  font-size:24px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:-.04em!important;
}
.squadCountLabel{color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}
.squadStatusLegend{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:7px!important;flex-wrap:nowrap!important}
.squadStatusLegend span{display:flex!important;align-items:center!important;gap:5px!important;padding:5px 8px!important;border:1px solid var(--line)!important;border-radius:999px!important;background:#151a20!important;color:#c5ccd5!important;font-size:9px!important;font-weight:850!important;white-space:nowrap!important}
.squadStatusLegend .statusDot{width:7px!important;height:7px!important;min-width:7px!important}
.squadBoardPage>.compactBlockLabels{display:none!important}
.compactSquadBoard{
  min-height:0!important;
  display:grid!important;
  grid-template-rows:repeat(4,minmax(0,1fr))!important;
  gap:4px!important;
  overflow:hidden!important;
  padding:0!important;
}
.compactGroup{
  min-height:0!important;
  display:grid!important;
  grid-template-rows:24px minmax(0,1fr)!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  overflow:hidden!important;
}
.compactGroup>header{
  min-height:24px!important;
  height:24px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  padding:0 2px!important;
  border:0!important;
  border-bottom:1px solid rgba(48,54,61,.72)!important;
  background:transparent!important;
}
.squadGroupTitle{display:flex;align-items:center;gap:7px}
.compactGroup>header strong{color:var(--accent)!important;font-size:10px!important;line-height:1!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.14em!important}
.compactGroup>header span{min-width:18px!important;height:17px!important;display:grid!important;place-items:center!important;border-radius:999px!important;background:#252c35!important;color:#cbd2db!important;font-size:9px!important;font-weight:900!important}
.squadGroupAdd{height:20px!important;padding:0 8px!important;border:0!important;background:transparent!important;color:var(--muted)!important;font-size:9px!important;font-weight:900!important;border-radius:6px!important}
.squadGroupAdd:hover{background:#182532!important;color:var(--accent)!important}
.compactSquadGrid{
  min-height:0!important;
  height:100%!important;
  display:grid!important;
  grid-template-columns:repeat(8,minmax(0,1fr))!important;
  grid-auto-rows:minmax(0,1fr)!important;
  align-items:stretch!important;
  align-content:stretch!important;
  justify-content:start!important;
  gap:6px!important;
  padding:5px 2px!important;
  overflow:hidden!important;
}
.squadTile{
  position:relative!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr)!important;
  grid-template-rows:1fr!important;
  gap:7px!important;
  padding:5px!important;
  border:1px solid #2d343d!important;
  border-left:3px solid var(--status-colour,#22c55e)!important;
  border-radius:10px!important;
  background:#151a20!important;
  overflow:hidden!important;
  box-shadow:none!important;
}
.squadTile.status-available{--status-colour:#22c55e}
.squadTile.status-modified{--status-colour:#eab308}
.squadTile.status-individual{--status-colour:#f97316}
.squadTile.status-unavailable{--status-colour:#ef4444;opacity:.72}
.squadTile:hover{border-color:#3b4652!important;box-shadow:0 8px 22px rgba(0,0,0,.2)!important}
.squadPhoto{
  width:52px!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  border:1px solid #36404b!important;
  border-radius:8px!important;
  background:#0d1116!important;
  overflow:hidden!important;
}
.squadPhoto>span:first-child{font-size:7px!important;letter-spacing:.1em!important;color:#77818d!important;font-weight:900!important}
.squadPhoto img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center top!important}
.squadPhoto .photoMini{left:4px!important;right:4px!important;bottom:3px!important;padding:2px 3px!important;border-radius:5px!important;background:rgba(8,11,15,.78)!important;color:#d7dde4!important;font-size:6px!important;line-height:1!important;opacity:0!important;transition:.15s!important}
.squadTile:hover .squadPhoto .photoMini{opacity:1!important}
.squadTileBody{
  min-width:0!important;
  height:100%!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:20px 22px 20px!important;
  align-content:center!important;
  gap:4px!important;
}
.squadNameRow{display:block!important;grid-column:auto!important}
.squadNameRow input{
  width:100%!important;
  height:20px!important;
  min-height:20px!important;
  margin:0!important;
  padding:0 3px!important;
  border:0!important;
  border-bottom:1px solid transparent!important;
  border-radius:0!important;
  background:transparent!important;
  color:#f4f6f8!important;
  font-size:10.5px!important;
  line-height:20px!important;
  font-weight:900!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.squadNameRow input:focus{border-bottom-color:var(--accent)!important;outline:0!important}
.squadNumberStatusRow{display:grid!important;grid-template-columns:24px minmax(0,1fr)!important;gap:4px!important;min-width:0!important}
.squadNumberStatusRow input,
.squadNumberStatusRow select{
  height:22px!important;
  min-height:22px!important;
  margin:0!important;
  padding:0 4px!important;
  border:1px solid #313944!important;
  border-radius:6px!important;
  background:#10151b!important;
  color:#cbd2da!important;
  font-size:8px!important;
  font-weight:850!important;
}
.squadNumberStatusRow select{width:100%!important;color:var(--status-colour)!important;text-transform:uppercase!important;letter-spacing:.02em!important}
.squadBlocks{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:2px!important;margin:0!important;grid-column:auto!important}
.squadBlocks .blockToggle{
  height:20px!important;
  min-height:20px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #343d47!important;
  border-radius:4px!important;
  background:#10151b!important;
  color:#77818d!important;
  font-size:8px!important;
  line-height:18px!important;
  font-weight:950!important;
}
.squadBlocks .blockToggle.on{border-color:color-mix(in srgb,var(--status-colour) 72%,#26303a)!important;background:color-mix(in srgb,var(--status-colour) 74%,#10151b)!important;color:#071009!important}
.squadHoverTools{position:absolute!important;z-index:4!important;top:4px!important;right:4px!important;display:flex!important;gap:3px!important;opacity:0!important;pointer-events:none!important;transition:.15s!important}
.squadTile:hover .squadHoverTools{opacity:1!important;pointer-events:auto!important}
.squadHoverTools input{width:42px!important;height:18px!important;margin:0!important;padding:0 3px!important;border:1px solid #394452!important;border-radius:5px!important;background:#0b1016!important;color:#d9dee5!important;font-size:7px!important;text-transform:uppercase!important}
.squadHoverTools button{width:18px!important;height:18px!important;padding:0!important;border-radius:5px!important;background:#31191b!important;border-color:#633033!important;color:#fecaca!important;font-size:11px!important;line-height:16px!important}
.squadTile .clearPhoto{display:none!important}
.emptyAvailability{align-self:center!important;padding:8px 10px!important;border:1px dashed #303841!important;border-radius:8px!important;color:#68727d!important;font-size:9px!important}
.squadTotals{
  min-height:44px!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr)) 10px repeat(4,minmax(0,1fr))!important;
  gap:5px!important;
  padding:5px!important;
  border:1px solid var(--line)!important;
  border-radius:10px!important;
  background:#11161c!important;
}
.squadTotals:before{content:"";grid-column:6;grid-row:1;border-left:1px solid #303740;margin:2px 4px}
.squadTotals div{min-width:0!important;padding:3px 7px!important;border:0!important;border-radius:7px!important;background:#171d24!important}
.squadTotals div:nth-child(n+6){grid-column:auto}
.squadTotals strong{display:block!important;color:var(--accent)!important;font-size:16px!important;line-height:1!important}
.squadTotals span{display:block!important;margin-top:3px!important;color:#8e98a4!important;font-size:7px!important;line-height:1!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.08em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

/* Presentation mirrors the clean squad board without edit-only controls. */
.presentAvailabilityPage.squadBoardPage{padding:14px 18px 10px!important}
.presentAvailabilityPage .squadHoverTools,
.presentAvailabilityPage .photoMini,
.presentAvailabilityPage .squadGroupAdd{display:none!important}
.presentAvailabilityPage .compactSquadGrid{grid-template-columns:repeat(8,minmax(0,1fr))!important;grid-auto-rows:minmax(0,1fr)!important}
.presentAvailabilityPage .squadTile{width:auto!important;height:100%!important;min-height:0!important;max-height:none!important;grid-template-columns:52px minmax(0,1fr)!important}
.presentAvailabilityPage .squadPhoto{width:52px!important;height:100%!important;min-height:0!important;max-height:none!important}

@media(max-width:1180px){
  .squadStatusLegend span{padding:5px 6px!important;font-size:8px!important}
  .compactSquadGrid{grid-template-columns:repeat(8,minmax(0,1fr))!important;gap:4px!important}
  .squadTile{grid-template-columns:44px minmax(0,1fr)!important;gap:5px!important;padding:4px!important}
  .squadPhoto{width:44px!important}
  .squadNameRow input{font-size:9.5px!important}
}


/* PASS 62 — Squad repair. Removes overlapping legacy controls and supports a full senior squad. */
.squadBoardPage{
  padding:12px 16px 9px!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  gap:7px!important;
}
.compactSquadBoard{
  display:block!important;
  min-height:0!important;
  overflow:auto!important;
  padding-right:3px!important;
}
.compactGroup{
  display:block!important;
  min-height:0!important;
  overflow:visible!important;
  margin:0 0 4px!important;
}
.compactGroup>header{
  height:23px!important;
  min-height:23px!important;
}
.compactSquadGrid{
  display:grid!important;
  grid-template-columns:repeat(10,minmax(0,1fr))!important;
  grid-auto-rows:112px!important;
  height:auto!important;
  min-height:0!important;
  align-items:stretch!important;
  align-content:start!important;
  gap:5px!important;
  padding:4px 2px 5px!important;
  overflow:visible!important;
}
.squadTile{
  position:relative!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:56px minmax(0,1fr)!important;
  width:auto!important;
  min-width:0!important;
  height:112px!important;
  min-height:112px!important;
  max-height:112px!important;
  gap:3px!important;
  padding:4px!important;
  overflow:hidden!important;
  border:1px solid #303944!important;
  border-top:3px solid var(--status-colour,#22c55e)!important;
  border-left:1px solid #303944!important;
  border-radius:9px!important;
  background:#151a20!important;
  box-shadow:none!important;
}
.squadTile:hover{border-color:#465463!important}
.squadPhoto{
  display:grid!important;
  width:100%!important;
  height:56px!important;
  min-height:56px!important;
  max-height:56px!important;
  margin:0!important;
  border:0!important;
  border-radius:6px!important;
  background:#0d1116!important;
  cursor:pointer!important;
}
.squadPhoto img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 22%!important}
.squadPhoto .photoMini{
  position:absolute!important;
  left:4px!important;
  right:4px!important;
  bottom:4px!important;
  opacity:0!important;
  pointer-events:none!important;
  padding:3px!important;
  font-size:7px!important;
}
.squadTile:hover .squadPhoto .photoMini{opacity:1!important;pointer-events:auto!important}
.squadTileBody{
  display:grid!important;
  grid-template-rows:18px 17px 17px!important;
  align-content:start!important;
  gap:2px!important;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
}
.squadNameRow,
.squadNumberStatusRow,
.squadBlocks{position:static!important;min-width:0!important}
.squadNameRow input{
  display:block!important;
  width:100%!important;
  height:18px!important;
  min-height:18px!important;
  margin:0!important;
  padding:0 2px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#f4f6f8!important;
  font-size:9px!important;
  line-height:18px!important;
  font-weight:900!important;
  text-align:center!important;
}
.squadNumberStatusRow{
  display:grid!important;
  grid-template-columns:22px minmax(0,1fr)!important;
  gap:2px!important;
}
.squadNumberStatusRow input,
.squadNumberStatusRow .compactStatusSelect{
  position:static!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:17px!important;
  min-height:17px!important;
  margin:0!important;
  padding:0 3px!important;
  opacity:1!important;
  border:1px solid #313944!important;
  border-radius:4px!important;
  background:#10151b!important;
  font-size:7px!important;
  line-height:15px!important;
  cursor:pointer!important;
}
.squadNumberStatusRow .compactStatusSelect{
  color:var(--status-colour)!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
.squadBlocks{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:2px!important;margin:0!important}
.squadBlocks .blockToggle{height:17px!important;min-height:17px!important;line-height:15px!important;font-size:7px!important;border-radius:4px!important}
.squadRemovePlayer{
  position:absolute!important;
  z-index:8!important;
  top:4px!important;
  right:4px!important;
  display:grid!important;
  place-items:center!important;
  width:17px!important;
  height:17px!important;
  padding:0!important;
  border-radius:5px!important;
  background:#351719!important;
  border:1px solid #6b3034!important;
  color:#fecaca!important;
  font-size:11px!important;
  line-height:1!important;
  opacity:0!important;
  pointer-events:none!important;
}
.squadTile:hover .squadRemovePlayer{opacity:1!important;pointer-events:auto!important}
.squadHoverTools,.squadHiddenPosition{display:none!important}
.squadTile .clearPhoto{display:none!important}
.squadTotals{min-height:40px!important;height:40px!important;padding:4px!important}
.squadTotals div{padding:2px 6px!important}
.squadTotals strong{font-size:14px!important}
.squadTotals span{font-size:6.5px!important}

/* Presentation follows the same clean card, but without controls. */
.presentAvailabilityPage .compactSquadBoard{overflow:hidden!important}
.presentAvailabilityPage .compactSquadGrid{grid-template-columns:repeat(10,minmax(0,1fr))!important;grid-auto-rows:112px!important}
.presentAvailabilityPage .squadTile{grid-template-columns:1fr!important;grid-template-rows:62px minmax(0,1fr)!important;height:112px!important;min-height:112px!important;max-height:112px!important}
.presentAvailabilityPage .squadPhoto{width:100%!important;height:62px!important;min-height:62px!important;max-height:62px!important}
.presentAvailabilityPage .squadTileBody{grid-template-rows:18px 16px 17px!important;gap:2px!important;text-align:center!important}
.presentAvailabilityPage .presentSquadName{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:9px!important;line-height:18px!important}
.presentAvailabilityPage .presentSquadStatus{color:var(--status-colour)!important;font-size:7px!important;line-height:16px!important;font-weight:850!important}

@media(max-width:1180px){
  .compactSquadGrid,.presentAvailabilityPage .compactSquadGrid{grid-template-columns:repeat(9,minmax(0,1fr))!important}
}

/* PASS 63 — Squad editor/presentation parity + photo positioning */
.compactSquadGrid,
.presentAvailabilityPage .compactSquadGrid{
  grid-template-columns:repeat(10,108px)!important;
  grid-auto-rows:112px!important;
  justify-content:start!important;
  align-content:start!important;
}
.squadTile,
.presentAvailabilityPage .squadTile{
  width:108px!important;
  min-width:108px!important;
  max-width:108px!important;
  height:112px!important;
  min-height:112px!important;
  max-height:112px!important;
  grid-template-columns:1fr!important;
  grid-template-rows:56px 49px!important;
}
.presentAvailabilityPage .squadPhoto,
.squadPhoto{
  width:100%!important;
  height:56px!important;
  min-height:56px!important;
  max-height:56px!important;
}
.presentAvailabilityPage .squadTileBody,
.squadTileBody{
  display:grid!important;
  grid-template-rows:18px 17px 17px!important;
  gap:2px!important;
  min-height:0!important;
  padding:0!important;
}
.presentNameRow{height:18px!important;min-height:18px!important;display:block!important;border:0!important;background:transparent!important}
.presentSquadName{display:block!important;width:100%!important;height:18px!important;padding:0 2px!important;color:#f4f6f8!important;font-size:9px!important;line-height:18px!important;font-weight:900!important;text-align:center!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.presentNumberStatusRow{display:grid!important;grid-template-columns:22px minmax(0,1fr)!important;gap:2px!important;height:17px!important}
.presentSquadNumber,.presentSquadStatus{display:block!important;height:17px!important;min-height:17px!important;padding:0 3px!important;border:1px solid #313944!important;border-radius:4px!important;background:#10151b!important;font-size:7px!important;line-height:15px!important;font-weight:850!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.presentSquadNumber{color:#cbd2da!important;text-align:center!important}
.presentSquadStatus{color:var(--status-colour)!important;text-align:left!important}
.photoPositionTools{position:absolute!important;z-index:10!important;left:4px!important;right:4px!important;top:4px!important;display:grid!important;gap:2px!important;padding:3px!important;border:1px solid #394452!important;border-radius:6px!important;background:rgba(7,10,14,.92)!important;opacity:0!important;pointer-events:none!important}
.squadTile:hover .photoPositionTools{opacity:1!important;pointer-events:auto!important}
.photoPositionTools label{display:grid!important;grid-template-columns:9px 1fr!important;align-items:center!important;gap:3px!important;margin:0!important;color:#b8c0ca!important;font-size:6px!important;line-height:1!important}
.photoPositionTools input[type=range]{width:100%!important;height:8px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important}
.squadPhoto .photoMini{z-index:11!important;left:auto!important;right:4px!important;bottom:4px!important;width:auto!important;padding:3px 5px!important;border:1px solid #394452!important;border-radius:5px!important;background:rgba(7,10,14,.9)!important;color:#d9dee5!important}
.presentAvailabilityPage .photoPositionTools,.presentAvailabilityPage .photoMini{display:none!important}
@media(max-width:1180px){
  .compactSquadGrid,.presentAvailabilityPage .compactSquadGrid{grid-template-columns:repeat(9,108px)!important}
}

/* PASS 64 — direct photo crop interaction */
.photoPositionTools{display:none!important}
.squadPhoto{position:relative!important;touch-action:none!important;user-select:none!important}
.squadPhoto img{transform-origin:center center!important;transition:transform .12s ease;pointer-events:none!important;user-select:none!important}
.squadTile:has(.squadPhoto img) .squadPhoto{cursor:grab!important}
.squadTile.photoEditing .squadPhoto{cursor:grabbing!important;box-shadow:inset 0 0 0 1px var(--accent)!important}
.photoEditBar{
  position:absolute!important;
  z-index:14!important;
  left:4px!important;
  right:4px!important;
  bottom:4px!important;
  height:18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  padding:2px!important;
  border:1px solid rgba(125,145,165,.5)!important;
  border-radius:6px!important;
  background:rgba(6,9,13,.9)!important;
  opacity:0!important;
  pointer-events:none!important;
  transform:translateY(3px)!important;
  transition:opacity .14s ease,transform .14s ease!important;
}
.squadTile.photoEditing .photoEditBar{
  opacity:1!important;
  pointer-events:auto!important;
  transform:translateY(0)!important;
}
.photoEditBar button{
  min-width:16px!important;
  height:13px!important;
  padding:0 3px!important;
  margin:0!important;
  border:0!important;
  border-radius:3px!important;
  background:#18202a!important;
  color:#e7ebef!important;
  font-size:6px!important;
  line-height:13px!important;
  font-weight:900!important;
  box-shadow:none!important;
}
.photoEditBar button[data-photo-reset]{min-width:25px!important}
.photoEditBar button[data-photo-done]{min-width:24px!important;background:var(--accent)!important;color:#fff!important}
.photoEditBar button:hover{background:#253141!important;color:#fff!important}
.squadTile.photoEditing .squadPhoto .photoMini{opacity:0!important;pointer-events:none!important}
.presentAvailabilityPage .photoEditBar{display:none!important}

/* PASS 65 — permanent squad name-tag lock across editor, slideshow and Present */
.squadNameRow,
.presentAvailabilityPage .presentNameRow{
  display:block!important;
  width:100%!important;
  height:18px!important;
  min-height:18px!important;
  overflow:hidden!important;
  border:1px solid #2b668d!important;
  border-radius:5px!important;
  background:#10202b!important;
}
.squadNameRow input{
  display:block!important;
  width:100%!important;
  height:16px!important;
  min-height:16px!important;
  margin:0!important;
  padding:0 4px!important;
  border:0!important;
  background:transparent!important;
  color:#f4f6f8!important;
  font-size:8.5px!important;
  line-height:16px!important;
  font-weight:900!important;
  text-align:center!important;
  text-transform:uppercase!important;
}
.squadNameRow input::placeholder{
  color:#7f94a5!important;
  opacity:1!important;
}
.presentAvailabilityPage .presentSquadName{
  display:block!important;
  width:100%!important;
  height:16px!important;
  min-height:16px!important;
  margin:0!important;
  padding:0 4px!important;
  color:#f4f6f8!important;
  font-size:8.5px!important;
  line-height:16px!important;
  font-weight:900!important;
  text-align:center!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}


/* PASS 66B — genuine static progressions, intact animation, scrolling sidebar */
.canvasToolbar{flex-wrap:wrap!important;align-items:center!important;gap:8px!important}
.canvasModeSwitch{display:flex;gap:4px;padding:3px;border:1px solid var(--line);border-radius:10px;background:#0c1219}
.canvasModeSwitch button{padding:7px 11px!important;border-radius:7px!important;background:transparent!important;color:var(--muted)!important}
.canvasModeSwitch button.active{background:var(--accent)!important;border-color:var(--accent)!important;color:#06111f!important}
.canvasModeControls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.canvasModeControls.hidden{display:none!important}
#timeline{align-items:center;gap:7px;overflow-x:auto;overflow-y:hidden;padding-bottom:4px}
#timeline .frameChip{appearance:none;white-space:nowrap;cursor:pointer}
#timeline .progressionChip:before{content:'◫';margin-right:6px;opacity:.72}
/* Pass 71: timeline modes are available on every supported canvas page. */
.rightPanel{min-height:0!important;max-height:100%!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;scrollbar-gutter:stable}
.rightPanel>#collapsePanelBtn{position:sticky;top:0;z-index:20;background:var(--panel)!important}
body.pageType-block #blockPanel{min-height:0!important}
body.pageType-block .blockEditorCard{min-height:0!important}
.premiumWorkflowOverviewCard{margin-bottom:14px}


/* PASS 67 — timeline entry choice, real block sidebar scroll, block information parity */
body:not(.animationHidden) #toggleTimelineBtn{border-color:var(--accent)!important;color:var(--accent)!important;background:#151d27!important}
.timelineWorkspace{display:flex;align-items:center;gap:8px;flex-wrap:wrap;width:100%}
.timelineWorkspace.hidden{display:none!important}
.timelineBackBtn{padding:7px 10px!important;background:transparent!important;color:var(--muted)!important}
.timelineChoice{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px;width:100%}
.timelineChoice.hidden{display:none!important}
.timelineChoiceCard{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:4px;padding:14px 16px!important;text-align:left!important;background:#101821!important;border:1px solid #2d3945!important}
.timelineChoiceCard strong{font-size:13px;color:#f5f7fa}
.timelineChoiceCard span{font-size:11px;color:var(--muted);font-weight:600;white-space:normal}
.timelineChoiceCard:hover{border-color:var(--accent)!important;background:#13202b!important}
#timeline.timelineChoiceActive{display:none!important}
/* Pass 71: tactical pages use the same Timeline controller as Session Blocks. */

body.pageType-block:not(.panelCollapsed) #rightPanel{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
body.pageType-block:not(.panelCollapsed) #rightPanel>#collapsePanelBtn{flex:0 0 auto!important;position:sticky!important;top:0!important;z-index:30!important}
body.pageType-block:not(.panelCollapsed) #blockPanel{display:block!important;flex:0 0 auto!important;height:auto!important;min-height:max-content!important;overflow:visible!important}
body.pageType-block:not(.panelCollapsed) #sessionBlocks{height:auto!important;min-height:max-content!important;overflow:visible!important}
body.pageType-block:not(.panelCollapsed) #sessionBlocks .blockEditorCard,
body.pageType-block:not(.panelCollapsed) #rightPanel .blockEditorCard{
  display:grid!important;
  height:auto!important;
  min-height:max-content!important;
  overflow:visible!important;
  padding:8px!important;
  margin:0!important;
}
body.pageType-block:not(.panelCollapsed) #rightPanel .sectionEditorList{min-height:0!important;max-height:none!important;overflow:visible!important}

/* PASS 68 — timeline controller, safe animation seed, split block sidebar */
body.pageType-block:not(.animationHidden) .canvasToolbar{
  position:relative!important;
  overflow:visible!important;
  z-index:40!important;
}
body.pageType-block .timelineChoice{
  position:absolute!important;
  left:50%!important;
  top:12px!important;
  transform:translateX(-50%)!important;
  width:min(620px,calc(100vw - 520px))!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  padding:14px!important;
  border:1px solid #2d3945!important;
  border-radius:16px!important;
  background:#0d141c!important;
  box-shadow:0 24px 70px rgba(0,0,0,.55)!important;
}
body.pageType-block .timelineChoice::before{
  content:'Choose Timeline Mode';
  grid-column:1/-1;
  color:#f5f7fa;
  font-size:14px;
  font-weight:900;
  margin-bottom:2px;
}
body.pageType-block .timelineChoiceCard{min-height:76px!important;justify-content:center!important}
body.pageType-block .timelineChoiceCard strong{font-size:15px!important}
body.pageType-block .timelineWorkspace{min-width:max-content!important;flex-wrap:nowrap!important}
body.pageType-block #progressionControls{flex-wrap:nowrap!important}

#blockSidebarTabs{display:none}
body.pageType-block:not(.panelCollapsed) #blockSidebarTabs{
  display:grid!important;
  grid-template-columns:1fr 1fr;
  gap:4px;
  position:sticky;
  top:43px;
  z-index:29;
  padding:4px;
  margin-bottom:10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel);
}
#blockSidebarTabs button{padding:8px 10px!important;background:transparent!important;color:var(--muted)!important}
#blockSidebarTabs button.active{background:#17304a!important;color:#f5f7fa!important;border-color:#245b87!important}
body.pageType-block:not(.panelCollapsed) #pagePanel,
body.pageType-block:not(.panelCollapsed) #sessionPanel{display:none!important}
body.pageType-block:not(.panelCollapsed) #objectPanel{display:none!important}
body.pageType-block:not(.panelCollapsed) #rightPanel.showObjectPanel #blockPanel{display:none!important}
body.pageType-block:not(.panelCollapsed) #rightPanel.showObjectPanel #objectPanel{display:block!important}
body.pageType-block:not(.panelCollapsed) #rightPanel:not(.showObjectPanel) #blockPanel{display:block!important}
body.pageType-block:not(.panelCollapsed) #blockPanel,
body.pageType-block:not(.panelCollapsed) #objectPanel{padding-bottom:10px!important;margin-bottom:0!important;border-bottom:0!important}
body.pageType-block:not(.panelCollapsed) #sessionBlocks .blockEditorCard{padding:10px!important}

.blockInformationPresentRebuild{
  height:auto!important;
  min-height:0!important;
  align-content:start!important;
  overflow:auto!important;
}
.blockInformationPresentRebuild .premiumWorkflowBody{min-height:0!important;height:auto!important;flex:0 0 auto!important}
.blockInformationPresentRebuild .premiumWorkflowInfoGrid{align-items:start!important;grid-auto-rows:auto!important}
.blockInformationPresentRebuild .premiumWorkflowInfoCard{min-height:0!important;height:auto!important}
.blockInformationPresentRebuild .premiumWorkflowInfoCard p{white-space:pre-wrap!important;line-height:1.45!important}


/* PASS 71 — shared Timeline toolbar host and progression parity */
.canvasToolbar{position:relative!important;min-height:52px!important;height:auto!important;overflow-x:auto!important;overflow-y:visible!important;flex-wrap:nowrap!important}
#timelineChoice,#timelineWorkspace{position:static!important;inset:auto!important;transform:none!important;margin:0!important;z-index:auto!important;flex:1 1 auto!important;min-width:0!important}
#timelineChoice{grid-template-columns:repeat(2,minmax(180px,1fr))!important;align-items:stretch!important}
#timelineWorkspace{flex-wrap:nowrap!important;overflow-x:auto!important}
#progressionControls,#animationControls{flex-wrap:nowrap!important;white-space:nowrap!important}
body:not(.animationHidden) .canvasToolbar{display:flex!important}

/* PASS 72 — forensic Timeline visual consistency and toolbar clearance */
/* The working Animation toolbar remains the single host. The choice screen now
   uses the same prominent presentation on every Timeline-capable canvas. */
.toolsTray{
  position:relative!important;
  z-index:60!important;
}
.canvasToolbar{
  z-index:20!important;
  margin-top:4px!important;
}

/* Remove the old Session-Block-only overlay behaviour completely. */
body.pageType-block:not(.animationHidden) .canvasToolbar{
  position:relative!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  z-index:20!important;
}

/* One identical, obvious Timeline choice view on blocks and tactical fields. */
.timelineChoice{
  position:static!important;
  left:auto!important;
  top:auto!important;
  transform:none!important;
  width:100%!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  padding:14px!important;
  border:1px solid #2d3945!important;
  border-radius:16px!important;
  background:#0d141c!important;
  box-shadow:none!important;
  gap:10px!important;
  overflow:visible!important;
}
.timelineChoice::before{
  content:'Choose Timeline Mode';
  grid-column:1/-1;
  color:#f5f7fa;
  font-size:14px;
  font-weight:900;
  margin-bottom:2px;
}
.timelineChoiceCard{
  min-height:76px!important;
  justify-content:center!important;
}
.timelineChoiceCard strong{font-size:15px!important}

/* Mode controls retain the existing Animation-toolbar footprint and never
   rise over the Tools row. */
.timelineWorkspace{
  position:static!important;
  min-width:max-content!important;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
}
#progressionControls,#animationControls{
  flex-wrap:nowrap!important;
  white-space:nowrap!important;
}

/* PASS 73 — restore the full Timeline choice cards without touching Pass 72 spacing */
/* A high-specificity compact-workspace rule was still forcing canvasToolbar to
   36px, clipping the heading, descriptions and card height. Expand only while
   the Timeline chooser is visible; mode toolbars retain their compact row. */
body:not(.presenting) .canvasToolbar:has(#timelineChoice:not(.hidden)){
  height:auto!important;
  min-height:138px!important;
  padding:10px 12px!important;
  align-items:stretch!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
}
body:not(.presenting) #timelineChoice:not(.hidden){
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:auto minmax(76px,1fr)!important;
  width:100%!important;
  min-height:116px!important;
  padding:12px 14px!important;
  gap:10px!important;
  align-items:stretch!important;
}
body:not(.presenting) #timelineChoice:not(.hidden)::before{
  display:block!important;
  content:'Choose Timeline Mode'!important;
  grid-column:1/-1!important;
  line-height:1.2!important;
}
body:not(.presenting) #timelineChoice:not(.hidden) .timelineChoiceCard{
  display:flex!important;
  min-height:76px!important;
  height:auto!important;
  padding:14px 16px!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:4px!important;
  overflow:visible!important;
}
body:not(.presenting) #timelineChoice:not(.hidden) .timelineChoiceCard span{
  display:block!important;
  white-space:normal!important;
  overflow:visible!important;
}

/* PASS 76 — coach-facing drawing controls */
#objectInspector .propertiesHeader strong{font-size:16px;letter-spacing:-.01em}
#objectInspector .propertyGroup{padding:12px 0;border-bottom:1px solid var(--line)}
#objectInspector .propertyGroup h3{margin:0 0 10px;color:var(--accent);font-size:11px;text-transform:uppercase;letter-spacing:.14em}
#objectInspector .coachRangeLabel{display:grid;grid-template-columns:1fr auto;gap:7px 10px;align-items:center;margin-top:12px}
#objectInspector .coachRangeLabel span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
#objectInspector .coachRangeLabel output{color:var(--text);font-size:12px;font-weight:900;min-width:42px;text-align:right}
#objectInspector .coachRangeLabel input[type=range]{grid-column:1/-1;margin:0;height:30px;padding:0;background:transparent;border:0;accent-color:var(--accent);cursor:pointer}
#objectInspector select{width:100%;margin-top:5px;background:#0b1220;color:var(--text);border:1px solid var(--line);border-radius:9px;padding:10px}
#objectInspector input[type=color]{cursor:pointer}

/* =========================================================
   PANEL OVERLAY ARCHITECTURE — STAGE 1
   Shared-shell only. Workspace dimensions remain invariant.
   ========================================================= */
body:not(.presenting) .workspace,
body.pageType-overview:not(.presenting) .workspace,
body.pageType-overview:not(.presenting):not(.panelCollapsed) .workspace,
body.pageType-overview:not(.presenting).panelCollapsed .workspace{
  position:relative!important;
  grid-template-columns:220px minmax(0,1fr)!important;
  transition:none!important;
}
body:not(.presenting) .canvasArea{grid-column:2!important;min-width:0!important;}
body:not(.presenting) #rightPanel,
body.pageType-overview:not(.presenting) #rightPanel{
  display:block!important;
  position:absolute!important;
  z-index:70!important;
  top:10px!important;
  right:10px!important;
  bottom:10px!important;
  width:min(360px,calc(100% - 20px))!important;
  height:auto!important;
  padding:14px!important;
  border:1px solid var(--line)!important;
  border-radius:16px!important;
  background:var(--panel)!important;
  box-shadow:0 28px 90px rgba(0,0,0,.58)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translateX(0)!important;
  transition:transform .22s ease,opacity .18s ease,visibility 0s linear 0s!important;
  will-change:transform!important;
}
body:not(.presenting).panelCollapsed #rightPanel,
body.pageType-overview:not(.presenting).panelCollapsed #rightPanel{
  display:block!important;
  padding:14px!important;
  border:1px solid var(--line)!important;
  overflow-y:auto!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateX(calc(100% + 24px))!important;
  transition:transform .22s ease,opacity .18s ease,visibility 0s linear .22s!important;
}
body:not(.presenting) #rightPanel>#collapsePanelBtn{position:sticky!important;top:0!important;z-index:30!important;}
@media(max-width:760px){
  body:not(.presenting) .workspace,
  body.pageType-overview:not(.presenting) .workspace{grid-template-columns:180px minmax(0,1fr)!important;}
  body:not(.presenting) #rightPanel{width:min(360px,calc(100% - 12px))!important;top:6px!important;right:6px!important;bottom:6px!important;}
}


/* =========================================================
   TACTICAL WORKSPACE ARCHITECTURE PASS
   Timeline navigation belongs to the shared top workspace.
   The locked floating Panel architecture above remains intact.
   ========================================================= */
#timeline.timelineStrip{
  display:flex!important;
  flex:1 1 auto!important;
  min-width:260px!important;
  width:auto!important;
  height:42px!important;
  min-height:42px!important;
  padding:0 2px!important;
  gap:6px!important;
  align-items:center!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  border:0!important;
  background:transparent!important;
  scrollbar-width:thin;
}
#timeline.timelineStrip .frameChip{
  flex:0 0 58px!important;
  width:58px!important;
  min-width:58px!important;
  max-width:58px!important;
  height:38px!important;
  min-height:38px!important;
  padding:4px 5px!important;
  border-radius:9px!important;
  background:#111820!important;
  border:1px solid #33404d!important;
  color:#cbd5df!important;
}
#timeline.timelineStrip .timelineNavChip{
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr)!important;
  align-items:center!important;
  gap:3px!important;
}
#timeline.timelineStrip .timelineChipIndex{
  display:grid;
  place-items:center;
  width:18px;
  height:24px;
  border-radius:6px;
  background:#202b36;
  color:#f4f7fa;
  font-size:11px;
  font-weight:900;
}
#timeline.timelineStrip .timelineChipLabel{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#b7c1cc;
  font-size:10px;
  font-weight:900;
  text-align:left;
}
#timeline.timelineStrip .frameChip.active{
  border-color:var(--accent)!important;
  background:#15324b!important;
  box-shadow:0 0 0 1px rgba(0,96,168,.35)!important;
}
#timeline.timelineStrip .frameChip.active .timelineChipIndex{
  background:var(--accent)!important;
  color:white!important;
}
#timeline.timelineStrip .frameChip.active .timelineChipLabel{color:white!important}
#timeline.timelineStrip .progressionChip:before{display:none!important}
#timeline.timelineStrip .addTimelineChip{
  flex:0 0 38px!important;
  width:38px!important;
  min-width:38px!important;
  max-width:38px!important;
  color:var(--accent)!important;
  font-size:20px!important;
  line-height:1!important;
}
.timelineWorkspace{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
  overflow:visible!important;
}
#progressionControls,#animationControls{
  flex:0 0 auto!important;
  flex-wrap:nowrap!important;
  overflow:visible!important;
}
.timelineSpeed{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  margin:0!important;
  white-space:nowrap!important;
}
.timelineSpeed select{
  width:70px!important;
  height:34px!important;
  margin:0!important;
  padding:5px 8px!important;
  border:1px solid var(--line)!important;
  border-radius:8px!important;
  background:#0b1220!important;
  color:var(--text)!important;
  font:inherit!important;
  font-size:11px!important;
  font-weight:800!important;
}
.timelineActions{position:relative;flex:0 0 auto;overflow:visible}
.timelineActions summary{
  list-style:none;
  border:1px solid var(--line);
  background:#222833;
  color:var(--text);
  padding:9px 12px;
  border-radius:9px;
  cursor:pointer;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.timelineActions summary::-webkit-details-marker{display:none}
.timelineActions[open] summary{border-color:var(--accent);color:var(--accent)}
.timelineActionsMenu{
  position:absolute;
  z-index:1200;
  top:calc(100% + 6px);
  right:0;
  display:flex;
  flex-direction:column;
  min-width:132px;
  gap:6px;
  padding:7px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#101720;
  box-shadow:0 16px 42px rgba(0,0,0,.45);
}
.timelineActionsMenu button{width:100%;padding:8px 10px!important;font-size:11px!important;text-align:left}
.canvasArea>#timeline{display:none!important}


/* =========================================================
   TACTICAL WORKSPACE NEAR-FINAL TOOLBAR CORRECTION
   Controls lead; generated pages/frames follow to the right.
   ========================================================= */
.timelineWorkspace{
  gap:6px!important;
  justify-content:flex-start!important;
  overflow:hidden!important;
}
.timelineBackBtn,
#progressionControls,
#animationControls{
  flex:0 0 auto!important;
}
#progressionControls,#animationControls{
  order:2!important;
  gap:6px!important;
}
.timelineBackBtn{order:1!important}
.timelineControlDivider{
  order:3!important;
  display:block!important;
  flex:0 0 1px!important;
  width:1px!important;
  height:28px!important;
  margin:0 8px!important;
  background:var(--line)!important;
}
#timeline.timelineStrip{
  order:4!important;
  flex:1 1 auto!important;
  min-width:0!important;
  justify-content:flex-start!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
}
#timeline.timelineStrip .frameChip{
  flex:0 0 92px!important;
  width:92px!important;
  min-width:92px!important;
  max-width:92px!important;
  height:38px!important;
  padding:4px 7px!important;
}
#timeline.timelineStrip .timelineNavChip{
  grid-template-columns:20px minmax(0,1fr)!important;
  gap:6px!important;
}
#timeline.timelineStrip .timelineChipIndex{
  width:20px!important;
  height:26px!important;
}
#timeline.timelineStrip .timelineChipLabel{
  overflow:visible!important;
  text-overflow:clip!important;
  font-size:11px!important;
}
#timeline.timelineStrip .addTimelineChip{
  flex:0 0 38px!important;
  width:38px!important;
  min-width:38px!important;
  max-width:38px!important;
}


/* Tactical workspace final pass — progression breadcrumb and Present isolation */
.fieldTitleBar.sharedCanvasIdentity .sharedCanvasIdentityText{
  display:flex;
  align-items:center;
  min-width:0;
  gap:12px;
}
.fieldTitleBar.sharedCanvasIdentity .sharedCanvasTitle{
  width:auto;
  flex:0 1 auto;
  min-width:80px;
}
.activeProgressionTitle{
  display:inline-flex;
  align-items:center;
  min-width:0;
  max-width:min(62vw,760px);
  color:var(--text);
  font-size:22px;
  font-weight:900;
  letter-spacing:-.03em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.activeProgressionTitle::before{
  content:'›';
  color:var(--muted);
  margin-right:12px;
  font-weight:700;
}
body:has(#presentationOverlay.truePresent:not(.hidden)) .toolsTray,
body:has(#presentationOverlay.truePresent:not(.hidden)) .canvasToolbar,
#presentationOverlay.truePresent .toolsTray,
#presentationOverlay.truePresent .canvasToolbar{
  display:none!important;
}
.timelineWorkspace .timelineStrip{margin-left:20px;}


/* Tactical workspace completion repair */
.fieldTitleBar.sharedCanvasIdentity{
  overflow:hidden!important;
}
.fieldTitleBar.sharedCanvasIdentity .sharedCanvasIdentityText{
  flex:1 1 auto!important;
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  flex-wrap:nowrap!important;
}
.fieldTitleBar.sharedCanvasIdentity .sharedCanvasTitle{
  flex:0 1 auto!important;
  min-width:80px!important;
  max-width:42%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.fieldTitleBar.sharedCanvasIdentity .activeProgressionTitle{
  flex:1 1 auto!important;
  max-width:none!important;
  min-width:0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#timeline.timelineStrip .timelineChipLabel{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#toggleTimelineBtn.hidden{display:none!important;}
body.atHome #canvasToolbar,
body.atHome #timelineChoice,
body.atHome #timelineWorkspace{display:none!important;}

/* Tactical workspace title-position repair
   Keep editor identity anchored to its original left position while allowing
   the active progression title to sit alongside the page title. Present is
   intentionally unchanged. */
body:not(:has(#presentationOverlay.truePresent:not(.hidden))) .fieldTitleBar.sharedCanvasIdentity .sharedCanvasIdentityText{
  justify-content:flex-start!important;
  justify-items:start!important;
  text-align:left!important;
}
body:not(:has(#presentationOverlay.truePresent:not(.hidden))) .fieldTitleBar.sharedCanvasIdentity .sharedCanvasHeader,
body:not(:has(#presentationOverlay.truePresent:not(.hidden))) .fieldTitleBar.sharedCanvasIdentity #fieldPageTitle.sharedCanvasTitle,
body:not(:has(#presentationOverlay.truePresent:not(.hidden))) .fieldTitleBar.sharedCanvasIdentity .activeProgressionTitle{
  margin-left:0!important;
  margin-right:0!important;
  text-align:left!important;
}
body:not(:has(#presentationOverlay.truePresent:not(.hidden))) .fieldTitleBar.sharedCanvasIdentity #fieldPageTitle.sharedCanvasTitle{
  width:auto!important;
  flex:0 0 auto!important;
}


/* =========================================================
   WORKSPACE SIMPLIFICATION PASS
   Editing modes stay left; Panel and Present are global controls.
   ========================================================= */
.flowOutput .panelAction{
  height:46px!important;
  min-width:104px!important;
  padding:0 15px!important;
  border-radius:14px!important;
  background:#151a20!important;
  color:#f5f7fa!important;
}
.flowOutput .panelAction:hover{border-color:var(--accent)!important;color:#f5f7fa!important;background:rgba(0,96,168,.12)!important}
body:not(.panelCollapsed) .flowOutput .panelAction{
  border-color:var(--accent)!important;
  background:var(--accentSoft)!important;
  color:#f5f7fa!important;
}
.insertPanel{padding-top:2px}
.panelInsertGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.panelInsertGrid .panelMediaUpload{grid-column:1/-1;text-align:center;display:block}
.insertPanel.tacticalInsertUnavailable .tacticalInsert{display:none!important}
.insertPanel.tacticalInsertUnavailable .panelMediaUpload{grid-column:1/-1}
@media(max-width:1120px){.flowOutput .panelAction{height:44px!important;min-width:92px!important;padding:0 12px!important}}
body:not(.presenting) #rightPanel #insertPanel{display:block!important}
body.pageType-cover #rightPanel #insertPanel,
body.pageType-sectionDivider #rightPanel #insertPanel{display:block!important}


/* PASS 77B — expanded tactical canvas on the clean interaction architecture.
   Konva is resized through its native stage scale so hit testing, dragging and
   selection remain active at every display size. */
body:not(.presenting) #pitchCanvas{
  min-height:0!important;
  padding:4px!important;
  place-items:center!important;
}
body:not(.presenting) #pitchCanvas>.konvajs-content{
  max-width:none!important;
  max-height:none!important;
}


/* UI CONSOLIDATION PASS */
:root{--uiAccent:#F5F7FA;--brandBlue:#0A6FB8;--accent:#F5F7FA!important;--accentSoft:rgba(245,247,250,.13)!important;--accentGlow:rgba(10,111,184,.30)!important;--accentHover:#FFFFFF!important;}
.primary,.presentAction{background:var(--brandBlue)!important;border-color:var(--brandBlue)!important;color:#fff!important;}
.homeKicker,.brandMark,.coverMetaInput{color:var(--brandBlue)!important;}
.projectMenuPanel{width:360px!important;max-height:calc(100vh - 92px)!important;overflow:auto!important;padding:14px!important;}
.projectSettingsBlock{display:grid;gap:10px;padding:4px 0 8px;}
.projectSettingsBlock h3{margin:0 0 2px;font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:#fff;}
.projectSettingsBlock label{margin:0;color:var(--muted);font-size:10px;}
.projectSettingsBlock input{margin-top:5px;padding:8px;}
.projectSettingsRow{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.projectToggleRow{display:flex!important;align-items:center;gap:8px;text-transform:none!important;letter-spacing:0!important;font-size:12px!important;}
.projectToggleRow input{width:auto;margin:0;}
.projectLogoUpload{display:block;text-align:center;margin:0;}
.pageSpecificSidebar .settingsSectionHead{margin-bottom:10px;}
.pageSpecificSidebar .settingsCard{margin-bottom:10px;}
.pageContentGrid{grid-template-columns:1fr 1fr!important;}
.pageContentGrid .pageContentUpload{grid-column:1/-1;text-align:center;}
.pageSpecificSidebar small{display:block;color:var(--muted);font-size:11px;line-height:1.4;margin-top:8px;}
#insertPanel{display:none!important;}
.panelSection h2,.propertyGroup h3,.settingsSectionHead span,.fieldEyebrow{color:#fff!important;}
button:hover,.fileBtn:hover,.toolBtn.active,.toolCategory.active,.pageCard.active .pageMeta strong{color:#fff!important;border-color:#fff!important;}
.pageCard.active,.frameChip.active,.workflowCard.active{border-color:#fff!important;box-shadow:0 0 0 1px rgba(255,255,255,.14)!important;}

/* SIDEBAR REPAIR PASS — clean accordion inspector */
.topbar{position:relative!important;z-index:300!important}
.projectMenu{position:relative!important;z-index:420!important}
.projectMenuPanel{z-index:430!important}
.projectMenu[open] .projectMenuPanel{display:grid!important;pointer-events:auto!important}
.projectMenu summary{pointer-events:auto!important;user-select:none!important}

/* The legacy insert row duplicated Content. Content now lives in the page inspector. */
#rightPanel>#insertPanel{display:none!important}

/* Keep page controls available on every editable page, including Cover and Divider. */
body:not(.presenting) #rightPanel #pagePanel{display:block!important}
body.pageType-cover #rightPanel #pagePanel,
body.pageType-sectionDivider #rightPanel #pagePanel,
body.pageType-block #rightPanel #pagePanel,
body.pageType-field #rightPanel #pagePanel{display:block!important}
body.pageType-cover #rightPanel #pagePanel>* ,
body.pageType-sectionDivider #rightPanel #pagePanel>* ,
body.pageType-block #rightPanel #pagePanel>* ,
body.pageType-field #rightPanel #pagePanel>*{display:block!important}
body.pageType-cover #rightPanel section.panelSection:not(#pagePanel):not(#objectPanel),
body.pageType-sectionDivider #rightPanel section.panelSection:not(#pagePanel):not(#objectPanel){display:none!important}

#pagePanel{padding:0!important;margin:0!important;border:0!important;background:transparent!important}
#pagePanel>:scope{box-sizing:border-box}

.sidebarAccordion,
#objectPanel.sidebarAccordion,
#blockPanel.sidebarAccordion{
  margin:0 0 9px!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:12px!important;
  background:#11161c!important;
  overflow:hidden!important;
}
.sidebarAccordionToggle{
  width:100%!important;
  min-height:44px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding:11px 13px!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:#171c23!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:850!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
  text-align:left!important;
}
.sidebarAccordionToggle:hover{background:#1d242d!important;border:0!important}
.sidebarAccordionChevron{font-size:15px!important;line-height:1!important;transition:transform .16s ease}
.sidebarAccordion.accordionOpen>.sidebarAccordionToggle .sidebarAccordionChevron{transform:rotate(180deg)}
.sidebarAccordionBody{display:none;padding:10px!important}
.sidebarAccordion.accordionOpen>.sidebarAccordionBody{display:block!important}
.sidebarAccordionBody>.settingsSectionHead:first-child,
.sidebarAccordionBody>.propertiesHeader:first-child,
.sidebarAccordionBody>h2:first-child{display:none!important}
.sidebarAccordionBody .settingsCard{margin:0 0 9px!important}
.sidebarAccordionBody .settingsCard:last-child,
.sidebarAccordionBody .propertyGroup:last-child{margin-bottom:0!important}

/* The selected item is always close to the top; no forced long panel scroll. */
#rightPanel{scroll-padding-top:62px!important}
#rightPanel>#collapsePanelBtn{position:sticky!important;top:0!important;z-index:40!important;margin-bottom:9px!important}
#pageSettingsSidebar{order:1}
#nativeTextProperties,#slideObjectSidebar,#insertedImageSidebar{order:2}
#pageContentSidebar{order:3}
#pagePanel{display:flex!important;flex-direction:column!important}

/* Existing dynamic Add Page groups: stronger hierarchy without duplicate labels. */
#addPageMenu{max-height:min(74vh,650px)!important;overflow:auto!important;padding:10px!important}
#addPageMenu .pageMenuGroupLabel{
  display:block!important;
  margin:13px 4px 6px!important;
  padding:11px 7px 6px!important;
  border-top:1px solid rgba(255,255,255,.13)!important;
  color:#a4adb8!important;
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}
#addPageMenu .pageMenuGroupLabel:first-child{margin-top:0!important;padding-top:3px!important;border-top:0!important}
#addPageMenu button{padding:9px 10px!important;margin:1px 0!important}

/* Cover native text and newly inserted text must initialise and remain inside the slide. */
.coverText{position:absolute!important;max-width:calc(100% - 48px)!important}
.coverText .nativeEditableText{min-width:0!important}
.coverText:focus-within,.coverText .nativeTextSelected{outline:1px solid rgba(255,255,255,.42)!important;outline-offset:7px!important}
.coverMoveHandle{cursor:move!important}


/* Workspace Consolidation 03 — single ownership, contextual panel, stable scrolling */
:root{
  --brand-blue:#0060A8;
  --ui-active:#F5F7FA;
  --ui-active-soft:rgba(245,247,250,.10);
  --ui-active-border:rgba(245,247,250,.34);
}
/* Project is the sole document settings surface; retired legacy/sidebar insert systems stay absent. */
#insertPanel,#sharedIdentitySidebar,.projectSettingsSidebar{display:none!important;}
/* One panel scroll owner. */
#rightPanel{
  height:calc(100vh - 68px)!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
#rightPanel>#collapsePanelBtn{position:sticky!important;top:0!important;z-index:40!important;flex:0 0 auto!important;background:var(--panel)!important;}
#rightPanel .panelSection,#rightPanel .sidebarAccordion,#rightPanel .sidebarAccordionBody{min-height:0!important;max-height:none!important;overflow:visible!important;}
body.pageType-block:not(.panelCollapsed) #rightPanel,
body.pageType-block:not(.panelCollapsed) #sessionBlocks,
body.pageType-block:not(.panelCollapsed) #rightPanel .blockEditorCard,
body.pageType-block:not(.panelCollapsed) #rightPanel .sectionEditorList{
  height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;flex:none!important;
}
/* Compact contextual hierarchy. */
#rightPanel .sidebarAccordion{margin:0 0 8px!important;padding:0!important;border:1px solid var(--line)!important;border-radius:12px!important;background:#11151A!important;}
#rightPanel .sidebarAccordionToggle{min-height:42px!important;padding:9px 11px!important;border:0!important;border-radius:11px!important;background:transparent!important;color:var(--text)!important;}
#rightPanel .sidebarAccordion.accordionOpen>.sidebarAccordionToggle{background:var(--ui-active-soft)!important;color:var(--ui-active)!important;}
#rightPanel .sidebarAccordionBody{padding:0 10px 10px!important;}
#rightPanel .settingsCard{padding:10px!important;margin:0!important;border-radius:10px!important;}
#rightPanel label{margin-bottom:8px!important;}
#rightPanel .colourGrid{gap:7px!important;}
#rightPanel .panelInsertGrid{gap:7px!important;}
/* Neutral interaction accent; blue remains branding/output. */
body:not(.presenting) .workspaceAction.active,
body:not(.presenting):not(.panelCollapsed) #togglePanelBtn,
.sidebarAccordion.accordionOpen>.sidebarAccordionToggle,
.blockSidebarTabs button.active,
.pageCard.active{
  color:var(--ui-active)!important;border-color:var(--ui-active-border)!important;
}
.primary,.presentAction{background:var(--brand-blue)!important;border-color:var(--brand-blue)!important;color:#fff!important;}
/* Grouped Add Page menu: headings own rows and buttons stay beneath them. */
#addPageMenu{display:flex!important;flex-direction:column!important;min-width:260px!important;}
#addPageMenu.hidden{display:none!important;}
#addPageMenu .pageMenuGroupLabel{display:block!important;width:100%!important;grid-column:auto!important;margin:9px 0 3px!important;padding:10px 8px 5px!important;border-top:1px solid var(--line)!important;color:var(--muted)!important;}
#addPageMenu .pageMenuGroupLabel:first-child{border-top:0!important;margin-top:0!important;}
#addPageMenu button[data-workflow-visible="true"]{display:block!important;width:100%!important;text-align:left!important;}

/* Recovery 05: explicit project-theme application feedback */
.projectApplyAll{width:100%;margin-top:8px;font-weight:700;background:#16283a;border-color:#2d4863;}
.projectApplyAll:hover{background:#1b3248;}
.projectSettingsStatus{min-height:18px;margin:6px 0 0;color:#aebdca;font-size:12px;}


/* PRESENT REPAIR 07 — clean present surface and preserve interactive layouts */
#presentationOverlay.truePresent{
  z-index:1000!important;
  cursor:auto!important;
}
#presentationOverlay.truePresent #presenterToolbar,
#presentationOverlay.truePresent #presenterAnnotationLayer{
  display:none!important;
}
#presentationOverlay.truePresent .presentSurface .splitPlayer,
#presentationOverlay.truePresent .presentSurface .presentSplitPlayer,
#presentationOverlay.truePresent .presentSurface .lineupMarker,
#presentationOverlay.truePresent .presentSurface .playerDisc{
  pointer-events:auto!important;
  touch-action:none!important;
}


/* PANEL REPLACEMENT 09 — one composition layer, existing controllers reconnected */
#rightPanel > .panelSection{margin:0!important;}
#rightPanel .panelStateInput{display:none!important;}
#rightPanel #pagePanel,#rightPanel #blockPanel,#rightPanel #objectPanel{min-width:0;}
#rightPanel #pagePanel > .sidebarAccordion,#rightPanel #pagePanel > .pageImageSidebar,#rightPanel #pagePanel > .propertiesSidebar{margin:0 0 10px!important;}
#rightPanel #pagePanel > .sidebarAccordion:last-child,#rightPanel #pagePanel > .pageImageSidebar:last-child{margin-bottom:0!important;}
#rightPanel #blockSidebarTabs{grid-template-columns:1fr 1fr;}
#rightPanel #blockPanel > h2,#rightPanel #objectPanel > h2{display:none!important;}
#rightPanel #blockPanel,#rightPanel #objectPanel,#rightPanel #pagePanel{background:transparent!important;border:0!important;padding:0!important;}
#rightPanel #sessionBlocks{margin:0!important;}
#presentationOverlay.truePresent #presenterToolbar{display:flex!important;}
#presentationOverlay.truePresent #presenterAnnotationLayer{display:block!important;}

/* PANEL INTERACTION 10 — restore proven Session Block workflow inside the replacement shell */
body:not(.presenting) #rightPanel,
body.pageType-block:not(.presenting):not(.panelCollapsed) #rightPanel{
  top:10px!important;
  right:10px!important;
  bottom:10px!important;
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch;
}
body.pageType-block:not(.presenting):not(.panelCollapsed) #blockSidebarTabs{
  position:sticky!important;
  top:47px!important;
  z-index:35!important;
  flex:0 0 auto!important;
  background:var(--panel)!important;
  padding:4px 0 8px!important;
}
body.pageType-block:not(.presenting):not(.panelCollapsed) #blockPanel,
body.pageType-block:not(.presenting):not(.panelCollapsed) #sessionBlocks,
body.pageType-block:not(.presenting):not(.panelCollapsed) #sessionBlocks .blockEditorCard,
body.pageType-block:not(.presenting):not(.panelCollapsed) #rightPanel .blockEditorCard,
body.pageType-block:not(.presenting):not(.panelCollapsed) #rightPanel .sectionEditorList{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  flex:0 0 auto!important;
}
body.pageType-block:not(.presenting):not(.panelCollapsed) #blockPanel{
  padding-bottom:18px!important;
}
body.pageType-block:not(.presenting):not(.panelCollapsed) .sectionEditorHeader,
body.pageType-block:not(.presenting):not(.panelCollapsed) .blockPresentationSection,
body.pageType-block:not(.presenting):not(.panelCollapsed) .inspectorActions{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
}
body.pageType-block:not(.presenting):not(.panelCollapsed) .blockPresentationSection{
  flex-direction:column!important;
}
body.pageType-block:not(.presenting):not(.panelCollapsed) .sectionEditRow{
  display:block!important;
  visibility:visible!important;
}

/* GLOBAL TEXT ENGINE 11 — shared resize and typography behaviour */
.coverText,.dividerTextStack{position:relative!important;min-width:18%!important;max-width:96%!important;}
.coverText .nativeEditableText,.dividerTextStack .nativeEditableText{width:100%!important;min-width:0!important;box-sizing:border-box!important;}
.nativeTextWidthHandle{
  position:absolute!important;
  right:-9px!important;
  top:50%!important;
  width:18px!important;
  height:44px!important;
  min-width:0!important;
  padding:0!important;
  margin:0!important;
  transform:translateY(-50%)!important;
  border:1px solid rgba(245,247,250,.62)!important;
  border-radius:8px!important;
  background:#111820!important;
  box-shadow:0 5px 18px rgba(0,0,0,.35)!important;
  cursor:ew-resize!important;
  z-index:30!important;
}
.nativeTextWidthHandle::after{content:'⋮';display:grid;place-items:center;height:100%;color:#f5f7fa;font-size:16px;line-height:1;}
.dividerTextStack{margin-inline:auto!important;}
#presentationOverlay .nativeTextWidthHandle,.presentSurface .nativeTextWidthHandle{display:none!important;}
#rightPanel .formatButtonRow{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
#rightPanel .formatButtonRow button{min-width:0!important;padding:8px 5px!important;}
.slideText,.slideTextBox{white-space:pre-wrap;overflow:hidden;word-break:break-word;}

/* GLOBAL TEXT COMPLETION 11.2 */
.nativeTextWidthHandle{
  right:2px!important;
  pointer-events:auto!important;
  touch-action:none!important;
  user-select:none!important;
}
.coverText,.dividerTextStack{overflow:visible!important;}
#rightPanel.showObjectPanel #objectPanel{display:block!important;}
#rightPanel .propertiesHeader:empty{display:none!important;}


/* GLOBAL TEXT / PANEL FINAL 11.3 */
.coverMoveHandle{display:none!important;}
.propertiesHeaderActions{display:flex!important;justify-content:flex-end!important;min-height:0!important;margin:0 0 8px!important;}
#objectPanel>h2{display:none!important;}
#tacticalInsertSidebar{margin-top:12px!important;}
#tacticalInsertSidebar .sidebarAccordionBody{padding-top:8px!important;}
.coverText .nativeTextWidthHandle,.dividerTextStack .nativeTextWidthHandle{
  display:block!important;right:-10px!important;top:50%!important;visibility:visible!important;opacity:1!important;
}


/* PASS 11.4 — Cover and Divider are true blank composition canvases. */
.compositionPage{position:relative;width:100%;height:100%;min-height:100%;overflow:hidden;background:var(--slide-bg,#080b0f);}
.coverCompositionPage,.dividerCompositionPage{border:0!important;box-shadow:none!important;}
.coverCompositionPage::before,.coverCompositionPage::after,.dividerCompositionPage::before,.dividerCompositionPage::after{content:none!important;display:none!important;}
body.pageType-cover .coverText,body.pageType-cover .coverControls,body.pageType-cover .coverImageShade,body.pageType-cover .coverImageStage,
body.pageType-sectionDivider .dividerTextStack,body.pageType-sectionDivider .dividerControls,body.pageType-sectionDivider .dividerImageShade,body.pageType-sectionDivider .dividerImageStage{display:none!important;}
.studioInlineTextEditor{box-sizing:border-box!important;margin:0!important;}


/* PASS 11.6 — composition canvas reconnection */
body.pageType-cover:not(.presenting) #pitchCanvas,
body.pageType-sectionDivider:not(.presenting) #pitchCanvas{
  flex:1 1 auto!important;
  min-height:0!important;
  margin:22px!important;
  padding:14px!important;
  border:1px solid var(--line)!important;
  border-radius:18px!important;
  background:#101419!important;
  box-shadow:0 22px 70px rgba(0,0,0,.35)!important;
  overflow:hidden!important;
}
body.pageType-cover:not(.presenting) #pitchCanvas>.konvajs-content,
body.pageType-sectionDivider:not(.presenting) #pitchCanvas>.konvajs-content{
  max-width:100%!important;
  max-height:100%!important;
  box-shadow:none!important;
}
body.pageType-cover #rightPanel #objectPanel,
body.pageType-sectionDivider #rightPanel #objectPanel{
  display:none!important;
}
body.pageType-cover #rightPanel.showObjectPanel #objectPanel,
body.pageType-sectionDivider #rightPanel.showObjectPanel #objectPanel{
  display:block!important;
  margin-top:0!important;
  padding:0!important;
}
body.pageType-cover #rightPanel.showObjectPanel #pagePanel,
body.pageType-sectionDivider #rightPanel.showObjectPanel #pagePanel{
  display:block!important;
}
body.pageType-cover #pagePanel #slideObjectSidebar,
body.pageType-sectionDivider #pagePanel #slideObjectSidebar{
  display:none!important;
}


/* PASS 13.3 — Cover / Divider use the maximum full Present canvas.
   The 820 × 500 stage is scaled proportionally into the full overlay content box.
   Header and annotation controls intentionally overlay the slide. */
#presentationOverlay.truePresent.compositionPresentActive{
  position:fixed!important;
  overflow:hidden!important;
}
#presentationOverlay.truePresent.compositionPresentActive #presentTimeline{display:none!important;}
#presentationOverlay.truePresent.compositionPresentActive .presentationBody{
  position:static!important;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
}
#presentationOverlay.truePresent.compositionPresentActive #presentCanvas{
  position:absolute!important;
  inset:22px!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  z-index:0!important;
}
#presentationOverlay.truePresent.compositionPresentActive #presentCanvas>.konvajs-content{
  width:min(calc(100vw - 44px),calc((100vh - 44px) * 1.64))!important;
  height:min(calc(100vh - 44px),calc((100vw - 44px) / 1.64))!important;
  max-width:none!important;
  max-height:none!important;
  flex:0 0 auto!important;
  aspect-ratio:820/500!important;
  transform:none!important;
  transform-origin:center center!important;
}
#presentationOverlay.truePresent.compositionPresentActive #presentCanvas>.konvajs-content>canvas{
  width:100%!important;
  height:100%!important;
}
#presentationOverlay.truePresent.compositionPresentActive .presentationHeader,
#presentationOverlay.truePresent.compositionPresentActive #presenterToolbar,
#presentationOverlay.truePresent.compositionPresentActive #presenterAnnotationLayer{
  position:relative;
  z-index:3!important;
}

/* PASS 78.1 — Cover / Divider true full-bleed Present surfaces.
   Composition owns the full viewport; shared project identity layers above it. */
#presentationOverlay.truePresent.compositionPresentActive .presentationBody{
  position:absolute!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  display:block!important;
}
#presentationOverlay.truePresent.compositionPresentActive .presentationBody>div:first-child{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
}
#presentationOverlay.truePresent.compositionPresentActive #presentSurface{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  z-index:0!important;
}
#presentationOverlay.truePresent.compositionPresentActive #presentCanvas{
  display:none!important;
}
#presentationOverlay.truePresent.compositionPresentActive .presentExactCover,
#presentationOverlay.truePresent.compositionPresentActive .presentExactDivider,
#presentationOverlay.truePresent.compositionPresentActive .sharedPageShell,
#presentationOverlay.truePresent.compositionPresentActive .sharedPageContent{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden!important;
}
#presentationOverlay.truePresent.compositionPresentActive .sharedPageIdentity,
#presentationOverlay.truePresent.compositionPresentActive .sharedPageFooter,
#presentationOverlay.truePresent.compositionPresentActive .universalSlideHeader,
#presentationOverlay.truePresent.compositionPresentActive .universalSlideFooter,
#presentationOverlay.truePresent.compositionPresentActive .universalPageTitle,
#presentationOverlay.truePresent.compositionPresentActive .universalSlideLogo{
  position:absolute!important;
  z-index:60!important;
}


/* PASS 78.2 — Composition correction.
   Cover/divider stay on the real 820 × 500 canvas so inserted objects survive Present.
   The canvas uses the full available width without distorting its native aspect ratio. */
#presentationOverlay.truePresent.compositionPresentActive #presentSurface{
  display:none!important;
}
#presentationOverlay.truePresent.compositionPresentActive #presentCanvas{
  position:absolute!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  z-index:0!important;
}
#presentationOverlay.truePresent.compositionPresentActive #presentCanvas>.konvajs-content{
  width:min(100vw,calc(100vh * 1.64))!important;
  height:min(100vh,calc(100vw / 1.64))!important;
  aspect-ratio:820/500!important;
  max-width:none!important;
  max-height:none!important;
  transform:none!important;
  flex:0 0 auto!important;
}
#presentationOverlay.truePresent.compositionPresentActive #presentCanvas>.konvajs-content>canvas{
  width:100%!important;
  height:100%!important;
}
/* The broken base changed the fixed presenter dock to normal document flow. */
#presentationOverlay.truePresent.compositionPresentActive #presenterToolbar{
  position:fixed!important;
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:24px!important;
  transform:translateX(-50%)!important;
  z-index:90!important;
}
#presentationOverlay.truePresent.compositionPresentActive #presenterAnnotationLayer{
  position:fixed!important;
  inset:0!important;
  z-index:78!important;
}
#presentationOverlay.truePresent.compositionPresentActive .presentationHeader{
  position:fixed!important;
  inset:0 0 auto 0!important;
  z-index:80!important;
}


/* PASS 78.3 — Full-width composition editor + manual properties panel.
   Cover/divider scale from workspace width rather than available height.
   Any excess height remains reachable by vertical scrolling. */
body.pageType-cover:not(.presenting) #pitchCanvas,
body.pageType-sectionDivider:not(.presenting) #pitchCanvas{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
}
body.pageType-cover:not(.presenting) #pitchCanvas>.konvajs-content,
body.pageType-sectionDivider:not(.presenting) #pitchCanvas>.konvajs-content{
  flex:0 0 auto!important;
  width:100%!important;
  max-width:none!important;
  max-height:none!important;
}


/* PASS 78.5 — Final composition editor repair.
   Cover/divider own the complete editor workspace width. The floating panel
   overlays the slide rather than defining its right edge. */
body.pageType-cover:not(.presenting) .canvasArea,
body.pageType-sectionDivider:not(.presenting) .canvasArea{
  overflow:hidden!important;
}
body.pageType-cover:not(.presenting) #pitchCanvas,
body.pageType-sectionDivider:not(.presenting) #pitchCanvas{
  width:100%!important;
  max-width:none!important;
  padding:0!important;
  margin:0!important;
  justify-content:flex-start!important;
  align-items:flex-start!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
}
body.pageType-cover:not(.presenting) #pitchCanvas>.konvajs-content,
body.pageType-sectionDivider:not(.presenting) #pitchCanvas>.konvajs-content{
  width:100%!important;
  min-width:100%!important;
  max-width:none!important;
  margin:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
/* Keep the selected object context visible whenever Panel is already open,
   while selection itself remains forbidden from auto-opening Panel. */
body.pageType-cover:not(.panelCollapsed) #rightPanel.showObjectPanel #objectPanel,
body.pageType-sectionDivider:not(.panelCollapsed) #rightPanel.showObjectPanel #objectPanel{
  display:block!important;
}


/* Final composition interaction repair: selected canvas text must remain
   draggable when it overlaps an inserted DOM image. The image remains visible;
   only its hit target is temporarily disabled until canvas selection clears. */
body.compositionTextSelected.pageType-cover .pageInsertedImageStage,
body.compositionTextSelected.pageType-sectionDivider .pageInsertedImageStage{
  pointer-events:none!important;
}

/* PASS 78.7 — Composition Present is width-first full bleed.
   Cover/divider always span the complete viewport width. Native 820:500
   proportions are preserved; only vertical overflow is cropped on taller screens. */
#presentationOverlay.truePresent.compositionPresentActive #presentCanvas{
  position:absolute!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
#presentationOverlay.truePresent.compositionPresentActive #presentCanvas>.konvajs-content{
  flex:0 0 auto!important;
  width:100vw!important;
  min-width:100vw!important;
  max-width:none!important;
  height:calc(100vw * 500 / 820)!important;
  min-height:calc(100vw * 500 / 820)!important;
  max-height:none!important;
  aspect-ratio:820/500!important;
  transform:none!important;
  margin:0!important;
}
#presentationOverlay.truePresent.compositionPresentActive #presentCanvas>.konvajs-content>canvas{
  width:100%!important;
  height:100%!important;
}


/* PASS 77 — Cover/Divider lock pass */
.compositionGuideBar{position:absolute;top:10px;right:16px;z-index:60;background:rgba(8,11,15,.86);border:1px solid var(--line);border-radius:10px;padding:7px 10px;box-shadow:0 12px 30px rgba(0,0,0,.28)}
.compositionGuideBar label{margin:0;display:flex;align-items:center;gap:7px;font-size:11px;color:var(--text);text-transform:none;letter-spacing:0}
.compositionGuideBar input{width:auto;margin:0}
#objCropMode.active{border-color:var(--accent);color:var(--accent)}


/* PASS 77.2 — Cover/Divider corrections. */
#presentationOverlay.truePresent.compositionPresentActive .presentationHeader{
  border-bottom:0!important;
}

/* PASS 77.3 — Cover/Divider Present identity correction.
   The visible rule belongs to the canvas identity overlay, not the hidden
   presentation header. Remove it only for full-bleed composition pages. */
#presentationOverlay.truePresent.compositionPresentActive .presentCanvasIdentity{
  border-bottom:0!important;
}


/* Notes rich text + split workspace final pass */
.cleanNotesPage{grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;overflow:hidden}
.richNotesEditor{min-height:0;height:100%;overflow:auto;background:#111821;border:1px solid var(--line);border-radius:14px;padding:24px;font-size:20px;line-height:1.5;color:var(--slide-text,#F5F7FA);outline:none;white-space:pre-wrap;word-break:break-word}
.richNotesEditor:focus{border-color:var(--accent);box-shadow:0 0 0 1px rgba(31,78,121,.28)}
.richNotesEditor:empty:before{content:attr(data-placeholder);color:var(--muted);pointer-events:none}
.richNotesEditor ul,.richNotesEditor ol,.presentRichNotes ul,.presentRichNotes ol{padding-left:1.5em}
.notesInspectorHint{font-size:12px;line-height:1.45;color:var(--muted);margin:0 0 14px}
.notesListRow{grid-template-columns:1fr 1fr}
.presentNotesPage{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}
.presentRichNotes{font-size:24px;line-height:1.55;color:var(--text);white-space:pre-wrap;overflow:auto;padding-right:12px}
.presentRichNotes p{margin:.4em 0}.presentRichNotes div{min-height:1em}
.mediaPage.layout-split,.pageSurface .mediaPage{grid-template-rows:minmax(0,1fr)!important;padding:16px!important}
.mediaPage .pageLayoutBar{display:none!important}
.mediaPage .mediaCanvas,#presentationOverlay.truePresent .presentSurface .mediaPage .mediaCanvas,#presentationOverlay.truePresent .presentSurface .presentMediaPage .mediaCanvas{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;width:100%!important;height:100%!important;min-height:0!important}
.mediaPage .splitPanel,.presentMediaPage .presentMediaPanel{width:100%!important;min-width:0!important;min-height:0!important}
.mediaPage .mediaPanel,.presentMediaPage .presentMediaPanel{width:100%!important;height:100%!important;min-height:0!important}
#presentationOverlay.truePresent .presentSurface .presentMediaPage{grid-template-rows:minmax(0,1fr)!important;padding:18px!important}
#presentationOverlay.truePresent .presentSurface .presentMediaTitle{display:none!important}


/* NOTES RICH TEXT REPAIR — native selection, visible defaults, sidebar range editing */
.richNotesEditor{
  color:var(--slide-text,#F5F7FA)!important;
  -webkit-text-fill-color:currentColor;
  caret-color:var(--slide-accent,#0060A8);
  user-select:text!important;
  -webkit-user-select:text!important;
  pointer-events:auto!important;
  cursor:text!important;
  touch-action:auto!important;
}
.richNotesEditor *{
  user-select:text!important;
  -webkit-user-select:text!important;
}
.richNotesEditor::selection,.richNotesEditor *::selection{
  background:rgba(0,96,168,.55);
  color:#fff;
  -webkit-text-fill-color:#fff;
}
.cleanNotesPage{position:relative;z-index:20;pointer-events:auto!important;}
.cleanNotesPage #notesBody{position:relative;z-index:2;pointer-events:auto!important;}
.presentRichNotes{color:var(--slide-text,#F5F7FA);font-size:22px;line-height:1.5;overflow:auto;white-space:pre-wrap;word-break:break-word;}

/* NOTES DOCUMENT EDITOR — visible Page-panel text controls */
#notesDocumentSidebar .notesDocumentControls{display:grid;gap:12px}
#notesDocumentSidebar .formatButtonRow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
#notesDocumentSidebar .formatButtonRow button{min-width:0;padding:9px 6px}
#notesDocumentSidebar .formatButtonRow button.active{border-color:var(--accent);color:var(--accent);background:var(--accentSoft)}
#notesDocumentSidebar .notesListRow{grid-template-columns:1fr 1fr}
.pageType-notes #objectPanel{display:none!important}
.pageType-notes #pagePanel{display:block!important}

/* NOTES FINAL POLISH — reveal live colour and maximise Present workspace */
.richNotesEditor::selection,
.richNotesEditor *::selection{
  background:rgba(0,96,168,.38)!important;
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
}
#presentationOverlay.truePresent .presentSurface .presentNotesPage{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  padding:24px!important;
  gap:16px!important;
  grid-template-rows:auto minmax(0,1fr)!important;
}
#presentationOverlay.truePresent .presentSurface .presentNotesPage > h1{
  margin:0!important;
}
#presentationOverlay.truePresent .presentSurface .presentRichNotes{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  box-sizing:border-box!important;
  padding:24px!important;
  overflow:auto!important;
  background:#1b1f24!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
}

/* NOTES SPACE PASS — the slide layout itself owns the available area. */
.sharedPageContentHost > .notesPage.cleanNotesPage{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  padding:14px!important;
  gap:10px!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  overflow:hidden!important;
}
.sharedPageContentHost > .notesPage.cleanNotesPage #notesTitle{
  margin:0!important;
  flex:0 0 auto!important;
}
.sharedPageContentHost > .notesPage.cleanNotesPage #notesBody{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:20px!important;
  overflow:auto!important;
}
.presentNotesPage{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  padding:14px!important;
  gap:10px!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  overflow:hidden!important;
}
.presentNotesPage .presentRichNotes,
.presentNotesPage [data-notes-content],
.presentNotesPage > div:last-child{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:20px!important;
  overflow:auto!important;
}

/* NOTES PRESENT CARD LOCK — fill the remaining slide area regardless of content length. */
#presentationOverlay.truePresent .presentSurface .presentNotesPage{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  padding:14px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
#presentationOverlay.truePresent .presentSurface .presentNotesPage > h1{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  margin:0!important;
  height:42px!important;
  line-height:42px!important;
  box-sizing:border-box!important;
}
#presentationOverlay.truePresent .presentSurface .presentNotesPage > .presentRichNotes{
  position:absolute!important;
  left:14px!important;
  right:14px!important;
  top:66px!important;
  bottom:14px!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:20px!important;
  overflow:auto!important;
  box-sizing:border-box!important;
  background:#1b1f24!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
}

/* NOTES PRESENT STRETCH FIX — Notes bypasses adaptive shared-page fitting.
   Interactive Present clones the editor shell, so this is the active path. */
.sharedPageShell--notes{
  height:100%!important;
  min-height:0!important;
  grid-template-rows:46px minmax(0,1fr) auto!important;
}
.sharedPageShell--notes > .sharedPageContent{
  height:100%!important;
  min-height:0!important;
  display:block!important;
}
.sharedPageShell--notes .sharedPageContentHost{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  overflow:hidden!important;
}
.sharedPageShell--notes .sharedPageContentHost > .notesPage.cleanNotesPage{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  align-content:stretch!important;
  overflow:hidden!important;
  zoom:1!important;
}
.sharedPageShell--notes .sharedPageContentHost > .notesPage.cleanNotesPage > #notesBody{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  align-self:stretch!important;
}
#presentationOverlay.truePresent .presentSurface.presentEditorTruth > .sharedPageShell--notes,
#presentationOverlay.truePresent .presentSurface.presentEditorTruth .sharedPageShell--notes .sharedPageContent,
#presentationOverlay.truePresent .presentSurface.presentEditorTruth .sharedPageShell--notes .sharedPageContentHost,
#presentationOverlay.truePresent .presentSurface.presentEditorTruth .sharedPageShell--notes .notesPage.cleanNotesPage,
#presentationOverlay.truePresent .presentSurface.presentEditorTruth .sharedPageShell--notes #notesBody{
  min-height:0!important;
  height:100%!important;
}


/* Exact Present capture: silent mode may only move the real live Present overlay.
   It must not change dimensions, padding, grid, viewport units or text metrics. */
#presentationOverlay.silentPresentExport{
  transform:translateX(-200vw)!important;
  pointer-events:none!important;
}

/* Clean capture state is deliberately separate from off-screen transport.
   html2canvas removes only silentPresentExport from its clone, while this class
   remains active so presenter chrome can never reappear in exported slides. */
#presentationOverlay.cleanPresentCapture .presentControls,
#presentationOverlay.cleanPresentCapture .presentationHeader,
#presentationOverlay.cleanPresentCapture #presentTimeline,
#presentationOverlay.cleanPresentCapture #presenterToolbar,
#presentationOverlay.cleanPresentCapture #presenterAnnotationLayer,
#presentationOverlay.cleanPresentCapture .presenterDrawMenu,
#presentationOverlay.cleanPresentCapture .presenterColourMenu,
#presentationOverlay.cleanPresentCapture [popover]{
  display:none!important;
}

/* Prevent the editor's intermediate page renders from flashing while Present is
   being advanced for capture. This curtain is outside the captured overlay and
   therefore cannot alter slide layout or appear in the exported image. */
body.presentCaptureInProgress::after{
  content:'Exporting Present…';
  position:fixed;
  inset:0;
  z-index:2147483647;
  display:grid;
  place-items:center;
  background:#05070a;
  color:#ffffff;
  font:600 16px/1.2 Inter,Arial,sans-serif;
  letter-spacing:.02em;
  pointer-events:all;
}


/* ISOLATED RENDERER FIX — Split field outer frame only */
.splitTacticalField,
#presentationOverlay.truePresent .presentSurface .presentSplitField{
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:
    inset 0 18px 52px rgba(255,255,255,.035),
    inset 0 -34px 70px rgba(0,0,0,.22),
    0 22px 70px rgba(0,0,0,.38)!important;
}

/* RC1 corrective patch: one canonical Squad photo action. */
.squadPhotoFileInput{display:none!important}
.squadPhoto[data-photo-edit-frame]{cursor:pointer}
.squadTile.photoEditing .squadPhoto[data-photo-edit-frame]{cursor:grab}


/* RC PASS 2 — isolated page renderer corrections */
/* Pyramid is anchored to the lower edge in editor and Present. */
.pyramidStageV2,
.sharedPageContentHost .pyramidStageV2,
#presentationOverlay .pyramidStageV2{
  justify-content:flex-end!important;
  align-content:end!important;
  transform-origin:center bottom!important;
  padding-bottom:8px!important;
}

/* Match Overview: permanent section labels, separate editable body fields. */
.matchOverviewSection{
  display:grid;
  grid-template-rows:auto 1fr;
  gap:8px;
  min-width:0;
}
.matchOverviewSection .sectionMiniControls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.matchOverviewSectionTitle{
  color:var(--accent);
  font-size:13px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
#presentationOverlay .matchOverviewSectionTitle{color:var(--accent)!important;}

/* Split view selector is the only panel mode control. */
.splitPanelToolbar{grid-template-columns:1fr!important;}
.splitPanelToolbar select{width:100%!important;}

/* Squad photo editor Done action is readable without hover on every browser. */
.squadTile.photoEditing .photoEditBar button[data-photo-done],
.photoEditBar button[data-photo-done]{
  -webkit-appearance:none!important;
  appearance:none!important;
  background:#0060A8!important;
  border:1px solid #2f8bc8!important;
  color:#FFFFFF!important;
  opacity:1!important;
  text-shadow:none!important;
  -webkit-text-fill-color:#FFFFFF!important;
}
.squadTile.photoEditing .photoEditBar button[data-photo-done]:hover,
.photoEditBar button[data-photo-done]:hover{
  background:#0A70B8!important;
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
}


/* RC2 Match Overview correction: editable titles in editor, visible titles in Present/export. */
.matchOverviewSection input.matchOverviewSectionTitle{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:2px 0!important;
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid transparent!important;
  border-radius:0!important;
  color:var(--accent)!important;
  font:inherit!important;
  font-size:13px!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.matchOverviewSection input.matchOverviewSectionTitle:focus{
  outline:none!important;
  border-bottom-color:var(--accent)!important;
}
#presentationOverlay .matchOverviewSectionTitle,
.presentSurface .matchOverviewSectionTitle{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  color:var(--accent)!important;
  font-size:13px!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}


/* RC2 structured-page Present alignment */
#presentationOverlay.truePresent .presentSurface .presentKeepSectionTitle{
  display:flex!important;
  min-height:22px!important;
  align-items:center!important;
}
#presentationOverlay.truePresent .presentSurface .presentMatchOverviewSectionTitle{
  display:block!important;
  font-size:13px!important;
  line-height:1.2!important;
  color:var(--accent)!important;
}
/* Preserve the editor typography and grid proportions for Match Overview. */
#presentationOverlay.truePresent .presentSurface.presentEditorTruth .matchOverviewPage{
  padding:28px!important;
  gap:18px!important;
  align-content:start!important;
}
#presentationOverlay.truePresent .presentSurface.presentEditorTruth .matchOverviewSection textarea{
  font-size:inherit!important;
  line-height:normal!important;
  min-height:170px!important;
  padding:10px!important;
}
/* Split uses the cloned editor composition. Hide editing chrome without deleting its
   layout rows, preventing the panels and pitches from resizing in Present. */
#presentationOverlay.truePresent .presentSurface.presentEditorTruth .mediaPage .splitPanelToolbar{
  visibility:hidden!important;
  pointer-events:none!important;
}
#presentationOverlay.truePresent .presentSurface.presentEditorTruth .mediaPage .pageLayoutBar{
  visibility:hidden!important;
  display:flex!important;
  pointer-events:none!important;
}
#presentationOverlay.truePresent .presentSurface.presentEditorTruth .mediaPage,
#presentationOverlay.truePresent .presentSurface.presentEditorTruth .mediaPage .mediaCanvas,
#presentationOverlay.truePresent .presentSurface.presentEditorTruth .mediaPage .splitPanel,
#presentationOverlay.truePresent .presentSurface.presentEditorTruth .mediaPage .mediaPanel{
  box-sizing:border-box!important;
}


/* RC2 corrective alignment — structured page state and surfaces */
/* Tactical split panels inherit the page background instead of introducing a
   black card when a field is selected. Editor and Present therefore match. */
.mediaPage .splitPanel.panelType-field .mediaPanel,
#presentationOverlay.truePresent .presentSurface .presentMediaField,
#presentationOverlay.truePresent .presentSurface .presentMediaPanel{
  background:var(--slide-bg,#101419)!important;
}
.mediaPage .splitPanel.panelType-field .mediaPanel,
#presentationOverlay.truePresent .presentSurface .presentMediaField{
  border-color:color-mix(in srgb,var(--slide-text,#F5F7FA) 18%,transparent)!important;
  box-shadow:none!important;
}

/* Match Overview retains its visible body boxes in Present. */
#presentationOverlay.truePresent .presentSurface .presentMatchOverviewBody{
  display:block!important;
  min-height:170px!important;
  padding:10px!important;
  border:1px solid var(--slide-border,var(--line))!important;
  border-radius:12px!important;
  background:var(--slide-card,#111821)!important;
  color:var(--slide-text,#F5F7FA)!important;
  font-size:inherit!important;
  line-height:normal!important;
  white-space:pre-wrap!important;
  overflow-wrap:anywhere!important;
}


/* RC Pass 3 — unified Split and Tactical page theming */
/* Split owns one panel surface. Content widgets never replace its colour state. */
.pageSurface .mediaPage,
#presentationOverlay.truePresent .presentSurface .presentMediaPage{
  background:var(--slide-bg,#101419)!important;
}
.mediaPage .splitPanel,
#presentationOverlay.truePresent .presentSurface .presentMediaPanel{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
}
.mediaPage .splitPanel>.mediaPanel,
#presentationOverlay.truePresent .presentSurface .presentMediaPanel{
  background:var(--card-bg,var(--slide-bg,#101419))!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:16px!important;
}
.mediaPage .splitPanel.active>.mediaPanel,
.mediaPage .splitPanel:focus-within>.mediaPanel{
  background:var(--card-bg,var(--slide-bg,#101419))!important;
  border:0!important;
  box-shadow:none!important;
}
.mediaPage .splitPanelToolbar{
  background:color-mix(in srgb,var(--card-bg,var(--slide-bg,#101419)) 86%,#000 14%)!important;
  border:0!important;
}
/* Tactical fields are transparent content inside the panel; selecting them cannot restyle the panel. */
.mediaPage .splitPanel.panelType-field .mediaPanel,
#presentationOverlay.truePresent .presentSurface .presentMediaField{
  background:var(--card-bg,var(--slide-bg,#101419))!important;
  border:0!important;
  box-shadow:none!important;
}
/* Remove the legacy black presentation wrapper around Split. */
#presentationOverlay.truePresent .presentSurface .presentMediaPage{
  background:var(--slide-bg,#101419)!important;
  border:0!important;
  box-shadow:none!important;
}
#presentationOverlay.truePresent .presentSurface .presentMediaPage .mediaCanvas{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
/* Tactical presentation pages expose the slide background around the independent pitch. */
body.pageType-block:not(.presenting) #pitchCanvas,
body.pageType-field:not(.presenting) #pitchCanvas,
#presentationOverlay.truePresent #presentCanvas{
  background:var(--slide-bg,#101419)!important;
  color:var(--slide-text,#F5F7FA)!important;
}
body.pageType-block:not(.presenting) #pitchCanvas>.konvajs-content,
body.pageType-field:not(.presenting) #pitchCanvas>.konvajs-content,
#presentationOverlay.truePresent #presentCanvas>.konvajs-content{
  flex:none!important;
  align-self:center!important;
  justify-self:center!important;
}
body.pageType-block:not(.presenting) #fieldTitleBar,
body.pageType-field:not(.presenting) #fieldTitleBar{
  background:var(--slide-bg,#101419)!important;
  color:var(--slide-text,#F5F7FA)!important;
}


/* RC PASS 3.1 — tactical output alignment */
/* Align the compact tactical identity with the shared 18px page grid. */
body:not(:has(#presentationOverlay.truePresent:not(.hidden))) .fieldTitleBar.sharedCanvasIdentity{
  margin-left:18px!important;
  margin-right:18px!important;
}
/* Silent deck capture uses the tactical slide only. Remove presenter-shell
   decoration so the selected page background reaches the 16:9 export edge. */
body.presentCaptureInProgress #presentationOverlay.truePresent .presentationBody.notesOff{
  padding:0!important;
  gap:0!important;
}
body.presentCaptureInProgress #presentationOverlay.truePresent .presentationBody.notesOff > div:first-child,
body.presentCaptureInProgress #presentationOverlay.truePresent .presentationBody.notesOff #presentCanvas{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body.presentCaptureInProgress #presentationOverlay.truePresent .presentationBody.notesOff #presentCanvas{
  background:var(--slide-bg,#101419)!important;
}

/* =====================================================================
   SHARED SURFACE CORRECTIVE PASS
   Use Weekly's existing full-workspace geometry as the reference.
   No 1920px editor canvas and no transform scaling.
   Present/export remain unchanged in this pass.
   ===================================================================== */

/* Every non-tactical renderer occupies the same editor surface that Weekly
   already used successfully. */
#pageSurface.pageSurface,
#pageSurface.pageSurface.aspect-wide,
#pageSurface.pageSurface.aspect-square,
#pageSurface.pageSurface.aspect-portrait,
body.pageType-weeklyOverview #pageSurface,
body.pageType-overview #pageSurface,
body.pageType-cover #pageSurface,
body.pageType-sectionDivider #pageSurface{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  flex:1 1 auto!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  box-shadow:none!important;
  transform:none!important;
}

#pageSurface > .sharedPageShell,
#pageSurface > :first-child{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  box-sizing:border-box!important;
}

/* Preserve the accepted Weekly and Session Overview renderer proportions. */
body.pageType-weeklyOverview #pageSurface .professionalWeekPage,
body.pageType-overview #pageSurface .professionalSessionPage{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
}

/* Cover is a full-surface composition page rather than an inset document. */
body.pageType-cover #pageSurface .coverPage,
body.pageType-sectionDivider #pageSurface .sectionDividerPage{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  border-radius:0!important;
}

/* Tactical remains on its existing Konva renderer, but its outer workspace now
   uses the same edge-to-edge bounds as the shared page surface. */
body.pageType-block #pitchCanvas,
body.pageType-field #pitchCanvas{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
}
body.pageType-block #pitchCanvas > .konvajs-content,
body.pageType-field #pitchCanvas > .konvajs-content{
  max-width:100%!important;
  max-height:100%!important;
  border-radius:0!important;
  box-shadow:none!important;
}


/* FINAL ISOLATED PRESENT CORRECTIONS */
#presentationOverlay.truePresent.weeklyPresentActive .weeklyLaneBoard.weeklyLanePresent{
  grid-template-columns:64px repeat(7,minmax(0,1fr))!important;width:100%!important;max-width:100%!important;overflow:hidden!important;border-radius:0!important;
}
#presentationOverlay.truePresent.weeklyPresentActive .professionalWeeklyTimelinePresent{width:100%!important;max-width:100%!important;padding:0!important;overflow:hidden!important;}
#presentationOverlay.truePresent.weeklyPresentActive .weeklyLaneDayHeader{min-width:0!important;padding-left:7px!important;padding-right:7px!important;}

#presentationOverlay.truePresent.compositionPresentActive #presentCanvas{inset:0!important;width:100vw!important;height:100vh!important;border:0!important;border-radius:0!important;background:var(--slide-bg,#101419)!important;overflow:hidden!important;}
#presentationOverlay.truePresent.compositionPresentActive #presentCanvas>.konvajs-content{
  width:max(100vw,calc(100vh * 820 / 500))!important;min-width:max(100vw,calc(100vh * 820 / 500))!important;
  height:max(100vh,calc(100vw * 500 / 820))!important;min-height:max(100vh,calc(100vw * 500 / 820))!important;
  max-width:none!important;max-height:none!important;flex:0 0 auto!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important;
}
#presentationOverlay.truePresent.compositionPresentActive #presentCanvas>.konvajs-content>canvas{width:100%!important;height:100%!important;border:0!important;border-radius:0!important;}

#presentationOverlay.truePresent .presentAvailabilityPage .compactSquadBoard{display:grid!important;grid-template-rows:repeat(4,minmax(0,1fr))!important;gap:7px!important;min-height:0!important;overflow:hidden!important;}
#presentationOverlay.truePresent .presentAvailabilityPage .compactGroup{display:grid!important;grid-template-columns:112px minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important;gap:7px!important;min-height:0!important;overflow:hidden!important;}
#presentationOverlay.truePresent .presentAvailabilityPage .compactGroup>header{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;padding:8px 10px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:rgba(11,17,24,.72)!important;}
#presentationOverlay.truePresent .presentAvailabilityPage .compactGroup>header strong{display:block!important;font-size:12px!important;line-height:1.15!important;}
#presentationOverlay.truePresent .presentAvailabilityPage .compactGroup>header span{display:block!important;margin-top:4px!important;color:var(--muted)!important;font-size:10px!important;}
#presentationOverlay.truePresent .presentAvailabilityPage .compactSquadGrid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(128px,1fr))!important;grid-auto-rows:minmax(62px,1fr)!important;gap:6px!important;padding:0!important;min-width:0!important;min-height:0!important;overflow:hidden!important;}
#presentationOverlay.truePresent .presentAvailabilityPage .squadTile{width:auto!important;height:auto!important;min-width:0!important;min-height:62px!important;max-height:none!important;grid-template-columns:42px minmax(0,1fr)!important;grid-template-rows:1fr!important;text-align:left!important;}
#presentationOverlay.truePresent .presentAvailabilityPage .squadPhoto{width:42px!important;height:100%!important;min-height:54px!important;max-height:none!important;}
#presentationOverlay.truePresent .presentAvailabilityPage .squadTileBody{display:grid!important;grid-template-rows:auto auto auto!important;gap:3px!important;min-width:0!important;text-align:left!important;}
#presentationOverlay.truePresent .presentAvailabilityPage .presentSquadName{display:block!important;font-size:10px!important;line-height:1.15!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
#presentationOverlay.truePresent .presentAvailabilityPage .presentNumberStatusRow{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:5px!important;}
#presentationOverlay.truePresent .presentAvailabilityPage .presentSquadNumber,#presentationOverlay.truePresent .presentAvailabilityPage .presentSquadStatus{display:inline!important;font-size:8px!important;line-height:1.1!important;}

/* =====================================================================
   ENGINEERING PASS — CANONICAL SLIDE RECTANGLE
   Cover, Divider and Tactical now share one edge-to-edge geometry owner.
   This intentionally overrides the accumulated inset-shell corrections.
   ===================================================================== */

/* The workspace is only a host. The active slide owns the complete available
   rectangle, without a second inset surface showing around it. */
body.pageType-cover:not(.presenting) .canvasArea,
body.pageType-sectionDivider:not(.presenting) .canvasArea,
body.pageType-block:not(.presenting) .canvasArea,
body.pageType-field:not(.presenting) .canvasArea{
  background:var(--slide-bg,#101419)!important;
}

/* Surface pages: one shell, one rectangle. */
body.pageType-cover:not(.presenting) #pageSurface,
body.pageType-sectionDivider:not(.presenting) #pageSurface{
  margin:0!important;
  padding:0!important;
  width:100%!important;
  height:100%!important;
  border:0!important;
  border-radius:0!important;
  background:var(--slide-bg,#101419)!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
body.pageType-cover:not(.presenting) #pageSurface>.sharedPageShell,
body.pageType-sectionDivider:not(.presenting) #pageSurface>.sharedPageShell{
  position:relative!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  gap:0!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  border:0!important;
  border-radius:0!important;
  background:var(--slide-bg,#101419)!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
body.pageType-cover:not(.presenting) #pageSurface .sharedPageIdentity,
body.pageType-sectionDivider:not(.presenting) #pageSurface .sharedPageIdentity{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0 18px 3px!important;
  border-radius:0!important;
  background:var(--slide-bg,#101419)!important;
}
body.pageType-cover:not(.presenting) #pageSurface .sharedPageContent,
body.pageType-sectionDivider:not(.presenting) #pageSurface .sharedPageContent,
body.pageType-cover:not(.presenting) #pageSurface .sharedPageContentHost,
body.pageType-sectionDivider:not(.presenting) #pageSurface .sharedPageContentHost,
body.pageType-cover:not(.presenting) #pageSurface .compositionPage,
body.pageType-sectionDivider:not(.presenting) #pageSurface .compositionPage{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:var(--slide-bg,#101419)!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
body.pageType-cover:not(.presenting) #pageSurface .sharedPageFooter,
body.pageType-sectionDivider:not(.presenting) #pageSurface .sharedPageFooter{
  width:100%!important;
  margin:0!important;
  padding:1px 18px 5px!important;
  border-radius:0!important;
  background:var(--slide-bg,#101419)!important;
}

/* Tactical: the identity, pitch host and footer use the same horizontal bounds.
   Only the Konva field remains an independent inner surface. */
body.pageType-block:not(.presenting) #fieldTitleBar.sharedCanvasIdentity,
body.pageType-field:not(.presenting) #fieldTitleBar.sharedCanvasIdentity{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0 18px 5px!important;
  border-radius:0!important;
  background:var(--slide-bg,#101419)!important;
  box-shadow:none!important;
}
body.pageType-block:not(.presenting) #pitchCanvas,
body.pageType-field:not(.presenting) #pitchCanvas{
  width:100%!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:var(--slide-bg,#101419)!important;
  box-shadow:none!important;
}
body.pageType-block:not(.presenting) #sharedCanvasFooter,
body.pageType-field:not(.presenting) #sharedCanvasFooter{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:1px 18px 5px!important;
  border-radius:0!important;
  background:var(--slide-bg,#101419)!important;
}


/* =====================================================================
   FOCUSED REPAIR PASS
   Preserves the first working 1920x1080 export path.
   Only addresses: overview centring, Squad export scale, Split interactivity,
   and the long-running Cover/Divider/Tactical identity-layer ownership.
   ===================================================================== */

/* Weekly and Session Overview are centred in Present itself. Export simply
   captures this already-correct geometry. */
#presentationOverlay.truePresent .presentSurface > .professionalWeeklyTimelinePresent,
#presentationOverlay.truePresent .presentSurface > .connectedOverviewPresent{
  width:100%!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
/* Preserve the established four-card width; centre incomplete rows rather than
   leaving one/two cards pinned to the left edge. */
#presentationOverlay.truePresent .connectedOverviewPresent.presentBlockCount-1 .premiumWorkflowBlockGrid > article:first-child{grid-column:2 / span 2!important;}
#presentationOverlay.truePresent .connectedOverviewPresent.presentBlockCount-2 .premiumWorkflowBlockGrid > article:first-child{grid-column:2!important;}
#presentationOverlay.truePresent .connectedOverviewPresent.presentBlockCount-3 .premiumWorkflowBlockGrid > article:first-child{grid-column:1!important;}

/* Squad uses its own density rules. Generic shared-card fitting must not leave
   a zoomed-down board inside an otherwise correct 1920x1080 export. */
#presentationOverlay.truePresent .presentEditorTruth .sharedPageShell--sessionAvailability .sharedPageContentHost > *,
body.pageType-sessionAvailability #pageSurface .sharedPageContentHost > *{
  zoom:1!important;
  width:100%!important;
  height:100%!important;
}

/* One visual colour owner for Cover and Divider. Identity/content/footer are
   regions of that surface, not separately painted panels. */
body.pageType-cover:not(.presenting) .canvasArea,
body.pageType-sectionDivider:not(.presenting) .canvasArea{
  background:var(--slide-bg,#101419)!important;
}
body.pageType-cover:not(.presenting) #pageSurface,
body.pageType-sectionDivider:not(.presenting) #pageSurface{
  background:var(--slide-bg,#101419)!important;
  border:0!important;
  box-shadow:none!important;
}
body.pageType-cover:not(.presenting) #pageSurface > .sharedPageShell,
body.pageType-sectionDivider:not(.presenting) #pageSurface > .sharedPageShell,
body.pageType-cover:not(.presenting) #pageSurface .sharedPageIdentity,
body.pageType-sectionDivider:not(.presenting) #pageSurface .sharedPageIdentity,
body.pageType-cover:not(.presenting) #pageSurface .sharedPageContent,
body.pageType-sectionDivider:not(.presenting) #pageSurface .sharedPageContent,
body.pageType-cover:not(.presenting) #pageSurface .sharedPageContentHost,
body.pageType-sectionDivider:not(.presenting) #pageSurface .sharedPageContentHost,
body.pageType-cover:not(.presenting) #pageSurface .sharedPageFooter{
  background:transparent!important;
  box-shadow:none!important;
}
body.pageType-sectionDivider:not(.presenting) #pageSurface .sharedPageFooter{
  background:transparent!important;
  box-shadow:none!important;
}

/* Tactical has one outer colour owner. The identity and footer are transparent;
   only the independent Konva pitch remains a distinct inner surface. */
body.pageType-block:not(.presenting) .canvasArea,
body.pageType-field:not(.presenting) .canvasArea{
  background:var(--slide-bg,#101419)!important;
}
body.pageType-block:not(.presenting) #fieldTitleBar.sharedCanvasIdentity,
body.pageType-field:not(.presenting) #fieldTitleBar.sharedCanvasIdentity,
body.pageType-block:not(.presenting) #sharedCanvasFooter,
body.pageType-field:not(.presenting) #sharedCanvasFooter{
  margin-left:0!important;
  margin-right:0!important;
  width:100%!important;
  max-width:none!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  box-sizing:border-box!important;
}
body.pageType-block:not(.presenting) #pitchCanvas,
body.pageType-field:not(.presenting) #pitchCanvas{
  margin-left:0!important;
  margin-right:0!important;
  width:100%!important;
  max-width:none!important;
  background:transparent!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}

/* =====================================================================
   EXACT BEHAVIOUR MERGE — later verified fixes only
   Cover / Divider / Tactical remain exactly as supplied by the known-good
   shared-surface build above. These rules only preserve the later Notes and
   Squad fixes in both editor and Present.
   ===================================================================== */

/* Notes remain beside the field in true Present. */
#presentationOverlay.truePresent:not(.weeklyPresentActive):not(.compositionPresentActive) .presentationBody:not(.notesOff){
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 340px!important;
  grid-template-rows:minmax(0,1fr)!important;
  align-items:stretch!important;
  gap:20px!important;
}
#presentationOverlay.truePresent:not(.weeklyPresentActive):not(.compositionPresentActive) .presentationBody:not(.notesOff) > div:first-child,
#presentationOverlay.truePresent:not(.weeklyPresentActive):not(.compositionPresentActive) .presentationBody:not(.notesOff) #presentCanvas{
  grid-column:1!important;
  grid-row:1!important;
  min-width:0!important;
  min-height:0!important;
}
#presentationOverlay.truePresent:not(.weeklyPresentActive):not(.compositionPresentActive) .presentationBody:not(.notesOff) #presentNotesPanel{
  display:block!important;
  grid-column:2!important;
  grid-row:1!important;
  width:340px!important;
  min-width:340px!important;
  max-width:340px!important;
  min-height:0!important;
  max-height:none!important;
  overflow:auto!important;
  margin:0!important;
}

/* Squad structural identity cannot inherit a white decorative accent. */
body.pageType-sessionAvailability .sharedPageHeader,
#presentationOverlay.truePresent .presentAvailabilityPage .sharedPageHeader,
#presentationOverlay.truePresent .sharedPageShell--sessionAvailability .sharedPageHeader{
  color:var(--slide-text,#111827)!important;
}
body.pageType-sessionAvailability .compactGroup > header strong,
#presentationOverlay.truePresent .presentAvailabilityPage .compactGroup > header strong,
#presentationOverlay.truePresent .sharedPageShell--sessionAvailability .compactGroup > header strong{
  color:#F5F7FA!important;
}
body.pageType-sessionAvailability .compactGroup > header strong::before,
#presentationOverlay.truePresent .presentAvailabilityPage .compactGroup > header strong::before,
#presentationOverlay.truePresent .sharedPageShell--sessionAvailability .compactGroup > header strong::before{
  background:var(--slide-accent,var(--accent,#0060A8))!important;
}

/* FINISH REPAIRS — isolated export/notes/squad corrections */
/* Tactical-only export keeps the same safe-area geometry as live Present.
   Removing the capture-only zero padding prevents the pitch and identity from
   being enlarged beyond the 16:9 slide bounds. */
body.presentCaptureInProgress #presentationOverlay.truePresent .presentationBody.notesOff{
  padding:24px!important;
  gap:0!important;
}
body.presentCaptureInProgress #presentationOverlay.truePresent .presentationBody.notesOff #presentCanvas .konvajs-content{
  max-width:none!important;
  max-height:none!important;
}

/* A standalone Notes page owns the whole slide. It can never display or reserve
   the tactical Coach Notes utility panel, including during silent export. */
#presentationOverlay.truePresent.presentPageType-notes .presentationBody{
  grid-template-columns:1fr!important;
}
#presentationOverlay.truePresent.presentPageType-notes #presentNotesPanel{
  display:none!important;
}
#presentationOverlay.truePresent.presentPageType-notes .presentationBody > div:first-child,
#presentationOverlay.truePresent.presentPageType-notes #presentCanvas,
#presentationOverlay.truePresent.presentPageType-notes #presentSurface{
  grid-column:1!important;
  width:100%!important;
  max-width:none!important;
}

/* Squad hierarchy is structural text, not decorative accent. White accent must
   not erase the page title, group labels or player names in Slides/Present/export. */
body.pageType-sessionAvailability .availabilityTitle,
body.pageType-sessionAvailability .squadCountLabel,
body.pageType-sessionAvailability .compactGroup > header strong,
body.pageType-sessionAvailability .squadNameRow strong,
body.pageType-sessionAvailability .availabilityNameRow strong,
#presentationOverlay.truePresent .presentAvailabilityPage .availabilityTitle,
#presentationOverlay.truePresent .presentAvailabilityPage .squadCountLabel,
#presentationOverlay.truePresent .presentAvailabilityPage .compactGroup > header strong,
#presentationOverlay.truePresent .presentAvailabilityPage .presentSquadName,
#presentationOverlay.truePresent .presentAvailabilityPage .squadNameRow strong{
  color:#F5F7FA!important;
  -webkit-text-fill-color:#F5F7FA!important;
}

/* FINAL ALIGNMENT REPAIRS — Weekly Present, Squad totals, block chooser */

/* Weekly Present/export owns the complete 16:9 output rectangle. Remove any
   residual notes-column/grid width and centre the weekly document equally. */
#presentationOverlay.truePresent.weeklyPresentActive .presentationBody,
#presentationOverlay.truePresent:has(.professionalWeeklyTimelinePresent) .presentationBody{
  display:block!important;
  width:100vw!important;
  height:100vh!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
}
#presentationOverlay.truePresent.weeklyPresentActive .presentationBody > div:first-child,
#presentationOverlay.truePresent:has(.professionalWeeklyTimelinePresent) .presentationBody > div:first-child,
#presentationOverlay.truePresent.weeklyPresentActive #presentCanvas,
#presentationOverlay.truePresent:has(.professionalWeeklyTimelinePresent) #presentCanvas,
#presentationOverlay.truePresent.weeklyPresentActive #presentSurface,
#presentationOverlay.truePresent:has(.professionalWeeklyTimelinePresent) #presentSurface{
  display:block!important;
  width:100vw!important;
  max-width:100vw!important;
  height:100vh!important;
  max-height:100vh!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
#presentationOverlay.truePresent.weeklyPresentActive #presentNotesPanel,
#presentationOverlay.truePresent:has(.professionalWeeklyTimelinePresent) #presentNotesPanel{
  display:none!important;
}
#presentationOverlay.truePresent.weeklyPresentActive .professionalWeeklyTimelinePresent,
#presentationOverlay.truePresent:has(.professionalWeeklyTimelinePresent) .professionalWeeklyTimelinePresent{
  width:100vw!important;
  max-width:100vw!important;
  height:100vh!important;
  margin:0 auto!important;
  padding:22px 26px!important;
  box-sizing:border-box!important;
}
#presentationOverlay.truePresent.weeklyPresentActive .weeklyLaneBoard.weeklyLanePresent,
#presentationOverlay.truePresent:has(.professionalWeeklyTimelinePresent) .weeklyLaneBoard.weeklyLanePresent{
  width:100%!important;
  max-width:none!important;
  margin:0 auto!important;
  box-sizing:border-box!important;
}

/* Squad totals are information hierarchy, never decorative accent. */
body.pageType-sessionAvailability .squadTotals strong,
#presentationOverlay.truePresent .presentAvailabilityPage .squadTotals strong,
#presentationOverlay.truePresent .sharedPageShell--sessionAvailability .squadTotals strong{
  color:#F5F7FA!important;
  -webkit-text-fill-color:#F5F7FA!important;
}
body.pageType-sessionAvailability .squadTotals span,
#presentationOverlay.truePresent .presentAvailabilityPage .squadTotals span,
#presentationOverlay.truePresent .sharedPageShell--sessionAvailability .squadTotals span{
  color:#8E98A4!important;
  -webkit-text-fill-color:#8E98A4!important;
}

/* The Session Overview block-type chooser is application chrome. Project/page
   accent colours must not recolour or erase its structural labels. */
.createBlockDialog,
.createBlockDialogCard{
  color:#F5F7FA!important;
  --accent:#0A6FB8!important;
  --text:#F5F7FA!important;
  --muted:#A7AFB8!important;
}
.createBlockDialogCard header span{
  color:#4EB2FF!important;
  -webkit-text-fill-color:#4EB2FF!important;
}
.createBlockDialogCard h2,
.createBlockDialogCard header button,
.createBlockChoice strong{
  color:#F5F7FA!important;
  -webkit-text-fill-color:#F5F7FA!important;
}
.createBlockChoice span{
  color:#A7AFB8!important;
  -webkit-text-fill-color:#A7AFB8!important;
}
.createBlockChoice{
  border-color:#30363D!important;
}
.createBlockChoice:hover,
.createBlockChoice:focus-visible{
  border-color:#0A6FB8!important;
  background:#182532!important;
}

/* FINAL LOCK — Session Overview structural equipment text must remain legible
   when the project accent is black or white. Accent remains decorative only. */
.sessionOverviewRestoration .sessionEquipmentFullWidth h2,
#presentationOverlay .sessionOverviewRestoration .sessionEquipmentFullWidth h2,
.exportPresentSurface .sessionOverviewRestoration .sessionEquipmentFullWidth h2{
  color:var(--text, var(--slide-text, #f5f7fa))!important;
}
.sessionOverviewRestoration .equipmentSummaryList b,
#presentationOverlay .sessionOverviewRestoration .equipmentSummaryList b,
.exportPresentSurface .sessionOverviewRestoration .equipmentSummaryList b{
  color:var(--text, var(--slide-text, #f5f7fa))!important;
}


/* BETA 1.0 FINAL FEATURES — Spider Graph, Circle Flex, tactical player sizes */
.tacticalPlayerSizeControl{margin-left:auto;display:flex;align-items:center;gap:8px;color:var(--slide-text,#f5f6f7);font-size:12px;font-weight:800;white-space:nowrap}
.tacticalPlayerSizeControl select{background:#111821;color:#f5f6f7;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:7px 28px 7px 10px;font-weight:800}
.circleFlexTool .circleStage,.presentFramework .circleStage{display:grid;place-items:center;height:100%;min-height:0}
.circleFlexSvg{width:100%;height:100%;max-width:1180px;max-height:760px;overflow:visible;color:var(--slide-text,#f5f6f7)}
.circleFlexSvg .circleWedge{fill:var(--geoColor);stroke:rgba(255,255,255,.72);stroke-width:3;cursor:pointer;transition:filter .15s ease}
.circleFlexSvg .circleWedge.selected{filter:brightness(1.18);stroke:#fff;stroke-width:6}
.circleSegmentText{width:100%;height:100%;resize:none;border:0;outline:0;background:transparent;color:#fff;-webkit-text-fill-color:#fff;text-align:center;font:800 24px/1.18 Inter,Arial,sans-serif;display:block;padding:10px;overflow:hidden;text-shadow:0 2px 8px rgba(0,0,0,.65)}
.circleSegmentText.selected{box-shadow:inset 0 0 0 2px rgba(255,255,255,.65);border-radius:10px}
.circleFlexToolbar{flex-wrap:wrap}
.circleFlexToolbar label{display:flex;align-items:center;gap:7px}
.spiderRebuild .spiderLayoutV38,.presentSpider{grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr);height:100%;min-height:0}
.presentSpider{display:grid;grid-template-columns:1fr}
.spiderCanvasBox{color:var(--slide-text,#f5f6f7)}
.spiderSvg{width:100%;height:100%;max-height:720px;overflow:visible}
.axisListV38{overflow:auto;min-height:0;padding-right:6px}
.axisRowV38{display:grid;grid-template-columns:minmax(130px,1fr) repeat(2,minmax(76px,.58fr)) 34px;gap:8px;align-items:center;margin-bottom:8px}
.datasetRow{display:grid;grid-template-columns:1fr 48px 34px;gap:8px;margin-bottom:10px}
@media (max-width:1100px){.tacticalPlayerSizeControl span{display:none}.spiderRebuild .spiderLayoutV38{grid-template-columns:1fr}.axisListV38{max-height:250px}}

/* BETA 1.0 allocation repair: keep player sizing inside Players tools/sidebar */
.tacticalPlayerSizeControl{display:none!important}
.fieldSquadControls{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto!important;align-items:end}
#addPageMenu{max-height:min(78vh,760px)!important;overflow-y:auto!important;overscroll-behavior:contain}
\n\n/* BETA 1.0 POLISH — keep squad drawer open and isolate Spider controls from Present */\n#fieldSquadPanel[open]{display:block}\n#fieldSquadPanel select[data-squad-size]{pointer-events:auto}\n\n/* Spider editor: controls sit cleanly above the graph rather than offsetting its canvas. */\n.spiderRebuild{display:flex!important;flex-direction:column!important;min-height:0!important;height:100%!important}\n.spiderRebuild .geometryHeadControlsOnly{flex:0 0 auto!important;margin:0 0 12px!important;padding:0!important;display:flex!important;justify-content:flex-end!important;align-items:center!important}\n.spiderRebuild .geometryControls{position:static!important;transform:none!important;margin:0!important;display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important}\n.spiderRebuild .spiderLayoutV38{flex:1 1 auto!important;min-height:0!important;height:auto!important;align-items:stretch!important}\n.spiderRebuild .spiderCanvasBox{display:flex!important;align-items:center!important;justify-content:center!important;min-height:0!important;height:100%!important;padding:20px!important}\n.spiderRebuild .spiderSvg{display:block!important;width:min(100%,720px)!important;height:auto!important;max-height:100%!important;margin:auto!important}\n\n/* Present must contain only the finished graph — never editor controls. */\n#presentationOverlay .geometryHeadControlsOnly,\n#presentationOverlay .geometryControls,\n.truePresent .geometryHeadControlsOnly,\n.truePresent .geometryControls,\n.presentFramework .geometryHeadControlsOnly,\n.presentFramework .geometryControls{display:none!important}\n\n/* Spider Present: centre the radar within the complete slide area. */\n#presentationOverlay .presentSpider,\n.truePresent .presentSpider,\n.presentFramework .presentSpider{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important}\n#presentationOverlay .presentSpider .spiderCanvasBox,\n.truePresent .presentSpider .spiderCanvasBox,\n.presentFramework .presentSpider .spiderCanvasBox{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:34px 54px!important;border:0!important;background:transparent!important;overflow:visible!important}\n#presentationOverlay .presentSpider .spiderSvg,\n.truePresent .presentSpider .spiderSvg,\n.presentFramework .presentSpider .spiderSvg{display:block!important;width:min(92%,900px)!important;height:auto!important;max-height:88%!important;margin:auto!important;overflow:visible!important}\n
/* BETA 1.0 LOCK REPAIRS — Spider control alignment and clean Present */
.spiderRebuild{height:100%!important;min-height:0!important}
.spiderRebuild .spiderLayoutV38{display:grid!important;grid-template-columns:minmax(0,1fr) 360px!important;gap:16px!important;height:100%!important;min-height:0!important;align-items:stretch!important}
.spiderRebuild .axisListV38{position:static!important;inset:auto!important;transform:none!important;width:auto!important;max-width:none!important;height:100%!important;min-height:0!important;overflow:auto!important;display:flex!important;flex-direction:column!important;gap:12px!important;padding:0!important}
.spiderSettingsBar{position:static!important;display:grid!important;gap:10px!important;padding:12px!important;border:1px solid var(--line)!important;border-radius:16px!important;background:rgba(10,15,22,.92)!important;flex:0 0 auto!important}
.spiderActionRow,.spiderScaleRow{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}
.spiderActionRow button{flex:1 1 140px!important}
.spiderScaleRow label{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;flex:1 1 150px!important;margin:0!important}
.spiderScaleRow input,.spiderScaleRow select{width:82px!important}
.spiderRebuild .spiderCanvasBox{height:100%!important;min-height:0!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:24px!important;overflow:hidden!important}
.spiderRebuild .spiderSvg{width:min(100%,720px)!important;height:auto!important;max-height:100%!important;margin:auto!important}

/* Dedicated Spider Present renderer is graph-only and fills the slide cleanly. */
#presentationOverlay .presentSpider,
.truePresent .presentSpider{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;min-height:0!important;padding:0!important;margin:0!important}
#presentationOverlay .presentSpider .spiderCanvasBox,
.truePresent .presentSpider .spiderCanvasBox{width:100%!important;height:100%!important;min-height:0!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:42px 64px!important;margin:0!important;border:0!important;background:transparent!important;overflow:visible!important}
#presentationOverlay .presentSpider .spiderSvg,
.truePresent .presentSpider .spiderSvg{width:min(94%,980px)!important;height:auto!important;max-height:90%!important;margin:auto!important;overflow:visible!important}
#presentationOverlay .axisListV38,
#presentationOverlay .spiderSettingsBar,
.truePresent .axisListV38,
.truePresent .spiderSettingsBar{display:none!important}


/* BETA 1.0 LOCK COMPLETION — panel persistence, lineup panel, overview/theme and Key Points */
#fieldSquadPanel.participantDrawer{display:block!important}
#fieldSquadPanel.participantDrawer>summary{cursor:default}

.lineupSettingsPanel{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#10151b}
.lineupSettingsPanel h3{margin:0;color:var(--slide-text,var(--text));font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.lineupSettingsPanel .lineupControlsCompact{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important}
.lineupSettingsPanel .lineupControlsCompact label{margin:0!important;min-width:0!important;color:var(--muted)!important;font-size:9px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.08em!important}
.lineupSettingsPanel .lineupControlsCompact select,.lineupSettingsPanel .lineupControlsCompact input{width:100%!important;height:34px!important;margin-top:4px!important}
.lineupPageRecovered>.lineupPageHead{display:none!important}

/* Project colours must preview in Slides exactly as they do in Present. */

/* Present uses finished content, not readonly system form controls. */
.presentOverviewHero{display:grid;gap:8px}
.presentOverviewHero h1{margin:0;font-size:42px;line-height:1;font-weight:950;letter-spacing:-.04em;color:var(--slide-text,#F5F7FA)}
.presentOverviewHero p{margin:0;color:color-mix(in srgb,var(--slide-text,#F5F7FA) 68%,transparent);font-size:18px;line-height:1.35;white-space:pre-wrap}
.presentMatchOverviewSection p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.45;color:var(--slide-text,#F5F7FA)}

.presentKeyPointList{display:grid!important;gap:12px!important;align-content:start!important}
.presentKeyPoint{display:grid!important;grid-template-columns:54px minmax(0,1fr)!important;gap:14px!important;align-items:start!important;padding:16px!important;border:1px solid var(--line)!important;border-radius:16px!important;background:#151a20!important;min-height:0!important}
.presentKeyPoint>span{display:grid!important;place-items:center!important;min-height:42px!important;border-radius:10px!important;background:color-mix(in srgb,var(--slide-accent,var(--accent,#1F4E79)) 18%,transparent)!important;color:var(--slide-accent,var(--accent,#1F4E79))!important;font-size:18px!important;font-weight:950!important}
.presentKeyPoint>p{margin:0!important;color:var(--slide-text,#F5F7FA)!important;font-size:18px!important;line-height:1.45!important;white-space:pre-wrap!important;overflow-wrap:anywhere!important;overflow:visible!important;max-height:none!important}
#presentationOverlay.truePresent .presentKeyPoint input,#presentationOverlay.truePresent .presentKeyPoint textarea,#presentationOverlay.truePresent .presentKeyPointsPage button{display:none!important}

/* BETA MATCH TEXT OBJECT PARITY — native match text behaves as a selected item */
.matchOverviewPage [data-match-text]{
  position:relative;
  cursor:text;
  outline:1px solid transparent;
  outline-offset:4px;
  transition:outline-color .14s,box-shadow .14s,background-color .14s;
}
.matchOverviewPage [data-match-text]:hover{
  outline-color:rgba(0,96,168,.42);
}
.matchOverviewPage [data-match-text].nativeTextSelected{
  outline:2px solid var(--accent)!important;
  outline-offset:4px;
  box-shadow:0 0 0 1px rgba(0,96,168,.18);
}
.matchOverviewPage .matchOverviewSection:has([data-match-text].nativeTextSelected){
  border-color:rgba(0,96,168,.72)!important;
  box-shadow:0 0 0 1px rgba(0,96,168,.16),0 18px 48px rgba(0,0,0,.24);
}

/* Beta match text/sidebar correction */
body:not(.pageType-lineup) #lineupSettingsPanel{display:none!important}
#pageSettingsSidebar{display:none!important}
.nativeTextSelected{outline:2px solid var(--accent)!important;outline-offset:2px!important}
#presentationOverlay .nativeTextSelected{outline:none!important}
#presentationOverlay.truePresent .responsibilityPage input[readonly],
#presentationOverlay.truePresent .responsibilityPage textarea[readonly],
#presentationOverlay.truePresent .keyPointsPage input[readonly],
#presentationOverlay.truePresent .keyPointsPage textarea[readonly]{color:inherit;-webkit-text-fill-color:currentColor}


/* Match text architecture pass — intrinsic sizing and editor/present parity */
.matchOverviewPage textarea[data-match-text],
.responsibilityPage textarea[data-match-text],
.keyPointsPage textarea[data-match-text]{height:auto!important;min-height:36px!important;max-height:none!important;overflow:hidden!important;resize:none!important;white-space:pre-wrap!important;}
.matchOverviewSection,.responsibilityRow,.keyPointList>label,.presentKeyPoint,.presentResponsibilityRow{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;align-items:start!important;}
.presentMatchOverviewBody,.presentKeyPointBody,.presentResponsibilityCell{white-space:pre-wrap;overflow-wrap:anywhere;min-width:0;}
.presentResponsibilityCell{display:grid;gap:8px;align-content:start;}
.presentResponsibilityTitle{width:100%;}
body:not(.pageType-lineup) #lineupSettingsPanel{display:none!important;}


/* Match text correction — content-sized fields with no injected internal headings. */
.matchOverviewPage textarea[data-match-text],
.responsibilityPage textarea[data-match-text],
.keyPointsPage textarea[data-match-text]{
  field-sizing:content!important;
  box-sizing:border-box!important;
  height:auto!important;
  block-size:auto!important;
  min-height:36px!important;
  max-height:none!important;
  overflow:visible!important;
  overflow-y:visible!important;
  white-space:pre-wrap!important;
  word-break:break-word!important;
}
.matchOverviewPage .overviewTextGrid,
.matchOverviewPage .matchOverviewSection,
.responsibilityPage .responsibilityList,
.responsibilityPage .responsibilityRow,
.keyPointsPage .keyPointList,
.keyPointsPage .keyPointList>label{
  grid-auto-rows:max-content!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}
body.pageType-matchOverview #pageSurface .sharedPageContentHost,
body.pageType-responsibilities #pageSurface .sharedPageContentHost,
body.pageType-keyPoints #pageSurface .sharedPageContentHost{overflow:visible!important;}
#presentationOverlay.truePresent .presentResponsibilityCell,
#presentationOverlay.truePresent .presentMatchOverviewBody,
#presentationOverlay.truePresent .presentKeyPointBody{
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  white-space:pre-wrap!important;
  overflow-wrap:anywhere!important;
}

/* Match text correction v3 */
#nativeTextProperties #matchNativeValue{height:auto!important;min-height:72px!important;max-height:none!important;overflow-y:hidden!important;resize:none!important;white-space:pre-wrap!important;}
.presentResponsibilityColumnHeading{margin:0 0 8px;white-space:pre-wrap;overflow-wrap:anywhere;}
.presentResponsibilityBody{white-space:pre-wrap;overflow-wrap:anywhere;min-width:0;}
\n\n/* Match text correction v4 — surgical fixes only. */
.matchOverviewPage textarea[data-sec-value]{
  min-height:170px!important;
  height:auto!important;
  max-height:none!important;
  overflow:hidden!important;
  resize:none!important;
}
.matchOverviewPage textarea#moSubtitle{min-height:36px!important;height:auto!important;max-height:none!important;overflow:hidden!important;}
#presentationOverlay.truePresent .presentSurface .presentMatchOverviewBody[style]{
  line-height:inherit;
}

/* Framework integrity correction: preserve the compact native geometry language. */
.compactTreePage,.compactPyramidPage{height:100%;min-height:0;display:grid;grid-template-rows:auto 1fr;gap:10px}
.compactTreeStage{position:relative;min-height:0;height:100%;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#0c1117}
.compactTreeSvg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.compactTreeSvg path{fill:none;stroke:rgba(245,246,247,.34);stroke-width:.42;vector-effect:non-scaling-stroke}
.compactTreeNode{position:absolute;transform:translate(-50%,-50%);width:142px;min-height:66px;padding:8px 10px;border-radius:16px;border:1px solid color-mix(in srgb,var(--geoColor) 70%,rgba(245,246,247,.18));background:color-mix(in srgb,var(--geoColor) 38%,#101419);display:grid;gap:3px;box-shadow:0 12px 30px rgba(0,0,0,.22);cursor:grab;touch-action:none;user-select:none}
.compactTreeNode.dragging{cursor:grabbing;transition:none!important}
.compactTreeNode.selected{box-shadow:0 0 0 2px var(--accent),0 14px 34px rgba(0,0,0,.3)}
.compactTreeNode.mode-outline{background:#101419}
.compactTreeNode input,.compactTreeNode textarea,.compactPyramidBlock input,.compactPyramidBlock textarea{width:100%;box-sizing:border-box;background:transparent!important;color:var(--text)!important;border:1px solid color-mix(in srgb,var(--geoColor) 56%,rgba(245,246,247,.12))!important;border-radius:9px!important;outline:0!important;position:relative;z-index:1}
.compactTreeNode input{height:24px;padding:2px 6px!important;font-size:14px!important;font-weight:800!important;line-height:1.1;text-align:left}
.compactTreeNode textarea{height:34px;min-height:34px!important;padding:5px 6px!important;font-size:11px!important;line-height:1.2!important;resize:none!important;text-align:left}
.compactTreeToolbar{gap:7px}
.compactTreeToolbar label{font-size:10px;font-weight:850;letter-spacing:.04em}
.compactTreeToolbar input[type=color]{width:28px;height:22px;padding:1px}
.compactTreeToolbar select{height:28px;padding:3px 26px 3px 8px}
.compactPyramidStage{height:100%;min-height:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:10px;overflow:auto;padding:20px 24px}
.compactPyramidLevel{display:flex;justify-content:center;gap:10px;width:100%;align-items:stretch}
.compactPyramidBlock{width:calc(205px * var(--pyr-level-scale,1));min-height:calc(94px * var(--pyr-level-scale,1));padding:calc(11px * var(--pyr-level-scale,1)) calc(13px * var(--pyr-level-scale,1));border-radius:calc(17px * var(--pyr-level-scale,1));border:1px solid color-mix(in srgb,var(--geoColor) 70%,rgba(245,246,247,.18));background:color-mix(in srgb,var(--geoColor) 38%,#101419);display:grid;align-content:center;gap:5px;box-sizing:border-box;flex:0 1 auto}
.compactPyramidBlock.mode-outline{background:#101419}
.compactPyramidBlock.selected{box-shadow:0 0 0 2px var(--accent)}
.compactPyramidBlock input{height:calc(28px * var(--pyr-level-scale,1));padding:3px 7px!important;font-size:clamp(12px,calc(16px * var(--pyr-level-scale,1)),16px)!important;font-weight:800!important;text-align:center}
.compactPyramidBlock textarea{height:calc(40px * var(--pyr-level-scale,1));min-height:calc(40px * var(--pyr-level-scale,1))!important;padding:6px 7px!important;font-size:clamp(10px,calc(12px * var(--pyr-level-scale,1)),12px)!important;line-height:1.2!important;resize:none!important;text-align:center}
.readonlyFramework .compactTreeNode,.readonlyFramework.compactTreeStage .compactTreeNode{cursor:default;pointer-events:none}
.readonlyFramework .compactTreeNode input,.readonlyFramework .compactTreeNode textarea,.readonlyFramework .compactPyramidBlock input,.readonlyFramework .compactPyramidBlock textarea{border-color:transparent!important;pointer-events:none}


/* PARITY PASS — canonical Spider SVG in Present/export */
#presentationOverlay .presentSpiderEditorTruth,
.truePresent .presentSpiderEditorTruth {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  grid-template-columns:1fr!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  gap:0!important;
}
#presentationOverlay .presentSpiderEditorTruth .spiderCanvasBox,
.truePresent .presentSpiderEditorTruth .spiderCanvasBox {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  padding:34px 54px!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  overflow:visible!important;
}
#presentationOverlay .presentSpiderEditorTruth .spiderSvg,
.truePresent .presentSpiderEditorTruth .spiderSvg {
  display:block!important;
  width:min(94%,980px)!important;
  height:auto!important;
  max-height:90%!important;
  margin:auto!important;
  overflow:visible!important;
}


/* FINAL PARITY LOCK — Spider, Principle hydration and Individual edge */
#presentationOverlay.truePresent .presentSpiderFixed,
.exportPresentSurface .presentSpiderFixed{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  padding:42px 74px 36px!important;
}
#presentationOverlay.truePresent .presentSpiderFixedCanvas,
.exportPresentSurface .presentSpiderFixedCanvas{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
}
#presentationOverlay.truePresent .presentSpiderFixed .spiderSvg,
.exportPresentSurface .presentSpiderFixed .spiderSvg{
  display:block!important;
  width:auto!important;
  height:min(100%,660px)!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:0 auto!important;
  overflow:visible!important;
  transform:none!important;
  transform-origin:center center!important;
}

/* Individual pages must end at the slide edge with no cloned workspace border,
   shadow, pseudo-element or overflow strip. */
body.projectMode-player #presentationOverlay.truePresent .presentSurface,
body.projectMode-player #presentationOverlay.truePresent .presentSurface::before,
body.projectMode-player #presentationOverlay.truePresent .presentSurface::after,
body.projectMode-player .exportPresentSurface,
body.projectMode-player .exportPresentSurface::before,
body.projectMode-player .exportPresentSurface::after{
  border:0!important;
  border-bottom:0!important;
  outline:0!important;
  box-shadow:none!important;
}
body.projectMode-player #presentationOverlay.truePresent .presentSurface,
body.projectMode-player .exportPresentSurface{
  background:transparent!important;
  overflow:hidden!important;
}
body.projectMode-player #presentationOverlay.truePresent .presentSurface > *,
body.projectMode-player .exportPresentSurface > *{
  margin-bottom:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
}
body.projectMode-player #presentationOverlay.truePresent .presentationBody > div:first-child,
body.projectMode-player #presentationOverlay.truePresent #presentCanvas{
  border-bottom:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
}


/* PRINCIPLE + SPIDER FINAL LOCK — scoped only to these two page types */
#presentationOverlay.truePresent .presentSpiderFixed,
.exportPresentSurface .presentSpiderFixed{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  padding:0!important;
  margin:0!important;
  display:block!important;
  overflow:hidden!important;
}
#presentationOverlay.truePresent .presentSpiderFixedCanvas,
.exportPresentSurface .presentSpiderFixedCanvas{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:min(900px,78vw)!important;
  height:min(720px,76vh)!important;
  transform:translate(-50%,-50%)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
}
#presentationOverlay.truePresent .presentSpiderFixed .spiderSvg,
.exportPresentSurface .presentSpiderFixed .spiderSvg{
  width:780px!important;
  height:660px!important;
  max-width:100%!important;
  max-height:100%!important;
  display:block!important;
  margin:0!important;
  transform:none!important;
}
body.pageType-principlePage .principleSmartText{
  width:100%;
  min-height:72px;
  height:auto;
  box-sizing:border-box;
  margin-top:5px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#0b1220;
  color:var(--text);
  font:inherit;
  line-height:1.45;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  outline:none;
}
body.pageType-principlePage .principleSmartText:empty::before{
  content:attr(data-placeholder);
  color:var(--muted);
  pointer-events:none;
}
body.pageType-principlePage .principleNotes .objectiveStrip{
  height:auto!important;
  min-height:0!important;
  align-self:start!important;
}
body.pageType-principlePage .principleNotes{
  align-content:start!important;
  overflow:auto!important;
}
#presentationOverlay .principleSmartText,
.exportPresentSurface .principleSmartText{
  min-height:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  overflow:visible!important;
}

/* SPIDER PASS 2 — keep the fixed SVG in normal shared-shell flow.
   The previous absolute-centering rule positioned against a collapsed
   content host after renderPageIdentity wrapped the graph, which shifted
   and clipped the SVG in Present/export. */
#presentationOverlay.truePresent .sharedPageShell--spiderGraph .sharedPageContent,
.exportPresentSurface .sharedPageShell--spiderGraph .sharedPageContent,
#presentationOverlay.truePresent .sharedPageShell--spiderGraph .sharedPageContentHost,
.exportPresentSurface .sharedPageShell--spiderGraph .sharedPageContentHost{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  overflow:hidden!important;
}
#presentationOverlay.truePresent .sharedPageShell--spiderGraph .presentSpiderFixed,
.exportPresentSurface .sharedPageShell--spiderGraph .presentSpiderFixed{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:12px 28px 18px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
#presentationOverlay.truePresent .sharedPageShell--spiderGraph .presentSpiderFixedCanvas,
.exportPresentSurface .sharedPageShell--spiderGraph .presentSpiderFixedCanvas{
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  top:auto!important;
  transform:none!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
}
#presentationOverlay.truePresent .sharedPageShell--spiderGraph .presentSpiderFixed .spiderSvg,
.exportPresentSurface .sharedPageShell--spiderGraph .presentSpiderFixed .spiderSvg{
  display:block!important;
  width:auto!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  aspect-ratio:780 / 660!important;
  margin:auto!important;
  overflow:visible!important;
  transform:none!important;
  transform-origin:center center!important;
}

/* Beta 2.0 saved page templates */
.templateGrid .templateEmpty{grid-column:1/-1;}
.savedTemplateRow{position:relative;min-width:0;}
.savedTemplateRow>.savedTemplate{width:100%;padding-right:42px;}
.savedTemplateRow>.templateDelete{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:28px;height:28px;padding:0;border-radius:8px;background:#151a20;color:var(--muted);z-index:2;}
.savedTemplateRow>.templateDelete:hover{color:#fecaca;border-color:#6b1c1c;}


/* Beta 2.0 home correction — genuine recents and reusable page templates */
.templateGrid{display:flex!important;flex-direction:column;gap:10px!important;max-height:226px;overflow:auto;padding-right:4px;}
.templateEmptyState{min-height:150px;border:1px dashed var(--line);border-radius:16px;padding:22px;display:flex;flex-direction:column;justify-content:center;gap:8px;text-align:left;}
.templateEmptyState strong{font-size:15px;color:var(--text);}
.templateEmptyState span{font-size:12px;line-height:1.5;color:var(--muted);}
.templateCard{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px;background:#191e25;}
.templateCard:hover{border-color:rgba(0,96,168,.65);}
.templateTypeIcon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--accentSoft);border:1px solid rgba(0,96,168,.38);color:var(--accent);font-size:11px;font-weight:950;letter-spacing:.08em;}
.templateCardCopy{min-width:0;display:grid;gap:4px;}
.templateCardCopy strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.templateCardCopy span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.templateCardActions{display:flex;gap:6px;align-items:center;}
.templateCardActions button{padding:7px 9px;border-radius:8px;font-size:10px;}
.templateUse{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important;}
.templateDelete{background:transparent!important;color:var(--muted)!important;}
.templateDelete:hover{color:#fecaca!important;border-color:#6b1c1c!important;}
.projectTemplateBlock{display:grid;gap:8px;}
.projectTemplateBlock h3{margin:0;font-size:12px;color:var(--accent);text-transform:uppercase;letter-spacing:.12em;}
.projectTemplateBlock p{margin:0;font-size:11px;line-height:1.4;color:var(--muted);}
.projectTemplateBlock button{width:100%;text-align:left;}

/* Beta 2.0 V3 — template library and coherent Project menu */
.templatePanel{min-height:228px;}
.templateGrid{display:flex!important;flex-direction:column!important;gap:8px!important;max-height:232px!important;overflow:auto!important;padding:0 4px 0 0!important;}
.templateCard{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-areas:"copy actions"!important;
  gap:14px!important;
  align-items:center!important;
  min-height:82px!important;
  padding:14px 14px 14px 16px!important;
  border:1px solid #2b323b!important;
  border-radius:15px!important;
  background:linear-gradient(135deg,#181d23,#14191f)!important;
  box-shadow:none!important;
}
.templateCard:hover{border-color:rgba(0,96,168,.72)!important;background:linear-gradient(135deg,#1a2027,#151b21)!important;}
.templateTypeIcon{display:none!important;}
.templateCardCopy{grid-area:copy!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:3px!important;min-width:0!important;}
.templateCardCopy strong{font-size:15px!important;line-height:1.2!important;color:var(--text)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.templateCardCopy span{font-size:10px!important;line-height:1.3!important;color:#9ba5b1!important;text-transform:uppercase!important;letter-spacing:.09em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.templateCardCopy small{font-size:10px!important;color:#66717d!important;font-weight:750!important;}
.templateCardActions{grid-area:actions!important;display:flex!important;gap:6px!important;align-items:center!important;}
.templateCardActions button{height:34px!important;padding:0 11px!important;border-radius:9px!important;font-size:10px!important;font-weight:900!important;}
.templateEdit{background:#202731!important;border-color:#36404c!important;color:#f2f5f8!important;}
.templateEdit:hover{border-color:var(--accent)!important;color:var(--accent)!important;}
.templateUse{background:rgba(0,96,168,.16)!important;border-color:rgba(0,96,168,.55)!important;color:#8cc9f4!important;min-width:92px!important;}
.templateUse:hover{background:rgba(0,96,168,.28)!important;border-color:#1685d1!important;color:#fff!important;}
.templateDelete{width:34px!important;padding:0!important;background:transparent!important;border-color:#303842!important;color:#78838f!important;font-size:0!important;}
.templateDelete::before{content:"×";font-size:17px;line-height:1;}
.templateDelete:hover{background:#29171a!important;color:#ffb4b4!important;border-color:#71313a!important;}
.templateEmptyState{min-height:150px!important;border:1px dashed #303842!important;background:#12171c!important;border-radius:15px!important;padding:24px!important;display:grid!important;place-content:center!important;gap:7px!important;text-align:center!important;}
.templateEmptyState strong{font-size:14px!important;}
.templateEmptyState span{max-width:300px!important;font-size:11px!important;line-height:1.5!important;}

.projectMenuPanel{width:374px!important;max-height:calc(100vh - 92px)!important;overflow:auto!important;padding:0!important;background:#151a20!important;border:1px solid #2c3540!important;border-radius:0 0 18px 18px!important;}
.projectMenuSection{display:grid!important;gap:10px!important;padding:17px 18px!important;margin:0!important;border:0!important;border-bottom:1px solid #29313a!important;}
.projectMenuSection h3,.projectMenuSectionHead h3{margin:0!important;color:#c5ccd4!important;font-size:10px!important;line-height:1!important;text-transform:uppercase!important;letter-spacing:.14em!important;}
.projectMenuSectionHead{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;}
.projectSaveState{font-size:9px!important;color:#73808c!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.06em!important;text-align:right!important;}
.projectSaveSection.templateMode .projectSaveState{color:#70b9ea!important;}
.projectMenuPrimary{width:100%!important;text-align:left!important;background:rgba(0,96,168,.18)!important;border-color:rgba(0,96,168,.56)!important;color:#b7ddf7!important;}
.projectMenuPrimary:disabled{opacity:.58!important;cursor:default!important;background:#1b2128!important;border-color:#303944!important;color:#8c97a2!important;}
.projectSettingsBlock label{margin:0!important;}
.projectSettingsBlock>h3{margin-bottom:2px!important;}
.projectSettingsBlock .projectSettingsRow{margin-top:2px!important;}
.projectSettingsBlock button,.projectTemplateBlock button,.projectOutputBlock button{width:100%!important;text-align:left!important;background:#1e252e!important;border-color:#303a45!important;}
.projectSettingsBlock button:hover,.projectTemplateBlock button:hover,.projectOutputBlock button:hover{border-color:var(--accent)!important;color:#b7ddf7!important;}
.projectTemplateBlock p{font-size:10px!important;line-height:1.45!important;color:#7f8b97!important;margin:0!important;text-transform:none!important;letter-spacing:0!important;}
.projectOutputBlock{gap:8px!important;}
.projectBackupBlock{margin:0!important;padding:0!important;border:0!important;}
.projectBackupBlock>summary{list-style:none!important;padding:16px 18px!important;cursor:pointer!important;color:#8c97a2!important;font-size:10px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.12em!important;}
.projectBackupBlock>summary::-webkit-details-marker{display:none!important;}
.projectBackupBlock>summary::after{content:"+";float:right;font-size:15px;line-height:.7;}
.projectBackupBlock[open]>summary::after{content:"−";}
.projectBackupBlock[open]>summary{color:#c5ccd4!important;border-bottom:1px solid #29313a!important;}
.projectBackupBlock p{margin:14px 18px 10px!important;font-size:10px!important;line-height:1.45!important;color:#78838e!important;}
.projectBackupBlock button{width:calc(100% - 36px)!important;margin:0 18px 8px!important;text-align:left!important;background:#1b2128!important;border-color:#2d3640!important;color:#9da7b1!important;}
.projectBackupBlock button:last-child{margin-bottom:18px!important;}
.projectMenuDivider{display:none!important;}

/* Beta 2.0 RC — Studio modal, notifications and document cards */
.studioModalRoot{position:fixed;inset:0;z-index:500;display:grid;place-items:center}.studioModalBackdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(5px)}.studioModal{position:relative;width:min(440px,calc(100vw - 36px));border:1px solid var(--line);border-radius:20px;background:#11151a;box-shadow:0 30px 100px rgba(0,0,0,.65);overflow:hidden}.studioModal header{padding:22px 24px 12px}.studioModal h2{margin:0;font-size:22px}.studioModalBody{padding:8px 24px 22px}.studioModalMessage{margin:0 0 16px;line-height:1.5;color:var(--muted)}.studioModalLabel{margin:0;color:var(--muted)}.studioModalLabel input{margin-top:8px;font-size:16px}.studioModalLabel input.invalid{border-color:var(--red)}.studioModal footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--line);background:#0d1115}.studioModal footer [data-modal-cancel]:empty{display:none}.studioToastRoot{position:fixed;right:22px;bottom:22px;z-index:550;display:grid;gap:10px;pointer-events:none}.studioToast{min-width:220px;padding:13px 16px;border:1px solid var(--line);border-radius:12px;background:#151a20;color:var(--text);font-weight:850;box-shadow:0 18px 50px rgba(0,0,0,.45);opacity:0;transform:translateY(10px);transition:.2s}.studioToast.show{opacity:1;transform:none}.studioToast.error{border-color:#7f1d1d}.studioToast.success{border-color:rgba(0,96,168,.65)}
.recentProjectCard,.templateCard{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);background:#1a1f26;border-radius:15px;padding:12px}.recentProjectOpen,.templateCardOpen{border:0;background:transparent;padding:0;text-align:left;min-width:0}.recentProjectOpen strong,.templateCardOpen strong{display:block;font-size:15px;overflow:hidden;text-overflow:ellipsis}.recentProjectOpen span,.templateCardOpen span,.templateCardOpen small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.documentIcon{width:40px;height:40px;border:1px solid var(--line);border-radius:11px;display:grid;place-items:center;color:var(--accent);font-weight:950}.documentMenu{position:relative}.documentMenu>summary{list-style:none;width:34px;height:34px;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;cursor:pointer;font-size:20px}.documentMenu>summary::-webkit-details-marker{display:none}.documentMenuPanel{position:absolute;right:0;top:40px;z-index:20;width:140px;display:grid;padding:6px;border:1px solid var(--line);border-radius:11px;background:#11151a;box-shadow:0 18px 50px rgba(0,0,0,.55)}.documentMenuPanel button{border:0;background:transparent;text-align:left;padding:9px;border-radius:7px}.documentMenuPanel button:hover{background:#222833}.documentMenuPanel .dangerText{color:#fca5a5}.projectMenuPrimary:disabled{opacity:.65;cursor:default}

/* Beta 2.0 RC homepage correction — Recent Projects remains the visual benchmark. */
body.atHome .recentList{
  display:grid!important;
  gap:10px!important;
  max-height:226px!important;
  overflow:auto!important;
  padding-right:4px!important;
}
body.atHome .recentProjectCard{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:center!important;
  min-height:72px!important;
  padding:13px 14px 13px 16px!important;
  border:1px solid #2b323b!important;
  border-radius:14px!important;
  background:#1a1f26!important;
  box-shadow:none!important;
}
body.atHome .recentProjectCard:hover{
  border-color:rgba(0,96,168,.58)!important;
  background:#1b2129!important;
}
body.atHome .recentProjectCard>.documentIcon{
  display:none!important;
}
body.atHome .recentProjectOpen{
  width:100%!important;
  min-width:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  text-align:left!important;
  display:block!important;
}
body.atHome .recentProjectOpen strong{
  display:block!important;
  margin:0!important;
  color:var(--text)!important;
  font-size:15px!important;
  line-height:1.25!important;
  font-weight:900!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.atHome .recentProjectOpen span{
  display:block!important;
  margin-top:4px!important;
  color:#8f99a5!important;
  font-size:11px!important;
  line-height:1.3!important;
  font-weight:800!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.atHome .recentProjectCard>.documentMenu{
  justify-self:end!important;
}
body.atHome .recentProjectCard>.documentMenu>summary{
  width:34px!important;
  height:34px!important;
  color:#9aa4af!important;
  background:#181d23!important;
  border-color:#303842!important;
}
body.atHome .recentProjectCard>.documentMenu>summary:hover{
  color:var(--accent)!important;
  border-color:var(--accent)!important;
}


/* Beta 2.0 homepage lock — Templates use the Recent Projects renderer exactly. */
body.atHome .templateGrid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  max-height:226px!important;
  overflow:auto!important;
  padding-right:4px!important;
  align-content:start!important;
}
body.atHome .templateCard.recentProjectCard{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:center!important;
  min-height:72px!important;
  padding:13px 14px 13px 16px!important;
  border:1px solid #2b323b!important;
  border-radius:14px!important;
  background:#1a1f26!important;
  box-shadow:none!important;
}
body.atHome .templateCard.recentProjectCard:hover{
  border-color:rgba(0,96,168,.58)!important;
  background:#1b2129!important;
}
body.atHome .templateCardOpen.recentProjectOpen{
  width:100%!important;
  min-width:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  text-align:left!important;
  display:block!important;
}
body.atHome .templateCardOpen.recentProjectOpen strong{
  display:block!important;
  margin:0!important;
  color:var(--text)!important;
  font-size:15px!important;
  line-height:1.25!important;
  font-weight:900!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.atHome .templateCardOpen.recentProjectOpen span{
  display:block!important;
  margin-top:4px!important;
  color:#8f99a5!important;
  font-size:11px!important;
  line-height:1.3!important;
  font-weight:800!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.atHome .templateCard.recentProjectCard>.documentMenu{
  justify-self:end!important;
}
body.atHome .templateCard.recentProjectCard>.documentMenu>summary{
  width:34px!important;
  height:34px!important;
  color:#9aa4af!important;
  background:#181d23!important;
  border-color:#303842!important;
}
body.atHome .templateCard.recentProjectCard>.documentMenu>summary:hover{
  color:var(--accent)!important;
  border-color:var(--accent)!important;
}


/* Beta 2.0 homepage final stabilisation — one shared document renderer. */
body.atHome #recentProjects,
body.atHome #templateGrid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  max-height:226px!important;
  overflow-y:auto!important;
  overflow-x:visible!important;
  padding-right:4px!important;
  align-content:start!important;
}
body.atHome #recentProjects > .recentProjectCard,
body.atHome #templateGrid > .recentProjectCard{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 34px!important;
  gap:12px!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:72px!important;
  margin:0!important;
  padding:13px 14px 13px 16px!important;
  border:1px solid #2b323b!important;
  border-radius:14px!important;
  background:#1a1f26!important;
  box-shadow:none!important;
}
body.atHome #recentProjects > .recentProjectCard:hover,
body.atHome #templateGrid > .recentProjectCard:hover{
  border-color:rgba(0,96,168,.58)!important;
  background:#1b2129!important;
}
body.atHome #recentProjects .documentIcon,
body.atHome #templateGrid .documentIcon{
  display:none!important;
}
body.atHome #recentProjects .recentProjectOpen,
body.atHome #templateGrid .recentProjectOpen{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--text)!important;
  text-align:left!important;
  white-space:normal!important;
  box-shadow:none!important;
}
body.atHome #recentProjects .recentProjectOpen strong,
body.atHome #templateGrid .recentProjectOpen strong{
  display:block!important;
  margin:0!important;
  color:var(--text)!important;
  font-size:15px!important;
  line-height:1.25!important;
  font-weight:900!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.atHome #recentProjects .recentProjectOpen span,
body.atHome #templateGrid .recentProjectOpen span{
  display:block!important;
  margin:4px 0 0!important;
  color:#8f99a5!important;
  font-size:11px!important;
  line-height:1.3!important;
  font-weight:800!important;
  text-transform:none!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.atHome #recentProjects .documentMenu,
body.atHome #templateGrid .documentMenu{
  position:relative!important;
  justify-self:end!important;
  width:34px!important;
  height:34px!important;
  margin:0!important;
  padding:0!important;
}
body.atHome #recentProjects .documentMenu > summary,
body.atHome #templateGrid .documentMenu > summary{
  box-sizing:border-box!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  margin:0!important;
  padding:0 0 4px!important;
  border:1px solid #303842!important;
  border-radius:9px!important;
  background:#181d23!important;
  color:#9aa4af!important;
  display:grid!important;
  place-items:center!important;
  font-size:18px!important;
  line-height:1!important;
  font-weight:800!important;
  cursor:pointer!important;
}
body.atHome #recentProjects .documentMenu > summary:hover,
body.atHome #templateGrid .documentMenu > summary:hover{
  color:var(--accent)!important;
  border-color:var(--accent)!important;
}
body.atHome #recentProjects .documentMenuPanel,
body.atHome #templateGrid .documentMenuPanel{
  position:absolute!important;
  right:0!important;
  top:39px!important;
  z-index:120!important;
  width:118px!important;
  min-width:118px!important;
  max-width:118px!important;
  height:auto!important;
  min-height:0!important;
  display:grid!important;
  gap:2px!important;
  margin:0!important;
  padding:5px!important;
  border:1px solid #303842!important;
  border-radius:10px!important;
  background:#11151a!important;
  box-shadow:0 16px 42px rgba(0,0,0,.58)!important;
  overflow:hidden!important;
}
body.atHome #recentProjects .documentMenuPanel button,
body.atHome #templateGrid .documentMenuPanel button{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:7px 9px!important;
  border:0!important;
  border-radius:6px!important;
  background:transparent!important;
  color:#c6cdd5!important;
  text-align:left!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:800!important;
  text-transform:none!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}
body.atHome #recentProjects .documentMenuPanel button:hover,
body.atHome #templateGrid .documentMenuPanel button:hover{
  background:#222833!important;
  color:#fff!important;
}
body.atHome #recentProjects .documentMenuPanel .dangerText,
body.atHome #templateGrid .documentMenuPanel .dangerText{
  color:#f0a3a3!important;
}

/* Beta 2.0 homepage menu lock — compact floating actions beside the ellipsis. */
body.atHome #recentProjects .documentMenuPanel,
body.atHome #templateGrid .documentMenuPanel{
  position:fixed!important;
  right:auto!important;
  bottom:auto!important;
  z-index:600!important;
  width:124px!important;
  min-width:124px!important;
  max-width:124px!important;
  padding:5px!important;
  gap:2px!important;
  overflow:visible!important;
}
body.atHome #recentProjects .documentMenuPanel button,
body.atHome #templateGrid .documentMenuPanel button{
  min-height:28px!important;
  padding:6px 9px!important;
  font-size:11px!important;
  line-height:1.15!important;
}

/* Cloud + Club Architecture Foundation 0.1 */
.homeHeaderActions{display:flex;align-items:center;gap:12px;align-self:flex-start}
.workspacePicker{margin:0;min-width:230px;color:var(--muted);font-size:10px;letter-spacing:.12em}
.workspacePicker select{margin-top:6px;width:100%;border:1px solid var(--line);border-radius:10px;background:#0b0f14;color:var(--text);padding:10px 34px 10px 11px;font:800 12px Inter,Arial,sans-serif;text-transform:none}
.workspaceRole{align-self:flex-end;margin-bottom:2px;border:1px solid var(--line);border-radius:999px;padding:7px 9px;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.activeWorkspaceLabel{font-size:11px!important;color:var(--accent)!important;font-weight:850;margin-top:2px!important}
@media(max-width:760px){.homeHeader{align-items:flex-start;gap:24px;flex-direction:column}.homeHeaderActions{width:100%;justify-content:space-between}.workspacePicker{min-width:0;flex:1}}


/* Media Foundation repair: keep the account control in the true top-right of Home. */
.homeHeader{position:relative!important}
.homeAccountMenu{position:absolute!important;top:22px!important;right:22px!important;z-index:20!important}
.homeHeaderActions{align-self:flex-end!important}
@media(max-width:760px){.homeAccountMenu{top:16px!important;right:16px!important}.homeHeader{padding-top:72px!important}}

/* BUILD 2 — organisation identity, account and administration */
:root{--organisation-splash:#0060A8}
.organisationActive .homeScreen{background:radial-gradient(circle at top left,color-mix(in srgb,var(--organisation-splash) 20%,transparent),transparent 36%),#080a0d}
.organisationActive .homeHeader{background:linear-gradient(135deg,color-mix(in srgb,var(--organisation-splash) 14%,#14181e),#0c0f13)}
.organisationHomeSections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.organisationHomeSections[hidden]{display:none!important}.organisationResourcePanel{min-height:170px}.organisationResourcePanel.receivedPanel{grid-column:1/-1}.foundationBadge{font-size:10px;font-weight:950;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:999px;padding:5px 8px}.organisationEmptyState{min-height:104px;display:flex;flex-direction:column;justify-content:center;gap:7px;color:var(--muted);border:1px dashed var(--line);border-radius:15px;padding:18px}.organisationEmptyState strong{color:var(--text);font-size:14px}.organisationEmptyState span{font-size:12px;line-height:1.5}
.accountControl{position:fixed;top:16px;right:18px;z-index:950}.accountTrigger{display:flex;align-items:center;gap:9px;padding:7px 10px 7px 7px;background:#11151a;box-shadow:0 15px 45px rgba(0,0,0,.35)}.accountTrigger>span:first-child{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:12px}.accountTriggerLabel{max-width:155px;overflow:hidden;text-overflow:ellipsis}.accountDropdown{position:absolute;right:0;top:calc(100% + 9px);width:250px;border:1px solid var(--line);border-radius:15px;background:#11151a;padding:8px;box-shadow:0 24px 70px rgba(0,0,0,.58);display:grid;gap:4px}.accountDropdown[hidden]{display:none!important}.accountIdentity{padding:11px 10px 13px;border-bottom:1px solid var(--line);margin-bottom:3px;display:grid;gap:3px}.accountIdentity strong{font-size:14px}.accountIdentity span,.accountIdentity small{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.accountIdentity small{color:var(--accent);text-transform:capitalize}.accountDropdown>button{text-align:left;border:0;background:transparent;padding:10px}.accountDropdown>button:hover{background:#1b2027}.accountDropdown .accountSignOut{color:#ff9a9a;border-top:1px solid var(--line);border-radius:0;margin-top:3px}
.organisationAdminOverlay,.organisationInvitationOverlay{position:fixed;inset:0;z-index:1100;background:rgba(3,5,8,.82);backdrop-filter:blur(12px);display:grid;place-items:center;padding:28px}.organisationAdminOverlay[hidden],.organisationInvitationOverlay[hidden]{display:none!important}.organisationAdmin{width:min(1080px,96vw);height:min(760px,92vh);border:1px solid var(--line);border-radius:24px;background:#0d1014;box-shadow:0 40px 120px rgba(0,0,0,.65);display:grid;grid-template-rows:auto auto 1fr;overflow:hidden}.organisationAdminHeader{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid var(--line)}.organisationAdminHeader span{font-size:10px;color:var(--accent);text-transform:uppercase;letter-spacing:.16em;font-weight:950}.organisationAdminHeader h2{margin:4px 0 0;font-size:27px}.organisationAdminHeader>button{width:38px;height:38px;padding:0;font-size:22px}.organisationAdminTabs{display:flex;gap:4px;padding:10px 18px;border-bottom:1px solid var(--line);background:#0a0d11}.organisationAdminTabs button{border:0;background:transparent;color:var(--muted);padding:9px 13px}.organisationAdminTabs button.active{background:#171c22;color:var(--accent)}.organisationAdminBody{padding:22px;overflow:auto}.organisationAdminBody>section{height:100%}.organisationFormCard{border:1px solid var(--line);background:#13171c;border-radius:18px;padding:20px;display:grid;gap:15px}.organisationFormCard h3{margin:0;font-size:16px}.organisationFormCard select{width:100%;margin-top:5px;background:#0b1220;color:var(--text);border:1px solid var(--line);border-radius:9px;padding:10px}.organisationStatus{min-height:18px;font-size:12px;margin:0}.organisationStatus[data-error=true]{color:#ff8a8a}.brandingWorkspace{display:grid;grid-template-columns:minmax(330px,.75fr) minmax(420px,1.25fr);gap:20px}.brandingColourGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.brandingPreview{border:1px solid var(--line);border-radius:18px;background:#090c10;padding:18px;display:grid;grid-template-rows:auto 1fr;gap:14px}.brandingPreview>span{font-size:10px;color:var(--muted);font-weight:950;text-transform:uppercase;letter-spacing:.14em}#brandingPreviewCard{--preview-accent:#0060A8;--preview-splash:#0060A8;border:1px solid var(--line);border-radius:22px;background:radial-gradient(circle at top left,color-mix(in srgb,var(--preview-splash) 25%,transparent),transparent 42%),linear-gradient(135deg,#14181e,#0c0f13);padding:28px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;min-height:300px}#brandingPreviewCard img{width:86px;height:86px;object-fit:contain;border-radius:20px;border:1px solid var(--line);order:2}#brandingPreviewCard div{display:grid;gap:9px}#brandingPreviewCard small{color:var(--preview-accent);font-weight:950;text-transform:uppercase;letter-spacing:.14em}#brandingPreviewCard strong{font-size:38px;line-height:.92;letter-spacing:-.055em;max-width:430px}.membersWorkspace{display:grid;grid-template-columns:330px 1fr;gap:20px}.inviteCard textarea{min-height:80px}.membersListCard{align-content:start}.membersListHead{display:flex;align-items:center;justify-content:space-between}.memberRow,.invitationRow{display:grid;grid-template-columns:1fr 130px auto;gap:9px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px;margin-top:8px;background:#0f1318}.memberRow>div,.invitationRow>div{display:grid;gap:3px;min-width:0}.memberRow span,.invitationRow span{font-size:11px;color:var(--muted);text-transform:capitalize}.memberRow select{margin:0}.memberRow button,.invitationRow button{padding:8px 10px;font-size:11px}.invitationRow{grid-template-columns:1fr auto auto}.permissionsCard{max-width:780px}.permissionMatrix{display:grid;gap:10px}.permissionMatrix>div{border:1px solid var(--line);border-radius:13px;padding:14px;display:grid;gap:5px}.permissionMatrix span{font-size:12px;color:var(--muted)}.organisationInvitationCard{width:min(480px,94vw);border:1px solid var(--line);border-radius:22px;background:#11151a;padding:28px;display:grid;gap:16px;box-shadow:0 30px 90px rgba(0,0,0,.6)}.organisationInvitationCard>span{color:var(--accent);font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.16em}.organisationInvitationCard h2{margin:0;font-size:30px}.organisationInvitationCard>div{display:flex;justify-content:flex-end;gap:10px}.organisationInvitationCard small{color:#ff9a9a;min-height:18px}
@media(max-width:800px){.brandingWorkspace,.membersWorkspace{grid-template-columns:1fr}.organisationHomeSections{grid-template-columns:1fr}.organisationResourcePanel.receivedPanel{grid-column:auto}.organisationAdmin{height:94vh}.accountTriggerLabel{display:none}}

/* BUILD 2.1 — assessment repair: balanced homepage identity and non-overlapping account control */
:root{
  --organisation-accent:#0060A8;
  --organisation-accent-soft:rgba(0,96,168,.14);
  --organisation-accent-glow:rgba(0,96,168,.20);
}

/* Organisation colour is an identity layer. It changes Home and organisation administration,
   without recolouring the locked document/editor architecture. */
body.organisationActive.atHome .homeKicker,
body.organisationActive.atHome .workflowCard span,
body.organisationActive.atHome .homePanel h2,
body.organisationActive.atHome .foundationBadge{
  color:var(--organisation-accent)!important;
}
body.organisationActive.atHome .workflowCard:hover,
body.organisationActive.atHome .recentProjectCard:hover,
body.organisationActive.atHome .templateCard:hover{
  border-color:var(--organisation-accent)!important;
}
body.organisationActive.atHome .homePanelHead button:hover{
  color:var(--organisation-accent)!important;
  border-color:var(--organisation-accent)!important;
}
body.organisationActive.atHome .homeHeader{
  background:
    radial-gradient(circle at 82% 12%,var(--organisation-accent-glow),transparent 32%),
    radial-gradient(circle at top left,color-mix(in srgb,var(--organisation-splash) 24%,transparent),transparent 38%),
    linear-gradient(135deg,#11151A,#07090C)!important;
}
body.organisationActive.atHome .homeScreen{
  background:radial-gradient(circle at top left,color-mix(in srgb,var(--organisation-splash) 18%,transparent),transparent 36%),#080a0d!important;
}
body.organisationActive .organisationAdminTabs button.active,
body.organisationActive .organisationAdminHeader>div>span,
body.organisationActive .brandingPreview>span{
  color:var(--organisation-accent)!important;
}

/* Match the established My Projects / Templates proportions and panel geometry. */
.organisationHomeSections{
  display:grid!important;
  grid-template-columns:1.4fr .9fr!important;
  gap:18px!important;
  align-items:stretch!important;
}
.organisationHomeSections[hidden]{display:none!important;}
.organisationResourcePanel{
  min-height:220px!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
}
.organisationResourcePanel .organisationEmptyState{
  flex:1!important;
  min-height:150px!important;
}
.organisationResourcePanel.receivedPanel{
  grid-column:1/-1!important;
  min-height:154px!important;
}
.organisationResourcePanel.receivedPanel .organisationEmptyState{
  min-height:84px!important;
}

/* In projects the account control is part of the existing action flow, after cloud status. */
.accountControl{
  position:relative!important;
  inset:auto!important;
  z-index:160!important;
  flex:0 0 auto!important;
}
.accountTrigger{
  min-height:34px!important;
  max-width:230px!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:5px 9px 5px 6px!important;
  border:1px solid #303842!important;
  border-radius:10px!important;
  background:#151a20!important;
  color:#c7cdd5!important;
  box-shadow:none!important;
  font-size:10px!important;
  font-weight:850!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.accountTrigger:hover,
.accountTrigger[aria-expanded="true"]{
  border-color:#4a5663!important;
  background:#1a2027!important;
  color:#fff!important;
}
#accountInitial{
  width:22px!important;
  height:22px!important;
  flex:0 0 22px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:7px!important;
  background:#252d36!important;
  color:#f4f6f8!important;
  font-size:10px!important;
  font-weight:950!important;
}
.accountTriggerLabel{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.accountChevron{color:#77828e;font-size:12px;line-height:1;}
.accountDropdown{
  right:0!important;
  top:calc(100% + 8px)!important;
  min-width:250px!important;
}
.cloudSaveState{
  display:inline-flex!important;
  align-items:center!important;
  min-height:34px!important;
  padding:0 3px!important;
  visibility:visible!important;
  opacity:1!important;
}

/* On Home the same control is viewport-safe and does not alter homepage geometry. */
body.atHome .accountControl{
  position:fixed!important;
  top:18px!important;
  right:22px!important;
  z-index:950!important;
}
body.atHome .accountTrigger{
  background:rgba(17,21,26,.92)!important;
  backdrop-filter:blur(10px)!important;
}

@media(max-width:980px){
  .accountTriggerLabel{display:none!important;}
  .accountTrigger{padding-right:6px!important;}
  .accountChevron{display:none!important;}
}
@media(max-width:800px){
  .organisationHomeSections{grid-template-columns:1fr!important;}
  .organisationResourcePanel.receivedPanel{grid-column:auto!important;}
}

/* BUILD 2.2 — organisation identity, administration scrolling and image stability */
body:not(.atHome) > .accountControl{display:none!important;}
body.atHome > .accountControl{
  display:block;
  position:fixed!important;
  top:20px!important;
  right:24px!important;
  z-index:1250!important;
}
body.atHome > .accountControl[hidden]{display:none!important;}
body.atHome .accountTrigger{
  min-width:190px!important;
  max-width:260px!important;
  padding:7px 10px 7px 7px!important;
  border-radius:13px!important;
  background:rgba(15,19,24,.94)!important;
  border-color:rgba(255,255,255,.12)!important;
  box-shadow:0 16px 48px rgba(0,0,0,.34)!important;
  backdrop-filter:blur(14px)!important;
}
.accountTriggerText{display:grid;min-width:0;text-align:left;line-height:1.08;gap:3px;}
.accountTriggerText strong{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f4f6f8;}
.accountTriggerText small{font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-weight:800;}
body.atHome .accountDropdown{top:calc(100% + 10px)!important;}

/* Organisation identity applies to application chrome only, never documents. */
body.organisationActive .topbar .appLogo{border-color:color-mix(in srgb,var(--organisation-accent) 55%,var(--line))!important;}
body.organisationActive .topbar .appLogo img{object-fit:contain!important;background:#0d1116!important;}
body.organisationActive .topbar #projectModeLabel{color:var(--organisation-accent)!important;}

.organisationAdmin{min-height:0!important;}
.organisationAdminHeader{position:relative;z-index:3;background:#0d1014;}
.organisationAdminTabs{position:relative;z-index:3;overflow-x:auto;flex:0 0 auto;}
.organisationAdminBody{min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain;padding-bottom:38px!important;}
.organisationAdminBody>section{height:auto!important;min-height:100%;}
.brandingWorkspace,.membersWorkspace{align-items:start;}
.membersListCard{min-height:0;}
#organisationMembersList,#organisationInvitationsList{min-height:0;}
@media(max-height:760px){
  .organisationAdminOverlay{padding:14px!important;}
  .organisationAdmin{height:calc(100vh - 28px)!important;}
  .organisationAdminHeader{padding:15px 18px!important;}
  .organisationAdminBody{padding:16px!important;padding-bottom:34px!important;}
}

/* Images reserve their final transform and appear only after decoding. */
.stableMediaAsset{opacity:0!important;visibility:hidden;transition:opacity .14s ease;}
.stableMediaAsset.mediaAssetReady{visibility:visible;opacity:var(--media-opacity,1)!important;}
.editableImageStage{contain:layout paint style;}
.editableImageStage>.stableMediaAsset{aspect-ratio:var(--media-aspect,auto);}
.presentMediaImage{position:relative;contain:layout paint style;}
.presentStableMediaAsset{max-width:100%;max-height:100%;object-fit:contain;}
#presentationOverlay.presentationPreparing{visibility:hidden!important;pointer-events:none!important;}
#presentationOverlay:not(.presentationPreparing){visibility:visible;}

/* BUILD 3.1 — organisation projects */
.foundationBadge.live{border-color:rgba(143,224,178,.35);color:#8fe0b2;background:rgba(143,224,178,.08)}
.organisationProjectList{min-height:126px;max-height:310px;overflow:auto;padding-right:3px}
.recentProjectCard.organisationOwned{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,#171c22),#171c22)}
.recentProjectCard.organisationOwned .documentIcon{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent)}
body.atHome > .accountControl{right:max(24px,calc((100vw - min(1160px,100%))/2 + 38px));top:50px}
@media(max-width:900px){body.atHome > .accountControl{right:24px;top:24px}}


/* BUILD 3.2 — organisation templates and final account/menu cleanup */
body.atHome > .accountControl{
  right:max(38px,calc((100vw - 1160px)/2 + 38px))!important;
  top:38px!important;
}
.accountIdentity span:empty{display:none}
.organisationTemplateGrid{max-height:360px;overflow:auto;align-content:start}
.organisationResourcePanel .organisationTemplateGrid{min-height:150px}
@media(max-width:1236px){body.atHome > .accountControl{right:38px!important}}
@media(max-width:700px){body.atHome > .accountControl{right:18px!important;top:18px!important}}

/* BUILD 3.2.1 — assessment corrections */
/* Account belongs to the viewport, not the homepage container or scroll flow. */
body.atHome > #accountControl.accountControl{
  position:fixed!important;
  top:18px!important;
  right:18px!important;
  bottom:auto!important;
  left:auto!important;
  inset:auto 18px auto auto!important;
  margin:0!important;
  transform:none!important;
  z-index:1400!important;
}
@media(max-width:700px){
  body.atHome > #accountControl.accountControl{
    top:14px!important;
    right:14px!important;
    inset:auto 14px auto auto!important;
  }
}

/* Organisation-template actions use the exact established project/template menu system. */
body.atHome #organisationTemplates .documentMenu{
  position:relative!important;
  justify-self:end!important;
  width:34px!important;
  height:34px!important;
  margin:0!important;
  padding:0!important;
}
body.atHome #organisationTemplates .documentMenu > summary{
  box-sizing:border-box!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  margin:0!important;
  padding:0 0 4px!important;
  border:1px solid #303842!important;
  border-radius:9px!important;
  background:#181d23!important;
  color:#9aa4af!important;
  display:grid!important;
  place-items:center!important;
  font-family:Inter,Arial,sans-serif!important;
  font-size:18px!important;
  line-height:1!important;
  font-weight:800!important;
  cursor:pointer!important;
}
body.atHome #organisationTemplates .documentMenu > summary:hover{
  color:var(--accent)!important;
  border-color:var(--accent)!important;
}
body.atHome #organisationTemplates .documentMenuPanel{
  position:fixed!important;
  right:auto!important;
  bottom:auto!important;
  z-index:600!important;
  width:124px!important;
  min-width:124px!important;
  max-width:124px!important;
  height:auto!important;
  min-height:0!important;
  display:grid!important;
  gap:2px!important;
  margin:0!important;
  padding:5px!important;
  border:1px solid #303842!important;
  border-radius:10px!important;
  background:#11151a!important;
  box-shadow:0 16px 42px rgba(0,0,0,.58)!important;
  overflow:visible!important;
}
body.atHome #organisationTemplates .documentMenuPanel button{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:28px!important;
  margin:0!important;
  padding:6px 9px!important;
  border:0!important;
  border-radius:6px!important;
  background:transparent!important;
  color:#c6cdd5!important;
  text-align:left!important;
  font-family:Inter,Arial,sans-serif!important;
  font-size:11px!important;
  line-height:1.15!important;
  font-weight:800!important;
  text-transform:none!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}
body.atHome #organisationTemplates .documentMenuPanel button:hover{
  background:#222833!important;
  color:#fff!important;
}
body.atHome #organisationTemplates .documentMenuPanel .dangerText{
  color:#f0a3a3!important;
}


/* BUILD 3.2.2 — viewport-fixed account portal and single-copy guard */
.viewportAccountLayer{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  z-index:1400!important;
  pointer-events:none!important;
  overflow:visible!important;
  transform:none!important;
  contain:layout style!important;
}
.viewportAccountLayer > #accountControl.accountControl{
  position:absolute!important;
  top:14px!important;
  right:14px!important;
  bottom:auto!important;
  left:auto!important;
  margin:0!important;
  transform:none!important;
  pointer-events:auto!important;
  z-index:1!important;
}
body:not(.atHome) .viewportAccountLayer > #accountControl.accountControl{display:none!important;}
body.atHome .viewportAccountLayer > #accountControl.accountControl[hidden]{display:none!important;}
body.atHome .viewportAccountLayer > #accountControl.accountControl:not([hidden]){display:block!important;}
@media(max-width:700px){
  .viewportAccountLayer > #accountControl.accountControl{top:10px!important;right:10px!important;}
}
#templateGrid [data-action="copy-org"]:disabled{opacity:.58;cursor:wait;pointer-events:none;}


/* BUILD 3.2.2 final correction — account is portalled outside the scroll container. */
#viewportAccountLayer.viewportAccountLayer{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  z-index:1600!important;
  pointer-events:none!important;
  overflow:visible!important;
}
#viewportAccountLayer > #accountControl.accountControl{
  position:absolute!important;
  top:12px!important;
  right:12px!important;
  left:auto!important;
  bottom:auto!important;
  margin:0!important;
  transform:none!important;
  pointer-events:auto!important;
}
body:not(.atHome) #viewportAccountLayer > #accountControl.accountControl{display:none!important;}
body.atHome #viewportAccountLayer > #accountControl.accountControl[hidden]{display:none!important;}
body.atHome #viewportAccountLayer > #accountControl.accountControl:not([hidden]){display:block!important;}
#templateGrid [data-action="copy-org"]:disabled{opacity:.58!important;cursor:wait!important;pointer-events:none!important;}
/* Build 3.3.1 ownership save actions */
#copyProjectOwnershipBtn,#saveTemplateOwnershipBtn{width:100%;text-align:left}

/* BUILD 4.1 — SEND A COPY */
.receivedHomeSection{display:block}.receivedPanel{min-height:0}.receivedProjectsList{display:grid;gap:10px}.receivedProjectCard{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--line);background:#171b21;border-radius:16px;padding:14px 16px}.receivedProjectMeta{min-width:0;display:grid;gap:4px}.receivedProjectMeta>span,.receivedProjectMeta>small{color:var(--muted);font-size:11px;font-weight:850}.receivedProjectMeta>strong{font-size:15px}.receivedProjectMeta p{margin:5px 0 0;color:#c7cdd5;font-size:12px;line-height:1.45;white-space:pre-wrap}.receivedProjectActions{display:flex;gap:8px;flex:none}.receivedProjectActions button{padding:8px 10px;font-size:11px}
.sendCopyOverlay{position:fixed;inset:0;z-index:10050;background:rgba(3,5,8,.76);backdrop-filter:blur(8px);display:grid;place-items:center;padding:24px}.sendCopyOverlay[hidden]{display:none!important}.sendCopyDialog{width:min(540px,100%);max-height:min(720px,calc(100vh - 48px));overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#11151a;box-shadow:0 34px 100px rgba(0,0,0,.62);display:grid;grid-template-rows:auto minmax(0,1fr) auto}.sendCopyDialog>header{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-bottom:1px solid var(--line)}.sendCopyDialog>header span{display:block;color:var(--accent);font-size:10px;font-weight:950;letter-spacing:.16em;text-transform:uppercase;margin-bottom:5px}.sendCopyDialog>header h2{margin:0;font-size:22px}.sendCopyDialog>header button{width:34px;height:34px;padding:0;font-size:22px}.sendCopyBody{padding:20px 22px;overflow:auto;display:grid;gap:16px}.sendCopyProject{border:1px solid var(--line);background:#171b21;border-radius:14px;padding:14px;display:grid;gap:5px}.sendCopyProject small{color:var(--accent);font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.12em}.sendCopyProject strong{font-size:16px}.sendCopyProject span{color:var(--muted);font-size:12px}.sendCopyBody textarea{min-height:96px}.sendCopyStatus{min-height:18px;margin:0;font-size:12px}.sendCopyStatus[data-type="error"]{color:#ff8a8a}.sendCopyDialog>footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid var(--line)}
@media(max-width:700px){.receivedProjectCard{align-items:flex-start;flex-direction:column}.receivedProjectActions{width:100%}.receivedProjectActions button{flex:1}}

/* STUDIO RC1 — final account, club settings and branding polish */
#viewportAccountLayer.viewportAccountLayer{position:fixed!important;inset:0!important;transform:none!important;contain:none!important;overflow:visible!important}
#viewportAccountLayer > #accountControl.accountControl{position:fixed!important;top:12px!important;right:12px!important;transform:none!important}
.sendCopyMemberHelp{margin:-8px 0 0;color:var(--muted);font-size:11px;line-height:1.45}
.sendCopyBody select{width:100%;margin-top:5px;background:#0b1220;color:var(--text);border:1px solid var(--line);border-radius:9px;padding:11px;text-transform:none}
.leaveClubArea{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.leaveClubArea button,[data-account-action="leave-club"]{color:#f0a3a3!important}
.leaveClubArea p{font-size:11px;color:var(--muted);margin:8px 0 0}
.organisationAdmin{max-height:calc(100vh - 40px)!important}
.organisationAdminBody{overflow-y:auto!important;overscroll-behavior:contain}
#personalBrandingPreviewCard{min-height:220px;border:1px solid var(--line);border-radius:18px;padding:24px;background:radial-gradient(circle at top left,color-mix(in srgb,var(--preview-splash,#0060A8) 24%,transparent),transparent 48%),#101419;display:flex;align-items:flex-end;gap:18px}
#personalBrandingPreviewCard img{width:82px;height:82px;border-radius:50%;object-fit:contain;background:#0b0d10;border:1px solid var(--line)}
#personalBrandingPreviewCard div{display:grid;gap:8px}
#personalBrandingPreviewCard small{color:var(--preview-accent,#0060A8);font-weight:900;text-transform:uppercase;letter-spacing:.12em}
#personalBrandingPreviewCard strong{font-size:28px;letter-spacing:-.04em}

/* RC1.1 — personal branding uses the same identity controls and application rules as club branding. */
body.personalBrandingActive.atHome .homeKicker,
body.personalBrandingActive.atHome .workflowCard span,
body.personalBrandingActive.atHome .homePanel h2,
body.personalBrandingActive.atHome .foundationBadge{
  color:var(--organisation-accent)!important;
}
body.personalBrandingActive.atHome .workflowCard:hover,
body.personalBrandingActive.atHome .recentProjectCard:hover,
body.personalBrandingActive.atHome .templateCard:hover{
  border-color:var(--organisation-accent)!important;
}
body.personalBrandingActive.atHome .homePanelHead button:hover{
  color:var(--organisation-accent)!important;
  border-color:var(--organisation-accent)!important;
}
body.personalBrandingActive.atHome .homeHeader{
  background:
    radial-gradient(circle at 82% 12%,var(--organisation-accent-glow),transparent 32%),
    radial-gradient(circle at top left,color-mix(in srgb,var(--organisation-splash) 24%,transparent),transparent 38%),
    linear-gradient(135deg,#11151A,#07090C)!important;
}
body.personalBrandingActive.atHome .homeScreen{
  background:radial-gradient(circle at top left,color-mix(in srgb,var(--organisation-splash) 18%,transparent),transparent 36%),#080a0d!important;
}
body.personalBrandingActive .topbar .appLogo{
  border-color:color-mix(in srgb,var(--organisation-accent) 55%,var(--line))!important;
}
body.personalBrandingActive .topbar .appLogo img{
  object-fit:contain!important;
  background:#0d1116!important;
}
body.personalBrandingActive .topbar #projectModeLabel{
  color:var(--organisation-accent)!important;
}
/* Make the personal controls visually identical to Club Settings. */
#personalBrandingOverlay #personalBrandingPreviewCard{
  --preview-accent:#0060A8;
  --preview-splash:#0060A8;
  min-height:300px!important;
  border-radius:22px!important;
  padding:28px!important;
  background:radial-gradient(circle at top left,color-mix(in srgb,var(--preview-splash) 25%,transparent),transparent 42%),linear-gradient(135deg,#14181e,#0c0f13)!important;
  justify-content:space-between!important;
}
#personalBrandingOverlay #personalBrandingPreviewCard img{
  width:86px!important;height:86px!important;border-radius:20px!important;order:2!important;
}
#personalBrandingOverlay #personalBrandingPreviewCard small{color:var(--preview-accent)!important;}
#personalBrandingOverlay #personalBrandingPreviewCard strong{font-size:38px!important;line-height:.92!important;max-width:430px!important;}

/* RC1.2 — controlled club setup link */
body.clubSetupOpen{overflow:hidden!important}
.clubSetupOverlay{position:fixed;inset:0;z-index:10080;background:rgba(3,5,8,.82);backdrop-filter:blur(10px);display:grid;place-items:center;padding:24px}
.clubSetupOverlay[hidden]{display:none!important}
.clubSetupDialog{width:min(520px,100%);border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,#15191f,#0d1014);box-shadow:0 38px 120px rgba(0,0,0,.68);overflow:hidden}
.clubSetupDialog>header{padding:25px 26px 20px;border-bottom:1px solid var(--line)}
.clubSetupDialog>header span{display:block;color:var(--accent);font-size:10px;font-weight:950;letter-spacing:.16em;text-transform:uppercase;margin-bottom:7px}
.clubSetupDialog>header h2{margin:0;font-size:27px;letter-spacing:-.035em}
.clubSetupBody{padding:24px 26px;display:grid;gap:18px}
.clubSetupBody>p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.clubSetupBody label{display:grid;gap:8px;color:#c8ced6;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.clubSetupBody input{width:100%;border:1px solid var(--line);border-radius:12px;background:#090c10;color:var(--text);padding:14px 15px;font:inherit;outline:none;text-transform:none;letter-spacing:normal}
.clubSetupBody input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}
.clubSetupOwner{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#101419}
.clubSetupOwner strong{color:var(--text)}
.clubSetupStatus{min-height:18px!important;font-size:12px!important}
.clubSetupStatus[data-type="error"]{color:#ff8a8a!important}.clubSetupStatus[data-type="success"]{color:#8fe0b2!important}
.clubSetupDialog>footer{display:flex;justify-content:flex-end;padding:18px 26px 24px;border-top:1px solid var(--line)}
.clubSetupDialog>footer button{min-width:190px;padding:12px 16px}
\n\n/* RC1.4.2 forensic UI correction — Organisation Template action control must exactly match My Templates. */\nbody.atHome #organisationTemplates .documentMenu{\n  position:relative!important;justify-self:end!important;width:34px!important;height:34px!important;margin:0!important;padding:0!important;\n}\nbody.atHome #organisationTemplates .documentMenu>summary{\n  box-sizing:border-box!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;margin:0!important;padding:0 0 4px!important;\n  border:1px solid #303842!important;border-radius:9px!important;background:#181d23!important;color:#9aa4af!important;display:grid!important;place-items:center!important;\n  font-family:inherit!important;font-size:18px!important;line-height:1!important;font-weight:800!important;cursor:pointer!important;\n}\n/* RC1.4.4: organisation ellipsis hover is defined by the canonical homepage hover block. */\nbody.atHome #organisationTemplates .documentMenuPanel{\n  position:fixed!important;right:auto!important;bottom:auto!important;z-index:600!important;width:124px!important;min-width:124px!important;max-width:124px!important;\n  height:auto!important;min-height:0!important;display:grid!important;gap:2px!important;margin:0!important;padding:5px!important;border:1px solid #303842!important;\n  border-radius:10px!important;background:#11151a!important;box-shadow:0 16px 42px rgba(0,0,0,.58)!important;overflow:visible!important;\n}\nbody.atHome #organisationTemplates .documentMenuPanel button{\n  display:block!important;width:100%!important;height:auto!important;min-height:28px!important;margin:0!important;padding:6px 9px!important;border:0!important;border-radius:6px!important;\n  background:transparent!important;color:#c6cdd5!important;text-align:left!important;font-family:inherit!important;font-size:11px!important;line-height:1.15!important;font-weight:800!important;\n  text-transform:none!important;letter-spacing:0!important;white-space:nowrap!important;\n}\nbody.atHome #organisationTemplates .documentMenuPanel button:hover{background:#222833!important;color:#fff!important;}\nbody.atHome #organisationTemplates .documentMenuPanel .dangerText{color:#f0a3a3!important;}\n
/* RC1.4.3 Organisation Templates geometry retained; hover system consolidated in RC1.4.4 below. */
/* Organisation Templates: use the exact My Templates card/action geometry rather than a parallel variant. */
body.atHome #organisationTemplates{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  overflow-y:auto!important;
  overflow-x:visible!important;
  padding-right:4px!important;
  align-content:start!important;
}
body.atHome #organisationTemplates > .recentProjectCard{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 34px!important;
  gap:12px!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:72px!important;
  margin:0!important;
  padding:13px 14px 13px 16px!important;
  border:1px solid #2b323b!important;
  border-radius:14px!important;
  background:#1a1f26!important;
  box-shadow:none!important;
}
body.atHome #organisationTemplates .recentProjectOpen{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--text)!important;
  text-align:left!important;
  white-space:normal!important;
  box-shadow:none!important;
}
body.atHome #organisationTemplates .recentProjectOpen strong{
  display:block!important;
  margin:0!important;
  color:var(--text)!important;
  font-size:15px!important;
  line-height:1.25!important;
  font-weight:900!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.atHome #organisationTemplates .recentProjectOpen span{
  display:block!important;
  margin:4px 0 0!important;
  color:#8f99a5!important;
  font-size:11px!important;
  line-height:1.3!important;
  font-weight:800!important;
  text-transform:none!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.atHome #organisationTemplates .documentMenu > summary{
  font-family:Inter,Arial,sans-serif!important;
  font-size:18px!important;
  line-height:1!important;
  font-weight:800!important;
}

/* RC1.4.4 — canonical homepage hover system.
   One hover source for Default, Personal Studio and Club Studio. */
body.atHome{
  --home-hover-accent:#0060A8;
  --home-hover-soft:rgba(0,96,168,.12);
  --home-hover-ring:rgba(0,96,168,.22);
}
body.personalBrandingActive.atHome,
body.organisationActive.atHome{
  --home-hover-accent:var(--organisation-accent);
  --home-hover-soft:color-mix(in srgb,var(--organisation-accent) 12%,transparent);
  --home-hover-ring:color-mix(in srgb,var(--organisation-accent) 24%,transparent);
}

/* Workflow cards */
body.atHome .workflowCard:hover,
body.atHome .workflowCard:focus-visible{
  border-color:var(--home-hover-accent)!important;
  box-shadow:0 20px 55px rgba(0,0,0,.34),0 0 0 1px var(--home-hover-ring)!important;
}
body.atHome .workflowCard:hover span,
body.atHome .workflowCard:focus-visible span{
  color:var(--home-hover-accent)!important;
}

/* Personal and organisation project/template cards */
body.atHome #recentProjects > .recentProjectCard:hover,
body.atHome #templateGrid > .recentProjectCard:hover,
body.atHome #organisationProjects > .recentProjectCard:hover,
body.atHome #organisationTemplates > .recentProjectCard:hover{
  border-color:var(--home-hover-accent)!important;
  background:linear-gradient(135deg,var(--home-hover-soft),#1b2129)!important;
  box-shadow:0 0 0 1px var(--home-hover-ring)!important;
}

/* Ellipsis action controls */
body.atHome #recentProjects .documentMenu > summary:hover,
body.atHome #templateGrid .documentMenu > summary:hover,
body.atHome #organisationProjects .documentMenu > summary:hover,
body.atHome #organisationTemplates .documentMenu > summary:hover{
  color:var(--home-hover-accent)!important;
  border-color:var(--home-hover-accent)!important;
  box-shadow:0 0 0 1px var(--home-hover-ring)!important;
}



/* =====================================================================
   LAUNCH QA FIX — 2026-08-15
   Targeted stability corrections only. No layout redesign.
   ===================================================================== */

/* One UI typeface across browser-native controls and Studio chrome. */
button,
input,
textarea,
select,
option,
.fileBtn,
summary {
  font-family:Inter,Arial,sans-serif!important;
}

/* Squad photos: the saved crop state must win over old fixed centre/top rules. */
.squadPhoto img{
  object-position:var(--photo-x,50%) var(--photo-y,22%)!important;
  transform:scale(var(--photo-scale,1))!important;
  transform-origin:center center!important;
}
.photoEditBar button[data-clear-photo]{
  min-width:28px!important;
  color:#fecaca!important;
}
.squadTile .photoEditBar [data-clear-photo]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}

/* Squad ordering is intentionally explicit and low-risk: reorder within the
   player's positional group without changing availability or block assignment. */
.squadOrderTools{
  position:absolute!important;
  z-index:9!important;
  top:4px!important;
  left:4px!important;
  display:flex!important;
  gap:2px!important;
  opacity:0!important;
  pointer-events:none!important;
  transition:opacity .14s ease!important;
}
.squadTile:hover .squadOrderTools{
  opacity:1!important;
  pointer-events:auto!important;
}
.squadOrderTools button{
  width:17px!important;
  height:17px!important;
  min-width:17px!important;
  padding:0!important;
  border-radius:5px!important;
  background:#101820!important;
  border:1px solid #3a4652!important;
  color:#dce2e8!important;
  font-size:12px!important;
  line-height:15px!important;
}
.presentAvailabilityPage .squadOrderTools{display:none!important}

/* Lineup uses the same crop semantics as Squad while retaining marker movement.
   Click a photo to enter crop mode; drag the photo itself to reposition. */
.lineupMarker .playerPhotoSolid img{
  object-position:var(--lineup-photo-x,50%) var(--lineup-photo-y,50%)!important;
  transform:scale(var(--lineup-photo-scale,1))!important;
  transform-origin:center center!important;
}
.lineupMarker.photoEditing .playerDisc{
  box-shadow:0 0 0 2px var(--accent),0 10px 24px rgba(0,0,0,.35)!important;
  cursor:grab!important;
  overflow:visible!important;
}
.lineupPhotoEditBar{
  position:absolute!important;
  z-index:30!important;
  left:50%!important;
  top:calc(100% + 5px)!important;
  transform:translateX(-50%)!important;
  display:flex!important;
  align-items:center!important;
  gap:2px!important;
  padding:3px!important;
  border:1px solid #465361!important;
  border-radius:7px!important;
  background:rgba(7,10,14,.96)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.4)!important;
  white-space:nowrap!important;
}
.lineupPhotoEditBar button{
  min-width:22px!important;
  height:18px!important;
  padding:0 4px!important;
  border:0!important;
  border-radius:4px!important;
  background:#18202a!important;
  color:#e7ebef!important;
  font-size:7px!important;
  line-height:18px!important;
  font-weight:900!important;
}
.lineupPhotoEditBar [data-lineup-photo-clear]{color:#fecaca!important}
.lineupPhotoEditBar [data-lineup-photo-done]{background:#0060A8!important;color:#fff!important}
.lineupPageReadonly .lineupPhotoEditBar,
#presentationOverlay .lineupPhotoEditBar{display:none!important}

/* Forensic launch pass: scoped interaction repairs only. */
.weeklyActivityHeader{grid-template-columns:minmax(0,1fr) 24px!important;position:relative}
.weeklyActivityMore{width:24px!important;height:20px!important;padding:0!important;border:0!important;background:transparent!important;color:#9aa7b3!important;font-size:10px!important;line-height:20px!important}
.weeklyActivityMenu{position:absolute;z-index:40;right:5px;top:30px;display:grid;min-width:82px;padding:3px;border:1px solid #465361;border-radius:6px;background:rgba(7,10,14,.98);box-shadow:0 10px 24px rgba(0,0,0,.4)}
.weeklyActivityMenu button{height:22px!important;padding:0 7px!important;border:0!important;background:transparent!important;text-align:left!important;font-size:8px!important;color:#e7ebef!important}
.weeklyActivityMenu button:hover{background:#18202a!important}
.weeklyActivityMenu [data-weekly-delete]{color:#fecaca!important}


/* PRESENT STABILITY — retained from confirmed-good pass. */
#presentationOverlay.truePresent .presentSurface,#presentationOverlay.truePresent #presentCanvas{contain:layout paint;}
/* Weekly: dots are menu only. A separate narrow left-edge grip owns dragging. */
.weeklyLaneActivity > .weeklyActivityMove{
  cursor:pointer!important;
  z-index:70!important;
  pointer-events:auto!important;
}
.weeklyLaneActivity > .weeklyActivityMove::after{content:"•••"!important;}
.weeklyActivityDrag{
  position:absolute!important;
  z-index:20!important;
  left:0!important;
  top:8px!important;
  bottom:8px!important;
  width:7px!important;
  min-width:7px!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0 3px 3px 0!important;
  background:transparent!important;
  cursor:grab!important;
  opacity:0!important;
}
.weeklyActivityDrag:active{cursor:grabbing!important;}
.weeklyActivityMenu{z-index:80!important;}
.weeklyLaneActivity.duration-1 > .weeklyActivityMove,
.weeklyLaneActivity.duration-2 > .weeklyActivityMove,
.weeklyLaneActivity.duration-3 > .weeklyActivityMove{
  opacity:1!important;
  pointer-events:auto!important;
  cursor:pointer!important;
}

/* Weekly activity menu: keep the now-correct dots/drag behaviour, but constrain
   Duplicate + Delete to one compact horizontal popover fully inside the card. */
.weeklyActivityMenu{
  position:absolute!important;
  z-index:90!important;
  top:29px!important;
  right:6px!important;
  left:auto!important;
  width:132px!important;
  min-width:132px!important;
  max-width:132px!important;
  height:28px!important;
  min-height:28px!important;
  max-height:28px!important;
  display:flex!important;
  grid-template-columns:none!important;
  align-items:center!important;
  gap:2px!important;
  padding:2px!important;
  overflow:hidden!important;
  border:1px solid #465361!important;
  border-radius:6px!important;
  background:rgba(7,10,14,.98)!important;
  box-shadow:0 8px 18px rgba(0,0,0,.38)!important;
  box-sizing:border-box!important;
}
.weeklyActivityMenu.hidden{display:none!important;}
.weeklyActivityMenu button{
  flex:1 1 0!important;
  width:auto!important;
  min-width:0!important;
  height:22px!important;
  min-height:22px!important;
  max-height:22px!important;
  padding:0 6px!important;
  margin:0!important;
  border:0!important;
  border-radius:4px!important;
  background:transparent!important;
  font-size:8px!important;
  line-height:22px!important;
  text-align:center!important;
  white-space:nowrap!important;
}


/* RELEASE PHOTO RECOVERY — one invariant geometry contract, one active editor. */
.squadPhoto{
  position:relative!important;
  overflow:hidden!important;
}
.squadPhoto img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  transform-origin:center center!important;
  pointer-events:none!important;
  user-select:none!important;
  transition:none!important;
}
.squadTile.photoEditing .squadPhoto{
  overflow:hidden!important;
  box-shadow:none!important;
  outline:none!important;
}
.squadPhotoEditBar{
  position:absolute!important;
  z-index:60!important;
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:4px!important;
  width:auto!important;
  height:20px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
  padding:2px!important;
  margin:0!important;
  transform:translateX(-50%)!important;
  opacity:0!important;
  pointer-events:none!important;
  border:1px solid rgba(125,145,165,.58)!important;
  border-radius:5px!important;
  background:rgba(6,9,13,.92)!important;
  box-shadow:none!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
.squadTile.photoEditing .squadPhotoEditBar{
  opacity:1!important;
  pointer-events:auto!important;
}
.squadPhotoEditBar button{
  flex:0 0 24px!important;
  width:24px!important;
  min-width:24px!important;
  height:16px!important;
  min-height:16px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:3px!important;
  font-size:11px!important;
  line-height:16px!important;
}
.lineupMarker .playerPhotoSolid{
  overflow:hidden!important;
}
.lineupMarker .playerPhotoSolid img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  transform-origin:center center!important;
  pointer-events:none!important;
  user-select:none!important;
  transition:none!important;
}
.lineupMarker.photoEditing .playerDisc{
  box-shadow:none!important;
  overflow:hidden!important;
}
.lineupPhotoEditBar{
  position:absolute!important;
  z-index:30!important;
  left:50%!important;
  top:calc(100% + 5px)!important;
  transform:translateX(-50%)!important;
  display:flex!important;
  align-items:center!important;
  gap:3px!important;
  padding:2px!important;
  border:1px solid #465361!important;
  border-radius:7px!important;
  background:rgba(7,10,14,.96)!important;
  white-space:nowrap!important;
  opacity:0!important;
  pointer-events:none!important;
}
.lineupMarker.photoEditing .lineupPhotoEditBar{
  opacity:1!important;
  pointer-events:auto!important;
}
.lineupPhotoEditBar button{
  width:24px!important;
  min-width:24px!important;
  height:18px!important;
  padding:0!important;
  border:0!important;
  border-radius:4px!important;
  font-size:11px!important;
  line-height:18px!important;
}
.lineupPageReadonly .lineupPhotoEditBar,
#presentationOverlay .lineupPhotoEditBar{display:none!important;}
