@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:100 900;src:url(/fonts/inter.woff2) format("woff2")}:root{--cp-black: #0a0a0a;--cp-charcoal: #171717;--cp-white: #ffffff;--cp-bone: #f7f6f4;--cp-stone: #e7e5e1;--cp-iron: #4a4a4a;--cp-red: #c8102e;--cp-red-dark: #9e0a23;--cp-red-soft: rgba(200, 16, 46, .4);--cp-line: #d9d5ce;--cp-line-soft: #cec8bf;--cp-well: #efede9;--cp-paper: #fbfaf8;--cp-materials: #a8701d;--cp-labour: #2f6b8f;--cp-equipment: #4f7d52;--cp-tab-cap: max(1080px, 58vw);--cp-module-min: max(1160px, 60vw);--cp-crew-paving: #6a5a96;--cp-crew-paving-soft: rgba(106, 90, 150, .07);--cp-crew-patching: #2f7c6e;--cp-crew-patching-soft: rgba(47, 124, 110, .08);color:var(--cp-black);color-scheme:light;background:var(--cp-bone);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=dark]{--cp-black: #f0eee9;--cp-charcoal: #e2dfda;--cp-white: #201f1d;--cp-bone: #191817;--cp-stone: #3a3835;--cp-iron: #a8a29a;--cp-line: #3a3835;--cp-line-soft: #47443f;--cp-well: #161514;--cp-paper: #262523;--cp-materials: #d29a4a;--cp-labour: #6aa5c9;--cp-equipment: #83b287;--cp-crew-paving: #a89bd6;--cp-crew-paving-soft: rgba(168, 155, 214, .12);--cp-crew-patching: #7cc0b2;--cp-crew-patching-soft: rgba(124, 192, 178, .12);color:var(--cp-black);color-scheme:dark;background:var(--cp-bone)}[data-theme=dark] tbody tr:hover td{background:#ffffff0a}[data-theme=dark] .entry-panel.open{background:#ffffff08}[data-theme=dark] .status-badge.red{color:#ef8496}[data-theme=dark] .status-badge.amber{background:#a8a29a29;border-color:#a8a29a57}[data-theme=dark] .status-badge.green{background:#f0eee91a;border-color:#f0eee942}[data-theme=dark] .call-log-stage-table tbody tr:nth-child(2n) td{background:var(--cp-paper)}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0;min-width:320px;min-height:100vh;background:#0a0a0a;overflow-x:hidden}button,input,select,textarea{font:inherit}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{background:var(--cp-paper);color:var(--cp-black);font-size:14px}input:not([type=checkbox]):not([type=radio]):not([type=file]):focus,select:focus,textarea:focus{border-color:var(--cp-red);box-shadow:0 0 0 3px #c8102e24;outline:none}button:focus-visible,a:focus-visible{outline:2px solid var(--cp-red);outline-offset:2px}button{border-radius:2px}.app-shell{display:grid;grid-template-columns:224px minmax(0,1fr);max-width:100vw;min-height:100vh;overflow-x:hidden}.app-shell.sidebar-collapsed{grid-template-columns:minmax(0,1fr)}.app-shell.sidebar-collapsed .sidebar{display:none}.sidebar{background:linear-gradient(180deg,#0a0a0af5,#171717fa),#0a0a0a;border-right:1px solid rgba(74,74,74,.45);color:#fff;display:flex;flex-direction:column;gap:16px;padding:20px 18px}.brand-lockup{border-bottom:1px solid rgba(74,74,74,.55);display:grid;padding-bottom:18px}.mobile-nav-toggle{align-items:center;background:#ffffff14;border:1px solid rgba(255,255,255,.18);border-radius:2px;color:#fff;cursor:pointer;display:none;height:42px;justify-content:center;width:42px}.mobile-nav-toggle:hover{background:#c8102e3d;border-color:#c8102ead}.brand-logo-frame{align-items:center;display:flex;height:48px;overflow:hidden}.brand-logo{height:auto;max-width:176px;width:100%}.brand-lockup h1,.topbar h2,.module-header h3,.section-heading h3{letter-spacing:0;line-height:1.1;margin:0}.brand-lockup p,.eyebrow{margin:0}.module-nav{display:grid;gap:18px}.module-nav-section{display:grid;gap:8px}.nav-group-label{color:#ffffff85;font-size:11px;font-weight:600;letter-spacing:.1em;line-height:1;margin:0;text-transform:uppercase}.module-nav-list{display:grid;gap:6px}.module-nav button{align-items:center;background:transparent;border:1px solid transparent;border-radius:2px;color:#ffffffd1;cursor:pointer;display:flex;font-weight:500;gap:10px;height:40px;padding:0 10px;text-align:left}.module-nav button:hover,.module-nav button.active{background:#ffffff14;border-color:#c8102e8c;color:#fff}.module-nav button.active{box-shadow:inset 4px 0 0 var(--cp-red)}.sidebar-user-select{border-top:1px solid rgba(74,74,74,.55);display:grid;gap:8px;margin-top:2px;padding-top:14px}.sidebar-user-select span{align-items:center;color:#ffffff9e;display:inline-flex;font-size:11px;font-weight:600;gap:6px;letter-spacing:.1em;line-height:1;text-transform:uppercase}.signin-screen{align-items:center;background:#131313;display:grid;justify-items:center;min-height:100vh;padding:24px}.signin-card{background:#1d1c1a;border:1px solid rgba(255,255,255,.14);color:#fff;display:grid;gap:16px;justify-items:center;max-width:430px;padding:40px 36px;text-align:center;width:100%}.signin-logo{max-width:290px;width:100%}.signin-card h1{font-size:20px;font-weight:700}.signin-copy{color:#ffffffb8;font-size:14px}.signin-setup{color:#ffffff8c;font-size:12px;font-weight:500}.signin-error{color:#ff8896;font-size:13px;font-weight:500}.signin-google{align-items:center;background:#fff;border:0;border-radius:2px;color:#131313;cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:600;height:44px;justify-content:center;padding:0 22px;width:100%}.signin-google:hover{background:#efece7}.signin-admin{align-items:center;background:#c8102e;border:0;border-radius:2px;color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:600;height:44px;justify-content:center;padding:0 22px;width:100%}.signin-admin:hover{background:#a30d26}.signin-footnote{color:#ffffff73;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.hr-email-input{background:var(--cp-paper);border:1px solid var(--cp-line-soft);border-radius:2px;color:var(--cp-black);height:34px;padding:0 8px;width:175px}.hr-email-note{color:var(--cp-iron);font-size:11px;font-weight:500}.sidebar-user-name{color:#fff;font-size:14px;font-weight:600;line-height:1}.sidebar-theme-toggle{align-items:center;background:#ffffff14;border:1px solid rgba(255,255,255,.18);border-radius:2px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:8px;height:38px;justify-content:center;margin-top:8px;width:100%}.sidebar-theme-toggle:hover{background:#c8102e3d;border-color:#c8102ead}.sidebar-theme-toggle.active{border-color:#c8102ead;box-shadow:inset 4px 0 0 var(--cp-red)}.workspace{align-items:center;background:var(--cp-bone);display:flex;flex-direction:column;gap:18px;min-width:0;padding:22px}.workspace>*{max-width:100%;min-width:min(100%,var(--cp-module-min));width:fit-content}.workspace>.topbar{align-self:stretch;min-width:0;width:auto}.topbar{align-items:center;display:flex;justify-content:space-between;gap:16px}.side-panel-toggle{align-items:center;background:var(--cp-white);border:1px solid var(--cp-stone);border-radius:2px;color:var(--cp-black);cursor:pointer;display:inline-flex;height:42px;justify-content:center;width:42px}.side-panel-toggle:hover{background:#c8102e14;border-color:var(--cp-red);color:var(--cp-red)}.topbar h2{font-size:clamp(24px,3vw,34px);font-weight:700;letter-spacing:-.02em}.secondary-action{align-items:center;background:var(--cp-white);border:1px solid var(--cp-stone);color:var(--cp-black);cursor:pointer;display:inline-flex;font-weight:500;gap:8px;height:42px;padding:0 12px;white-space:nowrap}.secondary-action:hover:not(:disabled){background:#c8102e14;border-color:var(--cp-red);color:var(--cp-red)}.secondary-action:disabled{cursor:not-allowed;opacity:.55}.hidden-file-input{display:none}.dashboard-grid{display:grid;gap:12px;grid-template-columns:repeat(6,minmax(0,1fr))}.metric{align-items:center;background:var(--cp-white);border:1px solid var(--cp-stone);border-radius:2px;box-shadow:0 4px 12px #0a0a0a0a;display:flex;gap:16px;grid-column:span 2;justify-content:space-between;min-height:92px;padding:16px}.metric p{color:var(--cp-iron);font-size:12px;font-weight:600;margin:0 0 8px;text-transform:uppercase}.metric strong{display:block;font-size:21px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.01em;line-height:1.1}.metric.blue,.metric.green,.metric.amber{border-top:4px solid var(--cp-stone)}.metric.red{border-top:4px solid var(--cp-red)}.wide-panel,.module-view{background:var(--cp-white);border:1px solid var(--cp-stone);border-radius:2px;box-shadow:0 4px 12px #0a0a0a0a}.wide-panel{grid-column:span 3;padding:16px}.section-heading,.module-header{align-items:flex-start;display:flex;gap:18px;justify-content:space-between}.section-heading{margin-bottom:18px}.section-heading h3,.module-header h3{font-size:20px;font-weight:700;letter-spacing:-.01em}.priority-list{display:grid;gap:10px}.priority-row{align-items:center;border:1px solid var(--cp-stone);border-radius:2px;display:grid;gap:12px;grid-template-columns:12px minmax(0,1fr) auto;min-height:68px;padding:10px 12px}.priority-title-line{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.priority-row p{color:var(--cp-iron);margin:2px 0 0}.priority-row>span:last-child{color:var(--cp-iron);font-size:13px;white-space:nowrap}.status-dot{border-radius:1px;height:10px;width:10px}.status-dot.high,.status-dot.safety{background:var(--cp-red)}.status-dot.medium{background:var(--cp-iron)}.status-dot.low{background:var(--cp-black)}.status-pill{background:var(--cp-bone);border:1px solid var(--cp-stone);border-radius:2px;color:var(--cp-black);font-size:11px;font-weight:600;line-height:1;padding:5px 6px;text-transform:uppercase}.status-pill.muted{color:var(--cp-iron);font-weight:500}.priority-more,.empty-state{background:var(--cp-bone);border:1px solid var(--cp-stone);border-radius:2px;color:var(--cp-iron);font-size:13px;font-weight:500;padding:12px}.module-view{display:grid;gap:18px;min-width:min(100%,var(--cp-module-min));padding:18px}.records-grid{display:grid;gap:18px}.record-panel,.report-panel{border:1px solid var(--cp-stone);border-radius:2px;display:grid;gap:16px;padding:18px}.timesheet-approval-panel{background:var(--cp-paper);border-left:4px solid var(--cp-red)}.timesheet-approval-controls{align-items:end;display:grid;gap:10px;grid-template-columns:minmax(220px,280px) auto}.timesheet-approval-summary{align-items:center;background:var(--cp-white);border:1px solid var(--cp-stone);display:grid;gap:10px;grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr) auto;padding:10px 12px}.timesheet-approval-summary span{color:var(--cp-iron);font-size:13px;font-weight:500}.timesheet-approval-summary strong{color:var(--cp-black);font-size:15px;font-weight:600;white-space:nowrap}.accounting-action-panel{background:var(--cp-paper);border-left:4px solid var(--cp-red)}.accounting-action-summary{align-items:center;background:var(--cp-white);border:1px solid var(--cp-stone);display:flex;gap:12px;min-height:40px;padding:0 12px}.accounting-action-summary span{color:var(--cp-iron);font-size:13px;font-weight:600}.accounting-action-summary strong{color:var(--cp-black);font-size:15px;font-weight:600}.accounting-action-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.accounting-action-list{background:var(--cp-white);border:1px solid var(--cp-stone);display:grid}.accounting-action-list-heading,.accounting-action-row{align-items:center;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;padding:10px 12px}.accounting-action-list-heading{background:var(--cp-bone);border-bottom:1px solid var(--cp-stone);color:var(--cp-iron)}.accounting-action-list-heading span{color:var(--cp-red)}.accounting-action-list-heading strong,.accounting-action-list-heading span{font-size:12px;font-weight:600;text-transform:uppercase}.accounting-action-row{border-top:1px solid var(--cp-stone);grid-template-columns:minmax(0,1.4fr) auto auto auto;min-height:58px}.accounting-action-row strong{font-size:15px;font-weight:600}.hr-access-panel th,.hr-access-panel td{padding:12px 8px}.hr-access-panel .hr-email-input{width:150px}.accounting-action-row>div{display:grid;gap:3px;min-width:0}.accounting-action-row>div strong,.accounting-action-row>div span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.accounting-action-row>div strong{color:var(--cp-black);font-weight:600}.accounting-action-row>div span,.accounting-action-row>span{color:var(--cp-iron);font-size:13px;font-weight:500}.accounting-action-row>strong{color:var(--cp-black);font-weight:600;white-space:nowrap}.accounting-action-row .secondary-action{height:34px}.accounting-empty-action{color:var(--cp-iron);font-size:14px;font-weight:500;padding:16px 12px}.compact-heading{margin-bottom:0}.compact-heading h3{font-size:20px}.entry-panel{border:1px solid var(--cp-stone);border-radius:2px;display:grid;gap:14px;padding:12px}.entry-panel.open{background:#ffffff9e}.module-actions{align-items:stretch;display:flex;gap:10px}.status-badge{border:1px solid var(--cp-stone);border-radius:2px;display:inline-flex;font-size:11px;font-weight:600;line-height:1;padding:6px 7px;text-transform:uppercase;white-space:nowrap}.status-badge.red{background:#c8102e1a;border-color:#c8102e52;color:var(--cp-red-dark)}.status-badge.amber{background:#4a4a4a1a;border-color:#4a4a4a47;color:var(--cp-charcoal)}.status-badge.green{background:#0a0a0a14;border-color:#0a0a0a3d;color:var(--cp-black)}.status-badge.neutral{background:var(--cp-bone);color:var(--cp-iron)}.form-grid{align-items:end;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.estimate-form-section{border-top:1px solid var(--cp-stone);display:grid;gap:12px;padding-top:14px}.estimate-form-section h4{color:var(--cp-charcoal);font-size:13px;font-weight:600;letter-spacing:0;margin:0;text-transform:uppercase}.estimate-form-grid{align-items:end;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.field{display:grid;gap:7px}.field span{color:var(--cp-iron);font-size:13px;font-weight:500}.field input,.field select,.field textarea,.compact-select{background:var(--cp-paper);border:1px solid var(--cp-line-soft);border-radius:2px;color:var(--cp-black);height:40px;padding:0 10px;width:100%}.field textarea{min-height:84px;padding:10px 11px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.compact-select:focus{border-color:var(--cp-red);box-shadow:0 0 0 3px #c8102e24;outline:none}.wide-field{grid-column:span 2}.compact-select{min-width:126px}.compact-select:disabled,.check-control input:disabled{cursor:not-allowed;opacity:.55}.primary-action{align-items:center;background:var(--cp-red);border:1px solid var(--cp-red);border-radius:2px;color:var(--cp-white);cursor:pointer;display:flex;font-weight:600;gap:9px;height:42px;justify-content:center;padding:0 14px}.primary-action:hover:not(:disabled){background:var(--cp-red-dark);border-color:var(--cp-red-dark);box-shadow:0 6px 14px #c8102e2e}.call-log-stage-screen{align-content:start;background:var(--cp-white);border:1px solid var(--cp-line);border-radius:2px;box-shadow:0 8px 22px #0a0a0a0d;display:grid;gap:6px;min-height:380px;padding:14px}.call-log-module-view{background:transparent;border:0;box-shadow:none;padding:0}.call-log-create-action{height:46px;justify-content:center;min-width:168px;padding:0 18px;white-space:nowrap}.call-log-create-action svg{height:16px;width:16px}.call-log-create-action.primary-action{background:var(--cp-red);border-color:var(--cp-red);font-size:14px;font-weight:600}.call-log-search{align-items:center;background:var(--cp-white);border:1px solid var(--cp-line-soft);border-radius:2px;box-shadow:0 3px 10px #0a0a0a0a;display:flex;gap:10px;height:46px;padding:0 12px 0 14px;width:400px}.call-log-search span{color:var(--cp-black);flex:0 0 auto;font-size:13px;font-weight:600;text-transform:uppercase}.call-log-search input{background:var(--cp-paper);border-color:var(--cp-line);height:34px;min-width:0;padding:0 8px}.call-log-stage-body{display:grid;grid-template-columns:196px minmax(0,1fr);gap:0;min-width:0}.call-log-stage-sidebar{display:grid;gap:8px}.call-log-stage-tabs{align-items:stretch;background:var(--cp-well);border-right:1px solid var(--cp-line);display:flex;flex-direction:column;gap:1px;max-height:none;min-width:0;overflow-y:auto;padding:0}.call-log-table-panel{align-content:start;display:grid;min-width:0}.call-log-stage-tabs button{background:var(--cp-paper);border:0;border-left:4px solid transparent;border-radius:2px;color:var(--cp-black);cursor:pointer;display:inline-flex;align-items:center;flex:0 0 auto;gap:6px;height:44px;justify-content:space-between;min-height:44px;padding:0 14px 0 13px;text-align:left;white-space:nowrap;width:100%}.call-log-stage-tabs button:hover{background:#c8102e0f;border-left-color:#c8102e94;color:var(--cp-red)}.call-log-stage-tabs button.active{background:var(--cp-white);border-left-color:var(--cp-red);color:var(--cp-black)}.call-log-stage-tabs span{font-size:13px;font-weight:600;line-height:1.1;white-space:nowrap}.call-log-stage-tabs strong{align-items:center;background:transparent;border-radius:2px;color:var(--cp-iron);display:inline-flex;font-size:12px;height:22px;justify-content:center;line-height:1;min-width:26px;padding:0 6px}.call-log-stage-tabs button.active strong{color:var(--cp-red)}.call-log-stage-tabs button.call-log-web-tab{border-top:1px solid var(--cp-line);margin-top:10px}.call-log-stage-tabs strong.call-log-web-new,.call-log-stage-tabs button.active strong.call-log-web-new{background:var(--cp-red);color:var(--cp-white)}.call-log-web-table td a{color:var(--cp-black);display:block;font-weight:600;text-decoration:none;white-space:nowrap}.call-log-web-table td a:hover{color:var(--cp-red)}.call-log-web-table td a.call-log-web-email{color:var(--cp-iron);font-size:13px;font-weight:500;margin-top:2px;overflow-wrap:break-word;white-space:normal}.call-log-web-table .call-log-web-name span{white-space:nowrap}.call-log-web-table .call-log-web-address{min-width:120px}.call-log-web-table .call-log-web-message{max-width:260px;min-width:150px}.call-log-web-table .call-log-web-message p{font-size:13px;margin:2px 0 0;white-space:pre-wrap}.call-log-web-table .call-log-web-message strong{font-size:14px}.call-log-web-table tr.call-log-web-row-new td:first-child{box-shadow:inset 4px 0 0 var(--cp-red)}.call-log-web-actions{display:grid;gap:6px;justify-items:stretch;margin-top:8px;width:140px}.call-log-web-actions .primary-action,.call-log-web-actions .secondary-action{justify-content:center;min-height:34px;padding:0 10px;white-space:nowrap}.call-log-web-actions .confirm-delete{justify-self:start}.call-log-stage-table-wrap{max-width:100%;min-width:0;overflow-x:auto;overflow-y:visible}.call-log-stage-table{border-collapse:collapse;width:100%}.call-log-stage-table th,.call-log-stage-table td{border-bottom:1px solid var(--cp-stone);color:var(--cp-black);font-size:14px;padding:10px 12px;text-align:left;vertical-align:top}.call-log-stage-table th{background:var(--cp-bone);border-bottom:1px solid var(--cp-stone);color:var(--cp-iron);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.call-log-stage-table tbody tr:nth-child(2n) td{background:var(--cp-paper)}.call-log-stage-table tbody tr:hover{background:#c8102e0a}.call-log-stage-table .empty-table-row td{color:var(--cp-iron);font-size:13px;font-weight:500;padding:18px 12px;text-align:center}.call-log-stage-table .empty-table-row:hover{background:transparent}.call-log-clickable-row{cursor:pointer}.call-log-clickable-row:focus-visible td{outline:2px solid rgba(200,16,46,.32);outline-offset:-2px}.call-log-stage-table td strong,.call-log-stage-table td span{display:block}.call-log-stage-table td strong{font-size:15px;line-height:1.2}.call-log-stage-table td span{color:var(--cp-iron);font-size:13px;margin-top:2px}.call-log-stage-select,.call-log-stage-select.compact-select{background:var(--cp-paper);border:1px solid var(--cp-line-soft);border-radius:2px;color:var(--cp-black);font-size:14px;height:40px;min-width:164px;padding:0 10px}.call-log-delete-action{height:38px;width:38px}.call-log-detail-screen{background:transparent;border:0;box-shadow:none;display:grid;gap:14px;overflow:visible;padding:0}.call-log-detail-body{background:var(--cp-white);border:1px solid var(--cp-line);border-radius:2px;box-shadow:0 8px 22px #0a0a0a0d;display:grid;gap:0;overflow:hidden}.call-log-call-banner{align-items:stretch;background:var(--cp-white);border:1px solid var(--cp-line);border-left:4px solid var(--cp-red);border-radius:2px;box-shadow:0 8px 22px #0a0a0a0d;color:var(--cp-black);display:grid;grid-template-columns:auto minmax(0,1fr) auto;min-width:0}.call-log-banner-value{align-content:center;border-left:1px solid var(--cp-stone);display:grid;gap:3px;justify-items:end;padding:8px 16px}.call-log-banner-value span{color:var(--cp-iron);font-size:10px;font-weight:600;letter-spacing:.08em;line-height:1.1;text-transform:uppercase}.call-log-banner-value strong{color:var(--cp-red);font-size:21px;font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.call-log-board-banner{grid-template-columns:minmax(0,1fr) auto}.call-log-board-banner .call-log-call-summary{padding-left:16px}.call-log-board-tools{align-items:center;display:flex;gap:10px;padding:8px 12px 8px 0}.call-log-call-summary{align-content:center;display:grid;gap:4px;justify-items:start;padding:10px 16px 11px 0}.call-log-back-action{align-items:center;align-self:center;background:var(--cp-white);border:1px solid var(--cp-stone);border-radius:2px;color:var(--cp-black);cursor:pointer;display:inline-flex;gap:6px;font-size:12px;font-weight:600;height:44px;justify-content:center;justify-self:start;margin-left:12px;margin-right:12px;padding:0;text-transform:uppercase;width:44px}.call-log-back-action:hover{background:#c8102e0f;border-color:var(--cp-red);color:var(--cp-red)}.call-log-call-summary strong{color:var(--cp-black);font-size:21px;line-height:1}.call-log-call-summary span{color:var(--cp-iron);font-size:12px;font-weight:600}.call-log-call-summary small{color:var(--cp-iron);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.call-log-detail-tabs{align-items:end;background:var(--cp-well);border-bottom:1px solid var(--cp-line);display:flex;gap:1px;overflow-x:auto;padding:0 10px}.call-log-detail-tabs button{background:var(--cp-paper);border:1px solid var(--cp-line);border-bottom:0;color:var(--cp-charcoal);cursor:pointer;flex:0 0 auto;font-size:12px;font-weight:500;height:34px;margin-top:8px;padding:0 12px}.call-log-detail-tabs button.active{background:var(--cp-white);box-shadow:inset 0 3px 0 var(--cp-red);color:var(--cp-black)}.call-log-form-layout{background:var(--cp-well);display:flex;flex-direction:column;gap:12px;padding:14px 16px 18px}.call-log-note-entry-panel,.call-log-notes-workspace{max-width:var(--cp-tab-cap);min-width:0}.call-log-panel-title{align-items:center;display:flex;justify-content:space-between;gap:10px}.panel-toggle{align-items:center;background:transparent;border:0;color:var(--cp-black);cursor:pointer;display:flex;gap:8px;justify-content:flex-start;padding:0;text-align:left;width:100%}.panel-toggle strong{align-items:center;color:var(--cp-black);display:inline-flex;font-size:12px;font-weight:600;letter-spacing:.08em;min-height:22px;text-transform:uppercase}.panel-toggle span{color:var(--cp-red);font-size:13px;font-weight:600}.panel-toggle:hover strong{color:var(--cp-red)}.call-log-takeoff-info-panel>.panel-toggle,.call-log-takeoff-builder-grid>section>.panel-toggle,.entry-panel>.panel-toggle{margin:-12px -12px -8px;padding:12px 12px 8px;width:calc(100% + 24px)}.call-log-takeoff-info-panel>.panel-toggle[aria-expanded=false],.call-log-takeoff-builder-grid>section>.panel-toggle[aria-expanded=false],.entry-panel>.panel-toggle[aria-expanded=false]{margin:-12px;padding:12px}.call-log-takeoff-info-panel:has(>.panel-toggle:hover),.call-log-takeoff-builder-grid>section:has(>.panel-toggle:hover),.call-log-note-composer:has(>.panel-toggle:hover),.call-log-message-panel:has(>.panel-toggle:hover),.entry-panel:has(>.panel-toggle:hover){border-color:var(--cp-red-soft)}.call-log-panel-bar{align-items:center;display:flex;gap:10px;justify-content:space-between}.call-log-panel-bar .panel-toggle{flex:1;width:auto}.call-log-panel-bar .secondary-action{height:30px;min-height:30px;padding:0 10px}.call-log-note-composer .panel-toggle{grid-column:1 / -1;padding:10px 12px}.call-log-note-composer:has(.call-log-note-body-field) .panel-toggle{border-bottom:1px solid var(--cp-line)}.call-log-panel-title strong{align-items:center;color:var(--cp-black);display:inline-flex;font-size:12px;font-weight:600;letter-spacing:.08em;min-height:22px;text-transform:uppercase}.call-log-panel-title button{background:var(--cp-white);border:1px solid var(--cp-line-soft);color:var(--cp-charcoal);cursor:pointer;font-size:12px;font-weight:500;height:28px;padding:0 10px;text-transform:uppercase}.call-log-panel-title span{color:var(--cp-red);font-size:13px;font-weight:600}.call-log-note-category-field{display:grid;gap:5px}.call-log-note-category-field span,.call-log-note-composer label span{color:var(--cp-iron);font-size:11px;font-weight:600;text-transform:uppercase}.call-log-note-category-field select{background:var(--cp-paper);border:1px solid var(--cp-line-soft);border-radius:2px;color:var(--cp-black);height:40px;padding:0 10px}.call-log-notes-workspace{align-items:start;flex:1;display:grid;gap:14px;min-height:0}.call-log-note-composer{align-items:stretch;background:var(--cp-white);border:1px solid var(--cp-line);display:grid;gap:10px;grid-template-columns:1fr;max-width:var(--cp-tab-cap);padding:0}.call-log-note-composer .call-log-note-body-field{margin:0 12px}.call-log-note-composer .call-log-note-controls{margin:0 12px 12px}.call-log-note-composer>*{min-width:0}.call-log-note-composer label{align-content:start;display:grid;gap:5px}.call-log-note-composer textarea{border:1px solid var(--cp-line-soft);font-size:14px;height:64px;line-height:1.4;min-height:64px;padding:8px 10px;resize:vertical;width:100%}.call-log-note-body-field{align-content:start;grid-column:1;grid-row:2}.call-log-note-controls{align-content:center;align-items:stretch;border-top:1px solid var(--cp-line);display:grid;gap:8px;grid-column:1;grid-row:3;grid-template-columns:minmax(180px,240px) minmax(260px,1fr) 150px;padding-top:8px}.call-log-attachment-row{align-content:end;display:grid;gap:6px;grid-column:auto;grid-row:auto;grid-template-columns:150px minmax(0,1fr)}.call-log-attachment-row>span{color:var(--cp-iron);font-size:11px;font-weight:600;grid-column:1 / -1;text-transform:uppercase}.call-log-file-input{display:none}.call-log-file-button{justify-content:center;min-height:34px;width:100%}.call-log-selected-file{align-items:center;background:var(--cp-paper);border:1px solid var(--cp-line);color:var(--cp-iron);display:grid;font-size:12px;font-weight:500;grid-template-columns:minmax(0,1fr) auto;min-height:28px;padding:0 8px 0 10px}.call-log-selected-file span{min-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.call-log-clear-file-button{align-items:center;background:transparent;border:0;color:var(--cp-iron);cursor:pointer;display:inline-flex;height:26px;justify-content:center;width:26px}.call-log-clear-file-button:hover,.call-log-clear-file-button:focus{color:var(--cp-red);outline:none}.call-log-note-composer .primary-action{align-self:stretch;grid-column:3;grid-row:1;justify-content:center;min-height:56px;width:100%}.call-log-message-panel{background:var(--cp-white);border:1px solid var(--cp-line);display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0}.call-log-message-panel .panel-toggle{padding:10px 12px}.call-log-note-list{align-content:start;align-items:start;border-top:1px solid var(--cp-line);display:grid;gap:6px;max-height:clamp(360px,calc(100vh - 450px),560px);overflow-y:auto;overscroll-behavior:contain;padding:8px}.call-log-posted-note{align-self:start;background:var(--cp-paper);border:1px solid var(--cp-line);cursor:pointer;display:grid;gap:5px 12px;grid-template-columns:minmax(0,1fr) auto;min-height:68px;padding:9px 10px 9px 12px}.call-log-posted-note:hover,.call-log-posted-note:focus{border-color:var(--cp-line-soft);box-shadow:inset 0 0 0 1px var(--cp-line-soft);outline:none}.call-log-posted-note-meta{align-items:baseline;display:flex;gap:10px;grid-column:1;min-width:0}.call-log-note-delete-action{grid-column:2;grid-row:1 / span 2;height:32px;width:32px}.call-log-posted-note-meta strong{color:var(--cp-black);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;width:max-content}.call-log-posted-note-meta span,.call-log-posted-note-meta time{color:var(--cp-iron);font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.call-log-posted-note-meta span:before{color:var(--cp-iron);content:"By ";font-weight:500}.call-log-posted-note p{color:var(--cp-black);font-size:14px;grid-column:1;line-height:1.3;margin:0;max-height:42px;overflow:hidden;padding-right:8px;white-space:pre-wrap}.call-log-posted-note-footer{align-items:center;border-top:0;display:flex;grid-column:1 / -1;gap:10px;justify-content:space-between;padding-top:0}.call-log-attachment-chip,.call-log-no-attachment{align-items:center;color:var(--cp-iron);display:inline-flex;font-size:12px;font-weight:500;gap:6px;min-width:0}.call-log-attachment-chip{background:var(--cp-white);border:1px solid var(--cp-line);color:var(--cp-charcoal);cursor:pointer;font:inherit;font-size:12px;font-weight:500;max-width:calc(100% - 44px);padding:5px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.call-log-attachment-chip:hover:not(:disabled){border-color:var(--cp-red);color:var(--cp-red)}.call-log-attachment-chip:disabled{cursor:default;opacity:.7}.call-log-attachment-open{color:var(--cp-red);font-size:10px;font-weight:600;letter-spacing:.08em;padding:2px 0 2px 4px;text-transform:uppercase}.call-log-attachment-chip svg{flex:0 0 auto}.call-log-image-chip{background:var(--cp-well);border:1px solid var(--cp-line);color:var(--cp-iron);font-size:11px;font-weight:600;padding:4px 7px;text-transform:uppercase}.call-log-note-viewer-backdrop{align-items:center;background:#0e0e0ead;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:24px;position:fixed;z-index:80}.call-log-note-viewer{background:var(--cp-white);border:1px solid var(--cp-line);border-left:5px solid var(--cp-red);box-shadow:0 24px 70px #00000047;display:grid;gap:14px;max-height:min(820px,calc(100vh - 48px));max-width:var(--cp-tab-cap);overflow:auto;padding:18px;width:min(1080px,calc(100vw - 48px))}.call-log-note-viewer-header{align-items:start;border-bottom:1px solid #e3ded7;display:flex;gap:14px;justify-content:space-between;padding-bottom:12px}.call-log-note-viewer-header>div{display:grid;gap:5px}.call-log-note-viewer-header strong{color:var(--cp-black);display:inline-flex;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;width:max-content}.call-log-note-viewer-header span{color:var(--cp-iron);font-size:13px;font-weight:600}.call-log-note-viewer p{color:var(--cp-black);font-size:15px;line-height:1.55;margin:0;min-height:120px;white-space:pre-wrap}.call-log-note-viewer-attachment{display:flex}.call-log-note-viewer-image{align-self:start;border:1px solid var(--cp-line);max-height:min(520px,58vh);max-width:100%;object-fit:contain;width:auto}.call-log-note-viewer-pdf{border:1px solid var(--cp-line);height:min(520px,58vh);width:100%}p.call-log-attachment-note{color:var(--cp-iron);font-size:12px;margin:0;min-height:0}.call-log-note-viewer-actions{align-items:center;border-top:1px solid #e3ded7;display:flex;gap:10px;justify-content:flex-end;padding-top:12px}.call-log-empty-notes{align-items:center;color:var(--cp-iron);display:flex;font-size:14px;font-weight:500;justify-content:center;min-height:180px}.call-log-info-panel,.call-log-estimate-panel{align-content:start;background:var(--cp-well);display:grid;gap:12px;padding:14px 16px 16px}.call-log-info-grid{background:var(--cp-white);border:1px solid var(--cp-line);display:grid;gap:14px;grid-template-columns:repeat(4,minmax(160px,240px));justify-content:start;max-width:var(--cp-tab-cap);padding:16px}.call-log-info-grid label{display:grid;gap:6px;min-width:0}.call-log-info-grid label span{color:var(--cp-iron);font-size:11px;font-weight:600;text-transform:uppercase}.call-log-info-grid input,.call-log-info-grid select,.call-log-info-grid textarea{background:var(--cp-paper);border:1px solid var(--cp-line-soft);color:var(--cp-black);min-width:0;padding:0 10px;width:100%}.call-log-info-grid input,.call-log-info-grid select{height:40px}.call-log-info-grid textarea{min-height:180px;padding:10px;resize:vertical}.call-log-info-wide{grid-column:span 2}.call-log-estimate-add-row{display:flex;justify-content:flex-start}.recycle-restore{height:32px;min-height:32px;padding:0 10px}.call-log-due-overdue{color:var(--cp-red);font-weight:600}.call-log-area-tools{align-items:center;display:flex;gap:10px;justify-content:flex-end}.call-log-crew-tools{align-items:end;display:flex;flex-wrap:wrap;gap:10px}.call-log-depth-tools{align-items:end;background:var(--cp-paper);border:1px solid var(--cp-line);display:flex;flex-wrap:wrap;gap:10px;padding:10px}.call-log-depth-tools .call-log-crew-hours strong{font-size:13px}.call-log-crew-tools .secondary-action,.call-log-cost-entry .secondary-action{height:40px;justify-content:center;min-height:40px}.call-log-production-rate{width:130px}.call-log-depth-field{width:150px}.call-log-crew-hours{align-content:end;display:grid;gap:6px;min-width:120px}.call-log-crew-hours span{color:var(--cp-iron);font-size:11px;font-weight:600;text-transform:uppercase}.call-log-crew-hours strong{align-items:center;color:var(--cp-black);display:inline-flex;font-size:15px;font-weight:600;min-height:40px}tr.crew-row-paving td{background:var(--cp-crew-paving-soft)}tr.crew-row-patching td{background:var(--cp-crew-patching-soft)}.crew-chip,.call-log-estimate-table td span.crew-chip{border-radius:2px;color:#fff;display:inline-block;font-size:10px;font-weight:600;letter-spacing:.06em;margin:2px 0 0;padding:2px 6px;text-transform:uppercase;width:fit-content}.crew-chip-paving{background:var(--cp-crew-paving)}.crew-chip-patching{background:var(--cp-crew-patching)}.call-log-cost-table th:nth-last-child(1){width:56px}.call-log-cost-table th:nth-last-child(2){width:120px}.call-log-cost-table th:nth-last-child(3){width:110px}.call-log-cost-table th:nth-last-child(4){width:90px}.call-log-cost-table th:nth-last-child(5){width:250px}.call-log-cost-table th:nth-last-child(6){width:210px}.call-log-cost-table-crew th:nth-last-child(5){width:70px}.call-log-cost-table-crew th:nth-last-child(6){width:250px}.call-log-area-tools .secondary-action{height:40px;min-height:40px}.call-log-attachment-row.drag-over .call-log-selected-file,.call-log-attachment-row.drag-over .call-log-file-button{border-color:var(--cp-red);color:var(--cp-red)}.call-log-estimate-table{background:var(--cp-white);border-collapse:collapse;box-shadow:0 1px 0 var(--cp-line),1px 0 0 var(--cp-line),-1px 0 0 var(--cp-line);width:100%}.call-log-estimate-table th,.call-log-estimate-table td{border:1px solid var(--cp-line);font-size:14px;padding:10px 11px;text-align:left}.call-log-estimate-table th{background:var(--cp-bone);border-bottom:1px solid var(--cp-stone);color:var(--cp-iron);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.call-log-estimate-table td strong,.call-log-estimate-table td span{display:block}.call-log-estimate-table td strong{font-weight:600}.call-log-estimate-table td span{color:var(--cp-iron);font-size:11px;font-weight:500}.call-log-estimate-row{cursor:pointer}.call-log-estimate-row:hover,.call-log-estimate-row:focus{background:var(--cp-paper);outline:2px solid rgba(200,16,46,.24);outline-offset:-2px}.call-log-estimate-accordion{display:grid;gap:10px;max-width:var(--cp-tab-cap)}.call-log-estimate-card{background:var(--cp-white);border:1px solid var(--cp-line);box-shadow:0 1px 0 var(--cp-line);min-width:0}.call-log-estimate-card-header{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:8px 12px}.call-log-estimate-card-toggle{align-items:center;background:transparent;border:0;color:var(--cp-black);cursor:pointer;display:flex;flex:1;gap:14px;min-width:0;padding:0;text-align:left}.call-log-estimate-card:has(.call-log-estimate-card-toggle:hover){border-color:var(--cp-red-soft)}.call-log-estimate-card-toggle strong{font-size:15px;font-weight:600}.call-log-estimate-card-toggle span{color:var(--cp-iron);font-size:12px;font-weight:500;white-space:nowrap}.call-log-estimate-card-toggle em{color:var(--cp-red);font-size:15px;font-style:normal;font-weight:600;margin-left:auto;white-space:nowrap}.call-log-estimate-card-header .secondary-action{height:32px;min-height:32px;padding:0 10px}.call-log-estimate-card-body{border-top:1px solid var(--cp-stone);display:grid;gap:12px;padding:12px}.call-log-estimate-card-body .call-log-takeoff-form-grid{grid-template-columns:minmax(180px,260px) minmax(0,1fr);max-width:900px;padding-top:0}.call-log-estimate-card-body .call-log-takeoff-form-grid textarea{min-height:74px}.call-log-takeoff-builder{display:grid;gap:12px;min-width:0}.call-log-takeoff-screen .call-log-call-banner{margin-top:0}.call-log-takeoff-screen-body{align-content:start;background:var(--cp-well);border:1px solid var(--cp-line);border-radius:2px;box-shadow:0 8px 22px #0a0a0a0d;display:grid;gap:14px;justify-items:start;padding:14px 16px 16px}.call-log-takeoff-screen-body>*{max-width:var(--cp-tab-cap);min-width:0;width:100%}.call-log-takeoff-metrics{padding:0}.call-log-takeoff-metrics{background:var(--cp-line);border:1px solid var(--cp-line);display:grid;gap:1px;grid-template-columns:repeat(4,minmax(130px,1fr));padding:0}.call-log-takeoff-metric{background:var(--cp-white);border:0;display:grid;gap:4px;min-height:58px;padding:9px 10px}.call-log-takeoff-metric.highlight strong{color:var(--cp-red)}.call-log-takeoff-metric span{color:var(--cp-iron);font-size:10px;font-weight:600;line-height:1.2;text-transform:uppercase}.call-log-takeoff-metric strong{color:var(--cp-black);font-size:20px;font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.call-log-takeoff-form-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(180px,1fr));padding-top:10px}.call-log-takeoff-info-panel{background:var(--cp-white);border:1px solid var(--cp-line);display:grid;gap:0;padding:12px}.call-log-takeoff-form-grid label{display:grid;gap:5px}.call-log-takeoff-form-grid span{color:var(--cp-iron);font-size:11px;font-weight:600;text-transform:uppercase}.call-log-takeoff-form-grid input,.call-log-takeoff-form-grid select,.call-log-takeoff-form-grid textarea,.call-log-inline-entry input,.call-log-inline-entry select{background:var(--cp-paper);border:1px solid var(--cp-line-soft);color:var(--cp-black);min-width:0;padding:0 10px}.call-log-takeoff-form-grid input,.call-log-takeoff-form-grid select,.call-log-inline-entry input,.call-log-inline-entry select{height:40px}.call-log-takeoff-form-grid textarea{min-height:78px;padding:10px;resize:vertical}.call-log-takeoff-wide-field{grid-column:1 / -1}.call-log-takeoff-builder-grid{display:grid;gap:14px;grid-template-columns:minmax(0,1fr)}.call-log-takeoff-builder-grid>section{background:var(--cp-white);border:1px solid var(--cp-line);display:grid;gap:10px;padding:12px}.call-log-compact-table:not(.call-log-cost-table) th:nth-child(1){width:120px}.call-log-compact-table:not(.call-log-cost-table) th:nth-child(2),.call-log-compact-table:not(.call-log-cost-table) th:nth-child(3){width:130px}.call-log-compact-table:not(.call-log-cost-table) th:nth-child(4){width:110px}.call-log-compact-table:not(.call-log-cost-table) th:nth-child(6){width:170px}.call-log-compact-table:not(.call-log-cost-table) th:last-child{width:70px}.call-log-area-entry-row td{background:var(--cp-paper);vertical-align:top}.call-log-area-entry-row input{background:var(--cp-white);border:1px solid var(--cp-line-soft);color:var(--cp-black);font-size:13px;height:34px;min-width:0;padding:0 9px;width:100%}.call-log-area-entry-row input:focus{border-color:var(--cp-red);box-shadow:0 0 0 3px #c8102e24;outline:none}.call-log-editable-cell{background:transparent;border:1px solid transparent;color:inherit;cursor:text;display:block;font:inherit;min-height:28px;padding:4px 6px;text-align:left;width:100%}.call-log-editable-cell:hover,.call-log-editable-cell:focus{background:var(--cp-paper);border-color:var(--cp-line-soft);outline:none}.call-log-table-cell-input{background:var(--cp-white);border:1px solid var(--cp-red);box-shadow:0 0 0 3px #c8102e24;color:var(--cp-black);font:inherit;height:34px;min-width:0;padding:0 9px;width:100%}.call-log-area-photo-dropzone{align-items:stretch;display:grid;min-height:34px}.call-log-photo-cell-button{background:transparent;border:1px dashed transparent;color:inherit;cursor:copy;font:inherit;min-height:32px;overflow:hidden;padding:4px 6px;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:100%}.call-log-area-photo-dropzone:hover .call-log-photo-cell-button,.call-log-photo-cell-button:focus{background:var(--cp-paper);border-color:var(--cp-line-soft);outline:none}.call-log-cost-panels{display:grid;gap:14px;grid-template-columns:minmax(0,1fr)}.call-log-costs-panel{background:var(--cp-white);border:1px solid var(--cp-line);display:grid;gap:12px;min-width:0;padding:12px}.call-log-cost-panel{background:var(--cp-white);border:1px solid var(--cp-line);display:grid;gap:10px;min-width:0;overflow:hidden;padding:12px}.call-log-cost-panel-materials{border-left:4px solid var(--cp-materials)}.call-log-cost-panel-labour{border-left:4px solid var(--cp-labour)}.call-log-cost-panel-equipment{border-left:4px solid var(--cp-equipment)}.call-log-cost-panel-materials>.call-log-panel-title strong{color:var(--cp-materials)}.call-log-cost-panel-labour>.call-log-panel-title strong{color:var(--cp-labour)}.call-log-cost-panel-equipment>.call-log-panel-title strong{color:var(--cp-equipment)}.call-log-cost-entry{display:grid;gap:8px;grid-template-columns:minmax(200px,280px) minmax(60px,70px) minmax(80px,90px) minmax(100px,110px) minmax(140px,170px);justify-content:start}.call-log-material-cost-entry{grid-template-columns:minmax(140px,190px) minmax(170px,230px) minmax(80px,95px) minmax(70px,85px) minmax(90px,105px) minmax(140px,170px)}.call-log-cost-entry input,.call-log-cost-entry select{background:var(--cp-paper);border:1px solid var(--cp-line-soft);border-radius:2px;color:var(--cp-black);height:40px;min-width:0;padding:0 10px;width:100%}.call-log-cost-entry .primary-action{justify-content:center;min-height:38px}.call-log-cost-table{justify-self:start;min-width:0;table-layout:fixed;width:auto}.call-log-area-entry-row small{color:var(--cp-iron);display:block;font-size:11px;font-weight:500;margin-top:5px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.call-log-area-photo-button,.call-log-area-add-button{justify-content:center;min-height:34px;width:100%}.call-log-compact-table th,.call-log-compact-table td{font-size:12px;padding:8px 9px}.primary-action:disabled{background:var(--cp-stone);border-color:var(--cp-stone);box-shadow:none;color:var(--cp-iron);cursor:not-allowed}.resource-list-panel{background:var(--cp-white);border:1px solid var(--cp-stone);border-radius:2px;min-width:0}.resource-list-title{align-items:start;display:flex;gap:12px;justify-content:space-between}.resource-list-title h4{font-size:15px;line-height:1.15;margin:0}.resource-list{display:grid;gap:8px}.empty-copy{color:var(--cp-iron);font-size:12px;font-style:normal}.resource-list-panel{display:grid;gap:10px;padding:12px}.resource-list-title strong{font-size:14px}.resource-row{align-items:center;border-top:1px solid var(--cp-stone);display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto auto;padding-top:9px}.resource-row strong,.resource-row span{display:block}.resource-row span{color:var(--cp-iron);font-size:12px}.resource-row em{font-style:normal;font-weight:600}.icon-action{align-items:center;background:var(--cp-white);border:1px solid var(--cp-stone);border-radius:2px;color:var(--cp-black);cursor:pointer;display:inline-flex;height:34px;justify-content:center;width:34px}.icon-action:hover{background:#c8102e14;border-color:var(--cp-red);color:var(--cp-red)}.icon-action.danger{color:var(--cp-red-dark)}.icon-action.danger:hover{background:#c8102e14;border-color:var(--cp-red)}.icon-action.confirm-delete.armed,.icon-action.confirm-delete.armed:hover{background:var(--cp-red);border-color:var(--cp-red);color:#fff;font-size:12px;font-weight:600;padding:0 8px;width:auto}.row-actions{display:inline-flex;gap:6px;min-width:76px}.check-control{align-items:center;display:inline-flex;gap:8px;white-space:nowrap}.check-control input{accent-color:var(--cp-red);height:16px;width:16px}.check-control span{color:var(--cp-black);font-size:13px;font-weight:500}.coverage-flag{border:1px solid #e5bcc2;background:#fdf5f6;color:var(--cp-red-dark);border-radius:8px;padding:10px 14px;margin-bottom:16px;font-size:14px}.coverage-flag-soft{border-color:#e3d9b8;background:#faf6ea;color:#7a6614}.records-section-title{margin:24px 0 10px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--cp-iron)}.table-tools{align-items:end;display:flex;flex-wrap:wrap;gap:10px}.table-tools .field{min-width:160px}.table-tools .table-search{flex:1 1 220px;max-width:340px}.table-note{color:var(--cp-iron);font-size:12px;font-weight:500;margin:0}.table-wrap{border:1px solid var(--cp-stone);border-radius:2px;min-width:0;overflow-x:auto;overflow-y:visible;width:100%}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--cp-stone);padding:12px 14px;text-align:left;vertical-align:top}th{background:var(--cp-bone);color:var(--cp-iron);font-size:12px;font-weight:600;letter-spacing:.08em;position:sticky;top:0;text-transform:uppercase;z-index:1}td{color:var(--cp-black);font-size:14px}th,td,.timeclock-roster-head,.timeclock-row,.timesheet-approval-summary strong,.accounting-action-summary strong,.accounting-action-row,.call-log-stage-tabs strong{font-variant-numeric:tabular-nums}tbody tr{transition:background-color .12s ease}tbody tr:hover td{background:#0a0a0a06}tbody tr:last-child td{border-bottom:0}.table-empty{background:var(--cp-white);color:var(--cp-iron);font-size:13px;font-weight:500;padding:18px 14px;text-align:center}@media(max-width:980px){.app-shell{align-content:start;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.app-shell.sidebar-collapsed .sidebar{display:flex}.sidebar{align-self:start;border-bottom:1px solid rgba(74,74,74,.45);border-right:0;gap:10px;height:auto;min-height:0;padding:10px 18px;position:sticky;top:0;z-index:20}.brand-lockup{align-items:center;grid-template-columns:minmax(0,1fr) auto;padding-bottom:0;border-bottom:0}.brand-logo-frame{height:38px}.brand-logo{max-width:180px}.mobile-nav-toggle{display:inline-flex;height:38px;width:38px}.side-panel-toggle{display:none}.workspace{gap:12px;padding:16px 18px 18px}.module-nav{display:none;gap:12px}.module-nav.open{border-top:1px solid rgba(74,74,74,.55);display:grid;padding-top:14px}.module-nav-section{align-items:start;grid-template-columns:82px minmax(0,1fr)}.module-nav-list{grid-template-columns:repeat(3,minmax(0,1fr))}.module-nav button{justify-content:center}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric,.wide-panel{grid-column:span 1}.form-grid,.estimate-form-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}}@media(max-width:640px){.workspace{padding:18px}.topbar,.module-header{align-items:stretch;flex-direction:column}.module-actions{display:grid;grid-template-columns:1fr}.secondary-action{justify-content:center}.module-nav,.module-nav-section{grid-template-columns:1fr}.module-nav-list{grid-template-columns:1fr 1fr}.dashboard-grid,.form-grid,.estimate-form-grid{grid-template-columns:1fr}.wide-field,.estimate-cost-strip,.estimate-insight-grid{grid-column:span 1}.call-list-header,.call-detail-header,.takeoff-detail-header,.resource-list-title{align-items:stretch;flex-direction:column}.resource-row{grid-template-columns:minmax(0,1fr) auto}.resource-row .icon-action{grid-column:2}}.timeclock-view{display:grid;gap:14px}.timeclock-header{align-items:baseline;background:var(--cp-white);border:1px solid var(--cp-line);border-radius:2px;display:flex;gap:16px;justify-content:center;padding:18px 16px}.timeclock-clock{color:var(--cp-black);font-size:44px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.02em;line-height:1}.timeclock-date{color:var(--cp-iron);font-size:15px;font-weight:500}.timeclock-hint{color:var(--cp-iron);font-size:14px;font-weight:500;text-align:center}.timeclock-pad-hint{color:var(--cp-iron);font-size:13px;font-weight:500;text-align:center}.timeclock-result{align-content:center;border:none;cursor:pointer;display:grid;font-family:inherit;gap:16px;top:0;right:0;bottom:0;left:0;justify-items:center;padding:40px;position:fixed;text-align:center;z-index:200}.timeclock-result.in{background:#1c6b32}.timeclock-result.out{background:#171717}.timeclock-result strong{color:#fff;font-size:clamp(44px,9vw,84px);font-weight:700;letter-spacing:-.02em;line-height:1.05}.timeclock-result span{color:#ffffffeb;font-size:clamp(18px,3vw,26px);font-weight:500;max-width:720px}.timeclock-result small{color:#fff9;font-size:13px;font-weight:500;margin-top:10px}.timeclock-roster{background:var(--cp-white);border:1px solid var(--cp-line);border-radius:2px;display:grid;margin:0 auto;max-width:860px;width:100%}.timeclock-roster-head,.timeclock-row{align-items:center;display:grid;gap:12px;grid-template-columns:minmax(160px,1.6fr) 1fr 1fr 1fr;padding:14px 18px;text-align:left}.timeclock-roster-head{border-bottom:1px solid var(--cp-line);color:var(--cp-iron);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.timeclock-row{background:transparent;border:none;border-bottom:1px solid var(--cp-line-soft);border-left:4px solid transparent;cursor:pointer;font-family:inherit;min-height:60px}.timeclock-row:last-child{border-bottom:none}.timeclock-row:hover:not(:disabled){background:var(--cp-paper)}.timeclock-row:disabled{cursor:not-allowed;opacity:.55}.timeclock-row strong{color:var(--cp-black);display:grid;font-size:17px;font-weight:600;gap:2px}.timeclock-row strong em{color:var(--cp-iron);font-size:11px;font-style:normal;font-weight:500}.timeclock-row span{color:var(--cp-iron);font-size:15px;font-weight:500}.timeclock-row .roster-hours{color:var(--cp-black);font-size:16px;font-weight:600}.timeclock-row.on-clock{border-left-color:#1c6b32}.timeclock-row.on-clock .roster-in,.timeclock-row.on-clock span:nth-child(3){color:#2e9e4f}.timeclock-pad,.timeclock-punch{background:var(--cp-white);border:1px solid var(--cp-line);border-radius:2px;display:grid;gap:14px;justify-items:center;margin:0 auto;max-width:340px;padding:26px;width:100%}.timeclock-pad-name{color:var(--cp-black);font-size:15px;font-weight:600}.timeclock-dots{display:flex;gap:12px}.timeclock-dots span{background:var(--cp-paper);border:1px solid var(--cp-line-soft);border-radius:50%;height:16px;width:16px}.timeclock-dots span.filled{background:var(--cp-black)}.timeclock-error{color:var(--cp-red);font-size:13px;font-weight:600}.timeclock-keys{display:grid;gap:8px;grid-template-columns:repeat(3,72px)}.timeclock-keys button{background:var(--cp-paper);border:1px solid var(--cp-line-soft);border-radius:2px;color:var(--cp-black);cursor:pointer;font-family:inherit;font-size:20px;font-weight:600;height:56px}.timeclock-keys button:hover{border-color:var(--cp-red-soft)}.timeclock-keys .timeclock-cancel{font-size:13px}.timeclock-punch p{font-size:14px}.timeclock-action{font-size:15px;height:52px;justify-content:center;width:100%}.hr-pin-input{width:90px}.record-edit-input{background:transparent;border:1px solid transparent;border-radius:2px;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;min-width:90px;padding:4px 6px;width:100%}.record-edit-input:hover{border-color:var(--cp-line)}.record-edit-input:focus{background:var(--cp-white);border-color:var(--cp-red-soft);outline:none}.record-edit-number{min-width:60px;width:90px}.sidebar-footer{display:grid;gap:6px}.sidebar-footer .sidebar-theme-toggle{margin-top:0}.sidebar-user-select{justify-items:center;text-align:center}.hr-access-actions{align-items:center;border-top:1px solid var(--cp-line);display:flex;gap:10px;padding-top:12px}.hr-access-dirty{color:var(--cp-red);font-size:12px;font-weight:600;letter-spacing:.04em}.check-control-locked input:disabled{accent-color:var(--cp-black);cursor:not-allowed;opacity:1}.hr-add-user{align-items:end;border-top:1px solid var(--cp-line);display:flex;flex-wrap:wrap;gap:10px;padding-top:12px}.hr-add-user .field{width:200px}.hr-add-user .secondary-action{height:40px;min-height:40px}.safety-manual-row{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.safety-doc-card{background:var(--cp-white);border:1px solid var(--cp-line);border-radius:2px;color:var(--cp-black);display:grid;gap:4px;padding:14px;text-decoration:none}.safety-doc-card:hover{border-color:var(--cp-red-soft)}.safety-doc-card strong{font-size:15px;font-weight:600}.safety-doc-card span{color:var(--cp-iron);font-size:12px;font-weight:500}.safety-doc-card em{color:var(--cp-red);font-size:11px;font-style:normal;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.safety-form-links{display:inline-flex;gap:8px}.safety-form-links .secondary-action{height:32px;min-height:32px;padding:0 10px;text-decoration:none}.safety-forms-table{table-layout:fixed}.safety-forms-table th:nth-child(1),.safety-forms-table td:nth-child(1){width:90px}.safety-forms-table th:nth-child(3),.safety-forms-table td:nth-child(3){width:240px}.safety-form-links{display:grid;gap:8px;grid-template-columns:1fr 1fr}.safety-link-placeholder{display:block}.safety-library{display:grid;gap:14px;max-width:920px}.safety-library .table-wrap{overflow-x:visible}.audit-package-table{table-layout:fixed}.audit-package-table th:nth-child(1),.audit-package-table td:nth-child(1){width:44px}.audit-package-table th:nth-child(3),.audit-package-table td:nth-child(3){width:120px}.audit-package-table th:nth-child(4),.audit-package-table td:nth-child(4){width:190px}.audit-package-table th:nth-child(5),.audit-package-table td:nth-child(5){width:230px}.audit-package-table th:nth-child(6),.audit-package-table td:nth-child(6){width:56px}.audit-note-input{width:100%}.audit-form-hint{color:var(--cp-iron);display:block;font-size:11px;font-weight:500;margin-top:3px}.audit-doc-list{display:grid;gap:4px}.audit-doc-empty{color:var(--cp-iron);font-size:12px;font-weight:500}.audit-doc-chip{align-items:center;display:grid;gap:6px;grid-template-columns:minmax(0,1fr) auto}.audit-doc-chip button:first-child{background:var(--cp-paper);border:1px solid var(--cp-line-soft);border-radius:2px;color:var(--cp-black);cursor:pointer;font-family:inherit;font-size:12px;font-weight:500;overflow:hidden;padding:4px 8px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.audit-doc-chip button:first-child:hover{border-color:var(--cp-red-soft)}.safety-metrics{grid-template-columns:repeat(4,minmax(0,1fr));max-width:920px}.safety-metrics .metric{grid-column:span 1}.sync-warning{background:var(--cp-red);border-radius:2px;color:#fff;display:grid;gap:4px;padding:12px 16px;width:100%}.sync-warning strong{font-size:14px;font-weight:600}.sync-warning span{font-size:12px;font-weight:500}.hr-access-actions .primary-action,.hr-access-actions .secondary-action{font-size:14px}.customer-people{display:grid;gap:2px;font-size:12.5px;color:var(--muted, #5b6472);max-width:320px}.safety-hub-tabs{margin-bottom:18px}.call-log-info-checkbox{display:flex;align-items:center;gap:10px}.call-log-info-checkbox input{width:18px;height:18px;accent-color:var(--cp-red, #c8102e)}.call-log-tab-hint{margin-top:12px;font-size:13px;color:var(--muted, #5b6472)}.call-log-map-link{display:inline-flex;align-items:center;gap:6px;margin-top:14px;text-decoration:none}.call-log-daily-job-entry{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:16px}.call-log-daily-job-entry label{display:grid;gap:4px;font-size:12.5px}.call-log-daily-job-entry label:nth-child(2){flex:1;min-width:220px}.status-pill.status-green{background:#eaf6ee;border-color:#bfe3cb;color:#1c6b38}.status-pill.status-amber{background:#fdf6e7;border-color:#ecd9a8;color:#8a6508}.status-pill.status-red{background:#fdf0f1;border-color:#efc4c9;color:#a4131f}.status-pill.status-grey{color:var(--cp-iron)}.call-log-view-toggle{margin-left:auto}.ac-viewport{flex:1;overflow:auto;background:gray;padding:0}.ac-form{position:relative;transform-origin:top left;font-family:"MS Sans Serif","Microsoft Sans Serif",Tahoma,Segoe UI,sans-serif;font-size:11px;line-height:1.15;color:#000}.ac-form *,.ac-form *:before,.ac-form *:after{box-sizing:border-box}.ac-section{position:relative;width:100%;overflow:hidden}.ac-ctl{position:absolute;z-index:1;margin:0}.ac-rect,.ac-hairline{z-index:0;pointer-events:none}.ac-label{white-space:pre-line;overflow:hidden;pointer-events:none}.ac-textbox,.ac-combo,.ac-combo-text,.ac-list{background:#fff;border:1px solid #7a7a7a;border-radius:0;color:#000;padding:0 3px;box-shadow:inset 1px 1px #c7c7c7}.ac-form textarea.ac-textbox{resize:none;padding:2px 3px;line-height:1.25}.ac-textbox:focus,.ac-combo:focus,.ac-combo-text:focus{outline:1px dotted #000000;outline-offset:-3px}.ac-textbox.ac-flat,.ac-combo-text.ac-flat{box-shadow:none}.ac-textbox.ac-transparent{background:transparent;border-color:transparent;box-shadow:none}.ac-textbox.ac-flat.ac-transparent{border:none}.ac-dead{cursor:default}.ac-button{background:#f0f0f0;border:1px solid;border-color:#ffffff #6d6d6d #6d6d6d #ffffff;box-shadow:inset -1px -1px #a0a0a0,inset 1px 1px #fdfdfd,1px 1px #404040;border-radius:0;color:#000;padding:1px 2px;white-space:pre-line;line-height:1.1;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center}.ac-button:not(:disabled):hover{background:#f6f6f6}.ac-button:not(:disabled):active{border-color:#6d6d6d #ffffff #ffffff #6d6d6d;box-shadow:inset 1px 1px #a0a0a0}.ac-button:disabled{color:gray;text-shadow:1px 1px 0 #ffffff;cursor:default}.ac-check,.ac-radio{accent-color:#000000;cursor:pointer}.ac-check:disabled,.ac-radio:disabled{cursor:default}.ac-combo{padding:0 1px;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.ac-group{border:1px solid #ffffff;box-shadow:inset 0 0 0 1px #9a9a9a;background:transparent;pointer-events:none}.ac-list{overflow:auto;padding:0}.ac-list table{border-collapse:collapse;width:100%;font:inherit}.ac-list th{position:sticky;top:0;background:#ececec;border-right:1px solid #c0c0c0;border-bottom:1px solid #9a9a9a;font-weight:400;text-align:left;padding:1px 4px;white-space:nowrap}.ac-list td{border-right:1px solid #e4e4e4;padding:1px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:420px;cursor:default}.ac-list tbody tr:hover td{background:#e8f0fb;color:#000}.ac-list tbody tr.selected td{background:#316ac5;color:#fff}.ac-subform{background:#fff;border:1px solid #7a7a7a;box-shadow:inset 1px 1px #c7c7c7;overflow:auto}.ac-rect.ac-etched,.ac-group.ac-etched{border:1px solid #9a9a9a;box-shadow:inset 1px 1px #fff,1px 1px #fff}.ac-rect.ac-raised{border:1px solid;border-color:#ffffff #6d6d6d #6d6d6d #ffffff}.ac-rect.ac-sunken{border:1px solid;border-color:#6d6d6d #ffffff #ffffff #6d6d6d}.ac-tabstrip{position:absolute;display:flex;align-items:flex-end;height:27px;z-index:2;padding-left:2px}.ac-tabstrip button{font:inherit;background:#e4e2dc;color:#000;border:1px solid;border-color:#ffffff #6d6d6d #6d6d6d #ffffff;border-bottom:none;border-radius:3px 3px 0 0;padding:3px 10px 2px;margin-right:1px;height:22px;cursor:pointer;white-space:nowrap}.ac-tabstrip button.active{background:#f0f0f0;height:26px;font-weight:700;position:relative;z-index:3}.ac-page{position:absolute;background:#f0f0f0;border:1px solid;border-color:#ffffff #6d6d6d #6d6d6d #ffffff;overflow:hidden}.ac-form-footer{border-top:1px solid #9a9a9a}.ac-dropzone{width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:4px;color:#444;border:1px dashed #9a9a9a;overflow:hidden}.ac-dropzone.drag-over{background:#e8f0fb;border-color:#316ac5}.ac-dropzone span{overflow:hidden;text-overflow:ellipsis}.ac-subform-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;padding:10px;align-content:start}.ac-subform-grid label{display:flex;flex-direction:column;gap:2px;font-size:11px;color:#333}.ac-subform-grid input{font:inherit;background:#fff;border:1px solid #7a7a7a;border-radius:0;box-shadow:inset 1px 1px #c7c7c7;padding:2px 3px;color:#000}.ac-subform-grid p{grid-column:1 / -1;color:#666;font-size:11px;margin:4px 0 0}.ac-calendar{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:8px;text-align:center;color:#333}.ac-calendar input{font:inherit;font-size:14px;background:#fff;border:1px solid #7a7a7a;border-radius:0;padding:3px 4px;color:#000}.ac-form input:focus,.ac-form select:focus,.ac-form textarea:focus{border-color:#316ac5!important;box-shadow:none!important;outline:1px dotted #000000!important;outline-offset:-3px!important}.ac-form button.ac-ctl:not(:disabled):active{border-color:#6d6d6d #ffffff #ffffff #6d6d6d!important;box-shadow:inset 1px 1px #a0a0a0!important}.ac-form button.ac-ctl:disabled{color:gray!important;text-shadow:1px 1px 0 #ffffff;cursor:default}.receipt-thumbs{display:flex;flex-wrap:wrap;gap:6px}.receipt-thumbs a{display:block;width:54px;height:72px;border:1px solid var(--cp-stone);border-radius:2px;overflow:hidden;background:var(--cp-bone)}.receipt-thumbs a:hover{border-color:var(--cp-red)}.receipt-thumbs img{display:block;width:100%;height:100%;object-fit:cover}.receipt-status{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.receipt-status small,.receipt-note{display:block;color:var(--cp-iron);font-size:11px}.receipt-note{margin-top:4px;max-width:240px;white-space:normal}.receipt-actions{display:flex;gap:6px;align-items:center}
