*{box-sizing:border-box}body{color:#17212b;background:#f4f5f7;min-width:320px;min-height:100vh;margin:0;font-family:Arial,Helvetica,sans-serif}button,select,input{font:inherit}.app-shell{justify-content:center;align-items:flex-start;min-height:100vh;padding:24px 16px;display:flex}.card{background:#fff;border:1px solid #d8dde2;border-radius:14px;width:100%;max-width:520px;padding:28px;box-shadow:0 6px 18px #2f37420f}h1{margin:0 0 12px;font-size:32px;line-height:1.1}.welcome{margin:0 0 28px;font-size:18px}.label{margin-bottom:8px;font-weight:700;display:block}.field{color:#2f3742;background:#fff;border:1px solid #d8dde2;border-radius:8px;width:100%;min-height:52px;padding:10px 12px}.job-card,.gps-card{border:1px solid #d7dce1;border-radius:8px;margin-top:16px;padding:16px;line-height:1.5}.secondary-button,.clock-button,.signout-button{cursor:pointer;border-radius:8px;width:100%}.secondary-button{color:#2f3742;background:#e8edf0;border:1px solid #b8c4cc;margin-top:18px;padding:14px;font-weight:700}.clock-button{color:#fff;background:#5f7f69;border:0;margin-top:14px;padding:20px;font-size:24px;font-weight:800}.clock-button:disabled{opacity:.6}.message{min-height:24px;margin:18px 0;font-weight:700}.signout-button{background:0 0;border:0;padding:12px;text-decoration:underline}.active-card{background:#ecfdf3;border:1px solid #86efac;border-radius:8px;margin-bottom:20px;padding:16px;line-height:1.5}.clockout-button{color:#fff;cursor:pointer;background:#b91c1c;border:0;border-radius:8px;width:100%;margin-top:14px;padding:20px;font-size:24px;font-weight:800}.clockout-button:disabled{opacity:.6}.hint{color:#66727e;margin-top:10px;font-size:14px}.management-button{color:#fff;cursor:pointer;background:#5b7486;border:0;border-radius:8px;width:100%;margin-bottom:22px;padding:14px;font-weight:800}.admin-shell{background:#f4f6f8;min-height:100vh;padding:24px 16px}.admin-card{background:#fff;border-radius:14px;width:100%;max-width:1100px;margin:0 auto;padding:28px;box-shadow:0 8px 24px #00000014}.admin-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.compact-button{width:auto;margin:0}.filter-row{flex-wrap:wrap;gap:8px;margin:24px 0;display:flex}.filter-row button{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:10px 16px}.filter-row .filter-active{color:#fff;background:#17212b}.timesheet-list{gap:16px;display:grid}.timesheet-card{border:1px solid #d8dee5;border-radius:10px;padding:18px}.timesheet-top{justify-content:space-between;gap:16px;display:flex}.employee-name{font-size:18px;display:block}.status-badge{text-transform:uppercase;border-radius:999px;height:fit-content;padding:6px 10px;font-size:13px;font-weight:800}.status-submitted{color:#92400e;background:#fef3c7}.status-approved{color:#166534;background:#dcfce7}.status-rejected{color:#991b1b;background:#fee2e2}.status-draft{color:#334155;background:#e2e8f0}.time-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px;display:grid}.time-grid div{background:#f8fafc;border-radius:8px;padding:12px}.time-grid span,.time-grid strong{display:block}.time-grid span{color:#6b7280;text-transform:uppercase;margin-bottom:4px;font-size:12px}.gps-summary{flex-wrap:wrap;gap:18px;margin-top:16px;display:flex}.gps-summary a{color:#1d4ed8;font-weight:700}.approval-row{grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;display:grid}.approve-button,.reject-button{color:#fff;cursor:pointer;border:0;border-radius:8px;padding:14px;font-weight:800}.approve-button{background:#166534}.reject-button{background:#b91c1c}.rejection-box{background:#fff1f2;border-radius:8px;margin-top:16px;padding:12px}.empty-state{text-align:center;color:#64748b;padding:30px}@media (width<=700px){.admin-header{flex-direction:column;align-items:stretch}.compact-button{width:100%}.time-grid{grid-template-columns:1fr 1fr}}.distance-result{border-top:1px solid #d7dce1;margin-top:12px;padding-top:12px}.onsite{color:#166534;margin-top:5px;font-weight:800}.offsite{color:#b91c1c;margin-top:5px;font-weight:800}.distance-summary{background:#f8fafc;border-radius:8px;margin-top:16px;padding:12px;line-height:1.6}.offsite-inline{color:#b91c1c;font-weight:800}.management-filters{grid-template-columns:1fr 1fr;gap:16px;margin-top:24px;display:grid}.weekly-total-card{background:#eef2ff;border-radius:10px;justify-content:space-between;align-items:center;margin-top:18px;padding:18px;display:flex}.weekly-total-card span{color:#475569;font-weight:700}.weekly-total-card strong{font-size:28px}@media (width<=700px){.management-filters{grid-template-columns:1fr}}.admin-header-actions{flex-wrap:wrap;gap:10px;display:flex}.payroll-button{color:#fff;cursor:pointer;background:#7c3aed;border:0;border-radius:8px;width:auto;padding:14px 18px;font-weight:800}.payroll-total-card{background:#f3e8ff;border-radius:10px;justify-content:space-between;align-items:center;margin:20px 0;padding:20px;display:flex}.payroll-total-card span{font-weight:700}.payroll-total-card strong{font-size:30px}.payroll-break-row{color:#64748b;margin-top:14px;font-weight:700}@media (width<=700px){.admin-header-actions{flex-direction:column}.payroll-button{width:100%}}.export-button{color:#fff;cursor:pointer;background:#0f766e;border:0;border-radius:8px;width:100%;margin-bottom:20px;padding:14px;font-weight:800}.export-button:disabled{opacity:.5;cursor:not-allowed}.employee-management-button{color:#fff;cursor:pointer;background:#334155;border:0;border-radius:8px;width:100%;margin-top:-10px;margin-bottom:22px;padding:14px;font-weight:800}.employee-admin-card{max-width:1040px}.employee-form{margin-top:28px}.employee-form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.employee-form-row{margin-top:18px}.employee-security-note{color:#475569;background:#f8fafc;border:1px solid #d8dee5;border-radius:8px;margin-top:20px;padding:14px;line-height:1.5}.crew-management-panel{border-top:1px solid #d8dee5;margin-top:18px;padding-top:16px}.crew-create-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.crew-create-form .create-employee-button{width:auto;margin:0;padding:11px 14px;font-size:.85rem}.crew-list{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.crew-list>div{color:#334d5d;background:#f4f8fa;border:1px solid #cedce5;border-radius:999px;padding:8px 11px;font-size:.85rem;font-weight:800}.create-employee-button{color:#fff;cursor:pointer;background:#4f6b7a;border:0;border-radius:8px;width:100%;margin-top:22px;padding:16px;font-size:18px;font-weight:800}.create-employee-button:disabled{opacity:.6;cursor:not-allowed}.employee-message{margin-top:20px}@media (width<=700px){.employee-form-grid,.crew-create-form{grid-template-columns:1fr}.crew-create-form .create-employee-button{width:100%}}.employee-roster-section{border-top:1px solid #d8dee5;margin-top:14px;padding-top:14px}.employee-roster-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.employee-roster-header h2{margin-bottom:4px}.employee-roster-list{gap:14px;display:grid}.employee-roster-card{background:#fff;border:1px solid #d8dee5;border-radius:10px;padding:18px}.employee-roster-top{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.employee-roster-name{font-size:19px;display:block}.employee-roster-email{color:#64748b;margin-top:3px}.employee-account-status{text-transform:uppercase;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.status-active{color:#166534;background:#dcfce7}.status-invited,.status-pending{color:#92400e;background:#fef3c7}.status-inactive{color:#991b1b;background:#fee2e2}.status-not_linked{color:#475569;background:#e2e8f0}.employee-roster-details{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:16px;display:grid}.employee-roster-details div{background:#f8fafc;border-radius:8px;padding:10px}.employee-roster-details span,.employee-roster-details strong{display:block}.employee-roster-details span{color:#64748b;text-transform:uppercase;margin-bottom:3px;font-size:12px}.employee-roster-actions{margin-top:16px}.roster-action-button{border:0;border-radius:8px;width:100%;padding:12px;font-weight:800}.invite-action{color:#fff;background:#f59e0b}.reset-action{color:#fff;background:#1d4ed8}.roster-action-button:disabled{opacity:.5}@media (width<=700px){.employee-roster-header{flex-direction:column;align-items:stretch}.employee-roster-details{grid-template-columns:1fr}}.invite-link-box{background:#fffbeb;border:1px solid #f59e0b;border-radius:10px;margin-top:18px;padding:16px}.invite-link-box strong{margin-bottom:6px;display:block}.invite-link-box p{color:#64748b;margin-bottom:12px}.copy-invite-button{color:#fff;cursor:pointer;background:#92400e;border:0;border-radius:8px;width:100%;margin-top:12px;padding:12px;font-weight:800}.employee-edit-panel{background:linear-gradient(135deg,#f7fafc,#eef4f7);border:1px solid #cedce5;border-radius:12px;margin-top:20px;padding:20px;box-shadow:0 8px 20px #344d5d12}.employee-edit-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.employee-edit-header h2{color:#20303d;margin:0}.employee-edit-header p{color:#637587;margin:5px 0 0}.edit-cancel-button{background:#fff;border:1px solid #94a3b8;border-radius:8px;padding:8px 12px;font-weight:800}.save-employee-button{color:#fff;background:#4f6b7a;border:0;border-radius:8px;width:100%;margin-top:16px;padding:13px;font-weight:800}.employee-roster-actions{gap:10px;display:grid}.edit-action{color:#fff;background:#334155}.deactivate-action{color:#fff;background:#b91c1c}.reactivate-action{color:#fff;background:#166534}.login-help-links{justify-content:space-between;gap:12px;margin-top:18px;display:flex}.login-help-links button,.auth-link-button{color:#1d4ed8;cursor:pointer;background:0 0;border:0;font-weight:700;text-decoration:underline}.auth-link-button{width:100%;margin-top:18px}.auth-help-text{color:#475569;margin-bottom:22px;line-height:1.5}.forgot-email-box{background:#f8fafc;border:1px solid #d8dee5;border-radius:10px;margin-top:20px;padding:18px;line-height:1.5}.forgot-email-box strong{margin-bottom:10px;display:block}.forgot-email-box p+p{margin-top:12px}@media (width<=480px){.login-help-links{flex-direction:column;align-items:center}}.invite-setup-note{background:#ecfdf3;border:1px solid #86efac;border-radius:10px;margin:18px 0 22px;padding:16px;line-height:1.5}.invite-setup-note strong{margin-bottom:6px;display:block}.invite-setup-note p{color:#475569}.office-dashboard-button{color:#fff;cursor:pointer;background:#0f172a;border:0;border-radius:8px;width:100%;margin-bottom:14px;padding:15px;font-weight:800}.dashboard-stat-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px;display:grid}.dashboard-stat-card{text-align:left;background:#fff;border:1px solid #d8dde2;border-radius:12px;min-height:120px;padding:18px;box-shadow:0 2px 8px #2f37420a}button.dashboard-stat-card{cursor:pointer}.dashboard-stat-card span{color:#64748b;text-transform:uppercase;font-size:13px;font-weight:700;display:block}.dashboard-stat-card strong{margin-top:10px;font-size:34px;display:block}.dashboard-open-work-card{background:#f3f8fa;border-color:#b9cbd5}.dashboard-open-work-card small{color:#516875;margin-top:7px;font-size:12px;font-weight:700;display:block}.dashboard-warning-card{background:#fff7ed;border-color:#fdba74}.dashboard-actions{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px;display:grid}.dashboard-action-button{width:100%;margin:0}.dashboard-section{margin-top:34px}.dashboard-section-header{margin-bottom:14px}.dashboard-section-header h2{margin-bottom:4px}.dashboard-list{gap:10px;display:grid}.dashboard-row{background:#fff;border:1px solid #d8dee5;border-radius:10px;justify-content:space-between;gap:18px;padding:15px;display:flex}.dashboard-row-right{text-align:right;white-space:nowrap}.dashboard-small-text{color:#64748b;margin-top:5px;font-size:12px;font-weight:700}@media (width<=850px){.dashboard-stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-actions{grid-template-columns:1fr}}@media (width<=560px){.dashboard-stat-grid{grid-template-columns:1fr 1fr}.dashboard-stat-card{min-height:100px}.dashboard-stat-card strong{font-size:28px}.dashboard-row{flex-direction:column}.dashboard-row-right{text-align:left}}.inventory-catalog-workspace{gap:14px;margin-top:14px;display:grid}.inventory-search-toolbar{background:#fff;border:1px solid #d5dde5;border-radius:9px;grid-template-columns:minmax(180px,240px) minmax(280px,1fr);align-items:center;gap:14px;padding:10px 12px;display:grid}.inventory-search-toolbar strong{margin-top:2px;font-size:14px;display:block}.inventory-search-toolbar .inventory-search{width:100%;min-width:0;min-height:38px;padding:7px 10px;font-size:13px}.inventory-import-panel,.inventory-catalog-panel{background:#fff;border:1px solid #d5dde5;border-radius:10px;padding:16px}.inventory-panel-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.inventory-panel-heading h2{margin:2px 0 4px;font-size:20px}.inventory-panel-heading p{color:#5e6d7c;max-width:760px;margin:0;font-size:13px;line-height:1.45}.inventory-eyebrow{color:#536b80;letter-spacing:.07em;text-transform:uppercase;font-size:10px;font-weight:800;display:block}.inventory-file-button{cursor:pointer;flex:none;position:relative}.inventory-file-button input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.inventory-selected-file,.inventory-setup-notice{border-radius:7px;margin-top:12px;padding:8px 10px;font-size:12px}.inventory-selected-file{color:#31495b;background:#eef4f7;font-weight:700}.inventory-setup-notice{color:#76501b;background:#fff9ef;border:1px solid #e4c58d;gap:2px;display:grid}.inventory-import-preview{grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:12px;margin-top:12px;display:grid}.inventory-import-preview-only{grid-template-columns:1fr}.inventory-import-stats{grid-template-columns:repeat(5,minmax(90px,1fr));gap:7px;display:grid}.inventory-import-stat{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#f8fafb;border:1px solid #dbe3ea;border-radius:7px;padding:8px 9px;transition:border-color .15s,box-shadow .15s}.inventory-import-stat:not(:disabled):hover{border-color:#55758b}.inventory-import-stat:disabled{cursor:default;opacity:1}.inventory-import-stat-active{border-color:#315f7b;box-shadow:0 0 0 2px #315f7b29}.inventory-import-stat span{color:#68798a;text-transform:uppercase;font-size:9px;font-weight:800;display:block}.inventory-import-stat strong{margin-top:2px;font-size:17px;display:block}.inventory-import-stat-warning{background:#fff9ef;border-color:#e4c58d}.inventory-import-actions{background:#f8fafb;border:1px solid #dbe3ea;border-radius:7px;flex-direction:column;justify-content:space-between;gap:10px;padding:11px;display:flex}.inventory-import-actions p{color:#5e6d7c;margin:0;font-size:12px;line-height:1.45}.inventory-catalog-heading{align-items:flex-end}.inventory-active-filter{color:#314f64;cursor:pointer;background:#eef4f7;border:1px solid #9eb1c0;border-radius:999px;margin-top:8px;padding:5px 9px;font-size:11px;font-weight:800}.inventory-search{width:min(380px,42vw);min-width:240px}.inventory-table-wrap{border:1px solid #dbe3ea;border-radius:8px;margin-top:12px;overflow-x:auto}.inventory-table{border-collapse:collapse;width:100%;font-size:12px}.inventory-table th,.inventory-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e4e9ee;padding:8px 10px}.inventory-table th{color:#53687b;letter-spacing:.04em;text-transform:uppercase;background:#f2f5f7;font-size:9px}.inventory-sort-header{width:100%;color:inherit;font:inherit;letter-spacing:inherit;text-align:left;text-transform:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;display:inline-flex}.inventory-sort-header>span:last-child{color:#8b9aa7;font-size:12px}.inventory-sort-header-active,.inventory-sort-header-active>span:last-child{color:#1e5c83}.roofing-estimates{gap:14px;margin-top:18px;display:grid}.roofing-search-panel,.roofing-bid-card,.roofing-estimate-list{background:#fff;border:1px solid #d6dfe6;border-radius:10px}.roofing-search-panel{grid-template-columns:minmax(220px,.75fr) minmax(320px,1.75fr);align-items:center;gap:18px;padding:14px;display:grid}.roofing-search-panel strong,.roofing-search-panel span{display:block}.roofing-search-panel span{color:#607083;margin-top:3px;font-size:13px}.roofing-project-results,.roofing-catalog-results{background:#fff;border:1px solid #d6dfe6;border-radius:10px;gap:6px;padding:8px;display:grid}.roofing-project-results button,.roofing-catalog-results button,.roofing-estimate-list>button{color:#17212b;text-align:left;cursor:pointer;background:#fff;border:1px solid #d6dfe6;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:10px 12px;display:flex}.roofing-project-results button:hover,.roofing-catalog-results button:hover,.roofing-estimate-list>button:hover{background:#f6f9fb;border-color:#6b879a}.roofing-project-results strong,.roofing-project-results small,.roofing-catalog-results strong,.roofing-catalog-results small,.roofing-estimate-list strong,.roofing-estimate-list small{display:block}.roofing-project-results small,.roofing-catalog-results small,.roofing-estimate-list small{color:#64748b;margin-top:2px}.roofing-status-grid{grid-template-columns:repeat(4,minmax(130px,1fr));gap:8px;display:grid}.roofing-status-grid button{color:#42576a;cursor:pointer;background:#fff;border:1px solid #d6dfe6;border-radius:8px;justify-content:space-between;align-items:center;min-height:48px;padding:10px 12px;display:flex}.roofing-status-grid button.active{color:#593d6a;background:#f7f2fa;border-color:#7a568f}.roofing-status-grid span{text-transform:capitalize;font-size:12px;font-weight:800}.roofing-status-grid strong{color:#17212b;font-size:18px}.roofing-estimate-list{gap:7px;padding:14px;display:grid}.roofing-estimate-list h2{text-transform:capitalize;margin:0 0 4px;font-size:18px}.roofing-bid-header{grid-template-columns:auto minmax(0,1fr) 180px;align-items:center;gap:16px;display:grid}.roofing-bid-header h2,.roofing-bid-header p,.roofing-bid-card h3{margin:0}.roofing-bid-header p{color:#607083;margin-top:3px}.roofing-bid-grid{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:14px;display:grid}.roofing-bid-card{padding:16px}.roofing-bid-card h3{margin-top:4px;font-size:20px}.roofing-bid-card form{gap:10px;margin-top:14px;display:grid}.roofing-bid-card label{color:#42576a;gap:5px;font-size:12px;font-weight:800;display:grid}.roofing-documents-card{border-left:4px solid #6f4b86}.roofing-documents-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.roofing-documents-heading p{color:#607083;max-width:760px;margin:5px 0 0;font-size:13px}.roofing-document-count{color:#593d6a;white-space:nowrap;background:#f1eaf5;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.roofing-documents-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.roofing-clear-button{color:#9f1d1d!important;border-color:#d9a5a5!important}.roofing-document-form{grid-template-columns:repeat(2,minmax(220px,1fr)) auto;align-items:end}.roofing-document-form input[type=file]{color:#42576a;background:#f8fafb;border:1px solid #d6dfe6;border-radius:7px;min-height:42px;padding:7px}.roofing-document-progress{color:#36546a;background:#eef4f7;border-radius:7px;margin-top:10px;padding:9px 11px;font-size:12px;font-weight:750}.roofing-document-review{grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px;margin-top:12px;display:grid}.roofing-document-review>label,.roofing-document-finding{background:#fafbfc;border:1px solid #d9e1e7;border-radius:7px;min-height:64px;padding:8px 10px}.roofing-document-review span,.roofing-document-review strong{display:block}.roofing-document-review span{color:#64748b;text-transform:uppercase;font-size:10px;font-weight:800}.roofing-document-review strong{color:#17212b;margin-top:4px;font-size:13px}.roofing-document-review .field{min-height:34px;margin-top:5px;padding:6px 8px;font-size:13px}.roofing-document-redeck{grid-column:span 2;min-height:auto!important}.roofing-document-review>button{grid-column:span 3}.roofing-check-row{align-items:center;gap:8px!important;font-size:14px!important;display:flex!important}.roofing-redeck-result{background:#f0f8f3;border:1px solid #b9d6c4;border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 12px;display:flex}.roofing-redeck-result strong{color:#166534;font-size:20px}.roofing-redeck-result span{color:#496455;flex:260px;font-size:13px}.roofing-totals-card h3{color:#166534;font-size:30px}.roofing-totals-card dl{gap:7px;margin:14px 0 0;display:grid}.roofing-totals-card dl div{border-bottom:1px solid #e3e8ed;justify-content:space-between;gap:16px;padding-bottom:6px;display:flex}.roofing-totals-card dt,.roofing-totals-card dd{margin:0}.roofing-comparison-form{border-top:1px solid #d6dfe6;padding-top:12px}.roofing-comparison-form p{margin:0}.roofing-line-builder>.field{margin-top:12px}.roofing-catalog-results{max-height:260px;margin-top:8px;overflow-y:auto}.roofing-line-form{grid-template-columns:minmax(220px,2fr) repeat(4,minmax(100px,.7fr));align-items:end}.roofing-line-description,.roofing-line-notes{grid-column:span 2}.roofing-line-form button{min-height:44px}.roofing-line-actions,.roofing-row-actions{align-items:center;gap:7px;display:flex}.roofing-lines-table-wrap{margin-top:12px;overflow-x:auto}.roofing-lines-table-wrap table{border-collapse:collapse;width:100%}.roofing-lines-table-wrap th,.roofing-lines-table-wrap td{text-align:left;vertical-align:top;border-bottom:1px solid #dfe5ea;padding:9px}.roofing-lines-table-wrap th{color:#5c7084;text-transform:uppercase;font-size:11px}.roofing-lines-table-wrap td span{color:#64748b;white-space:pre-line;max-width:460px;margin-top:3px;font-size:12px;display:block}.roofing-lines-table-wrap td button{color:#a12626;cursor:pointer;background:0 0;border:0;font-weight:800}.roofing-lines-table-wrap .roofing-row-actions button:first-child{color:#365f78}@media (width<=900px){.roofing-search-panel,.roofing-bid-grid,.roofing-bid-header{grid-template-columns:1fr}.roofing-status-grid{grid-template-columns:repeat(2,minmax(130px,1fr))}.roofing-line-form{grid-template-columns:repeat(2,minmax(120px,1fr))}.roofing-document-form,.roofing-document-review{grid-template-columns:1fr}.roofing-documents-heading{flex-direction:column}.roofing-line-description,.roofing-line-notes{grid-column:1/-1}}.inventory-table tbody tr:last-child td{border-bottom:0}.inventory-table td strong,.inventory-table td span{display:block}.inventory-inline-edit{color:#263b4b;max-width:240px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:6px;padding:3px 5px;display:inline-flex}.inventory-inline-edit:hover{background:#f3f7f9;border-color:#b8c6d1}.inventory-inline-edit>span{color:#60788a}.inventory-sku-edit{font-variant-numeric:tabular-nums}.inventory-inline-input{color:#18232e;width:min(220px,24vw);min-width:130px;font:inherit;background:#fff;border:1px solid #8fa5b5;border-radius:5px;padding:6px 7px}.inventory-sku-input{width:130px;min-width:100px}.inventory-money-input{font-variant-numeric:tabular-nums;width:108px;min-width:92px}.inventory-money-edit{white-space:nowrap;font-variant-numeric:tabular-nums}.inventory-inline-actions{gap:5px;margin-top:5px;display:flex}.inventory-inline-actions button{color:#29485d;cursor:pointer;background:#eef4f7;border:1px solid #9fb0bd;border-radius:5px;padding:4px 7px;font-size:10px;font-weight:800}.inventory-inline-actions button:disabled{cursor:wait;opacity:.6}.inventory-inline-error{margin-top:4px;color:#a3482d!important;font-size:10px!important}.inventory-table td span{color:#71808e;margin-top:2px;font-size:11px}.inventory-number{white-space:nowrap;font-variant-numeric:tabular-nums}.inventory-reference-price{color:#68798a}.inventory-negative{color:#a3482d;font-weight:800}.inventory-empty{color:#68798a;text-align:center;border:1px dashed #cfd8df;border-radius:8px;margin-top:12px;padding:20px}.inventory-result-note{color:#71808e;font-size:11px}.inventory-pagination{justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.inventory-pagination-controls,.inventory-pagination-controls label{align-items:center;gap:7px;display:flex}.inventory-pagination-controls button,.inventory-pagination-controls select{color:#29485d;min-height:30px;font:inherit;background:#f5f8fa;border:1px solid #b7c4cf;border-radius:6px;padding:5px 9px;font-weight:700}.inventory-pagination-controls button:disabled{cursor:not-allowed;opacity:.45}.inventory-pagination-controls label{color:#607486;font-size:11px;font-weight:700}.material-catalog-picker{background:#f8fafb;border:1px solid #d5dde5;border-radius:10px;gap:10px;margin-top:18px;padding:14px;display:grid}.material-catalog-picker p{color:#657585;margin:3px 0 0;font-size:12px}.material-catalog-results{gap:6px;max-height:264px;display:grid;overflow-y:auto}.material-catalog-result{color:#18232e;text-align:left;cursor:pointer;background:#fff;border:1px solid #d8e0e7;border-radius:7px;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:9px 11px;display:flex}.material-catalog-result:hover,.material-catalog-result-selected{background:#eef4f7;border-color:#55758b}.material-catalog-result strong,.material-catalog-result small{display:block}.material-catalog-result small{color:#68798a;margin-top:2px;font-size:11px}.material-catalog-price{font-variant-numeric:tabular-nums;flex:none;font-size:12px;font-weight:800}.material-catalog-empty{color:#68798a;text-align:center;border:1px dashed #d1dae2;border-radius:7px;padding:10px;font-size:12px}@media (width<=900px){.inventory-search-toolbar{grid-template-columns:1fr;gap:7px}.inventory-import-preview{grid-template-columns:1fr}.inventory-import-stats{grid-template-columns:repeat(2,minmax(110px,1fr))}.inventory-panel-heading,.inventory-catalog-heading{flex-direction:column;align-items:stretch}.inventory-search{width:100%;min-width:0}}.inventory-category-list{gap:3px;max-height:calc(100vh - 470px);padding-right:2px;display:grid;overflow-y:auto}.inventory-category-button{grid-template-columns:28px minmax(0,1fr) auto;align-items:center;display:grid}.inventory-category-button .admin-sidebar-button-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.inventory-category-button>strong{color:#fff;font-variant-numeric:tabular-nums;opacity:.72;font-size:11px}.inventory-sidebar-import{background:#ffffff0d;border:1px solid #ffffff24;border-radius:8px;gap:8px;padding:10px;display:grid}.inventory-import-toggle{grid-template-columns:28px minmax(0,1fr) auto;align-items:center;display:grid}.inventory-import-toggle>strong{color:#fffc;font-size:16px}.inventory-sidebar-import p,.inventory-sidebar-file-name,.inventory-sidebar-setup-note{color:#ffffffbf;margin:0;font-size:10px;line-height:1.35}.inventory-sidebar-file-button,.inventory-sidebar-import-button{text-align:center;border:1px solid #fff3;border-radius:6px;width:100%;min-height:34px;padding:8px 9px;font-size:11px;font-weight:800}.inventory-sidebar-file-button{color:#243846;cursor:pointer;background:#f3f6f8;position:relative}.inventory-sidebar-file-button input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.inventory-sidebar-file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.inventory-sidebar-setup-note{color:#f6d39a}.inventory-sidebar-import-button{color:#fff;cursor:pointer;background:#5b7486}.inventory-sidebar-import-button:disabled{cursor:not-allowed;opacity:.55}.employee-status-board{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.employee-status-card{background:#fff;border:1px solid #d8dee5;border-radius:12px;padding:18px}.employee-clocked-in{border-left:5px solid #16a34a}.employee-clocked-out{border-left:5px solid #94a3b8}.employee-gps-warning{background:#fffbeb;border-color:#f59e0b}.employee-status-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.employee-status-header strong{font-size:19px}.employee-status-job{color:#64748b;margin-top:3px}.employee-status-pill{white-space:nowrap;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800}.status-pill-in{color:#166534;background:#dcfce7}.status-pill-out{color:#475569;background:#e2e8f0}.employee-status-details{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px;display:grid}.employee-status-details div{background:#f8fafc;border-radius:8px;padding:10px}.employee-status-details span,.employee-status-details strong{display:block}.employee-status-details span{color:#64748b;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:700}.gps-warning-text{color:#b45309}@media (width<=850px){.employee-status-board{grid-template-columns:1fr}}@media (width<=560px){.employee-status-details{grid-template-columns:1fr}.employee-status-header{flex-direction:column}}.delete-employee-action{color:#fff;background:#7f1d1d;border:2px solid #450a0a}.job-search-field{margin-bottom:6px}.job-search-count{color:#64748b;margin:0 0 16px;font-size:13px;font-weight:700}.job-search-results{gap:8px;margin-bottom:18px;display:grid}.job-search-result{text-align:left;cursor:pointer;appearance:none;background:#fff;border:1px solid #cbd5e1;border-radius:9px;width:100%;padding:13px 14px}.job-search-result strong,.job-search-result span{display:block}.job-search-result strong{color:#17212b;font-size:16px}.job-search-result span{color:#64748b;margin-top:3px;font-size:13px}.job-search-result-selected{background:#eff6ff;border:2px solid #2563eb}.job-search-empty{color:#64748b;background:#f8fafc;border-radius:8px;padding:12px}.companycam-refresh-button{color:#496170;cursor:pointer;background:#f4f8fb;border:1px solid #5b7486;border-radius:8px;width:100%;margin-bottom:14px;padding:14px;font-weight:800}.companycam-refresh-button:disabled{opacity:.6;cursor:wait}.nearby-jobs-section{background:#f8fafc;border:1px solid #cbd5e1;border-radius:12px;margin-bottom:24px;padding:16px}.nearby-jobs-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.nearby-jobs-header strong{font-size:18px}.nearby-jobs-header div div{color:#64748b;margin-top:3px;font-size:13px}.nearby-refresh-button{color:#496170;white-space:nowrap;cursor:pointer;background:#f4f8fb;border:1px solid #5b7486;border-radius:8px;padding:9px 11px;font-weight:800}.nearby-jobs-list{gap:8px;display:grid}.nearby-job-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:9px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;padding:12px;display:grid}.nearby-job-selected{background:#eff6ff;border:2px solid #2563eb}.nearby-job-rank{color:#64748b;font-weight:900}.nearby-job-info strong,.nearby-job-info span{display:block}.nearby-job-info strong{color:#17212b}.nearby-job-info span{color:#64748b;margin-top:2px;font-size:12px}.nearby-job-distance{white-space:nowrap;color:#166534;font-weight:900}.nearby-jobs-empty{color:#64748b;padding:10px 0;font-size:13px}@media (width<=520px){.nearby-jobs-header{flex-direction:column}.nearby-refresh-button{width:100%}.nearby-job-card{grid-template-columns:auto 1fr}.nearby-job-distance{grid-column:2}}.nearby-onsite-badge{color:#166534;white-space:nowrap;margin-top:4px;font-size:11px;font-weight:900;display:block}.job-search-result-select{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:4px;padding:0;display:flex}.job-search-result-select:disabled{cursor:default}.job-search-map-actions{flex-direction:column;gap:12px;width:100%;margin-top:14px;display:flex}.job-search-map-button{box-sizing:border-box;color:#2457d6;text-align:center;background:#fff;border:2px solid #2457d6;border-radius:10px;justify-content:center;align-items:center;width:100%;min-height:48px;padding:12px 16px;font-size:.95rem;font-weight:700;text-decoration:none;display:flex}.time-entry-edit-actions{margin-top:14px}.edit-time-entry-button{color:#183a5c;cursor:pointer;background:#fff;border:1px solid #294b70;border-radius:8px;width:100%;min-height:44px;font-weight:700}.time-entry-correction-panel{background:#f8fafc;border:1px solid #cbd5df;border-radius:10px;margin-top:14px;padding:16px}.time-entry-correction-panel h3{margin-top:0;margin-bottom:14px}.time-entry-correction-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.time-entry-correction-note{margin-top:12px}.time-entry-correction-note textarea{box-sizing:border-box;resize:vertical;width:100%}.time-entry-correction-buttons{gap:10px;margin-top:14px;display:flex}.save-time-correction-button,.cancel-time-correction-button{cursor:pointer;border-radius:8px;flex:1;min-height:46px;font-weight:700}.save-time-correction-button{color:#fff;background:#183a5c;border:0}.cancel-time-correction-button{color:#334155;background:#fff;border:1px solid #9aa7b5}.time-entry-correction-warning{color:#5b6673;margin-top:12px;margin-bottom:0;font-size:.85rem}@media (width<=640px){.time-entry-correction-grid{grid-template-columns:1fr}.time-entry-correction-buttons{flex-direction:column}}.create-employee-button:hover:not(:disabled){background:#3e5968}.secondary-button:hover:not(:disabled){background:#dde5e9;border-color:#9eabb5}button.dashboard-stat-card:hover{background:#f7f9fa;border-color:#c6d0d7}.office-calendar-switch{background:#e8edf0;border:1px solid #ccd7de;border-radius:9px;gap:4px;margin-top:16px;padding:4px;display:inline-flex}.office-calendar-switch button{color:#536471;background:0 0;border:0;border-radius:6px;min-height:34px;padding:6px 14px;font-weight:700}.office-calendar-switch button.active{color:#183142;background:#fff;box-shadow:0 1px 3px #1831422e}.office-dashboard-shell{--dashboard-navy:#183142;--dashboard-ink:#172733;--dashboard-muted:#657480;--dashboard-line:#dfe5e8;background:#eef1f3;grid-template-columns:214px minmax(0,1fr)}.office-dashboard-shell>.admin-sidebar{background:var(--dashboard-navy);flex-direction:column;width:214px;padding:16px 12px;display:flex}.office-dashboard-shell .admin-sidebar-brand{min-height:48px;padding:0 8px 14px}.office-dashboard-shell .admin-sidebar-nav{flex:auto;gap:2px;margin-top:12px}.office-dashboard-shell .admin-sidebar-footer{border-top:1px solid #ffffff1f;flex:none;margin-top:auto;padding:14px 8px 0}.admin-sidebar-account strong,.admin-sidebar-account span{display:block}.admin-sidebar-account strong{color:#fff;font-size:13px}.admin-sidebar-account span{color:#ffffffad;margin-top:3px;font-size:11px}.admin-sidebar-signout{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff52;border-radius:7px;width:100%;min-height:34px;margin-top:10px;font-weight:800}.admin-sidebar-signout:hover{background:#ffffff2e}.office-dashboard-shell .admin-sidebar-section{margin:14px 10px 4px;font-size:9px}.office-dashboard-shell .admin-sidebar-button{border-radius:6px;min-height:36px;padding:7px 10px;font-size:12px}.office-dashboard-shell .admin-sidebar-button-active{background:#537287;box-shadow:inset 3px 0 #b8d1df}.office-dashboard-main{max-width:none;box-shadow:none;background:0 0;border-radius:0;grid-template-columns:minmax(0,1fr) 196px;align-content:start;gap:14px;margin:0;padding:0 18px 24px;display:grid}.office-dashboard-topbar{border-bottom:1px solid var(--dashboard-line);background:#fff;grid-column:1;min-height:58px;margin:0 -18px;padding:8px 20px}.office-dashboard-topbar h1{color:var(--dashboard-ink);margin:0;font-size:19px}.office-dashboard-topbar p{color:var(--dashboard-muted);margin:2px 0 0;font-size:11px}.office-dashboard-topbar .admin-user-summary strong,.office-dashboard-topbar .admin-user-summary span{font-size:11px}.office-dashboard-topbar .admin-signout-button{min-height:32px;padding:6px 10px}.office-dashboard-search{grid-column:1/-1;margin:0}.office-dashboard-search>input{border-color:var(--dashboard-line);background:#fff;border-radius:8px;min-height:38px}.office-dashboard-calendar{border:1px solid var(--dashboard-line);background:#fff;border-radius:10px;grid-column:1;padding:10px;margin:0!important}.office-dashboard-calendar>.dashboard-section-header{margin-bottom:6px}.office-dashboard-calendar>div:nth-child(2){gap:6px!important}.office-calendar-week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.office-calendar-error{color:#7a4614;background:#fff8ef;border:1px solid #f3c58f;border-radius:7px;gap:3px;margin-top:12px;padding:9px 10px;font-size:12px;display:grid}.office-calendar-error strong,.office-calendar-error span{font-size:inherit;line-height:1.3}.office-dashboard-calendar .dashboard-stat-card{width:100%;box-shadow:none;color:inherit;font:inherit;border-radius:7px;min-height:112px!important;padding:8px!important}.office-calendar-weatherization{border-top:0}.office-calendar-weatherization .dashboard-section-header h2{color:#315f78}.office-calendar-weatherization .dashboard-stat-card{background:#f7fafc;border-color:#cddce4}.office-calendar-roofing{border-top:0}.office-calendar-roofing .dashboard-section-header h2{color:#654b7b}.office-calendar-roofing .dashboard-stat-card{background:#fbf9fc;border-color:#ddd3e5}.office-calendar-weatherization .office-calendar-event,.office-calendar-roofing .office-calendar-event{background:#fff}.office-dashboard-calendar .office-calendar-event strong{margin-top:0;font-size:13px;line-height:1.25}.office-calendar-day-clickable{cursor:pointer}.office-calendar-day-clickable:hover,.office-calendar-day-clickable:focus-visible{background:#f9fbfc;border-color:#7e9aab;outline:none}.office-calendar-event-title{color:#17232c;max-width:100%;font:inherit;text-align:left;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;margin:0 0 3px;padding:0;font-size:13px;font-weight:800;line-height:1.25;-webkit-text-decoration:underline #9aabb6;text-decoration:underline #9aabb6}.office-calendar-event-title:hover,.office-calendar-event-title:focus-visible{color:#174e70;outline:none;text-decoration-color:currentColor}.office-dashboard-calendar .office-calendar-event span{font-size:10px;line-height:1.2}.office-calendar-more{margin-top:1px;line-height:1.2;color:#36566d!important;text-transform:none!important;font-size:11px!important;font-weight:800!important}.office-calendar-dialog-backdrop{z-index:1000;background:#12202b7a;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.office-calendar-dialog{background:#fff;border:1px solid #cfd9df;border-radius:10px;width:min(620px,100%);max-height:min(720px,100vh - 48px);padding:18px;overflow:auto;box-shadow:0 18px 50px #12202b3d}.office-calendar-dialog>header{border-bottom:1px solid #dbe3e8;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;display:flex}.office-calendar-dialog>header span{color:#667987;letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:800}.office-calendar-dialog>header h2{margin:3px 0 0;font-size:20px}.office-calendar-dialog>header button{color:#243642;background:#f7f9fa;border:1px solid #aebdc7;border-radius:6px;min-width:72px;padding:7px 10px;font-weight:800}.office-calendar-dialog-events{gap:8px;margin-top:14px;display:grid}.office-calendar-dialog-events article{background:#fbfcfd;border:1px solid #d9e1e6;border-radius:7px;padding:11px 12px}.office-calendar-dialog-events article div{justify-content:space-between;align-items:baseline;gap:14px;display:flex}.office-calendar-dialog-events article strong{font-size:13px}.office-calendar-dialog-events article span,.office-calendar-dialog-events article p{color:#657785;font-size:11px}.office-calendar-dialog-events article p{margin:5px 0 0}.office-calendar-event-details{gap:14px;margin-top:14px;display:grid}.office-calendar-event-details>div{gap:4px;display:grid}.office-calendar-event-details span{color:#667987;letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:800}.office-calendar-event-details strong,.office-calendar-event-details p{color:#243642;white-space:pre-wrap;margin:0;font-size:13px;line-height:1.45}.office-dashboard-shell .office-dashboard-map-grid{grid-column:1;grid-template-columns:minmax(0,1fr)!important;margin-bottom:0!important}.office-dashboard-map-heading{grid-column:1;margin:0!important}.office-dashboard-workforce-heading{display:none!important}.office-dashboard-map{border-radius:10px;min-height:390px!important}.office-dashboard-working{display:none}.office-dashboard-summary{background:var(--dashboard-navy);z-index:25;border-left:1px solid #ffffff24;border-radius:0;grid-area:3/2/span 3;grid-template-columns:1fr;align-content:start;align-self:start;gap:8px;width:214px;height:100vh;min-height:100vh;max-height:100vh;margin:0;padding:14px 12px 24px;position:fixed;top:0;bottom:0;right:0;overflow:hidden}.office-dashboard-summary .dashboard-stat-card{border-color:var(--dashboard-line);min-height:64px;box-shadow:none;background:#fff;border-radius:9px;padding:9px 12px}.office-dashboard-summary .dashboard-stat-card span{letter-spacing:.04em;font-size:10px}.office-dashboard-summary .dashboard-stat-card strong{color:var(--dashboard-ink);margin-top:2px;font-size:22px}.office-dashboard-summary .dashboard-stat-card small{margin-top:2px;font-size:10px;line-height:1.2}.office-dashboard-summary .dashboard-warning-card{background:#fffaf3;border-left:3px solid #c47b35}@media (width<=1100px){.office-dashboard-shell{grid-template-columns:72px minmax(0,1fr)}.office-dashboard-shell>.admin-sidebar{width:72px;padding:14px 8px}.office-dashboard-shell .admin-sidebar-brand strong,.office-dashboard-shell .admin-sidebar-brand span,.office-dashboard-shell .admin-sidebar-button-label,.office-dashboard-shell .admin-sidebar-section{display:none}.office-dashboard-shell .admin-sidebar-button>span:first-child{margin:auto;display:inline-flex}.office-dashboard-main{grid-template-columns:minmax(0,1fr) 196px}.office-dashboard-summary{width:214px}}@media (width<=820px){.office-dashboard-main{grid-template-columns:minmax(0,1fr)}.office-dashboard-calendar,.office-dashboard-shell .office-dashboard-map-grid,.office-dashboard-summary{grid-column:1}.office-dashboard-summary{z-index:auto;border-radius:10px;grid-row:auto;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;height:auto;min-height:0;max-height:none;margin:0;padding:12px;position:static;bottom:auto;right:auto;overflow:visible}}@media (width<=700px){.office-dashboard-main{padding:0 10px 18px}.office-dashboard-topbar{margin:0 -10px;padding:10px 12px}.office-dashboard-topbar p,.office-dashboard-topbar .admin-user-summary>div{display:none}.office-dashboard-calendar{overflow-x:auto}.office-dashboard-calendar>div:nth-child(2){min-width:680px}.office-dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.lakeshore-accent-button{color:#fff;background:#5b7486;border:1px solid #5b7486}.lakeshore-accent-button:hover:not(:disabled){background:#496170;border-color:#496170}.lakeshore-accent-outline{color:#496170;background:#f4f8fb;border:1px solid #5b7486}.lakeshore-accent-outline:hover:not(:disabled){color:#3f5563;background:#eaf0f4;border-color:#496170}.lakeshore-accent-button,.manager-button.lakeshore-accent-button{color:#fff!important;background:#5b7486!important;border-color:#5b7486!important}.lakeshore-accent-button:hover:not(:disabled),.manager-button.lakeshore-accent-button:hover:not(:disabled){background:#496170!important;border-color:#496170!important}.lakeshore-accent-outline,.secondary-button.lakeshore-accent-outline{color:#496170!important;background:#f4f8fb!important;border-color:#5b7486!important}.lakeshore-accent-outline:hover:not(:disabled),.secondary-button.lakeshore-accent-outline:hover:not(:disabled){color:#3f5563!important;background:#eaf0f4!important;border-color:#496170!important}.clock-button{color:#fff;background:#2f855a}.clock-button:hover:not(:disabled){background:#276749}.admin-workspace{background:#f4f5f7;grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid}.admin-sidebar{color:#fff;background:#2f4351;border-right:1px solid #ffffff14;align-self:start;min-height:100vh;padding:22px 16px;position:sticky;top:0}.admin-sidebar-brand{border-bottom:1px solid #ffffff1f;align-items:center;gap:12px;padding:4px 8px 22px;display:flex}.admin-sidebar-brand img{object-fit:contain;width:42px;height:42px}.admin-sidebar-brand strong{font-size:17px;display:block}.admin-sidebar-brand span{opacity:.7;margin-top:2px;font-size:12px;display:block}.admin-sidebar-nav{gap:5px;margin-top:20px;display:grid}.admin-sidebar-section{letter-spacing:.08em;text-transform:uppercase;opacity:.55;margin:20px 8px 7px;font-size:11px;font-weight:800}.admin-sidebar-button{color:#fff;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;width:100%;min-height:44px;padding:10px 12px;font-weight:700}.admin-sidebar-button:hover{background:#ffffff14}.admin-sidebar-button-active{background:#5b7486}.admin-main{min-width:0;padding:24px 28px 40px}.admin-main-content{width:100%;max-width:1500px;margin:0 auto}@media (width<=1100px){.admin-workspace{grid-template-columns:84px minmax(0,1fr)}.admin-sidebar{padding-left:10px;padding-right:10px}.admin-sidebar-brand{justify-content:center;padding-left:0;padding-right:0}.admin-sidebar-brand strong,.admin-sidebar-brand span,.admin-sidebar-button-label,.admin-sidebar-section{display:none}.admin-sidebar-button{text-align:center;justify-content:center;align-items:center;padding:10px;display:flex}.admin-main{padding:20px}}@media (width<=700px){.admin-workspace{display:block}.admin-sidebar{display:none}.admin-main{padding:16px}}.admin-sidebar{width:250px}.admin-sidebar-button{gap:12px;min-height:46px;padding:9px 10px;font-size:14px}.admin-sidebar-button>span:first-child{background:#ffffff14;border-radius:7px;flex:0 0 28px;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:900;line-height:1;display:inline-flex}.admin-sidebar-button-active>span:first-child{background:#ffffff2e}.admin-sidebar-button-label{min-width:0;line-height:1.2;display:block}.admin-sidebar-section{margin-top:22px;margin-bottom:8px}.admin-sidebar-brand{min-height:58px}.admin-sidebar-brand img{width:38px;height:38px}.admin-sidebar-brand strong{font-size:16px}.admin-sidebar-brand span{font-size:11px}.admin-workspace>.admin-main{border-radius:12px;box-shadow:0 3px 18px #2f37420d}@media (width<=1100px){.admin-sidebar{width:auto}.admin-sidebar-button>span:first-child{margin:0}}.admin-sidebar-button{flex-direction:row;justify-content:flex-start;align-items:center;display:flex}.admin-sidebar-button-label{text-align:left;flex:1;display:block}@media (width<=1100px){.admin-sidebar-button{justify-content:center}}.admin-sidebar-button>span:first-child{display:none}.admin-sidebar-button{gap:0;padding-left:12px}.admin-sidebar-button-label{width:100%}.admin-user-summary{align-items:center;gap:16px;display:flex}.admin-user-summary>div{flex-direction:column;align-items:flex-end;line-height:1.2;display:flex}.admin-user-summary strong{color:#2f3742;font-size:14px;font-weight:800;display:block}.admin-user-summary span{color:#6b7280;margin-top:3px;font-size:12px;display:block}.admin-signout-button{color:#2f3742;cursor:pointer;background:#fff;border:1px solid #b8c4cc;border-radius:8px;min-height:38px;padding:8px 13px;font-weight:700}.admin-signout-button:hover{background:#f4f5f7;border-color:#9eabb5}.admin-global-search{margin-top:22px;margin-bottom:8px;position:relative}.admin-global-search>input{color:#2f3742;background:#fff;border:1px solid #c8d0d7;border-radius:10px;outline:none;width:100%;min-height:48px;padding:11px 15px;font-size:15px}.admin-global-search>input:focus{border-color:#5b7486;box-shadow:0 0 0 3px #5b74861f}.admin-global-search-results{z-index:50;background:#fff;border:1px solid #d8dde2;border-radius:10px;max-height:420px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 28px #2f374224}.admin-global-search-result{color:#2f3742;text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:11px 12px;display:flex}.admin-global-search-result:hover{background:#f4f7f9}.admin-global-search-result strong,.admin-global-search-result span{display:block}.admin-global-search-result span{color:#6b7280;margin-top:3px;font-size:12px}.admin-global-search-result a{color:#496170;flex:none;font-size:12px;font-weight:800;text-decoration:none}.admin-global-employee-result{cursor:pointer}.admin-global-search-empty{color:#6b7280;text-align:center;padding:14px;font-size:13px}.jobs-workspace{gap:14px;margin-top:16px;display:grid}.jobs-workspace-search-card,.jobs-workspace-selected,.jobs-workspace-placeholder{background:#fff;border:1px solid #d8dde2;border-radius:12px;padding:16px 18px}.jobs-workspace-search-header h2,.jobs-workspace-selected h2{margin:0 0 6px}.jobs-workspace-search-header p,.jobs-workspace-selected p{color:#6b7280;margin:0 0 16px}.jobs-workspace-results{gap:8px;margin-top:12px;display:grid}.jobs-workspace-result{color:#2f3742;text-align:left;cursor:pointer;background:#fff;border:1px solid #d8dde2;border-radius:9px;width:100%;padding:12px 14px}.jobs-workspace-result:hover{background:#f7f9fa}.jobs-workspace-result-active{background:#eef3f6;border-color:#5b7486}.jobs-workspace-result strong,.jobs-workspace-result span{display:block}.jobs-workspace-result span{color:#6b7280;margin-top:4px;font-size:13px}.jobs-workspace-empty,.jobs-workspace-placeholder{color:#6b7280;text-align:center}.jobs-workspace-selected-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.jobs-workspace-eyebrow{color:#6b7280;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:800;display:block}.jobs-workspace-project-number{color:#6b7280;margin-top:6px;font-size:12px;display:block}.jobs-workspace-tabs{gap:8px;margin-top:16px;padding-bottom:4px;display:flex;overflow-x:auto}.jobs-open-field-work{background:#fff;border:1px solid #d8dde2;border-radius:12px;gap:16px;padding:20px;display:grid}.jobs-open-field-work-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.jobs-open-field-work-header h2,.jobs-open-field-work-header p{margin:0}.jobs-open-field-work-header p{color:#64748b;margin-top:5px}.jobs-open-field-work-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.jobs-open-field-work-row{color:#263641;cursor:pointer;text-align:left;background:#fbfcfd;border:1px solid #d8e0e7;border-radius:10px;gap:5px;padding:15px;display:grid}.jobs-open-field-work-row:hover{background:#f1f6f8;border-color:#698293}.jobs-open-field-work-row>span:not(.jobs-open-field-work-type),.jobs-open-field-work-row small{color:#64748b}.jobs-open-field-work-type{color:#526d7c;letter-spacing:.06em;font-size:10px;font-weight:900}.jobs-workspace-tab{color:#2f3742;cursor:pointer;background:#f4f5f7;border:1px solid #d8dde2;border-radius:8px;flex:none;min-height:40px;padding:8px 13px;font-weight:700}.jobs-workspace-tab-active{color:#fff;background:#4f6b7a;border-color:#4f6b7a}.jobs-workspace-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.jobs-workspace-detail-card{background:#f8fafb;border:1px solid #d8dde2;border-radius:10px;padding:16px}.jobs-workspace-detail-card span{color:#6b7280;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:800;display:block}.jobs-workspace-detail-card strong{color:#2f3742;line-height:1.4;display:block}@media (width<=1100px){.jobs-workspace-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.jobs-workspace-selected-header,.jobs-open-field-work-header{flex-direction:column}.jobs-open-field-work-list,.jobs-workspace-overview{grid-template-columns:1fr}}.employee-list-view{background:#fff;border:1px solid #dfe3e7;border-radius:10px;margin-top:18px;overflow:hidden}.employee-list-heading,.employee-list-row{grid-template-columns:minmax(260px,2fr) 1fr 1fr 1fr;align-items:center;gap:18px;display:grid}.employee-list-heading{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;background:#f4f5f7;padding:11px 16px;font-size:.75rem;font-weight:800}.employee-list-row{color:#2f3742;text-align:left;cursor:pointer;background:#fff;border:0;border-top:1px solid #e6e9ec;width:100%;padding:13px 16px}.employee-list-row:hover{background:#f8fafb}.employee-list-person{flex-direction:column;gap:3px;display:flex}.employee-list-person strong{font-size:.95rem}.employee-list-person small{color:#77808a}.employee-list-role{text-transform:capitalize}.employee-profile-view{margin-top:4px}.employee-profile-toolbar{justify-content:flex-end;margin-bottom:8px;display:flex}.employee-profile-header{background:#fff;border:1px solid #dfe3e7;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:20px;padding:14px 18px;display:flex}.employee-profile-header h2{margin:3px 0 2px;font-size:1.35rem}.employee-profile-header p{color:#6f7882;margin:0}.employee-profile-eyebrow{letter-spacing:.08em;color:#78828c;font-size:.72rem;font-weight:800}.employee-profile-grid{display:none}.employee-profile-card{background:#fff;border:1px solid #dfe3e7;border-radius:10px;min-height:82px;padding:13px 15px}.employee-profile-card span{color:#77808a;margin-bottom:5px;font-size:.78rem;display:block}.employee-profile-future{background:#f8f9fa;border:1px solid #dfe3e7;border-radius:10px;margin-top:14px;padding:18px}.employee-profile-future h3{margin:0 0 6px}.employee-profile-future p{color:#6f7882;margin:0}.employee-profile-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.employee-profile-actions .roster-action-button{width:auto;padding:9px 11px;font-size:.78rem}@media (width<=1100px){.employee-list-heading,.employee-list-row{grid-template-columns:minmax(220px,2fr) 1fr 1fr}.employee-list-heading span:last-child,.employee-list-row>span:last-child{display:none}.employee-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.employee-list-heading{display:none}.employee-list-row{grid-template-columns:1fr auto}.employee-list-row>span:nth-child(3),.employee-list-row>span:nth-child(4){display:none}.employee-profile-grid{grid-template-columns:1fr}}.employee-profile-sections{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.employee-profile-section{background:#fff;border:1px solid #dfe3e7;border-radius:10px;overflow:hidden}.employee-profile-section-header{background:#f8f9fa;border-bottom:1px solid #e6e9ec;justify-content:space-between;align-items:center;gap:16px;padding:10px 14px;display:flex}.employee-profile-section-header h3{margin:0;font-size:1rem}.employee-profile-section-header span{color:#7a838d;font-size:.78rem}.employee-profile-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid}.employee-profile-detail-grid>div{border-bottom:1px solid #edf0f2;border-right:1px solid #edf0f2;min-height:54px;padding:9px 14px}.employee-profile-detail-grid>div:nth-child(2n){border-right:0}.employee-profile-detail-grid span{color:#77808a;margin-bottom:5px;font-size:.76rem;display:block}.employee-profile-detail-grid strong{color:#2f3742;display:block}.employee-profile-field{color:#2f3742;width:100%;min-height:30px;font:inherit;background:#fff;border:1px solid #cfd6dd;border-radius:6px;padding:4px 8px;font-weight:600}.employee-profile-field:focus{border-color:#4f6b7a;outline:2px solid #4f6b7a29}.employee-profile-detail-wide{grid-column:span 2}@media (width<=1100px){.employee-profile-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-profile-detail-grid>div:nth-child(2n){border-right:0}.employee-profile-detail-wide{grid-column:span 2}}@media (width<=800px){.employee-profile-sections{grid-template-columns:1fr}}.employee-profile-toolbar .compact-button,.employee-edit-header .edit-cancel-button,.employee-roster-header .compact-button{width:auto;min-height:34px;padding:7px 10px;font-size:.8rem}@media (width<=700px){.employee-profile-detail-grid{grid-template-columns:1fr}.employee-profile-detail-grid>div,.employee-profile-detail-grid>div:nth-child(2n),.employee-profile-detail-grid>div:nth-child(3n){border-right:0}.employee-profile-detail-wide{grid-column:span 1}}.payroll-button{color:#fff;background:#4f6b7a}.payroll-button:hover{background:#435d6b}.payroll-total-card{background:#fff;border:1px solid #d8dee5;border-radius:10px;margin:14px 0;padding:18px 20px;box-shadow:0 1px 2px #0f172a08}.payroll-total-card span{color:#475569;font-weight:700}.payroll-total-card strong{color:#2f3742;font-size:28px}.export-button{color:#fff;cursor:pointer;background:#4f6b7a;border:0;border-radius:8px;width:100%;margin-top:6px;margin-bottom:20px;padding:14px;font-weight:800}.export-button:hover:not(:disabled){background:#435d6b}.export-button:disabled{color:#fff;opacity:1;cursor:not-allowed;background:#aebbc2}.management-filters{background:#f8f9fa;border:1px solid #d8dee5;border-radius:10px;padding:16px}@media (width>=701px) and (width<=1100px){.admin-workspace{grid-template-columns:190px minmax(0,1fr)}.admin-sidebar{width:190px;padding:18px 12px}.admin-sidebar-brand{justify-content:flex-start;gap:10px}.admin-sidebar-brand strong,.admin-sidebar-brand span{display:block}.admin-sidebar-brand strong{font-size:14px}.admin-sidebar-brand span{font-size:10px}.admin-sidebar-section{margin-top:18px;margin-bottom:6px;font-size:9px;display:block}.admin-sidebar-button{text-align:left;justify-content:flex-start;min-height:44px;padding:9px 10px}.admin-sidebar-button-label{text-align:left;width:100%;font-size:13px;line-height:1.2;display:block}.admin-sidebar-button>span:first-child{display:none}.admin-main{padding:18px}.admin-workspace>.admin-main{margin:18px}}.job-operations-panel{gap:14px;margin-top:14px;display:grid}.job-operations-heading,.job-operation-card-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.job-operations-heading h2,.job-operation-card h3,.job-operations-heading p,.job-operation-card p{margin:0}.job-operations-heading p{color:#64717d;margin-top:5px}.job-operation-create,.job-operation-card{background:#fff;border:1px solid #d8e0e7;border-radius:12px;gap:12px;padding:14px 16px;display:grid}.job-operation-create label,.job-operation-card small{gap:6px;display:grid}.job-operation-create label>span{color:#536676;letter-spacing:.03em;font-size:12px;font-weight:800}.job-operation-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.job-operation-suggested-scope{background:#f8fbfc;border:1px solid #d8e0e7;border-radius:8px;gap:7px;margin-top:10px;padding:10px;display:grid}.job-operation-suggested-scope>div{color:#334d5d;justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.job-operation-suggested-scope .secondary-button{flex:none;padding:5px 8px;font-size:11px}.job-operation-list{grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;display:grid}.job-operation-card-header h3{color:#1c2731;margin-top:7px;font-size:20px}.job-operation-card-header p,.job-operation-card-header small{color:#64717d;margin-top:4px}.job-operation-card-header>strong{color:#334d5d;text-align:center;background:#edf3f6;border-radius:999px;min-width:54px;padding:8px 10px}.job-operation-card-header-toggle{cursor:pointer}.job-operation-card-header-toggle:focus-visible{outline-offset:4px;border-radius:8px;outline:3px solid #315f7b}.job-operation-badges{flex-wrap:wrap;gap:6px;display:flex}.job-operation-badges span{color:#4a6070;letter-spacing:.04em;background:#edf3f6;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:900}.job-operation-badges .job-operation-urgent{color:#a43a2e;background:#fff0ed}.job-operation-description{color:#475966;white-space:pre-wrap;line-height:1.5}.job-operation-progress{background:#e5eaee;border-radius:999px;height:7px;overflow:hidden}.job-operation-progress span{border-radius:inherit;background:#5b7486;height:100%;transition:width .2s;display:block}.job-operation-checklist{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.job-operation-crew-assignment{border-top:1px solid #e2e8ed;grid-template-columns:auto minmax(180px,300px);justify-content:start;align-items:center;gap:10px;padding:10px 0;display:grid}.job-operation-crew-assignment>span{color:#536676;letter-spacing:.03em;font-size:12px;font-weight:800}.job-operation-checklist label{color:#253540;background:#fbfcfd;border:1px solid #dde4e9;border-radius:9px;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:10px;min-height:42px;padding:8px 10px;font-weight:700;line-height:1.35;display:grid}.job-operation-checklist input{accent-color:#4f6b7d;width:22px;height:22px;margin:0}.job-operation-checklist .job-operation-item-complete{color:#52705c;background:#f0f7f2;text-decoration:line-through}.field-mobile-nav{display:none}@media (width<=900px){.field-mobile-shell{padding:12px 10px 92px;display:block}.field-mobile-card{border-radius:12px;max-width:none;padding:18px 16px 24px}.field-mobile-card h1{margin-bottom:6px;font-size:25px}.field-mobile-card .welcome{margin-bottom:20px;font-size:15px}.field-mobile-nav{z-index:100;min-height:68px;padding:6px max(6px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left));background:#fff;border-top:1px solid #d8dee5;grid-template-columns:repeat(6,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #2f374214}.field-mobile-nav-button{color:#68727c;text-align:center;background:0 0;border:0;border-radius:8px;min-width:0;min-height:52px;padding:7px 3px;font-size:11px;font-weight:800}.field-mobile-nav-button span{white-space:nowrap;display:block}.field-mobile-nav-button:disabled{opacity:.45;cursor:default}.field-mobile-nav-active,.field-mobile-nav-active:disabled{color:#2f4351;opacity:1;background:#eaf0f3}.field-mobile-card .field,.field-mobile-card .clock-button,.field-mobile-card .clockout-button,.field-mobile-card .secondary-button{min-height:54px}.job-operations-heading,.job-operation-card-header{flex-direction:column;align-items:stretch}.job-operation-form-grid,.job-operation-list,.job-operation-checklist{grid-template-columns:1fr}.job-operation-card-header>strong{align-self:flex-start}}.field-clock-content-hidden{display:none}.field-work-search{gap:6px;margin:16px 0;display:grid}.field-work-search>span{color:#536676;letter-spacing:.03em;font-size:12px;font-weight:800}.field-jobs-view{display:block}.field-mobile-view-header{margin:20px 0}.field-mobile-view-eyebrow{color:#73808a;letter-spacing:.1em;margin-bottom:4px;font-size:10px;font-weight:900;display:block}.field-mobile-view-header h2{color:#2f3742;margin:0 0 6px;font-size:26px}.field-mobile-view-header p{color:#68727c;margin:0;font-size:14px;line-height:1.4}.field-jobs-nearby,.field-jobs-search,.field-jobs-selected{background:#fff;border:1px solid #d8dee5;border-radius:12px;margin-top:16px;padding:16px}.field-jobs-section-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.field-jobs-section-header strong,.field-jobs-section-header span{display:block}.field-jobs-section-header span{color:#77808a;margin-top:3px;font-size:12px}.field-jobs-location-button{color:#496170;background:#f4f8fb;border:1px solid #5b7486;border-radius:8px;min-height:40px;padding:8px 11px;font-size:12px;font-weight:800}.field-jobs-list{gap:8px;margin-top:12px;display:grid}.field-jobs-result{color:#2f3742;text-align:left;background:#fff;border:1px solid #d8dee5;border-radius:9px;justify-content:space-between;align-items:center;gap:14px;width:100%;padding:13px;display:flex}.field-jobs-result strong,.field-jobs-result span{display:block}.field-jobs-result span{color:#6f7882;margin-top:3px;font-size:12px}.field-jobs-result small{color:#496170;white-space:nowrap;flex:none;font-weight:900}.field-jobs-result:disabled{opacity:.55}.field-jobs-empty{color:#6f7882;background:#f8f9fa;border-radius:8px;padding:14px;font-size:13px}.field-jobs-count{color:#77808a;margin-top:7px;font-size:12px;font-weight:700}.field-jobs-selected>span{color:#77808a;letter-spacing:.08em;margin-bottom:5px;font-size:10px;font-weight:900;display:block}.field-jobs-selected>strong{color:#2f3742;font-size:18px;display:block}.field-jobs-selected p{color:#68727c;margin:6px 0 14px;line-height:1.45}.field-jobs-clock-button{color:#fff;background:#2f855a;border:0;border-radius:8px;width:100%;min-height:50px;font-weight:900}.field-timesheet-view{display:block}@media (width>=0){.field-timesheet-view{display:block}.field-timesheet-list{gap:12px;margin-top:16px;display:grid}.field-timesheet-card{background:#fff;border:1px solid #d8dee5;border-radius:12px;padding:16px}.field-timesheet-travel{border-left:5px solid #5b7486}.field-timesheet-card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.field-timesheet-card-top strong{color:#2f3742;font-size:16px;line-height:1.3;display:block}.field-timesheet-travel-label{color:#fff;letter-spacing:.08em;background:#2f4351;border-radius:6px;margin-bottom:6px;padding:4px 8px;font-size:10px;font-weight:900;display:inline-block}.field-timesheet-status{color:#68727c;text-transform:uppercase;background:#eef2f4;border-radius:999px;flex:none;padding:4px 7px;font-size:10px;font-weight:800}.field-timesheet-date{color:#77808a;margin-top:6px;font-size:12px}.field-timesheet-time-row{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;display:grid}.field-timesheet-time-row>div{background:#f8f9fa;border-radius:8px;padding:10px}.field-timesheet-time-row span,.field-timesheet-time-row strong{display:block}.field-timesheet-time-row span{color:#77808a;text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:800}.field-timesheet-time-row strong{color:#2f3742;font-size:14px}.field-timesheet-rejection{color:#991b1b;background:#fff1f2;border-radius:8px;margin-top:12px;padding:10px;font-size:12px;font-weight:700}.field-timesheet-empty{color:#68727c;text-align:center;background:#f8f9fa;border:1px solid #d8dee5;border-radius:12px;margin-top:16px;padding:20px}.field-timesheet-days{gap:12px;margin-top:16px;display:grid}.field-timesheet-day-card{background:#fff;border:1px solid #d8dee5;border-radius:12px;overflow:hidden}.field-timesheet-day-summary{color:#2f3742;text-align:left;background:#fff;border:0;width:100%;padding:16px}.field-timesheet-day-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.field-timesheet-day-heading strong{font-size:17px}.field-timesheet-day-heading span{color:#77808a;font-size:11px;font-weight:800}.field-timesheet-day-totals{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;display:grid}.field-timesheet-day-totals>div{background:#f8f9fa;border-radius:8px;padding:9px}.field-timesheet-day-totals span,.field-timesheet-day-totals strong{display:block}.field-timesheet-day-totals span{color:#77808a;text-transform:uppercase;margin-bottom:3px;font-size:9px;font-weight:800}.field-timesheet-day-totals strong{font-size:14px}.field-timesheet-expand-label{color:#4f6b7a;text-align:center;margin-top:12px;font-size:11px;font-weight:900}.field-timesheet-day-details{background:#f8f9fa;border-top:1px solid #edf0f2;gap:10px;padding:0 12px 12px;display:grid}.field-timesheet-day-details .field-timesheet-card{margin-top:10px}}.field-team-view{display:block}@media (width<=900px){.field-team-view{display:block}.field-team-list{gap:12px;margin-top:16px;display:grid}.field-team-card{background:#fff;border:1px solid #d8dee5;border-radius:12px;padding:16px}.field-team-card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.field-team-card-top strong{color:#2f3742;font-size:16px;display:block}.field-team-role{color:#77808a;text-transform:capitalize;margin-top:3px;font-size:11px;font-weight:700;display:block}.field-team-status{letter-spacing:.04em;border-radius:999px;flex:none;padding:5px 8px;font-size:9px;font-weight:900}.field-team-status-working{color:#276749;background:#e8f5ee}.field-team-status-travel{color:#2f4351;background:#eaf0f3}.field-team-status-off{color:#77808a;background:#f1f3f5}.field-team-current{background:#f8f9fa;border-radius:8px;margin-top:12px;padding:11px}.field-team-current span,.field-team-current strong,.field-team-current small{display:block}.field-team-current span{color:#77808a;text-transform:uppercase;font-size:9px;font-weight:800}.field-team-current strong{color:#2f3742;margin-top:3px;font-size:14px}.field-team-current small{color:#68727c;margin-top:5px;font-size:11px}.field-team-empty{color:#68727c;text-align:center;background:#f8f9fa;border:1px solid #d8dee5;border-radius:12px;margin-top:16px;padding:20px}}.field-more-view{display:block}@media (width>=0){.field-more-view{display:block}.field-more-list{gap:12px;margin-top:16px;display:grid}.field-more-button{color:#2f3742;text-align:left;background:#fff;border:1px solid #d8dee5;border-radius:12px;width:100%;padding:15px 16px}.field-more-button strong,.field-more-button span{display:block}.field-more-button strong{font-size:15px}.field-more-button span{color:#77808a;margin-top:4px;font-size:11px}.field-more-button:disabled{opacity:.6}.field-more-signout{border-color:#e3c8c8;margin-top:8px}.field-more-signout strong{color:#9b2c2c}}.auto-clock-card{background:#fff;border:1px solid #d8dee5;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;padding:14px 15px;display:flex}.auto-clock-card strong,.auto-clock-card span{display:block}.auto-clock-card strong{color:#2f3742;font-size:15px}.auto-clock-card span{color:#77808a;margin-top:3px;font-size:11px;line-height:1.35}.auto-clock-toggle{color:#68727c;background:#eef2f4;border:1px solid #cbd5dc;border-radius:999px;flex:none;min-width:58px;min-height:38px;font-size:12px;font-weight:900}.auto-clock-toggle-on{color:#fff;background:#2f855a;border-color:#2f855a}.auto-clock-prompt{background:#eef4f7;border:1px solid #9fb5c3;border-radius:12px;margin-bottom:14px;padding:16px}.auto-clock-prompt>span,.auto-clock-prompt>strong,.auto-clock-prompt>div,.auto-clock-prompt>small{display:block}.auto-clock-prompt>span{color:#3f6277;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:900}.auto-clock-prompt>strong{color:#1f3442;margin-top:4px;font-size:20px}.auto-clock-prompt>div:not(.auto-clock-prompt-actions){color:#29495d;margin-top:4px;font-size:15px;font-weight:800}.auto-clock-prompt>small{color:#52687a;margin-top:6px;font-size:12px;line-height:1.4}.auto-clock-prompt-actions{grid-template-columns:1fr 1.5fr;gap:8px;margin-top:14px;display:grid!important}.auto-clock-prompt-actions .secondary-button,.auto-clock-prompt-actions .clock-button{width:100%;min-height:44px;margin:0}.auto-clock-confirmation{text-align:center;background:#e8f5ee;border:1px solid #b8dfc8;border-radius:12px;margin-bottom:14px;padding:18px}.auto-clock-confirmation span,.auto-clock-confirmation strong,.auto-clock-confirmation div{display:block}.auto-clock-confirmation span{color:#276749;letter-spacing:.08em;font-size:11px;font-weight:900}.auto-clock-confirmation strong{color:#1f5138;margin-top:5px;font-size:20px}.auto-clock-confirmation div{color:#276749;margin-top:4px;font-size:15px;font-weight:800}@media (width>=901px){.field-mobile-nav{background:#fff;border:1px solid #d8dee5;border-radius:12px;grid-template-columns:repeat(6,1fr);gap:8px;width:min(760px,100% - 40px);margin:18px auto 30px;padding:8px;display:grid;box-shadow:0 4px 14px #2f374214}.field-mobile-nav-button{color:#68727c;cursor:pointer;background:0 0;border:0;border-radius:8px;min-height:48px;padding:10px 12px;font-size:13px;font-weight:800}.field-mobile-nav-button span{display:block}.field-mobile-nav-active,.field-mobile-nav-active:disabled{color:#2f4351;opacity:1;background:#eaf0f3}}.active-travel-banner{text-align:center;background:#eef3f6;border:2px solid #5b7486;border-radius:12px;margin:14px 0;padding:16px}.active-travel-banner span,.active-travel-banner strong,.active-travel-banner small{display:block}.active-travel-banner span{color:#2f4351;letter-spacing:.12em;font-size:12px;font-weight:900}.active-travel-banner strong{color:#263746;margin-top:5px;font-size:20px}.active-travel-banner small{color:#68727c;margin-top:5px;font-size:12px;font-weight:700}.office-dashboard-topbar{gap:18px;overflow:visible}.office-dashboard-topbar>div:first-child,.office-dashboard-topbar .admin-user-summary{flex:none}.office-dashboard-topbar .office-dashboard-search{z-index:60;flex:420px;grid-column:auto;min-width:240px;max-width:680px;margin:0}.office-dashboard-topbar .office-dashboard-search>input{border-color:var(--dashboard-line);border-radius:8px;min-height:34px;padding:7px 12px;font-size:13px}.office-dashboard-map{min-height:580px!important}.office-dashboard-summary{grid-row:2/span 3}@media (width<=820px){.office-dashboard-topbar{flex-wrap:wrap}.office-dashboard-topbar .office-dashboard-search{flex-basis:100%;order:3;max-width:none}.office-dashboard-summary{grid-row:auto}}.admin-workspace>.admin-sidebar{overscroll-behavior:contain;align-self:start;height:100vh;min-height:100vh;max-height:100vh;position:sticky;top:0;overflow-y:auto}.admin-workspace{--dashboard-navy:#183142;grid-template-columns:214px minmax(0,1fr)}.admin-workspace>.admin-sidebar{background:var(--dashboard-navy);width:214px;padding:16px 12px}.admin-workspace .admin-sidebar-brand{min-height:48px;padding:0 8px 14px}.admin-workspace .admin-sidebar-nav{gap:2px;margin-top:12px}.admin-workspace .admin-sidebar-section{margin:14px 10px 4px;font-size:9px}.admin-workspace .admin-sidebar-button{border-radius:6px;min-height:36px;padding:7px 10px;font-size:12px}.admin-workspace .admin-sidebar-button-active{background:#537287;box-shadow:inset 3px 0 #b8d1df}@media (width<=1100px){.admin-workspace{grid-template-columns:72px minmax(0,1fr)}.admin-workspace>.admin-sidebar{width:72px;padding:14px 8px}.admin-workspace .admin-sidebar-brand strong,.admin-workspace .admin-sidebar-brand span,.admin-workspace .admin-sidebar-button-label,.admin-workspace .admin-sidebar-section{display:none}.admin-workspace .admin-sidebar-button>span:first-child{margin:auto;display:inline-flex}}.settings-admin-workspace{background:#f5f7f8}.settings-workspace{background:#fff;grid-template-columns:286px minmax(0,1fr);min-width:0;min-height:100vh;display:grid}.settings-menu-column{background:#f8fafb;border-right:1px solid #d8e0e5;min-width:0}.settings-menu-header{background:#fff;border-bottom:1px solid #d8e0e5;min-height:76px;padding:16px 18px 14px}.settings-menu-header span,.settings-detail-heading>div>span{color:#607486;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800;display:block}.settings-menu-header strong{color:#18232e;margin-top:5px;font-size:17px;display:block}.settings-navigation{padding-bottom:18px}.settings-navigation-group h2{color:#314a5c;letter-spacing:.06em;text-transform:uppercase;background:#e7ecef;border-bottom:1px solid #cbd4da;margin:0;padding:8px 18px;font-size:10px;font-weight:800}.settings-navigation-list{gap:6px;padding:9px 12px;display:grid}.settings-navigation-button{color:#314a5c;text-align:left;cursor:pointer;background:#fff;border:1px solid #d6dee3;border-radius:7px;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:40px;margin:0;padding:7px 10px;font-size:12px;font-weight:700;display:grid}.settings-navigation-button:hover{background:#f4f8fa;border-color:#9fb2bf}.settings-navigation-button-active{background:#eef4f7;border-color:#537287;box-shadow:inset 3px 0 #537287}.settings-navigation-marker,.settings-detail-marker{color:#314a5c;background:#e4edf2;border-radius:50%;justify-content:center;align-items:center;font-weight:900;display:inline-flex}.settings-navigation-marker{width:24px;height:24px;font-size:10px}.settings-navigation-chevron{color:#7890a0;font-size:21px;font-weight:400;line-height:1}.settings-detail-column{background:#fff;min-width:0;padding:24px 28px 40px}.settings-detail-header{border-bottom:1px solid #e1e7eb;padding-bottom:18px}.settings-detail-heading{align-items:center;gap:12px;display:flex}.settings-detail-marker{color:#fff;background:#314a5c;flex:0 0 42px;width:42px;height:42px;font-size:14px}.settings-detail-heading h1{color:#17212b;margin:3px 0 0;font-size:24px;line-height:1.15}.settings-detail-header>p{color:#607080;max-width:680px;margin:10px 0 0 54px;font-size:13px}.settings-detail-card{background:#fff;border:1px solid #d8e0e5;border-radius:10px;width:100%;margin-top:20px;padding:20px;box-shadow:0 2px 8px #1831420a}.settings-detail-card-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.settings-detail-card-header h2{color:#17212b;margin:0;font-size:18px}.settings-detail-card-header p{color:#607080;margin:5px 0 0;font-size:13px}.settings-state-badge{color:#5b6c78;letter-spacing:.03em;text-transform:uppercase;background:#f2f5f7;border:1px solid #d0d9df;border-radius:999px;flex:none;padding:5px 9px;font-size:10px;font-weight:800}.settings-state-connected{color:#28633f;background:#edf8f1;border-color:#a7d7ba}.settings-detail-row{color:#607080;border-top:1px solid #e3e8ec;border-bottom:1px solid #e3e8ec;justify-content:space-between;gap:18px;margin-top:18px;padding:12px 0;font-size:12px;display:flex}.settings-detail-row strong{color:#243543}.settings-primary-button{color:#fff;background:#537287;border:1px solid #537287;border-radius:7px;width:auto;min-width:210px;margin:18px 0 0;padding:10px 14px;font-size:12px;font-weight:800}@media (width<=900px){.settings-workspace{grid-template-columns:236px minmax(0,1fr)}.settings-detail-column{padding:20px}}@media (width<=700px){.settings-workspace{grid-template-columns:1fr;min-height:100vh}.settings-menu-column{border-bottom:1px solid #d8e0e5;border-right:0}.settings-navigation-list{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-detail-column{padding:18px 16px 32px}.settings-detail-header>p{margin-left:0}}@media (width<=480px){.settings-navigation-list{grid-template-columns:1fr}.settings-detail-card-header,.settings-detail-row{flex-direction:column}.settings-primary-button{width:100%}}.timesheet-review-workspace{background:#fff;grid-template-columns:218px minmax(440px,1fr) 218px;align-items:start;min-width:0;min-height:100vh;display:grid}.timesheet-review-rail{background:#f8fafb;min-width:0;min-height:100vh;padding:16px 14px}.timesheet-employee-rail{border-right:1px solid #d8e0e5}.timesheet-summary-rail{border-left:1px solid #d8e0e5}.timesheet-review-rail header{background:#fff;border-bottom:1px solid #d8e0e5;margin:-16px -14px 14px;padding:15px 14px 13px}.timesheet-review-rail header>span,.timesheet-review-eyebrow,.timesheet-status-filter>span{color:#607486;letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:800;display:block}.timesheet-review-rail h1,.timesheet-review-rail h2{color:#17212b;margin:4px 0 0;font-size:17px}.timesheet-week-field{min-height:36px;margin:5px 0 12px;padding:6px 8px;font-size:12px}.timesheet-employee-list{gap:6px;max-height:calc(100vh - 150px);padding-right:2px;display:grid;overflow-y:auto}.timesheet-employee-button{color:#314a5c;text-align:left;cursor:pointer;background:#fff;border:1px solid #d7e0e5;border-radius:7px;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:9px;width:100%;min-height:48px;margin:0;padding:7px 8px;display:grid}.timesheet-employee-button:hover{background:#f2f7f9;border-color:#9fb2bf}.timesheet-employee-button-active{background:#eef4f7;border-color:#537287;box-shadow:inset 3px 0 #537287}.timesheet-employee-avatar{color:#fff;background:#314a5c;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:9px;font-weight:900;display:inline-flex}.timesheet-employee-button strong,.timesheet-employee-button small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.timesheet-employee-button strong{font-size:12px}.timesheet-employee-button small{color:#6c7d89;text-transform:capitalize;margin-top:2px;font-size:10px}.timesheet-review-main{background:#fff;min-width:0;padding:16px}.timesheet-review-header{border-bottom:1px solid #d8e0e5;justify-content:space-between;align-items:center;gap:16px;min-height:62px;margin:-16px -16px 12px;padding:12px 16px;display:flex}.timesheet-review-header h1{color:#17212b;margin:2px 0 0;font-size:20px}.timesheet-review-header p{color:#607080;margin:3px 0 0;font-size:11px}.timesheet-payroll-button{border-radius:7px;width:auto;margin:0;padding:8px 11px;font-size:11px}.timesheet-review-list{gap:7px}.timesheet-day-card{box-shadow:none;border-radius:7px;padding:0;overflow:hidden}.timesheet-day-summary{cursor:pointer;background:#f2f5f7;grid-template-columns:minmax(120px,1.2fr) minmax(240px,1.4fr) minmax(110px,auto);align-items:center;gap:12px;min-height:52px;padding:8px 34px 8px 11px;list-style:none;display:grid;position:relative}.timesheet-day-summary::-webkit-details-marker{display:none}.timesheet-day-card[open]>.timesheet-day-summary{background:#eaf0f4;border-bottom:1px solid #d8e0e5}.timesheet-day-identity .employee-name{font-size:12px}.timesheet-day-identity>span{color:#607080;margin-top:2px;font-size:10px;font-weight:700;display:block}.timesheet-day-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.timesheet-day-totals>div{border-left:1px solid #d5dee4;min-width:0;padding:4px 6px}.timesheet-day-totals span,.timesheet-day-totals strong{display:block}.timesheet-day-totals span{color:#6a7b87;letter-spacing:.04em;text-transform:uppercase;font-size:8px;font-weight:800}.timesheet-day-totals strong{color:#263744;margin-top:1px;font-size:11px}.timesheet-day-flags{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.timesheet-review-workspace .status-badge{padding:4px 7px;font-size:8px}.timesheet-flag{color:#7b5320;font-size:8px;font-weight:800}.timesheet-day-chevron{color:#607486;font-size:12px;transition:transform .15s;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.timesheet-day-card[open]>.timesheet-day-summary .timesheet-day-chevron{transform:translateY(-50%)rotate(180deg)}.timesheet-day-details{background:#f8fafb;gap:8px;padding:8px;display:grid}.timesheet-entry-card{background:#fff;border-radius:7px;padding:11px}.timesheet-entry-card .timesheet-top{gap:10px}.timesheet-entry-card .employee-name{font-size:13px}.timesheet-entry-card .time-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:10px}.timesheet-entry-card .time-grid div{border:1px solid #e1e7eb;border-radius:6px;padding:7px}.timesheet-entry-card .time-grid span{font-size:9px}.timesheet-entry-card .time-grid strong{font-size:11px}.timesheet-entry-card .distance-summary,.timesheet-entry-card .gps-summary,.timesheet-entry-card .rejection-box{margin-top:10px;font-size:11px}.timesheet-entry-card .time-entry-edit-actions,.timesheet-entry-card .approval-row{margin-top:10px}.timesheet-entry-card .time-entry-edit-actions button,.timesheet-entry-card .approval-row button{min-height:34px;font-size:10px;margin-top:6px!important;padding:8px 10px!important}.timesheet-summary-totals{grid-template-columns:1fr 1fr;gap:7px;display:grid}.timesheet-summary-totals>div{background:#fff;border:1px solid #d8e0e5;border-radius:7px;min-height:68px;padding:10px}.timesheet-summary-totals .timesheet-summary-total{background:#eef4f7;grid-column:1/-1;min-height:76px}.timesheet-summary-totals span,.timesheet-summary-totals strong{display:block}.timesheet-summary-totals span{color:#607486;letter-spacing:.04em;text-transform:uppercase;font-size:8px;font-weight:800}.timesheet-summary-totals strong{color:#17212b;margin-top:5px;font-size:20px}.timesheet-summary-total strong{font-size:26px}.timesheet-status-filter{margin-top:16px}.timesheet-status-filter>span{margin-bottom:6px}.timesheet-status-filter button{color:#415867;text-align:left;cursor:pointer;background:#fff;border:1px solid #d7e0e5;border-radius:6px;justify-content:space-between;align-items:center;width:100%;min-height:34px;margin:0 0 5px;padding:7px 9px;font-size:11px;font-weight:700;display:flex}.timesheet-status-filter button.filter-active{color:#fff;background:#537287;border-color:#537287}.timesheet-review-count{color:#607080;border-top:1px solid #d8e0e5;border-bottom:1px solid #d8e0e5;justify-content:space-between;align-items:center;margin-top:14px;padding:10px;font-size:10px;display:flex}.timesheet-review-count strong{color:#17212b;font-size:17px}.timesheet-review-signed-in{color:#6a7b87;margin:14px 0 0;font-size:10px}.timesheet-summary-rail .message{margin-top:12px;font-size:10px}@media (width<=1200px){.timesheet-review-workspace{grid-template-columns:200px minmax(420px,1fr)}.timesheet-summary-rail{border-top:1px solid #d8e0e5;border-left:0;grid-column:1/-1;grid-template-columns:minmax(180px,.7fr) minmax(240px,1fr) 150px;align-items:start;gap:14px;min-height:0;display:grid}.timesheet-summary-rail header,.timesheet-summary-rail .timesheet-review-signed-in,.timesheet-summary-rail .message{display:none}.timesheet-status-filter{margin-top:0}.timesheet-review-count{margin-top:16px}}@media (width<=820px){.timesheet-review-workspace{grid-template-columns:1fr}.timesheet-review-rail,.timesheet-review-main{min-height:0}.timesheet-employee-rail{border-bottom:1px solid #d8e0e5;border-right:0}.timesheet-employee-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:220px}.timesheet-summary-rail{grid-column:auto;grid-template-columns:1fr}.timesheet-summary-rail header{display:block}.timesheet-day-summary{grid-template-columns:1fr}.timesheet-day-flags{justify-content:flex-start}.timesheet-entry-card .time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.timesheet-employee-list{grid-template-columns:1fr}.timesheet-review-header{flex-direction:column;align-items:flex-start}.timesheet-payroll-button{width:100%}}.weatherization-workspace{align-content:start;width:100%;max-width:none;gap:12px!important;margin-top:16px!important}.weatherization-search-panel{text-align:left;box-shadow:none;border-radius:9px;grid-template-columns:minmax(190px,260px) minmax(280px,1fr);align-items:center;gap:12px;display:grid;min-height:0!important;padding:12px 14px!important}.weatherization-search-copy>strong{display:block;margin-bottom:2px!important;font-size:16px!important}.weatherization-search-copy>span{color:#657480;text-transform:none;font-size:12px;font-weight:500;line-height:1.35;display:block}.weatherization-search-control{min-width:0}.weatherization-search-results{grid-column:1/-1;max-height:280px;overflow-y:auto}.weatherization-search-panel .job-search-field{min-height:38px;padding:8px 11px;font-size:13px}.weatherization-search-panel .job-search-results{margin-top:8px!important}.weatherization-status-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}.weatherization-queue-toggle{text-align:left;box-shadow:none;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;display:flex;min-height:50px!important;padding:9px 12px!important}.weatherization-queue-toggle span{color:#52687a;letter-spacing:0;text-transform:none;font-size:12px;font-weight:750}.weatherization-queue-toggle strong{color:#172733;margin:0;font-size:18px;line-height:1}.weatherization-queue-toggle[aria-expanded=true]{background:#eef4f7;border-color:#537287;box-shadow:inset 3px 0 #537287}.weatherization-queue-toggle:focus-visible{outline-offset:2px;outline:3px solid #53728740}.weatherization-queue-panel{box-shadow:none;border-radius:9px;min-height:0!important;padding:10px!important}.weatherization-queue-panel-header{color:#172733;cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #dfe5e8;grid-template-columns:auto auto 1fr;align-items:center;gap:7px;width:100%;min-height:34px;padding:5px 7px 8px;display:grid}.weatherization-queue-panel-header span{color:#172733;text-transform:none;font-size:13px;font-weight:750}.weatherization-queue-panel-header strong{color:#29495d;background:#e9f0f4;border-radius:999px;margin:0;padding:2px 7px;font-size:12px;line-height:1.2}.weatherization-queue-panel-header span:last-child{color:#52687a;justify-self:end;font-size:11px}.weatherization-queue-list{margin-top:6px}.weatherization-workspace .weatherization-queue-row{background:#fff;border:1px solid #e1e7ea;border-radius:6px;gap:1px;padding:7px 9px;min-height:0!important}.weatherization-workspace .weatherization-queue-row:hover{background:#f6f9fa;border-color:#b7c7d0}.weatherization-workspace .weatherization-queue-row strong{margin:0;font-size:13px!important}.weatherization-workspace .weatherization-queue-row span{margin:1px 0 0;font-size:10px!important}.weatherization-workspace .job-search-results{gap:6px}.weatherization-workspace .job-search-result,.weatherization-workspace .job-search-result-select{border-radius:7px}.weatherization-workspace .job-search-result-select{text-align:left;min-height:0;padding:8px 10px}.weatherization-workspace .job-search-result-select strong{font-size:14px;line-height:1.25}.weatherization-workspace .job-search-result-select span{text-transform:none;margin-top:2px;font-size:11px;line-height:1.25}@media (width<=900px){.weatherization-search-panel{grid-template-columns:1fr;gap:8px}.weatherization-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (width<=560px){.weatherization-workspace{margin-top:10px!important}.weatherization-status-grid{grid-template-columns:1fr!important}}
