:root{--background:#f4f7f4;--surface:#fff;--surface-soft:#eef5ee;--surface-strong:#dceadc;--text:#102016;--muted:#657267;--line:#dfe7df;--green:#38a653;--green-strong:#24783d;--amber:#e99b32;--blue:#3c7fe8;--purple:#7c54c8;--shadow:0 18px 50px #10201614}*{box-sizing:border-box}html{background:var(--background)}body{color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}.uppercase-input{text-transform:uppercase}.app-shell{background:radial-gradient(circle at top left, #38a6531f, transparent 28rem), var(--background);grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#ffffffd1;height:100vh;padding:24px 18px;position:sticky;top:0}.brand{margin-bottom:30px;display:block}.brand-logo{mix-blend-mode:multiply;width:min(180px,100%);height:auto;display:block}.sidebar nav{gap:8px;display:grid}.nav-item{color:#324137;border-radius:8px;align-items:center;gap:12px;min-height:44px;padding:0 12px;font-size:.95rem;display:flex}.nav-item.active{color:#173d24;background:#dcefdc;font-weight:700}.count{color:#fff;background:var(--green);border-radius:999px;place-items:center;min-width:22px;height:22px;margin-left:auto;font-size:.75rem;display:grid}.workspace{padding:24px}.topbar{justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px;display:flex}.eyebrow{color:var(--green-strong);letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:.78rem;font-weight:800}h1,h2,p{margin-top:0}h1{letter-spacing:0;margin-bottom:0;font-size:clamp(1.8rem,3vw,2.5rem)}.topbar-actions{align-items:center;gap:10px;display:flex}.search-box{border:1px solid var(--line);background:var(--surface);border-radius:8px;align-items:center;gap:8px;width:min(310px,30vw);height:42px;padding:0 12px;display:flex}.search-box input{background:0 0;border:0;outline:0;width:100%}.connection-pill,.profile-chip,.icon-button{border:1px solid var(--line);background:var(--surface);border-radius:8px;height:42px}.connection-pill{color:#33443a;align-items:center;gap:8px;padding:0 12px;font-size:.9rem;display:inline-flex}.dot{background:var(--amber);border-radius:50%;width:8px;height:8px}.dot.ok{background:var(--green)}.profile-chip{align-items:center;gap:10px;padding:0 10px 0 4px;display:inline-flex}.profile-chip small{color:var(--muted);font-size:.75rem;line-height:1.1;display:block}.avatar{color:#fff;background:#19231d;border-radius:8px;place-items:center;width:34px;height:34px;font-size:.8rem;font-weight:800;display:grid}.icon-button{cursor:pointer;place-items:center;width:42px;display:grid}.notification-button{position:relative}.notification-button.active{color:#17632d;background:#e8f7eb;border-color:#b9dfc1}.notification-button span{border:2px solid var(--background);background:var(--green);color:#fff;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 4px;font-size:.68rem;font-weight:800;display:grid;position:absolute;top:-7px;right:-6px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px;display:grid}.notice-bar{color:#7a470d;background:#fff5e6;border:1px solid #f4d29d;border-radius:8px;margin-bottom:14px;padding:12px 14px;font-size:.9rem}.success-bar{color:#17632d;background:#e8f7eb;border:1px solid #b9dfc1;border-radius:8px;margin-bottom:14px;padding:12px 14px;font-size:.9rem;font-weight:700}.notifications-grid{grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:14px;display:grid}.notification-list-panel,.notification-preferences-panel{align-self:start}.notification-list{gap:10px;margin-top:12px;display:grid}.notification-card{background:#fff;border:1px solid #edf2ed;border-radius:8px;grid-template-columns:42px minmax(0,1fr);gap:12px;padding:12px;display:grid}.notification-card.unread{background:#f6fcf7;border-color:#bfe1c4}.notification-icon{color:#17632d;background:#e8f7eb;border-radius:8px;place-items:center;width:38px;height:38px;display:grid}.notification-card-top{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.notification-card-top span,.notification-meta,.preferences-form p{color:var(--muted);font-size:.82rem}.notification-card p{overflow-wrap:anywhere;margin:6px 0}.notification-meta{flex-wrap:wrap;gap:8px;display:flex}.notification-meta span{background:#f0f5f0;border-radius:999px;padding:4px 8px}.notification-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.preferences-form{gap:12px;display:grid}.toggle-row{background:#fff;border:1px solid #edf2ed;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;font-weight:800;display:grid}.toggle-row span{align-items:center;gap:8px;display:inline-flex}.toggle-row input{width:18px;height:18px;accent-color:var(--green)}.push-control{gap:8px;display:grid}.push-control .secondary-button{justify-content:center;width:100%}.settings-fieldset{border:0;gap:8px;margin:0;padding:0;display:grid}.settings-fieldset legend{color:#33443a;font-weight:800}.weekday-picker{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.weekday-picker label{border:1px solid var(--line);color:#33443a;cursor:pointer;background:#fff;border-radius:8px;place-items:center;min-height:40px;font-weight:800;display:grid}.weekday-picker input{opacity:0;pointer-events:none;position:absolute}.weekday-picker label:has(input:checked){color:#17632d;background:#dff2e3;border-color:#b9dfc1}.metric-card,.panel,.login-panel,.preview-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffeb;border-radius:8px}.metric-card{gap:6px;min-height:130px;padding:18px;display:grid}.metric-icon{color:var(--green)}.metric-card span{color:var(--muted)}.metric-card strong{font-size:2rem}.metric-card a,.panel-header a{color:var(--green-strong);font-size:.88rem;font-weight:700}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.jobs-grid{grid-template-columns:minmax(560px,1fr) minmax(340px,420px);align-items:start;gap:14px;display:grid}.jobs-grid.history-view{grid-template-columns:1fr}.jobs-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.dashboard-action-bar{justify-content:flex-end;display:flex}.jobs-filter-bar{grid-template-columns:repeat(4,minmax(130px,1fr)) auto auto;gap:8px;margin-bottom:14px;display:grid}.jobs-filter-bar input,.jobs-filter-bar select{border:1px solid var(--line);min-height:40px;color:var(--text);background:#fff;border-radius:8px;padding:0 10px}.job-history-search{grid-template-columns:minmax(260px,420px) auto;gap:8px;display:grid}.job-history-search input{border:1px solid var(--line);min-height:42px;color:var(--text);background:#fff;border-radius:8px;outline:0;padding:0 12px}.job-history-search input:focus{border-color:var(--green);box-shadow:0 0 0 3px #38a65329}.team-grid{grid-template-columns:minmax(320px,.6fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.team-subsection-panel{grid-column:1/-1}.team-settings-links{gap:10px;display:grid}.settings-link-card{color:var(--text);background:#fbfdfb;border:1px solid #edf2ed;border-radius:8px;gap:5px;padding:14px;text-decoration:none;display:grid}.settings-link-card:hover{background:#f5fbf5;border-color:#cce8d0}.settings-link-card strong{color:var(--green)}.settings-link-card span{color:var(--muted);line-height:1.45}.efficiency-settings-grid{grid-template-columns:minmax(300px,.55fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.efficiency-wide-panel{grid-column:1/-1}.labor-settings-table{gap:10px;display:grid}.labor-settings-row,.external-tech-row{background:#fbfdfb;border:1px solid #edf2ed;border-radius:8px;align-items:end;gap:10px;padding:12px;display:grid}.labor-settings-row{grid-template-columns:minmax(150px,1fr) minmax(130px,.7fr) minmax(84px,.45fr) minmax(96px,.5fr) minmax(110px,.6fr) minmax(130px,.55fr) minmax(260px,1.2fr) auto}.external-tech-row{grid-template-columns:minmax(150px,1fr) minmax(130px,.7fr) minmax(84px,.45fr) minmax(84px,.45fr) minmax(96px,.5fr) minmax(130px,.55fr) auto auto}.labor-settings-row label,.external-tech-row label,.external-tech-create-form label,.time-off-form label{color:#33443a;gap:6px;font-size:.78rem;font-weight:800;display:grid}.labor-settings-row input,.labor-settings-row select,.external-tech-row input,.external-tech-row select,.external-tech-create-form input,.external-tech-create-form select,.time-off-form input,.time-off-form select{border:1px solid var(--line);width:100%;min-height:40px;color:var(--text);background:#fff;border-radius:8px;outline:0;padding:0 10px}.labor-settings-tech{align-self:center;gap:3px;display:grid}.labor-settings-tech strong{color:var(--text)}.labor-settings-tech span,.simple-list-row span,.simple-list-row small{color:var(--muted);font-size:.82rem}.labor-schedule-override{border-left:1px solid #e4eee5;padding-left:10px}.compact-weekdays{grid-template-columns:repeat(7,minmax(30px,1fr))}.compact-weekdays label{min-height:32px;font-size:.72rem}.external-tech-create-form,.time-off-form{background:#f8fbf8;border:1px solid #edf2ed;border-radius:8px;grid-template-columns:minmax(150px,1fr) minmax(120px,.75fr) minmax(86px,.45fr) minmax(86px,.45fr) minmax(96px,.5fr) minmax(130px,.55fr) auto;align-items:end;gap:10px;margin-bottom:12px;padding:12px;display:grid}.time-off-form{grid-template-columns:minmax(170px,1fr) minmax(140px,.75fr) minmax(130px,.65fr) minmax(110px,.5fr) minmax(180px,1fr) auto}.simple-list{gap:8px;margin-top:12px;display:grid}.simple-list-row{background:#fbfdfb;border:1px solid #edf2ed;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;display:grid}.simple-list-row div{gap:3px;display:grid}.compact-worker-list{margin-top:12px}.labor-page-grid{grid-template-columns:minmax(280px,.4fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.timeclock-self-panel{position:sticky;top:18px}.timeclock-status-card{background:#fbfdfb;border:1px solid #edf2ed;border-radius:8px;gap:8px;margin-bottom:14px;padding:14px;display:grid}.timeclock-status-card strong{color:var(--text);font-size:1.8rem;line-height:1}.timeclock-status-card small{color:var(--muted)}.status-pill{color:#5f6d64;background:#eef3ef;border-radius:8px;width:max-content;padding:6px 10px;font-weight:900;display:inline-flex}.status-pill.status-active{color:var(--green);background:#dcf5e0}.timeclock-button{min-height:72px;font-size:1.2rem}.labor-entry-list{gap:10px;display:grid}.time-entry-edit-row,.manual-labor-edit-row{background:#fbfdfb;border:1px solid #edf2ed;border-radius:8px;gap:8px;padding:12px;display:grid}.time-entry-edit-row form:first-child,.manual-labor-edit-row form:first-child{grid-template-columns:minmax(140px,.8fr) minmax(160px,1fr) minmax(160px,1fr) minmax(82px,.4fr) minmax(180px,1fr) auto;align-items:end;gap:10px;display:grid}.manual-labor-edit-row form:first-child{grid-template-columns:minmax(140px,.8fr) minmax(160px,1fr) minmax(128px,.65fr) minmax(82px,.45fr) minmax(240px,1.4fr) auto}.time-entry-edit-row label,.manual-labor-edit-row label{color:#33443a;gap:6px;font-size:.78rem;font-weight:800;display:grid}.time-entry-edit-row input,.manual-labor-edit-row input,.manual-labor-edit-row select{border:1px solid var(--line);width:100%;min-height:40px;color:var(--text);background:#fff;border-radius:8px;outline:0;padding:0 10px}.time-entry-edit-row form:last-child,.manual-labor-edit-row form:last-child{justify-self:end}.danger-button{color:#9d2020;border-color:#f1c7c7}.period-selector{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.segmented-control{border:1px solid var(--line);background:#fff;border-radius:8px;display:inline-flex;overflow:hidden}.segmented-control button{border:0;border-right:1px solid var(--line);color:#33443a;cursor:pointer;background:#fff;min-height:42px;padding:0 14px;font-weight:900}.segmented-control button:last-child{border-right:0}.segmented-control button.active{color:var(--green);background:#dff3df}.period-custom-form{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.period-custom-form label{color:#33443a;gap:5px;font-size:.78rem;font-weight:900;display:grid}.period-custom-form input{border:1px solid var(--line);border-radius:8px;min-height:42px;padding:0 10px}.efficiency-dashboard-grid,.efficiency-chart{gap:14px;display:grid}.efficiency-chart-row{grid-template-columns:minmax(170px,.25fr) minmax(0,1fr) minmax(190px,.25fr);align-items:center;gap:12px;display:grid}.efficiency-chart-label{color:var(--text);justify-content:space-between;gap:10px;display:flex}.efficiency-chart-label span,.efficiency-chart-row small{color:var(--muted);font-weight:800}.efficiency-chart-track{background:#eef3ef;border-radius:999px;height:20px;overflow:hidden}.efficiency-chart-bar{border-radius:inherit;height:100%;display:block}.efficiency-chart-bar.good,.efficiency-score.good{color:var(--green);background:#dcf5e0}.efficiency-chart-bar.good{background:#43a85a}.efficiency-chart-bar.warn,.efficiency-score.warn{color:#8b5c0a;background:#fff1d4}.efficiency-chart-bar.warn{background:#f0a22e}.efficiency-chart-bar.bad,.efficiency-score.bad{color:#a12b21;background:#ffe2df}.efficiency-chart-bar.bad{background:#d94d3f}.efficiency-table{display:grid}.efficiency-table-row{color:var(--text);border-bottom:1px solid #edf2ed;grid-template-columns:minmax(190px,1.4fr) minmax(90px,.6fr) minmax(90px,.5fr) minmax(90px,.5fr) minmax(90px,.5fr) minmax(100px,.55fr) minmax(110px,.55fr);align-items:center;gap:12px;padding:13px 0;text-decoration:none;display:grid}.efficiency-table-row:not(.table-head):hover,.efficiency-table-row.active{background:#f6fbf6}.efficiency-table-row.table-head{color:var(--muted);text-transform:uppercase;font-size:.82rem;font-weight:900}.efficiency-table-row span{min-width:0}.efficiency-table-row strong,.efficiency-table-row small{display:block}.efficiency-table-row small{color:var(--muted);margin-top:3px}.efficiency-score{border-radius:8px;justify-content:center;width:max-content;padding:7px 10px;font-weight:900;display:inline-flex}.tech-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.tech-detail-grid section{background:#fbfdfb;border:1px solid #edf2ed;border-radius:8px;padding:12px}.tech-detail-grid h3{margin-bottom:8px}.tech-detail-grid p{color:var(--muted)}.leaderboard-page{color:#fff;background:radial-gradient(circle at 0 0,#43a85a38,#0000 32rem),#08130d;min-height:100vh;padding:clamp(22px,4vw,58px)}.leaderboard-header{justify-content:space-between;align-items:start;gap:28px;margin-bottom:32px;display:flex}.leaderboard-kicker,.leaderboard-date span{color:#a5e7b1;text-transform:uppercase;align-items:center;gap:10px;font-weight:900;display:inline-flex}.leaderboard-header h1{color:#fff;letter-spacing:0;margin:14px 0;font-size:clamp(3rem,7vw,7.5rem);line-height:.95}.leaderboard-header p,.leaderboard-date span{color:#b8c7bc;font-size:clamp(1.1rem,1.7vw,1.8rem)}.leaderboard-date{text-align:right;justify-items:end;gap:10px;display:grid}.leaderboard-date strong{font-size:clamp(1.3rem,2vw,2.2rem)}.leaderboard-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:28px;display:grid}.leaderboard-summary div{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:8px;padding:22px}.leaderboard-summary span{color:#b8c7bc;text-transform:uppercase;margin-bottom:8px;font-size:clamp(1rem,1.4vw,1.35rem);font-weight:800;display:block}.leaderboard-summary strong{font-size:clamp(2.4rem,4vw,4.8rem);line-height:1}.leaderboard-chart{gap:18px;display:grid}.leaderboard-row{background:#ffffff12;border:1px solid #ffffff1f;border-radius:8px;grid-template-columns:74px minmax(220px,.34fr) minmax(0,1fr) minmax(130px,.14fr);align-items:center;gap:20px;padding:18px 22px;display:grid}.leaderboard-rank{color:#a5e7b1;background:#ffffff1a;border-radius:8px;place-items:center;min-height:64px;font-size:clamp(1.5rem,2.4vw,2.6rem);font-weight:900;display:grid}.leaderboard-tech{gap:6px;display:grid}.leaderboard-tech strong{font-size:clamp(1.4rem,2.4vw,2.7rem);line-height:1.05}.leaderboard-tech span{color:#b8c7bc;font-size:clamp(.95rem,1.3vw,1.3rem);font-weight:800}.leaderboard-track{background:#ffffff1f;border-radius:999px;height:clamp(32px,4vw,52px);overflow:hidden}.leaderboard-bar{border-radius:inherit;height:100%;display:block}.leaderboard-bar.good,.leaderboard-score.good{background:#48c060}.leaderboard-bar.warn,.leaderboard-score.warn{background:#f0a22e}.leaderboard-bar.bad,.leaderboard-score.bad{background:#e05245}.leaderboard-score{color:#07110b;border-radius:8px;place-items:center;min-height:58px;padding:8px 14px;font-size:clamp(1.4rem,2.5vw,2.8rem);line-height:1;display:grid}.leaderboard-empty,.leaderboard-unauthorized{color:#b8c7bc;text-align:center;place-items:center;min-height:70vh;font-size:clamp(1.6rem,3vw,3.5rem);display:grid}.leaderboard-unauthorized{gap:12px}.leaderboard-unauthorized h1{color:#fff}.jobs-list-panel,.new-job-panel{min-height:520px}.workers-panel,.pending-invites-panel{min-height:320px}.pending-invites-panel{grid-column:1/-1}.table-count{color:var(--muted);font-size:.88rem;font-weight:800}.panel{min-width:0;padding:18px}.large-panel,.schedule-panel{grid-column:1/-1}.dashboard-bottom-panel{min-height:320px}.panel-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.panel-header h2{margin:0;font-size:1rem}.job-table{gap:2px;display:grid}.table-row{border-bottom:1px solid #edf2ed;grid-template-columns:1.1fr 1.6fr .9fr .9fr .7fr;align-items:center;gap:10px;min-height:52px;font-size:.92rem;display:grid}.dashboard-job-row{grid-template-columns:76px minmax(140px,.85fr) minmax(190px,1.15fr) minmax(220px,1.25fr) minmax(120px,.7fr) auto minmax(96px,.5fr);min-height:76px}.dashboard-job-thumb{color:#235936;background:#dcefdc;border-radius:8px;place-items:center;width:64px;height:48px;display:grid;overflow:hidden}.thumbnail-button{cursor:pointer;border:0;padding:0}.thumbnail-button:hover,.inline-cell-button:hover,.inline-picker-form select:hover{background-color:#f6fcf7;border-color:#b9dfc1}.dashboard-job-thumb-image{background-position:50%;background-size:cover;width:100%;height:100%;display:block}.dashboard-job-title strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.25;display:-webkit-box;overflow:hidden}a.table-row:hover{background:#f7fbf7}.table-row small{color:var(--muted);margin-top:3px;display:block}.table-head{min-height:32px;color:var(--muted);font-size:.78rem;font-weight:800}.status,.priority{border-radius:6px;justify-self:start;padding:5px 9px;font-size:.78rem;font-weight:800}.job-status-cell{justify-items:start;gap:7px;display:grid}.job-status-cell .secondary-button{min-height:34px;padding:0 10px}.status.green{color:#17632d;background:#dff2e3}.status.amber,.priority{color:#8c4d0b;background:#ffedcf}.status.gray{color:#52605a;background:#edf0ee}.priority.green{color:#17632d;background:#dff2e3}.priority.gray{color:#52605a;background:#edf0ee}.stack{gap:10px;display:grid}.empty-state{min-height:240px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:8px;display:grid}.empty-state strong{color:var(--text)}.jobs-card-list{gap:12px;display:grid}.job-card{background:#fff;border:1px solid #edf2ed;border-radius:8px;padding:14px}.job-card-main{border-bottom:1px solid #edf2ed;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding-bottom:12px;display:grid}.job-card-customer,.job-card-vehicle,.job-card-main small{display:block}.job-card-customer{font-size:1rem;font-weight:800}.job-card-vehicle{color:#26372d;margin-top:4px;font-weight:800;display:block}.job-card-main small,.job-card-details small{color:var(--muted);margin-top:3px}.job-card-details{grid-template-columns:minmax(0,1.45fr) minmax(120px,.7fr) minmax(120px,.7fr);gap:14px;padding:12px 0;display:grid}.job-card-details span,.job-card-actions section>span{color:var(--muted);text-transform:uppercase;margin-bottom:5px;font-size:.76rem;font-weight:800;display:block}.job-card-details p{overflow-wrap:anywhere;margin:0}.job-card-actions{border-top:1px solid #edf2ed;grid-template-columns:1fr;align-items:start;gap:12px;padding-top:12px;display:grid}.job-card-actions section{min-width:0}.jobs-queue-table{gap:0}.jobs-queue-item{border-bottom:1px solid #edf2ed;display:grid}.jobs-queue-row{border-bottom:0}.inline-picker-form{grid-template-columns:1fr;align-items:center;gap:6px;display:grid}.inline-picker-form select,.inline-cell-button{width:100%;min-width:0;min-height:38px;color:var(--text);background:0 0;border:1px solid #0000;border-radius:8px;padding:6px 9px}.inline-picker-form select{cursor:pointer;appearance:auto}.inline-cell-button{text-align:left;cursor:pointer;justify-items:start;display:grid}.inline-cell-button small{margin-top:2px}.jobs-queue-actions{grid-template-columns:auto minmax(260px,1.2fr) minmax(180px,.55fr) minmax(280px,1fr);align-items:start;gap:12px;padding:0 0 14px 76px;display:grid}.jobs-queue-actions section>span{color:var(--muted);text-transform:uppercase;margin-bottom:5px;font-size:.76rem;font-weight:800;display:block}.quick-actions-grid{gap:8px;display:grid}.quick-action-form{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.quick-action-form input,.quick-action-form select{border:1px solid var(--line);min-width:0;min-height:38px;color:var(--text);background:#fff;border-radius:8px;padding:0 10px}.quick-parts-form{grid-template-columns:minmax(0,1fr) auto}.job-detail-link{justify-self:start}.job-detail-layout{grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:start;gap:14px;display:grid}.job-detail-title-meta{color:var(--muted);grid-column:1/-1;align-items:center;gap:10px;margin-top:-10px;font-size:.88rem;font-weight:800;display:flex}.job-detail-title-meta span{border:1px solid var(--line);color:#33443a;background:#ffffffb8;border-radius:8px;padding:4px 8px}.job-summary-panel{position:sticky;top:24px}.job-summary-photo{background:#fbfdfb;border:1px solid #edf2ed;border-radius:8px;gap:8px;margin-bottom:16px;padding:8px;display:grid}.job-summary-photo span{background-color:#dcefdc;background-position:50%;background-size:cover;border-radius:6px;min-height:180px;display:block}.job-summary-photo small{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:900}.back-link{color:var(--green-strong);align-items:center;gap:6px;margin-bottom:18px;font-size:.88rem;font-weight:800;display:inline-flex}.job-summary-heading{border-bottom:1px solid #edf2ed;margin-bottom:16px;padding-bottom:16px}.job-summary-heading h2{margin:12px 0 6px;font-size:1.15rem}.job-summary-heading p{color:var(--muted);margin-bottom:0}.detail-list{gap:12px;margin:0;display:grid}.detail-list div{gap:3px;display:grid}.detail-list dt,.detail-note-block span{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:800}.detail-list dd{color:var(--text);overflow-wrap:anywhere;margin:0;font-weight:800}.detail-list small{color:var(--muted);margin-top:3px;font-weight:500;display:block}.detail-actions{gap:8px;margin-top:18px;display:grid}.print-work-order{display:none}.job-detail-main{gap:14px;display:grid}.job-detail-two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.edit-job-panel summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;list-style:none;display:grid}.edit-job-panel summary::-webkit-details-marker{display:none}.edit-job-panel summary span{color:var(--text);align-items:center;gap:8px;font-size:1rem;font-weight:800;display:inline-flex}.edit-job-panel summary small{color:var(--muted);font-weight:700}.edit-job-summary-actions{justify-content:flex-end;align-items:center;gap:10px;display:inline-flex}.edit-job-form{border-top:1px solid #edf2ed;gap:16px;margin-top:16px;padding-top:16px;display:grid}.edit-job-form section{gap:10px;display:grid}.edit-job-form h3{color:var(--green-strong);text-transform:uppercase;margin:0;font-size:.82rem}.edit-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.edit-job-form label{color:#33443a;gap:6px;font-size:.86rem;font-weight:800;display:grid}.edit-job-form input,.edit-job-form select,.edit-job-form textarea{border:1px solid var(--line);width:100%;color:var(--text);background:#fff;border-radius:8px;padding:0 10px}.edit-job-form input,.edit-job-form select{min-height:40px}.edit-job-form textarea{resize:vertical;min-height:92px;padding-top:10px}.danger-zone{background:#fff7f5;border:1px solid #f0c6bd;border-radius:8px;gap:12px;margin-top:18px;padding:14px;display:grid}.danger-zone h3{color:#8a2f1f;text-transform:uppercase;margin:0 0 4px;font-size:.88rem}.danger-zone p{color:#704139;margin:0}.cancel-job-form{grid-template-columns:minmax(220px,1fr) auto;gap:10px;display:grid}.cancel-job-form input{min-width:0;min-height:42px;color:var(--text);background:#fff;border:1px solid #f0c6bd;border-radius:8px;padding:0 10px}.danger-button{color:#fff;cursor:pointer;background:#b13b2c;border:0;border-radius:8px;min-height:42px;padding:0 16px;font-weight:900}.status-progress{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;display:grid}.status-step{min-height:82px;color:var(--muted);text-align:center;border:1px solid #edf2ed;border-radius:8px;place-items:center;gap:6px;padding:10px;display:grid}.status-step span{border:1px solid var(--line);background:#fff;border-radius:999px;place-items:center;width:28px;height:28px;font-size:.78rem;font-weight:800;display:grid}.status-step.complete{color:#173d24;background:#f3faf4}.status-step.complete span{border-color:var(--green);color:#fff;background:var(--green)}.status-step strong{font-size:.82rem}.status-update-panel{border-top:1px solid #edf2ed;margin-top:16px;padding-top:14px}.status-update-panel>span{color:var(--muted);text-transform:uppercase;margin-bottom:8px;font-size:.76rem;font-weight:800;display:block}.status-action-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;display:grid}.status-action-card{background:#f8fbf8;border:1px solid #edf2ed;border-radius:8px;gap:8px;min-width:0;padding:10px;display:grid}.status-action-card strong{color:#193922}.status-action-card input{border:1px solid var(--line);min-width:0;min-height:38px;color:var(--text);background:#fff;border-radius:8px;padding:0 10px}.detail-checklist{grid-template-columns:1fr}.detail-note-block{border:1px solid #edf2ed;border-radius:8px;padding:12px}.detail-note-block+.detail-note-block{margin-top:10px}.detail-note-block p{color:#26372d;margin:6px 0 0;line-height:1.45}.job-notes-panel{gap:12px;margin-top:10px;display:grid}.job-note-form{background:#f8fbf8;border:1px solid #edf2ed;border-radius:8px;gap:10px;padding:12px;display:grid}.job-note-form label{color:#33443a;gap:6px;font-size:.86rem;font-weight:800;display:grid}.job-note-form select,.job-note-form textarea{border:1px solid var(--line);width:100%;color:var(--text);background:#fff;border-radius:8px;padding:10px}.job-note-form select{min-height:40px}.job-note-form textarea{resize:vertical;min-height:104px}.note-history{gap:8px;display:grid}.note-history>span{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:800}.note-card{background:#fff;border:1px solid #edf2ed;border-radius:8px;padding:10px}.note-card strong,.note-card small{display:block}.note-card small{color:var(--muted);margin-top:2px}.note-card p{color:#26372d;white-space:pre-wrap;margin:8px 0 0;line-height:1.45}.parts-request-panel{gap:12px;display:grid}.parts-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px;display:grid}.parts-summary-card{min-height:112px}.parts-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.parts-filter-tabs{width:fit-content}.parts-request-board{gap:12px;display:grid}.parts-queue-card{gap:14px;display:grid}.parts-queue-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.parts-queue-heading h2{overflow-wrap:anywhere;margin:8px 0 0;font-size:1.05rem}.parts-queue-details{border-top:1px solid #edf2ed;border-bottom:1px solid #edf2ed;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0;padding:12px 0;display:grid}.parts-queue-details dt{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.parts-queue-details dd{overflow-wrap:anywhere;margin:4px 0 0}.parts-resolution-note{color:#26372d;background:#f8fbf8;border:1px solid #edf2ed;border-radius:8px;margin:0;padding:10px}.parts-queue-actions{gap:8px;display:grid}.parts-inline-status-form{background:#f8fbf8;border:1px solid #edf2ed;border-radius:8px;grid-template-columns:minmax(180px,1fr) auto;align-items:end;gap:8px;padding:10px;display:grid}.parts-inline-status-form label{color:#33443a;grid-column:1/-1;gap:5px;font-size:.78rem;font-weight:800;display:grid}.parts-inline-status-form label svg{display:none}.parts-inline-status-form input{border:1px solid var(--line);min-width:0;min-height:40px;color:var(--text);background:#fff;border-radius:8px;padding:0 10px}.diagnostic-report-panel{gap:14px;display:grid}.approval-alert{color:#7a470d;background:#fff5e6;border:1px solid #f4d29d;border-radius:8px;gap:3px;padding:12px;display:grid}.approval-alert span{color:#7a470d}.diagnostic-report-form{background:#f8fbf8;border:1px solid #edf2ed;border-radius:8px;gap:10px;padding:12px;display:grid}.diagnostic-report-form label{color:#33443a;gap:6px;font-size:.86rem;font-weight:800;display:grid}.diagnostic-report-form textarea{border:1px solid var(--line);width:100%;color:var(--text);resize:vertical;background:#fff;border-radius:8px;min-height:88px;padding:10px}.diagnostic-report-form .diagnostic-writeup{min-height:190px}.diagnostic-report-form .checkbox-line{align-items:center;gap:8px;display:flex}.diagnostic-report-form .checkbox-line input{width:18px;height:18px;accent-color:var(--green)}.diagnostic-form-grid,.diagnostic-report-grid,.diagnostic-submit-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.customer-approval-form{background:#f8fbf8;border:1px solid #edf2ed;border-radius:8px;gap:12px;padding:12px;display:grid}.customer-approval-form label{color:#33443a;gap:6px;font-size:.86rem;font-weight:800;display:grid}.customer-approval-form textarea{border:1px solid var(--line);width:100%;color:var(--text);resize:vertical;background:#fff;border-radius:8px;min-height:150px;padding:10px}.customer-approval-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.diagnostic-report-list{gap:10px;display:grid}.diagnostic-report-list>span,.diagnostic-report-card span{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:800}.diagnostic-report-card{background:#fff;border:1px solid #edf2ed;border-radius:8px;gap:10px;padding:12px;display:grid}.diagnostic-report-heading{gap:2px;display:grid}.diagnostic-report-heading small{color:var(--muted)}.diagnostic-report-card p{color:#26372d;white-space:pre-wrap;margin:4px 0 0;line-height:1.45}.diagnostic-edit-panel{border-top:1px solid #edf2ed;padding-top:10px}.diagnostic-edit-panel summary{cursor:pointer;color:#173d24;align-items:center;gap:6px;font-weight:900;display:inline-flex}.diagnostic-edit-panel .diagnostic-report-form{margin-top:10px}.previous-repairs-list{gap:10px;display:grid}.previous-repair-card{background:#f8fbf8;border:1px solid #edf2ed;border-radius:8px;gap:12px;padding:14px;display:grid}.previous-repair-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.previous-repair-heading a{color:#173d24;font-weight:900}.previous-repair-heading small{color:var(--muted);margin-top:3px;display:block}.previous-repair-card dl{gap:10px;margin:0;display:grid}.previous-repair-card dt{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:900}.previous-repair-card dd{color:#23352a;white-space:pre-wrap;margin:3px 0 0}.repair-completion-panel{gap:14px;display:grid}.repair-completion-form{background:#f8fbf8;border:1px solid #edf2ed;border-radius:8px;gap:12px;padding:12px;display:grid}.repair-completion-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.repair-completion-form label{color:#33443a;gap:6px;font-size:.86rem;font-weight:800;display:grid}.repair-completion-form textarea{border:1px solid var(--line);width:100%;color:var(--text);resize:vertical;background:#fff;border-radius:8px;min-height:92px;padding:10px}.repair-completion-list{gap:10px;display:grid}.repair-completion-list>span{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:800}.repair-completion-card{background:#fff;border:1px solid #edf2ed;border-radius:8px;gap:12px;padding:12px;display:grid}.repair-completion-heading{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.repair-completion-heading small{color:var(--muted)}.repair-completion-card span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800;display:block}.repair-completion-card p{color:#26372d;white-space:pre-wrap;margin:4px 0 0;line-height:1.45}.closeout-panel{gap:14px;display:grid}.closeout-review-grid{grid-template-columns:1fr;gap:10px;display:grid}.closeout-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.closeout-review-grid section{background:#f8fbf8;border:1px solid #edf2ed;border-radius:8px;padding:12px}.closeout-review-grid span,.closeout-history>span,.closeout-card span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800;display:block}.closeout-review-grid p,.closeout-card p{color:#26372d;white-space:pre-wrap;margin:5px 0 0;line-height:1.45}.closeout-review-grid ul{color:#26372d;margin:6px 0 0;padding-left:18px}.closeout-form{background:#f8fbf8;border:1px solid #edf2ed;border-radius:8px;gap:12px;padding:12px;display:grid}.closeout-form label{color:#33443a;gap:6px;font-size:.86rem;font-weight:800;display:grid}.closeout-form textarea{border:1px solid var(--line);width:100%;color:var(--text);resize:vertical;background:#fff;border-radius:8px;min-height:92px;padding:10px}.closeout-labor-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.closeout-labor-fields input{border:1px solid var(--line);min-height:42px;color:var(--text);background:#fff;border-radius:8px;padding:0 10px}.closeout-labor-fields p{color:var(--muted);grid-column:1/-1;margin:0;font-size:.88rem}.closeout-history{gap:10px;display:grid}.closeout-card{background:#fff;border:1px solid #edf2ed;border-radius:8px;gap:12px;padding:12px;display:grid}.closeout-heading{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.closeout-heading small{color:var(--muted)}.parts-used-panel{gap:12px;display:grid}.parts-used-form{background:#f8fbf8;border:1px solid #edf2ed;border-radius:8px;gap:10px;padding:12px;display:grid}.parts-used-form-grid{grid-template-columns:minmax(0,.7fr) minmax(0,1fr);gap:10px;display:grid}.parts-used-form label{color:#33443a;gap:6px;font-size:.86rem;font-weight:800;display:grid}.parts-used-form input,.parts-used-form select,.parts-used-form textarea{border:1px solid var(--line);width:100%;color:var(--text);background:#fff;border-radius:8px;padding:0 10px}.parts-used-form input,.parts-used-form select{min-height:40px}.parts-used-form textarea{resize:vertical;min-height:76px;padding-top:10px}.parts-used-list{gap:10px;display:grid}.parts-used-card{background:#fff;border:1px solid #edf2ed;border-radius:8px;gap:8px;padding:12px;display:grid}.parts-used-card strong,.parts-used-card small{display:block}.parts-used-card small{color:var(--muted);margin-top:3px}.parts-used-card p{color:#26372d;white-space:pre-wrap;border-top:1px solid #edf2ed;margin:0;padding-top:8px}.parts-request-form{background:#f8fbf8;border:1px solid #edf2ed;border-radius:8px;gap:10px;padding:12px;display:grid}.parts-request-form label{color:#33443a;gap:6px;font-size:.86rem;font-weight:800;display:grid}.parts-request-form input,.parts-request-form textarea,.part-status-actions input{border:1px solid var(--line);width:100%;color:var(--text);background:#fff;border-radius:8px;padding:10px}.parts-request-form input{min-height:40px}.parts-request-form textarea{resize:vertical;min-height:86px}.parts-request-list{gap:10px;display:grid}.parts-request-card{background:#fff;border:1px solid #edf2ed;border-radius:8px;padding:12px}.parts-request-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;margin-bottom:10px;display:grid}.parts-request-heading strong{overflow-wrap:anywhere}.parts-request-card dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.parts-request-card dt{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.parts-request-card dd{margin:3px 0 0}.parts-request-card p{color:#26372d;border-top:1px solid #edf2ed;margin:10px 0 0;padding-top:10px}.part-status-actions{border-top:1px solid #edf2ed;gap:8px;margin-top:10px;padding-top:10px;display:grid}.part-status-actions form{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.part-arrival-field{color:#33443a;grid-column:1/-1;gap:5px;font-size:.78rem;font-weight:800;display:grid}.empty-state.compact{min-height:130px}.worker-list{gap:10px;display:grid}.worker-card{border:1px solid #edf2ed;border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:12px;display:grid}.worker-card span,.worker-card small{color:var(--muted);margin-top:3px;display:block}.invite-link-box{gap:8px;display:grid}.invite-link-box code{overflow-wrap:anywhere;color:#12351e;background:#ffffffb8;border-radius:6px;padding:8px;display:block}.request-card{border:1px solid #edf2ed;border-radius:8px;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:12px;display:grid}.request-card span,.request-card small{color:var(--muted);margin-top:3px;display:block}.approval-card{border:1px solid #edf2ed;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px;display:grid}.approval-card:hover{border-color:#c9dccb;box-shadow:0 10px 22px #1020160f}.approval-card span,.approval-card small{color:var(--muted);margin-top:3px;display:block}.schedule-grid{gap:10px;display:grid}.five-day-schedule{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.schedule-day-card{background:#fbfdfb;border:1px solid #edf2ed;border-radius:8px;align-content:start;gap:10px;min-width:0;padding:12px;display:grid}.schedule-day-card h3{color:#173d24;margin:0;font-size:.92rem}.schedule-day-card p{color:var(--muted);margin:0;font-size:.88rem}.schedule-day-jobs{gap:8px;display:grid}.schedule-row{grid-template-columns:42px 100px 1fr;align-items:center;gap:12px;display:grid}.calendar-controls{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;margin-bottom:14px;display:grid}.calendar-control-group,.calendar-range{align-items:center;gap:8px;display:flex}.calendar-range{border:1px solid var(--line);color:#193922;background:#ffffffe0;border-radius:8px;min-height:42px;padding:0 12px}.segmented-links{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:repeat(3,1fr);display:inline-grid;overflow:hidden}.segmented-links a{color:#33443a;justify-content:center;align-items:center;min-height:40px;padding:0 16px;font-weight:800;display:inline-flex}.segmented-links a.active{color:#173d24;background:#dcefdc}.calendar-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px;display:grid}.calendar-summary-grid .metric-card{min-height:112px}.calendar-summary-grid .metric-card strong{font-size:1.55rem}.calendar-layout{grid-template-columns:minmax(0,1fr) minmax(300px,380px);align-items:start;gap:14px;display:grid}.calendar-main-panel,.calendar-side-panel{min-height:520px}.calendar-side-panel{position:sticky;top:24px}.calendar-day-list,.calendar-job-list{gap:12px;display:grid}.calendar-job-list.compact{gap:10px}.calendar-day-section{background:#fff;border:1px solid #edf2ed;border-radius:8px;padding:14px}.calendar-day-header{border-bottom:1px solid #edf2ed;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;padding-bottom:12px;display:flex}.calendar-day-header strong,.calendar-day-header span,.calendar-tech-heading strong,.calendar-tech-heading span{display:block}.calendar-day-header strong{font-size:1.05rem}.calendar-day-header span,.calendar-tech-heading span{color:var(--muted);font-size:.82rem;font-weight:800}.calendar-tech-group{background:#f8fbf8;border:1px solid #edf2ed;border-radius:8px;gap:10px;padding:10px;display:grid}.calendar-tech-group+.calendar-tech-group{margin-top:10px}.calendar-tech-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.calendar-tech-heading>div{align-items:center;gap:10px;min-width:0;display:flex}.calendar-job-card{background:#fff;border:1px solid #edf2ed;border-radius:8px;gap:10px;padding:12px;display:grid}.calendar-job-card:hover{border-color:#c9dccb;box-shadow:0 12px 28px #10201612}.calendar-job-top{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.calendar-job-top strong,.calendar-job-top span{display:block}.calendar-job-top strong{overflow-wrap:anywhere}.calendar-job-top div>span{color:var(--muted);margin-top:3px}.calendar-job-meta{color:var(--muted);border-top:1px solid #edf2ed;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;padding-top:10px;font-size:.82rem;display:grid}.calendar-job-meta span{overflow-wrap:anywhere;min-width:0}.calendar-empty{color:var(--muted);text-align:center;background:#fbfdfb;border:1px dashed #cfddcf;border-radius:8px;padding:14px}.workload-shell{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffffff0;border-radius:8px;overflow:hidden}.workload-header{border-bottom:1px solid #edf2ed;justify-content:space-between;align-items:center;gap:14px;min-height:58px;padding:0 18px;display:flex}.workload-header>div:first-child{align-items:center;gap:18px;display:flex}.workload-header strong{font-size:1.02rem}.workload-header span{color:#33443a;font-size:.88rem;font-weight:800}.workload-header-actions,.workload-toolbar,.workload-date-controls,.calendar-sync-pill,.workload-date-chip,.workload-filter{align-items:center;display:flex}.workload-header-actions{gap:10px}.calendar-sync-pill{border:1px solid var(--line);color:#33443a;background:#fff;border-radius:8px;gap:8px;min-height:36px;padding:0 12px;font-size:.82rem;font-weight:800}.calendar-sync-pill>span{color:#4285f4;font-weight:900}.calendar-sync-pill small{border-left:1px solid var(--line);color:var(--green-strong);padding-left:8px}.compact-action{min-height:36px;padding:0 14px}.workload-toolbar{gap:10px;padding:12px 18px}.workload-date-controls{gap:4px}.small-icon-button{width:36px;height:36px}.workload-date-chip,.workload-filter{border:1px solid var(--line);color:#33443a;background:#fff;border-radius:8px;gap:8px;min-height:36px;padding:0 12px;font-size:.84rem;font-weight:800}.workload-filter{margin-left:auto}.workload-board-wrap{border-top:1px solid #edf2ed;overflow-x:auto}.workload-day{min-width:900px}.workload-day+.workload-day{border-top:1px solid #edf2ed}.workload-day-title{border-bottom:1px solid #edf2ed;justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;display:flex}.workload-day-title span{color:var(--muted);font-size:.84rem;font-weight:800}.workload-grid{grid-template-columns:118px minmax(780px,1fr);display:grid}.workload-tech-head,.workload-time-head{min-height:36px;color:var(--muted);border-bottom:1px solid #edf2ed;font-size:.76rem;font-weight:800}.workload-tech-head{align-items:center;padding-left:18px;display:flex}.workload-time-head{grid-template-columns:repeat(11,1fr);align-items:center;display:grid}.workload-time-head span{border-left:1px solid #edf2ed;padding-left:8px}.workload-tech-cell{border-bottom:1px solid #edf2ed;align-items:center;gap:10px;min-height:76px;padding:10px 12px 10px 18px;display:flex}.workload-tech-cell strong,.workload-tech-cell span{display:block}.workload-tech-cell strong{font-size:.86rem}.workload-tech-cell div>span{color:var(--muted);margin-top:2px;font-size:.76rem}.workload-avatar{color:#173d24;background:#dcefdc;border-radius:999px;flex:none;place-items:center;width:38px;height:38px;font-size:.82rem;font-weight:900;display:grid}.workload-avatar.tone-1{color:#7a470d;background:#ffedcf}.workload-avatar.tone-2{color:#244a7f;background:#edf4ff}.workload-avatar.tone-3{color:#4c3677;background:#efe7ff}.workload-avatar.tone-4{color:#52605a;background:#edf0ee}.workload-row{background:repeating-linear-gradient(90deg,#0000 0 calc(10% - 1px),#edf2ed calc(10% - 1px) 10%),#fff;border-bottom:1px solid #edf2ed;min-height:76px;position:relative}.current-time-line{z-index:2;background:#ff4d4d;width:2px;position:absolute;top:-36px;bottom:0;left:30%}.current-time-line:before{content:"";background:#ff4d4d;border-radius:50%;width:8px;height:8px;position:absolute;top:-4px;left:50%;transform:translate(-50%)}.workload-job-block{z-index:3;color:#2c5fbb;background:#edf4ff;border:1px solid;border-radius:7px;gap:2px;min-height:52px;padding:7px 9px;display:grid;position:absolute;top:12px;overflow:hidden}.workload-job-block span,.workload-job-block strong,.workload-job-block small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.workload-job-block span{font-size:.66rem;font-weight:800}.workload-job-block strong{color:#173124;font-size:.74rem}.workload-job-block small{color:#43544a;font-size:.68rem}.workload-job-block.progress{color:#3c7fe8;background:#edf4ff}.workload-job-block.waiting{color:#e99b32;background:#fff5e6}.workload-job-block.diagnosis{color:#38a653;background:#ecf8ef}.workload-job-block.maintenance{color:#9c64d8;background:#f3ecff}.workload-job-block.hold{color:#9aa39d;background:#f3f5f4}.workload-empty-row{min-height:88px;color:var(--muted);grid-column:1/-1;place-items:center;display:grid}.workload-legend{border-top:1px solid #edf2ed;flex-wrap:wrap;gap:22px;padding:16px 22px;display:flex}.legend-item{color:#33443a;align-items:center;gap:8px;font-size:.78rem;font-weight:700;display:inline-flex}.legend-item i{background:#a4aaa6;border-radius:999px;width:10px;height:10px}.legend-item i.blue{background:#3c7fe8}.legend-item i.orange{background:#e99b32}.legend-item i.green{background:#38a653}.legend-item i.purple{background:#9c64d8}.legend-item i.gray{background:#9aa39d}.legend-item i.available{background:0 0;border:1px dashed #a4aaa6}.unscheduled-panel{margin-top:14px}.unscheduled-job-row{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;display:grid}.tech-badge{color:#235936;background:#dcefdc;border-radius:50%;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.time-block{background:color-mix(in srgb, currentColor 12%, white);border-left:4px solid;border-radius:8px;padding:10px 12px}.time-block small{color:var(--muted);margin-top:4px;display:block}.time-block.blue{color:var(--blue)}.time-block.amber{color:var(--amber)}.time-block.green{color:var(--green)}.time-block.purple{color:var(--purple)}.job-detail{justify-content:space-between;gap:16px;margin-bottom:16px;display:flex}.job-detail h2{margin-bottom:6px;font-size:1.15rem}.job-detail span{color:var(--muted);font-size:.88rem}.primary-action,.secondary-action{border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;font-weight:800;display:inline-flex}.primary-action{color:#fff;cursor:pointer;background:linear-gradient(#4fb867,#2f9849);border:0;padding:0 16px}.primary-action.secondary-green{background:linear-gradient(#2f9849,#237238)}.primary-action.amber-action{background:linear-gradient(#eba23e,#d8841f)}.primary-action.small{min-width:180px}.secondary-action{border:1px solid var(--line);color:#193922;background:#fff;padding:0 16px}.secondary-button{border:1px solid var(--line);color:#193922;cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 12px;font-weight:800;display:inline-flex}.secondary-button.compact{white-space:nowrap;min-height:36px;padding:0 10px}.checkin-trigger-button{color:#fff;white-space:nowrap;cursor:pointer;background:linear-gradient(#4fb867,#2f9849);border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:36px;padding:0 12px;font-weight:800;display:inline-flex}.checkin-trigger-button:hover{background:linear-gradient(#58c271,#2d8f45)}.secondary-button:disabled{cursor:not-allowed;opacity:.7}.checklist{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.checklist label{color:#33443a;align-items:center;gap:8px;display:flex}.checklist input{width:18px;height:18px;accent-color:var(--green)}.mobile-nav{display:none}.login-shell{background:linear-gradient(120deg,#0d1e14d1,#0d1e147a),radial-gradient(circle at 75% 30%,#38a6534d,#0000 24rem),#0b1610;grid-template-columns:minmax(320px,520px) minmax(320px,1fr);align-items:center;gap:28px;min-height:100vh;padding:32px;display:grid}.login-panel{padding:32px}.login-brand-logo{mix-blend-mode:multiply;width:min(260px,100%);height:auto;margin-bottom:24px;display:block}.login-panel h1{max-width:10ch;margin-bottom:16px}.login-copy{color:var(--muted);line-height:1.65}.login-actions,.auth-form{gap:12px;margin-top:30px;display:grid}.auth-form label{color:#33443a;gap:7px;font-weight:800;display:grid}.auth-form input{border:1px solid var(--line);background:#fff;border-radius:8px;outline:0;min-height:44px;padding:0 12px}.job-form{gap:12px;display:grid}.history-suggestions{background:#fbfdfb;border:1px solid #dce8dd;border-radius:8px;gap:10px;padding:10px;display:grid}.history-suggestions section{gap:8px;display:grid}.history-customer-button,.history-vehicle-button{border:1px solid var(--line);width:100%;color:var(--text);cursor:pointer;text-align:left;background:#fff;border-radius:8px}.history-customer-button{gap:2px;min-height:46px;padding:8px 10px;display:grid}.history-customer-button span,.history-vehicle-button small,.history-empty-line{color:var(--muted);font-size:.76rem}.history-vehicle-list{gap:6px;display:grid}.history-vehicle-button{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:40px;padding:7px 9px;display:grid}.history-vehicle-button span{overflow-wrap:anywhere}.history-customer-button:hover,.history-vehicle-button:hover{border-color:#9cca9f;box-shadow:0 8px 18px #1020160f}.selected-history-pill{color:#1d6b34;background:#effaf0;border:1px solid #cfe8d2;border-radius:999px;justify-self:start;align-items:center;gap:7px;padding:7px 10px;font-size:.78rem;font-weight:800;display:inline-flex}.job-form label{color:#33443a;gap:7px;font-size:.9rem;font-weight:800;display:grid}.job-form input,.job-form select,.job-form textarea{border:1px solid var(--line);width:100%;color:var(--text);background:#fff;border-radius:8px;outline:0;padding:0 12px}.job-form input,.job-form select{min-height:42px}.job-form textarea{resize:vertical;min-height:96px;padding-top:10px}.job-form input:focus,.job-form select:focus,.job-form textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #38a65329}.vin-row{grid-template-columns:1fr auto;gap:8px;display:grid}.inline-message{border-radius:8px;margin:0;padding:10px 12px;font-size:.88rem}.inline-message.info{color:#244a7f;background:#edf4ff;border:1px solid #c9d8f3}.inline-message.success{color:#17632d;background:#e8f7eb;border:1px solid #b9dfc1}.inline-message.error{color:#7a470d;background:#fff5e6;border:1px solid #f4d29d}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.checkin-form{grid-template-columns:minmax(130px,.45fr) minmax(180px,1fr) auto;align-items:center;gap:6px;max-width:620px;display:grid}.checkin-form input,.checkin-form select{border:1px solid var(--line);min-width:0;min-height:36px;color:var(--text);background:#fff;border-radius:8px;padding:0 9px}.checkin-state{color:var(--muted);font-size:.85rem;font-weight:800}.checkin-dialog{border:1px solid var(--line);width:min(1120px,100vw - 32px);max-height:calc(100vh - 32px);color:var(--text);background:#fff;border-radius:8px;padding:0;box-shadow:0 32px 90px #1020163d}.checkin-dialog::backdrop{background:#0e1e146b}.mini-dialog{border:1px solid var(--line);width:min(380px,100vw - 32px);color:var(--text);background:#fff;border-radius:8px;padding:0;box-shadow:0 26px 70px #10201638}.mini-dialog::backdrop{background:#0e1e143d}.mini-dialog-header{border-bottom:1px solid var(--line);background:#f8fbf8;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.mini-icon-button{border:1px solid var(--line);width:32px;height:32px;color:var(--text);cursor:pointer;background:#fff;border-radius:8px;place-items:center;display:grid}.mini-form{gap:12px;padding:16px;display:grid}.mini-form label{color:#33443a;text-transform:uppercase;gap:6px;font-size:.82rem;font-weight:900;display:grid}.mini-form input{border:1px solid var(--line);min-height:42px;color:var(--text);background:#fff;border-radius:8px;padding:0 10px}.media-dialog{width:min(900px,100vw - 32px)}.media-dialog-body{gap:12px;max-height:calc(100vh - 160px);padding:20px 24px 24px;display:grid;overflow:auto}.media-dialog-body .media-uploader{max-width:none}.checkin-dialog-header{border-bottom:1px solid var(--line);background:#f8fbf8;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 24px;display:flex}.checkin-dialog-header span,.checkin-dialog-section h4,.checkin-media-panel h4{color:var(--muted);letter-spacing:0;text-transform:uppercase;font-size:.82rem;font-weight:900}.checkin-dialog-header h3{margin:4px 0 2px;font-size:clamp(1.5rem,3vw,2.25rem);line-height:1}.checkin-dialog-header p,.checkin-media-panel p{color:var(--muted);margin:0}.checkin-dialog-body{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:18px;max-height:calc(100vh - 160px);padding:20px 24px 24px;display:grid;overflow:auto}.new-job-dialog{width:min(780px,100vw - 32px)}.new-job-dialog-body{max-height:calc(100vh - 160px);padding:20px 24px 24px;overflow:auto}.checkin-intake-form{gap:16px}.checkin-dialog-section,.checkin-media-panel{background:#fbfdfb;border:1px solid #edf2ed;border-radius:8px;gap:12px;padding:16px;display:grid}.checkin-dialog-section h4,.checkin-media-panel h4{margin:0}.checkin-media-panel{align-self:start;position:sticky;top:0}.checkin-media-panel .media-uploader{grid-template-columns:1fr;max-width:none}.checkin-media-panel .segmented-control{width:100%}.media-uploader{grid-template-columns:auto minmax(120px,.55fr) minmax(180px,.8fr) minmax(180px,1fr) auto;align-items:center;gap:6px;max-width:860px;display:grid}.media-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;max-width:860px;margin-bottom:10px;display:grid}.media-link{background:#f8fbf8;border:1px solid #edf2ed;border-radius:8px;grid-template-columns:82px 1fr;align-items:center;gap:8px;min-width:0;padding:8px;display:grid}.media-link-icon{color:#235936;background:#dcefdc;border-radius:8px;place-items:center;width:82px;height:62px;display:grid}.media-thumbnail,.media-video-preview{background:#dcefdc;border-radius:8px;width:82px;height:62px;display:block;overflow:hidden}.media-thumbnail{object-fit:cover}.media-video-preview{position:relative}.media-video-preview video{object-fit:cover;width:100%;height:100%;display:block}.media-video-preview svg{color:#fff;background:#1020169e;border-radius:999px;width:28px;height:28px;margin:auto;padding:5px;position:absolute;inset:0}.media-link strong,.media-link small{display:block}.media-link strong{color:#193922;font-size:.88rem}.media-link small{color:var(--muted);overflow-wrap:anywhere;margin-top:2px;font-size:.76rem}.media-empty{color:var(--muted);margin:0 0 10px;font-size:.88rem}.media-uploader input,.media-uploader select{border:1px solid var(--line);min-width:0;min-height:36px;color:var(--text);background:#fff;border-radius:8px;padding:0 9px}.media-uploader input[type=file]{padding-top:7px}.media-uploader .inline-message{grid-column:1/-1;margin:0}.segmented-control{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:repeat(2,1fr);display:inline-grid;overflow:hidden}.segmented-control button{color:#33443a;cursor:pointer;background:#fff;border:0;justify-content:center;align-items:center;gap:5px;min-height:36px;padding:0 9px;display:inline-flex}.segmented-control button.active{color:#173d24;background:#dcefdc;font-weight:800}.auth-form input:focus{border-color:var(--green);box-shadow:0 0 0 3px #38a65329}.form-message{color:#7a470d;background:#fff5e6;border:1px solid #f4d29d;border-radius:8px;margin:0;padding:10px 12px;font-size:.9rem}.primary-action:disabled{cursor:not-allowed;opacity:.72}.login-preview{gap:14px;display:grid}.preview-card{align-items:center;gap:14px;padding:18px;display:flex}.preview-card svg{color:var(--green)}.preview-card span{color:var(--muted);margin-top:4px;display:block}@media (max-width:1120px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.workspace{padding-bottom:92px}.metric-grid,.calendar-summary-grid,.parts-summary-grid,.dashboard-grid,.jobs-grid,.jobs-grid.history-view,.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.large-panel,.schedule-panel,.job-detail-panel,.jobs-list-panel,.new-job-panel,.workers-panel,.pending-invites-panel{grid-column:1/-1}.mobile-nav{z-index:10;background:#0d1811f0;border:1px solid #ffffff24;border-radius:12px;grid-template-columns:repeat(4,1fr);padding:8px;display:grid;position:fixed;bottom:14px;left:14px;right:14px;box-shadow:0 16px 40px #00000047}.mobile-nav a{color:#dce8de;border-radius:8px;place-items:center;gap:4px;min-height:50px;font-size:.76rem;display:grid}.mobile-nav a.active{color:#fff;background:var(--green)}.job-detail-layout{grid-template-columns:1fr}.job-summary-panel{position:static}.calendar-layout{grid-template-columns:1fr}.calendar-side-panel{position:static}.five-day-schedule{grid-template-columns:repeat(2,minmax(0,1fr))}.checkin-dialog-body{grid-template-columns:1fr}.checkin-media-panel{position:static}}@media print{@page{margin:.35in;size:letter portrait}html,body{background:#fff!important}body *{visibility:hidden!important}.print-work-order,.print-work-order *{visibility:visible!important}.print-work-order{color:#111;background:#fff;font-family:Arial,Helvetica,sans-serif;display:block;position:absolute;inset:0}.print-work-order-page{border:1.5px solid #222;width:100%;min-height:9.95in;padding:.18in}.print-work-order-header{border-bottom:1.5px solid #222;grid-template-columns:minmax(0,1fr) 2.1in;align-items:end;gap:.18in;padding-bottom:.1in;display:grid}.print-work-order-header h1{color:#111;margin:0;font-size:24pt;line-height:1}.print-work-order-header p{margin:.08in 0 0;font-size:10pt;font-weight:700}.print-work-order-header div:last-child{grid-template-columns:.7in 1fr;align-items:end;gap:.08in;display:grid}.print-work-order-top{grid-template-columns:1fr 2.1in;gap:0;margin-top:.12in;display:grid}.print-field{border-bottom:1px solid #222;grid-template-columns:.9in minmax(0,1fr);align-items:end;gap:.08in;min-height:.29in;padding:.03in .05in;display:grid}.print-field.full{grid-column:1/-1;align-items:start;min-height:.5in}.print-field span,.print-work-order-header span,.print-labor-box span,.print-totals span{color:#111;font-size:8.5pt;font-weight:700;text-decoration:underline}.print-field strong,.print-work-order-header strong{color:#111;font-size:10.5pt;font-weight:700;line-height:1.2}.print-parts-table{border-collapse:collapse;table-layout:fixed;width:100%;margin-top:.14in}.print-parts-table th,.print-parts-table td{color:#111;text-align:left;vertical-align:top;border:1px solid #222;height:.28in;padding:.03in .05in;font-size:9pt}.print-parts-table th{height:.24in;font-size:8.5pt;text-decoration:underline}.print-parts-table th:first-child,.print-parts-table td:first-child{width:.9in}.print-parts-table th:nth-child(2),.print-parts-table td:nth-child(2){width:2.2in}.print-parts-table th:nth-child(4),.print-parts-table td:nth-child(4){width:1.2in}.print-work-order-bottom{grid-template-columns:1fr 1.9in;align-items:start;gap:.22in;margin-top:.14in;display:grid}.print-work-order-bottom .print-field{grid-template-columns:.6in 1fr;max-width:3.5in}.print-totals{display:grid}.print-totals div{grid-template-columns:1fr .9in;align-items:end;min-height:.3in;display:grid}.print-totals strong{border:1px solid #222;min-height:.28in;display:block}.print-labor-box{border:1px solid #222;min-height:2in;margin-top:.14in;padding:.08in}.print-labor-box p{color:#111;white-space:pre-wrap;margin:.08in 0 0;font-size:9pt;line-height:1.25}}@media (max-width:1360px){.jobs-grid,.efficiency-settings-grid,.labor-page-grid,.efficiency-chart-row,.efficiency-table-row,.tech-detail-grid,.leaderboard-header,.leaderboard-row{grid-template-columns:1fr}.leaderboard-header{display:grid}.leaderboard-date{text-align:left;justify-items:start}.leaderboard-summary{grid-template-columns:1fr}.timeclock-self-panel{position:static}.labor-settings-row,.external-tech-row,.external-tech-create-form,.time-off-form,.time-entry-edit-row form:first-child,.manual-labor-edit-row form:first-child,.period-custom-form{grid-template-columns:repeat(2,minmax(0,1fr))}.labor-schedule-override,.jobs-list-panel,.new-job-panel{grid-column:1/-1}.new-job-panel{max-width:760px}}@media (max-width:760px){.workspace{padding:18px 14px 92px}.topbar{flex-direction:column;align-items:flex-start}.topbar-actions,.search-box{width:100%}.jobs-toolbar,.parts-toolbar{flex-direction:column;align-items:stretch}.labor-settings-row,.external-tech-row,.external-tech-create-form,.time-off-form,.time-entry-edit-row form:first-child,.manual-labor-edit-row form:first-child,.simple-list-row{grid-template-columns:1fr}.period-selector,.segmented-control,.period-custom-form{width:100%}.segmented-control{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.segmented-control button{border-bottom:1px solid var(--line)}.job-history-search{grid-template-columns:1fr}.jobs-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.parts-filter-tabs{width:100%}.parts-queue-heading,.parts-queue-details,.parts-inline-status-form{grid-template-columns:1fr}.connection-pill,.profile-chip,.icon-button{display:none}.metric-grid,.calendar-summary-grid,.parts-summary-grid,.dashboard-grid,.jobs-grid,.jobs-grid.history-view,.team-grid{grid-template-columns:1fr}.table-head{display:none}.table-row{border:1px solid var(--line);border-radius:8px;grid-template-columns:1fr auto;align-items:start;padding:12px}.table-row>span:nth-child(2){grid-column:1/-1}.table-row>span:nth-child(3){grid-column:1}.job-card-details,.job-card-actions,.jobs-queue-actions,.cancel-job-form,.jobs-filter-bar,.diagnostic-form-grid,.diagnostic-report-grid,.diagnostic-submit-actions,.closeout-form-grid,.closeout-labor-fields,.closeout-review-grid,.edit-form-grid,.job-detail-two-column,.parts-used-form-grid,.repair-completion-grid,.parts-request-card dl,.part-status-actions form,.status-progress,.checkin-form,.media-uploader,.calendar-controls{grid-template-columns:1fr}.calendar-control-group{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.calendar-job-meta{grid-template-columns:1fr}.schedule-row{grid-template-columns:38px 1fr}.time-block{grid-column:1/-1}.job-detail,.request-card,.worker-card{grid-template-columns:1fr;display:grid}.primary-action.small{width:100%}.checklist,.form-grid-2,.vin-row{grid-template-columns:1fr}.checkin-dialog{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}.checkin-dialog-header,.checkin-dialog-body,.new-job-dialog-body{padding-left:16px;padding-right:16px}.jobs-queue-actions{padding-left:0}.login-shell{grid-template-columns:1fr;padding:18px}.five-day-schedule{grid-template-columns:1fr}}.loading-page{min-height:40vh;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.loading-spinner{border:3px solid var(--border);border-top-color:var(--accent,#2563eb);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:40vh;padding:32px;display:flex}.error-page h2{font-size:1.4rem;font-weight:700}.error-page p{color:var(--muted);max-width:480px;line-height:1.5}.error-actions{gap:10px;margin-top:8px;display:flex}.share-report-panel .panel-header h3{align-items:center;gap:6px;display:flex}.share-report-content{flex-direction:column;gap:12px;padding:12px 14px;display:flex}.share-report-links{flex-direction:column;gap:8px;display:flex}.share-report-link{border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:.85rem;display:flex}.share-report-link.active{background:#e8f7eb;border:1px solid #b9dfc1}.share-report-link.expired{color:#999;background:#f5f5f5;border:1px solid #e0e0e0}.share-report-link.approved{background:#e8f7eb;border:1px solid #b9dfc1}.share-report-link.declined{background:#fde8e8;border:1px solid #f4b4b4}.share-report-status{font-weight:600}.share-report-actions{align-items:center;gap:6px;display:flex}.share-report-actions .secondary-button{align-items:center;gap:4px;display:inline-flex}.estimate-uploader-content{flex-direction:column;gap:10px;padding:12px 14px;display:flex}.estimate-list{flex-direction:column;gap:6px;display:flex}.estimate-row{background:#f8f9fa;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:.85rem;display:flex}.estimate-file-link{color:var(--accent,#2563eb);text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:4px;min-width:0;font-weight:500;text-decoration:none;display:inline-flex;overflow:hidden}.estimate-file-link:hover{text-decoration:underline}.estimate-date{color:#999;white-space:nowrap;font-size:.8rem}.estimate-upload-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.estimate-upload-row input[type=file]{flex:1;min-width:0}.icon-button.danger{color:#e74c3c;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px}.icon-button.danger:hover{background:#fde8e8}
