*{box-sizing:border-box}body,html{background:#f4f6f5}body{margin:0;color:#17211f;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:progress;opacity:.68}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(47,118,104,.28);outline-offset:2px}h1,h2,p{margin-top:0}.eyebrow{color:#687875;font-size:11px;font-weight:700;letter-spacing:0;margin-bottom:8px;text-transform:uppercase}.subtle{color:#657673;font-size:14px;line-height:1.5}.linkButton,.primary,.quiet,.secondary{min-height:38px;border-radius:8px;font-weight:700}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.primary{background:#1f5f53;border:1px solid #1f5f53;color:#ffffff;padding:10px 14px}.secondary{background:#ffffff;border:1px solid #cfd9d5;color:#28433d;padding:9px 12px}.iconButton{display:inline-grid;width:38px;height:38px;padding:0;border:1px solid #d7dfdc;border-radius:8px;place-items:center;background:#ffffff;color:#465955;text-decoration:none}.iconButton:hover,.secondary:hover{border-color:#aebdb8;background:#f8faf9}.primary:hover{background:#174d43;border-color:#174d43}.linkButton,.quiet{background:transparent;border:0;color:#2a6f61;padding:8px 0;text-align:left}.notice{margin:0 0 18px;padding:11px 13px;border:1px solid #e7d7ad;border-left:4px solid #d59f3a;border-radius:8px;background:#fffdf5;color:#6a4d12;font-size:13px}.communicationForm{margin-top:12px}.communicationForm textarea{grid-column:1/-1;min-height:74px}.communicationRow{gap:5px}.communicationRow p{margin:2px 0 0;color:#334743;font-size:13px;line-height:1.45}.publicEstimateShell{min-height:100vh;padding:28px;background:#eef2f0}.publicEstimatePage{width:min(980px,100%);margin:0 auto;padding:32px;border:1px solid #dce6e1;border-radius:8px;background:#ffffff}.estimateHeader,.estimateResponseActions,.estimateSummary{display:flex;align-items:center;justify-content:space-between;gap:16px}.estimateHeader{margin-bottom:22px}.estimateIdentity{display:flex;min-width:0;align-items:center;gap:20px}.publicCompanyLogo{display:block;width:150px;max-height:72px;flex:0 0 auto;object-fit:contain;object-position:left center}.estimateHeader h1{margin-bottom:6px;font-size:clamp(32px,5vw,54px);line-height:1}.estimateBadge{padding:8px 12px;border-radius:999px;background:#e7f2ef;color:#1f5f53;text-transform:capitalize;white-space:nowrap}.estimateBadge.tone-success{background:#e3f4e5;color:#216a33}.estimateBadge.tone-warning{background:#fdf3dd;color:#8a6210}.estimateBadge.tone-danger{background:#fbe7e4;color:#a03a2c}.estimateResponse,.estimateSummary,.estimateTerms,.estimateTotals{margin-top:20px;padding-top:20px;border-top:1px solid #e3ebe7}.estimateSummary dd,.estimateTotals dd{margin:0;color:#17211f;font-size:15px;font-weight:600}.estimateResponseForm label,.estimateSummary dt,.estimateTerms b,.estimateTotals dt{display:block;margin-bottom:5px;color:#657673;font-size:12px;font-weight:800;text-transform:uppercase}.estimateLineTable{width:100%;margin-top:24px;border:1px solid #e0e8e4;border-radius:8px;border-collapse:separate;border-spacing:0;overflow:hidden}.estimateLineTable td,.estimateLineTable th{padding:13px 16px;text-align:left;vertical-align:top}.estimateLineTable th{background:#f4f7f6;color:#657673;font-size:12px;font-weight:800;text-transform:uppercase}.estimateLineTable tbody tr+tr td{border-top:1px solid #edf2ef}.estimateLineTable td small{display:block;margin-top:4px;color:#657673;line-height:1.45}.estimateTotals{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));grid-gap:14px;gap:14px}.estimateGrandTotal{padding:14px;border-radius:8px;background:#173d37}.estimateGrandTotal dt{color:#cfe2dd}.estimateGrandTotal dd{color:#ffffff;font-size:18px}.estimateTerms p{margin-bottom:14px;color:#334743;line-height:1.55}.estimateResponseForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.estimateResponseForm h2{grid-column:1/-1;margin-bottom:2px;font-size:18px}.estimateResponseForm .checkboxLabel,.estimateResponseForm .estimateConfirm,.estimateResponseForm .estimateResponseActions,.estimateResponseForm .notice,.estimateResponseForm label:nth-of-type(3){grid-column:1/-1}.checkboxLabel{display:flex;align-items:flex-start;gap:9px;color:#334743;font-size:13px;line-height:1.5;text-transform:none;font-weight:500}.checkboxLabel input{width:auto;min-height:0;margin-top:2px}.estimateConfirm{padding:14px;border:1px solid #e7d7ad;border-radius:8px;background:#fffdf5}.estimateConfirm p{margin:0 0 10px}.estimateDocumentActions{display:flex;margin-top:18px;padding-top:18px;border-top:1px solid #e3ebe7;gap:10px}.estimatePdfLink{display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;justify-content:center;text-decoration:none}.publicEstimateMessage{text-align:center}.publicEstimateMessage h1{margin-bottom:10px}.platformAttribution{display:flex;width:-moz-fit-content;width:fit-content;margin:26px 0 0 auto;align-items:center;gap:8px;color:#73817e;font-size:10px;font-weight:700;text-decoration:none}.estimateBrandViewport{position:relative;display:block;overflow:hidden;width:112px;height:30px}.estimateBrandLogo{position:absolute;top:-13px;left:0;width:112px;height:auto}.platformAttribution:hover{color:#1f5f53}.estimateResponseForm input,.estimateResponseForm textarea{width:100%;min-height:42px;padding:10px 11px;border:1px solid #cad7d2;border-radius:8px}.estimateResponseForm textarea{min-height:88px;resize:vertical}.dangerButton{display:inline-flex;min-height:40px;padding:9px 14px;border:1px solid #c0392b;border-radius:8px;align-items:center;justify-content:center;gap:7px;background:#c0392b;color:#ffffff;font-weight:700}.dangerButton:hover{background:#a93226}.dangerButton:disabled{opacity:.6}@media print{.publicEstimateShell{padding:0;background:#ffffff}.publicEstimatePage{border:0;padding:0}.estimateDocumentActions,.estimateResponse,.platformAttribution{display:none}}@media (max-width:720px){.publicEstimateShell{padding:12px}.publicEstimatePage{padding:20px}.estimateHeader,.estimateResponseActions,.estimateSummary{align-items:stretch;flex-direction:column}.estimateIdentity{width:100%;align-items:flex-start;flex-direction:column;gap:14px}.publicCompanyLogo{width:min(180px,60vw);max-height:64px}.estimateLineTable{display:block;overflow-x:auto}.estimateResponseForm,.estimateTotals{grid-template-columns:1fr}}@media (max-width:899px){input,select,textarea{font-size:16px}[role=button],a,button{touch-action:manipulation}}.timeClock{display:grid;grid-gap:12px;gap:12px}.timeClockStatus{display:flex;align-items:center;gap:10px;text-transform:capitalize}.statusDot{width:10px;height:10px;border-radius:999px;background:#657673}.statusDot.active{background:#34d399}.statusDot.paused{background:#f59e0b}.statusDot.stopped{background:#657673}.timeClockDisplay{margin-left:auto;font-size:24px;font-weight:700;letter-spacing:.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.timeClockActions{display:flex;flex-wrap:wrap;gap:8px}.timeClockActions button{flex:1 1 auto;min-height:44px}.timeJobSelect{display:flex;flex-direction:column;gap:4px;font-size:13px}.timeJobSelect select{width:100%}.timeClockSubmitted{display:flex;align-items:center;gap:6px;color:#34d399;font-size:14px}.timeManualForm{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:10px;gap:10px}.timeManualForm label{display:flex;flex-direction:column;gap:4px;font-size:13px}.timeManualForm input{width:100%}.timeManualForm .fullRow,.timeManualForm button{grid-column:1/-1}.timeNoteLabel{display:flex;flex-direction:column;gap:4px;font-size:13px}.timeNoteLabel textarea{width:100%;resize:vertical}.timeSubmissions{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px}.timeSubmissions li{display:flex;align-items:center;gap:10px;justify-content:space-between;font-size:13px;padding:6px 8px;background:#f8fafa;border-radius:6px}.submissionStatus{font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:4px;background:#e2e8f0;color:#334155}.submissionStatus.submitted{background:#fef3c7;color:#92400e}.submissionStatus.approved{background:#d1fae5;color:#065f46}.submissionStatus.rejected{background:#fee2e2;color:#991b1b}.timeSubmissionActions{display:flex;gap:4px}.timeSubmissionEdit{flex-wrap:wrap}.timeSubmissionEdit label{display:flex;flex-direction:column;gap:2px;font-size:12px}.timeSubmissionEdit input,.timeSubmissionEdit select{padding:4px 6px;font-size:13px}.timeSubmissionEditActions{display:flex;gap:6px;width:100%;justify-content:flex-end}.timeSubmissionEdit .fullRow{width:100%}.profilePage{display:grid;grid-gap:20px;gap:20px;max-width:720px}.profileSummary{display:flex;align-items:center;gap:14px}.profileAvatar{display:grid;width:56px;height:56px;border-radius:50%;place-items:center;background:#18483f;color:#ffffff;font-size:22px;font-weight:700}.profileMetaGrid{display:grid;grid-gap:8px;gap:8px;margin-top:14px;font-size:13px;color:#4b5b6b}.avatarUploadLabel{display:flex;flex-direction:column;gap:8px}.avatarUploadLabel .avatarPreview,.avatarUploadLabel img{width:80px;height:80px;border-radius:50%;object-fit:cover}.profileMetaGrid span{display:flex;align-items:center;gap:6px}.auditPage{max-width:900px}.auditLogList{list-style:none;margin:0;padding:0;display:grid;grid-gap:10px;gap:10px}.auditLogRow{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:12px;gap:12px;padding:12px 14px;border:1px solid #dfe7e3;border-radius:8px;background:#ffffff}.auditDot{width:10px;height:10px;border-radius:50%;background:#4d8d7e}.auditLogMain strong{display:block;font-size:14px;font-weight:600}.auditEntity,.auditLogMeta{font-size:12px;color:#6d7d7a}.auditLogMeta{display:grid;grid-gap:2px;gap:2px;text-align:right}.auditLogMeta span{display:flex;align-items:center;gap:4px;justify-content:flex-end}.loadMore{width:100%;margin-top:10px}