:root{color:#172026;font-synthesis:none;text-rendering:geometricprecision;background:#eef2f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{color:#fff;cursor:pointer;background:#0f6b5d;border:0;border-radius:7px;min-height:42px;padding:0 14px;font-weight:750}button.secondary,.button-row button{color:#1d2b32;background:#e8eef1}button.fit{width:fit-content}button svg{vertical-align:middle;margin-right:6px}button.selected{color:#fff;background:#223843}button.full{width:100%}input,select,textarea{color:#172026;background:#fff;border:1px solid #ccd7dd;border-radius:7px;width:100%;min-height:42px;padding:10px 12px}textarea{resize:vertical;min-height:86px}.auth-screen{background:linear-gradient(120deg,#0f6b5deb,#223843d6),url(https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=1800&q=80) 50%/cover;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-panel{background:#fffffff5;border:1px solid #ffffff80;border-radius:8px;width:min(420px,100%);padding:30px;box-shadow:0 24px 70px #121c214d}.brand-mark{color:#fff;background:#0f6b5d;border-radius:8px;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.brand-mark.large{width:54px;height:54px;font-size:24px}.auth-panel h1{margin:18px 0 6px;font-size:31px}.auth-panel p{color:#66747b;margin:0 0 22px}.auth-form,.stack{gap:12px;display:grid}.field-label{color:#50636c;gap:6px;font-size:13px;font-weight:850;display:grid}.field-label>span,.field-label legend{color:#50636c;font-size:13px;font-weight:850}.field-label input,.field-label select,.field-label textarea{color:#172026;font-weight:500}.proficiency-field{border:1px solid #d8e1e5;border-radius:7px;margin:0;padding:10px}.form-error,.alert{color:#9b1c1c;background:#ffe8e8;border:1px solid #ffc9c9;border-radius:7px;margin:0;padding:10px 12px}.app{grid-template-columns:280px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .18s;display:grid}.app.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}.sidebar{color:#fff;background:#172026;flex-direction:column;gap:24px;padding:20px;transition:padding .18s,gap .18s;display:flex;overflow:hidden}.sidebar-top{min-height:46px;position:relative}.sidebar-toggle{color:#fff;z-index:2;background:#253641;place-items:center;width:36px;min-height:36px;padding:0;display:grid;position:absolute;top:-8px;right:-8px}.sidebar-toggle svg{margin:0}.brand{align-items:center;gap:12px;display:flex}.brand h1{margin:0;font-size:18px}.brand p{color:#9fb0b8;margin:2px 0 0;font-size:13px}nav{gap:8px;display:grid}nav button{color:#ccdade;background:0 0;justify-content:flex-start;align-items:center;gap:10px;display:flex}nav button.active,nav button:hover{color:#fff;background:#253641}.sidebar-collapsed .sidebar{gap:0;width:0;padding:0;overflow:visible}.sidebar-collapsed .sidebar-top{min-height:0}.sidebar-collapsed .sidebar-toggle{position:fixed;top:8px;left:8px;right:auto;box-shadow:0 6px 18px #1720263d}.sidebar-collapsed .brand,.sidebar-collapsed nav,.sidebar-collapsed .maker-card,.sidebar-collapsed .user-card{display:none}.user-card{background:#253641;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-top:auto;padding:12px;display:grid}.user-card strong,.user-card span{display:block}.user-card span{color:#aebdc4;font-size:12px}.icon-button{place-items:center;width:36px;min-height:36px;padding:0;display:grid}main{padding:22px;overflow:auto}.page{gap:18px;display:grid}.two-column{grid-template-columns:minmax(0,1fr) 360px;align-items:start}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.page-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.page-header div{align-items:center;gap:10px;display:flex}.page-header h1{margin:0;font-size:28px}.page-header span{color:#5d6c74;font-weight:700}.dispatch-page{gap:16px;display:grid}.dispatch-toolbar{justify-content:space-between;align-items:end;gap:16px;display:flex}.dispatch-toolbar h1{margin:0;font-size:28px}.dispatch-toolbar p{color:#5d6c74;margin:4px 0 0}.dispatch-controls{gap:8px;min-width:360px;display:flex}.dispatch-grid{grid-template-columns:minmax(0,1fr) 420px;align-items:start;gap:14px;display:grid}.personnel-board,.job-board{gap:12px;display:grid}.dispatch-grid{position:relative}.personnel-pane-toggle{z-index:8;color:#fff;background:#253641;place-items:center;width:36px;min-height:36px;padding:0;display:grid;position:absolute;top:4px;left:calc(50% - 19px);box-shadow:0 8px 20px #17202633}.personnel-pane-toggle svg{margin:0}.dispatch-grid.personnel-collapsed{grid-template-columns:1fr}.dispatch-grid.personnel-collapsed .personnel-pane-toggle{top:0;left:0}.dispatch-grid.personnel-collapsed .job-board{grid-column:1}.rotation-group,.customer-job-group{background:#fff;border:1px solid #d8e1e5;border-radius:8px;overflow:hidden}.rotation-group>header,.customer-job-group>header{color:#fff;background:#223843;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.rotation-group h2,.customer-job-group h2{margin:0;font-size:16px}.tag-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;padding:10px;display:grid}.tech-tag{text-align:left;border:1px solid #cfd9de;justify-items:start;gap:2px;min-height:58px;padding:8px 42px 8px 10px;display:grid;position:relative;box-shadow:0 5px 14px #1720260f}.tech-tag small{opacity:.78}.location-band{color:#111;place-items:center;width:34px;font-size:11px;font-weight:900;display:grid;position:absolute;top:0;bottom:0;right:0}.location-band.mc{color:#fff;background:#000}.location-band.lc{color:#fff;background:#c82727}.location-band.ap{color:#111;background:#f09a22}.tech-tag.extra-work .location-band{bottom:20px}.extra-work-marker{color:#fff;background:#17834b;border-top:1px solid #00000038;place-items:center;width:30px;height:20px;font-size:11px;font-weight:950;display:grid;position:absolute;bottom:0;right:0}.account-page{grid-template-columns:minmax(280px,620px);align-content:start}.customer-job-group>header span,.rotation-group>header span{color:#172026;text-align:center;background:#ffffffbf;border-radius:999px;min-width:28px;font-weight:900}.dispatch-job-card{background:#f7fafb;border:1px dashed #bccbd2;border-radius:8px;gap:5px;margin:10px;padding:12px;display:grid;position:relative}.dispatch-job-card.job-unfilled{border-color:#d62828;padding-left:18px;position:relative}.dispatch-job-card.warning-acknowledged{border-color:#b6c0c5;padding-left:18px}.job-unfilled-corner{color:#fff;clip-path:polygon(0 0,100% 0,0 100%);z-index:2;cursor:pointer;background:#d62828;border:0;border-radius:0;width:25px;height:25px;min-height:25px;padding:0;position:absolute;top:0;left:0}.job-unfilled-corner.acknowledged{color:#eef1f2;background:#7e898f}.job-unfilled-corner svg{stroke-width:3px;margin:0;position:absolute;top:2px;left:2px}.coverage-toggle{background:#f7fafb;border:1px solid #d8e1e5;border-radius:7px;align-items:flex-start;padding:10px}.coverage-toggle span{gap:2px;display:grid}.coverage-toggle small{color:#64737a}.dispatch-job-card p{color:#596970;margin:0}.dispatch-job-card small{color:#6a7a81}.assignment-lines{gap:5px;margin-top:6px;display:grid}.assignment-lines div,.assignment-line-button{background:#fff;border:1px solid #dce5e8;border-radius:7px;padding:5px;display:grid}.assignment-line-button{color:#172026;text-align:left;cursor:pointer;min-height:0}.assignment-line-button:hover{background:#eef8f5;border-color:#0f6b5d}.assignment-lines span{color:#5c6d73}.assignment-lines em{color:#7b8a91;font-style:normal;font-weight:750}.modal-backdrop{z-index:50;background:#0f181d8c;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal-panel{background:#fff;border-radius:8px;gap:12px;width:min(560px,100%);padding:16px;display:grid;box-shadow:0 26px 80px #00000052}.modal-panel header{justify-content:space-between;align-items:center;gap:12px;display:flex}.modal-panel h2,.modal-panel h3{margin:0}.modal-context{color:#5d6c74;margin:0;font-weight:800}.warn{color:#6b4600;background:#fff2d7;border:1px solid #f0bd55;border-radius:7px;padding:10px}.profile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.profile-grid div{background:#f3f7f8;border-radius:7px;gap:2px;padding:10px;display:grid}.profile-grid span{color:#68777e}.profile-grid .work-metric{background:#eaf5f1;border:1px solid #c6dfd7}.profile-grid .work-metric strong{color:#0f6b5d;font-size:22px}.profile-tags{flex-wrap:wrap;gap:6px;display:flex}.profile-tags span{color:#fff;background:#0f6b5d;border-radius:999px;padding:5px 9px;font-weight:850}.board{grid-template-columns:repeat(6,minmax(220px,1fr));gap:12px;min-height:calc(100vh - 110px);display:grid}.lane{background:#dfe7eb;border:1px solid #cfdbdf;border-radius:8px;flex-direction:column;gap:10px;padding:10px;display:flex}.lane header{justify-content:space-between;align-items:center;padding:4px 4px 2px;display:flex}.lane h2{margin:0;font-size:16px}.lane header span{text-align:center;background:#fff;border-radius:999px;min-width:28px;font-weight:850}.job-list{gap:12px;display:grid}.job-detail,.panel,.job-card{background:#fff;border:1px solid #d8e1e5;border-radius:8px;box-shadow:0 8px 22px #1720260d}.job-detail{gap:12px;padding:12px;display:grid}.job-card{border-left:5px solid #7f8b91;padding:12px}.priority-urgent{border-left-color:#bd2d2d}.priority-high{border-left-color:#d97a21}.priority-normal{border-left-color:#0f6b5d}.priority-low{border-left-color:#59717d}.job-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.job-card-top span{color:#21323a;background:#eef4f5;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:850}.job-card h3{margin:4px 0;font-size:17px}.job-card-customer{color:#0f5f54;text-transform:uppercase;font-size:13px;font-weight:900}.job-card p{color:#66747b;margin:0 0 10px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips span{color:#23453f;background:#edf3f2;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:800}.chips span.done{opacity:.65;text-decoration:line-through}.button-row,.note-form{gap:8px;display:flex}.wrap{flex-wrap:wrap}.note-form input{flex:1}.notes{gap:6px;display:grid}.notes p{color:#5d6c74;margin:0;font-size:14px}.panel{padding:14px}.panel.wide{grid-column:1/-1}.panel>header{align-items:center;gap:8px;margin-bottom:12px;display:flex}.panel h2{margin:0;font-size:17px}.check-grid{gap:8px;max-height:220px;display:grid;overflow:auto}.check-grid.compact{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));max-height:150px}.check-grid label,.inline{color:#31424a;align-items:center;gap:8px;display:flex}.check-grid input,.inline input{width:auto;min-height:auto}.helper-text{color:#48635d;background:#f1f6f5;border:1px solid #d5e5e1;border-radius:7px;padding:10px 12px;font-size:13px;line-height:1.35}.assignment-editor{background:#f4f7f8;border:1px solid #dde7eb;border-radius:8px;gap:10px;padding:10px;display:grid}.assignment-editor button{justify-self:start}.assignment-summary{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.crew-line{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.crew-line span{color:#fff;background:#0f6b5d;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:850}.crew-line em{color:#7b8a91;font-style:normal;font-weight:750}.crew-picker{gap:10px;display:grid}.selected-crew{flex-wrap:wrap;gap:6px;display:flex}.selected-crew button{color:#fff;background:#0f6b5d;min-height:34px;padding:5px 9px}.selected-crew button span{color:#d9eeea;margin-left:6px;font-size:11px}.selected-crew em{color:#7b8a91;font-style:normal;font-weight:750}.combo{position:relative}.combo-menu{z-index:20;background:#fff;border:1px solid #cbd9df;border-radius:8px;max-height:260px;padding:6px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 14px 34px #1720262e}.combo-menu button{color:#172026;text-align:left;background:0 0;justify-items:start;gap:2px;width:100%;min-height:52px;padding:8px 10px;display:grid}.combo-menu button:hover{background:#edf5f3}.combo-menu small{color:#68777e}.combo-empty{color:#68777e;padding:10px;font-weight:750}.save-crew{min-width:130px}.section-label{color:#50636c;text-transform:uppercase;font-size:13px;font-weight:850}.mini-list,.table-list,.audit-list{gap:8px;margin-top:12px;display:grid}.mini-list div,.table-list div,.audit-list div{background:#f4f7f8;border:1px solid #e0e7ea;border-radius:7px;gap:2px;padding:10px;display:grid}.mini-list span,.table-list span,.audit-list span,.audit-list small{color:#64737a}.date-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.color-field{color:#50636c;gap:6px;font-size:13px;font-weight:850;display:grid}input[type=color]{min-height:42px;padding:4px}@media (width<=1000px){.app,.app.sidebar-collapsed{grid-template-columns:1fr}.sidebar,.sidebar-collapsed .sidebar{z-index:10;gap:12px;padding:12px;position:sticky;top:0;overflow:visible}.sidebar-toggle{display:none}.sidebar-collapsed .brand{opacity:1;pointer-events:auto}.sidebar-collapsed .maker-card{display:none}.sidebar-collapsed .user-card{flex-direction:initial;gap:10px;padding:12px;display:grid}.sidebar-collapsed .user-card>div{display:block}.brand p{display:none}nav{grid-template-columns:repeat(4,1fr)}nav button{justify-content:center}nav button span{display:none}.user-card{margin-top:0}.two-column,.admin-grid{grid-template-columns:1fr}.dispatch-toolbar{flex-direction:column;align-items:stretch}.dispatch-controls{flex-direction:column;min-width:0}.dispatch-grid{grid-template-columns:1fr}.personnel-pane-toggle{justify-self:start;position:sticky;top:8px;left:auto}.board{grid-template-columns:1fr;min-height:auto}main{padding:14px}.page-header{flex-direction:column;align-items:flex-start}.assignment-summary,.date-row{grid-template-columns:1fr}}@media (width>=1500px){.board{grid-template-columns:repeat(6,minmax(240px,1fr))}.job-card h3{font-size:20px}.lane h2{font-size:18px}}.personnel-mini-list{max-height:520px;padding-right:2px;overflow:auto}.mini-list .admin-person-tag{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:0;display:grid;position:relative}.admin-person-tag.selected{border-color:#0f6b5d;box-shadow:inset 0 0 0 1px #0f6b5d}.admin-person-tag.inactive{opacity:.62}.person-tag-main{color:#172026;text-align:left;background:0 0;justify-items:start;gap:2px;min-height:54px;padding:9px 10px;display:grid}.person-tag-main strong,.person-tag-main span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.person-tag-main span{color:#64737a;font-size:13px;font-weight:650}.person-tag-menu-wrap{padding-right:8px;position:relative}.tag-menu-button{color:#1d2b32;background:#e8eef1;place-items:center;width:34px;min-height:34px;padding:0;display:grid}.tag-menu-button svg{margin:0}.tag-menu{z-index:20;background:#fff;border:1px solid #d8e1e5;border-radius:7px;gap:4px;width:130px;padding:6px;display:grid;position:absolute;top:38px;right:8px;box-shadow:0 14px 34px #1720262e}.tag-menu button{color:#172026;text-align:left;background:0 0;min-height:34px;padding:0 8px;font-weight:750}.tag-menu button:hover{background:#eef2f5}.tag-menu button.danger-text{color:#9b1c1c}.tag-menu button.cancel-text{color:#8a5600}.action-list div{grid-template-columns:minmax(0,1fr) auto;align-items:center}.action-list div strong,.action-list div span{grid-column:1}.compact-action{grid-area:1/2/span 2;min-height:34px;padding:0 10px}.permission-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.permission-grid section{background:#f4f7f8;border:1px solid #e0e7ea;border-radius:7px;gap:8px;padding:12px;display:grid}.permission-grid h3{text-transform:capitalize;margin:0}@media (width<=1000px){.permission-grid{grid-template-columns:1fr}}.brand-with-logo img{object-fit:contain;background:#fff;border-radius:6px;width:74px;height:auto;padding:4px}.maker-card{color:#9fb0b8;text-transform:uppercase;letter-spacing:0;gap:6px;margin-top:auto;font-size:11px;display:grid}.maker-card img{background:#fff;border-radius:6px;width:100%;max-width:190px;height:auto;padding:6px}.maker-card+.user-card{margin-top:0}.dispatch-job-card-top{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;display:grid}.dispatch-job-card-top strong{min-width:0}.job-menu-wrap,.job-detail-menu,.job-detail-card-wrap{position:relative}.job-detail-menu{position:absolute;top:10px;right:10px}.job-detail-menu .tag-menu,.job-menu-wrap .tag-menu{top:38px;right:0}@media (width<=1000px){.maker-card{display:none}.brand-with-logo img{width:58px}}.job-card-top{grid-template-columns:minmax(0,1fr) auto auto;align-items:center}.job-card-actions{position:relative}.job-card-actions .tag-menu{top:38px;right:0}.po-editor{margin-top:10px}@media (width>=1100px){.dispatch-grid{grid-template-columns:minmax(430px,.92fr) minmax(560px,1.08fr);gap:10px}.personnel-board{gap:8px}.job-board{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));align-content:start;align-items:start;gap:8px;display:grid}.dispatch-grid.personnel-collapsed .job-board{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.dispatch-grid:not(.personnel-collapsed) .personnel-pane-toggle{left:calc(46% - 18px)}.customer-job-group-wide{grid-column:span 2}.rotation-group>header,.customer-job-group>header{padding:7px 9px}.rotation-group h2,.customer-job-group h2{font-size:14px}.tag-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:6px;padding:5px}.tech-tag{min-height:46px;box-shadow:none;gap:0;padding:6px 30px 6px 8px}.tech-tag strong{font-size:12px;line-height:1.12}.tech-tag small{font-size:10px;line-height:1.1}.location-band{width:25px;font-size:9px}.customer-job-group{grid-template-columns:repeat(auto-fit,minmax(124px,1fr));justify-content:start;align-items:start;gap:4px;padding:5px;display:grid}.customer-job-group>header{grid-column:1/-1;margin:-5px -5px 0}.dispatch-job-card{border-radius:7px;justify-self:start;gap:2px;width:130px;max-width:100%;min-height:0;margin:0;padding:5px}.dispatch-job-card-top{gap:5px}.dispatch-job-card strong{font-size:12px;line-height:1.12}.dispatch-job-card>span,.dispatch-job-card small{font-size:9px;line-height:1.08}.dispatch-job-card p{-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:10px;line-height:1.12;display:-webkit-box;overflow:hidden}.assignment-lines{gap:2px;margin-top:3px}.assignment-lines div,.assignment-line-button{border-radius:5px;padding:3px 4px}.assignment-lines b{font-size:10px;line-height:1.05}.assignment-lines span,.assignment-lines em{font-size:9px;line-height:1.05}.tag-menu-button{width:28px;min-height:28px}.tag-menu{top:31px}}@media (width>=1500px){.dispatch-grid{grid-template-columns:minmax(560px,1fr) minmax(760px,1.2fr)}.customer-job-group{grid-template-columns:repeat(auto-fit,minmax(124px,1fr))}}.rotation-drop-target{outline-offset:-4px;outline:2px dashed #0f6b5d57}.rotation-drop-target:hover{outline-color:#0f6b5dc7}@media (width<=1250px) and (width>=1100px){.customer-job-group-wide{grid-column:1/-1}}.modal-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.modal-actions button{flex:1}button.danger{color:#fff;background:#9b1c1c}.schedule-conflict-corner{color:#fff;clip-path:polygon(0 0,100% 0,0 100%);z-index:2;background:#d62828;width:25px;height:25px;position:absolute;top:0;left:0}.schedule-conflict-corner svg{stroke-width:3px;margin:0;position:absolute;top:2px;left:2px}.assignment-line-button{position:relative}.assignment-line-button.has-conflict{border-color:#d62828;padding-left:18px}.assignment-conflict-icon{color:#d62828;margin:0;position:absolute;top:4px;left:3px}.conflict-warn{align-items:center;gap:8px;display:flex}.tech-home{gap:14px}.tech-home-header{background:#fff;border:1px solid #d8e1e5;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:18px;display:flex}.tech-home-header span{color:#0f6b5d;text-transform:uppercase;font-size:12px;font-weight:900}.tech-home-header h1{margin:2px 0;font-size:26px}.tech-home-header p{color:#64737a;margin:0}.tech-home-alert{color:#9b1c1c;background:#fff0f0;border:1px solid #f0b5b5;border-radius:7px;align-items:center;gap:7px;padding:10px 12px;display:flex}.tech-docket{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:12px;display:grid}.tech-work-card{background:#fff;border:1px solid #d8e1e5;border-top:6px solid #f3c600;border-radius:8px;gap:10px;padding:14px;display:grid}.tech-work-card.has-conflict{border-color:#d62828;border-top-color:#d62828!important}.tech-work-card-top{justify-content:space-between;align-items:start;gap:10px;display:flex}.tech-work-card-top span{color:#0f6b5d;text-transform:uppercase;font-size:11px;font-weight:900}.tech-work-card-top h2,.tech-work-card h3,.tech-work-card p{margin:0}.tech-work-card-top h2{font-size:20px}.tech-work-card-top>strong{color:#fff;background:#223843;border-radius:6px;padding:5px 7px;font-size:11px}.tech-work-card h3{font-size:15px}.tech-work-schedule{background:#f4f7f8;border:1px solid #e0e7ea;border-radius:7px;grid-template-columns:auto 1fr;align-items:center;gap:3px 7px;padding:9px;display:grid}.tech-work-schedule svg{color:#0f6b5d;grid-row:1/span 2}.tech-work-schedule span{color:#64737a;font-size:12px}.tech-work-conflict{color:#9b1c1c;background:#fff0f0;border:1px solid #f0b5b5;border-radius:7px;align-items:center;gap:7px;padding:8px;font-weight:800;display:flex}.tech-work-meta{flex-wrap:wrap;gap:6px;display:flex}.tech-work-meta span{background:#e8eef1;border-radius:5px;padding:4px 6px;font-size:11px;font-weight:800}.tech-work-card p{color:#64737a;font-size:13px}.empty-state{color:#64737a;background:#fff;border:1px dashed #bccbd2;border-radius:8px;justify-items:center;gap:5px;padding:28px;display:grid}@media (width<=700px){.tech-home-header{flex-direction:column;align-items:stretch}.tech-docket{grid-template-columns:1fr}}.permanent-client-group{border-style:solid}.permanent-client-group>header h2{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.permanent-client-group>header small{text-transform:uppercase;opacity:.72;font-size:9px;font-weight:900}.permanent-roster{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:start;gap:6px;width:100%;display:grid}.permanent-roster button{color:#172026;text-align:left;background:#f7fafb;border:1px solid #d8e1e5;border-radius:5px;gap:1px;min-height:36px;padding:4px 7px;font-size:10px;display:grid}.permanent-roster button:hover{background:#fff0f0;border-color:#9b1c1c}.permanent-roster em{color:#64737a;padding:7px;font-size:11px;font-style:normal;font-weight:750}.permanent-rotation-section{background:#f7fafb;border:1px solid #d8e1e5;border-radius:6px;overflow:hidden}.permanent-rotation-section>header{background:#e8eef1;justify-content:space-between;align-items:center;gap:6px;min-height:27px;padding:4px 6px;display:flex}.permanent-rotation-section h3{text-transform:uppercase;margin:0;font-size:10px}.permanent-rotation-section>header span{text-align:center;background:#fff;border-radius:999px;min-width:20px;padding:1px 4px;font-size:9px;font-weight:900}.permanent-rotation-section>div{grid-template-columns:repeat(auto-fill,minmax(116px,1fr));gap:4px;padding:4px;display:grid}.permanent-roster button strong{font-size:10px;line-height:1.05}.permanent-roster button small{opacity:.76;font-size:8px;line-height:1.05}.permanent-roster button.currently-assigned{box-shadow:inset 3px 0 #00000061}@media (width<=620px){.profile-grid{grid-template-columns:1fr 1fr}.modal-actions{flex-wrap:wrap}.modal-actions button{min-width:135px}}.job-email-actions{background:#f4f7f8;border:1px solid #dbe4e8;border-radius:7px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px;display:flex}.email-state,.dispatch-quote-state{border-radius:999px;width:fit-content;padding:4px 8px;font-size:12px;font-weight:850}.email-state.ready{color:#40515a;background:#e8eef1}.email-state.current,.dispatch-quote-state.current{color:#12613d;background:#d9f2e5}.email-state.outdated,.dispatch-quote-state.outdated{color:#7a4c00;background:#fff0cc}.dispatch-quote-state{display:inline-block}.email-outbox-list{gap:8px;margin-top:12px;display:grid}.email-outbox-row{background:#f7fafb;border:1px solid #dbe4e8;border-left:4px solid #b4c1c7;border-radius:7px;grid-template-columns:minmax(220px,1.5fr) minmax(220px,1fr) minmax(180px,auto) auto;align-items:center;gap:8px 14px;padding:10px;display:grid}.email-outbox-row.sent{border-left-color:#17834b}.email-outbox-row.failed{border-left-color:#c82727}.email-outbox-row.pending{border-left-color:#e4a11b}.email-outbox-row span,.email-outbox-row small{color:#60717a}.email-outbox-row em{color:#9b1c1c;grid-column:1/-1;font-style:normal}@media (width<=1000px){.email-outbox-row{grid-template-columns:1fr}}.extension-reminder-field small{color:#68777e;font-weight:650}.extension-reminder{color:#1769aa;align-items:center;gap:7px;width:fit-content;max-width:100%;margin:3px 0 8px;display:flex}.extension-reminder>span:last-child{gap:1px;min-width:0;display:grid}.extension-reminder strong,.extension-reminder small{color:#1769aa;line-height:1.15}.extension-reminder small{overflow-wrap:anywhere}.extension-phone-icon{color:#fff;background:#1769aa;border-radius:50%;flex:0 0 25px;place-items:center;width:25px;height:25px;display:grid}.extension-phone-icon svg{margin:0}.extension-reminder.compact{gap:5px;margin:1px 0 2px;font-size:10px}.extension-reminder.compact .extension-phone-icon{flex-basis:20px;width:20px;height:20px}.extension-reminder.compact small{font-size:9px}.job-editor-modal{width:min(860px,100%);max-height:calc(100vh - 30px);overflow:auto}.job-editor-modal>header>div{gap:3px;display:grid}.job-editor-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.job-editor-wide{grid-column:1/-1}.job-editor-actions{border-top:1px solid #dce5e8;justify-content:space-between;gap:10px;padding-top:12px;display:flex}.job-editor-actions>div{flex-wrap:wrap;gap:8px;display:flex}@media (width<=700px){.job-editor-form{grid-template-columns:1fr}.job-editor-wide{grid-column:auto}.job-editor-actions,.job-editor-actions>div{grid-template-columns:1fr;display:grid}}.name-tag-dialog{gap:15px;width:min(680px,100%)}.name-tag-dialog-header>div{gap:1px;display:grid}.name-tag-dialog-header>div>span{color:#0f6b5d;text-transform:uppercase;font-size:11px;font-weight:900}.name-tag-dialog-header h2{font-size:25px}.name-tag-dialog-header p{color:#66777e;margin:0;font-weight:750}.name-tag-identity{grid-template-columns:105px 130px minmax(150px,1fr) minmax(130px,auto);gap:8px;display:grid}.name-tag-attribute{background:#f4f7f8;border:1px solid #d8e1e5;border-left:4px solid #8fa0a8;border-radius:7px;align-content:center;gap:3px;min-width:0;min-height:64px;padding:9px 10px;display:grid}.name-tag-attribute span{color:#64737a;text-transform:uppercase;font-size:10px;font-weight:900}.name-tag-attribute strong{overflow-wrap:anywhere}.name-tag-attribute.compact strong{font-size:20px}.name-tag-attribute.location-lc{border-left-color:#c82727}.name-tag-attribute.location-mc{border-left-color:#111}.name-tag-attribute.location-ap{border-left-color:#f09a22}.name-tag-attribute.extra-work.available{background:#edf7f1;border-left-color:#17834b}.name-tag-metrics{grid-template-columns:1.35fr 1fr 1fr;gap:8px;display:grid}.name-tag-metrics .work-metric{background:#eaf5f1;border:1px solid #c6dfd7;border-radius:7px;grid-template-columns:1fr auto;align-items:end;gap:2px 10px;min-height:88px;padding:12px;display:grid}.name-tag-metrics .work-metric span{color:#526c63;text-transform:uppercase;font-size:11px;font-weight:900}.name-tag-metrics .work-metric strong{color:#0f6b5d;grid-area:1/2/span 2;font-size:34px;line-height:1}.name-tag-metrics .work-metric small{color:#66777e}.name-tag-metrics .work-metric.primary{background:#dcefe9;border-color:#9fcbbc}.name-tag-detail-section{border-top:1px solid #dce5e8;grid-template-columns:minmax(0,1.4fr) minmax(180px,1fr);gap:12px;padding-top:13px;display:grid}.name-tag-detail-section>div{min-width:0}.name-tag-detail-section h3{color:#50636c;text-transform:uppercase;margin:0 0 7px;font-size:13px}.name-tag-detail-section p{color:#52636b;background:#f7fafb;border:1px solid #d8e1e5;border-radius:7px;min-height:68px;margin:0;padding:10px}@media (width<=680px){.name-tag-dialog{max-height:calc(100vh - 24px);overflow:auto}.name-tag-identity{grid-template-columns:1fr 1fr}.name-tag-attribute.assignment,.name-tag-attribute.extra-work{grid-column:span 2;min-height:54px}.name-tag-metrics{grid-template-columns:1fr 1fr}.name-tag-metrics .work-metric.primary{grid-column:span 2}.name-tag-detail-section{grid-template-columns:1fr}}.location-import{background:#f7fafb;border:1px solid #d8e1e5;border-radius:7px;gap:8px;padding:10px;display:grid}.location-import.with-map{grid-template-columns:minmax(230px,.8fr) minmax(300px,1.2fr);align-items:stretch}.location-import-controls{align-content:start;gap:7px;display:grid}.location-import textarea{min-height:78px}.location-import-actions{flex-wrap:wrap;gap:7px;display:flex}.location-import-actions button{min-height:36px}.route-waypoints{background:#fbfcfc;border:1px dashed #c8d5da;border-radius:7px;gap:8px;padding:10px;display:grid}.route-waypoints-header{justify-content:space-between;align-items:start;gap:10px;display:flex}.route-waypoints-header div{gap:2px;display:grid}.route-waypoints-header strong{color:#263840}.route-waypoints-header span{color:#61727a;font-size:12px;font-weight:800}.route-waypoints textarea{min-height:74px}.waypoint-list{gap:6px;margin:0;padding-left:21px;display:grid}.waypoint-list li{background:#fff;border:1px solid #dde6e9;border-radius:6px;padding:7px 8px}.waypoint-list li,.waypoint-list li>span{min-width:0}.waypoint-list li{justify-content:space-between;align-items:center;gap:8px;display:flex}.waypoint-list li>span{gap:1px;display:grid}.waypoint-list strong,.waypoint-list small{overflow-wrap:anywhere}.waypoint-list small{color:#61727a;font-weight:750}.job-location-indicators{flex-wrap:wrap;gap:7px;display:flex}.location-coordinates{color:#1769aa;overflow-wrap:anywhere;font-weight:850}.job-map-view{background:#e8eef1;border:1px solid #ccd7dd;border-radius:7px;min-height:230px;overflow:hidden}.job-map-view iframe{border:0;width:100%;height:100%;min-height:230px;display:block}.job-map-view>div{height:100%;min-height:230px}.job-map-view>div:not(.google-waypoint-map){color:#65767d;text-align:center;place-content:center;justify-items:center;gap:4px;padding:18px;display:grid}.google-waypoint-map{background:#fff;grid-template-rows:minmax(190px,1fr) auto;display:grid}.google-waypoint-map iframe{min-height:190px}.current-job-map .google-waypoint-map{grid-template-rows:minmax(230px,1fr) auto;min-height:300px}.google-waypoint-strip{background:#f7fafb;border-top:1px solid #d8e1e5;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.google-waypoint-strip>div:first-child{min-width:0;display:grid}.google-waypoint-strip strong,.google-waypoint-strip span{overflow-wrap:anywhere}.google-waypoint-strip span{color:#61727a;font-size:11px;font-weight:750}.google-waypoint-strip a{color:#111;font-size:11px;font-weight:900;text-decoration:none}.google-waypoint-buttons{flex-wrap:wrap;grid-column:1/-1;gap:5px;display:flex}.google-waypoint-buttons button{min-height:28px;padding:3px 8px;font-size:11px}.job-pin-indicator{color:#111;align-items:center;gap:3px;width:fit-content;font-size:10px;font-weight:900;display:inline-flex}.job-pin-indicator svg{margin:0}@media (width<=760px){.location-import.with-map{grid-template-columns:1fr}.job-map-view,.job-map-view iframe,.job-map-view>div{min-height:210px}}.quote-readiness{background:#f7fafb;border:1px solid #d8e1e5;border-left:4px solid #b4c1c7;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;padding:11px;display:flex}.quote-readiness>div{gap:2px;display:grid}.quote-readiness span{color:#64737a;font-size:12px}.quote-readiness.ready{background:#edf7f1;border-left-color:#17834b}.quote-readiness.not-ready{background:#fff8e8;border-left-color:#d59b22}.quote-readiness button:disabled{cursor:not-allowed;opacity:.48}@media (width<=700px){.quote-readiness{display:grid}.quote-readiness button{width:100%}}.current-job{background:#fff;border:1px solid #d8e1e5;border-top:7px solid #f3c600;border-radius:8px;overflow:hidden}.current-job-header{border-bottom:1px solid #e1e8eb;justify-content:space-between;align-items:start;gap:12px;padding:15px 17px;display:flex}.current-job-header span,.field-entry header span{color:#0f6b5d;text-transform:uppercase;font-size:11px;font-weight:900}.current-job-header h2,.current-job-header h3{margin:1px 0}.current-job-header h2{font-size:24px}.current-job-header h3{color:#566a73;font-size:15px}.current-job-header>strong{color:#fff;background:#223843;border-radius:5px;padding:5px 8px;font-size:11px}.current-job-grid{border-bottom:1px solid #e1e8eb;grid-template-columns:minmax(320px,1.1fr) minmax(280px,.9fr);display:grid}.current-job-map{background:#e8eef1;min-height:300px}.current-job-map iframe{border:0;width:100%;height:100%;min-height:300px;display:block}.field-map-empty{color:#64737a;place-content:center;justify-items:center;gap:5px;min-height:300px;display:grid}.current-job-details{align-content:start;gap:12px;padding:15px;display:grid}.current-job-details dl{gap:7px;margin:0;display:grid}.current-job-details dl div{border-bottom:1px solid #e5ebed;grid-template-columns:74px 1fr;gap:8px;padding-bottom:6px;display:grid}.current-job-details dt{color:#65777e;text-transform:uppercase;font-size:11px;font-weight:900}.current-job-details dd{margin:0;font-weight:750}.current-job-details p{color:#566a73;margin:0}.crew-list{flex-wrap:wrap;gap:5px;margin-top:5px;display:flex}.crew-list span{background:#e8eef1;border-radius:5px;padding:4px 6px;font-size:11px;font-weight:800}.field-entry{background:#f7fafb;border-bottom:1px solid #e1e8eb;gap:10px;padding:16px;display:grid}.field-entry>header{justify-content:space-between;align-items:center;gap:10px;display:flex}.field-entry h3,.field-history h3{margin:1px 0}.field-entry header small{color:#0f6b5d;align-items:center;gap:4px;font-weight:800;display:flex}.field-event-buttons{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.field-event-buttons button.selected{color:#fff;background:#0f6b5d}.field-event-buttons button.failed{color:#fff;background:#b42318;border-color:#7f1d1d;box-shadow:0 0 0 2px #b4231824}.field-event-buttons button.failed svg{color:#fff}.signature-pad{gap:6px;display:grid}.signature-pad canvas{touch-action:none;background:#fff;border:1px solid #b9c8ce;border-radius:6px;width:100%;height:150px}.signature-pad button{justify-self:end;min-height:32px}.field-photo-entry{border-bottom:1px solid #e1e8eb;grid-template-columns:minmax(190px,1fr) minmax(180px,1fr) auto;align-items:center;gap:9px;padding:14px 16px;display:grid}.field-photo-entry>div{grid-template-columns:auto 1fr;align-items:center;gap:1px 7px;display:grid}.field-photo-entry>div svg{color:#0f6b5d;grid-row:1/span 2}.field-photo-entry>div span{color:#64737a;font-size:11px}.upload-button{color:#fff;cursor:pointer;background:#223843;border-radius:6px;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:8px 11px;font-weight:850;display:inline-flex}.upload-button input{display:none}.field-history{grid-template-columns:1fr 1fr;gap:14px;padding:15px 16px;display:grid}.field-history>div{min-width:0}.field-history p{color:#64737a}.field-record{border-bottom:1px solid #e1e8eb;gap:1px;padding:8px 0;display:grid}.field-record span,.field-record small{color:#64737a;overflow-wrap:anywhere}.field-record span{font-size:11px}.field-record small{font-size:10px}.upcoming-title{margin:4px 0 -3px;font-size:16px}@media (width<=760px){.current-job-grid,.field-history,.field-photo-entry{grid-template-columns:1fr}.current-job-map,.current-job-map iframe,.field-map-empty{min-height:240px}.field-entry>header{flex-direction:column;align-items:start}.field-event-buttons{grid-template-columns:1fr}.signature-pad canvas{height:135px}.field-photo-entry .upload-button{width:100%}}.dispatch-job-actions{flex:none;align-items:center;gap:2px;display:flex}.dispatch-job-actions .tag-menu-button{position:static}.dispatch-job-actions .report-button{color:#0f6b5d}.dispatch-job-actions .report-button:hover{background:#dcefe9}.dispatch-job-actions .report-button.is-loading{color:#fff;cursor:wait;opacity:1;background:#0f6b5d}.pdf-loading-badge{letter-spacing:0;font-size:9px;font-weight:950;animation:.9s ease-in-out infinite alternate pdfPulse}@keyframes pdfPulse{0%{opacity:.45}to{opacity:1}}.extra-work-calendar-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.extra-work-calendar-header>div{align-items:center;gap:8px;display:flex}.extra-work-calendar-header>div:first-child{gap:2px;display:grid}.extra-work-calendar-header span{color:#64737a;font-size:11px}.extra-work-calendar{background:#fff;border:1px solid #cbd7dc;border-radius:7px;overflow:hidden}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays{color:#fff;background:#223843}.calendar-weekdays span{text-align:center;padding:7px 2px;font-size:10px;font-weight:900}.calendar-grid button{color:#21323a;background:#eef6f1;border:1px solid #e0e7ea;border-top:0;border-left:0;border-radius:0;align-content:space-between;justify-items:start;min-width:0;min-height:66px;padding:5px 3px;display:grid}.calendar-grid button b{font-size:13px}.calendar-grid button small{color:#557168;font-size:8px;font-weight:850}.calendar-grid button.rotation-on{color:#718087;background:#e3e8ea}.calendar-grid button.rotation-on small{color:#718087}.calendar-grid button.assigned{color:#315382;background:#e7edf8}.calendar-grid button.selected{color:#075c3c;background:#d5efe3;box-shadow:inset 0 0 0 2px #17834b}.calendar-grid button.outside{color:#bdc7cb;background:#f8fafb}.calendar-grid button:disabled{cursor:not-allowed;opacity:.72}.calendar-legend{flex-wrap:wrap;gap:7px;display:flex}.calendar-legend span{border:1px solid #d2dde1;border-radius:4px;padding:4px 6px;font-size:9px;font-weight:850}.calendar-legend .rotation-on{background:#e3e8ea}.calendar-legend .off-day{background:#eef6f1}.calendar-legend .selected{background:#d5efe3;border-color:#17834b}.calendar-legend .assigned{background:#e7edf8}.selected-date-summary{background:#f7fafb;border:1px solid #d8e1e5;border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:9px;display:flex}.selected-date-summary span{color:#315e4e;background:#e2eee9;border-radius:4px;padding:3px 5px;font-size:10px;font-weight:800}.account-password-fields{border-top:1px solid #dce5e8;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:10px;display:grid}@media (width<=700px){.extra-work-calendar-header{flex-direction:column;align-items:stretch}.extra-work-calendar-header>div:last-child{justify-content:space-between}.calendar-grid button{min-height:54px}.calendar-grid button small{font-size:7px}.account-password-fields{grid-template-columns:1fr}}.availability-warn{color:#6a4a00;background:#fff8e8;border-color:#f0c36a;align-items:center;gap:8px;display:flex}.assignment-line-button.has-availability-warning{background:#fff8e8;border-color:#d59b22;padding-left:18px}.assignment-line-button.availability-acknowledged{background:#f4f6f7;border-color:#c5cdd1}.assignment-availability-icon{color:#b87900;cursor:pointer;z-index:2;place-items:center;width:15px;height:15px;margin:0;display:grid;position:absolute;top:4px;left:3px}.assignment-availability-icon.with-conflict{left:18px}.assignment-availability-icon.acknowledged{color:#7e898f}.assignment-line-button.has-conflict.has-availability-warning,.assignment-line-button.has-conflict.availability-acknowledged{padding-left:36px}.acknowledged-warning-text{color:#7e898f!important}.crew-warning-chip{border:1px solid #e4b458;align-items:center;gap:4px;color:#6a4a00!important;background:#fff0d8!important;display:inline-flex!important}.crew-warning-button{color:#4c3500!important;background:#fff8e8!important;border-color:#d59b22!important}.crew-warning-button svg{color:#b87900;margin:0}.combo-menu button.unavailable-option{cursor:not-allowed;opacity:.72;background:#f7f1e5}.combo-menu button.unavailable-option small{color:#8a670f}.calendar-grid button.assigned{color:#173f82;background:#dce8ff;box-shadow:inset 0 0 0 2px #3a6fd8}.calendar-grid button.assigned small{color:#173f82}.calendar-grid button.assigned.rotation-on{background:linear-gradient(135deg,#dce8ff 0% 55%,#e3e8ea 56% 100%)}.calendar-legend .assigned{color:#173f82;background:#dce8ff;border-color:#3a6fd8}.combo-menu button.unavailable-option{cursor:pointer;opacity:1;background:#fff8e8;border-left:3px solid #d59b22}.availability-eye-button{color:#65767d}.availability-eye-button.active{color:#0f6b5d;background:#dcefe9;box-shadow:inset 0 0 0 1px #0f6b5d}.tech-tag.focus-available{outline-offset:2px;outline:3px solid #18a05f;transform:translateY(-1px);box-shadow:0 0 0 5px #18a05f2e,0 4px 14px #18a05f47}.tech-tag.focus-unavailable{opacity:.38;filter:grayscale(.35)}.tech-tag.focus-unavailable:hover{opacity:.75;filter:none}.availability-estimator{background:#fff;border:1px solid #d8e1e5;border-radius:8px;overflow:hidden}.availability-estimator.active{border-color:#0f6b5d;box-shadow:0 6px 18px #0f6b5d1c}.availability-estimator>header{color:#172026;background:#eef4f2;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;display:flex}.availability-estimator>header div{gap:2px;min-width:0;display:grid}.availability-estimator h2{margin:0;font-size:14px}.availability-estimator>header span{color:#607078;font-size:11px;font-weight:800}.availability-estimator-body{gap:9px;padding:10px;display:grid}.availability-date-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.availability-estimator .proficiency-field{margin:0}.availability-estimator-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.availability-estimator-actions span{color:#5c6d73;font-size:11px;font-weight:750}.availability-estimator-actions button{min-height:32px}@media (width<=700px){.availability-date-row{grid-template-columns:1fr}.availability-estimator-actions{flex-direction:column;align-items:stretch}}.vehicle-board{background:#fff;border:1px solid #d8e1e5;border-radius:8px;gap:0;display:grid;overflow:hidden}.vehicle-board>header{color:#fff;background:#223843;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.vehicle-board>header div{align-items:center;gap:8px;min-width:0;display:flex}.vehicle-board h2{margin:0;font-size:14px}.vehicle-board>header span{color:#172026;text-align:center;background:#ffffffbf;border-radius:999px;min-width:26px;padding:2px 7px;font-weight:900}.vehicle-board select{max-width:150px;min-height:32px}.vehicle-group{border-top:1px solid #e2eaee;gap:5px;padding:7px;display:grid}.vehicle-group h3{color:#50636c;text-transform:uppercase;margin:0;font-size:11px}.vehicle-tag-grid{grid-template-columns:repeat(auto-fill,minmax(94px,1fr));gap:5px;display:grid}.vehicle-tag{color:#172026;cursor:grab;background:#fff;border:1px solid #cfd9de;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:4px;min-height:42px;padding:5px 5px 5px 7px;display:grid}.vehicle-tag.assigned{background:#edf5f3;border-color:#0f6b5d;box-shadow:inset 3px 0 #0f6b5d}.vehicle-tag>div:first-child{gap:1px;min-width:0;display:grid}.vehicle-tag strong,.vehicle-tag span,.vehicle-tag small{text-overflow:ellipsis;min-width:0;display:block;overflow:hidden}.vehicle-tag strong{white-space:nowrap;font-size:12px;line-height:1.05}.vehicle-tag span{color:#50636c;text-transform:uppercase;white-space:normal;overflow-wrap:anywhere;font-size:9px;font-weight:850;line-height:1.08}.vehicle-tag small{color:#68777e;white-space:nowrap;font-size:8px;line-height:1.05}.vehicle-actions{flex-shrink:0;gap:2px;display:flex}.vehicle-icon-button{color:#1d2b32;background:#e8eef1;place-items:center;width:21px;min-height:21px;padding:0;display:grid}.vehicle-icon-button svg{margin:0}.assignment-line-button.has-vehicle{border-left:3px solid #223843}.assignment-vehicle{background:#e8eef1;border-radius:999px;align-items:center;gap:3px;width:fit-content;margin-top:3px;padding:2px 5px;font-weight:900;color:#223843!important;font-size:9px!important;display:inline-flex!important}.assignment-vehicle svg{margin:0}@media (width>=1100px){.vehicle-board>header{padding:6px 8px}.vehicle-board h2{font-size:13px}.vehicle-board select{min-height:28px;font-size:11px}.vehicle-group{padding:5px}.vehicle-tag-grid{grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:4px}.vehicle-tag{gap:3px;min-height:40px;padding:4px 4px 5px 5px}.vehicle-tag strong{font-size:10px}.vehicle-tag span{font-size:8px;line-height:1.05}.vehicle-tag small{font-size:7px}.vehicle-icon-button{width:18px;min-height:18px}}.vehicle-editor-modal{width:min(520px,100%)}.vehicle-editor-modal textarea{min-height:90px}.subjob-entry{background:#fff;border:1px solid #d8e1e5;border-radius:8px;gap:10px;padding:12px;display:grid}.subjob-entry>header{justify-content:space-between;align-items:start;gap:10px;display:flex}.subjob-entry>header span{color:#0f6b5d;text-transform:uppercase;font-size:11px;font-weight:900}.subjob-entry h3{margin:2px 0 0}.subjob-entry>header small{color:#64737a;font-size:11px}.subjob-entry textarea{min-height:90px}.subjob-photo-entry{grid-template-columns:minmax(0,1fr) auto;margin:0}.job-type-list div{grid-template-columns:minmax(0,1fr) auto;align-items:center}.job-type-list div strong,.job-type-list div span{grid-column:1}@media (width<=760px){.subjob-entry>header,.subjob-photo-entry{flex-direction:column;grid-template-columns:1fr}}.reports-page .panel.wide{max-width:1280px}.report-controls{grid-template-columns:minmax(150px,190px) minmax(150px,190px) auto auto auto;align-items:end;gap:10px;margin-bottom:14px;display:grid}.time-report-view{gap:14px;display:grid}.report-summary-grid{grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;display:grid}.report-summary-grid div{background:#f5f9fa;border:1px solid #d9e4e8;border-radius:8px;gap:3px;padding:12px;display:grid}.report-summary-grid span,.report-summary-grid small,.report-meta{color:#60717a;font-size:12px;font-weight:800}.report-summary-grid strong{color:#172026;font-size:25px;line-height:1}.report-meta{background:#eef5f4;border:1px solid #d5e6e2;border-radius:7px;padding:9px 11px}.time-report-summary-table{background:#fff;border:1px solid #d9e4e8;border-radius:8px;overflow:hidden}.table-scroll{overflow-x:auto}.time-report-table{border-collapse:collapse;width:100%;font-size:13px}.time-report-table th,.time-report-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e3ebee;padding:10px 11px}.time-report-table th{color:#fff;text-transform:uppercase;letter-spacing:0;background:#223843;font-size:11px}.time-report-table td{white-space:nowrap}.time-report-table td:first-child{white-space:normal;min-width:220px}.time-report-table td:first-child strong,.time-report-table td:first-child span{display:block}.time-report-table td:first-child span{color:#60717a;margin-top:2px;font-size:12px;font-weight:800}.time-report-table td:last-child{font-weight:900}.empty-state{color:#60717a;text-align:center;border:1px dashed #bdcbd1;border-radius:8px;padding:18px;font-weight:850}@media (width<=980px){.report-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.report-controls button{width:100%}.report-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.report-controls,.report-summary-grid{grid-template-columns:1fr}}.assignment-absence-panel{background:#f7fafb;border:1px solid #d8e1e5;border-radius:8px;overflow:hidden}.assignment-absence-panel>header{color:#fff;background:#223843;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;display:flex}.assignment-absence-panel>header span{color:#c8d6dc;font-size:12px;font-weight:800}.assignment-absence-list{max-height:260px;display:grid;overflow:auto}.assignment-absence-row{background:#fff;border-top:1px solid #e1e9ec;grid-template-columns:minmax(130px,1fr) auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.assignment-absence-row.marked{background:#fff7e8}.assignment-absence-row div:first-child{gap:2px;display:grid}.assignment-absence-row span{color:#65757d;font-size:12px;font-weight:800}.assignment-absence-actions{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.assignment-absence-actions button{min-height:32px;padding:0 9px;font-size:12px}@media (width<=620px){.assignment-absence-row{grid-template-columns:1fr}.assignment-absence-actions{justify-content:flex-start}}.dispatch-guide-mode{background:#f4f8f9;border:1px solid #d7e2e6}.tech-stop-list{gap:7px;display:grid}.tech-stop-list>strong{color:#223843}.tech-stop-list a,.secondary-map-link{color:#172026;background:#fff;border:1px solid #dbe6ea;border-radius:7px;align-items:center;gap:8px;padding:9px 10px;font-weight:850;text-decoration:none;display:flex}.tech-stop-list a span{color:#65757d;margin-left:auto;font-size:12px;font-weight:800}.secondary-map-link{background:#e8eef1;width:fit-content}.mode-banner{background:#f6fafb;border:1px solid #d8e3e7;border-radius:8px;gap:3px;padding:12px 14px;display:grid}.mode-banner strong{color:#172026;text-transform:capitalize;font-size:18px}.mode-banner span{color:#5c6d75;font-weight:800}.mode-banner.production{background:#fff1f1;border-color:#7f1d1d}.mode-banner.production strong{color:#7f1d1d}.button-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}button.active-choice{color:#fff;background:#172026;border-color:#172026}.accounting-page{gap:10px;display:grid}.accounting-page .panel{padding:12px}.accounting-filters{grid-template-columns:140px 140px minmax(240px,1fr) auto auto;align-items:end;gap:8px}.accounting-filters .field-label{gap:3px}.accounting-filters input{min-height:36px}.accounting-filters button{min-height:36px;padding:0 10px}.accounting-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:10px;display:grid}.accounting-columns .panel header{margin-bottom:7px}.accounting-list-actions{justify-content:flex-end;margin:-2px 0 6px;display:flex}.accounting-list-actions button{min-height:30px;padding:0 8px;font-size:12px}.accounting-job-list{gap:5px;max-height:calc(100vh - 250px);padding-right:2px;display:grid;overflow:auto}.accounting-job-card{background:#fff;border:1px solid #d8e3e7;border-radius:6px;gap:4px;padding:6px 7px;display:grid}.compact-accounting-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.accounting-job-mainline{color:#394a52;grid-template-columns:minmax(160px,1.5fr) minmax(95px,.8fr) minmax(70px,.55fr) 76px 58px minmax(90px,.8fr) auto;align-items:center;gap:7px;min-width:0;font-size:11px;font-weight:850;display:grid}.accounting-job-title{gap:1px;min-width:0;display:grid}.accounting-job-title strong{color:#172026;white-space:nowrap;text-overflow:ellipsis;font-size:13px;line-height:1.05;overflow:hidden}.accounting-job-title span,.accounting-job-type,.accounting-po,.accounting-job-mainline>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.accounting-job-title span{color:#60717a;font-size:11px}.invoice-chip{color:#5a6870;white-space:nowrap;background:#edf3f5;border:1px solid #d2dde2;border-radius:999px;justify-self:end;padding:2px 6px;font-size:10px;font-style:normal;font-weight:900}.invoice-chip.invoiced{color:#0f6b5d;background:#e8f6f1;border-color:#a8d7ca}.accounting-job-actions{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:4px;display:flex}.compact-actions button,.compact-actions .upload-button{min-height:28px;padding:0 7px;font-size:11px;line-height:28px}.accounting-personnel-line{color:#60717a;white-space:nowrap;text-overflow:ellipsis;border-top:1px solid #edf2f4;grid-column:1/-1;padding-top:1px;font-size:10.5px;font-weight:800;overflow:hidden}.upload-button{cursor:pointer;position:relative;overflow:hidden}.upload-button input{opacity:0;cursor:pointer;position:absolute;inset:0}@media (width<=1250px){.compact-accounting-row{grid-template-columns:1fr}.accounting-job-actions{justify-content:flex-start}.accounting-job-mainline{grid-template-columns:minmax(150px,1.5fr) minmax(85px,.8fr) 70px 72px 54px auto}.accounting-job-mainline>span:nth-of-type(5){display:none}}@media (width<=1100px){.accounting-columns{grid-template-columns:1fr}.accounting-job-list{max-height:none}.accounting-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.accounting-filters{grid-template-columns:1fr}.accounting-job-mainline{grid-template-columns:minmax(0,1fr) auto}.accounting-job-type,.accounting-po,.accounting-job-mainline>span:nth-of-type(n+3){display:none}.compact-actions{flex-wrap:wrap}}.lodging-page{gap:10px;display:grid}.lodging-toolbar{justify-content:space-between;align-items:end;gap:14px;display:flex}.lodging-toolbar .page-header{margin:0}.toolbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.toolbar-actions button{min-height:36px;padding:0 10px}.lodging-property-form{grid-template-columns:minmax(180px,1.3fr) 130px minmax(180px,1fr) 130px auto;gap:8px;display:grid}.lodging-property-form input,.lodging-property-form select,.lodging-property-form button{min-height:36px}.lodging-dispatch-grid{grid-template-columns:minmax(340px,38%) minmax(0,1fr);align-items:start;gap:12px;min-height:calc(100vh - 190px);display:grid}.lodging-tag-board{align-content:start;gap:9px;max-height:calc(100vh - 190px);padding-right:2px;display:grid;overflow:auto}.lodging-rotation-group{background:#f8fbfc;border:1px solid #d3e0e5;border-radius:8px;overflow:hidden}.lodging-rotation-group>header{color:#fff;background:#223843;justify-content:space-between;align-items:center;padding:7px 9px;display:flex}.lodging-rotation-group>header strong{font-size:13px}.lodging-rotation-group>header span{color:#d8e5e9;font-size:11px;font-weight:900}.lodging-rotation-group>div{grid-template-columns:repeat(auto-fill,minmax(142px,1fr));gap:5px;padding:7px;display:grid}.lodging-name-tag{cursor:grab;text-align:left;border:1px solid #cfd9de;border-radius:7px;gap:2px;min-height:52px;padding:7px 42px 6px 10px;display:grid;position:relative;overflow:hidden;box-shadow:0 5px 14px #1720260f}.lodging-name-tag.flagged{outline-offset:1px;outline:2px solid #d628283d}.lodging-name-tag div{min-width:0}.lodging-name-tag strong{white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;line-height:1.08;display:block;overflow:hidden}.lodging-name-tag span:not(.location-band):not(.schedule-conflict-corner),.lodging-name-tag small{white-space:nowrap;text-overflow:ellipsis;opacity:.78;font-size:10.5px;font-weight:800;display:block;overflow:hidden}.lodging-name-tag .location-band{width:34px}.lodging-alert-corner{z-index:4}.lodging-property-board{align-content:start;gap:8px;display:grid}.lodging-action-strip{flex-wrap:wrap;gap:6px;display:flex}.lodging-action-strip span{color:#5c4300;background:#fff8e6;border:1px solid #e0b45a;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900}.lodging-action-strip span.missing,.lodging-action-strip span.unknown{color:#7f1d1d;background:#fff1f1;border-color:#d69a9a}.board-property-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));align-items:start;gap:9px;display:grid}.dispatch-style-lodging-card{background:#f8fbfc;border:1px solid #ccd9de;border-radius:8px;min-height:126px;overflow:hidden}.dispatch-style-lodging-card header{color:#111;background:#f3c600;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.dispatch-style-lodging-card header div{gap:1px;min-width:0;display:grid}.dispatch-style-lodging-card header strong{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.dispatch-style-lodging-card header span{opacity:.85;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:900;overflow:hidden}.dispatch-style-lodging-card header em{color:#fff;white-space:nowrap;background:#111;border-radius:999px;padding:2px 7px;font-size:10px;font-style:normal;font-weight:900}.lodging-assignment-list{gap:5px;padding:7px;display:grid}.lodging-assignment-list>small,.lodging-empty-board{color:#63747c;text-align:center;border:1px dashed #b8c7cd;border-radius:6px;padding:18px 8px;font-weight:850}.lodging-assignment-row{background:#fff;border:1px solid #dde7eb;border-radius:6px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;padding:5px 6px;display:grid}.lodging-assignment-row div{gap:1px;min-width:0;display:grid}.lodging-assignment-row strong{color:#172026;font-size:12px}.lodging-assignment-row span{color:#60717a;white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;font-weight:800;overflow:hidden}.lodging-assignment-row em{color:#5b6d75;white-space:nowrap;background:#edf3f5;border-radius:999px;padding:2px 6px;font-size:10px;font-style:normal;font-weight:900}.lodging-assignment-row.confirmed em,.lodging-assignment-row.checked-in em,.lodging-assignment-row.checked-out em{color:#0f6b5d;background:#e8f6f1}.lodging-assignment-row button{min-height:28px;padding:0 7px;font-size:11px}.lodging-modal{max-width:640px}@media (width<=1050px){.lodging-dispatch-grid{grid-template-columns:1fr}.lodging-tag-board{max-height:360px}.lodging-property-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.lodging-toolbar{flex-direction:column;align-items:stretch}.toolbar-actions{justify-content:flex-start}.lodging-property-form{grid-template-columns:1fr}.lodging-rotation-group>div{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.lodging-assignment-row{grid-template-columns:1fr}}.lodging-pin-editor{background:#f7fafb;border:1px solid #d8e3e7;border-radius:8px;grid-column:1/-2;padding:8px}.lodging-pin-editor .location-import{margin:0}.lodging-auto-email{background:#fff;border:1px solid #d8e3e7;border-radius:7px;align-items:center;min-height:36px;padding:0 9px;font-weight:850}.lodging-card-map{background:#eaf1f3;border-bottom:1px solid #d7e2e6;height:120px}.lodging-card-map iframe{border:0;width:100%;height:100%;display:block}.tech-lodging-card{background:#fff;border-top:5px solid #f3c600;border-radius:8px;gap:12px;padding:14px;display:grid;box-shadow:0 10px 30px #17202614}.tech-lodging-card>header{justify-content:space-between;align-items:center;gap:10px;display:flex}.tech-lodging-card>header span{color:#6a7a82;text-transform:uppercase;font-size:12px;font-weight:900}.tech-lodging-card>header h2{color:#172026;margin:0}.tech-lodging-list{gap:12px;display:grid}.tech-lodging-stay{background:#f8fbfc;border:1px solid #d8e3e7;border-radius:8px;overflow:hidden}.tech-lodging-stay>header{color:#fff;background:#223843;justify-content:space-between;align-items:center;gap:10px;padding:9px 11px;display:flex}.tech-lodging-stay>header strong{font-size:16px;display:block}.tech-lodging-stay>header span{color:#d7e5e9;font-size:12px;font-weight:850}.tech-lodging-stay>header b{white-space:nowrap;font-size:12px}.tech-lodging-grid{grid-template-columns:minmax(220px,.9fr) minmax(0,1.1fr);gap:12px;padding:12px;display:grid}@media (width<=760px){.tech-lodging-grid{grid-template-columns:1fr}.lodging-pin-editor{grid-column:1/-1}}.tech-tag.focus-proficiency{outline-color:#0b72d9;box-shadow:0 0 0 5px #0b72d92e,0 4px 14px #0b72d947}.admin-action-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;display:grid;position:relative}.admin-action-row>div:first-child{gap:2px;min-width:0;display:grid}.admin-action-row.inactive{opacity:.58}.admin-row-menu{justify-self:end;position:relative}.admin-row-menu .tag-menu{top:34px;right:0}.customer-price-form{border-top:1px solid #d8e3e7;margin-top:10px;padding-top:10px}.price-chip-list{flex-wrap:wrap;gap:5px;margin-top:5px;display:flex}.price-chip{color:#24343b;background:#f7fafb;border:1px solid #cfdce1;border-radius:999px;min-height:24px;padding:0 7px;font-size:11px;font-weight:850}.price-chip.inactive{opacity:.55;text-decoration:line-through}.price-chip.selected{background:#e9f7f3;border-color:#0f6b5d;box-shadow:0 0 0 2px #0f6b5d29}.editor-price-list{padding-top:2px}.asset-requirements{background:#f7fafb;border:1px solid #cbd8de;border-radius:6px;margin:0;padding:10px}.asset-requirements legend{color:#344a54;padding:0 5px;font-weight:900}.asset-requirements small{color:#647780;margin-top:7px;display:block}.vehicle-editor-modal .asset-detail-row{grid-template-columns:90px minmax(120px,1fr) minmax(150px,1.4fr)}@media (width<=640px){.vehicle-editor-modal .asset-detail-row{grid-template-columns:1fr}}.asset-add-button{background:#fff;border-color:#9fb2bb;margin-left:3px}.asset-admin-toolbar{grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:8px;margin-bottom:10px;display:grid}.asset-admin-toolbar input[type=search]{min-width:0}.asset-admin-toolbar .inline,.asset-admin-toolbar button{white-space:nowrap}.asset-admin-list{max-height:520px;overflow:auto}@media (width<=720px){.asset-admin-toolbar{grid-template-columns:1fr;align-items:stretch}.asset-admin-toolbar button{width:100%}}.assignment-job-brief,.tech-job-brief{border-left:3px solid #0f6b5d;gap:5px;padding-left:10px;display:grid}.assignment-job-brief{margin:2px 0 4px}.assignment-job-brief p,.tech-job-brief p{color:#4f626a;margin:0;line-height:1.35}.assignment-job-brief strong,.tech-job-brief strong{color:#233840}.sales-rep-update-control{background:#f5f9fa;border:1px solid #c9d8de;border-radius:6px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex}.sales-rep-update-control>div{gap:2px;display:grid}.sales-rep-update-control span{color:#60737b;font-size:12px}.closeout-ready{outline-offset:2px;outline:3px solid #087f8c}.closeout-ready-badge{text-transform:uppercase;background:#087f8c;border-radius:4px;width:fit-content;padding:2px 6px;font-size:9px;font-weight:900;line-height:1.15;display:inline-flex;color:#fff!important}@media (width<=640px){.sales-rep-update-control{flex-direction:column;align-items:stretch}}.lodging-property-actions{flex:none;justify-content:flex-end;align-items:center;gap:5px;display:flex!important}.lodging-property-actions .tag-menu-button{color:#111;background:#ffffff8c;border-color:#11111140}.dispatch-style-lodging-card.inactive{opacity:.62}.lodging-property-notes{grid-column:1/-1}.lodging-property-editor-modal{width:min(900px,100vw - 24px)}.lodging-property-edit-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.lodging-editor-wide,.lodging-property-edit-form .lodging-pin-editor{grid-column:1/-1}.lodging-editor-flags{background:#f7fafb;border:1px solid #d7e2e6;border-radius:6px;flex-wrap:wrap;gap:16px;padding:9px 10px;display:flex}@media (width<=640px){.lodging-property-edit-form{grid-template-columns:1fr}.lodging-editor-wide{grid-column:1}}
