:root{
 --bg:#eef1f4;--panel:#fff;--ink:#17212b;--muted:#65717d;--line:#cfd6dd;--line2:#e5e9ed;
 --nav:#0f1c27;--nav2:#152735;--accent:#1769aa;--accent2:#0b8f74;--danger:#c73232;--warn:#d99000;
 --left:330px;--week:92px;--row:48px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:#0a5c9c}
.topbar{height:58px;background:var(--nav);color:white;display:flex;align-items:stretch;position:sticky;top:0;z-index:60;box-shadow:0 1px 3px #0004}
.brand-wrap{width:150px;padding:9px 13px 7px;border-right:1px solid #ffffff1f;flex:0 0 auto}.brand{background:none;border:0;color:white;font-size:18px;font-weight:800;letter-spacing:1.8px;padding:0}.brand-sub{font-size:9px;letter-spacing:2.8px;color:#8db2ca;margin-top:3px}
.primary-nav{display:flex;min-width:0;overflow:auto;scrollbar-width:none}.primary-nav button,.subnav button{border:0;background:transparent;color:#c7d2db;padding:0 11px;white-space:nowrap;font-size:12px}.primary-nav button:hover,.primary-nav button.active{background:#214056;color:#fff}.primary-nav .nav-main{font-weight:700;color:#fff}
.user-area{margin-left:auto;display:flex;align-items:center;gap:12px;padding:0 14px;font-size:11px;white-space:nowrap;border-left:1px solid #ffffff1a}.user-area form{margin:0}.link-btn{border:0;background:none;color:#9dc2db;padding:0}
.subnav{height:32px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:stretch;position:sticky;top:58px;z-index:55;box-shadow:0 1px 2px #0000000d}.subnav button{color:#33424e;border-right:1px solid #eef1f3}.subnav button:hover,.subnav button.active{background:#edf5fb;color:#0c5e96}.subnav-spacer{flex:1}
.main{min-height:calc(100vh - 90px)}
.page{padding:14px 16px 32px}.page.wide{padding:8px 8px 28px}.pagehead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:3px 0 12px}.pagehead h1{font-size:21px;margin:0 0 3px}.subtitle{font-size:11px;color:var(--muted)}.actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.btn{border:1px solid transparent;background:#e9edf1;color:#23313c;border-radius:4px;padding:7px 10px;font-size:11px;line-height:1.1}.btn:hover{filter:brightness(.97)}.btn.primary{background:var(--accent);color:white}.btn.good{background:#0a866e;color:white}.btn.danger{background:#fff1f0;color:#a92727;border-color:#f1c2bf}.btn.warn{background:#fff5d8;color:#7a5200;border-color:#e6cf8c}.btn.dark{background:#273744;color:white}.btn.small{padding:5px 7px;font-size:10px}.btn.full{width:100%;padding:10px}.btn.active{outline:2px solid #6aa9d6;outline-offset:1px}
.toolbar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;background:white;border:1px solid var(--line);border-radius:5px;padding:7px;margin-bottom:8px}.toolbar .sep{width:1px;height:24px;background:var(--line);margin:0 3px}.toolbar label{display:flex;align-items:center;gap:5px;font-size:10px;color:#586672}.toolbar select,.toolbar input{height:28px;padding:4px 6px;border:1px solid #bfc8d0;border-radius:3px;background:white;font-size:11px}.toolbar input[type=search]{width:190px}.grow{flex:1}
.panel{background:white;border:1px solid var(--line);border-radius:5px;box-shadow:0 1px 1px #00000008}.panel.pad{padding:13px}.panel-title{font-size:13px;font-weight:700;margin-bottom:9px}.muted{color:var(--muted)}.tiny{font-size:10px}.mono{font-family:Consolas,monospace}.nowrap{white-space:nowrap}
.cards{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:8px;margin-bottom:10px}.metric{background:#fff;border:1px solid var(--line);border-radius:5px;padding:12px}.metric .n{font-size:25px;font-weight:700}.metric .k{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.metric.hot .n{color:#b42318}.metric.good .n{color:#08785f}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
table.data{width:100%;border-collapse:collapse;background:white;font-size:11px}table.data th{position:sticky;top:90px;background:#edf1f4;color:#44515c;z-index:3;text-align:left;font-weight:700}table.data th,table.data td{border:1px solid #dce2e7;padding:5px 6px;vertical-align:top}table.data tr:hover td{background:#f8fafb}table.data.compact th,table.data.compact td{padding:3px 5px}.table-scroll{overflow:auto;max-height:calc(100vh - 170px);border:1px solid var(--line);background:white}.table-scroll table.data{border:0}.table-scroll table.data th{top:0}
.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:999px;background:#edf1f4;font-size:9px;white-space:nowrap}.badge.done{background:#dff3e9;color:#16704e}.badge.blocked{background:#ffe3e0;color:#9c2821}.badge.progress{background:#fff0c7;color:#7a5700}.badge.ready{background:#e2eefb;color:#145e95}.badge.mvp{background:#dce9ff;color:#254f9d}.badge.scenario{background:#f0e0ff;color:#72449a}.priority{font-weight:700}.pri-1,.pri-critical{color:#b42318}.pri-2,.pri-high{color:#9d5a00}.pri-q{color:#7d4cab}.pri-p{color:#6d747b}
.alert{padding:8px 10px;border-radius:4px;border:1px solid #b8dbca;background:#ecfaf3;color:#156646;font-size:11px;margin-bottom:8px}.alert.error{background:#fff0ef;border-color:#efb7b3;color:#9d2923}.alert.warn{background:#fff8e3;border-color:#ead48f;color:#755508}
.empty{padding:32px;text-align:center;color:var(--muted);background:white;border:1px dashed #c9d0d6;border-radius:5px;font-size:12px}

/* Warboard */
.warboard-shell{border:1px solid #adb8c2;background:white;overflow:auto;height:calc(100vh - 165px);position:relative;box-shadow:0 1px 2px #0001}.warboard{min-width:max-content;position:relative;background:#fff}.wb-head{height:60px;display:flex;position:sticky;top:0;z-index:30;background:white}.wb-left-head{width:var(--left);min-width:var(--left);position:sticky;left:0;z-index:35;background:#273643;color:white;border-right:2px solid #72808c;padding:7px 8px}.wb-left-head .title{font-size:12px;font-weight:700}.wb-left-head .legend{display:flex;flex-wrap:wrap;gap:3px;margin-top:5px}.legend-chip{font-size:8px;padding:2px 4px;border-radius:2px;color:#111;border:1px solid #0002}.wb-time-head{display:flex;position:relative}.sprint-head{height:60px;border-right:2px solid #74818c;background:#edf1f4;position:relative}.sprint-head.active{background:#dff1e7}.sprint-head .sname{height:25px;text-align:center;padding:5px;font-weight:700;font-size:10px;border-bottom:1px solid #bdc7cf}.sprint-weeks{display:flex;height:35px}.week-head{width:var(--week);border-right:1px solid #ced5db;text-align:center;font-size:9px;padding:4px 2px;color:#53606b}.week-head small{display:block;font-size:8px;color:#7a858f;margin-top:2px}
.wb-row{height:var(--row);display:flex;position:relative;border-bottom:1px solid #d9dfe4}.wb-row:hover{background:#f8fafc}.wb-left{width:var(--left);min-width:var(--left);position:sticky;left:0;z-index:20;background:#fff;border-right:2px solid #74818c;display:grid;grid-template-columns:24px 1fr 52px 44px;align-items:stretch}.wb-row:hover .wb-left{background:#f8fafc}.wb-order{display:flex;flex-direction:column;border-right:1px solid #e0e4e8}.wb-order button{height:50%;border:0;background:#f0f3f5;font-size:8px;color:#6b7780}.wb-order button:hover{background:#dce7ef}.wb-project{padding:5px 6px;overflow:hidden}.wb-project .pname{font-size:10px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wb-project .pmeta{font-size:8px;color:#6b7780;white-space:nowrap;margin-top:3px}.wb-tshirt,.wb-pri{display:flex;align-items:center;justify-content:center;border-left:1px solid #e0e4e8;font-size:10px;font-weight:700}.wb-pri{background:#faf4d7}.wb-tshirt{background:#edf4fa}.wb-track{position:relative;height:var(--row);background-image:linear-gradient(to right,#dce2e7 1px,transparent 1px),linear-gradient(to right,#aab6c0 2px,transparent 2px);background-size:var(--week) 100%,calc(var(--week)*2) 100%;overflow:hidden}.wb-bar{position:absolute;height:13px;min-width:9px;border-radius:2px 7px 7px 2px;border:1px solid #24435b;box-shadow:0 1px 1px #0002;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:8px;line-height:11px;padding:0 3px;user-select:none;cursor:grab;z-index:4}.wb-bar:active{cursor:grabbing}.wb-bar.selected{outline:2px solid #111;z-index:9}.wb-bar.scenario-change{box-shadow:0 0 0 2px #9c62c9 inset}.wb-bar.milestone{width:12px!important;min-width:12px;border-radius:1px;transform:rotate(45deg);padding:0;overflow:visible}.wb-bar.milestone span{display:none}.wb-bar.done{border-color:#72b974}.wb-bar.blocked{outline:2px solid #d23434}.wb-bar.in_progress{border-color:#f0c866;border-width:2px}.today-line{position:absolute;top:0;bottom:0;width:3px;background:#ed3d3d99;z-index:15;pointer-events:none}.today-line::before{content:"TODAY";position:absolute;top:0;left:4px;background:#d42e2e;color:white;font-size:8px;padding:2px 3px}.dep-layer{position:absolute;left:var(--left);top:60px;pointer-events:none;z-index:12;overflow:visible}.bucket-marker{height:23px;display:flex;background:#1c2832;color:white;border-bottom:1px solid #53606b;position:relative}.bucket-marker .bm-left{width:var(--left);min-width:var(--left);position:sticky;left:0;background:#1c2832;z-index:21;padding:4px 8px;font-size:9px;font-weight:700;letter-spacing:1px}.bucket-marker .bm-rest{flex:1;background:#263944}
.inspector-strip{position:sticky;bottom:0;left:0;z-index:28;background:#fff;border-top:1px solid #9eaab4;min-height:32px;padding:4px 7px;display:flex;gap:5px;align-items:center;font-size:10px}.inspector-strip .selected-title{font-weight:700;max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scenario-banner{background:#f5eaff;border:1px solid #cba7e7;color:#6b3d8b;padding:5px 8px;border-radius:4px;font-size:10px;font-weight:700}

/* Lifecycle colours, intentionally close to the original Excel warboard language */
.lc-bho{background:#111;color:#fff}.lc-spk{background:#f1f522;color:#173a93}.lc-scp{background:#626262;color:#fff}.lc-des{background:#f3a9de;color:#111}.lc-hld{background:#7030a0;color:#fff}.lc-da{background:#e62828;color:#fff}.lc-reqs{background:#c7d8e7;color:#14324a}.lc-refn{background:#47c9ef;color:#0b2b37}.lc-dev{background:#008ffa;color:#fff}.lc-bug{background:#f02e2e;color:#fff}.lc-tech{background:#00aeb8;color:#072d30}.lc-nspr{background:#ff9797;color:#111}.lc-test{background:#ffc000;color:#1b1b1b}.lc-uati{background:#f7d8a7;color:#51300b}.lc-uat{background:#ed7d31;color:#111}.lc-cab{background:#00b050;color:#fff}.lc-depl{background:#00f03c;color:#111}.lc-cls{background:#111;color:#fff}.lc-feature{background:#287dbd;color:#fff}.lc-story{background:#6da8d2;color:#11283a}.lc-task{background:#8fa6b8;color:#10212e}.lc-milestone{background:#4a5863;color:#fff}

/* Roadmaps */
.timeline-board{border:1px solid var(--line);background:white;overflow:auto;position:relative;max-height:calc(100vh - 165px)}.tl-inner{position:relative;min-width:max-content}.tl-header{height:54px;display:flex;position:sticky;top:0;z-index:20}.tl-label-head{width:260px;min-width:260px;position:sticky;left:0;z-index:22;background:#293a47;color:white;padding:8px;font-size:11px;font-weight:700}.tl-time{display:flex}.tl-week{width:var(--week);height:54px;border-right:1px solid #cfd6dc;background:#eef2f5;text-align:center;font-size:9px;padding:7px 2px}.tl-row{height:34px;display:flex;border-bottom:1px solid #dde2e6;position:relative}.tl-label{width:260px;min-width:260px;position:sticky;left:0;z-index:10;background:#fff;border-right:2px solid #798691;padding:5px 7px;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tl-track{position:relative;background-image:linear-gradient(to right,#dce2e7 1px,transparent 1px);background-size:var(--week) 100%}.tl-shape{position:absolute;top:3px;height:27px;border-radius:2px 10px 10px 2px;padding:5px 7px;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#078fe3;color:#fff;border:1px solid #176ba2}.tl-shape.tech{background:#00aeb8}.tl-shape.spr{background:#ff9797;color:#222}.tl-shape.feature{background:#0d7caa}.tl-today{position:absolute;top:54px;bottom:0;width:3px;background:#ef3d3d99;z-index:15}

/* Tracker */
.tracker-wrap{overflow:auto;max-height:calc(100vh - 160px);border:1px solid #b7c0c8}.tracker{border-collapse:collapse;min-width:1700px;background:#fff;font-size:9px}.tracker th{position:sticky;top:0;z-index:10;background:#313e47;color:white;padding:4px;border:1px solid #66727c;writing-mode:vertical-rl;transform:rotate(180deg);height:105px;min-width:38px}.tracker th.project-col{left:0;z-index:14;writing-mode:horizontal-tb;transform:none;min-width:270px;height:auto}.tracker td{border:1px solid #d8dee3;height:28px;text-align:center;padding:2px;min-width:38px}.tracker td.project-cell{position:sticky;left:0;z-index:6;background:white;text-align:left;padding:4px 7px;font-size:9px;min-width:270px}.track-cell{cursor:pointer;font-size:8px}.track-cell.done{background:#7ac67c}.track-cell.in_progress{background:#ffe08b}.track-cell.blocked{background:#f78686}.track-cell.late{background:#ed5252;color:white}.track-cell.soon{background:#ffd47d}.track-cell.planned{background:#dceaf8}

/* MVP matrix */
.mvp-grid{display:grid;grid-template-columns:repeat(2,minmax(560px,1fr));gap:10px}.mvp-epic{border:1px solid #aeb9c2;background:white}.mvp-epic-head{display:grid;grid-template-columns:1fr 90px 72px;background:#222;color:white;align-items:center}.mvp-epic-head>div{padding:7px 8px;border-right:1px solid #555}.mvp-epic-head .epic-title{font-weight:700;font-size:11px}.mvp-row{display:grid;grid-template-columns:34px 1fr 54px 58px 58px 76px 42px;min-height:31px;border-top:1px solid #dde2e6;align-items:stretch;font-size:9px}.mvp-row>div{padding:5px;border-right:1px solid #e0e4e7}.mvp-row .pri-cell{font-size:11px;font-weight:700;text-align:center}.mvp-row .pri-cell button{width:100%;height:100%;border:0;background:transparent;font-weight:700}.mvp-row.blocked{background:#fff0ef}.mvp-row.closed{opacity:.6}.mvp-colheads{background:#eff2f4;font-weight:700;color:#4f5c66}.mvp-colheads>div{padding:3px 5px}

/* Modals */
.modal-backdrop{position:fixed;inset:0;background:#10182099;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.modal{width:760px;max-width:96vw;max-height:92vh;overflow:auto;background:white;border-radius:7px;box-shadow:0 12px 50px #0006}.modal.small{width:480px}.modal-head{position:sticky;top:0;background:#233441;color:white;padding:10px 13px;display:flex;justify-content:space-between;align-items:center;z-index:2}.modal-head h2{font-size:14px;margin:0}.modal-close{border:0;background:transparent;color:white;font-size:18px}.modal-body{padding:13px}.formgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.formgrid .span2{grid-column:span 2}.formgrid .span3{grid-column:1/-1}.formgrid label{font-size:9px;color:#53616c}.formgrid input,.formgrid select,.formgrid textarea{display:block;width:100%;margin-top:3px;border:1px solid #bec8d0;border-radius:3px;padding:6px;font-size:11px}.formgrid textarea{height:72px;resize:vertical}.modal-foot{display:flex;justify-content:flex-end;gap:6px;padding:9px 13px;border-top:1px solid var(--line);background:#f7f8f9}.comments{margin-top:10px}.comment{border-top:1px solid #e1e6ea;padding:7px 0;font-size:10px}.comment .meta{color:#77828c;font-size:8px;margin-bottom:3px}

.toast-host{position:fixed;right:15px;bottom:15px;z-index:200;display:flex;flex-direction:column;gap:6px}.toast{background:#1f2f3b;color:white;padding:9px 12px;border-radius:4px;box-shadow:0 5px 20px #0003;font-size:11px;max-width:380px}.toast.error{background:#9e302a}.toast.good{background:#146b55}

.login-shell{min-height:100vh;background:linear-gradient(135deg,#101c25,#203b4c);display:flex;align-items:center;justify-content:center;padding:20px}.login-card{width:390px;max-width:100%;background:#fff;border-radius:8px;padding:28px;box-shadow:0 20px 60px #0007}.login-logo{font-weight:800;font-size:28px;letter-spacing:4px}.login-sub{color:#66737d;font-size:10px;margin:3px 0 25px;letter-spacing:.4px}.login-card label{display:block;font-size:10px;color:#50606c;margin-bottom:10px}.login-card input{display:block;width:100%;margin-top:4px;padding:9px;border:1px solid #b8c2ca;border-radius:4px}.login-demo{margin-top:15px;padding:8px;background:#f2f5f7;border-radius:4px;font-size:9px;color:#64717b}

@media(max-width:1000px){.primary-nav button:nth-child(n+5){display:none}.user-area span{display:none}.cards{grid-template-columns:repeat(2,1fr)}.grid2,.grid3,.mvp-grid{grid-template-columns:1fr}.page{padding:8px}.toolbar input[type=search]{width:120px}:root{--left:260px;--week:76px}.wb-left{grid-template-columns:20px 1fr 42px 36px}.wb-project .pmeta{display:none}}
@media print{
 .topbar,.subnav,.toolbar,.inspector-strip,.pagehead .actions{display:none!important}
 body{background:white}.page,.page.wide{padding:0}.warboard-shell,.timeline-board,.tracker-wrap,.table-scroll{height:auto!important;max-height:none!important;overflow:visible!important;border:0}.wb-head,.wb-left-head,.wb-left,.tl-header,.tl-label-head,.tl-label,.tracker th,.tracker td.project-cell{position:static!important}.main{min-height:0}.wb-row{break-inside:avoid}.panel{break-inside:avoid}
}


/* Entiview 2.1 readability + live-warboard refinement */
:root{--row:72px;--head:52px}
body{font-size:13px}
.pagehead h1{font-size:24px}.subtitle{font-size:12px}.toolbar{font-size:12px}.toolbar label{font-size:11px}.btn{font-size:12px}.btn.small{font-size:11px}
table.data{font-size:12px}table.data th,table.data td{padding:7px 8px}table.data.compact th,table.data.compact td{padding:6px 7px}
.wb-head{height:var(--head)}.wb-left-head{padding:6px 9px;background:#334550}.wb-left-head .title{font-size:13px}.legend-chip{font-size:9px;padding:2px 5px}
.sprint-head{height:var(--head);background:#f6f8fa;border-right:1px solid #cbd3da;color:#4f5d68}.sprint-head.active{background:#edf8f2;box-shadow:inset 0 -2px #8fc9ad}.sprint-head .sname{height:22px;padding:4px;font-size:10px;font-weight:600;border-bottom:1px solid #e0e5e9}.sprint-head .sname span{font-size:8px;font-weight:400;color:#7b8790;margin-left:4px}.sprint-weeks{height:30px}.week-head{font-size:10px;padding:3px 2px;border-right:1px solid #e1e5e8}.week-head small{font-size:9px}.dep-layer{top:var(--head)}
.wb-row{min-height:72px;height:auto}.wb-left{height:100%;grid-template-columns:26px 1fr 54px 46px}.wb-project{padding:8px 8px}.wb-project .pname{font-size:12px}.wb-project .pmeta{font-size:9px;margin-top:5px}.wb-tshirt,.wb-pri{font-size:11px}.wb-track{height:100%;overflow:visible;background-image:linear-gradient(to right,#e2e7eb 1px,transparent 1px),linear-gradient(to right,#b7c1c9 1px,transparent 1px);background-size:var(--week) 100%,calc(var(--week)*2) 100%}
.wb-bar{height:22px;line-height:20px;font-size:10px;font-weight:700;padding:0 7px;overflow:hidden;z-index:4;border-radius:2px}.wb-bar.work-shape{clip-path:polygon(0 0,calc(100% - 11px) 0,100% 50%,calc(100% - 11px) 100%,0 100%);padding-right:15px;border-radius:2px}.wb-bar.release-shape{height:22px;border-radius:2px;clip-path:none;padding:0 6px}.wb-bar.marker-shape,.wb-bar.refinement-shape{height:22px;min-width:22px!important;width:22px!important;padding:0;overflow:visible;background:transparent!important;border:0!important;box-shadow:none!important;z-index:10}.marker-core{display:block;width:20px;height:20px;background:currentColor;border:2px solid #263746;box-shadow:0 1px 2px #0003}.marker-shape .marker-core{transform:rotate(45deg);border-radius:2px}.refinement-shape .marker-core{border-radius:50%;background:#47c9ef}.marker-label{position:absolute;left:24px;top:1px;height:20px;line-height:20px;background:#ffffffed;border:1px solid #ccd5db;border-radius:3px;padding:0 4px;color:#263746;font-size:9px;font-weight:700;white-space:nowrap;box-shadow:0 1px 1px #0001}.wb-bar.selected{outline:2px solid #101820;outline-offset:2px;z-index:16}.wb-bar.marker-shape.selected,.wb-bar.refinement-shape.selected{outline:none}.wb-bar.marker-shape.selected .marker-core,.wb-bar.refinement-shape.selected .marker-core{outline:3px solid #101820;outline-offset:2px}
.today-line{width:2px;background:#e83d3dcc;z-index:18}.today-line::before{content:attr(data-label);font-size:9px;top:0;left:4px;padding:2px 5px;border-radius:0 0 3px 3px;white-space:nowrap}
.bucket-marker{height:25px;background:#344650}.bucket-marker .bm-left{background:#344650;font-size:10px;padding:5px 9px}.bucket-marker .bm-rest{background:#40535e}
.inspector-strip{font-size:11px;min-height:37px}.inspector-strip .selected-title{font-size:12px}
/* MVP: one selected epic, no overflow */
.mvp-page{max-width:1500px;margin:0 auto}.epic-picker{display:grid;grid-template-columns:44px 1fr 44px;gap:8px;align-items:stretch;margin-bottom:10px}.epic-nav{border:1px solid #c5ced5;background:#fff;border-radius:7px;font-size:28px;color:#31546d}.epic-nav:disabled{opacity:.25}.epic-select-wrap{background:#fff;border:1px solid #bbc6cf;border-radius:7px;padding:10px 13px;box-shadow:0 1px 2px #0001}.eyebrow{display:block;font-size:9px;letter-spacing:1.6px;color:#6b7780;margin-bottom:4px}.epic-select-wrap select{width:100%;font-size:14px;font-weight:700;border:0;border-bottom:1px solid #d9e0e5;background:white;padding:5px 0;outline:none}.selected-epic{font-size:13px;margin-top:7px}.mvp-grid{display:block}.mvp-epic.single{width:100%;border-radius:6px;overflow:hidden}.mvp-row{grid-template-columns:78px minmax(360px,1fr) 130px 110px 78px 150px 70px;min-height:48px;font-size:12px;transition:opacity .18s ease,transform .18s ease,background .35s ease}.mvp-row>div{padding:8px 9px;min-width:0;overflow:hidden}.mvp-row .pri-cell{padding:5px}.mvp-row .pri-cell select{width:100%;height:34px;border:1px solid #c9d2d9;border-radius:5px;background:#fff;font-size:13px;font-weight:800;text-align:center}.mvp-title b{font-size:13px}.mvp-title .muted{font-size:11px;margin-top:4px;white-space:normal}.mvp-ticket{white-space:nowrap;text-overflow:ellipsis}.mvp-moving{opacity:0;transform:translateY(-7px)}.mvp-arrived{animation:mvp-arrive .7s ease}@keyframes mvp-arrive{0%{background:#fff3b9;transform:translateY(5px)}100%{background:transparent;transform:none}}
/* Feature planning readability */
.feature-planning-page{max-width:1500px;margin:0 auto}.feature-card-list{display:flex;flex-direction:column;gap:13px}.feature-card{background:#fff;border:1px solid #c2cbd2;border-radius:7px;overflow:hidden;box-shadow:0 1px 2px #0001}.feature-card-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;background:#2c3943;color:#fff;padding:12px 15px}.feature-card-head h2{font-size:15px;margin:6px 0 0}.feature-project{font-size:11px;font-weight:800;margin-right:10px}.feature-ticket{font-size:11px}.feature-card-head .badge{font-size:10px}.feature-child-head,.feature-child{display:grid;grid-template-columns:140px 90px 110px 65px minmax(360px,1fr) 130px;align-items:center}.feature-child-head{background:#edf1f4;color:#4c5963;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.3px}.feature-child-head>div,.feature-child>div{padding:8px 10px;border-right:1px solid #e0e5e9;min-width:0}.feature-child{min-height:44px;border-top:1px solid #e4e8eb;font-size:12px}.feature-child:hover{background:#f7fafc}.feature-child-title{font-size:13px}.feature-empty{padding:14px;color:#6b7780;font-size:12px}
/* Tracker readable headers */
.tracker{font-size:11px;min-width:1850px}.tracker th{writing-mode:horizontal-tb;transform:none;height:58px;min-width:100px;width:100px;padding:7px 6px;font-size:11px;line-height:1.15;text-align:center;vertical-align:middle;background:#34434e}.tracker th.project-col{min-width:330px;width:330px;text-align:left;font-size:12px}.tracker td{height:38px;min-width:100px;padding:5px;font-size:11px}.tracker td.project-cell{min-width:330px;width:330px;font-size:11px;padding:6px 9px}.track-cell{font-size:11px;font-weight:700;white-space:nowrap}
/* Softer, simpler work item / project forms */
.modal.work-modal{width:780px;border-radius:10px}.modal.project-wizard{width:720px;border-radius:10px}.modal-head.light{background:#f7f9fa;color:#1e2b35;border-bottom:1px solid #d7dee4}.modal-head.light .modal-close{color:#4f5d67}.modal-kicker{font-size:9px;letter-spacing:1.5px;color:#74808a;margin-bottom:3px}.modal-head.light h2{font-size:16px}.work-form,.wizard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px 12px}.work-form .wide,.wizard-grid .wide{grid-column:1/-1}.work-form label,.wizard-grid label,.advanced-grid label{font-size:10px;color:#586570}.work-form input,.work-form select,.work-form textarea,.wizard-grid input,.wizard-grid select,.advanced-grid input,.advanced-grid select{display:block;width:100%;margin-top:4px;border:1px solid #c3ccd3;border-radius:6px;padding:8px 9px;font-size:12px;background:#fff}.work-form textarea{height:78px;resize:vertical}.field-hint{font-size:9px;color:#89949c}.ticket-link{align-self:end;margin-bottom:8px;font-size:11px}.modal-advanced{margin-top:13px;border-top:1px solid #e0e5e9;padding-top:9px}.modal-advanced summary{cursor:pointer;color:#496071;font-size:11px}.advanced-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-top:10px}.advanced-grid .check{display:flex;align-items:center;gap:6px;padding-top:20px}.advanced-grid .check input{width:auto;margin:0}.comments h3{font-size:12px;margin:14px 0 6px}.comment{display:flex;justify-content:space-between;gap:10px;font-size:11px}.inline-add{display:flex;gap:6px;margin-top:7px}.inline-add input,.inline-add select{flex:1;padding:7px;border:1px solid #c4ccd3;border-radius:5px}.wizard-plan{display:grid;gap:4px;margin-top:13px;background:#eef6fb;border:1px solid #c7ddea;border-radius:6px;padding:10px 12px;font-size:11px;color:#365365}
@media(max-width:900px){.mvp-row{grid-template-columns:64px minmax(260px,1fr) 100px 90px 60px 120px 55px}.feature-child-head,.feature-child{grid-template-columns:110px 70px 90px 50px minmax(260px,1fr) 100px}.work-form,.wizard-grid{grid-template-columns:1fr 1fr}.advanced-grid{grid-template-columns:1fr 1fr}.work-form .wide,.wizard-grid .wide{grid-column:1/-1}}
.marker-shape.lc-da .marker-core{background:#e62828}.marker-shape.lc-reqs .marker-core{background:#c7d8e7}.marker-shape.lc-uati .marker-core{background:#f7d8a7}.marker-shape.lc-cab .marker-core{background:#00b050}.marker-shape.lc-cls .marker-core{background:#222}.marker-shape.lc-bho .marker-core{background:#222}.marker-shape.lc-milestone .marker-core{background:#4a5863}


/* Entiview 2.2 shape interaction */
.wb-bar.work-shape{clip-path:none;overflow:visible;border-radius:3px 0 0 3px;padding-right:12px}
.wb-bar.work-shape::after{content:"";position:absolute;right:-8px;top:3px;width:15px;height:15px;background:inherit;border-top:1px solid #24435b;border-right:1px solid #24435b;transform:rotate(45deg);z-index:0}
.wb-bar.work-shape.done::after{border-color:#72b974}.wb-bar.work-shape.in_progress::after{border-color:#f0c866}
.shape-label{display:block;position:relative;z-index:2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}
.shape-handle{display:none;position:absolute;top:2px;bottom:2px;width:7px;background:#fff;border:1px solid #253a49;border-radius:3px;z-index:25;cursor:ew-resize;box-shadow:0 1px 3px #0004;touch-action:none}
.wb-bar.work-shape.selected .shape-handle{display:block}.shape-handle.left{left:2px}.shape-handle.right{right:2px}
.wb-bar.work-shape.selected .shape-label{padding-left:8px;padding-right:8px}
.marker-shape::after,.refinement-shape::after{content:attr(data-ticket);position:absolute;left:26px;top:-3px;opacity:0;transform:translateY(3px);pointer-events:none;background:#192833;color:#fff;border:1px solid #405563;border-radius:5px;padding:4px 7px;font-size:10px;font-weight:700;white-space:nowrap;box-shadow:0 3px 9px #0003;transition:opacity .12s ease,transform .12s ease;z-index:40}
.marker-shape:hover::after,.refinement-shape:hover::after{opacity:1;transform:none}
.marker-label{display:none!important}
.plan-jump{background:#eef6fb;border-color:#b9d2e2;color:#265773}
.plan-focus td{background:#e9f7ef!important}.plan-pulse{animation:plan-pulse 1.5s ease}@keyframes plan-pulse{0%,100%{box-shadow:none}25%,70%{box-shadow:inset 0 0 0 3px #28a66d}}
.toast-host{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.change-toast{width:min(430px,calc(100vw - 28px));background:#eaf8ef;border:1px solid #8bcaa2;border-left:5px solid #25945a;border-radius:8px;padding:10px 12px;box-shadow:0 7px 24px #0002;color:#1f4430;opacity:1;transform:translateY(0);transition:opacity .8s ease,transform .8s ease;pointer-events:auto}
.change-toast.fading{opacity:0;transform:translateY(-8px)}
.change-toast-head{display:flex;align-items:center;gap:8px;margin-bottom:3px}.change-type{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.55px;color:#176a40}.change-ticket{font-size:10px;font-family:Consolas,monospace;background:#d8f0e1;border-radius:999px;padding:2px 6px;color:#315b43}.change-title{font-size:13px;font-weight:800;color:#183d2a;margin-bottom:4px}.change-message{font-size:12px;line-height:1.35;color:#345847}


/* Entiview 2.3 Warboard visual hierarchy + stable editing */
.warboard-pagehead{margin:3px 0 8px;align-items:center}.warboard-titleline{display:flex;align-items:baseline;gap:10px;min-width:0;flex-wrap:wrap}.warboard-titleline h1{font-size:24px;margin:0}.warboard-titleline .subtitle{font-size:12px;white-space:nowrap}.warboard-shape-key{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-left:8px}.wb-key-item{display:inline-flex;align-items:center;gap:3px;font-size:9px;color:#5d6972;white-space:nowrap}.wb-key-shape{display:inline-block;position:relative;flex:0 0 auto;border:1px solid #40515d}.wb-key-shape.key-work{width:25px;height:11px;clip-path:polygon(0 0,calc(100% - 6px) 0,100% 50%,calc(100% - 6px) 100%,0 100%)}.wb-key-shape.key-marker{width:10px;height:10px;transform:rotate(45deg);border-radius:1px}.wb-key-shape.key-refinement{width:11px;height:11px;border-radius:50%}.wb-key-shape.key-release{width:23px;height:11px;border-radius:1px}
.wb-head{height:52px}.wb-left-head{padding:8px 9px}.wb-left-head .title{font-size:13px}.dep-layer{top:52px}.sprint-head{height:52px;background:#fafbfc;border-right:2px solid #8796a1;color:#66737c}.sprint-head.active{background:#f3faf6;box-shadow:inset 0 -1px #acd1bd}.sprint-head .sname{height:21px;padding:3px 4px;font-size:10px;font-weight:600;border-bottom:1px solid #edf0f2}.sprint-head .sname span{color:#98a1a8}.sprint-weeks{height:31px}.week-head{font-size:9px;color:#707b83;border-right:1px solid #edf0f2}.week-head small{font-size:8px;color:#9aa3a9}
.wb-track{background-image:linear-gradient(to right,#edf0f2 1px,transparent 1px),linear-gradient(to right,#82919c 2px,transparent 2px);background-size:var(--week) 100%,calc(var(--week)*2) 100%}
.bucket-marker{height:24px;background:#a8b2b8;color:#26343d;border-bottom:1px solid #c8d0d5}.bucket-marker .bm-left{background:#a8b2b8;color:#26343d;font-size:10px;padding:5px 9px}.bucket-marker .bm-rest{background-color:#d0d6da;background-image:linear-gradient(to right,#dce1e4 1px,transparent 1px),linear-gradient(to right,#8796a1 2px,transparent 2px);background-size:var(--week) 100%,calc(var(--week)*2) 100%}
/* Ticket hover is fixed outside the scroll/row stacking contexts, so it is always on top. */
.marker-shape::after,.refinement-shape::after{content:none!important}.wb-ticket-hover{position:fixed;z-index:100000;display:none;pointer-events:none;background:#172833;color:#fff;border:1px solid #536a78;border-radius:5px;padding:5px 8px;font-size:10px;font-weight:800;white-space:nowrap;box-shadow:0 5px 15px #0004}.wb-ticket-hover.show{display:block}
@media(max-width:1100px){.warboard-titleline .subtitle{white-space:normal}.warboard-shape-key{margin-left:0;flex-basis:100%}}

/* Entiview 2.4 Warboard interaction/geometry pass */
:root{--left:748px;--zx:1;--zy:1;--ztext:1;--sprint:184px}
.lc-bho{--shape-fill:#111}.lc-spk{--shape-fill:#f1f522}.lc-scp{--shape-fill:#626262}.lc-des{--shape-fill:#f3a9de}.lc-hld{--shape-fill:#7030a0}.lc-da{--shape-fill:#e62828}.lc-reqs{--shape-fill:#c7d8e7}.lc-refn{--shape-fill:#47c9ef}.lc-dev{--shape-fill:#008ffa}.lc-bug{--shape-fill:#f02e2e}.lc-tech{--shape-fill:#00aeb8}.lc-nspr{--shape-fill:#ff9797}.lc-test{--shape-fill:#ffc000}.lc-uati{--shape-fill:#f7d8a7}.lc-uat{--shape-fill:#ed7d31}.lc-cab{--shape-fill:#00b050}.lc-depl{--shape-fill:#00f03c}.lc-cls{--shape-fill:#111}.lc-feature{--shape-fill:#287dbd}.lc-story{--shape-fill:#6da8d2}.lc-task{--shape-fill:#8fa6b8}.lc-milestone{--shape-fill:#4a5863}

.warboard-pagehead{display:flex;align-items:center;gap:16px;padding-right:4px}
.warboard-titleline{display:flex;align-items:baseline;gap:10px;flex:1 1 auto;min-width:330px;flex-wrap:nowrap}
.warboard-titleline h1{font-size:24px;margin:0;white-space:nowrap}
.warboard-titleline .subtitle{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.warboard-shape-key{margin-left:auto;justify-content:flex-end;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:3px 0}
.wb-key-item{display:inline-flex;align-items:center;gap:6px;font-size:9px;color:#55636d;white-space:nowrap}
.wb-key-svg{display:inline-flex;width:29px;height:14px;align-items:center;justify-content:center;flex:0 0 auto}
.wb-key-svg svg{width:100%;height:100%;overflow:visible}
.wb-key-svg svg>*{fill:var(--shape-fill,#8fa6b8);stroke:#263746;stroke-width:1.2;vector-effect:non-scaling-stroke}
.wb-key-svg.key-marker,.wb-key-svg.key-refinement{width:14px}

.warboard-toolbar{gap:6px;align-items:center;flex-wrap:wrap}
.warboard-toolbar .btn.active-toggle{background:#e7f1f7;border-color:#8db4cc;color:#174b6b}
.zoom-pair{display:flex;align-items:center;gap:7px;border-left:1px solid #d3dae0;padding-left:8px}
.zoom-pair label{display:flex;align-items:center;gap:4px;font-size:9px;font-weight:700;color:#52616c}
.zoom-pair input[type=range]{width:72px;height:16px}
.zoom-pair output{font-size:9px;width:34px;text-align:right;color:#344651}

.wb-left-head,.wb-left{width:var(--left);min-width:var(--left)}
.wb-left-head{padding:0;background:#334550}
.wb-col-heads,.wb-left{display:grid;grid-template-columns:24px 82px 50px 74px 46px 70px 48px 94px 52px 208px}
.wb-col-heads{height:100%;align-items:stretch;color:#f7fafc;font-size:10px;font-weight:800;letter-spacing:.1px}
.wb-col-heads>span{display:flex;align-items:center;justify-content:center;border-left:1px solid #556772;padding:4px 3px;text-align:center}
.wb-col-heads>span:last-child{justify-content:flex-start;padding-left:9px}
.wb-left{align-items:stretch;background:#fff}
.wb-left>div{min-width:0;border-left:1px solid #e1e6ea}
.wb-order{border-left:0!important}
.wb-assigned,.wb-ext-sprint,.wb-sp,.wb-feature,.wb-mvp-pri,.wb-programme,.wb-tshirt,.wb-status{display:flex;align-items:center;justify-content:center;padding:3px 4px;font-size:calc(10px * var(--zy));line-height:1.1;overflow:hidden;text-overflow:ellipsis;text-align:center}
.wb-assigned{white-space:normal;overflow-wrap:anywhere;color:#465761}
.wb-tshirt{background:#edf4fa;font-weight:800;cursor:default}
.wb-ext-sprint{font-weight:800;color:#334955;background:#fafcfd}
.wb-ext-sprint.ext-mismatch{background:#fff1c8;color:#774700;box-shadow:inset 0 0 0 2px #e2a91d}
.wb-sp{font-weight:800;background:#f7f9fb}
.wb-feature{font-size:calc(9px * var(--zy));color:#50616d}
.wb-mvp-pri{font-weight:900;background:#fff9dd;position:relative}
.wb-mvp-pri.not-in-mvp{background:#fff;color:transparent}
.wb-mvp-pri.not-in-mvp:hover::after{content:'+';color:#8c9aa3;font-size:14px;font-weight:700}
.wb-status{padding:4px}
.project-status-ddl{width:100%;max-width:90px;border:1px solid #c7d0d6;border-radius:999px;background:#f7fafc;color:#334750;padding:3px 18px 3px 7px;font-size:calc(9px * var(--zy));font-weight:700;outline:0}
.project-status-ddl:focus{border-color:#4a91bb;box-shadow:0 0 0 2px #4a91bb22}
.wb-programme{font-weight:800;color:#2e4f61;font-size:calc(9px * var(--zy))}
.wb-project{padding:6px 8px;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.wb-project .pname{font-size:calc(12px * var(--zy));font-weight:800;white-space:normal;line-height:1.12;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
.wb-project .pmeta{font-size:calc(8px * var(--zy));margin-top:3px;white-space:normal;line-height:1.1;color:#72808a}
.inline-edit{cursor:default}
.inline-editor{width:100%;height:26px;border:1px solid #6b95ae;border-radius:4px;background:#fff;font-size:10px;font-weight:700;padding:2px;outline:0}

.wb-head{height:58px}
.dep-layer{top:58px}
.sprint-head{height:58px;background:#fbfcfd;border-right:0;color:#53636e;box-sizing:border-box}
.sprint-head .sname{height:28px;padding:5px 6px;font-size:15px;font-weight:800;border-bottom:1px solid #e7ecef;color:#364a56}
.sprint-head .sname span{font-size:10px;font-weight:600;color:#83919a;margin-left:5px}
.sprint-weeks{height:30px}
.week-head{font-size:11px;font-weight:700;color:#566771;padding:3px 2px;border-right:1px solid #eef1f3}
.week-head small{font-size:9px;font-weight:500;color:#8b979f;margin-top:1px}
.sprint-head.active{background:#d8f1e3;box-shadow:inset 0 -4px #319d68,inset 0 0 0 1px #9fcdb3}
.sprint-head.active .sname{color:#145b37;font-weight:900}
.sprint-head.active .sname span{color:#47785e}
.wb-track{overflow:visible;background-image:linear-gradient(to right,#edf0f2 1px,transparent 1px);background-size:var(--week) 100%;background-position:0 0}
.sprint-boundaries{position:absolute;left:var(--left);top:58px;bottom:31px;pointer-events:none;z-index:2}
.sprint-boundary{position:absolute;top:0;bottom:0;width:2px;background:#687b87;opacity:.78}
.sprint-boundary.active{width:3px;background:#50866a;opacity:.92}
.current-sprint-band{position:absolute;top:58px;bottom:31px;background:#4daf7720;pointer-events:none;z-index:1}
.bucket-marker{height:calc(24px * var(--zy));min-height:5px;background:#d8dde0;color:#34444e;border-bottom:1px solid #e5e8ea}
.bucket-marker .bm-left{background:#d3d9dc;color:#34444e;font-size:calc(10px * var(--zy));padding:calc(5px * var(--zy)) 9px;font-weight:800}
.bucket-marker .bm-rest{background-color:#eef0f1;background-image:linear-gradient(to right,#edf0f2 1px,transparent 1px);background-size:var(--week) 100%}
.wb-row{border-bottom:1px solid #e4e8eb}

.wb-bar{height:calc(22px * var(--zy));min-height:2px;line-height:calc(20px * var(--zy));font-size:calc(10px * var(--ztext));font-weight:800;padding:0;border:0!important;background:transparent!important;box-shadow:none!important;overflow:visible;z-index:4;border-radius:0;color:inherit}
.wb-bar.work-shape{clip-path:none!important;border-radius:0!important;padding:0!important}
.wb-bar.work-shape::after{content:none!important}
.shape-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:0;pointer-events:none}
.shape-svg polygon,.shape-svg rect{fill:var(--shape-fill,#8fa6b8);stroke:#263746;stroke-width:1.25;vector-effect:non-scaling-stroke}
.wb-bar.done .shape-svg polygon,.wb-bar.done .shape-svg rect{stroke:#559d68}
.wb-bar.in_progress .shape-svg polygon,.wb-bar.in_progress .shape-svg rect{stroke:#d69e10;stroke-width:1.8}
.wb-bar.blocked .shape-svg polygon,.wb-bar.blocked .shape-svg rect{stroke:#d42b2b;stroke-width:2.2}
.shape-label{position:absolute;inset:0 8px 0 5px;display:flex;align-items:center;z-index:2;overflow:hidden;text-overflow:clip;white-space:nowrap;pointer-events:none;color:inherit;font-size:calc(10px * var(--ztext));line-height:1}
.shape-handle{top:8%;bottom:8%;width:max(4px,calc(7px * var(--zx)));z-index:25}
.wb-bar.marker-shape,.wb-bar.refinement-shape{height:max(4px,calc(22px * var(--zy)));min-width:4px!important;padding:0;overflow:visible;background:transparent!important;border:0!important;box-shadow:none!important;z-index:10}
.marker-core{width:calc(20px * min(var(--zx),var(--zy)));height:calc(20px * min(var(--zx),var(--zy)));min-width:3px;min-height:3px;background:var(--shape-fill,#4a5863)!important;border:max(1px,calc(2px * var(--ztext))) solid #263746;box-sizing:border-box;box-shadow:0 1px 2px #0002}
.refinement-shape .marker-core{background:var(--shape-fill,#47c9ef)!important}
.marker-shape .marker-core{background:var(--shape-fill,#4a5863)!important}
.release-shape .shape-label{inset:0 4px}
.wb-bar.selected{outline:2px solid #111;outline-offset:2px;z-index:18}

.today-line{width:2px;background:#e83d3dcc;z-index:19}
.today-line::before{content:attr(data-label);font-size:9px;top:5px;left:7px;padding:2px 5px;border-radius:3px;white-space:nowrap}
.today-pin{position:absolute;left:50%;width:9px;height:9px;border-radius:50%;background:#e83d3d;border:2px solid #fff;box-shadow:0 0 0 1px #a92020;transform:translateX(-50%)}
.today-pin.pin-top{top:-3px}.today-pin.pin-bottom{bottom:-3px}

.wb-fast-scroll{height:28px;display:grid;grid-template-columns:54px 1fr 92px;align-items:center;gap:8px;padding:3px 8px;border:1px solid #cbd3d9;border-top:0;background:#f8fafb;color:#5b6972;font-size:9px;font-weight:700}
.wb-fast-scroll input[type=range]{width:100%;accent-color:#5d7788}
.wb-fast-scroll span:last-child{text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.selection-marquee{position:fixed;z-index:100010;border:1px solid #1675b8;background:#1688d522;pointer-events:none;box-shadow:0 0 0 1px #fff8 inset}

.toast-host{right:15px;top:112px;bottom:auto;z-index:200000}
.undo-toast{width:min(470px,calc(100vw - 30px));background:#fff0c7;border:1px solid #e1a724;border-left:6px solid #d68a00;color:#5b3c00;border-radius:8px;box-shadow:0 8px 28px #0003;padding:10px 12px;display:flex;align-items:center;gap:14px;font-size:11px}
.undo-toast>div{flex:1;min-width:0}.undo-toast b{font-size:13px}.undo-toast button{border:0;border-radius:6px;background:#c97500;color:#fff;font-size:14px;font-weight:900;padding:9px 16px;cursor:pointer;box-shadow:0 2px 4px #0002}.undo-toast button:hover{background:#a85f00}
.change-toast{margin-left:auto}

.wb-ticket-hover{z-index:2147483000!important}
.dep-layer.hidden{display:none}

.print-snapshot{display:none;background:#fff;overflow:hidden;position:absolute;left:-100000px;top:0;border:1px solid #cfd6da}
@media print{
 @page{size:landscape;margin:8mm}
 body.printing-warboard{background:#fff!important}
 body.printing-warboard #app{display:none!important}
 body.printing-warboard .print-snapshot{display:block!important;position:relative!important;left:0!important;top:0!important;overflow:hidden!important;background:#fff!important;page-break-inside:avoid}
 body.printing-warboard .print-snapshot *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
 body.printing-warboard .print-snapshot .wb-left-head{background:#f1f3f4!important;color:#263640!important;border-right:1px solid #aab5bc!important}
 body.printing-warboard .print-snapshot .wb-col-heads{color:#263640!important}
 body.printing-warboard .print-snapshot .wb-col-heads>span{border-color:#d4dadd!important}
 body.printing-warboard .print-snapshot .sprint-head{background:#fff!important;border-bottom:1px solid #cbd4d9!important}
 body.printing-warboard .print-snapshot .sprint-head.active{background:#e7f4ec!important;box-shadow:inset 0 -2px #6ead89!important}
 body.printing-warboard .print-snapshot .bucket-marker,.printing-warboard .print-snapshot .bm-left{background:#eef0f1!important;color:#33434d!important}
 body.printing-warboard .print-snapshot .wb-left{background:#fff!important}
 body.printing-warboard .print-snapshot .wb-row{background:#fff!important}
 body.printing-warboard .print-snapshot .project-status-ddl{appearance:none;border:0;background:transparent;padding:0;text-align:center}
 body.printing-warboard .print-snapshot .wb-bar.selected{outline:none!important}
}

@media(max-width:1200px){:root{--left:640px}.wb-col-heads,.wb-left{grid-template-columns:22px 70px 44px 64px 40px 60px 42px 82px 46px 170px}.wb-project .pname{font-size:calc(11px * var(--zy))}.warboard-shape-key{gap:7px}.wb-key-item{gap:3px}}
.wb-bar.marker-shape,.wb-bar.refinement-shape{min-height:3px!important}
.marker-core{width:100%!important;height:100%!important;min-width:0;min-height:0}
.wb-time-head .sprint-head{border-left:2px solid #687b87!important}
.wb-time-head .sprint-head:last-child{border-right:2px solid #687b87!important}

/* Entiview 2.5 — Warboard geometry and interaction quality pass */
:root{--left:650px}

/* Cleaner title legend: consistent outlined geometry, more breathing room, right aligned. */
.warboard-pagehead{align-items:center;gap:18px}
.warboard-shape-key{margin-left:auto;justify-content:flex-end;gap:14px 16px;padding:6px 9px;background:#f8fafb;border:1px solid #e1e7eb;border-radius:5px;box-shadow:0 1px 1px #00000008}
.wb-key-item{gap:7px;font-size:9px;font-weight:650;color:#4d5d67}
.wb-key-svg{width:31px;height:14px;overflow:visible}
.wb-key-svg.key-marker,.wb-key-svg.key-refinement{width:16px;height:16px}
.wb-key-svg svg{display:block;width:100%;height:100%;overflow:visible}
.wb-key-svg svg>*{fill:var(--shape-fill,#8fa6b8)!important;stroke:#263746!important;stroke-width:1.35!important;vector-effect:non-scaling-stroke}
.wb-key-label{display:inline-block;min-width:max-content}

/* Make the dependency control impossible to miss. */
.dependency-toggle{border-color:#769bb2!important;background:#f3f8fb!important;color:#234f69!important;font-weight:800!important}
.dependency-toggle.active-toggle{background:#dcecf5!important;border-color:#4c88aa!important;color:#143f59!important}

/* Return the project block to a calmer compact layout; status and assignee live with the project. */
.wb-left-head,.wb-left{width:var(--left);min-width:var(--left)}
.wb-col-heads,.wb-left{display:grid;grid-template-columns:30px 46px 42px 46px 70px 44px 54px 318px}
.wb-col-heads{font-size:10px;font-weight:800}
.wb-col-heads>span{padding:4px 2px}
.wb-col-heads>span:last-child{justify-content:flex-start;padding-left:10px}
.wb-order{display:flex!important;align-items:stretch!important;justify-content:stretch!important;background:#f3f6f8;border-left:0!important;border-right:1px solid #d9e0e5}
.wb-order-handle{width:100%;height:100%;border:0;background:transparent;color:#61717b;font-size:20px;font-weight:900;line-height:1;cursor:grab;touch-action:none}
.wb-order-handle:hover{background:#e3ebf0;color:#233a48}
.wb-order-handle:active{cursor:grabbing;background:#d8e4eb}
.wb-tshirt,.wb-ext-sprint,.wb-sp,.wb-feature,.wb-mvp-pri,.wb-programme{font-size:calc(10px * var(--zy));padding:3px 3px}
.wb-ext-sprint{font-size:calc(9px * var(--zy));font-weight:800}
.wb-feature{font-size:calc(8px * var(--zy))}
.wb-programme{font-size:calc(9px * var(--zy))}
.wb-project{padding:5px 9px;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:3px;overflow:hidden}
.wb-project .pname{font-size:calc(12px * var(--zy));line-height:1.1;font-weight:800;white-space:normal;overflow-wrap:anywhere}
.wb-project .pmeta{font-size:calc(8px * var(--zy));margin:0;color:#75828a;white-space:normal;line-height:1.05}
.project-status-ddl{width:max-content;min-width:92px;max-width:150px;border:1px solid #bdc8cf;border-radius:4px;background:#f8fafb;color:#334750;padding:3px 22px 3px 7px;font-size:calc(9px * var(--zy));font-weight:750;outline:0}
.passigned{font-size:calc(8px * var(--zy));line-height:1.05;color:#576872;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zoom-tight .wb-project .pmeta,.zoom-tight .passigned{display:none}
.zoom-tiny .wb-project .pmeta,.zoom-tiny .passigned,.zoom-tiny .project-status-ddl{display:none}

/* Exact arrow geometry: the end-date is the SVG tip, and the tip depth is fixed in pixels by JS. */
.wb-bar.work-shape,.wb-bar.release-shape{overflow:visible!important}
.shape-svg{inset:0;width:100%;height:100%;overflow:visible}
.shape-svg polygon,.shape-svg rect{fill:var(--shape-fill,#8fa6b8)!important;stroke:#263746!important;stroke-width:1.35!important;vector-effect:non-scaling-stroke}
.shape-label{inset:0 5px 0 5px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;font-weight:850;overflow:hidden;white-space:nowrap;z-index:2;pointer-events:none}
.release-shape .shape-label{inset:0 3px!important}
.wb-bar.done .shape-svg polygon,.wb-bar.done .shape-svg rect{stroke:#559d68!important}
.wb-bar.in_progress .shape-svg polygon,.wb-bar.in_progress .shape-svg rect{stroke:#d69e10!important;stroke-width:1.8!important}
.wb-bar.blocked .shape-svg polygon,.wb-bar.blocked .shape-svg rect{stroke:#d42b2b!important;stroke-width:2.2!important}

/* Markers stay true squares/diamonds/circles irrespective of horizontal zoom. */
.wb-bar.marker-shape,.wb-bar.refinement-shape{aspect-ratio:1/1!important;min-width:0!important;min-height:0!important}
.marker-core{width:100%!important;height:100%!important;aspect-ratio:1/1;box-sizing:border-box}
.marker-shape .marker-core{transform:rotate(45deg);transform-origin:50% 50%;border-radius:1px}
.refinement-shape .marker-core{border-radius:50%}

/* White-space navigation should feel like a map/canvas. */
.wb-track{cursor:grab}
.warboard-shell.is-panning,.warboard-shell.is-panning .wb-track,.wb-track.is-panning{cursor:grabbing!important}
.wb-bar{cursor:grab}.wb-bar:active{cursor:grabbing}

/* Project drag/drop: visible insertion line and light floating ghost. */
.project-being-dragged{opacity:.48}
.project-drag-ghost{position:fixed;z-index:2147482000;pointer-events:none;max-width:330px;padding:7px 11px;border:1px solid #8496a1;border-radius:5px;background:#fff;box-shadow:0 8px 24px #0003;color:#243743;font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.project-drop-line{position:fixed;z-index:2147481900;display:none;height:4px;background:#147fbd;box-shadow:0 0 0 1px #fff,0 2px 7px #147fbd66;pointer-events:none}
.project-drop-line.show{display:block}

/* Keep zoomed headers graceful rather than crushed. */
.sprint-head{overflow:hidden}
.sprint-head.compact .sname{font-size:11px;padding:6px 2px}
.sprint-head.compact .sname span{display:none}
.sprint-head.compact .week-head{font-size:0;padding:3px 1px}
.sprint-head.compact .week-head small{font-size:8px;white-space:nowrap;overflow:hidden}
.sprint-head.tiny .sname,.sprint-head.tiny .sprint-weeks{color:transparent;font-size:0}
.sprint-head.tiny .sname span,.sprint-head.tiny .week-head>*{display:none}

/* Deletion is an in-context amber notification, not a blocking dialogue. */
.undo-toast{background:#fff2cf;border-color:#dca31c;border-left-color:#d18400;color:#563900}
.undo-toast button{background:#c77700}
.undo-toast button:hover{background:#a96000}

@media(max-width:1200px){
 :root{--left:586px}
 .wb-col-heads,.wb-left{grid-template-columns:28px 42px 38px 42px 58px 40px 48px 290px}
 .wb-project .pname{font-size:calc(11px * var(--zy))}
 .warboard-shape-key{gap:9px 12px}
 .wb-key-item{gap:5px}
}

/* Entiview 2.6 — calm header, fixed project context order, snap navigation and reversible changes */
:root{--left:471px}

/* Project context: Project | Prog | T | Pri | SP | Ext. Feature is now inline in project meta. */
.wb-left-head,.wb-left{width:var(--left)!important;min-width:var(--left)!important}
.wb-col-heads,.wb-left{grid-template-columns:255px 52px 42px 40px 44px 38px!important}
.wb-left-head{padding:0!important;background:#334550!important}
.wb-col-heads{height:100%;font-size:10px;font-weight:700;align-items:stretch}
.wb-col-heads>span{display:flex;align-items:center;justify-content:center;padding:4px 2px;border-left:1px solid #53636e!important;color:#fff}
.wb-col-heads>span:first-child{justify-content:flex-start;padding-left:38px;border-left:0!important}
.wb-project{position:relative;display:flex!important;align-items:center!important;gap:5px!important;padding:5px 7px 5px 36px!important;overflow:hidden;border-left:0!important}
.wb-project-copy{display:flex;flex:1;min-width:0;flex-direction:column;justify-content:center;gap:2px;overflow:hidden}
.wb-project .pname{font-size:11px!important;line-height:1.12!important;font-weight:800!important;white-space:normal!important;overflow-wrap:anywhere}
.wb-project .pmeta{font-size:8px!important;line-height:1.05!important;margin:0!important;color:#75828a!important;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}
.project-status-ddl{min-width:94px!important;max-width:128px!important;width:max-content!important;border-radius:4px!important;padding:2px 20px 2px 6px!important;font-size:8px!important}
.passigned{font-size:8px!important;line-height:1.05!important;color:#65747d!important}
.wb-programme,.wb-tshirt,.wb-mvp-pri,.wb-sp,.wb-ext-sprint{display:flex;align-items:center;justify-content:center;min-width:0;padding:2px!important;font-size:9px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wb-programme{font-weight:650!important}.wb-tshirt,.wb-mvp-pri,.wb-sp{font-weight:650!important}
.wb-ext-sprint{font-size:8px!important;font-weight:650!important}
.wb-order-handle{position:absolute!important;left:5px;top:50%;transform:translateY(-50%);width:25px!important;height:34px!important;display:flex!important;align-items:center!important;justify-content:center!important;border:0!important;border-radius:4px!important;background:transparent!important;color:#657782!important;font-size:25px!important;font-weight:900!important;line-height:1!important;cursor:grab!important;z-index:3;touch-action:none}
.wb-order-handle:hover{background:#e4ebef!important;color:#233f4f!important}.wb-order-handle:active{cursor:grabbing!important;background:#d8e4ea!important}

/* Sprint header: quieter history, obvious current sprint, no status words or green underline. */
.wb-head{height:58px!important}
.sprint-head{height:58px!important;background:#fff!important;color:#465863!important;border:0!important;border-left:1px solid #93a0a8!important;box-shadow:none!important}
.sprint-head:last-child{border-right:1px solid #93a0a8!important}
.wb-time-head .sprint-head{border-left:1px solid #93a0a8!important}.wb-time-head .sprint-head:last-child{border-right:1px solid #93a0a8!important}
.sprint-head .sname{height:28px!important;padding:5px 4px!important;border-bottom:1px solid #e4e9ec!important;color:#344b58!important;font-size:15px!important;font-weight:800!important}
.sprint-head .sname span{display:none!important}
.sprint-head.past{background:#f1f3f4!important;color:#6f7b82!important}
.sprint-head.past .sname{color:#68757d!important}
.sprint-head.future{background:#fff!important}
.sprint-head.active{background:#e7f3eb!important;box-shadow:none!important}
.sprint-head.active .sname{color:#245b3d!important;font-weight:850!important}
.sprint-head.active .sprint-weeks{background:#edf7f0!important}
.sprint-head .week-head{font-size:10px!important;color:#67767f!important}.sprint-head .week-head small{font-size:9px!important;color:#87939a!important}
.sprint-boundary{width:1px!important;background:#81909a!important;opacity:.88!important}
.sprint-boundary.active{width:1px!important;background:#81909a!important;opacity:.88!important}
.current-sprint-band{background:#4daf7712!important}
.past-sprint-band{position:absolute;top:58px;bottom:31px;background:#75838b0b;z-index:1;pointer-events:none}

/* Shape finish: hairline outlines and calm ticket text. */
.shape-svg polygon,.shape-svg rect{stroke:#263746!important;stroke-width:.7!important;vector-effect:non-scaling-stroke!important}
.wb-bar.done .shape-svg polygon,.wb-bar.done .shape-svg rect,
.wb-bar.in_progress .shape-svg polygon,.wb-bar.in_progress .shape-svg rect,
.wb-bar.blocked .shape-svg polygon,.wb-bar.blocked .shape-svg rect{stroke-width:.7!important}
.marker-core{border-width:1px!important}
.shape-label{font-weight:500!important;color:#fff!important;text-shadow:0 1px 1px #0006!important;letter-spacing:0!important}
.wb-bar.lc-spk .shape-label{color:#173a93!important;text-shadow:none!important}

/* Legend: neutral surround; only the actual symbol carries lifecycle colour. */
.warboard-shape-key{margin-left:auto!important;justify-content:flex-end!important;gap:11px 15px!important;padding:5px 8px!important;background:#fafbfc!important;border:1px solid #e0e5e8!important;border-radius:4px!important;box-shadow:none!important}
.wb-key-item{display:inline-flex!important;align-items:center!important;gap:6px!important;padding:0!important;background:transparent!important;color:#4b5c66!important;border:0!important;font-size:9px!important;font-weight:600!important}
.wb-key-svg{display:inline-flex;align-items:center;justify-content:center;background:transparent!important}
.wb-key-svg svg>*{fill:var(--shape-fill,#8fa6b8)!important;stroke:#263746!important;stroke-width:.7!important;vector-effect:non-scaling-stroke!important}
.wb-key-label{background:transparent!important;color:#4b5c66!important}

/* All green change balloons can carry an in-place undo action. */
.change-toast-actions{display:flex;justify-content:flex-end;margin-top:7px;padding-top:6px;border-top:1px solid #167a5224}
.change-undo{border:1px solid #187450;border-radius:5px;background:#fff;color:#146144;font-size:11px;font-weight:900;padding:5px 12px;cursor:pointer;box-shadow:0 1px 2px #0001}
.change-undo:hover{background:#e9f7f0}.change-undo:disabled{opacity:.58;cursor:wait}

/* Snap settling: rows finish below the sticky header, timeline finishes on a sprint edge. */
.warboard-shell{scroll-padding-top:58px;scroll-behavior:smooth}
.wb-row,.bucket-marker{scroll-margin-top:58px}
.this-sprint-btn{border-color:#647f90!important;background:#f3f7f9!important;color:#294d63!important;font-weight:850!important}

/* Zoom is deliberately withdrawn in 2.6. */
.zoom-pair{display:none!important}

@media(max-width:1200px){
 :root{--left:445px}
 .wb-col-heads,.wb-left{grid-template-columns:237px 48px 40px 38px 44px 38px!important}
 .wb-project{padding-left:34px!important}
}


/* Entiview 2.7 — waterfall clarity, stronger sprint context, compact project notes */
:root{--left:546px}
.wb-left-head,.wb-left{width:var(--left)!important;min-width:var(--left)!important}
.wb-col-heads,.wb-left{grid-template-columns:300px 60px 48px 48px 50px 40px!important}
.wb-col-heads{font-size:13px!important;font-weight:700!important}
.wb-col-heads>span{align-items:flex-start!important;padding-top:8px!important}
.wb-col-heads>span:first-child{padding-left:34px!important}
.wb-project{align-items:flex-start!important;justify-content:flex-start!important;padding:7px 7px 7px 33px!important;gap:2px!important}
.wb-project-copy{justify-content:flex-start!important;align-items:stretch!important;gap:2px!important}
.wb-project .pname{text-align:left!important;font-size:12px!important;line-height:1.14!important}
.wb-project .pmeta{text-align:left!important;font-size:8px!important}
.project-status-ddl{font-size:9px!important;margin-top:1px}
.passigned{text-align:left!important;font-size:8px!important;margin-top:1px}
.project-note{display:block;width:100%;height:34px;min-height:34px;max-height:34px;margin-top:3px;padding:4px 6px;border:1px solid #d1d9de;border-radius:4px;background:#fbfcfd;color:#57656e;font:8px/1.25 system-ui,-apple-system,"Segoe UI",sans-serif;text-align:left;resize:none;overflow-y:auto;box-sizing:border-box;outline:0}
.project-note:focus{border-color:#91b6cb;background:#fff;box-shadow:0 0 0 2px #9bc6dc28}
.project-note-hover{position:fixed;z-index:2147483500;display:none;max-width:430px;min-width:240px;padding:10px 12px;border:1px solid #93a1aa;border-radius:6px;background:#fff;color:#263842;box-shadow:0 8px 28px #0003;font-size:13px;line-height:1.35;white-space:pre-wrap;pointer-events:none}.project-note-hover.show{display:block}
.wb-programme,.wb-tshirt,.wb-mvp-pri,.wb-sp,.wb-ext-sprint{align-items:flex-start!important;justify-content:center!important;padding-top:10px!important;font-size:16px!important;line-height:1!important;font-weight:650!important;overflow:visible!important}
.wb-ext-sprint{font-size:15px!important}.wb-programme{font-size:15px!important}.wb-order-handle{left:3px!important;top:8px!important;transform:none!important;width:27px!important;height:31px!important;font-size:23px!important}

.wb-head{height:64px!important}.sprint-head{height:64px!important}
.sprint-head .sname{height:40px!important;padding:5px 4px 3px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;border-bottom:1px solid #dce3e7!important;font-size:14px!important;line-height:1.05!important}
.sprint-head .sname b{font-size:15px!important;font-weight:750}.sprint-head .sname small{display:block;margin-top:3px;font-size:8px!important;font-weight:500;color:#71808a!important;white-space:nowrap}
.sprint-weeks{height:24px!important}.sprint-head .week-head{height:24px!important;padding:5px 2px 3px!important;font-size:10px!important;font-weight:650!important;color:#586873!important}.sprint-head .week-head small{display:none!important}
.sprint-head.past{background:#f1d7d7!important}.sprint-head.past .sname{color:#7b3d3d!important;background:#efd2d2!important}.sprint-head.past .sprint-weeks{background:#f5e0e0!important}
.sprint-head.active{background:#cfe8d7!important}.sprint-head.active .sname{color:#1f603a!important;background:#c7e4d1!important}.sprint-head.active .sprint-weeks{background:#d5ecdc!important}
.sprint-head.future{background:#fff!important}.sprint-head.future .sname,.sprint-head.future .sprint-weeks{background:#fff!important}
.sprint-boundaries{top:64px!important}.dep-layer{top:64px!important}.current-sprint-band{top:64px!important;background:#2e9d5e24!important}.past-sprint-band{top:64px!important;background:#c44d4d18!important}.today-line{z-index:15}

.wb-row{min-height:104px}.wb-track{overflow:visible!important}.wb-row.row-selected .wb-left,.wb-row.row-selected .wb-track{background-color:#d5dade!important}.wb-row.row-selected .wb-left{box-shadow:inset 0 0 0 1px #aeb8be}.wb-row.row-selected .wb-track{box-shadow:inset 0 0 0 1px #aeb8be}
.wb-week-cell-selection{position:absolute;top:0;bottom:0;z-index:2;background:#2e82b817;box-shadow:inset 0 0 0 2px #2e82b86b;pointer-events:none}

.shape-svg polygon,.shape-svg rect,.marker-svg polygon,.marker-svg circle{fill:var(--shape-fill,#8fa6b8)!important;stroke:#9aa5ac!important;stroke-width:.6!important;vector-effect:non-scaling-stroke!important}
.marker-svg{display:block;width:20px!important;height:20px!important;overflow:visible;position:absolute;inset:0}.wb-bar.marker-shape,.wb-bar.refinement-shape{width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;aspect-ratio:auto!important}
.marker-core{display:none!important}.wb-bar.done .shape-svg *,.wb-bar.in_progress .shape-svg *,.wb-bar.blocked .shape-svg *{stroke:#9aa5ac!important;stroke-width:.6!important}
.wb-bar.selected{outline:2px solid #176b9c!important;outline-offset:2px!important}.wb-bar.marker-shape.selected,.wb-bar.refinement-shape.selected{outline:none!important}.wb-bar.marker-shape.selected .marker-svg *,.wb-bar.refinement-shape.selected .marker-svg *{stroke:#176b9c!important;stroke-width:2!important}
@keyframes waterfallThrob27{0%,100%{fill:var(--shape-fill,#8fa6b8)}50%{fill:#ee3f3f}}
.wb-bar.waterfall-out-of-sync .shape-svg *,.wb-bar.waterfall-out-of-sync .marker-svg *{animation:waterfallThrob27 1.35s ease-in-out infinite!important}.wb-bar.waterfall-out-of-sync .shape-label{font-weight:700!important}

.quick-item-modal{width:520px!important;border-radius:9px!important}.quick-item-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.quick-item-grid .wide{grid-column:1/-1}.quick-item-grid label{font-size:9px;color:#586771}.quick-item-grid input,.quick-item-grid select{display:block;width:100%;margin-top:4px;border:1px solid #c5ced4;border-radius:5px;padding:7px 8px;font-size:11px;background:#fff}.quick-default{margin-top:10px;padding:7px 9px;border-radius:5px;background:#eef6fb;color:#38576a;font-size:10px}

@media(max-width:1200px){:root{--left:510px}.wb-col-heads,.wb-left{grid-template-columns:278px 56px 44px 44px 48px 40px!important}.wb-programme,.wb-tshirt,.wb-mvp-pri,.wb-sp,.wb-ext-sprint{font-size:14px!important}}
/* 2.7: status no longer changes the physical outline; red is reserved for waterfall pulse. */
.wb-bar.blocked:not(.selected){outline:none!important}

/* Entiview 2.7.2 — compact rows and usable project-context field */
.wb-row{min-height:142px!important}
.wb-project{display:block!important;align-items:flex-start!important;padding:7px 7px 7px 33px!important;overflow:hidden!important}
.wb-project-copy{display:flex!important;width:100%!important;max-width:none!important;min-width:0!important;box-sizing:border-box!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:2px!important;overflow:hidden!important}
.project-note{width:100%!important;height:58px!important;min-height:58px!important;max-height:58px!important;margin-top:4px!important;padding:5px 7px!important;box-sizing:border-box!important;font-size:8px!important;line-height:1.28!important;overflow-y:auto!important;resize:none!important}
.wb-programme,.wb-tshirt,.wb-mvp-pri,.wb-sp,.wb-ext-sprint{display:flex!important;align-items:center!important;justify-content:center!important;padding-top:0!important;padding-bottom:0!important;height:100%!important;box-sizing:border-box!important}
.wb-project .pname,.wb-project .pmeta,.project-status-ddl,.passigned,.project-note{text-align:left!important}


/* Entiview 2.8 — adaptive compact rows, larger true-geometry markers and Preferences */
.wb-row{min-height:126px!important}
.project-note{height:52px!important;min-height:52px!important;max-height:52px!important}
.marker-svg{width:24px!important;height:24px!important}.wb-bar.marker-shape,.wb-bar.refinement-shape{width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important}
.quick-item-modal{width:560px!important}.quick-item-grid{grid-template-columns:1fr 1fr 1fr}.quick-item-grid .field-hint{font-size:8px;color:#87939a;font-weight:400}.quick-warning{margin-top:9px;padding:8px 10px;border:1px solid #d8a342;border-radius:6px;background:#fff6dd;color:#6d4b0b;font-size:10px;line-height:1.35}.quick-warning b{display:block;margin-bottom:3px}.quick-warning.blocking{border-color:#d66b68;background:#fff0ef;color:#7d2926}.quick-warning[hidden]{display:none!important}
.preferences-page{max-width:1080px}.prefs-grid{display:grid;grid-template-columns:minmax(420px,1fr) minmax(320px,.75fr);gap:14px;align-items:start}.prefs-card label{display:block;font-size:11px;color:#4c5c66;margin:9px 0}.prefs-card input,.prefs-card select{display:block;width:100%;box-sizing:border-box;margin-top:4px;border:1px solid #c2cdd4;border-radius:5px;padding:8px 9px;background:#fff;font-size:12px;color:#263843}.prefs-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.prefs-subtitle{margin-top:18px}.prefs-help{font-size:10px;line-height:1.45;color:#6d7a83;margin-top:8px}.prefs-foot{padding:12px 0 0;border-top:0}.prefs-stat{display:flex;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px solid #e4e8eb}.prefs-stat b{font-size:22px;color:#263a46}.prefs-stat span{font-size:11px;color:#65737c}@media(max-width:900px){.prefs-grid{grid-template-columns:1fr}}


/* Entiview 2.9 — compact rows, project-level SP and clearer sprint dates */
.wb-row{min-height:116px!important}
.project-note{height:42px!important;min-height:42px!important;max-height:42px!important;margin-bottom:0!important}
.wb-project{padding-bottom:7px!important}
.sprint-head .sname small{font-size:10px!important}

/* Entiview 2.9.1 — deterministic two-axis grab/pan */
.wb-track{touch-action:none;user-select:none;-webkit-user-select:none}
.warboard-shell.is-panning{scroll-behavior:auto!important}

/* Entiview 2.10 — movable marker rows, group project selection, exact compact row fitting */
.wb-row{min-height:82px!important}
.wb-project{padding:5px 7px 7px 33px!important}
.project-note{height:38px!important;min-height:38px!important;max-height:38px!important;margin-top:3px!important;margin-bottom:0!important}
.wb-project{user-select:none;-webkit-user-select:none}
.wb-row.project-multi-selected .wb-left,.wb-row.project-multi-selected .wb-track{background-color:#c9d8e3!important;box-shadow:inset 0 0 0 1px #7fa5bf!important}
.bucket-marker.movable-marker{cursor:default}.bucket-marker .bm-left{display:flex;align-items:center;gap:7px}.bucket-drag-handle{appearance:none;border:0;background:transparent;color:#53646e;font-size:17px;font-weight:800;line-height:1;cursor:grab;padding:0 2px}.bucket-drag-handle:active{cursor:grabbing}

/* Entiview 2.11 — direct manipulation stays under the pointer; snapping happens on release. */
.warboard-shell.is-panning,.warboard-shell.is-row-reordering{scroll-behavior:auto!important}
.project-being-dragged{opacity:.55}

/* Entiview 2.12 — grouped selection/editing and header polish */
.wb-col-heads>span{align-items:center!important;padding-top:0!important;padding-bottom:0!important;vertical-align:middle!important}
.wb-col-heads>span:first-child{font-size:15px!important;font-weight:800!important;align-items:center!important}
.wb-week-cell-selection.multi-cell{background:#187eb51a!important;box-shadow:inset 0 0 0 2px #187eb58c!important;z-index:4!important}
.bucket-marker .bm-rest{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
.bucket-marker .bm-rest:active{cursor:grabbing}
.grouped-change-toast .change-title{font-weight:700}
.wb-bar.selected{z-index:30!important}

/* Entiview 2.12.1 — translucent notification balloons; full intensity on hover */
.toast,.change-toast,.undo-toast{opacity:.60!important}
.toast:hover,.change-toast:hover,.undo-toast:hover{opacity:1!important}
/* Preserve the timed fade-out animation, but do not animate the hover-off dimming. */
.change-toast{transition:transform .8s ease!important}
.change-toast.fading{opacity:0!important;transform:translateY(-8px);transition:opacity .8s ease,transform .8s ease!important}

/* Entiview 2.13 — manual/fixed vertical Warboard positioning */
.vertical-fix-check{min-width:150px}.vertical-fix-check input{accent-color:#176b9c}
.wb-bar[data-vertical-fixed="1"]{cursor:grab}

/* Entiview 2.14B — calendar-aware sprint geometry & cadence preferences */
.wb-time-head{display:block!important;position:relative!important;flex:none!important;min-width:0!important}
.wb-time-head .sprint-head{position:absolute!important;top:0;box-sizing:border-box!important}
.wb-time-head .sprint-head .sprint-weeks{display:flex!important;width:100%!important}
.wb-time-head .sprint-head .week-head{box-sizing:border-box!important}
.pref-date-input{font-variant-numeric:tabular-nums}
.cadence-options{display:grid;grid-template-columns:1fr;gap:7px;margin:5px 0 10px}
.cadence-choice{display:flex!important;gap:9px;align-items:flex-start;border:1px solid #cbd5dc;border-radius:6px;padding:9px 10px;background:#fbfcfd;cursor:pointer}
.cadence-choice:has(input:checked){border-color:#568bad;background:#eef6fb;box-shadow:inset 3px 0 #317eaa}
.cadence-choice input{margin-top:3px;flex:none}
.cadence-choice span{display:flex;flex-direction:column;gap:2px}
.cadence-choice small{font-size:10px;color:#6b7881;font-weight:400}
.cadence-preview{margin-top:8px;padding:9px 10px;border-radius:5px;background:#f1f5f7;border:1px solid #d9e0e4;font-size:11px;line-height:1.35;color:#42535e;min-height:18px}
.calendar-exception{background:#fff1c7!important;color:#7d5a00!important;border-color:#e1c56c!important}
.calendar-shift-check{margin-top:3px!important;padding:9px!important;background:#f6f8fa;border:1px solid #dce3e8;border-radius:5px}
.calendar-shift-check .field-hint{display:block;margin-left:22px;margin-top:3px}
#cadenceFromWrap[hidden]{display:none!important}

/* 2.14B marker size follows one working-day cell; prevents point markers crossing sprint boundaries. */
.marker-svg{width:var(--marker-size,14px)!important;height:var(--marker-size,14px)!important}
.wb-bar.marker-shape,.wb-bar.refinement-shape{width:var(--marker-size,14px)!important;height:var(--marker-size,14px)!important;min-width:var(--marker-size,14px)!important;min-height:var(--marker-size,14px)!important}


/* ENTIVIEW_2_14B_2_URGENT — restore established milestone size */
:root{--marker-size:24px}
.marker-svg{width:24px!important;height:24px!important}
.wb-bar.marker-shape,.wb-bar.refinement-shape{width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important}
