@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{color-scheme:dark;--paper:#0B0F0D;--panel:#16231D;--gold:#D4AF37;--ink:#F4F3EE;--muted:#A6ADA8;--sage:#8FAE98;--blue:#829BB5;--mechanical:#343B38;--line:#343B38;--computed:#8FAE98}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--paper);color:var(--ink);font:14px 'DM Sans',Arial,sans-serif}main{max-width:1360px;margin:auto;padding:38px 4% 60px}.title{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:30px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.6px;color:var(--gold);margin:0 0 10px}h1,h2,h3,h4{font-family:Manrope,Arial;color:var(--gold)}h1{font-size:38px;line-height:1.2;font-weight:800;letter-spacing:-1.3px;margin:0}h2{font-size:24px;letter-spacing:-.5px;margin:0 0 8px}h3{font-size:17px;margin:0;font-weight:700}h4{font-size:14px;margin:22px 0 12px}p{line-height:1.65}button{font:600 12px 'DM Sans',Arial;cursor:pointer;border:0;border-radius:9px;color:var(--ink);transition:background .18s,border-color .18s,transform .18s,box-shadow .18s}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.primary{background:var(--gold);color:var(--paper);padding:14px 23px;box-shadow:0 5px 16px #0005}.primary:hover{transform:translateY(-2px);box-shadow:0 10px 22px #0007}.secondary{border:1px solid var(--line);background:var(--panel);padding:11px 15px}.secondary:hover{border-color:var(--gold);transform:translateY(-1px)}.text-button{background:none;color:var(--muted);padding:10px}.text-button:hover{color:var(--gold)}.setup{background:var(--panel);border:1px solid var(--line);border-radius:17px;overflow:hidden;box-shadow:0 16px 45px #0004}.steps{display:flex;gap:8px;padding:8px;border-bottom:1px solid var(--line);background:var(--paper)}.steps button{flex:1;background:transparent;padding:14px 17px;text-align:left;color:var(--muted)}.steps button.active{background:var(--panel);color:var(--ink);box-shadow:inset 0 -2px var(--gold)}.steps span{display:inline-grid;place-items:center;width:24px;height:24px;border:1px solid var(--line);border-radius:50%;margin-right:8px;font-size:10px}.steps .active span{background:var(--gold);border-color:var(--gold);color:var(--paper)}.step-panel{padding:28px}.input-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.input-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}label{display:block;font-size:12px;font-weight:600}label>span{display:block;color:var(--muted);font-size:10px;font-weight:400;margin:6px 0}.input-grid label>span{min-height:13px}input,select{width:100%;font:14px 'DM Sans',Arial;padding:12px 13px;background:var(--paper);border:1px solid var(--line);border-radius:8px;color:var(--ink);margin-top:7px;accent-color:var(--gold);transition:border-color .18s,box-shadow .18s}input:focus,select:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #D4AF3715}input::placeholder{color:var(--muted);opacity:.7}input:disabled,select:disabled{opacity:.4}label small{font-size:10px;font-weight:400;color:var(--muted);display:block;margin-top:6px;line-height:1.6}.hint{font-size:11px;color:var(--muted);line-height:1.65}.section-title{border-top:1px solid var(--line);padding-top:20px;margin:25px 0 15px}.section-title p{font-size:11px;color:var(--muted);margin:7px 0}.actions{display:flex;justify-content:flex-end;gap:10px;align-items:center;margin-top:25px}.actions .secondary{margin-left:auto}details{border-top:1px solid var(--line);padding-top:18px;margin-top:23px}summary{cursor:pointer;font:700 13px Manrope,Arial;color:var(--gold);line-height:1.6}details>.input-grid{margin-top:18px}.timing-settings>summary{font-size:14px}.timing-settings .section-title:first-of-type{border-top:0;padding-top:0}#error{color:#e4ae9a;padding:0 28px;font-size:12px}.value-legend{display:flex;flex-wrap:wrap;gap:20px;font-size:10px;margin:13px 0 25px;color:var(--ink)}.value-legend span{display:flex;align-items:center;gap:7px}.value-legend i{width:6px;height:6px;border-radius:50%;background:currentColor}.calculated-value{color:var(--computed)!important}.auto-method select{color:var(--computed);border-color:var(--sage)}.auto-method:after{content:'Calculated automatically';display:block;color:var(--computed);font-size:10px;margin-top:7px;font-weight:400}.cycle-help{background:var(--paper);border-left:2px solid var(--sage);border-radius:8px;padding:15px 17px;font-size:12px;line-height:1.7;margin-top:17px}.cycle-help p{margin:7px 0 0}.cycle-help b{font-size:13px}.cycle-help .hint{font-size:10px}#cycleEstimates{margin-top:15px}.computed-preview{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:19px}.computed-preview>div{background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:16px}.computed-preview small{color:var(--muted);font-size:10px}.computed-preview strong{display:block;font:700 25px Manrope,Arial;margin-top:8px}.computed-preview strong span{font:500 12px 'DM Sans',Arial}.rates-layout{display:block;max-width:780px;margin:20px auto 0}.rates-layout>div+div{margin-top:30px}.rates-layout h4{font-size:15px;margin:0 0 14px}.rate-grid{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--paper)}.machine-rate{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:13px 18px;border-bottom:1px solid var(--line)}.machine-rate:last-child{border-bottom:0}.machine-rate .rate-machine{color:var(--ink);font-size:13px;font-weight:600;margin:0}.machine-rate small{margin-top:4px;font-size:10px}.rate-entry{display:flex;gap:10px;align-items:center;margin:0;font-size:10px;font-weight:400;color:var(--muted)}.rate-entry input{width:145px;margin:0;padding:10px 12px;background:var(--panel)}.rate-entry>span{white-space:nowrap}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.recommendations{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:27px}.recommendation{padding:26px 28px;border:1px solid var(--line);border-radius:16px;background:var(--panel);position:relative;box-shadow:0 12px 30px #0005;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;animation:arrive .4s ease both}.recommendation:nth-child(2){animation-delay:.05s}.recommendation:first-child{border-top:2px solid var(--gold)}.recommendation:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:0 22px 45px #0008,0 0 30px #D4AF3706}.recommendation .winner-label{font:800 17px/1.45 Manrope,Arial;color:var(--gold);letter-spacing:.1px;margin:0 0 17px}.recommendation strong.metric{display:block;font:800 42px/1.15 Manrope,Arial;letter-spacing:-1px;margin:21px 0}.recommendation .metric small{font:500 12px 'DM Sans',Arial;color:var(--muted);letter-spacing:0}.winner-specs{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0;padding:14px 0;gap:12px}.winner-specs dt{font-size:10px;color:var(--muted);margin-bottom:6px}.winner-specs dd{margin:0;font:700 20px Manrope,Arial}.winner-details{margin:0;border-top:1px solid var(--line)}.winner-details>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid var(--line)}.winner-details dt{font-size:11px;color:var(--muted)}.winner-details dd{font-size:13px;font-weight:700;margin:0}.winner-details .badge{margin:0}.card-link{background:none;padding:17px 0 0;font-size:11px;color:var(--gold)}.card-link:hover{transform:translateX(3px)}.empty-rate-symbol{display:flex;gap:14px;align-items:center;margin:33px 0 20px}.empty-rate-title{font-size:17px;font-weight:600;margin:0}.recommendation>.secondary{margin-top:23px}.badge{display:inline-block;font-size:10px;font-weight:700;padding:6px 9px;border-radius:5px;background:var(--sage);color:var(--paper);white-space:nowrap}.badge.haul{background:var(--gold)}.deadline-card{background:var(--panel);border:1px solid var(--line);border-left:2px solid var(--gold);padding:15px 18px;border-radius:9px;margin-top:18px;font-size:12px;line-height:1.7}.crew-icons{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 14px;min-height:33px}.machine-icon{height:32px;width:45px;flex-shrink:0}.excavator-icon{color:var(--sage)}.truck-icon{color:var(--blue)}.machine-symbol{display:flex;flex-direction:column;align-items:center;gap:3px}.machine-symbol>span{color:var(--ink);font-size:11px;font-weight:600;line-height:1.4}.truck-symbols{display:flex;align-items:center;gap:3px}.icon-plus,.icon-more{font-size:13px;color:var(--muted)}.crew-cell .crew-icons{margin:0;gap:7px}.crew-cell .machine-icon{height:23px;width:33px}.crew-cell .machine-symbol>span{font-size:10px}.crew-cell .icon-plus{padding-bottom:14px}.crew-cell{min-width:270px;white-space:normal}.crew-rank{color:var(--gold);font:800 15px Manrope,Arial;width:40px;text-align:center}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.comparison-toolbar{margin-top:32px}.comparison-toolbar h3{margin-right:auto}.comparison-toolbar>button{padding:9px 13px;font-size:11px}.ranking-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:17px}.ranking-panel{border:1px solid var(--line);background:var(--panel);border-radius:15px;padding:24px;box-shadow:0 10px 26px #0003}.ranking-panel>.hint{margin-top:8px}#productivityRanking,#costRanking{max-height:385px;overflow:auto;scrollbar-color:var(--mechanical) transparent}.ranking-bar{display:block;background:none;width:100%;text-align:left;padding:12px 0;border-bottom:1px solid var(--line);border-radius:0}.ranking-bar:hover{background:#343B3820}.ranking-label{display:flex;justify-content:space-between;gap:9px;font-size:11px;line-height:1.5}.ranking-label b{white-space:nowrap}.ranking-label span{max-width:75%}.ranking-track{height:7px;background:var(--paper);border-radius:8px;margin:8px 0}.ranking-fill{height:100%;background:var(--blue);border-radius:8px;transition:width .3s ease}.ranking-fill.winner{background:var(--gold)}.ranking-meta{color:var(--muted);font-size:10px;font-weight:400}.chart-empty{padding:24px 0;color:var(--muted);font-size:12px}.chart-empty p{margin:5px 0 20px}.inline-label{display:flex;align-items:center;gap:10px;font-size:11px}.inline-label select{width:auto;min-width:160px;margin:0;padding:8px}.table-head{margin-top:32px}.table-scroll{overflow:auto;max-height:550px;border:1px solid var(--line);border-radius:12px;background:var(--panel);scrollbar-color:var(--mechanical) transparent}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}thead{position:sticky;top:0;z-index:1}th{font-size:10px;font-weight:600;background:var(--paper);padding:15px 13px;text-align:left;color:var(--muted)}td{padding:15px 13px;border-top:1px solid var(--line)}tbody tr{cursor:pointer;transition:background .15s}tbody tr:hover{background:#343B3840}tbody tr.selected{background:#D4AF370B;box-shadow:inset 2px 0 var(--gold)}.cost-col{display:none}.show-costs .cost-col{display:table-cell}.table-empty{padding:25px!important;color:var(--muted);white-space:normal}
.explorer{background:var(--panel);padding:26px;border:1px solid var(--line);border-radius:16px;margin-top:27px;box-shadow:0 12px 30px #0004}.explorer>.section-head h3{font-size:22px}.crew-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:21px}.crew-selector label{font-size:11px}.machine-picker{display:block;position:relative;margin:0!important;min-height:64px}.machine-picker select{padding:18px 10px 18px 66px;height:62px;font-size:14px;font-weight:600;cursor:pointer}.picker-icon{position:absolute;left:12px;top:20px;pointer-events:none;z-index:1}.picker-icon .machine-icon{width:42px;height:30px}.crew-selector input{height:62px;font-size:18px;font-weight:600}.crew-selector-hint{font-size:10px!important;margin-top:10px}#crewTitle{font-size:14px;margin:20px 0 0;color:var(--muted)}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:21px}.detail-grid small{font-size:10px;color:var(--muted)}.detail-grid strong{display:block;font:700 25px Manrope,Arial;letter-spacing:-.4px;margin-top:7px;color:var(--computed)}.detail-grid strong small{font-size:11px}.extra-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.extra-card{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:16px;font-size:11px;line-height:1.8;color:var(--computed)}.extra-card strong{display:block;font-size:14px;color:var(--ink)}.extra-note{font-size:11px;line-height:1.8;border-left:2px solid var(--gold);padding:10px 14px;color:var(--muted)}.explorer>[data-open-calibration]{margin-top:20px}.fleet-chart-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:25px}.fleet-chart-head h4{font-size:14px;margin:0}.fleet-chart-head>span{font-size:10px}.fleet-plot{margin-top:15px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px 8px 3px;overflow:auto}.fleet-plot svg{width:100%;min-width:440px;display:block}.plot-grid{stroke:var(--mechanical);stroke-width:1;stroke-dasharray:4 6}.plot-tick{fill:var(--muted);font:12px 'DM Sans',Arial}.plot-axis{fill:var(--ink);font:600 12px 'DM Sans',Arial}.plot-line{fill:none;stroke:var(--blue);stroke-width:3}.plot-area{fill:#829BB511;stroke:none}.plot-point{fill:var(--blue);stroke:var(--paper);stroke-width:2;cursor:pointer}.plot-point.current{fill:var(--gold);stroke:var(--gold)}.fleet-plot g:focus{outline:0}.fleet-plot g:focus .plot-point{stroke:var(--ink);stroke-width:4}.fleet-plot-note{font-size:10px;color:var(--muted);margin:10px 0}.method{font-size:11px;line-height:1.8;color:var(--muted);background:var(--paper);padding:18px;border-radius:10px}.method a{color:var(--sage);text-underline-offset:3px}.status{font-size:10px;color:var(--gold)}#cycleEstimates tbody tr{cursor:default}
@keyframes arrive{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.input-grid{grid-template-columns:1fr 1fr}.recommendations,.ranking-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr 1fr}.crew-selector{grid-template-columns:1fr 1fr}.crew-selector label:last-child{grid-column:span 2}h1{font-size:32px}}
@media(max-width:520px){main{padding:25px 5% 40px}.title{align-items:flex-start;margin-bottom:25px}.eyebrow{font-size:9px}h1{font-size:28px}.step-panel,.explorer,.ranking-panel{padding:20px}.input-grid,.input-grid.three{grid-template-columns:1fr;gap:19px}.steps{gap:5px;padding:6px}.steps button{font-size:11px;padding:12px 9px}.steps span{width:21px;height:21px;margin-right:5px}.section-head{align-items:flex-start;flex-wrap:wrap}.recommendation{padding:22px}.recommendation .winner-label{font-size:16px}.recommendation strong.metric{font-size:37px}.extra-grid{grid-template-columns:1fr}.crew-selector{grid-template-columns:1fr;gap:14px}.crew-selector label:last-child{grid-column:auto}.computed-preview{gap:10px}.computed-preview>div{padding:12px}.computed-preview strong{font-size:22px}.machine-rate{padding:13px 12px;gap:12px}.machine-rate .rate-machine{font-size:12px}.rate-entry{gap:6px}.rate-entry input{width:96px}.rate-entry>span{font-size:9px}.fleet-chart-head{align-items:flex-start;flex-direction:column;gap:6px}.inline-label{width:100%;justify-content:space-between}.inline-label select{min-width:170px}.detail-grid strong{font-size:23px}.actions{justify-content:space-between}#productivityRanking,#costRanking{max-height:330px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.recommendation:hover,.primary:hover,.secondary:hover,.card-link:hover{transform:none}}
@media print{.setup,.title,.explorer,.method,#export,.inline-label{display:none}main{padding:0}:root{color-scheme:light;--ink:#16231D;--muted:#343B38;--panel:white;--paper:white}body{background:white}.recommendations,.ranking-grid{grid-template-columns:1fr 1fr}.recommendation,.ranking-panel{break-inside:avoid;box-shadow:none}#productivityRanking,#costRanking{max-height:none}.table-scroll{max-height:none}.badge,.ranking-fill{print-color-adjust:exact}}
.crew-selector{grid-template-columns:repeat(2,minmax(0,1fr))}.crew-selector label:last-child{grid-column:auto}.detail-limit>.badge{display:table;margin-top:10px;margin-bottom:8px}.detail-limit>small:last-child{display:block;font-size:9px}.plot-value{fill:var(--ink);font:600 12px 'DM Sans',Arial}.plot-optimum{fill:var(--gold);font:700 11px 'DM Sans',Arial}.plot-point.optimum{fill:var(--gold);stroke:var(--gold)}.plot-point.current:not(.optimum){fill:var(--ink);stroke:var(--ink)}.selected-tick{fill:var(--ink);font-weight:700}.crew-selector .machine-picker>select{border-color:var(--mechanical)}.crew-selector .machine-picker:focus-within>select{border-color:var(--gold)}@media(max-width:520px){.crew-selector{grid-template-columns:1fr}.detail-cost{font-size:22px!important}}
body{background:radial-gradient(ellipse at 12% 0%,#8FAE980C,transparent 42%),var(--paper)}.setup,.ranking-panel,.explorer{background:linear-gradient(145deg,#16231D 0%,#111B16 100%)}.recommendation{background:radial-gradient(ellipse at 100% 0%,#D4AF3710,transparent 55%),linear-gradient(145deg,#16231D 0%,#101914 100%)}.primary{background:linear-gradient(125deg,#E0C268,#D4AF37);box-shadow:0 5px 18px #D4AF3712,0 7px 20px #0005}.fleet-plot{background:linear-gradient(160deg,#16231D40,transparent 60%),var(--paper)}.steps button.active{background:linear-gradient(110deg,#16231D,#16231D80)}.machine-picker select{background:linear-gradient(130deg,#16231D80,#0B0F0D)}
.badge{background:#513B38;color:#F1C8BE;border:1px solid #90655E;box-shadow:0 2px 5px #0002}.badge.haul{background:#38314F;color:#DDD1F4;border-color:#70628F}
.job-section{margin:24px 0 0;padding:22px 0 0;border-top:1px solid var(--line)}.job-section h3{margin-bottom:19px}.quantity-section{margin-top:0;border-top:0;padding-top:0}.quantity-section .input-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.job-section+.job-section{margin-top:27px}
.field-wrap{position:relative;min-width:0}.field-wrap>label{padding-right:0}.field-info{position:absolute;right:0;top:-2px;border:0;padding:0;margin:0;z-index:3}.field-info[open]{z-index:8}.field-info>summary{display:grid;place-items:center;width:17px;height:17px;list-style:none;border:1px solid #68736C;border-radius:50%;font:600 10px Arial;color:var(--muted);background:var(--panel)}.field-info>summary::-webkit-details-marker{display:none}.field-info>summary:hover,.field-info[open]>summary{color:var(--ink);border-color:var(--sage)}.help-copy{position:absolute;right:0;top:26px;width:260px;max-width:calc(100vw - 70px);font:400 11px/1.7 'DM Sans',Arial;color:var(--ink);background:#1D3026;border:1px solid #59695E;border-radius:10px;padding:14px;box-shadow:0 12px 32px #0009}
.rate-grid{overflow:visible}.rate-grid>.field-wrap:first-child .machine-rate{border-radius:12px 12px 0 0}.rate-grid>.field-wrap:last-child .machine-rate{border-radius:0 0 12px 12px;border-bottom:0}.rate-grid>.field-wrap:not(:last-child){border-bottom:1px solid var(--line)}.machine-rate{border-bottom:0;padding-right:44px}.rate-grid .field-info{right:14px;top:25px}.rate-grid .help-copy{right:0;top:26px}.equipment-inputs{display:flex;flex-direction:column;gap:18px;margin-top:20px}.equipment-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--line)}.equipment-row>b{font-size:12px;color:var(--ink)}.equipment-row input{margin-top:4px;padding:10px}.equipment-row label{font-size:11px}.equipment-row label>span{margin-top:6px}
.cycle-reference{font-size:11px;color:var(--muted);line-height:1.7}.cycle-reference a{color:var(--sage);text-underline-offset:3px}.run-actions{border-top:1px solid var(--line);padding-top:25px;margin-top:26px}.run-analysis{font-size:14px;font-weight:700;padding:16px 28px;border:1px solid #F0D779;outline:1px solid #D4AF3728;outline-offset:4px;box-shadow:0 14px 30px #000B,0 5px 12px #0008,0 0 34px #D4AF3740}.run-analysis:hover{box-shadow:0 18px 38px #000C,0 6px 14px #0009,0 0 40px #D4AF3755}
.fleet-composition{font-size:11px;color:var(--muted);padding:6px 0;margin-bottom:0}.fleet-composition strong{color:var(--ink);font-weight:600}.fleet-composition small{display:block;font-size:10px;margin-top:5px}.winner-specs dd{font-size:18px}.crew-cell{min-width:310px}.crew-icons{column-gap:10px}.crew-cell .machine-symbol>span{white-space:nowrap}
.input-grid label>select{margin-top:32px}.field-info>summary:focus-visible{outline:2px solid var(--sage);outline-offset:3px}
.efficiency-field{min-width:0}.custom-efficiency{margin-top:17px}.custom-efficiency>span{display:inline;margin-left:4px}.custom-efficiency input{margin-top:8px}.efficiency-field .custom-efficiency+.field-info{top:15px}.efficiency-field .hint{font-size:10px;margin-bottom:0}
.icon-more>b{display:grid;place-items:center;height:23px;font-size:12px;color:var(--muted);min-width:28px}
.rate-grid .machine-rate{padding-right:44px}
@media(max-width:520px){.rate-grid .machine-rate{padding-right:35px}.rate-entry{flex-direction:column;gap:4px;align-items:flex-end}.rate-grid .field-info{right:10px;top:24px}.rate-entry input{width:105px}}
@media(max-width:900px){.quantity-section .input-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.quantity-section .input-grid{grid-template-columns:1fr}.equipment-row{grid-template-columns:1fr 1fr}.equipment-row>b{grid-column:1/-1}.help-copy{width:260px}.run-analysis{width:100%}.run-actions{justify-content:stretch}.winner-specs dd{font-size:16px}}
.working-hours{grid-template-columns:repeat(2,minmax(0,1fr));max-width:700px}.efficiency-intro{margin-top:8px;margin-bottom:19px}.efficiency-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;align-items:start}.efficiency-card{min-width:0;background:linear-gradient(145deg,#0B0F0D80,#16231D80);border:1px solid var(--line);border-radius:12px;padding:20px;box-shadow:0 5px 15px #0002}.efficiency-card h4{color:var(--ink);margin:0 0 9px;font-size:14px}.efficiency-description{font-size:11px;color:var(--muted);line-height:1.6;min-height:36px;margin:0 0 20px}.efficiency-card>.hint{font-size:10px}.efficiency-metric{font:700 31px Manrope,Arial;display:block;line-height:1.4;margin-top:10px}.mechanical-assumptions{margin-top:17px;padding-top:14px}.mechanical-assumptions summary{font-size:11px}.mechanical-assumptions .input-grid{grid-template-columns:1fr;gap:18px}.mechanical-assumptions label{font-size:11px}.mechanical-assumptions input{padding:10px}.mechanical-assumptions label>select{margin-top:10px;font-size:12px}.efficiency-card label>select{margin-top:31px}.mechanical-assumptions label>select{margin-top:10px}.efficiency-card .custom-efficiency{margin-top:17px}.work-efficiency{padding-bottom:0}.recommendation .machine-symbol>span{font-size:10px;font-weight:500;color:var(--muted)}.recommendation .crew-icons{gap:12px;margin-top:6px;margin-bottom:20px}.recommendation .machine-icon{height:36px;width:50px}
@media(max-width:900px){.efficiency-cards{grid-template-columns:1fr}.efficiency-description{min-height:0}.efficiency-card{padding:20px}.efficiency-card label>select{margin-top:12px}.working-hours{max-width:none}}@media(max-width:520px){.working-hours{grid-template-columns:1fr}}


.ranking-label span{max-width:100%}.ranking-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0}.ranking-stats>span{display:flex;flex-direction:column;gap:4px}.ranking-stats small{font-size:10px;font-weight:400;color:var(--muted)}.ranking-stats b{font-size:13px;line-height:1.4}.ranking-meta{margin-top:8px}.cost-per-cube-col{display:table-cell}

.suggested-crew{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:27px;padding:25px 28px;border:1px solid #D4AF3755;border-radius:16px;background:linear-gradient(120deg,#D4AF3710,#16231D 55%);box-shadow:0 12px 32px #0005}.suggested-crew h3{margin:0 0 16px;color:var(--gold);font-size:20px}.suggested-main{flex:1;min-width:0}.suggested-crew p{font-size:12px;line-height:1.6;margin:10px 0 0}.suggested-crew .hint{font-size:10px}.suggested-metrics{display:grid;grid-template-columns:1fr 1fr;gap:24px}.suggested-metrics>div{display:flex;flex-direction:column;gap:7px}.suggested-metrics small{font-size:10px;font-weight:400;color:var(--muted)}.suggested-metrics strong{font-size:23px;white-space:nowrap}.suggested-actions{display:flex;align-items:center;gap:18px;margin-top:20px}.suggested-actions button{font-size:11px}.suggested-crew .crew-icons{margin-bottom:8px}@media(max-width:800px){.suggested-crew{align-items:flex-start;flex-direction:column;gap:20px}.suggested-result{width:100%}.suggested-actions{justify-content:space-between}}

.suggested-crew>.secondary{flex-shrink:0;white-space:nowrap}
.suggestion-type{display:block;margin:-5px 0 16px;font-size:11px;color:var(--muted)}.suggested-metrics .suggestion-unpriced{font-size:16px}.suggestion-rates{display:block;margin:14px 0 0 auto;font-size:11px}

.rate-table{table-layout:fixed;white-space:normal}.rate-table thead{position:static}.rate-table th,.rate-table td{padding:12px 18px;text-align:left}.rate-table thead th{font-size:11px;padding:14px 18px;color:var(--muted);background:#1C2C24}.rate-table thead th span{font-weight:400}.rate-table th:first-child{width:55%}.rate-table tbody th{font-size:13px;color:var(--ink);font-weight:600;background:transparent;border-top:1px solid var(--line)}.rate-table small{display:block;color:var(--muted);font-size:10px;font-weight:400;margin-top:4px}.rate-table tbody tr{cursor:default}.rate-table .machine-rate{display:block;padding:0 28px 0 0;border:0}.rate-table input{width:100%;max-width:220px;margin:0;padding:10px 12px;background:var(--panel)}.rate-grid .rate-table .field-info{top:12px;right:0}.rate-grid .rate-table .help-copy{top:25px}.rate-table .field-wrap{width:100%}.rate-grid:has(.rate-table){border-radius:12px;display:block}.rate-table thead th:first-child{border-top-left-radius:12px}.rate-table thead th:last-child{border-top-right-radius:12px}@media(max-width:520px){.rate-table th,.rate-table td,.rate-table thead th{padding:12px}.rate-table tbody th{font-size:12px}.rate-table .machine-rate{padding-right:24px}.rate-table input{font-size:13px;padding:10px 8px}.rate-table th:first-child{width:50%}.rate-table thead th span{display:block;margin-top:3px}}

.ranking-crew{display:flex;align-items:center;justify-content:space-between;gap:10px}.ranking-crew .crew-icons{margin:0;gap:6px}.ranking-crew .machine-icon{height:25px;width:35px}.ranking-crew .machine-symbol>span{font-size:10px}.ranking-crew .icon-plus{padding-bottom:13px}.ranking-truck-count{font-size:10px;font-weight:400;color:var(--muted);white-space:nowrap}.rate-needed{font-size:10px;font-weight:500;line-height:1.5;color:var(--muted)!important;display:inline-block;white-space:normal}.detail-cost .rate-needed{font-size:12px}.recommendation .card-link+.card-link{margin-left:18px}.ranking-panel>.hint{margin-bottom:12px}

.cost-column{fill:var(--blue);opacity:.85;stroke:transparent;stroke-width:2;cursor:pointer;transition:opacity .2s}.cost-column.optimum{fill:var(--gold);opacity:1}.cost-column.current{stroke:var(--ink);stroke-width:3}.fleet-plot g:hover .cost-column{opacity:1}.fleet-plot g:focus .cost-column{stroke:var(--ink);stroke-width:4}

.brand-logo{width:104px;height:104px;object-fit:contain;background:#F4F3EE;border-radius:15px;padding:6px;flex-shrink:0}.rate-table th:first-child{width:44%}.rate-table .availability-cell{width:100px;text-align:center}.rate-table .machine-availability{display:flex;align-items:center;justify-content:center;min-height:40px;cursor:pointer}.rate-table .machine-availability input{width:20px;height:20px;max-width:none;cursor:pointer;accent-color:var(--sage);margin:0;padding:0}.machine-excluded .rate-machine{opacity:.45}.machine-excluded td:last-child{opacity:.6}.availability-error{color:#E4AE9A;font-size:12px}@media(max-width:520px){.brand-logo{width:74px;height:74px;padding:4px;border-radius:10px}.rate-table .availability-cell{width:72px}.rate-table th:first-child{width:40%}.rate-table .availability-cell{padding:8px 3px}.rate-table .machine-rate{padding-right:20px}}

.title h1{font-size:clamp(32px,4.4vw,54px);line-height:1.15;max-width:850px}.brand-corner{display:flex;flex-direction:column;align-items:center;gap:7px;flex-shrink:0}.brand-corner .text-button{font-size:10px;padding:4px 10px}.title{gap:28px}@media(max-width:520px){.title{gap:16px;align-items:center}.title h1{font-size:30px;letter-spacing:-.8px}.brand-corner{gap:5px}}

/* One crew comparison: cost/productivity trade-offs and a complete table. */
.crew-comparison{margin-top:30px}.crew-comparison .comparison-toolbar{margin:0 0 20px}.comparison-toolbar h3{font-size:25px}.comparison-toolbar .hint{margin:7px 0 0}.comparison-summary{display:grid;grid-template-columns:1fr 1fr;gap:18px}.comparison-card{min-width:0;padding:20px 23px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(120deg,#1A2920,#14201A)}.comparison-card.fastest{border-top:3px solid var(--gold)}.comparison-card.cheapest{border-top:3px solid var(--sage)}.comparison-card h4{font-size:17px;margin:0 0 5px}.comparison-card.cheapest h4{color:var(--sage)}.comparison-baseline{font-size:11px;color:var(--muted);margin:0 0 16px}.comparison-crew{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px}.comparison-crew>div:first-child{flex:1;min-width:0}.comparison-crew .crew-icons{margin:0;gap:5px}.comparison-crew .machine-icon{width:32px;height:24px}.comparison-crew .machine-symbol>span{font-size:10px}.comparison-crew .icon-plus{padding-bottom:12px}.comparison-current{text-align:right;font-size:11px;line-height:1.7;flex-shrink:0}.comparison-current strong,.comparison-current>span{display:block}.comparison-current strong{color:var(--ink)}.comparison-current>span{color:var(--muted)}.comparison-metrics{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px;border-top:1px solid var(--line);padding-top:16px;margin:0}.comparison-metrics dt{font-size:11px;color:var(--muted);margin-bottom:6px}.comparison-metrics dd{margin:0;font:700 23px Manrope,Arial;font-variant-numeric:tabular-nums;letter-spacing:-.4px}.comparison-metrics small{font:500 11px 'DM Sans',Arial;letter-spacing:0}.comparison-percent{font:400 10px 'DM Sans',Arial;color:var(--muted);letter-spacing:0;white-space:nowrap;margin-left:5px}.comparison-extra{color:#EBCB87}.comparison-saving{color:#A8C9AE}.comparison-unpriced{font:500 14px 'DM Sans',Arial;color:var(--muted)}.comparison-card-actions{display:flex;gap:20px;align-items:center}.comparison-card-actions .card-link{font-size:10px}.comparison-card>.secondary{margin-top:15px}.comparison-card>p:not(.comparison-baseline){font-size:12px;color:var(--muted)}.comparison-table-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:25px 0 15px}.comparison-tabs{display:flex;gap:5px;background:#111B16;border:1px solid var(--line);padding:5px;border-radius:10px}.comparison-tabs button{padding:11px 16px;background:transparent;color:var(--muted);border-radius:6px;font-size:12px}.comparison-tabs button[aria-selected="true"]{background:#344033;color:var(--ink);box-shadow:inset 0 -2px var(--gold)}.comparison-table-toolbar p{margin:0}.comparison-table{max-height:none;border-radius:13px}.comparison-table table{table-layout:fixed;min-width:1020px}.comparison-table th,.comparison-table td{padding:16px 10px}.comparison-table th{white-space:normal;line-height:1.6}.comparison-table th small{display:block;font-size:10px;font-weight:400}.comparison-table th:first-child{width:3%}.comparison-table th:nth-child(2){width:28%}.comparison-table th:nth-child(3){width:9%}.comparison-table th:nth-child(4){width:7%}.comparison-table th:nth-child(5){width:10%}.comparison-table th:nth-child(6){width:7%}.comparison-table th:nth-child(7){width:16%}.comparison-table th:nth-child(8),.comparison-table th:nth-child(9){width:10%}.comparison-table .crew-cell{min-width:0}.comparison-table .crew-icons{gap:4px}.comparison-table .machine-icon{width:31px;height:23px}.comparison-table .calculated-value{font-variant-numeric:tabular-nums}.comparison-table .badge{font-size:9px;padding:6px 7px}.comparison-table .table-empty button{margin:10px}.comparison-table tbody tr:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.comparison-footer{display:flex;justify-content:space-between;gap:20px;font-size:10px;line-height:1.7;color:var(--muted);margin-top:15px}
@media(max-width:1000px){.comparison-crew{flex-wrap:wrap}.comparison-current{text-align:left;flex-basis:100%}}
@media(max-width:800px){.comparison-summary{grid-template-columns:1fr}.comparison-table-toolbar{align-items:flex-start;flex-direction:column}.comparison-crew{flex-wrap:nowrap}.comparison-current{flex-basis:auto;text-align:right}.comparison-footer{flex-direction:column;gap:6px}}
@media(max-width:520px){.comparison-card{padding:19px 18px}.comparison-toolbar h3{font-size:22px}.comparison-crew{align-items:flex-start;flex-direction:column}.comparison-current{text-align:left}.comparison-metrics{gap:18px 12px}.comparison-metrics dd{font-size:21px}.comparison-percent{display:block;margin:5px 0 0}.comparison-tabs button{font-size:11px;padding:11px 12px}}
@media print{.comparison-tabs,.comparison-card-actions,.comparison-table-toolbar,#comparisonCoverage{display:none}.comparison-card{break-inside:avoid}.comparison-summary{grid-template-columns:1fr 1fr}.comparison-table{overflow:visible}.comparison-table table{min-width:0;font-size:9px}.comparison-table th,.comparison-table td{padding:8px 5px}.comparison-table .machine-icon{width:22px;height:17px}.comparison-extra,.comparison-saving{color:var(--ink)}}

.plot-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 30px;padding:8px 10px 0;font-size:11px;color:var(--muted)}.plot-legend>span{display:flex;align-items:center;gap:8px}.plot-legend i{display:inline-block;width:26px;height:0;border-top:3px solid var(--blue)}.plot-legend .waiting-key{border-top:3px dashed #E0BD62}.plot-wait-line{fill:none;stroke:#E0BD62;stroke-width:3;stroke-dasharray:8 5}.plot-wait-point{fill:#E0BD62;stroke:var(--paper);stroke-width:2;cursor:pointer}.plot-wait-point.current{stroke:var(--ink);stroke-width:3}.plot-wait-value{fill:#E0BD62;font:600 12px 'DM Sans',Arial}.plot-wait-tick,.plot-wait-axis{fill:#E0BD62}.fleet-plot g:focus .plot-wait-point{stroke:var(--ink);stroke-width:4}.productivity-waiting-plot svg{min-width:600px}
@media(max-width:520px){.plot-legend{justify-content:flex-start;font-size:10px;gap:8px}.plot-legend>span{flex-basis:100%}}