/* DCCC Labour Cost / Workforce Planning — reference-layout production UI v3 */
:root{--dl3-red:#e30613;--dl3-yellow:#ffd400;--dl3-ink:#111318;--dl3-muted:#686e76;--dl3-line:#dfe3e7;--dl3-soft:#f4f6f7;--dl3-dark:#0d1116;--dl3-max:1540px;--dl3-shadow:0 9px 24px rgba(10,16,25,.09)}
body.dccc-labour-v3{overflow-x:hidden;background:#f5f6f7}body.dccc-labour-v3 #app{max-width:none;padding:0;overflow:clip;background:#f5f6f7}body.dccc-labour-v3 .desktop-nav a.dl3-active,body.dccc-labour-v3 .mobile-menu a.dl3-active{position:relative;color:var(--dl3-red)!important;font-weight:850}body.dccc-labour-v3 .desktop-nav a.dl3-active::after{content:"";position:absolute;left:9%;right:9%;bottom:-9px;height:3px;border-radius:99px;background:var(--dl3-red)}
.dl3-page{width:100%;color:var(--dl3-ink);background:#f5f6f7}.dl3-hero{position:relative;height:340px;min-height:340px;overflow:hidden;color:#fff;background:#111}.dl3-carousel,.dl3-carousel-stage,.dl3-slide{position:absolute;inset:0}.dl3-slide{opacity:0;overflow:hidden;transition:opacity .8s ease}.dl3-slide.is-active{opacity:1}.dl3-slide canvas,.dl3-slide img{display:block;width:100%!important;height:100%!important;object-fit:cover}.dl3-hero-shade{position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,rgba(4,7,10,.93) 0%,rgba(4,7,10,.78) 35%,rgba(4,7,10,.36) 64%,rgba(4,7,10,.08) 100%),linear-gradient(0deg,rgba(3,5,8,.47),transparent 42%)}.dl3-hero-copy{position:relative;z-index:3;width:min(var(--dl3-max),calc(100% - 88px));height:100%;margin:auto;display:flex;flex-direction:column;justify-content:center;padding:26px 470px 65px 0}.dl3-breadcrumb{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-bottom:9px;color:rgba(255,255,255,.72);font-size:9px}.dl3-breadcrumb a{color:#fff;text-decoration:none}.dl3-eyebrow{margin:0 0 5px!important;font-size:10px!important;font-weight:850;letter-spacing:.18em;color:rgba(255,255,255,.94)!important}.dl3-hero h1{margin:0;max-width:900px;font-size:clamp(31px,3.15vw,50px);line-height:.91;letter-spacing:-.04em;text-transform:uppercase;text-shadow:0 4px 19px rgba(0,0,0,.3)}.dl3-hero h1 em{font-style:normal;color:var(--dl3-red);font-size:1.15em}.dl3-hero-copy>p:last-child{max-width:760px;margin:10px 0 0;color:rgba(255,255,255,.92);font-size:12.5px;line-height:1.43}.dl3-arrow{position:absolute;z-index:5;top:50%;width:38px;height:38px;margin-top:-19px;border:1px solid rgba(255,255,255,.55);border-radius:50%;color:#fff;background:rgba(0,0,0,.28);font-size:26px;cursor:pointer}.dl3-arrow.prev{left:15px}.dl3-arrow.next{right:15px}.dl3-dots{position:absolute;z-index:5;right:50%;bottom:13px;display:flex;gap:7px}.dl3-dots button{width:8px;height:8px;padding:0;border:1px solid #fff;border-radius:50%;background:rgba(255,255,255,.22)}.dl3-dots button.is-active{width:23px;border-radius:99px;background:#fff}.dl3-indicators{position:absolute;z-index:4;left:max(44px,calc((100% - var(--dl3-max))/2));bottom:13px;display:flex}.dl3-indicators>div{display:flex;gap:8px;align-items:center;padding:0 18px;border-right:1px solid rgba(255,255,255,.38)}.dl3-indicators>div:first-child{padding-left:0}.dl3-indicators span{color:var(--dl3-red);font-size:19px}.dl3-indicators p{margin:0}.dl3-indicators b,.dl3-indicators small{display:block}.dl3-indicators b{font-size:8.5px}.dl3-indicators small{margin-top:1px;color:rgba(255,255,255,.72);font-size:7px}
.dl3-work{width:min(var(--dl3-max),calc(100% - 36px));margin:9px auto 14px}.dl3-project-row{display:grid;grid-template-columns:1.08fr 1.15fr 1.05fr 1.24fr 1.05fr 1.05fr;gap:7px}.dl3-project-row article{min-width:0;padding:8px 9px;border:1px solid var(--dl3-line);border-radius:4px;background:#fff}.dl3-project-row header{display:flex;gap:7px;align-items:center;margin-bottom:6px;font-size:9.5px}.dl3-project-row header:first-letter{color:var(--dl3-red)}.dl3-project-row select,.dl3-project-row input,.dl3-activity-form select,.dl3-activity-form input,.dl3-staff-form select,.dl3-staff-form input{width:100%;height:32px;min-width:0;padding:0 8px;border:1px solid #d8dce0;border-radius:3px;outline:0;background:#fff;color:#202329;font:inherit;font-size:8.5px}.dl3-project-row select:focus,.dl3-project-row input:focus,.dl3-activity-form select:focus,.dl3-activity-form input:focus,.dl3-staff-form select:focus,.dl3-staff-form input:focus{border-color:var(--dl3-red);box-shadow:0 0 0 2px rgba(227,6,19,.08)}.dl3-project-row small{display:block;margin-top:4px;color:#858a91;font-size:6.7px;line-height:1.25}.dl3-pair{display:grid;grid-template-columns:1fr .72fr;gap:5px}.dl3-triplet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.dl3-project-tools{min-height:28px;display:flex;align-items:center;gap:10px;padding:4px 3px}.dl3-project-tools button{height:26px;padding:0 9px;border:1px solid #cfd4d9;border-radius:3px;background:#fff;font-size:7.5px;font-weight:850}.dl3-project-tools span{color:#6c727a;font-size:7.5px}
.dl3-top-grid{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(310px,.95fr);gap:8px}.dl3-activity,.dl3-actions,.dl3-summary,.dl3-hist,.dl3-ledger,.dl3-staff,.dl3-dashboard{min-width:0;border:1px solid var(--dl3-line);border-radius:4px;background:#fff;box-shadow:0 2px 8px rgba(10,16,25,.025)}.dl3-title{min-height:35px;display:flex;align-items:center;gap:8px;padding:7px 10px;border-bottom:1px solid #e6e9ec}.dl3-title>span{color:var(--dl3-red);font-size:16px}.dl3-title h2{margin:0;font-size:11px;line-height:1.1}.dl3-title h2 small{font-size:8px;font-weight:750}.dl3-add{margin-left:auto;height:27px;padding:0 10px;border:0;border-radius:3px;color:#fff;background:var(--dl3-red);font-size:7.8px;font-weight:850}.dl3-activity-form{display:grid;grid-template-columns:1.25fr 1.25fr .7fr .78fr .92fr .8fr .78fr .78fr .82fr .82fr .68fr .92fr .78fr .78fr;gap:6px;padding:8px}.dl3-activity-form label{min-width:0}.dl3-activity-form label>span{display:block;min-height:20px;margin:0 0 3px;color:#3b4047;font-size:7.2px;font-weight:800;line-height:1.14}.dl3-activity-form label>span small{color:#8a8f95;font-size:6.3px;font-weight:600}.dl3-rate-note{margin:0 8px 7px;padding:6px 8px;border-radius:3px;color:#656b72;background:#f4f6f7;font-size:7px;line-height:1.3}.dl3-rate-note .ok{color:#155f2d;font-weight:850}.dl3-rate-note .warn{color:#8a5c00;font-weight:850}.dl3-rate-note .neutral{color:#555c64;font-weight:850}.dl3-preview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid #e7eaed;background:#fafbfc}.dl3-preview span{padding:6px 8px;color:#737981;font-size:6.7px;text-align:center}.dl3-preview b{display:block;margin-top:2px;color:#171a1f;font-size:8.2px}.dl3-actions{padding-bottom:8px}.dl3-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:8px}.dl3-action-grid button{min-height:39px;border-radius:3px;font-size:8.5px;font-weight:900;cursor:pointer}.dl3-action-grid .red{border:1px solid var(--dl3-red);color:#fff;background:var(--dl3-red)}.dl3-action-grid .black{border:1px solid #11151a;color:#fff;background:#11151a}.dl3-action-grid .yellow{border:1px solid var(--dl3-yellow);color:#111;background:var(--dl3-yellow)}.dl3-action-grid .white{border:1px solid #555c64;color:#20242a;background:#fff}.dl3-action-note{min-height:23px;margin:0 8px;padding:6px 8px;color:#6f757c;background:#f5f6f7;font-size:7px;line-height:1.3}
.dl3-mid-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:8px;margin-top:8px}.dl3-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:7px}.dl3-summary-grid article{min-width:0;padding:7px 8px;text-align:center;border-right:1px solid #e2e5e8}.dl3-summary-grid article:last-child{border-right:0}.dl3-summary-grid small,.dl3-summary-grid strong,.dl3-summary-grid span{display:block}.dl3-summary-grid small{min-height:18px;color:#5f656d;font-size:6.8px;font-weight:800}.dl3-summary-grid strong{margin-top:3px;font-size:13.5px;line-height:1.05;overflow-wrap:anywhere}.dl3-summary-grid span{margin-top:3px;color:#7f858c;font-size:6.3px}.dl3-hist .dl3-title{justify-content:flex-start}.dl3-legend{margin-left:auto;display:flex;gap:12px;color:#626870;font-size:6.8px}.dl3-legend span{display:flex;align-items:center;gap:4px}.dl3-legend i{display:block;width:8px;height:8px}.dl3-legend i.planned{background:var(--dl3-red)}.dl3-legend i.actual{background:#c7cbd0}.dl3-chart{height:118px;display:grid;grid-template-columns:31px 1fr;padding:8px 10px 7px}.dl3-yaxis{display:flex;flex-direction:column;justify-content:space-between;color:#8a8f95;font-size:6px;text-align:right;padding-right:5px}.dl3-bars{position:relative;display:flex;align-items:flex-end;gap:3px;border-left:1px solid #d9dde1;border-bottom:1px solid #d9dde1;background:repeating-linear-gradient(to top,transparent 0,transparent 23px,#edf0f2 24px)}.dl3-bar-col{height:100%;min-width:7px;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}.dl3-bar{width:min(11px,75%);min-height:0;background:var(--dl3-red);transition:height .35s ease}.dl3-bar-col small{height:13px;margin-top:2px;color:#777d84;font-size:5.6px;white-space:nowrap}
.dl3-ledger{margin-top:8px}.dl3-table-wrap{max-width:100%;overflow:auto}.dl3-table-wrap table{width:100%;border-collapse:collapse;min-width:1040px;font-size:7px}.dl3-table-wrap th,.dl3-table-wrap td{padding:6px;border-right:1px solid #ebedef;border-bottom:1px solid #e5e8eb;text-align:left;vertical-align:middle;white-space:nowrap}.dl3-table-wrap th{background:#f1f3f4;color:#42474d;font-size:6.4px;text-transform:uppercase}.dl3-table-wrap td:last-child,.dl3-table-wrap th:last-child{border-right:0}.dl3-table-wrap td button{min-height:24px;margin-right:3px;padding:0 6px;border:1px solid #d3d7db;border-radius:3px;background:#fff;font-size:6.5px}.dl3-table-wrap td button.delete{color:#a20e17}.dl3-status{display:inline-flex;align-items:center;min-height:18px;padding:0 6px;border-radius:99px;font-size:6.2px;font-weight:850}.dl3-status.ok{color:#155d2b;background:#e8f6ec}.dl3-status.warn{color:#8b5d00;background:#fff0c7}.dl3-status.neutral,.dl3-status.none{color:#636970;background:#eff1f3}.dl3-empty{padding:10px;color:#797f86;text-align:center;font-size:7.5px}
.dl3-bottom-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:8px;margin-top:8px}.dl3-staff-form{display:grid;grid-template-columns:1.4fr .55fr .7fr .65fr .85fr auto;gap:5px;padding:7px;border-bottom:1px solid #e6e9ec}.dl3-staff-form button{min-height:32px;padding:0 9px;border:0;border-radius:3px;color:#fff;background:var(--dl3-red);font-size:7px;font-weight:850}.dl3-dashboard{padding-bottom:7px}.dl3-dash-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:7px}.dl3-dash-grid article{min-width:0;padding:8px 7px;border-radius:4px;text-align:center}.dl3-dash-grid article.green{background:#e8f7e9}.dl3-dash-grid article.blue{background:#e9f2ff}.dl3-dash-grid article.red{background:#ffe9e9}.dl3-dash-grid article.yellow{background:#fff7cf}.dl3-dash-grid article.purple{background:#f2e8ff}.dl3-dash-grid small,.dl3-dash-grid strong,.dl3-dash-grid span{display:block}.dl3-dash-grid small{min-height:17px;font-size:6.8px;font-weight:800}.dl3-dash-grid strong{margin-top:2px;font-size:12px;line-height:1.04;overflow-wrap:anywhere}.dl3-dash-grid span{margin-top:3px;color:#687079;font-size:6.1px}.dl3-guidance{margin:0 7px;padding:7px 9px;border-top:1px solid #e4e7ea;color:#616870;font-size:7px;line-height:1.35;background:#fafbfc}
.dl3-footer{color:#fff;background:#101318}.dl3-footer-main{width:min(var(--dl3-max),calc(100% - 48px));margin:auto;display:grid;grid-template-columns:1.35fr 1fr 1.15fr .8fr .9fr;gap:25px;padding:23px 0}.dl3-footer-brand strong{display:block;font-size:15px;line-height:1.08}.dl3-footer-brand p{max-width:300px;margin:9px 0 0;color:rgba(255,255,255,.67);font-size:8.5px;line-height:1.45}.dl3-footer section>b{font-size:9.5px}.dl3-footer nav{display:grid;gap:4px;margin-top:8px}.dl3-footer a{color:rgba(255,255,255,.75);text-decoration:none;font-size:8px}.dl3-footer a:hover{color:#fff;text-decoration:underline}.dl3-tag{padding-left:12px;border-left:3px solid var(--dl3-red);font-size:10px;letter-spacing:.05em}.dl3-footer-bottom{min-height:37px;padding:9px max(24px,calc((100% - var(--dl3-max))/2));display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.57);background:#0a0d11;font-size:7.5px}.dl3-footer-bottom nav{display:flex;gap:14px;margin:0}
@media(max-width:1250px){.dl3-hero-copy{padding-right:360px}.dl3-project-row{grid-template-columns:repeat(3,minmax(0,1fr))}.dl3-activity-form{grid-template-columns:repeat(7,minmax(0,1fr))}.dl3-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dl3-summary-grid article:nth-child(3){border-right:0}.dl3-summary-grid article:nth-child(n+4){border-top:1px solid #e2e5e8}.dl3-bottom-grid{grid-template-columns:1fr}.dl3-footer-main{grid-template-columns:repeat(3,minmax(0,1fr))}.dl3-footer-main>section:nth-child(n+4){display:none}}
@media(max-width:900px){.dl3-hero{height:410px;min-height:410px}.dl3-hero-copy{width:calc(100% - 48px);padding-right:180px}.dl3-indicators{left:24px}.dl3-indicators small{display:none}.dl3-top-grid,.dl3-mid-grid{grid-template-columns:1fr}.dl3-project-row{grid-template-columns:repeat(2,minmax(0,1fr))}.dl3-activity-form{grid-template-columns:repeat(4,minmax(0,1fr))}.dl3-action-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dl3-staff-form{grid-template-columns:repeat(3,minmax(0,1fr))}.dl3-footer-main{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.dl3-hero{height:540px;min-height:540px}.dl3-hero-shade{background:linear-gradient(0deg,rgba(4,7,10,.93) 10%,rgba(4,7,10,.72) 67%,rgba(4,7,10,.38))}.dl3-hero-copy{width:calc(100% - 28px);justify-content:flex-end;padding:30px 0 96px}.dl3-breadcrumb{font-size:7px}.dl3-eyebrow{font-size:8px!important}.dl3-hero h1{font-size:clamp(31px,11vw,45px)}.dl3-hero-copy>p:last-child{font-size:11px}.dl3-arrow{display:none}.dl3-indicators{left:14px;right:14px;bottom:13px;display:grid;grid-template-columns:repeat(3,1fr)}.dl3-indicators>div{padding:0 6px;border:0;justify-content:center;text-align:center}.dl3-indicators span{display:none}.dl3-dots{right:14px;bottom:69px}.dl3-work{width:calc(100% - 16px)}.dl3-project-row{grid-template-columns:1fr}.dl3-triplet,.dl3-pair{grid-template-columns:1fr}.dl3-project-tools{align-items:flex-start;flex-direction:column}.dl3-activity-form{grid-template-columns:1fr}.dl3-activity-form label>span{min-height:0}.dl3-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.dl3-preview span:last-child{grid-column:1/-1}.dl3-action-grid{grid-template-columns:1fr}.dl3-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dl3-summary-grid article:nth-child(odd){border-right:1px solid #e2e5e8}.dl3-summary-grid article:nth-child(even){border-right:0}.dl3-summary-grid article:nth-child(n+3){border-top:1px solid #e2e5e8}.dl3-hist .dl3-title{align-items:flex-start;flex-direction:column}.dl3-legend{margin-left:24px;flex-direction:column;gap:2px}.dl3-chart{height:150px;overflow-x:auto}.dl3-bars{min-width:540px}.dl3-table-wrap{overflow:visible}.dl3-ledger table,.dl3-staff table{min-width:0}.dl3-ledger thead,.dl3-staff thead{display:none}.dl3-ledger tbody,.dl3-ledger tr,.dl3-ledger td,.dl3-staff tbody,.dl3-staff tr,.dl3-staff td{display:block;width:100%}.dl3-ledger tr,.dl3-staff tr{margin:7px;border:1px solid #dde1e4;border-radius:4px;width:calc(100% - 14px);overflow:hidden}.dl3-ledger td,.dl3-staff td{display:grid;grid-template-columns:43% 57%;gap:7px;padding:6px 8px;white-space:normal;border-right:0}.dl3-ledger td::before,.dl3-staff td::before{content:attr(data-label);color:#7a8087;font-size:6.5px;font-weight:800}.dl3-staff-form{grid-template-columns:1fr}.dl3-dash-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dl3-dash-grid article:last-child{grid-column:1/-1}.dl3-footer-main{grid-template-columns:1fr;width:calc(100% - 28px)}.dl3-footer-main>section:nth-child(n+3){display:none}.dl3-footer-bottom{padding:11px 14px;flex-direction:column;align-items:flex-start}.dl3-footer-bottom nav{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.dl3-slide,.dl3-bar{transition:none!important}}
