:root{--green:#153f36;--lime:#d8ee94;--paper:#f5f2ec;--card:#fffdfa;--ink:#1d2926;--muted:#6c7773;--line:#dcddd5;--danger:#9b4b43}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px Arial,sans-serif}.hidden{display:none!important}.login-screen{min-height:100vh;display:grid;place-items:center;padding:20px;background:var(--green)}.login-card{width:min(390px,100%);background:var(--card);border-radius:16px;padding:35px;box-shadow:0 25px 70px #0004}.login-card .logo{width:48px;height:48px;display:grid;place-items:center;background:var(--green);color:var(--lime);border-radius:13px;font-weight:bold}.login-card h1{margin:22px 0 4px;font-size:25px}.login-card p{margin:0 0 26px;color:var(--muted)}label{display:block;color:#68736f;font-size:10px;text-transform:uppercase;letter-spacing:.7px;font-weight:bold}.login-card label{margin:14px 0}.login-card input,input,select,textarea{width:100%;border:1px solid #d5d6cf;border-radius:8px;background:#fbfaf7;color:var(--ink);padding:12px;font:14px Arial;outline:none}.login-card label input{margin-top:7px}.login-card button,.primary{width:100%;border:0;border-radius:8px;background:var(--green);color:white;padding:13px 17px;font-weight:bold;cursor:pointer}.login-card small{display:block;color:var(--muted);margin-top:18px;line-height:1.4}.error{color:var(--danger);font-size:12px;margin-top:12px}.shell{min-height:100vh;display:grid;grid-template-columns:245px 1fr}aside{position:fixed;inset:0 auto 0 0;width:245px;background:var(--green);color:white;padding:27px 22px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px}.brand>b{width:34px;height:34px;border:2px solid var(--lime);color:var(--lime);border-radius:50%;display:grid;place-items:center}.brand>span{font-weight:bold}.brand small{display:block;color:#a9bbb5;font-size:8px;letter-spacing:1.2px;margin-top:3px}nav{display:grid;gap:7px;margin-top:48px}nav button{border:0;background:none;color:#bed0ca;padding:13px;border-radius:8px;text-align:left;cursor:pointer}nav button.active,nav button:hover{background:#ffffff17;color:white}.account{margin-top:auto;border-top:1px solid #ffffff20;padding-top:17px}.account strong,.account span{display:block}.account span{font-size:10px;color:#a9bbb5;text-transform:capitalize;margin-top:4px}.account button{border:0;background:none;color:#d8e4df;padding:12px 0 0;cursor:pointer}main{grid-column:2;min-width:0}header{height:68px;border-bottom:1px solid var(--line);display:flex;justify-content:flex-end;align-items:center;padding:0 48px;color:var(--muted);font-size:11px}.view{display:none;max-width:1030px;margin:auto;padding:52px 48px 75px}.view.active{display:block}.heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.eyebrow{font-size:9px;letter-spacing:1.4px;font-weight:bold;color:#78837f}.heading h1{margin:8px 0 5px;font-size:34px;letter-spacing:-1px}.heading p{margin:0;color:var(--muted)}.date-field{width:170px}.date-field label{margin-bottom:7px}.card,.list-card{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 38px #23312d10;overflow:hidden}.card-head{display:flex;justify-content:space-between;padding:19px 23px;border-bottom:1px solid var(--line)}.pill{font-style:normal;background:#ece9e2;color:#68706d;border-radius:20px;padding:5px 10px;font-size:10px}.pill.approved{background:#dfeee7;color:#41705e}.pill.submitted{background:#f0e8ca;color:#756020}.pill.rejected{background:#f2deda;color:#8c493f}.job{padding:22px;border-bottom:1px solid var(--line)}.job-top{display:flex;justify-content:space-between;margin-bottom:13px}.job-top span{font-size:9px;letter-spacing:1px;font-weight:bold;color:var(--muted)}.remove{border:0;background:none;font-size:20px;color:#929b97;cursor:pointer}.job-fields{display:grid;grid-template-columns:1.25fr .65fr 1.6fr;gap:15px}.job-fields label input,.job-fields label textarea{margin-top:7px}.duration{display:grid;grid-template-columns:1fr auto 1fr auto;gap:6px;align-items:center;margin-top:7px}.duration span{font-size:10px;color:var(--muted)}.add{margin:17px 22px;border:0;background:none;color:#315e51;font-weight:bold;cursor:pointer}.form-footer{display:flex;align-items:center;justify-content:space-between;background:#f0eee8;padding:18px 22px}.form-footer small,.form-footer strong{display:block}.form-footer strong{font-size:22px;margin-top:3px}.form-footer>div:last-child{display:flex;gap:9px}.primary{width:auto}.secondary{border:1px solid #799c91;border-radius:8px;background:white;color:#315e51;padding:12px 16px;font-weight:bold;cursor:pointer}.day-row,.user-row,.team-row{border-top:1px solid var(--line)}.day-row:first-child,.user-row:first-child,.team-row:first-child{border-top:0}.summary{width:100%;display:grid;grid-template-columns:1fr 110px 70px 20px;gap:15px;align-items:center;padding:17px 21px;border:0;background:var(--card);color:var(--ink);text-align:left;cursor:pointer}.summary:hover,.summary.open{background:#f3f1eb}.summary strong,.summary small{display:block}.summary small{color:var(--muted);font-size:10px;margin-top:4px}.detail{display:none;background:#f8f6f1;border-top:1px solid var(--line);padding:13px 25px 18px}.detail.open{display:block}.detail-job{display:grid;grid-template-columns:1fr 1.6fr 60px;gap:15px;padding:12px;border-top:1px solid #e2e1da}.detail-job:first-child{border-top:0}.detail-job span{color:var(--muted);font-size:12px}.detail-job b{text-align:right}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:17px}.stats div{background:var(--card);border:1px solid var(--line);border-radius:9px;padding:14px}.stats span,.stats strong{display:block}.stats span{font-size:9px;color:var(--muted);letter-spacing:1px}.stats strong{font-size:21px;margin-top:5px}.team-group{margin-bottom:15px}.review-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:13px}.compact{margin-bottom:16px}.fields{display:grid;grid-template-columns:1fr 1.3fr .8fr 1fr;gap:14px;padding:22px}.fields label input,.fields label select{margin-top:7px}.user-row{display:grid;grid-template-columns:1.3fr .7fr 1fr .6fr 85px;gap:15px;align-items:center;padding:16px 20px}.user-id strong,.user-id small{display:block}.user-id small{font-size:10px;color:var(--muted);margin-top:3px}.user-row button{border:0;background:none;color:#315e51;text-align:left;font-weight:bold;cursor:pointer}.notice{padding:13px 20px;background:#fff4ca;color:#675414}.toast{position:fixed;right:22px;bottom:22px;background:var(--green);color:white;padding:14px 18px;border-radius:9px;transform:translateY(90px);opacity:0;transition:.25s}.toast.show{transform:none;opacity:1}@media(max-width:800px){.shell{display:block}aside{position:static;width:auto;padding:12px 18px}.brand,.account{display:none}nav{margin:0;display:flex}nav button{flex:1;text-align:center}main{grid-column:auto}.view{padding:37px 20px}.job-fields{grid-template-columns:1fr 1fr}.job-fields label:last-child{grid-column:1/-1}.fields{grid-template-columns:1fr 1fr}.user-row{grid-template-columns:1.2fr .7fr .7fr 70px}.user-row>*:nth-child(3){display:none}}@media(max-width:520px){header{height:50px;padding:0 18px}.heading h1{font-size:28px}.heading{align-items:flex-start}.date-field{width:145px}.job-fields{grid-template-columns:1fr}.job-fields label:last-child{grid-column:auto}.form-footer{display:block}.form-footer>div:last-child{margin-top:13px}.summary{grid-template-columns:1fr 65px 18px}.summary>*:nth-child(2){display:none}.detail-job{grid-template-columns:1fr auto}.detail-job span{grid-column:1/-1}.fields{grid-template-columns:1fr}.user-row{grid-template-columns:1fr auto}.user-row>*:nth-child(2),.user-row>*:nth-child(3),.user-row>*:nth-child(4){display:none}}.password-overlay{position:fixed;inset:0;z-index:30;background:var(--green);display:grid;place-items:center;padding:20px}.review-day{margin-bottom:22px}.review-day-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:9px;padding:0 4px}.review-day-head>div:first-child span,.review-day-head>div:first-child strong{display:block}.review-day-head>div:first-child span{font-size:9px;letter-spacing:1.2px;color:var(--muted);font-weight:bold}.review-day-head>div:first-child strong{font-size:17px;margin-top:3px}.review-day-meta{display:flex;gap:14px;align-items:center;color:var(--muted);font-size:10px}.review-day-meta .needs-review{color:#756020;background:#f0e8ca;padding:5px 9px;border-radius:20px}.review-day-meta .all-reviewed{color:#41705e;background:#dfeee7;padding:5px 9px;border-radius:20px}@media(max-width:520px){.review-day-head{align-items:flex-start}.review-day-meta{display:grid;gap:3px;text-align:right}.review-day-meta .needs-review,.review-day-meta .all-reviewed{margin-top:3px}}.review-day .list-card:empty:after{content:"No time cards submitted";display:block;padding:18px 21px;color:var(--muted);font-size:12px}.user-row{grid-template-columns:1.3fr .7fr 1fr .6fr 150px}.user-buttons{display:flex;gap:6px}.user-buttons button{padding:6px}.user-buttons .delete-user{color:#9b4b43}@media(max-width:800px){.user-row{grid-template-columns:1.2fr .7fr .7fr 140px}}.team-controls{display:flex;align-items:end;gap:10px}.team-controls .secondary{white-space:nowrap}@media(max-width:520px){.team-controls{display:grid;justify-items:end}}.export-range{margin-bottom:17px}.export-range-head{padding:18px 22px;border-bottom:1px solid var(--line)}.export-range-head strong,.export-range-head span{display:block}.export-range-head span{color:var(--muted);font-size:11px;margin-top:4px}.export-range-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px 22px}.export-range-fields label input{margin-top:7px}@media(max-width:520px){.export-range-fields{grid-template-columns:1fr}}.weekly-recap{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:25px;box-shadow:0 10px 28px #23312d0b}.weekly-recap:empty{display:none}.recap-head{display:flex;justify-content:space-between;align-items:end;padding:16px 19px;background:#efede7}.recap-head span,.recap-head strong{display:block}.recap-head span{font-size:9px;letter-spacing:1px;color:var(--muted);font-weight:bold}.recap-head strong{font-size:17px;margin-top:3px}.recap-head small{color:var(--muted)}.recap-columns,.recap-row{display:grid;grid-template-columns:1.4fr .5fr .7fr .7fr .7fr;gap:14px;align-items:center;padding:11px 19px}.recap-columns{font-size:9px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);font-weight:bold}.recap-row{border-top:1px solid var(--line);font-size:12px}.recap-row .pending-hours{color:#8a6c1c;font-weight:bold}.recap-row b{text-align:right}@media(max-width:520px){.recap-columns,.recap-row{grid-template-columns:1.2fr .55fr .65fr}.recap-columns>*:nth-child(2),.recap-columns>*:nth-child(4),.recap-row>*:nth-child(2),.recap-row>*:nth-child(4){display:none}}.job-fields{grid-template-columns:.7fr 1.15fr .65fr 1.5fr}.entry-kind{display:inline-block;font-style:normal;font-size:8px;letter-spacing:.7px;border-radius:10px;padding:3px 6px;margin-right:7px;background:#e7ece9;color:#52625c}.entry-kind.pto{background:#e4def2;color:#59447c}.recap-columns,.recap-row{grid-template-columns:1.3fr .45fr .6fr .7fr .7fr .65fr}.pto-hours{color:#59447c;font-weight:bold}@media(max-width:800px){.job-fields{grid-template-columns:1fr 1fr}.job-fields label:last-child{grid-column:1/-1}}@media(max-width:520px){.job-fields{grid-template-columns:1fr}.job-fields label:last-child{grid-column:auto}}.employee-review{background:var(--card);border:1px solid var(--line);border-radius:13px;overflow:hidden;margin-bottom:12px;box-shadow:0 10px 28px #23312d0b}.employee-summary{width:100%;display:grid;grid-template-columns:1.4fr repeat(3,.65fr) .8fr 18px;gap:15px;align-items:center;border:0;background:var(--card);color:var(--ink);padding:18px 20px;text-align:left;cursor:pointer}.employee-summary:hover,.employee-summary.open{background:#f2f0ea}.employee-summary span strong,.employee-summary span small,.employee-summary span b{display:block}.employee-summary small{font-size:9px;color:var(--muted);letter-spacing:.5px}.employee-main strong{font-size:15px}.employee-main small{margin-top:4px}.employee-summary span:not(.employee-main) b{margin-top:4px}.employee-week-total b{font-size:17px}.employee-summary em,.day-review-summary em{font-style:normal;color:#687570;font-size:18px;transition:.2s}.employee-summary.open>em,.day-review-summary.open>em{transform:rotate(180deg)}.employee-week-detail{display:none;border-top:1px solid var(--line);background:#f8f6f1;padding:0 18px 16px}.employee-week-detail.open{display:block}.week-detail-head,.day-review-summary{display:grid;grid-template-columns:1.2fr .8fr .65fr .55fr 18px;gap:14px;align-items:center}.week-detail-head{padding:13px 12px 9px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.7px;font-weight:bold}.employee-day{border-top:1px solid #dddcd4}.employee-day:first-of-type{border-top:0}.day-review-summary{width:100%;border:0;background:transparent;color:var(--ink);padding:14px 12px;text-align:left;cursor:pointer}.day-review-summary:hover,.day-review-summary.open{background:#efede7}.day-review-summary strong,.day-review-summary small{display:block}.day-review-summary small{font-size:10px;color:var(--muted);margin-top:3px}.day-review-detail{display:none;padding:0 12px 14px 24px;background:#fffdfa}.day-review-detail.open{display:block}@media(max-width:760px){.employee-summary{grid-template-columns:1.3fr .7fr .8fr 18px}.employee-summary>span:nth-child(3),.employee-summary>span:nth-child(4){display:none}}@media(max-width:520px){.employee-summary{grid-template-columns:1fr .8fr 18px}.employee-summary>span:nth-child(2){display:none}.week-detail-head,.day-review-summary{grid-template-columns:1fr .7fr 18px}.week-detail-head>*:nth-child(2),.week-detail-head>*:nth-child(3),.day-review-summary>*:nth-child(2),.day-review-summary>*:nth-child(3){display:none}.day-review-detail{padding-left:8px}}.duration{display:grid;grid-template-columns:minmax(58px,1fr) minmax(58px,1fr);gap:8px;margin-top:7px}.duration-unit{min-width:0}.duration-unit input{display:block;min-width:0;width:100%;color:var(--ink);background:#fff;font-weight:700;text-align:center;padding:10px 5px}.duration-unit span{display:block;margin-top:4px;text-align:center;font-size:9px;color:var(--muted)}.job-fields{grid-template-columns:.85fr 1.25fr .85fr 1.5fr;column-gap:18px;row-gap:16px;align-items:start}.job-fields>label{min-width:0;display:flex;flex-direction:column}.job-fields>label>select,.job-fields>label>input,.job-fields>label>textarea,.job-fields>label>.duration{margin-top:8px}.job-fields>label>select,.job-fields>label>input{height:44px}.duration{margin-top:8px}.duration-unit input{height:44px;margin-top:0}.job-top{align-items:center}.job-top span{line-height:20px}@media(max-width:900px){.job-fields{grid-template-columns:1fr 1fr}.job-fields>label:last-child{grid-column:1/-1}}@media(max-width:520px){.job-fields{grid-template-columns:1fr}.job-fields>label:last-child{grid-column:auto}}.job-fields>label{display:grid;grid-template-rows:14px auto;row-gap:8px}.job-fields .field-label{display:block;height:14px;line-height:14px}.job-fields>label>select,.job-fields>label>input,.job-fields>label>textarea,.job-fields>label>.duration{margin-top:0!important}.duration-unit input{margin-top:0!important}.employee-summary{grid-template-columns:1.35fr repeat(5,.58fr) .72fr 18px}.overtime-hours b{color:#a45a27}.pto-summary b{color:#59447c}@media(max-width:980px){.employee-summary{grid-template-columns:1.3fr repeat(3,.65fr) .8fr 18px}.employee-summary>span:nth-child(2),.employee-summary>span:nth-child(3){display:none}}@media(max-width:650px){.employee-summary{grid-template-columns:1fr .7fr .7fr 18px}.employee-summary>span:nth-child(6),.employee-summary>span:nth-child(7){display:none}}.history-actions{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:12px;padding-top:14px}.history-actions>span{font-size:10px;color:var(--muted)}.history-actions>div{display:flex;gap:8px}.history-delete{color:#9b4b43;border-color:#d5aaa5}@media(max-width:520px){.history-actions{display:block}.history-actions>div{margin-top:10px}.history-actions button{flex:1}}.nav-badge{margin-left:auto;display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:12px;background:#d8ee94;color:#153f36;font-size:10px;font-weight:bold}.approval-alert{display:inline-block;margin-top:7px;padding:4px 8px;border-radius:12px;background:#f0e8ca;color:#756020;font-style:normal;font-size:9px;font-weight:bold}.employee-main{position:relative}.entry-extras{display:grid;grid-template-columns:1.3fr 1fr;gap:22px;margin-top:18px;padding-top:18px;border-top:1px dashed var(--line)}.extras-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.extras-head strong{font-size:12px}.extras-head span{font-size:9px;color:var(--muted)}.extras-head button{border:0;background:none;color:#315e51;font-weight:bold;cursor:pointer}.material-row{display:grid;grid-template-columns:1.2fr .55fr 1fr 28px;gap:8px;margin-top:8px}.material-row input{padding:9px}.money{display:flex;align-items:center;position:relative}.money span{position:absolute;left:9px;color:var(--muted)}.money input{padding-left:20px}.material-row button,.photo-preview button{border:0;background:none;color:var(--danger);font-size:18px;cursor:pointer}.photo-preview,.detail-photos{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.photo-preview>div{position:relative}.photo-preview img,.detail-photos img{width:72px;height:72px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.photo-preview button{position:absolute;right:-5px;top:-7px;width:22px;height:22px;border-radius:50%;background:white}.job-admin-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:22px}.job-admin-fields label>*{margin-top:7px}.job-admin-fields .wide{grid-column:1/4}.job-directory{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.work-job-card{display:flex;justify-content:space-between;gap:16px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px}.work-job-card h3{margin:11px 0 4px}.work-job-card p{color:var(--muted);margin:5px 0}.job-number{font-size:10px;font-weight:bold;color:#315e51;margin-right:8px}.detail-materials,.detail-photos{grid-column:1/-1}.detail-materials{display:grid;gap:4px;background:#f0eee8;padding:10px;border-radius:8px}@media(max-width:800px){.entry-extras,.job-directory{grid-template-columns:1fr}.job-admin-fields{grid-template-columns:1fr 1fr}.job-admin-fields .wide{grid-column:1/-1}}@media(max-width:520px){.material-row{grid-template-columns:1fr .55fr 28px}.material-notes{grid-column:1/3}.job-admin-fields{grid-template-columns:1fr}.job-admin-fields .wide{grid-column:auto}}
.job-directory{grid-template-columns:1fr}.work-job-card{width:100%;padding:24px 28px;align-items:center}.work-job-card>div{min-width:0;flex:1}.work-job-card h3{font-size:20px;margin-top:14px}.work-job-card>div>strong{display:block;font-size:14px;margin-top:12px}.work-job-card>.secondary{min-width:90px;text-align:center}.urgency-badge{display:inline-block;margin-top:5px;border-radius:18px;padding:6px 11px;font-size:10px;font-weight:bold;text-transform:uppercase;letter-spacing:.5px}.urgency-routine{background:#dfeee7!important;color:#2f6a52!important;border-color:#8fc2aa!important}.urgency-moderate{background:#f5e9b8!important;color:#765f13!important;border-color:#d5bd61!important}.urgency-emergency{background:#f2deda!important;color:#9b3f35!important;border-color:#d99b94!important}.urgency-control{font-weight:bold}@media(max-width:520px){.work-job-card{display:block;padding:20px}.work-job-card>.secondary{margin-top:16px;width:100%}}
.work-job-row{background:var(--card);border:1px solid var(--line);border-radius:11px;overflow:hidden}.job-summary-row{display:grid;grid-template-columns:95px 1.05fr 1.6fr 72px 90px 72px;gap:14px;align-items:center;padding:14px 18px 7px}.job-summary-row .job-address{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px}.job-summary-row .urgency-badge{margin:0;text-align:center}.job-summary-row .secondary{padding:8px 12px}.job-meta-row{display:grid;grid-template-columns:190px 1fr;gap:14px;padding:5px 18px 13px;color:var(--muted);font-size:10px}.job-meta-row span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-job-detail{display:none;grid-template-columns:repeat(3,1fr);gap:18px;padding:20px;border-top:1px solid var(--line);background:#f8f6f1}.work-job-detail.open{display:grid}.work-job-detail small,.work-job-detail strong{display:block}.work-job-detail small{font-size:9px;color:var(--muted);letter-spacing:.7px;margin-bottom:6px}.job-detail-description{grid-column:1/-1}.job-detail-description p{margin:0;color:var(--muted);line-height:1.5}.job-detail-actions{grid-column:1/-1;display:flex;justify-content:flex-end}.job-detail-actions .primary{width:auto}@media(max-width:850px){.job-summary-row{grid-template-columns:85px 1fr 70px 72px}.job-summary-row .job-address{grid-column:1/3;grid-row:2}.job-summary-row>.urgency-badge{grid-column:3}.job-summary-row>.secondary{grid-column:4;grid-row:1/3}.job-meta-row{display:none}.work-job-detail{grid-template-columns:1fr 1fr}}@media(max-width:520px){.job-summary-row{grid-template-columns:1fr auto;padding:14px}.job-summary-row>*{grid-column:auto!important;grid-row:auto!important}.job-summary-row .job-address{grid-column:1/-1!important}.job-summary-row>.secondary{grid-column:2!important;grid-row:1/3!important}.job-summary-row>.pill,.job-summary-row>.urgency-badge{justify-self:start}.job-meta-row{display:none}.work-job-detail{grid-template-columns:1fr}.job-detail-description,.job-detail-actions{grid-column:auto}}
.job-directory{gap:0}.work-job-row{border-radius:0;border-bottom:0}.work-job-row:first-child{border-radius:11px 11px 0 0}.work-job-row:last-child{border-bottom:1px solid var(--line);border-radius:0 0 11px 11px}.work-job-row:only-child{border-radius:11px}.job-view-photos{grid-column:1/-1;border-top:1px solid var(--line);padding-top:16px}.job-view-photos>span{display:block;margin-top:8px;color:var(--muted);font-size:9px}.job-view-photos .detail-photos:empty:after{content:"No job photos yet";color:var(--muted);font-size:11px}.job-photo-upload{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin-top:12px}.job-photo-upload input{padding:9px;background:white}.job-photo-upload button{padding:10px 14px}.job-photo-upload button:disabled{opacity:.6;cursor:wait}@media(max-width:520px){.job-photo-upload{grid-template-columns:1fr}.job-photo-upload button{width:100%}}
.job-view-notes{grid-column:1/-1;border-top:1px solid var(--line);padding-top:16px}.job-notes-list{display:grid;gap:7px;margin-top:9px}.job-notes-list>span{color:var(--muted);font-size:11px}.job-notes-list article{background:white;border:1px solid var(--line);border-radius:8px;padding:10px 12px}.job-notes-list article p{margin:0;white-space:pre-wrap;line-height:1.45}.job-notes-list article span{display:block;color:var(--muted);font-size:9px;margin-top:6px}.job-note-add{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin-top:12px}.job-note-add textarea{background:white;resize:vertical}.job-note-add button{height:42px}.job-note-add button:disabled{opacity:.6}@media(max-width:520px){.job-note-add{grid-template-columns:1fr}.job-note-add button{width:100%}}
.job-summary-row{padding:8px 12px 3px;gap:10px}.job-meta-row{padding:2px 12px 7px;gap:10px}.job-summary-row .urgency-badge{padding:4px 8px}.job-summary-row .secondary{padding:6px 10px}.job-view-time{grid-column:1/-1;border-top:1px solid var(--line);padding-top:16px}.work-order-time-list{display:grid;gap:7px;margin-top:9px}.work-order-time-list>span{color:var(--muted);font-size:11px}.work-order-time-list article{display:grid;grid-template-columns:1fr auto;gap:5px 14px;background:white;border:1px solid var(--line);border-radius:8px;padding:9px 12px}.work-order-time-list article span{color:var(--muted);font-size:10px}.work-order-time-list article p{grid-column:1/-1;margin:0;color:var(--muted);font-size:11px}@media(max-width:520px){.job-summary-row{padding:9px 10px}.work-order-time-list article{grid-template-columns:1fr}.work-order-time-list article p{grid-column:auto}}
.work-order-nav>button{width:100%;display:flex;justify-content:space-between}.work-order-subnav{display:grid;gap:3px;padding:3px 0 0 12px}.work-order-subnav button{font-size:11px;padding:9px 11px}.work-order-subnav button.active{background:#ffffff12;color:white}.job-summary-row{grid-template-columns:95px 1.05fr 1.5fr 145px 90px 18px;cursor:pointer}.job-summary-row em{font-style:normal;font-size:17px;transition:.2s}.job-summary-row.open em{transform:rotate(180deg)}.workflow-indicators{display:flex;gap:5px}.workflow-indicators i{font-style:normal;font-size:9px;font-weight:bold;padding:4px 7px;border-radius:12px}.complete-indicator{background:#dfeee7;color:#2f6a52}.billed-indicator{background:#dceaf5;color:#245d86}.work-order-time-head{display:flex;justify-content:space-between;align-items:end}.work-order-time-head>div{display:flex;gap:14px}.work-order-time-head span{font-size:9px;color:var(--muted)}.work-order-time-head b{font-size:14px;color:var(--ink);margin-right:3px}.work-order-workflow{grid-column:1/-1;display:flex;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:17px}.work-order-workflow label{font-size:11px;text-transform:none;letter-spacing:0;color:var(--ink);display:flex;align-items:center;gap:7px}.work-order-workflow input{width:17px;height:17px;margin:0}.work-order-workflow .disabled{color:#a3aaa7}.work-order-workflow button{margin-left:auto}.work-order-workflow button:disabled{border-color:#ccc;color:#aaa;background:#eee;cursor:not-allowed}@media(max-width:850px){.job-summary-row{grid-template-columns:85px 1fr 120px 18px}.job-summary-row .job-address{grid-column:1/3;grid-row:2}.workflow-indicators{grid-column:3}.job-summary-row>.urgency-badge{display:none}.job-summary-row>em{grid-column:4;grid-row:1/3}}@media(max-width:600px){.work-order-time-head{display:block}.work-order-time-head>div{margin-top:8px}.work-order-workflow{display:grid;gap:12px}.work-order-workflow button{margin:0;width:100%}}
.work-order-nav{display:grid}.work-order-nav>button.active{background:#ffffff17;color:white}@media(max-width:800px){.work-order-nav{flex:1;position:relative}.work-order-subnav{position:absolute;z-index:5;top:100%;left:0;right:0;background:var(--green);padding:5px;border-radius:0 0 8px 8px}}
.invoice-billing{display:flex;align-items:end;gap:12px}.invoice-field{min-width:210px;font-size:9px;color:var(--muted)}.invoice-field input{margin-top:5px;height:36px;padding:8px;background:white}.invoice-field input:disabled{background:#ececea;color:#777}.invoice-billing .billed-check{margin-bottom:9px}@media(max-width:600px){.invoice-billing{display:grid;gap:7px}.invoice-billing .billed-check{margin:0}.invoice-field{min-width:0}}
.invoice-billing{display:grid;grid-template-columns:minmax(190px,1fr) minmax(230px,1fr) auto;align-items:end;gap:12px}.invoice-list{display:flex;flex-wrap:wrap;gap:5px}.invoice-list small{width:100%;margin-bottom:1px}.invoice-list span{background:#e8edf0;color:#35556a;border-radius:13px;padding:5px 9px;font-size:10px;font-weight:bold}.invoice-list .no-invoices{background:#eee;color:#888}.invoice-add{display:grid;grid-template-columns:1fr auto;gap:6px}.invoice-add input{height:36px;padding:8px;background:white}.invoice-add button{padding:8px 12px}.invoice-billing .billed-check{margin-bottom:9px;white-space:nowrap}@media(max-width:760px){.invoice-billing{grid-template-columns:1fr}.invoice-billing .billed-check{margin:0}}
.work-order-workflow{flex-wrap:wrap}.invoice-billing{flex:1;min-width:520px;grid-template-columns:minmax(160px,.7fr) minmax(300px,1.3fr) auto}.invoice-add{min-width:300px}.invoice-add input.new-invoice-number{display:block;width:100%;min-width:240px;height:42px;padding:10px 12px;background:#fff!important;color:#1d2926!important;font-size:14px;font-weight:normal;opacity:1}.invoice-add input.new-invoice-number::placeholder{color:#747d79;opacity:1}.invoice-add button{height:42px;padding:10px 16px}@media(max-width:850px){.invoice-billing{min-width:100%;grid-template-columns:1fr}.invoice-add{min-width:0}.invoice-add input.new-invoice-number{min-width:0}}
.work-order-workflow{display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;align-items:end}.work-order-workflow>.archive-work-order{margin-left:0;position:static}.invoice-billing{min-width:0;width:100%}.invoice-billing button{margin-left:0}.invoice-billing .billed-check{position:relative;z-index:1;display:flex!important;visibility:visible!important}@media(max-width:950px){.work-order-workflow{grid-template-columns:1fr}.work-order-workflow>.archive-work-order{width:100%}.invoice-billing{grid-template-columns:1fr}.invoice-billing .billed-check{margin-top:4px}}
.work-order-workflow{grid-template-columns:190px minmax(360px,1fr) max-content;align-items:center;column-gap:20px}.workflow-checks{display:grid;gap:14px;align-self:center}.workflow-checks label{margin:0!important}.invoice-billing{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(260px,1.3fr);align-items:end;gap:12px}.invoice-billing .invoice-add{min-width:0}.archive-work-order{align-self:center}@media(max-width:1000px){.work-order-workflow{grid-template-columns:170px minmax(300px,1fr)}.work-order-workflow>.archive-work-order{grid-column:1/-1}.invoice-billing{grid-template-columns:1fr}}@media(max-width:700px){.work-order-workflow{grid-template-columns:1fr}.work-order-workflow>.archive-work-order{grid-column:auto}.workflow-checks{gap:10px}.invoice-billing{grid-template-columns:1fr}}
.time-nav{display:grid}.time-nav>button{width:100%;display:flex;justify-content:space-between;color:white;font-weight:bold}.time-subnav{display:grid;gap:3px;padding:3px 0 0 12px}.time-subnav button{font-size:11px;padding:9px 11px}.time-subnav button.active{background:#ffffff12;color:white}@media(max-width:800px){.time-nav{flex:1;position:relative}.time-subnav{position:absolute;z-index:6;top:100%;left:0;right:0;background:var(--green);padding:5px;border-radius:0 0 8px 8px}}
.work-order-nav>button,.employee-nav>button{color:white;font-weight:bold}.employee-nav{display:grid}.employee-nav>button{width:100%;display:flex;justify-content:space-between}.employee-subnav{display:grid;gap:3px;padding:3px 0 0 12px}.employee-subnav button{font-size:11px;padding:9px 11px}.employee-subnav button.active{background:#ffffff12;color:white}@media(max-width:800px){.employee-nav{flex:1;position:relative}.employee-subnav{position:absolute;z-index:7;top:100%;left:0;right:0;background:var(--green);padding:5px;border-radius:0 0 8px 8px}}
.user-item{border-top:1px solid var(--line)}.user-item:first-child{border-top:0}.user-item .user-row{border-top:0}.expand-user.open{color:var(--green)}.inline-user-form{display:none;border-top:1px solid var(--line);background:#f8f6f1;padding:18px 20px}.inline-user-form.open{display:block}.inline-user-fields{display:grid;grid-template-columns:1.1fr 1fr 1.2fr .8fr 1fr;gap:12px}.inline-user-fields label>*{margin-top:7px}.inline-user-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.inline-user-actions .primary{width:auto}@media(max-width:900px){.inline-user-fields{grid-template-columns:1fr 1fr}.inline-user-fields label:last-child{grid-column:1/-1}}@media(max-width:520px){.inline-user-fields{grid-template-columns:1fr}.inline-user-fields label:last-child{grid-column:auto}.inline-user-actions button{flex:1}}
.job-detail-actions{gap:9px}.delete-work-job{color:#9b4b43;border-color:#d5aaa5}.delete-work-job:hover{background:#f7e7e4}
.work-order-filters{display:grid;grid-template-columns:1fr 180px 180px;gap:12px;margin-bottom:14px;padding:14px;background:var(--card);border:1px solid var(--line);border-radius:11px}.work-order-filters label>*{margin-top:7px}.work-order-filters input,.work-order-filters select{height:42px;background:white}@media(max-width:700px){.work-order-filters{grid-template-columns:1fr 1fr}.work-order-filters label:first-child{grid-column:1/-1}}@media(max-width:480px){.work-order-filters{grid-template-columns:1fr}.work-order-filters label:first-child{grid-column:auto}}
:root{--green:#062b5c;--lime:#d20a16;--paper:#f3f5f8;--card:#ffffff;--ink:#10233f;--muted:#657287;--line:#d7dee8;--danger:#c50916;--navy:#062b5c;--navy-dark:#031d40;--red:#d20a16;--red-dark:#aa0711}body{background:linear-gradient(180deg,#f8f9fb 0,#f1f4f8 100%);color:var(--ink)}aside,.login-screen,.password-overlay{background:linear-gradient(165deg,var(--navy-dark),var(--navy) 70%,#093b78)}aside{border-right:3px solid var(--red)}.brand>b,.login-card .logo{border-color:var(--red);background:var(--navy);color:#fff}.brand>b{box-shadow:0 0 0 2px #ffffff18}.brand small{color:#d7e2f2}.account{border-top-color:#ffffff2b}nav button{color:#c9d6e8}nav button.active,nav button:hover,.time-subnav button.active,.work-order-subnav button.active,.employee-subnav button.active{background:#d20a1628;color:#fff}.time-nav>button,.work-order-nav>button,.employee-nav>button{color:#fff}.primary,.login-card button{background:var(--navy);box-shadow:inset 0 -2px 0 #0002}.primary:hover,.login-card button:hover{background:var(--red)}.secondary{border-color:#8ea4c0;color:var(--navy);background:#fff}.secondary:hover{border-color:var(--red);color:var(--red)}.add,.user-row button,.extras-head button{color:var(--navy)}.eyebrow{color:var(--red)}header{border-bottom:2px solid #d20a1620;background:#ffffff80}.card,.list-card,.weekly-recap,.employee-review,.work-job-row,.work-order-filters{box-shadow:0 12px 32px #062b5c10}.nav-badge{background:var(--red);color:#fff}.job-number{color:var(--navy)}input:focus,select:focus,textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px #d20a1617}.summary:hover,.summary.open,.employee-summary:hover,.employee-summary.open,.day-review-summary:hover,.day-review-summary.open{background:#eef2f8}.pill.submitted{background:#fff0c8;color:#735a11}.pill.approved{background:#dfeee7;color:#2f6a52}.delete-work-job,.delete-user,.history-delete{color:var(--red)!important;border-color:#e3a8ad!important}.toast{background:var(--navy);border-left:4px solid var(--red)}@media(max-width:800px){.time-subnav,.work-order-subnav,.employee-subnav{background:var(--navy-dark);border-bottom:2px solid var(--red)}}
.brand>img{width:42px;height:42px;flex:0 0 42px;object-fit:cover;border-radius:50%;background:#fff;border:2px solid #fff;box-shadow:0 2px 10px #0004}.brand>span{line-height:1.15}
.approval-pending-indicator{background:#fff0c8;color:#7a5c09}.approval-pending-indicator~.complete-indicator{margin-left:2px}.approve-work-job{margin-right:auto}.work-order-nav>button #workOrderBadge{margin-left:auto;margin-right:8px}
.contact-fields{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.contact-fields label>*{margin-top:7px}@media(max-width:700px){.contact-fields{grid-template-columns:1fr}}
.history-year>h2{margin:0;padding:18px 21px 10px;background:var(--navy);color:#fff;font-size:20px}.history-year+.history-year{border-top:4px solid var(--paper)}.history-month>h3{margin:0;padding:12px 21px 8px;background:#e9edf4;color:var(--navy);font-size:13px;text-transform:uppercase;letter-spacing:.7px}.history-days{border-top:1px solid var(--line)}.history-month+.history-month{border-top:1px solid #c8d1df}
.history-month-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;padding:12px 21px;background:#e9edf4;color:var(--navy);font-size:13px;font-weight:bold;text-transform:uppercase;letter-spacing:.7px;text-align:left;cursor:pointer}.history-month-toggle:hover,.history-month-toggle.open{background:#dfe6f0}.history-month-toggle em{font-style:normal;font-size:17px;transition:.2s}.history-month-toggle.open em{transform:rotate(180deg)}.history-days{display:none}.history-days.open{display:block}

.move-time-entry{display:grid;gap:6px;margin-top:10px;max-width:360px;font-size:9px;color:var(--muted);letter-spacing:.7px;text-transform:uppercase;font-weight:bold}.move-time-entry select{margin-top:0;padding:9px 10px;font-size:12px;text-transform:none;letter-spacing:0;font-weight:normal}

.nav-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--red,#d20a16);box-shadow:0 0 0 2px #fff3;margin-left:8px;vertical-align:middle}.time-nav>button,.work-order-nav>button,.employee-nav>button{display:flex;align-items:center;gap:6px}.time-nav>button .nav-dot,.work-order-nav>button .nav-dot{flex:0 0 auto}.time-nav>button>span:last-child,.work-order-nav>button>span:last-child,.employee-nav>button>span:last-child{margin-left:auto}@media(max-width:800px){.time-nav>button,.work-order-nav>button,.employee-nav>button{justify-content:center}.time-nav>button>span:last-child,.work-order-nav>button>span:last-child,.employee-nav>button>span:last-child{margin-left:0}.nav-dot{margin-left:2px}}

.work-order-subnav button[data-work-scope="open"]{display:flex;align-items:center;justify-content:flex-start;gap:8px}.work-order-subnav button[data-work-scope="open"] .nav-dot{margin-left:2px}

.day-review-detail .detail-job.expanded{grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;align-items:start;padding:10px 12px}.day-review-detail .detail-job.expanded>strong{grid-column:1;grid-row:1;display:flex;flex-wrap:wrap;align-items:center;gap:5px 7px;min-width:0;line-height:1.25}.day-review-detail .detail-job.expanded>strong .entry-kind{margin-right:0;flex:0 0 auto}.day-review-detail .detail-job.expanded>strong .urgency-badge{margin:0;padding:4px 8px;flex:0 0 auto;font-size:9px}.day-review-detail .detail-job.expanded>strong small{flex-basis:100%;color:var(--muted);font-size:11px;font-weight:normal;line-height:1.35;margin-top:1px}.day-review-detail .detail-job.expanded>b{grid-column:2;grid-row:1;align-self:start;white-space:nowrap;background:#eef2f8;color:var(--navy);border-radius:14px;padding:4px 8px;font-size:12px;line-height:1.2}.day-review-detail .detail-job.expanded>span{grid-column:1/-1;grid-row:2;color:var(--muted);font-size:12px;line-height:1.35}.day-review-detail .detail-job.expanded>span:empty{display:none}@media(max-width:520px){.day-review-detail .detail-job.expanded{grid-template-columns:1fr}.day-review-detail .detail-job.expanded>b{grid-column:1;grid-row:2;justify-self:start}.day-review-detail .detail-job.expanded>span{grid-row:3}}

.work-order-time-list{gap:0;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:white}.work-order-time-day+.work-order-time-day{border-top:1px solid var(--line)}.work-order-time-day-toggle{width:100%;display:grid;grid-template-columns:1fr .75fr .75fr .65fr 18px;gap:12px;align-items:center;border:0;background:white;color:var(--ink);padding:10px 12px;text-align:left;cursor:pointer}.work-order-time-day-toggle:hover,.work-order-time-day-toggle.open{background:#eef2f8}.work-order-time-day-toggle strong,.work-order-time-day-toggle small{display:block}.work-order-time-day-toggle small{margin-top:2px;color:var(--muted);font-size:9px}.work-order-time-day-toggle span:not(:first-child){font-size:10px;color:var(--muted);text-align:right}.work-order-time-day-toggle b{font-size:13px;color:var(--navy);margin-right:3px}.work-order-time-day-toggle em{font-style:normal;color:var(--muted);transition:.2s}.work-order-time-day-toggle.open em{transform:rotate(180deg)}.work-order-time-entries{display:none;background:#f8f6f1;border-top:1px solid var(--line);padding:7px}.work-order-time-entries.open{display:grid;gap:6px}.work-order-time-entries article{display:grid;grid-template-columns:1fr auto;gap:4px 12px;background:white;border:1px solid var(--line);border-radius:7px;padding:8px 10px}.work-order-time-entries article span{color:var(--muted);font-size:10px}.work-order-time-entries article p{grid-column:1/-1;margin:0;color:var(--muted);font-size:11px;line-height:1.35}@media(max-width:700px){.work-order-time-day-toggle{grid-template-columns:1fr .7fr 18px}.work-order-time-day-toggle span:nth-child(3),.work-order-time-day-toggle span:nth-child(4){display:none}}@media(max-width:520px){.work-order-time-entries article{grid-template-columns:1fr}.work-order-time-entries article p{grid-column:auto}}

.work-order-time-entry{display:block!important}.time-entry-line{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center}.time-entry-line .secondary{padding:6px 10px;font-size:11px}.time-entry-edit{display:grid;grid-template-columns:130px 90px 90px;gap:10px;margin-top:10px;padding:10px;background:#f8f6f1;border:1px solid var(--line);border-radius:8px}.time-entry-edit label{font-size:9px}.time-entry-edit label>*{margin-top:6px}.time-entry-edit input,.time-entry-edit select,.time-entry-edit textarea{background:white;padding:9px}.time-entry-edit .wide{grid-column:1/-1}.time-entry-edit-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}.time-entry-edit-actions .primary{width:auto}@media(max-width:700px){.time-entry-edit{grid-template-columns:1fr 1fr}.time-entry-edit .wide{grid-column:1/-1}.time-entry-line{grid-template-columns:1fr auto}.time-entry-line .secondary{grid-column:1/-1;justify-self:start}}@media(max-width:520px){.time-entry-edit{grid-template-columns:1fr}.time-entry-edit-actions button{flex:1}}

.team-editable-entry{grid-template-columns:minmax(0,1fr) auto auto!important}.team-editable-entry>.team-edit-time-entry{grid-column:3;grid-row:1;padding:6px 10px;font-size:11px;align-self:start}.team-time-entry-edit{grid-column:1/-1;display:grid;grid-template-columns:130px 90px 90px;gap:10px;margin-top:8px;padding:10px;background:#f8f6f1;border:1px solid var(--line);border-radius:8px}.team-time-entry-edit label{font-size:9px}.team-time-entry-edit label>*{margin-top:6px}.team-time-entry-edit input,.team-time-entry-edit select,.team-time-entry-edit textarea{background:white;padding:9px}.team-time-entry-edit .wide,.team-time-entry-edit label:nth-last-child(2){grid-column:1/-1}.team-time-entry-edit-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}.team-time-entry-edit-actions .primary{width:auto}@media(max-width:700px){.team-editable-entry{grid-template-columns:1fr auto!important}.team-editable-entry>.team-edit-time-entry{grid-column:1;grid-row:3;justify-self:start}.team-time-entry-edit{grid-template-columns:1fr 1fr}.team-time-entry-edit .wide{grid-column:1/-1}}@media(max-width:520px){.team-time-entry-edit{grid-template-columns:1fr}.team-time-entry-edit-actions button{flex:1}}.after-hours-check{display:grid;grid-template-rows:14px auto;row-gap:8px}.checkbox-line,.after-hours-edit{display:flex!important;align-items:center;gap:7px;text-transform:none;letter-spacing:0;color:var(--ink);font-size:12px}.checkbox-line input,.after-hours-edit input{width:16px!important;height:16px!important;margin:0!important}.after-hours-pill{display:inline-block;margin-left:6px;padding:3px 7px;border-radius:12px;background:#fff0c8;color:#7a5c09;font-style:normal;font-size:9px;font-weight:bold;white-space:nowrap}.time-entry-edit .after-hours-edit,.team-time-entry-edit .after-hours-edit{grid-column:1/-1}.work-order-time-head .after-hours-total{padding:7px 10px;border:1px solid #e3c65d;border-radius:10px;background:#fff7d8;color:#765f13;font-weight:bold;box-shadow:0 4px 12px #765f1314}.work-order-time-head .after-hours-total b{color:#765f13;font-size:16px}.work-order-time-head .after-hours-total.has-after-hours{background:linear-gradient(135deg,#fff0c8,#ffe3df);border-color:#d20a16;color:#9b1f18;box-shadow:0 0 0 2px #d20a1618,0 8px 20px #d20a1620}.work-order-time-head .after-hours-total.has-after-hours b{color:#d20a16}.work-order-time-head .after-hours-total.has-after-hours:before{content:"!";display:inline-grid;place-items:center;width:16px;height:16px;margin-right:5px;border-radius:50%;background:#d20a16;color:white;font-size:11px;font-weight:900}.job-top .remove{font-size:11px;font-weight:bold;color:var(--danger);padding:4px 8px;border:1px solid #d5aaa5;border-radius:12px;background:#fffdfa}.job-top .remove:hover{background:#f7e7e4}.job-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.job-upload-grid>span{grid-column:1/-1;display:block;color:var(--muted);font-size:9px}.job-file-upload{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.job-file-upload input{padding:9px;background:white}.job-file-upload button{padding:10px 14px}.job-file-upload button:disabled{opacity:.6;cursor:wait}.detail-files{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.detail-files>a{display:flex;align-items:center;gap:8px;text-decoration:none;border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 11px;color:var(--ink)}.detail-files>a:before{content:"FILE";font-size:8px;font-weight:bold;color:#fff;background:var(--navy,#062b5c);border-radius:8px;padding:3px 5px}.detail-files strong{font-size:12px}.detail-files span{font-size:10px;color:var(--muted)}.detail-files>span{color:var(--muted);font-size:11px}@media(max-width:700px){.job-upload-grid{grid-template-columns:1fr}.job-file-upload{grid-template-columns:1fr}.job-file-upload button{width:100%}}.entry-date-row{padding:18px 22px 0;display:grid;grid-template-columns:minmax(180px,240px);gap:12px}.entry-date-row label input{margin-top:7px}.job:only-child{border-bottom:0}.job-top .remove{display:none}.job-fields{grid-template-columns:.7fr 1.25fr 1fr 1fr 1.45fr}.duration-field .field-label{white-space:normal}.after-business-hours .field-label{color:#9b1f18}.after-business-hours .duration-unit input{border-color:#e3c65d;background:#fffdf4}@media(max-width:1100px){.job-fields{grid-template-columns:1fr 1fr}.job-fields>label:last-child{grid-column:1/-1}}@media(max-width:560px){.job-fields{grid-template-columns:1fr}.job-fields>label:last-child{grid-column:auto}}
#today .job-fields{grid-template-columns:.8fr 1.3fr 1fr 1fr}#today .job-fields>label:last-child{grid-column:1/-1}#today .job-fields textarea.desc{min-height:130px;resize:vertical}
@media(max-width:760px){#today.view{padding-left:14px;padding-right:14px}#today .entry-date-row{padding:16px 16px 0;grid-template-columns:1fr}#today .job{padding:16px}#today .job-fields{grid-template-columns:1fr!important;gap:18px}#today .job-fields>label{grid-column:1/-1!important;grid-template-rows:auto auto;row-gap:7px}#today .job-fields .field-label{height:auto;min-height:0;line-height:1.25;white-space:normal}#today .duration{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}#today .duration-unit input{height:48px;font-size:16px}#today .job-fields textarea.desc{min-height:150px}#today .form-footer{display:grid;gap:16px}#today .form-footer>div:last-child{display:grid;grid-template-columns:1fr;gap:10px;margin-top:0}#today .form-footer button{width:100%}}
.job-upload-grid .job-photo-upload,.job-upload-grid .job-file-upload{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:0}.job-upload-grid .job-photo-upload input,.job-upload-grid .job-file-upload input{height:42px;padding:9px;background:white}.job-upload-grid .job-photo-upload button,.job-upload-grid .job-file-upload button{height:42px;padding:10px 14px;white-space:nowrap}.job-upload-grid>div{min-width:0}@media(max-width:700px){.job-upload-grid .job-photo-upload,.job-upload-grid .job-file-upload{grid-template-columns:1fr}.job-upload-grid .job-photo-upload button,.job-upload-grid .job-file-upload button{width:100%}}
@media(max-width:760px){#today .card{overflow:hidden}#today .entry-date-row{min-width:0}#today .entry-date-row label{min-width:0}#today .entry-date-row input[type=date]{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box}#today select,#today input,#today textarea{max-width:100%;min-width:0}}
@media(max-width:800px){aside{padding:10px 14px}nav{display:grid!important;grid-template-columns:1fr;gap:6px}.time-nav,.work-order-nav,.employee-nav{width:100%;position:relative!important}.time-nav>button,.work-order-nav>button,.employee-nav>button{justify-content:space-between!important;padding:11px 13px;background:#ffffff10;border:1px solid #ffffff18}.time-subnav,.work-order-subnav,.employee-subnav{position:static!important;margin-top:3px;padding:5px!important;border-radius:8px!important;border:1px solid #ffffff14}.time-subnav button,.work-order-subnav button,.employee-subnav button{text-align:left!important}.nav-dot{margin-left:6px}}
@media(max-width:700px){#team .heading{display:block}#team .team-controls{display:grid;grid-template-columns:1fr;justify-items:stretch;margin-top:16px}#team .date-field{width:100%}#team .team-controls .secondary{width:100%}.employee-summary{grid-template-columns:1fr 1fr 1fr!important;gap:10px 12px;padding:16px}.employee-summary .employee-main{grid-column:1/-1}.employee-summary>span:nth-child(2),.employee-summary>span:nth-child(3){display:none!important}.employee-summary>span:nth-child(4),.employee-summary>span:nth-child(5),.employee-summary>span:nth-child(6),.employee-summary>span:nth-child(7){display:block!important}.employee-summary>em{grid-column:3;grid-row:1;justify-self:end}.employee-summary small{font-size:8px}.employee-summary span:not(.employee-main){background:#f6f8fb;border:1px solid var(--line);border-radius:9px;padding:8px}.employee-week-total{grid-column:1/-1}.employee-week-total b{font-size:18px}}
@media(max-width:520px){.job-summary-row{grid-template-columns:auto minmax(0,1fr) auto!important;gap:5px 8px!important;padding:12px!important}.job-summary-row .job-number{grid-column:1!important;grid-row:1!important;align-self:start}.job-summary-row>strong{grid-column:2!important;grid-row:1!important;min-width:0;line-height:1.2}.job-summary-row>em{grid-column:3!important;grid-row:1 / span 3!important;align-self:center;justify-self:end;font-size:18px}.job-summary-row .job-address{grid-column:1 / 3!important;grid-row:2!important;white-space:normal!important;line-height:1.35}.job-summary-row .workflow-indicators{grid-column:1 / 3!important;grid-row:3!important;flex-wrap:wrap}.job-summary-row>.urgency-badge{grid-column:1 / 3!important;grid-row:4!important;justify-self:start}.work-order-time-head{display:block!important}.work-order-time-head>div{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.work-order-time-head>div>span{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px}.work-order-time-head .after-hours-total{margin:0}.user-row{grid-template-columns:1fr!important;gap:8px;padding:15px 18px}.user-row .user-id{width:100%;text-align:left;padding:0}.user-row .user-id strong{font-size:15px}.user-row>span{display:block!important}.user-row>span:nth-child(2)::before{content:"Role: ";font-weight:bold;color:var(--muted)}.user-row>span:nth-child(3)::before{content:"Reports to: ";font-weight:bold;color:var(--muted)}.user-row .user-buttons{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}.user-row .user-buttons button{border:1px solid var(--line);border-radius:8px;padding:10px;text-align:center;background:#fff}.inline-user-actions,.form-footer>div:last-child{display:grid!important;grid-template-columns:1fr;gap:10px}.inline-user-actions button,.form-footer button{width:100%!important}.job-admin-fields,.fields{padding:18px;gap:18px}.job-admin-fields label,.fields label,.contact-fields{position:relative}.job-admin-fields label:nth-child(5),.contact-fields,.job-admin-fields label:nth-last-child(3){padding-top:18px;border-top:1px solid var(--line)}.job-admin-fields label:nth-child(5)::before{content:"Address";position:absolute;top:0;left:0;color:var(--red);font-size:9px;font-weight:bold;letter-spacing:1px}.contact-fields::before{content:"Contact";position:absolute;top:0;left:0;color:var(--red);font-size:9px;font-weight:bold;letter-spacing:1px}.job-admin-fields label:nth-last-child(3)::before{content:"Work details";position:absolute;top:0;left:0;color:var(--red);font-size:9px;font-weight:bold;letter-spacing:1px}}
@media(max-width:520px){.job-summary-row>.urgency-badge{display:inline-block!important}.user-row>span:nth-child(4)::before{content:"Status: ";font-weight:bold;color:var(--muted)}}
@media(max-width:760px){#today #timeForm.card{width:100%;max-width:100%;overflow:hidden}#today .entry-date-row{display:block!important;width:100%;max-width:100%;padding:16px 14px 0!important;box-sizing:border-box;overflow:hidden}#today .entry-date-row label{display:block!important;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}#today #workDate{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;inline-size:100%!important;box-sizing:border-box!important;margin:7px 0 0!important;-webkit-appearance:none;appearance:none}}
.team-editable-entry{grid-template-columns:minmax(0,1fr) auto auto auto!important}.team-editable-entry>.team-edit-time-entry{grid-column:3}.team-editable-entry>.team-delete-time-entry{grid-column:4;grid-row:1;padding:6px 10px;font-size:11px;align-self:start;color:var(--red,var(--danger));border-color:#e3a8ad}.team-editable-entry>.team-delete-time-entry:hover{background:#f7e7e4;color:var(--red,var(--danger))}@media(max-width:700px){.team-editable-entry{grid-template-columns:1fr auto auto!important}.team-editable-entry>.team-edit-time-entry{grid-column:1;grid-row:3;justify-self:start}.team-editable-entry>.team-delete-time-entry{grid-column:2;grid-row:3;justify-self:start}}
#today .entry-date-row{grid-template-columns:minmax(180px,240px) minmax(220px,320px)}@media(max-width:760px){#today .entry-date-row{grid-template-columns:1fr}}
#today .entry-date-row{display:grid!important;grid-template-columns:minmax(180px,220px) minmax(240px,340px)!important;align-items:end;gap:16px;padding:18px 22px 0!important;overflow:visible!important}#today .entry-date-row label{display:grid!important;grid-template-rows:14px 44px;row-gap:7px;align-self:end;margin:0;min-width:0;line-height:14px}#today .entry-date-row input,#today .entry-date-row select{height:44px;margin:0!important;width:100%;max-width:100%;min-width:0;box-sizing:border-box}#today #entryEmployeeField.hidden{display:none!important}@media(max-width:760px){#today .entry-date-row{display:grid!important;grid-template-columns:1fr!important;gap:14px;padding:16px 14px 0!important}#today .entry-date-row label{grid-template-rows:auto 44px;line-height:1.25}}
