:root{color-scheme:dark;--bg:#181c1e;--panel:#222729;--line:#363e42;--muted:#a1adaf;--text:#f1f3ee;--green:#b8d2ad;--accent:#c9e8b9}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 system-ui,-apple-system,sans-serif}header{height:78px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;color:var(--green);text-decoration:none;font-size:35px;font-family:Georgia,serif}.brand span{font:600 15px/1.3 system-ui;letter-spacing:2px;color:var(--text)}.brand small{display:block;font-size:9px;letter-spacing:3px;color:var(--muted)}.pilot,.badge{font-size:10px;font-weight:700;letter-spacing:1.5px;padding:6px 10px;border:1px solid var(--line);border-radius:5px;color:var(--green)}main{max-width:1800px;margin:auto;padding:30px 32px}.titlebar{display:flex;justify-content:space-between;align-items:center;gap:24px}h1{font-size:32px;letter-spacing:-1px;margin:4px 0}h2{font-size:18px;margin:0}p{margin:8px 0}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--green);font-weight:700}.muted,.context,.footnote{color:var(--muted)}.project-picker{min-width:260px}.project-picker label,.week-picker label{font-size:10px;font-weight:700;letter-spacing:1px;color:var(--muted)}.context{font-size:12px;margin-top:20px}nav{display:flex;border-bottom:1px solid var(--line);gap:26px;margin:22px 0}nav button{background:none;border:0;border-radius:0;padding:10px 0;color:var(--muted)}nav button.active{border-bottom:2px solid var(--green);color:var(--green)}button,input,select,textarea{font:inherit;border:1px solid var(--line);border-radius:6px;padding:10px 12px;background:#292f32;color:var(--text)}button{cursor:pointer;font-weight:600}button:disabled{opacity:.4;cursor:not-allowed}button:hover:not(:disabled){border-color:var(--green)}input:focus,button:focus-visible,select:focus,textarea:focus{outline:2px solid var(--green);outline-offset:2px}select{width:100%}label{display:block}.weekbar,.week-picker,.filters,.table-toolbar,.savebar{display:flex;align-items:center;justify-content:space-between;gap:16px}.week-picker{justify-content:flex-start}.week-picker button{font-size:24px;padding:5px 15px}.week-picker input{display:block;padding:5px 8px}.week-picker>span{color:var(--muted);font-size:12px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}.metrics section,.panel{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:20px}.metrics span,.metrics small{display:block;color:var(--muted);font-size:12px}.metrics strong{display:block;font-size:31px;letter-spacing:-.6px;margin:7px 0;font-variant-numeric:tabular-nums}.metrics em{font-style:normal;font-size:17px;color:var(--muted)}.metrics .unknown{color:#758285}.notice{background:#2b3029;border:1px solid #414b3a;border-radius:7px;padding:15px 18px;color:#c0ccb9;font-size:12px}.notice b{color:#e0ead9}.table-toolbar{margin:26px 0 14px}.table-toolbar p{font-size:12px}.table-toolbar h2 span{font-size:12px;color:var(--muted);font-weight:400;margin-left:8px}.filters{gap:12px;flex-wrap:wrap}.filters input[type=search]{width:190px}.check{font-size:12px;color:var(--muted);white-space:nowrap}.check input{accent-color:var(--green);vertical-align:middle}.table-scroll{max-height:64vh;overflow:auto;border:1px solid var(--line);border-radius:8px;scrollbar-color:#53605f var(--panel)}table{border-collapse:separate;border-spacing:0;width:100%;min-width:1190px;font-variant-numeric:tabular-nums}th,td{padding:17px 14px;text-align:right;border-bottom:1px solid var(--line);background:var(--panel)}thead th{position:sticky;top:0;z-index:3;background:#2b3134;font-size:10px;letter-spacing:.8px;color:#b3bdc0;white-space:nowrap}thead small{font-weight:400;letter-spacing:0;font-size:10px}.scope-col{width:310px;min-width:270px;text-align:left;position:sticky;left:0;z-index:4}tbody th{position:sticky;left:0;z-index:2;min-width:270px;max-width:340px;text-align:left;font-weight:500}tbody th strong{display:block;font-size:14px}tbody th small{display:block;font-weight:400;color:var(--muted);font-size:10px;margin-top:6px}tbody td{font-size:13px;vertical-align:middle}tbody tr.dirty td,tbody tr.dirty th{background:#273329}tbody tr.invalid td,tbody tr.invalid th{background:#3c2c27}.scope-id{color:#7c8b8c;font-size:10px;margin-left:8px}.unit{display:block;font-size:10px;color:var(--muted)}.edit-col{min-width:200px;color:var(--green)}.quantity-entry{display:flex;gap:8px;align-items:center;justify-content:flex-end}.quantity-entry input[type=number]{width:95px;color:var(--accent);background:#19221b;font-weight:650;padding:8px}.quantity-entry .unit{min-width:30px;text-align:left}input[type=range]{display:block;width:100%;margin:11px 0 0;padding:0;height:5px;accent-color:#b8d2ad;cursor:pointer}.pending{color:#aeb9bc;font-size:11px}.row-error{display:block;color:#ffc1a6;font-size:10px;margin-top:7px}.remaining{color:var(--green)}.negative{color:#ffb090}.unknown-cell{color:#79888b}tfoot th,tfoot td{position:sticky;bottom:0;background:#2d3830;font-weight:650;z-index:3}tfoot th{text-align:left}tfoot span{color:var(--muted);font-weight:400;font-size:11px;margin-left:12px}.savebar{position:sticky;bottom:0;padding:16px 0;background:var(--bg);z-index:5;border-bottom:1px solid var(--line)}.savebar small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.savebar>div:last-child{display:flex;gap:10px}#saveWeek{background:var(--green);color:#18241a;border-color:var(--green)}.secondary{background:transparent;color:var(--muted)}.footnote{font-size:11px;margin-top:12px}.panel textarea{display:block;width:100%;min-height:120px;margin:10px 0}.panel label{margin-top:14px}a{color:var(--green)}#message{padding:14px;background:#354332;color:#e6f0e0;border:1px solid #61735c;border-radius:6px;margin-bottom:18px}#message.error{background:#492e28;border-color:#895445;color:#ffdbcf}#empty{padding:30px;text-align:center;color:var(--muted)}[hidden]{display:none!important}.login{max-width:500px;margin:70px auto}.panel .metrics{grid-template-columns:repeat(2,1fr)}@media(max-width:720px){main{padding:20px 16px}header{padding:0 16px}.metrics{grid-template-columns:repeat(2,1fr)}.titlebar,.table-toolbar{align-items:flex-start;flex-direction:column}.project-picker{width:100%}.week-picker>span{display:none}.savebar{align-items:flex-start;gap:10px}.savebar small{max-width:200px}.table-scroll{max-height:65vh}tbody th,.scope-col{min-width:205px;max-width:205px}.filters{width:100%}.metrics strong{font-size:26px}}@media(max-width:480px){h1{font-size:28px}.metrics{gap:8px}.metrics section{padding:12px}.savebar{flex-direction:column}.savebar small{max-width:100%}.savebar>div:last-child{width:100%}.savebar button{flex:1}nav{gap:18px}nav button{font-size:12px}.badge{display:none}}

nav a{padding:10px 0;font-size:13px}#reports p{white-space:pre-wrap}#dailyForm textarea{min-height:80px}#completedInputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}#monthTable{min-width:850px}#monthTable th{text-align:left}#projectCards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}

.labor-head{display:flex;align-items:center;gap:28px;flex-wrap:wrap;padding:22px;background:#2b382d;border:1px solid #53634c;border-radius:8px;margin:20px 0}.labor-head div>span{font-size:10px;letter-spacing:1px;color:#b7c7b0}.labor-head strong{display:block;font-size:30px}.labor-head p{flex-basis:100%;font-size:12px;color:#b7c7b0;margin:0}.service-group th{position:static;background:#303a36;text-align:left;font-weight:650;padding:12px 14px;max-width:none}#completedInputs .panel{padding:10px}

#scopeRows td[data-week]{min-width:165px}#scopeRows td[data-week] input{width:90px;color:var(--green)}.week-value{display:block;white-space:nowrap;margin-top:6px;color:#bacdb4}.service-single th,.service-single td{border-top:5px solid #121719}.service-label{color:var(--green)!important;letter-spacing:1px}#scopeRows tr:not(.service-single):not(.service-group) th{padding-left:28px}#gridHead th:first-child{position:sticky;left:0;z-index:4;text-align:left}#gridFoot th{position:static}
#revenueChart{overflow:auto;margin:20px 0}#revenueChart svg{width:100%;min-width:850px;display:block}#actualRows input{width:105px}#actualRows small{display:block;color:var(--muted)}#actualTotals{font-size:18px;margin:18px 0}nav{flex-wrap:wrap}
.expense-table{min-width:950px}.expense-table th,.expense-table td{padding:12px;text-align:left}.expense-table small{display:block;font-size:11px;color:var(--muted);margin:4px 0}.expense-table button{display:block;font-size:11px;margin:6px 0;padding:5px 8px}.expense-warning{color:#e9b684!important}.expense-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.expense-form-grid input{display:block;width:100%}.expense-form-grid small{display:block;color:var(--muted);font-size:11px}#expenses details{margin:18px 0}#expenseOverrides button{margin-left:12px}#expenseSourceNotice{margin:15px 0}summary{cursor:pointer}

.below-target{background:#532b2d!important;color:#ffced0}.source-review{color:#edb65c}.labor-chart{display:flex;gap:24px;align-items:flex-start;margin:24px 0 8px}.labor-column{flex:1;min-width:0;text-align:center;display:flex;flex-direction:column;gap:8px}.labor-track{height:130px;display:flex;align-items:flex-end;border-bottom:1px solid #53616a;justify-content:center}.labor-bar{width:65%;max-width:130px;background:#8db6c9;border-radius:5px 5px 0 0;min-height:0}.labor-head small{display:block}.proposal-description{white-space:pre-line;line-height:1.6}#vendorRows td{white-space:normal}#expenseRows small{display:block}

.action-panel{margin:24px 0}.action-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;border-bottom:1px solid #d6dcd7}.action-missing{border-left:5px solid #af3434;background:#fff0ef;color:#651d1d}.day-choice{display:inline-flex;align-items:center;gap:6px;margin:8px}.day-choice input{width:auto}.crew-mobile{max-width:880px}.crew-project{margin:20px 0}.crew-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.button-link{display:inline-block;background:#294c3b;color:white;padding:14px 20px;border-radius:8px;text-decoration:none;font-weight:700}.button-link.secondary{background:#edf2ed;color:#294c3b;border:1px solid #a9b9ad}.crew-link{display:block;margin:10px 0}.status-complete{color:#25603a;font-weight:700}.crew-mobile textarea{min-height:85px}.crew-mobile details{margin:14px 0}.crew-mobile summary{cursor:pointer;font-weight:600}.crew-mobile input,.crew-mobile select,.crew-mobile textarea{font-size:16px;max-width:100%;box-sizing:border-box}@media(max-width:600px){.crew-buttons{flex-direction:column}.button-link{text-align:center}.action-row{align-items:flex-start;flex-direction:column}.crew-mobile{padding:18px}.crew-mobile .panel{padding:16px}}

.labor-over-budget{background:#52272a!important;border:2px solid #cf6464!important}.labor-warning{display:block;color:#ffb5ad;margin-top:8px;font-size:13px;white-space:normal}

.labor-bar.labor-projected{background:#d0aa60}.labor-legend{display:flex;gap:20px;flex-wrap:wrap}.labor-legend span{display:inline-flex;align-items:center;gap:8px}.labor-swatch{display:inline-block;width:14px;height:14px;border-radius:3px;background:#8db6c9}.labor-swatch.projected{background:#d0aa60}
#projectName{font-size:clamp(32px,4vw,52px);line-height:1.1;margin:8px 0 12px;letter-spacing:-1.3px}.project-address{font-size:18px;color:#d7e1dc;margin:12px 0}.project-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:20px 0}.overview-grid{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(350px,1.2fr);gap:20px;margin-bottom:20px}.overview-grid .panel{margin:0;padding:26px}.hero-number{display:block;font-size:clamp(30px,3.5vw,46px);color:#b9d2a9;letter-spacing:-1px}.budget-title{display:flex;align-items:center;justify-content:space-between;gap:16px}.budget-title h2{margin:0}.budget-title>strong{font-size:28px}.budget-numbers{display:flex;justify-content:space-between;gap:20px;margin:18px 0}.budget-numbers strong{font-size:28px}.budget-numbers small{display:block;color:#aebcb5}.labor-gauge{height:22px;background:#35413e;border-radius:20px;overflow:hidden}.labor-gauge>div{height:100%;background:#9fbd8a;border-radius:20px;transition:width .3s}.labor-gauge>div.over{background:#d98472}.weather-days{display:grid;grid-template-columns:repeat(7,minmax(105px,1fr));gap:10px;overflow-x:auto}.weather-day{background:#222e2a;border:1px solid #3b4942;border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:9px}.weather-day>span{font-size:22px;color:#ddd3b7}.weather-day small{line-height:1.4}.weather-panel{margin-bottom:20px}#archivedProjects{display:flex;flex-direction:column;gap:12px;padding:15px}dialog{background:#1b2622;color:#e5ece8;border:1px solid #637063;border-radius:16px;width:min(850px,92vw);max-height:90vh;padding:25px}dialog::backdrop{background:#0009}dialog input,dialog textarea{box-sizing:border-box;width:100%}dialog textarea{font-family:inherit;line-height:1.55}#driveFolderInput{width:min(680px,100%);box-sizing:border-box;margin-right:10px}#laborContext{display:block;line-height:1.5;color:#aebcb5}.project-picker{max-width:320px}@media(max-width:700px){.overview-grid{grid-template-columns:1fr}.weather-days{grid-template-columns:repeat(7,140px)}.budget-numbers strong{font-size:23px}.project-actions>*{flex:1}.overview-grid .panel{padding:20px}}
