/* DCCC Construction Cost & Material Estimator — production UI v1 */
:root{--cme-red:#e51b23;--cme-yellow:#ffd400;--cme-ink:#101418;--cme-muted:#64707c;--cme-line:#dde3e8;--cme-soft:#f4f6f8;--cme-green:#168449;--cme-blue:#1478a6}
.dccc-cost-material-estimator .app{background:#eef2f4}
.dccc-cost-material-estimator .site-header{box-shadow:0 1px 0 rgba(0,0,0,.08)}
.cme-page{font-family:Arial,Helvetica,sans-serif;color:var(--cme-ink);background:#eef2f4}
.cme-hero{position:relative;height:340px;overflow:hidden;background:#15191d;color:#fff}
.cme-carousel,.cme-carousel-stage,.cme-slide{position:absolute;inset:0}
.cme-slide{opacity:0;transition:opacity .8s ease;overflow:hidden}.cme-slide.is-active{opacity:1}.cme-slide canvas,.cme-slide img{width:100%;height:100%;object-fit:cover;display:block}
.cme-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.60) 35%,rgba(0,0,0,.18) 64%,rgba(0,0,0,.10) 100%)}
.cme-arrow{position:absolute;top:50%;z-index:5;transform:translateY(-50%);border:0;width:38px;height:54px;background:rgba(0,0,0,.32);color:#fff;font-size:28px;cursor:pointer}.cme-arrow.prev{left:8px}.cme-arrow.next{right:8px}.cme-dots{position:absolute;z-index:5;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:7px}.cme-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#fff8;cursor:pointer}.cme-dots button.is-active{background:var(--cme-red);width:20px;border-radius:10px}
.cme-hero-copy{position:relative;z-index:4;max-width:1560px;margin:0 auto;padding:20px 52px 78px;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;box-sizing:border-box}
.cme-breadcrumb{position:absolute;top:12px;left:52px;display:flex;gap:8px;align-items:center;font-size:11px;color:#f5f5f5}.cme-breadcrumb a{color:#fff;text-decoration:none}.cme-breadcrumb strong{color:#ffd9dc}
.cme-eyebrow{font-size:13px;letter-spacing:.25em;font-weight:800;margin-bottom:8px}.cme-hero h1{font-size:42px;line-height:.95;margin:0;max-width:760px;text-transform:uppercase;letter-spacing:-.02em;text-shadow:0 2px 12px rgba(0,0,0,.28)}.cme-hero h1 em{font-style:normal;color:var(--cme-red)}
.cme-hero h2{font-size:17px;margin:10px 0 4px}.cme-hero-copy>p{max-width:700px;margin:0;font-size:12px;line-height:1.5;color:#eef2f4}
.cme-hero-indicators{position:absolute;z-index:4;left:52px;bottom:18px;display:flex;gap:34px}.cme-hero-indicators div{display:flex;align-items:center;gap:9px;padding-right:28px;border-right:1px solid #ffffff66}.cme-hero-indicators div:last-child{border:0}.cme-hero-indicators i{color:var(--cme-yellow);font-style:normal;font-size:22px}.cme-hero-indicators b{display:block;font-size:10px}.cme-hero-indicators small{display:block;font-size:8px;color:#dce2e6;margin-top:2px}
.cme-shell{max-width:1560px;margin:0 auto;padding:12px 18px 22px}.cme-top-grid{display:grid;grid-template-columns:1.05fr 1.45fr;gap:10px;margin-bottom:10px}.cme-work-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(360px,.94fr);gap:12px;align-items:start}.cme-main{display:grid;gap:10px}.cme-summary{display:grid;gap:10px;position:sticky;top:76px}
.cme-panel,.cme-summary-card{background:#fff;border:1px solid var(--cme-line);border-radius:8px;box-shadow:0 1px 2px rgba(0,0,0,.03)}.cme-panel{padding:10px}.cme-panel-head{display:flex;align-items:flex-start;gap:9px;margin-bottom:9px}.cme-panel-head>span{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;background:var(--cme-red);color:#fff;font-size:12px;font-weight:800}.cme-panel-head h2{font-size:13px;margin:0;text-transform:uppercase}.cme-panel-head p{font-size:9px;margin:2px 0 0;color:var(--cme-muted);line-height:1.35}
.cme-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.cme-fields.three{grid-template-columns:repeat(3,minmax(0,1fr))}.cme-fields.two{grid-template-columns:repeat(2,minmax(0,1fr))}.cme-field{display:flex;flex-direction:column;gap:4px;min-width:0}.cme-field>span{font-size:9px;font-weight:700;color:#303840}.cme-field small{font-size:8px;color:var(--cme-muted)}
.cme-field input,.cme-field select,.cme-inline input,.cme-inline select{width:100%;height:34px;border:1px solid #cfd6dc;border-radius:5px;background:#fff;padding:0 9px;font-size:10px;color:#182026;box-sizing:border-box}.cme-field input:focus,.cme-field select:focus,.cme-inline input:focus,.cme-inline select:focus{outline:2px solid #e51b2326;border-color:var(--cme-red)}.cme-field input[readonly]{background:#f6f8f9;color:#59636c}
.cme-link-btn,.cme-btn{border:0;border-radius:5px;height:35px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:10px;font-weight:800;text-decoration:none;cursor:pointer;white-space:nowrap}.cme-link-btn{color:var(--cme-red);background:#fff;border:1px solid #f0b3b7}.cme-btn.primary{background:var(--cme-yellow);color:#111}.cme-btn.red{background:var(--cme-red);color:#fff}.cme-btn.dark{background:#111820;color:#fff}.cme-btn.light{background:#fff;color:#1c242b;border:1px solid #cfd6dc}.cme-btn:disabled{opacity:.5;cursor:not-allowed}
.cme-row-panels{display:grid;grid-template-columns:1.02fr .96fr .96fr .82fr;gap:10px}.cme-choice-list{display:grid;gap:6px}.cme-choice{display:flex;align-items:center;gap:6px;font-size:9px;line-height:1.2}.cme-choice input{accent-color:var(--cme-red)}.cme-quality-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:6px}.cme-quality-tabs button{border:1px solid #d6dde2;background:#fff;padding:6px 4px;border-radius:4px;font-size:8px;cursor:pointer}.cme-quality-tabs button.is-active{background:var(--cme-yellow);border-color:#d8b900;font-weight:800}
.cme-covered-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;align-items:end}.cme-covered-total{border-left:3px solid var(--cme-red);background:#fff8dd;padding:7px 10px;border-radius:4px;min-height:34px;box-sizing:border-box}.cme-covered-total span{display:block;font-size:7px;font-weight:700}.cme-covered-total strong{font-size:18px;line-height:1.05}
.cme-split{display:grid;grid-template-columns:1fr 1.45fr;gap:10px}.cme-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 10px}.cme-check{display:flex;gap:6px;align-items:center;font-size:9px}.cme-check input{accent-color:var(--cme-red)}
.cme-finish-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.cme-finish-row{display:grid;grid-template-columns:1fr 1fr;gap:6px;align-items:center}.cme-finish-row>span{font-size:9px;font-weight:700}.cme-finish-row select{height:31px;border:1px solid #d2d9df;border-radius:4px;font-size:9px;padding:0 7px}
.cme-cost-option-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.cme-cost-option{display:grid;grid-template-columns:auto 1fr 86px;gap:5px;align-items:center;font-size:8px}.cme-cost-option input[type=checkbox]{accent-color:var(--cme-red)}.cme-cost-option input[type=number]{height:28px;border:1px solid #d2d9df;border-radius:4px;font-size:8px;padding:0 5px;min-width:0}
.cme-allowance-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.cme-inline{display:grid;grid-template-columns:1fr 44px;align-items:center;gap:5px}.cme-inline span{font-size:8px;font-weight:700}.cme-inline input{height:30px}.cme-inline b{font-size:9px;color:#6a747c}
.cme-rate-labour{display:grid;grid-template-columns:1.35fr .8fr .9fr;gap:10px}.cme-rate-table{width:100%;border-collapse:collapse;font-size:8px;margin-top:6px}.cme-rate-table th,.cme-rate-table td{padding:5px 4px;border-bottom:1px solid #edf0f2;text-align:left;vertical-align:middle}.cme-rate-table th{font-size:7px;color:#68737c;text-transform:uppercase}.cme-rate-table input{width:88px;height:26px;border:1px solid #d2d9df;border-radius:4px;padding:0 5px;font-size:8px}.cme-rate-note,.cme-note{font-size:8px;line-height:1.45;color:#66727b;margin:7px 0 0}.cme-rate-empty{color:#a34b4f}
.cme-delivery-extra{display:grid;gap:6px;margin-top:7px}.cme-delivery-extra[hidden]{display:none}.cme-labour-rate{font-size:19px;font-weight:800;margin:8px 0 2px}.cme-labour-rate small{font-size:8px;font-weight:600;color:#69747c}.cme-trade-link{margin-top:8px;width:100%}
.cme-main-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cme-main-actions .cme-btn.primary{min-width:220px}.cme-status-line{font-size:9px;color:#56616a;margin-left:auto}.cme-status-line.error{color:#a3151b}.cme-status-line.success{color:#167541}
.cme-estimate-total{padding:12px 13px}.cme-estimate-top{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start}.cme-estimate-total h3{font-size:9px;margin:0;color:#3d474e}.cme-grand{font-size:27px;font-weight:900;color:var(--cme-red);line-height:1;margin:4px 0 0}.cme-cost-per{font-size:9px;text-align:right}.cme-cost-per strong{display:block;font-size:14px}.cme-badge{display:inline-block;padding:5px 7px;border-radius:4px;background:#ffe7e8;color:#c3151d;font-size:8px;font-weight:900;text-transform:uppercase;margin-top:8px}.cme-badge.detailed{background:#e7f1ff;color:#1d5b96}
.cme-breakdown{display:grid;grid-template-columns:145px 1fr;gap:12px;align-items:center;margin-top:12px}.cme-donut{width:132px;height:132px;border-radius:50%;background:conic-gradient(#ddd 0 100%);position:relative;margin:auto}.cme-donut:after{content:'';position:absolute;inset:30px;border-radius:50%;background:#fff}.cme-legend{display:grid;gap:4px}.cme-legend div{display:grid;grid-template-columns:8px 1fr auto;gap:6px;align-items:center;font-size:8px}.cme-legend i{width:8px;height:8px;border-radius:2px}.cme-legend strong{font-size:8px}.cme-legend span:last-child{font-variant-numeric:tabular-nums}
.cme-summary-card{padding:10px}.cme-summary-card>header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.cme-summary-card h3{margin:0;font-size:11px;text-transform:uppercase}.cme-summary-card header p{margin:0;font-size:8px;color:var(--cme-muted)}
.cme-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.cme-info-grid div{background:#f7f8f9;border-radius:4px;padding:6px}.cme-info-grid span{display:block;font-size:7px;color:#6e7880}.cme-info-grid strong{display:block;font-size:9px;margin-top:2px;word-break:break-word}
.cme-preview{width:100%;border-collapse:collapse;font-size:8px}.cme-preview th,.cme-preview td{padding:5px 3px;border-bottom:1px solid #edf0f2;text-align:right}.cme-preview th:first-child,.cme-preview td:first-child{text-align:left}.cme-preview th{font-size:7px;color:#6e7880}.cme-preview-empty{padding:12px;background:#f7f8f9;border-radius:4px;font-size:8px;line-height:1.5;color:#68737b}
.cme-mode-list{display:grid;gap:5px}.cme-mode-list div{display:grid;grid-template-columns:1fr auto;gap:10px;padding:6px 7px;border-radius:4px;background:#f7f8f9;font-size:8px}.cme-mode-list strong{font-size:8px}.cme-summary-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-top:8px}.cme-summary-actions .cme-btn{width:100%}
.cme-disclaimer{max-width:1560px;margin:0 auto 12px;padding:9px 18px;border:1px solid #bdd6ee;background:#eaf4ff;border-radius:6px;font-size:8px;line-height:1.45;color:#29465d}
.cme-footer{background:#10161b;color:#e8edf0}.cme-footer-grid{max-width:1560px;margin:0 auto;padding:22px 24px;display:grid;grid-template-columns:1.3fr 1fr 1fr .8fr;gap:24px}.cme-footer-company strong{font-size:14px;line-height:1.25;display:block}.cme-footer-company p,.cme-footer section>b,.cme-footer nav a,.cme-footer-tag{font-size:9px}.cme-footer-company p{color:#adb6bd;max-width:300px;line-height:1.5}.cme-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:5px 12px;margin-top:8px}.cme-footer nav a{color:#dfe4e7;text-decoration:none}.cme-footer-tag{line-height:1.8;color:#cfd5d8}.cme-footer-tag strong{color:#fff}.cme-footer-bottom{border-top:1px solid #2a3239;max-width:none;padding:9px max(24px,calc((100vw - 1512px)/2));font-size:8px;color:#99a4ac}.cme-footer-bottom span{float:right}.cme-footer-bottom a{color:#c7ced3;text-decoration:none;margin-left:10px}
.cme-footer-company:before,.cme-footer-company:after{content:none!important;background:none!important;background-image:none!important}.cme-footer-company img,.cme-footer-company video,.cme-footer-company svg{display:none!important}
.cme-current-nav{position:relative;color:var(--cme-red)!important;font-weight:800}.cme-current-nav:after{content:'';position:absolute;left:0;right:0;bottom:-12px;height:3px;background:var(--cme-red)}
@media(max-width:1200px){.cme-work-grid{grid-template-columns:1fr}.cme-summary{position:static;grid-template-columns:1fr 1fr}.cme-summary .cme-estimate-total{grid-column:1/-1}.cme-row-panels{grid-template-columns:1fr 1fr}.cme-rate-labour{grid-template-columns:1fr 1fr}.cme-rate-labour>.cme-panel:first-child{grid-column:1/-1}.cme-top-grid{grid-template-columns:1fr}.cme-covered-grid{grid-template-columns:repeat(3,1fr)}.cme-summary-actions{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.cme-hero{height:380px}.cme-hero-copy{padding:32px 22px 94px}.cme-breadcrumb{left:22px;top:10px;font-size:9px;max-width:calc(100% - 44px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cme-hero h1{font-size:34px}.cme-hero h2{font-size:14px}.cme-hero-copy>p{font-size:10px;max-width:90%}.cme-hero-indicators{left:22px;right:22px;bottom:18px;gap:10px}.cme-hero-indicators div{padding-right:10px;flex:1}.cme-hero-indicators small{display:none}.cme-shell{padding:10px}.cme-fields,.cme-fields.three,.cme-fields.two{grid-template-columns:1fr 1fr}.cme-row-panels,.cme-split,.cme-rate-labour{grid-template-columns:1fr}.cme-rate-labour>.cme-panel:first-child{grid-column:auto}.cme-summary{grid-template-columns:1fr}.cme-summary .cme-estimate-total{grid-column:auto}.cme-covered-grid{grid-template-columns:1fr 1fr}.cme-check-grid{grid-template-columns:1fr 1fr}.cme-allowance-grid{grid-template-columns:1fr 1fr}.cme-cost-option-grid{grid-template-columns:1fr}.cme-footer-grid{grid-template-columns:1fr 1fr}.cme-footer-bottom span{float:none;display:block;margin-top:6px}.cme-current-nav:after{display:none}}
@media(max-width:560px){.cme-hero{height:410px}.cme-hero h1{font-size:28px}.cme-eyebrow{font-size:10px}.cme-hero-indicators{display:grid;grid-template-columns:1fr 1fr 1fr}.cme-hero-indicators div{border:0;padding:0}.cme-fields,.cme-fields.three,.cme-fields.two,.cme-covered-grid,.cme-check-grid,.cme-allowance-grid,.cme-finish-grid{grid-template-columns:1fr}.cme-quality-tabs{grid-template-columns:1fr 1fr}.cme-main-actions{display:grid;grid-template-columns:1fr 1fr}.cme-main-actions .cme-btn.primary{grid-column:1/-1;min-width:0;width:100%}.cme-status-line{grid-column:1/-1;margin:0}.cme-breakdown{grid-template-columns:1fr}.cme-summary-actions{grid-template-columns:1fr}.cme-footer-grid{grid-template-columns:1fr}.cme-footer nav{grid-template-columns:1fr 1fr}.cme-grand{font-size:24px}.cme-arrow{width:30px;height:46px}}
@media print{body.dccc-cost-material-estimator .site-header,body.dccc-cost-material-estimator .mobile-menu,.cme-hero,.cme-main-actions,.cme-footer,.cme-disclaimer{display:none!important}.dccc-cost-material-estimator .app,.cme-page{background:#fff}.cme-shell{max-width:none;padding:0}.cme-work-grid{display:block}.cme-main{margin-bottom:12px}.cme-summary{position:static;display:block}.cme-panel,.cme-summary-card{box-shadow:none;break-inside:avoid;margin-bottom:8px}.cme-btn,.cme-link-btn{display:none!important}}
