:root{--engine-topbar-h:74px;--engine-workspace-h:52px;--engine-section-h:52px;
  --aero:#00B5E2;
  --blue:#008BCC;
  --slate:#273C4E;
  --grey:#E9EAE8;
  --surface:#ffffff;
  --canvas:#f4f6f7;
  --text:#22313f;
  --muted:#657580;
  --sun:#FCC254;
  --coral:#E57357;
  --red:#A1262B;
  --keppel:#49C5B1;
  --green:#004225;
  --border:#d9e0e4;
  --shadow:0 8px 24px rgba(39,60,78,.08);
  --radius:14px;
  --font:Poppins,"Century Gothic",Tahoma,Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--canvas);color:var(--text);font-family:var(--font);font-size:14px}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit}
.app-shell{min-height:100vh;display:flex;flex-direction:column}.main{flex:1 0 auto}
.topbar{height:var(--engine-topbar-h);background:#fff;display:flex;align-items:center;gap:22px;padding:0 26px;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}
.brand{display:flex;align-items:center;gap:16px;min-width:290px}.brand img{width:220px;height:auto}.product-name{font-weight:700;color:var(--slate);font-size:15px;border-left:1px solid var(--border);padding-left:16px;white-space:nowrap}
.topbar-spacer{flex:1}.uat-chip{font-size:11px;font-weight:700;color:var(--blue);background:#eaf8fc;border:1px solid #bcebf7;border-radius:999px;padding:7px 10px;letter-spacing:.04em}.user-control{display:flex;align-items:center;gap:10px}.user-control select{border:1px solid var(--border);border-radius:10px;padding:9px 12px;background:#fff;color:var(--slate);font-weight:600}
.nav{background:var(--slate);color:#fff;display:flex;align-items:center;gap:4px;padding:0 22px;height:var(--engine-workspace-h);min-height:var(--engine-workspace-h);overflow-x:auto;overflow-y:hidden;position:sticky;top:var(--engine-topbar-h);z-index:19;scrollbar-width:thin}.nav button{border:0;background:transparent;color:#dce7ed;padding:17px 14px;border-bottom:3px solid transparent;white-space:nowrap;font-weight:600}.nav button:hover{color:#fff;background:rgba(255,255,255,.04)}.nav button.active{color:#fff;border-bottom-color:var(--aero)}
.main{padding:26px;max-width:1600px;width:100%;margin:0 auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}.page-head h1{margin:0;font-size:30px;line-height:1.15;color:var(--slate);letter-spacing:-.02em}.page-head p{margin:7px 0 0;color:var(--muted);max-width:900px}.head-actions{display:flex;gap:8px;flex-wrap:wrap}
.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:19px;min-width:0}.card h2,.card h3{margin:0;color:var(--slate)}.card h2{font-size:18px}.card h3{font-size:15px}.card .sub{color:var(--muted);font-size:12px;margin-top:4px}
.metric{display:flex;flex-direction:column;gap:4px}.metric .label{font-size:12px;color:var(--muted);font-weight:600}.metric .value{font-size:28px;font-weight:800;color:var(--slate);letter-spacing:-.03em}.metric .delta{font-size:12px;color:var(--muted)}.metric.good .delta{color:var(--green)}.metric.warn .delta{color:#8d6500}.metric.bad .delta{color:var(--red)}
.btn{border:1px solid var(--border);background:#fff;color:var(--slate);border-radius:10px;padding:10px 14px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn:hover{border-color:#abc3cf}.btn.primary{background:var(--aero);border-color:var(--aero);color:#fff}.btn.dark{background:var(--slate);border-color:var(--slate);color:#fff}.btn.danger{background:#fff7f6;border-color:#f0cbc5;color:var(--red)}.btn.sm{padding:7px 10px;font-size:12px}.btn.icon{width:40px;padding:9px}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;font-weight:700;color:var(--slate)}.field input,.field select,.field textarea{width:100%;border:1px solid var(--border);border-radius:9px;background:#fff;padding:10px 11px;color:var(--text)}.field textarea{min-height:90px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(0,181,226,.13);border-color:var(--aero)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.span-2{grid-column:span 2}.span-all{grid-column:1/-1}
.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:11px}.table{width:100%;border-collapse:collapse;background:#fff;min-width:760px}.table th{background:#f6f8f9;color:var(--slate);font-size:11px;text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:11px;border-bottom:1px solid var(--border);position:sticky;top:0}.table td{padding:11px;border-bottom:1px solid #edf1f3;vertical-align:top}.table tr:last-child td{border-bottom:0}.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}.table tr:hover td{background:#fbfcfd}
.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;background:#eef2f4;color:var(--slate)}.pill.blue{background:#e8f8fc;color:#007fa7}.pill.green{background:#e9f6f0;color:var(--green)}.pill.amber{background:#fff5d9;color:#7a5700}.pill.red{background:#fff0ee;color:var(--red)}.dot{width:8px;height:8px;border-radius:50%;background:currentColor}.rag{display:inline-flex;align-items:center;gap:6px;font-weight:800}.rag i{width:11px;height:11px;border-radius:50%;display:inline-block}.rag.green i{background:#2d8f5b}.rag.amber i{background:#edae29}.rag.red i{background:#c0443e}
.progress{height:10px;background:#edf2f4;border-radius:999px;overflow:hidden;position:relative}.progress span{display:block;height:100%;background:var(--aero);border-radius:inherit}.progress.warn span{background:var(--sun)}.progress.bad span{background:var(--coral)}.progress-markers{position:relative;height:18px;margin-top:4px;font-size:10px;color:var(--muted)}.progress-markers span{position:absolute;transform:translateX(-50%)}.progress-markers .m50{left:50%}.progress-markers .m75{left:75%}.progress-markers .m90{left:90%}
.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:26px 0 12px}.section-title h2{margin:0;font-size:18px;color:var(--slate)}
.timer-panel{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:end}.timer-clock{font-size:34px;font-weight:800;color:var(--slate);font-variant-numeric:tabular-nums;letter-spacing:-.03em}.timer-running{box-shadow:0 0 0 3px rgba(0,181,226,.12),var(--shadow);border-color:#8adbed}
.notice{border-left:4px solid var(--aero);background:#eef9fc;border-radius:8px;padding:11px 13px;color:#315765}.notice.warn{border-color:var(--sun);background:#fff9e8;color:#705b20}.notice.danger{border-color:var(--coral);background:#fff3f0;color:#7f4036}.notice.good{border-color:var(--keppel);background:#edf9f5;color:#315f50}
.dropzone{display:flex;min-height:190px;width:100%;border:2px dashed #abc6d2;border-radius:14px;padding:28px;text-align:center;background:#fbfdfe;transition:.15s;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.dropzone.drag{border-color:var(--aero);background:#effbfe}.dropzone strong{display:block;color:var(--slate);font-size:16px;margin-bottom:5px}.dropzone input{display:none}.receipt-preview{display:grid;grid-template-columns:72px 1fr auto;gap:12px;align-items:center}.receipt-thumb{width:72px;height:72px;background:#eef2f4;border:1px solid var(--border);border-radius:9px;display:flex;align-items:center;justify-content:center;overflow:hidden}.receipt-thumb img{width:100%;height:100%;object-fit:cover}
.accordion{border:1px solid var(--border);border-radius:11px;background:#fff;overflow:hidden}.accordion+.accordion{margin-top:10px}.accordion-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;background:#fff;cursor:pointer;font-weight:700;color:var(--slate)}.accordion-body{display:none;padding:15px;border-top:1px solid var(--border);background:#fbfcfd}.accordion.open .accordion-body{display:block}.accordion .chev{transition:.2s}.accordion.open .chev{transform:rotate(180deg)}
.calendar-grid{display:grid;grid-template-columns:180px repeat(6,minmax(100px,1fr));border:1px solid var(--border);border-radius:11px;overflow:auto;background:#fff}.calendar-grid>div{padding:10px;border-right:1px solid #e8edf0;border-bottom:1px solid #e8edf0;min-height:54px}.calendar-grid .head{background:#f5f8f9;font-size:11px;font-weight:800;color:var(--slate);text-transform:uppercase;letter-spacing:.04em}.alloc{border-radius:8px;padding:7px 8px;font-size:11px;font-weight:700;background:#e8f8fc;color:#006f91}.alloc.warn{background:#fff2cf;color:#6e5000}.alloc.bad{background:#ffebe8;color:#92372d}.alloc.leave{background:#edf1f3;color:#52626d}
.timeline{display:flex;gap:4px;align-items:flex-end;height:110px}.barcol{flex:1;min-width:22px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;height:100%}.bar{width:72%;background:var(--aero);border-radius:5px 5px 0 0;min-height:2px}.bar.target{background:#d7dfe3}.bar.future{background:var(--keppel)}.barlbl{font-size:10px;color:var(--muted)}
.status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.status-card{border:1px solid var(--border);border-radius:10px;padding:12px;background:#fff}.status-card .status-name{font-size:12px;color:var(--muted)}.status-card .status-value{font-weight:800;color:var(--slate);margin-top:3px}
.hierarchy{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.hierarchy .node{background:#f4f7f8;border:1px solid var(--border);border-radius:8px;padding:6px 8px;font-size:11px;font-weight:700;color:var(--slate)}.hierarchy .arrow{color:#9aabb4}
.overlay{position:fixed;inset:0;background:rgba(20,33,42,.45);display:flex;align-items:center;justify-content:center;padding:20px;z-index:100}.modal{background:#fff;border-radius:16px;box-shadow:0 22px 60px rgba(0,0,0,.25);width:min(620px,100%);max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-head{padding:18px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;gap:10px;align-items:center;flex:0 0 auto}.modal-head h2{margin:0;color:var(--slate);font-size:20px}.modal-body{padding:20px;overflow:auto;min-height:0;flex:1 1 auto}.modal-foot{padding:16px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px;flex:0 0 auto;flex-wrap:wrap;background:#fff}
.sidepanel-demo{width:380px;max-width:100%;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:var(--shadow);overflow:hidden}.sidepanel-top{background:#fff;border-bottom:1px solid var(--border);padding:14px;display:flex;align-items:center;gap:10px}.sidepanel-top img{width:140px}.sidepanel-body{padding:14px}.side-tabs{display:flex;gap:5px;border-bottom:1px solid var(--border);margin:-4px -4px 12px;padding:0 4px}.side-tabs span{padding:9px 8px;font-size:12px;font-weight:700;border-bottom:2px solid transparent}.side-tabs .active{border-color:var(--aero);color:var(--blue)}
.mobile-frame{width:360px;max-width:100%;border:8px solid #25343f;border-radius:30px;background:#fff;overflow:hidden;box-shadow:0 16px 40px rgba(39,60,78,.2)}.mobile-status{height:25px;background:#fff;text-align:center;font-size:10px;padding-top:7px}.mobile-head{padding:14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.mobile-head img{width:145px}.mobile-body{padding:14px;background:var(--canvas);min-height:520px}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--border);background:#fff}.mobile-nav span{text-align:center;padding:10px 2px;font-size:10px;color:var(--muted)}.mobile-nav .active{color:var(--blue);font-weight:800}
.empty{padding:36px;text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:12px;background:#fafcfc}
.small{font-size:12px;color:var(--muted)}.strong{font-weight:800;color:var(--slate)}.right{text-align:right}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-18{margin-top:18px}.mb-0{margin-bottom:0}.hidden{display:none!important}
.footer-note{color:var(--muted);font-size:11px;margin-top:28px;padding:14px 0 4px;border-top:1px solid var(--border)}
@media(max-width:1100px){.grid-4,.grid-5,.grid-6{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.brand{min-width:auto}.product-name{display:none}}
@media(max-width:760px){:root{--engine-topbar-h:66px;--engine-workspace-h:48px;--engine-section-h:48px}.topbar{padding:0 14px;height:var(--engine-topbar-h)}.topbar .uat-chip{display:none}.brand img{width:165px}.user-control select{max-width:150px}.nav{top:var(--engine-topbar-h);padding:0 8px}.nav button{padding:14px 10px}.main{padding:16px}.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:25px}.grid-2,.grid-3,.grid-4,.grid-5,.grid-6,.status-grid{grid-template-columns:1fr}.form-grid,.form-grid.cols-3,.form-grid.cols-4{grid-template-columns:1fr}.span-2{grid-column:span 1}.timer-panel{grid-template-columns:1fr}.card{padding:15px}.calendar-grid{grid-template-columns:130px repeat(6,100px)}}

/* v0.1.2 chargeability management */
.league-table .rank-col{width:68px;text-align:center}.league-table td.rank-col{text-align:center}.league-table tr.league-me td{background:#eef9fc}.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#edf2f4;color:var(--slate);font-weight:800}.rank-badge.rank-1{background:#fff4cf;color:#705400;border:1px solid #ead78b}.rank-badge.rank-2{background:#eef2f4;color:#52626d;border:1px solid #d3dce1}.rank-badge.rank-3{background:#f9eee7;color:#7b4a31;border:1px solid #ead0c1}.mini-progress{height:5px;background:#edf2f4;border-radius:999px;overflow:hidden;margin-top:5px;min-width:80px}.mini-progress span{display:block;height:100%;background:var(--aero);border-radius:inherit}.league-summary{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(260px,1.3fr);gap:22px;align-items:center}.league-position{font-size:40px;font-weight:800;color:var(--slate);line-height:1;margin:7px 0}.league-position span{font-size:16px;color:var(--muted);font-weight:600}.league-summary-copy{border-left:1px solid var(--border);padding-left:22px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--blue);font-weight:800}
@media(max-width:760px){.league-summary{grid-template-columns:1fr}.league-summary-copy{border-left:0;border-top:1px solid var(--border);padding-left:0;padding-top:16px}.league-table{min-width:980px}}

/* v0.1.3 capacity, skills and forecasting */
.resource-board{overflow:auto;border:1px solid var(--border);border-radius:12px;background:#fff}.resource-board-grid{display:grid;grid-template-columns:190px repeat(6,minmax(145px,1fr));min-width:1100px}.resource-board-grid>.head{padding:10px;background:#f5f8f9;border-right:1px solid #e8edf0;border-bottom:1px solid #e8edf0;font-size:11px;font-weight:800;color:var(--slate);text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0;z-index:2}.resource-person{padding:11px;border-right:1px solid #e8edf0;border-bottom:1px solid #e8edf0;background:#fbfcfd}.resource-cell{padding:7px;border-right:1px solid #e8edf0;border-bottom:1px solid #e8edf0;min-height:96px;position:relative;background:#fff}.resource-cell.near{background:#fffdf5}.resource-cell.over{background:#fff4f1;box-shadow:inset 0 0 0 2px rgba(229,115,87,.4)}.resource-cell.frozen{background:#f6f7f8}.resource-cell.frozen::after{content:'FROZEN';position:absolute;top:5px;right:6px;font-size:8px;letter-spacing:.08em;font-weight:900;color:#7a8790;opacity:.75}.resource-cell.frozen .resource-booking{opacity:.88}.resource-booking{border-radius:8px;padding:7px 8px;margin-bottom:6px;background:#e8f8fc;color:#006f91;border:1px solid #b9e8f2;cursor:grab}.resource-booking:active{cursor:grabbing}.resource-booking.tentative{background:#fff9e8;color:#6e5000;border:1px dashed #d4aa3f}.resource-booking-title{font-size:11px;font-weight:800}.resource-booking-meta{font-size:10px;margin-top:2px}.resource-empty{font-size:11px;color:#9aabb4;padding:9px 4px}.resource-total{font-size:10px;color:var(--muted);font-weight:800;position:absolute;right:7px;bottom:5px}.bad-text{color:var(--red)}.warn-text{color:#8b6500}.skill-pill{margin:2px 3px 2px 0}
@media(max-width:760px){.resource-board-grid{grid-template-columns:145px repeat(6,140px)}}
.gantt{overflow:auto;border:1px solid var(--border);border-radius:12px;background:#fff}.gantt-grid{display:grid;grid-template-columns:250px repeat(6,minmax(120px,1fr));min-width:1000px}.gantt-head{padding:10px;background:#f5f8f9;border-right:1px solid #e8edf0;border-bottom:1px solid #e8edf0;font-size:11px;font-weight:800;color:var(--slate);text-transform:uppercase;letter-spacing:.04em}.gantt-label{padding:10px;border-right:1px solid #e8edf0;border-bottom:1px solid #e8edf0;min-height:56px}.gantt-cell{padding:8px 4px;border-right:1px solid #e8edf0;border-bottom:1px solid #e8edf0;position:relative;min-height:56px}.gantt-bar{height:26px;border-radius:7px;background:#dff5fa;border:1px solid #a9dfeb;color:#006f91;font-size:10px;font-weight:800;padding:5px 8px;position:relative;z-index:1;white-space:nowrap;overflow:hidden}.gantt-bar.tentative{background:#fff9e8;border:1px dashed #d4aa3f;color:#6e5000}.gantt-bar.won{background:#e9f6f0;border:1px solid #a8d7c5;color:var(--green)}


/* v0.1.4 company-wide weekly reporting + layout discipline */
.weekly-grid{align-items:stretch}.weekly-report-card{display:flex;flex-direction:column;min-height:100%}.weekly-report-card.weekly-red{border-top:4px solid var(--red)}.weekly-report-card.weekly-amber{border-top:4px solid var(--sun)}.weekly-report-card.weekly-green{border-top:4px solid var(--keppel)}.weekly-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.weekly-purpose{margin-top:12px;padding:11px 12px;background:#f7f9fa;border-radius:9px;color:var(--slate)}.weekly-purpose .eyebrow{display:block;margin-bottom:4px}.weekly-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.weekly-story-grid>div{border:1px solid var(--border);border-radius:9px;padding:10px;background:#fff}.weekly-story-grid span,.weekly-finance-grid span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:800;color:var(--muted)}.weekly-story-grid p{margin:6px 0 0;font-size:12px;line-height:1.5;color:var(--text)}.weekly-finance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.weekly-finance-grid>div{background:#f7f9fa;border-radius:8px;padding:9px}.weekly-finance-grid strong{display:block;color:var(--slate);margin-top:3px}.weekly-filterbar{box-shadow:none}.section-title.compact{margin:0 0 12px}.resource-lower-grid>.card{min-height:100%}.resource-kpis>.card{min-height:132px}.resource-board{box-shadow:var(--shadow)}
@media(max-width:900px){.weekly-story-grid,.weekly-finance-grid{grid-template-columns:1fr}.weekly-grid{grid-template-columns:1fr}}

/* v0.1.5 training pathway */
.training-path{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;position:relative}.training-card{height:100%;display:flex;flex-direction:column}.training-card .btn{margin-top:auto;align-self:flex-start}.training-card-top{display:flex;align-items:center;gap:7px;min-height:30px}.training-card-top .pill:last-child{margin-left:auto}.training-step{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--slate);color:#fff;font-weight:800;font-size:12px;flex:0 0 auto}.lesson-points{display:grid;gap:10px}.lesson-point{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid #edf1f3}.lesson-point:last-child{border-bottom:0}.lesson-point>span{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e8f8fc;color:#007fa7;font-weight:800}.lesson-point p{margin:3px 0 0}.knowledge-check{background:#f6f8f9;border:1px solid var(--border);border-radius:12px;padding:16px}.training-answers{display:grid;gap:8px}.training-answer{justify-content:flex-start;text-align:left}.training-answer.answer-correct{border-color:#73b993;background:#edf8f2;color:var(--green)}.training-answer.answer-wrong{border-color:#e3a79e;background:#fff4f2;color:var(--red)}
@media(max-width:1100px){.training-path{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.training-path{grid-template-columns:1fr}}
.planning-cadence{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:12px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px 16px}.planning-cadence>div{display:flex;flex-direction:column;gap:3px}.planning-cadence>div>span:last-child{font-size:11px;color:var(--muted)}.planning-cadence>i{font-style:normal;color:var(--aero);font-size:20px;font-weight:800}.management-snapshot{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0;overflow:hidden}.management-snapshot>div{padding:18px;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:5px}.management-snapshot>div:last-child{border-right:0}.management-snapshot strong{font-size:24px;color:var(--slate)}.management-snapshot>div>span:last-child{font-size:11px;color:var(--muted)}
@media(max-width:900px){.planning-cadence{grid-template-columns:1fr}.planning-cadence>i{transform:rotate(90deg);justify-self:start}.management-snapshot{grid-template-columns:repeat(2,minmax(0,1fr))}.management-snapshot>div:nth-child(2){border-right:0}.management-snapshot>div:nth-child(-n+2){border-bottom:1px solid var(--border)}}

/* v0.1.8 governed administration, project set-up and 9S */
.nine-s-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.nine-s-item{border:1px solid var(--border);border-radius:9px;padding:9px;background:#fbfcfd}.nine-s-item strong{display:block;color:var(--slate);font-size:12px}.nine-s-item span{display:block;color:var(--muted);font-size:10px;line-height:1.45;margin-top:4px}.nine-s-item.active{border-color:#78d3e8;background:#eef9fc;box-shadow:inset 0 0 0 1px rgba(0,181,226,.18)}
.invoice-split-head,.invoice-split-row{display:grid;grid-template-columns:150px 150px minmax(180px,1fr) minmax(240px,1.5fr);gap:8px;align-items:center}.invoice-split-head{font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:800;color:var(--muted);padding:0 2px 6px}.invoice-split-row{margin-bottom:8px}.invoice-split-row input,.invoice-split-row select{width:100%;border:1px solid var(--border);border-radius:8px;padding:9px;background:#fff}.admin-node{display:inline-flex!important;align-items:center;gap:6px}.admin-node button{border:0;background:transparent;color:var(--red);font-weight:900;padding:0;line-height:1}.admin-line{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #edf1f3}.admin-line:last-child{border-bottom:0}
@media(max-width:900px){.nine-s-grid{grid-template-columns:1fr}.invoice-split-head{display:none}.invoice-split-row{grid-template-columns:1fr 1fr}.invoice-split-row select{grid-column:1/-1}}
/* v0.1.12 operational approvals + 9S readiness */
.nine-s-item.answered{border-color:#9edbd0;background:#f4fbf9}.nine-s-item.answered em{display:block;margin-top:6px;font-size:10px;font-style:normal;font-weight:700;color:#2f7f70}.nine-s-answer-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.nine-s-answer{padding:12px;border:1px solid var(--border);border-radius:10px;background:#fff}.nine-s-answer.current{border-color:#78d3e8;background:#f7fcfe}.nine-s-answer textarea{min-height:84px}.approval-cover-note{display:flex;gap:8px;align-items:center}
@media(max-width:900px){.nine-s-answer-list{grid-template-columns:1fr}}

/* v0.1.14 best-of-breed capture, workflow reliability and executive analytics */
.global-timer{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:11px;background:#fff;overflow:hidden;min-width:230px;max-width:330px;height:44px}.global-timer.running{border-color:#79d3e7;box-shadow:0 0 0 3px rgba(0,181,226,.1)}.global-timer-main{border:0;background:#fff;display:flex;align-items:center;gap:9px;padding:5px 10px;min-width:0;flex:1;color:var(--slate);text-align:left}.global-timer-main>span:last-child{min-width:0;display:flex;flex-direction:column}.global-timer-main strong{font-size:12px;line-height:1.2}.global-timer-main small{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:205px}.global-timer-dot{width:8px;height:8px;border-radius:50%;background:#b4c0c6;flex:0 0 auto}.global-timer.running .global-timer-dot{background:var(--aero);box-shadow:0 0 0 4px rgba(0,181,226,.12)}.global-timer-toggle{width:42px;border:0;border-left:1px solid var(--border);background:#f7fafb;color:var(--slate);font-weight:900}.global-timer.running .global-timer-toggle{background:var(--aero);color:#fff;border-left-color:var(--aero)}
.recent-contexts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.recent-context{border:1px solid var(--border);border-radius:10px;padding:11px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fbfcfd}.recent-context>div:first-child{min-width:0}.recent-context strong,.recent-context span{display:block}.recent-context strong{color:var(--slate);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-context span{font-size:10px;color:var(--muted);margin-top:3px}
.receipt-inbox-card{box-shadow:none}.receipt-inbox-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.integration-readiness{box-shadow:none}.readiness-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.readiness-grid>div{border:1px solid var(--border);border-radius:9px;padding:11px;background:#fbfcfd}.readiness-grid strong,.readiness-grid span{display:block}.readiness-grid strong{color:var(--slate)}.readiness-grid span{font-size:10px;color:var(--muted);margin-top:4px;line-height:1.45}
.executive-panel{border-top:4px solid var(--aero)}
@media(max-width:1180px){.global-timer{display:none}.recent-contexts{grid-template-columns:1fr}.readiness-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.readiness-grid{grid-template-columns:1fr}}

/* v0.1.16 project set-up -> weekly reporting baseline */
.setup-baseline{margin:0 0 8px;padding:8px 10px;border-left:3px solid #00B5E2;background:#f5fbfd;border-radius:6px;font-size:12px;line-height:1.45;color:#273C4E}
.setup-nine-s{margin-top:8px}
.setup-nine-s .nine-s-answer textarea{min-height:74px}

/* v0.1.18 reporting UX: graphical summaries + compact accordion reporting */
.report-accordion{margin-bottom:12px}
.report-accordion>.accordion-head{padding:15px 18px;background:#fff}
.report-accordion>.accordion-head:hover{background:#f7fafb}
.report-accordion>.accordion-body{padding:18px;background:#f8fafb}
.report-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.chart-panel{min-height:290px}.chart-panel-wide{grid-column:1/-1;min-height:310px}
.chart-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.chart-title h2{margin:4px 0 0}
.report-chart-card{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:18px;min-height:190px}
.report-donut-wrap{display:flex;justify-content:center;align-items:center}.report-donut{width:145px;height:145px;overflow:visible}.donut-value{font-size:17px;font-weight:800;fill:#273C4E}.donut-sub{font-size:9px;fill:#667784}
.chart-legend{display:grid;gap:10px}.chart-legend>div{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:9px;padding-bottom:8px;border-bottom:1px solid #edf1f3}.legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.chart-legend strong{color:#273C4E}
.report-line-wrap{width:100%;overflow-x:auto}.report-line{width:100%;min-width:620px;height:230px}.chart-grid{stroke:#e3e9ed;stroke-width:1}.trend-line{fill:none;stroke:#00B5E2;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.line-dot{fill:#fff;stroke:#008BCC;stroke-width:3}.target-line{stroke:#273C4E;stroke-width:1.5;stroke-dasharray:7 6;opacity:.65}.target-label{font-size:10px;fill:#273C4E;font-weight:700}.axis-label{font-size:10px;fill:#667784}
@media(max-width:900px){.report-chart-grid{grid-template-columns:1fr}.chart-panel-wide{grid-column:auto}.report-chart-card{grid-template-columns:1fr}.chart-legend{padding:0 10px}.report-accordion>.accordion-body{padding:13px}}

/* v0.1.19 project mobilisation workflow */
.setup-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 18px}.setup-progress-item{display:flex;align-items:center;justify-content:center;min-height:38px;padding:8px 10px;border:1px solid #dce3e7;border-radius:9px;background:#f7f9fa;color:#667784;font-size:12px;font-weight:700;text-align:center}.setup-progress-item.active{background:#e8f8fc;border-color:#00B5E2;color:#273C4E;box-shadow:inset 0 0 0 1px #00B5E2}.project-setup-step{animation:setupFade .15s ease-out}@keyframes setupFade{from{opacity:.35;transform:translateY(3px)}to{opacity:1;transform:none}}@media(max-width:760px){.setup-progress{grid-template-columns:1fr 1fr}.setup-progress-item{font-size:11px}}

/* v0.1.20 project lifecycle / modal reliability */
.modal-wide{width:min(1120px,100%)}
.project-closeout-workspace .closeout-summary-preview{padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:#f8fafb}
.project-closeout-workspace .closeout-summary-preview p{margin:0 0 12px;line-height:1.55}.project-closeout-workspace .closeout-summary-preview p:last-child{margin-bottom:0}
.checklist-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}.check-row{display:flex;gap:9px;align-items:flex-start;padding:9px 10px;border:1px solid var(--border);border-radius:9px;background:#fff}.check-row input{margin-top:3px}
.setup-release-note{border-left:4px solid var(--aero);background:#eefaff;padding:10px 12px;border-radius:8px}
@media(max-width:800px){.checklist-grid{grid-template-columns:1fr}.modal-wide{width:100%}}

/* v0.1.21 project summary library + task-focused mobile / Outlook channels */
.channel-launchers{display:flex;gap:6px;align-items:center}.channel-launchers .btn{white-space:nowrap}
.summary-library-controls{box-shadow:none}.summary-library-grid{align-items:stretch}.summary-library-card{display:flex;flex-direction:column;min-height:290px}.summary-library-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.summary-library-head>div{min-width:0}.summary-result{font-size:13px;line-height:1.55;color:#344b5b;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.summary-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:12px}.closeout-summary-preview{padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:#f8fafb}.closeout-summary-preview p{line-height:1.55}
.channel-device{border:1px solid var(--border);border-radius:14px;background:#f6f8f9;overflow:hidden}.channel-device.mobile-channel{max-width:430px;margin:0 auto}.channel-device.outlook-channel{max-width:520px;margin:0 auto}.channel-device-head{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;padding:13px 14px;border-bottom:1px solid var(--border)}.channel-device-head img{width:160px;height:auto}.channel-tabs{display:flex;gap:0;overflow-x:auto;background:var(--slate);padding:0 8px}.channel-tabs button{border:0;background:transparent;color:#dce7ed;padding:11px 9px;font-size:10px;font-weight:700;white-space:nowrap;border-bottom:3px solid transparent}.channel-tabs button.active{color:#fff;border-bottom-color:var(--aero)}.channel-device-body{background:#fff;padding:16px;min-height:330px}.channel-device-foot{padding:10px 14px;background:#f6f8f9;color:var(--muted);font-size:9px;line-height:1.4;border-top:1px solid var(--border)}.channel-task h2{margin:6px 0 0;color:var(--slate);font-size:19px}.channel-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.channel-kpis>div{border:1px solid var(--border);border-radius:9px;padding:10px;background:#fbfcfd}.channel-kpis span,.channel-kpis strong{display:block}.channel-kpis span{font-size:9px;color:var(--muted)}.channel-kpis strong{font-size:16px;color:var(--slate);margin-top:3px}
@media(max-width:1180px){.channel-launchers{display:none}}
@media(max-width:720px){.summary-library-grid{grid-template-columns:1fr}.channel-kpis{grid-template-columns:1fr}.channel-device-body{min-height:280px}}

/* v0.1.22 weekly reporting workflow + reporting clarity */
.weekly-flow-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 18px}.weekly-flow-chip{min-height:44px;border:1px solid var(--border);border-radius:10px;background:#f6f8f9;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 10px}.weekly-flow-chip>span{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#dfe6ea;color:var(--slate);font-size:11px;font-weight:800}.weekly-flow-chip strong{font-size:12px}.weekly-flow-chip.active{border-color:#78d3e8;background:#eef9fc;color:var(--slate);box-shadow:inset 0 0 0 1px rgba(0,181,226,.14)}.weekly-flow-chip.active>span{background:var(--aero);color:#fff}.weekly-flow-chip.done{border-color:#a7d8c4;background:#f1faf5;color:var(--green)}.weekly-flow-chip.done>span{background:var(--green);color:#fff}.weekly-flow-step{min-height:430px}.weekly-risk-row{padding:10px 0;border-bottom:1px solid #edf1f3}.weekly-risk-row:last-child{border-bottom:0}.weekly-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.weekly-review-grid>div{border:1px solid var(--border);border-radius:10px;padding:12px;background:#fbfcfd}.weekly-review-grid span,.weekly-review-grid strong{display:block}.weekly-review-grid span{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:800}.weekly-review-grid strong{margin-top:6px;color:var(--slate);font-size:13px;line-height:1.45}.rag-chart-panel .chart-legend>div:nth-child(1) .legend-dot{background:#A1262B!important}.rag-chart-panel .chart-legend>div:nth-child(2) .legend-dot{background:#FCC254!important}.rag-chart-panel .chart-legend>div:nth-child(3) .legend-dot{background:#004225!important}
@media(max-width:800px){.weekly-flow-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.weekly-review-grid{grid-template-columns:1fr}.weekly-flow-step{min-height:0}}

/* v0.1.23 governed RAG palette + in-channel workflows */
.report-donut .rag-segment.rag-red{stroke:#A1262B!important}
.report-donut .rag-segment.rag-amber{stroke:#FCC254!important}
.report-donut .rag-segment.rag-green{stroke:#004225!important}
.rag-chart-panel .rag-legend.rag-red .legend-dot{background:#A1262B!important}
.rag-chart-panel .rag-legend.rag-amber .legend-dot{background:#FCC254!important}
.rag-chart-panel .rag-legend.rag-green .legend-dot{background:#004225!important}
.rag-text.rag-red{color:#A1262B!important}.rag-text.rag-amber{color:#9A6500!important}.rag-text.rag-green{color:#004225!important}
.rag-pill.rag-red{background:#f8e8e9!important;color:#A1262B!important;border-color:#e9b9bd!important}
.rag-pill.rag-amber{background:#fff4d6!important;color:#7b5200!important;border-color:#f0d28a!important}
.rag-pill.rag-green{background:#e8f4ed!important;color:#004225!important;border-color:#a9ceb9!important}
.channel-task .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.channel-task .field.span-2{grid-column:1/-1}
.channel-task textarea{min-height:78px}.channel-details{border:1px solid var(--border);border-radius:10px;background:#fbfcfd;padding:0 12px}.channel-details>summary{cursor:pointer;padding:12px 0;font-weight:800;color:var(--slate)}
.channel-schedule-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:11px 0;border-bottom:1px solid #edf1f3}.channel-schedule-row:last-child{border-bottom:0}.channel-schedule-row strong,.channel-schedule-row span{display:block}.channel-schedule-row>div>span{font-size:10px;color:var(--muted);margin-top:3px}
.channel-mini-rag{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.mini-rag{border:2px solid;border-radius:10px;padding:10px;background:#fff}.mini-rag span,.mini-rag strong{display:block}.mini-rag span{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.mini-rag strong{font-size:22px;margin-top:3px}.mini-rag.red{border-color:#A1262B;color:#A1262B}.mini-rag.amber{border-color:#FCC254;color:#7b5200;background:#fffaf0}.mini-rag.green{border-color:#004225;color:#004225}
.mobile-channel .channel-device-body{max-height:70vh;overflow:auto}.outlook-channel .channel-device-body{max-height:72vh;overflow:auto}
@media(max-width:720px){.channel-task .form-grid{grid-template-columns:1fr}.channel-task .field.span-2{grid-column:auto}.channel-mini-rag{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* v0.1.24 invoice forecast reporting */
.filter-toolbar{align-items:flex-end;flex-wrap:wrap}.inline-field{min-width:150px;max-width:230px}.inline-field label{display:block;margin-bottom:5px}.invoice-chart .invoice-bar{fill:#00B5E2}.invoice-chart .bar-value{font-size:10px;fill:#273C4E;font-weight:800}.invoice-chart .axis-label{font-size:9px}
@media(max-width:760px){.inline-field{max-width:none;width:100%}.filter-toolbar .btn{width:100%}}

/* v0.1.25 timesheet accountability, part-day leave and schedule requests */
.daily-accountability{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.daily-account-card{border:1px solid var(--border);border-radius:10px;background:#fbfcfd;padding:10px;min-height:82px}.daily-account-card span,.daily-account-card strong,.daily-account-card small{display:block}.daily-account-card span{font-size:10px;font-weight:800;color:var(--muted)}.daily-account-card strong{font-size:20px;color:var(--slate);margin-top:4px}.daily-account-card small{font-size:9px;line-height:1.35;color:var(--muted);margin-top:4px}.daily-account-card.under{border-color:#d98f94;background:#fff4f4;box-shadow:inset 0 0 0 1px rgba(161,38,43,.12)}.daily-account-card.under strong,.daily-account-card.under small{color:#A1262B}.daily-account-card.covered{border-color:#9dc9af;background:#f2f8f4}.daily-account-card.covered strong{color:#004225}.daily-account-card.pending-cover{border-color:#e7c76d;background:#fff9e8}.daily-account-card.pending-cover strong,.daily-account-card.pending-cover small{color:#7b5200}.leave-timesheet-row{background:#f8fbfc}.leave-timesheet-row td:first-child{border-left:3px solid #49C5B1}
@media(max-width:1000px){.daily-accountability{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:700px){.daily-accountability{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v0.1.25 chargeability drill-down */
.chargeability-drill-table .chargeability-row{cursor:pointer;transition:background .15s ease,box-shadow .15s ease}
.chargeability-drill-table .chargeability-row:hover{background:#f4fbfd}
.chargeability-drill-table .chargeability-row:focus{outline:3px solid rgba(0,181,226,.25);outline-offset:-3px}
.chargeability-drill-table .chargeability-row.selected{background:#eaf8fc;box-shadow:inset 4px 0 0 #00B5E2}

/* v0.1.27 production governance, action centre and executive cockpit */
.action-centre{border-top:4px solid var(--aero)}
.action-centre.mb-18{margin-bottom:18px}
.action-tile{appearance:none;border:1px solid var(--border);background:#fff;border-radius:10px;padding:12px;text-align:left;min-height:86px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease;color:var(--slate)}
.action-tile:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(39,60,78,.08)}
.action-tile strong,.action-tile span{display:block}.action-tile strong{font-size:13px}.action-tile span{font-size:10px;color:var(--muted);line-height:1.4;margin-top:5px}
.action-tile.red{border-left:4px solid var(--red)}.action-tile.amber{border-left:4px solid var(--sun)}.action-tile.blue{border-left:4px solid var(--aero)}.action-tile.green{border-left:4px solid var(--green)}
@media(max-width:900px){.action-centre .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.action-centre .grid-4{grid-template-columns:1fr}}


/* v0.1.29 Projects page accordions + embedded Project Summary Library */
.project-accordion-head>span:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}
.accordion-subtitle{font-size:12px;font-weight:500;color:#6b7d88;line-height:1.35}
.accordion-head-meta{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.project-work-accordion>.accordion-body,.project-summary-library-accordion>.accordion-body,.project-closed-accordion>.accordion-body{padding:16px;background:#f8fafb}
.project-card-grid{align-items:stretch}
.project-card-grid>.card{height:100%}
.summary-library-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.summary-library-intro>div{max-width:780px}
.project-summary-library-accordion{scroll-margin-top:84px}
@media(max-width:720px){.project-accordion-head{align-items:flex-start}.accordion-head-meta{align-self:flex-start}.summary-library-intro{flex-direction:column}.summary-library-intro .btn{width:100%}}

/* v0.1.33 common work model, contractor profiles and Marketing Calendar */
.work-model-card{border-top:4px solid var(--aero)}
.marketing-calendar{border-top:4px solid var(--aero);margin-top:18px}
.marketing-calendar-table{min-width:1320px}
.marketing-calendar-table th.calendar-month,.marketing-calendar-table td.calendar-month{width:42px;min-width:42px;text-align:center;padding-left:5px;padding-right:5px}
.marketing-calendar-table td.calendar-month.client-work{background:#eaf8f2;color:var(--green);font-weight:900}
.marketing-calendar-table td.calendar-month.internal-work{background:#eef8fc;color:var(--aero);font-weight:900}
.marketing-capacity-strip{display:grid;grid-template-columns:repeat(12,minmax(76px,1fr));gap:7px;overflow-x:auto;padding-bottom:4px}
.marketing-capacity-month{border:1px solid var(--border);border-radius:10px;background:#fbfcfd;padding:9px;min-height:96px}
.marketing-capacity-month span,.marketing-capacity-month strong,.marketing-capacity-month small{display:block}
.marketing-capacity-month span{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:800}
.marketing-capacity-month strong{font-size:20px;color:var(--slate);margin:4px 0}
.marketing-capacity-month small{font-size:9px;color:var(--muted);line-height:1.35;margin-top:2px}
.marketing-capacity-month.tight{border-color:#e7c76d;background:#fff9e8}.marketing-capacity-month.tight strong{color:#7b5200}
.marketing-capacity-month.over{border-color:#d98f94;background:#fff4f4}.marketing-capacity-month.over strong{color:#A1262B}
@media(max-width:900px){.marketing-capacity-strip{grid-template-columns:repeat(12,100px)}.work-model-card .planning-cadence{overflow-x:auto}}


/* v0.1.36 Resource Planning role-aware accordion hierarchy */
.resource-main-accordion>.accordion-head{padding:16px 18px;background:#fff}
.resource-main-accordion>.accordion-head:hover{background:#f7fafb}
.resource-main-accordion>.accordion-body{padding:18px;background:#f8fafb}
.resource-main-accordion>.accordion-body>.card{box-shadow:none;margin:0}
.resource-focus-banner{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:16px 18px;border:1px solid var(--border);border-left:4px solid var(--green);border-radius:11px;background:#f8fbf9;margin-bottom:14px}
.resource-focus-banner.marketing{border-left-color:var(--blue);background:#f7fbfd}
.resource-focus-banner h2{margin:4px 0 5px;font-size:20px}.resource-focus-banner p{margin:0;max-width:900px;color:#526572;line-height:1.45}
.resource-accordion-head>span:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
@media(max-width:720px){.resource-focus-banner{flex-direction:column}.resource-main-accordion>.accordion-head{align-items:flex-start}.resource-main-accordion .accordion-head-meta{align-self:flex-start}}

/* v0.1.48 Time actions + channel interaction polish */
.time-page-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:nowrap;overflow-x:auto;padding:0 0 4px;margin:-6px 0 16px;scrollbar-width:thin}
.time-page-actions .btn{flex:0 0 auto;white-space:nowrap}
.channel-tabs button{cursor:pointer;pointer-events:auto}
.channel-task .btn,.channel-task select,.channel-task input,.channel-task textarea{pointer-events:auto}
@media(max-width:760px){.time-page-actions{justify-content:flex-start;margin-top:-2px;padding-bottom:8px}.time-page-actions .btn{min-height:40px}}
/* v0.1.55 role-guided Project P&L training */
.recommended-training .training-card{border:2px solid var(--aero);box-shadow:0 0 0 3px rgba(0,181,226,.10),var(--shadow)}
.recommended-training .training-card:before{content:'Recommended for your role';display:inline-flex;margin-bottom:10px;border-radius:999px;padding:5px 9px;background:#e8f8fc;color:#007fa7;font-size:11px;font-weight:800}

/* v0.1.56 · streamlined Global Admin overflow navigation */
.admin-more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.admin-more-item{display:flex;align-items:flex-start;gap:12px;text-align:left;border:1px solid var(--border);background:#fff;border-radius:12px;padding:14px;cursor:pointer;color:var(--text)}
.admin-more-item:hover,.admin-more-item.active{border-color:var(--aero);box-shadow:0 0 0 3px rgba(0,181,226,.08)}
.admin-more-icon{font-size:20px;color:var(--blue);min-width:26px;line-height:1.2}
.admin-more-item strong{display:block;color:var(--slate);font-size:14px}
.admin-more-item small{display:block;color:var(--muted);font-size:12px;line-height:1.35;margin-top:4px}
@media(max-width:760px){.admin-more-grid{grid-template-columns:1fr}}

/* v0.1.57 role-based Engine workspaces */
.workspace-nav{overflow-x:auto}
.section-nav{background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 22px;height:var(--engine-section-h);min-height:var(--engine-section-h);position:sticky;top:calc(var(--engine-topbar-h) + var(--engine-workspace-h));z-index:18;box-shadow:0 2px 8px rgba(39,60,78,.04);overflow:hidden}
.section-nav-context{display:none}
.section-nav-items{display:flex;align-items:stretch;gap:4px;overflow-x:auto;overflow-y:hidden;width:100%;min-width:0;scrollbar-width:thin;scroll-behavior:smooth}
.section-nav-items button{flex:0 0 auto;border:0;background:transparent;color:#526775;padding:0 12px;border-bottom:3px solid transparent;white-space:nowrap;font-weight:600;cursor:pointer;min-height:var(--engine-section-h)}
.section-nav-items button:hover{color:var(--slate);background:#f7fafb}
.section-nav-items button.active{color:var(--slate);border-bottom-color:var(--aero);background:#f7fcfe}
.alert-summary-list{display:grid;gap:0}
.alert-summary-list>div{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:11px 0;border-bottom:1px solid #edf1f3}
.alert-summary-list>div:last-child{border-bottom:0}
.alert-summary-list strong{font-size:18px;color:var(--slate)}
@media(max-width:900px){.section-nav{padding:0 8px;top:calc(var(--engine-topbar-h) + var(--engine-workspace-h))}.section-nav-context{display:none}.section-nav-items{width:100%}.section-nav-items button{padding:0 10px}}

.health-card{box-shadow:none}.health-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.health-grid{align-items:stretch}.health-summary .metric{min-height:112px}

/* v0.1.65 standard-hours planning + forward calendars */
.forward-calendar-card{border-top:4px solid var(--aero)}
.forward-calendar-controls{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.forward-calendar-scroll{overflow-x:auto;padding-bottom:6px}
.forward-calendar-grid{display:grid;grid-template-columns:minmax(190px,1.35fr) repeat(8,minmax(135px,1fr));min-width:1280px;border:1px solid var(--border);border-radius:11px;overflow:hidden;background:#fff}
.forward-calendar-corner,.forward-calendar-week-head{background:#f5f8fa;border-bottom:1px solid var(--border);padding:10px 12px;min-height:58px}
.forward-calendar-corner{display:flex;align-items:center;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.forward-calendar-week-head{border-left:1px solid var(--border)}
.forward-calendar-week-head strong,.forward-calendar-week-head span{display:block}.forward-calendar-week-head strong{font-size:12px;color:var(--slate)}.forward-calendar-week-head span{font-size:10px;color:var(--muted);margin-top:3px}
.forward-calendar-lane-label{padding:11px 12px;border-top:1px solid var(--border);background:#fbfcfd;min-height:78px}.forward-calendar-lane-label strong,.forward-calendar-lane-label span{display:block}.forward-calendar-lane-label strong{font-size:12px;color:var(--slate)}.forward-calendar-lane-label span{font-size:9px;color:var(--muted);line-height:1.35;margin-top:4px}
.forward-calendar-cell{padding:7px;border-left:1px solid var(--border);border-top:1px solid var(--border);min-height:78px;background:#fff;display:flex;flex-direction:column;gap:5px}
.forward-calendar-cell.aggregate{background:#fbfcfd}.forward-calendar-cell.aggregate strong,.forward-calendar-cell.aggregate span,.forward-calendar-cell.aggregate small{display:block}.forward-calendar-cell.aggregate strong{font-size:16px;color:var(--slate)}.forward-calendar-cell.aggregate span{font-size:9px;color:var(--muted);margin-top:2px}.forward-calendar-cell.aggregate small{font-size:9px;color:#526572;line-height:1.3;margin-top:3px}.forward-calendar-cell.aggregate.has-work{background:#f4fbfd}.forward-calendar-cell.aggregate.over{background:#fff4f4}.forward-calendar-cell.aggregate.over strong{color:var(--red)}
.forward-calendar-event{border-left:3px solid var(--aero);border-radius:6px;background:#eef9fc;padding:6px 7px;min-width:0}.forward-calendar-event strong,.forward-calendar-event span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.forward-calendar-event strong{font-size:9px;color:var(--slate)}.forward-calendar-event span{font-size:8px;color:var(--muted);margin-top:2px}.forward-calendar-event.tentative{border-left-color:var(--sun);background:#fff8e8}.forward-calendar-event.leave{border-left-color:var(--keppel);background:#effaf7}.forward-calendar-event.leave.tentative{border-left-color:var(--sun);background:#fff8e8}
.forward-calendar-empty{font-size:9px;color:#a2adb4;margin:auto 0}.calendar-legend{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:9px;font-size:10px;color:var(--muted)}.calendar-legend span{display:inline-flex;align-items:center;gap:5px}.calendar-dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:var(--aero)}.calendar-dot.tentative{background:var(--sun)}.calendar-dot.leave{background:var(--keppel)}
@media(max-width:760px){.forward-calendar-controls{justify-content:flex-start}.forward-calendar-grid{grid-template-columns:160px repeat(8,125px);min-width:1160px}.forward-calendar-card .section-title{align-items:flex-start;flex-direction:column}}
/* v0.1.65 forward calendar filters */
.calendar-view-buttons{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.calendar-filter{min-width:230px;max-width:330px;height:34px;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--slate);padding:0 9px;font-size:11px}
@media(max-width:760px){.calendar-view-buttons{justify-content:flex-start}.calendar-filter{width:100%;max-width:none}}


/* v0.1.69 long-workflow modal integrity */
.weekly-flow-step{min-width:0}
.modal-wide .modal-foot{box-shadow:0 -1px 0 rgba(39,60,78,.03)}
@media(max-width:760px){.modal-foot{justify-content:flex-start}.modal-foot .btn{min-height:40px}}

/* v0.1.75 Weekly Report actions belong to the report, not the viewport. */
.modal.modal-weekly-report{overflow:auto;display:block}
.modal-weekly-report .modal-head{position:static}
.modal-weekly-report .modal-body{overflow:visible;min-height:0;display:block}
.modal-weekly-report .modal-foot{position:static;width:100%;box-shadow:none;background:#fff}

/* Production screens use class names the stylesheet never defined, so their summary figures
   stacked as bare text and the header's name and role ran together. Styled here to match the
   UAT equivalents (.grid-4 tiles, .card surfaces). */
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:14px}
.metric-grid .metric{min-height:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;gap:6px}
.metric-grid .metric span{font-size:12px;color:var(--muted);font-weight:600}
.metric-grid .metric strong{font-size:26px;font-weight:800;color:var(--slate);letter-spacing:-.03em;line-height:1.1}
.userbox{display:flex;flex-direction:column;align-items:flex-end;margin-left:auto;line-height:1.25;text-align:right}
.userbox strong{color:var(--slate)}
.userbox span{font-size:12px;color:var(--muted);font-weight:600}
.meta{font-size:12px;color:var(--muted)}
.check{display:flex;align-items:center;gap:8px;font-weight:500;font-size:14px;color:var(--slate)}
.link-btn{background:none;border:0;padding:0;color:var(--blue);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline}
.mt-4{margin-top:4px}
.mb-8{margin-bottom:8px}
@media(max-width:900px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.metric-grid{grid-template-columns:1fr}}
