:root{color:#17211f;background:#f5f7f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}a{color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled,input:disabled{cursor:not-allowed}h1,p{margin:0}h1{font-size:clamp(2rem,3vw,2.8rem);line-height:1.06}.app-layout{display:grid;min-height:100vh;grid-template-columns:260px minmax(0,1fr);background:#f5f7f4}.skip-link{position:fixed;top:12px;left:12px;z-index:20;transform:translateY(-160%);border-radius:6px;background:#fff;padding:10px 12px;color:#1b4f4b;font-weight:700;transition:transform .16s ease}.skip-link:focus{transform:translateY(0)}.sidebar{border-right:1px solid #233836;background:#10211f;color:#f7fbf8;padding:28px 20px}.brand-block{margin-bottom:32px}.brand-kicker{color:#f1b84b;font-size:.76rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.brand-title{margin-top:4px;font-size:1.55rem;font-weight:800}.brand-version{margin-top:8px;color:#b8cac5;font-size:.82rem;font-weight:800}.nav-list{display:grid;gap:6px}.nav-link{border-radius:6px;color:#dce9e5;padding:11px 12px;text-decoration:none}.nav-link:hover,.nav-link:focus-visible{background:#1b3633;outline:none}.nav-link-active{background:#f1b84b;color:#17211f;font-weight:800}.workspace{min-width:0}.topbar{display:flex;min-height:86px;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #d7e2de;background:#fff;padding:18px 32px}.topbar-title{margin-top:4px;color:#17211f;font-size:1.14rem;font-weight:800}.status-strip{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.status-pill{display:inline-flex;min-height:32px;align-items:center;border:1px solid #c8d7d2;border-radius:999px;background:#f8fbfa;padding:6px 11px;color:#30413e;font-size:.84rem;font-weight:800;white-space:nowrap}.status-pill-local{border-color:#9dcfc4;background:#e5f5f1;color:#1a5a52}.status-pill-staging{border-color:#c9b66a;background:#fff7dc;color:#695217}.status-pill-production{border-color:#d29a9a;background:#fff0f0;color:#8c2626}.status-pill-locked{border-color:#d7c58a;background:#fff9e7;color:#6f5615}.status-pill-auth{border-color:#d6d9df;background:#f5f6f8;color:#384047}.status-button{min-height:32px;border:1px solid #384047;border-radius:6px;background:#fff;padding:6px 11px;color:#26302e;font-size:.84rem;font-weight:800}.status-button:hover,.status-button:focus-visible{background:#eef3f1;outline:none}.content{width:min(100%,1120px);padding:34px 32px 48px}.app-update{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #d7e2de;background:#edf7f4;padding:12px 32px;color:#1b5d56;font-weight:800}.app-update-updateAvailable{background:#fff7dc;color:#695217}.app-update-error{background:#fff4f2;color:#8c2c26}.app-update div{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.app-update button{min-height:34px;border:1px solid currentColor;border-radius:6px;background:#fff;padding:7px 10px;color:inherit;font-size:.84rem;font-weight:800}.app-update button:hover:not(:disabled),.app-update button:focus-visible{background:#ffffffb3;outline:none}.page-panel,.error-panel{width:100%;border:1px solid #cfdbd7;border-radius:8px;background:#fff;padding:30px;box-shadow:0 16px 40px #17211f14}.error-panel{border-color:#ddb2ad}.standalone-screen{display:grid;min-height:100vh;place-items:center;padding:24px}.eyebrow{margin-bottom:8px;color:#2e6864;font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.intro{max-width:68ch;margin-top:18px;color:#405452;line-height:1.6}.metadata-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:28px 0 0}.metadata-grid div,.metadata-list div{border-left:4px solid #f1b84b;border-radius:6px;background:#f8fbfa;padding:13px 14px}.metadata-grid dt,.metadata-list dt{color:#58706b;font-size:.78rem;font-weight:800;text-transform:uppercase}.metadata-grid dd,.metadata-list dd{margin:6px 0 0;color:#17211f;font-weight:800}.metadata-list{display:grid;gap:12px;margin:28px 0 0}.settings-form,.settings-fields{display:grid;gap:12px}.settings-form{margin-top:24px}.settings-field{display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr);align-items:center;gap:12px;border:1px solid #e0e8e5;border-radius:6px;padding:12px 14px}.settings-field span{color:#405452;font-size:.86rem;font-weight:800}.settings-field input{min-width:0;border:1px solid #c8d7d2;border-radius:6px;padding:9px 11px;color:#17211f}.settings-field input:focus{border-color:#2e6864;outline:3px solid #d8eee9}.settings-checkbox input{justify-self:start;width:22px;height:22px}.settings-field-readonly strong{overflow-wrap:anywhere}.settings-form button,.sync-toolbar button,.sync-operations button{width:fit-content;min-height:40px;border:1px solid #1b5d56;border-radius:6px;background:#1b5d56;padding:9px 12px;color:#fff;font-weight:800}.settings-form button:hover:not(:disabled),.settings-form button:focus-visible,.sync-toolbar button:hover,.sync-toolbar button:focus-visible,.sync-operations button:hover,.sync-operations button:focus-visible{background:#123f3a;outline:none}.settings-form button:disabled{border-color:#c8d7d2;background:#dfe8e5;color:#71807c}.settings-message,.sync-message{margin-top:16px;border-left:4px solid #2e6864;background:#edf7f4;padding:12px 14px;color:#1b5d56;font-weight:800}.settings-message-error,.sync-message-error{border-left-color:#b84a43;background:#fff4f2;color:#8c2c26}.settings-state,.sync-state{margin-top:24px;border-left:4px solid #2e6864;background:#f8fbfa;padding:18px 20px}.settings-state-error,.sync-state-error{border-left-color:#b84a43;background:#fff4f2}.settings-state h2,.sync-state h2,.sync-operations h2{margin:0;color:#17211f;font-size:1.2rem}.settings-state p,.sync-state p{margin-top:7px;color:#58706b;line-height:1.45}.sync-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:18px 0 0}.sync-summary div{border-left:4px solid #2e6864;border-radius:6px;background:#f8fbfa;padding:13px 14px}.sync-summary dt{color:#58706b;font-size:.78rem;font-weight:800;text-transform:uppercase}.sync-summary dd{margin:6px 0 0;color:#17211f;font-weight:800}.sync-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.sync-toolbar .sync-danger-button{border-color:#8c2c26;background:#fff4f2;color:#8c2c26}.sync-toolbar .sync-danger-button:hover,.sync-toolbar .sync-danger-button:focus-visible{background:#ffe7e3}.sync-operations{margin-top:26px}.sync-operations ul{display:grid;gap:10px;margin:14px 0 0;padding:0;list-style:none}.sync-operations li{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border:1px solid #e0e8e5;border-radius:6px;padding:13px 14px}.sync-operations span,.sync-operation-error{display:block;margin-top:6px;color:#58706b;line-height:1.45}.sync-operation-error{color:#8c2c26;font-weight:800}.text-link{display:inline-flex;width:fit-content;margin-top:22px;border-bottom:2px solid #f1b84b;color:#1b5d56;font-weight:800;text-decoration:none}.text-link:hover,.text-link:focus-visible{color:#123f3a;outline:none}.login-form{display:grid;max-width:420px;gap:14px;margin-top:24px}.login-form label{display:grid;gap:7px;color:#405452;font-size:.86rem;font-weight:800}.login-form input{min-height:42px;border:1px solid #c8d7d2;border-radius:6px;background:#fff;padding:9px 11px;color:#17211f}.login-form input:focus{border-color:#2e6864;outline:3px solid #d8eee9}.login-form button{min-height:42px;border:1px solid #1b5d56;border-radius:6px;background:#1b5d56;padding:9px 12px;color:#fff;font-weight:800}.login-form button:hover:not(:disabled),.login-form button:focus-visible{background:#123f3a;outline:none}.login-form button:disabled{border-color:#c8d7d2;background:#dfe8e5;color:#71807c}.form-error{border-left:4px solid #b84a43;background:#fff4f2;padding:12px 14px;color:#8c2c26;font-weight:800}.jobs-page{max-width:1020px}.jobs-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0 0}.jobs-summary div,.jobs-detail-list div{border-left:4px solid #2e6864;border-radius:6px;background:#f8fbfa;padding:13px 14px}.jobs-summary dt,.jobs-detail-list dt{color:#58706b;font-size:.78rem;font-weight:800;text-transform:uppercase}.jobs-summary dd,.jobs-detail-list dd{margin:6px 0 0;color:#17211f;font-weight:800}.jobs-filter{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.jobs-filter button{min-height:36px;border:1px solid #c8d7d2;border-radius:6px;background:#fff;padding:7px 11px;color:#30413e;font-weight:800}.jobs-filter button:hover,.jobs-filter button:focus-visible,.jobs-filter .jobs-filter-active{border-color:#1b5d56;background:#1b5d56;color:#fff;outline:none}.jobs-list,.jobs-read-list{display:grid;gap:10px;margin:24px 0 0;padding:0;list-style:none}.jobs-list-item,.jobs-read-list li{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border:1px solid #e0e8e5;border-radius:6px;padding:13px 14px}.jobs-title-link{color:#173f3b;font-weight:900;text-decoration-color:#f1b84b;text-decoration-thickness:2px;text-underline-offset:4px}.jobs-title-link:hover,.jobs-title-link:focus-visible{color:#1b5d56;outline:none}.jobs-metadata,.jobs-empty,.jobs-state p,.jobs-read-list span{margin-top:7px;color:#58706b;line-height:1.45}.jobs-status{flex:0 0 auto;border:1px solid #c8d7d2;border-radius:999px;background:#f8fbfa;padding:6px 10px;color:#30413e;font-size:.84rem;font-weight:800;white-space:nowrap}.jobs-state,.jobs-warning{margin-top:28px;border-left:4px solid #2e6864;background:#f8fbfa;padding:18px 20px}.jobs-state-error{border-left-color:#b84a43;background:#fff4f2}.jobs-warning{border-left-color:#d09b2f;background:#fff8e8;color:#694f13;font-weight:800}.jobs-state h2,.jobs-detail-section h2{margin:0;color:#17211f;font-size:1.2rem;line-height:1.25}.jobs-detail-section{margin-top:28px;border-top:1px solid #d7e2de;padding-top:22px}.jobs-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 0}.jobs-read-list strong{min-width:0;overflow-wrap:anywhere}.jobs-write-message{margin-top:16px;border-left:4px solid #2e6864;background:#edf7f4;padding:12px 14px;color:#1b5d56;font-weight:800}.jobs-write-error{border-left-color:#b84a43;background:#fff4f2;color:#8c2c26}.jobs-schedule-form,.jobs-schedule-edit-form,.jobs-material-form,.jobs-material-edit-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(130px,170px) auto;gap:10px;margin-top:16px}.jobs-schedule-edit-form{grid-template-columns:minmax(180px,1fr) minmax(130px,170px) auto auto minmax(180px,auto)}.jobs-material-form{grid-template-columns:minmax(180px,1fr) minmax(110px,140px) minmax(120px,150px) auto}.jobs-material-edit-form{grid-template-columns:minmax(180px,1fr) minmax(110px,140px) minmax(120px,150px) auto auto;margin-top:0}.jobs-schedule-form label,.jobs-schedule-edit-form label,.jobs-material-form label,.jobs-material-edit-form label{display:grid;gap:6px;color:#405452;font-size:.86rem;font-weight:800}.jobs-schedule-form input,.jobs-schedule-edit-form input,.jobs-material-form input,.jobs-material-edit-form input{min-width:0;border:1px solid #c8d7d2;border-radius:6px;background:#fff;padding:9px 11px;color:#17211f}.jobs-schedule-form input:focus,.jobs-schedule-edit-form input:focus,.jobs-material-form input:focus,.jobs-material-edit-form input:focus{border-color:#2e6864;outline:3px solid #d8eee9}.jobs-schedule-form input:disabled,.jobs-schedule-edit-form input:disabled,.jobs-material-form input:disabled,.jobs-material-edit-form input:disabled{background:#eef3f1;color:#667672}.jobs-schedule-form button,.jobs-schedule-edit-form button,.jobs-material-form button,.jobs-material-edit-form button{align-self:end;min-height:40px;border:1px solid #1b5d56;border-radius:6px;background:#1b5d56;padding:8px 12px;color:#fff;font-weight:800;white-space:nowrap}.jobs-schedule-edit-form button[type=button],.jobs-material-edit-form button[type=button]{border-color:#c8d7d2;background:#fff;color:#30413e}.jobs-schedule-edit-form button[type=button]:first-of-type,.jobs-material-edit-form button[type=button]{border-color:#a83c35;background:#b84a43;color:#fff}.jobs-schedule-form button:hover:not(:disabled),.jobs-schedule-edit-form button:hover:not(:disabled),.jobs-material-form button:hover:not(:disabled),.jobs-material-edit-form button:hover:not(:disabled),.jobs-schedule-form button:focus-visible,.jobs-schedule-edit-form button:focus-visible,.jobs-material-form button:focus-visible,.jobs-material-edit-form button:focus-visible{background:#123f3a;outline:none}.jobs-schedule-edit-form button[type=button]:hover:not(:disabled),.jobs-schedule-edit-form button[type=button]:focus-visible{background:#edf7f4}.jobs-schedule-edit-form button[type=button]:first-of-type:hover:not(:disabled),.jobs-schedule-edit-form button[type=button]:first-of-type:focus-visible,.jobs-material-edit-form button[type=button]:hover:not(:disabled),.jobs-material-edit-form button[type=button]:focus-visible{background:#8c2c26}.jobs-schedule-form button:disabled,.jobs-schedule-edit-form button:disabled,.jobs-material-form button:disabled,.jobs-material-edit-form button:disabled{border-color:#c8d7d2;background:#dfe8e5;color:#71807c}.jobs-schedule-list{display:grid;gap:12px;margin:20px 0 0;padding:0;list-style:none}.jobs-schedule-list li{border:1px solid #e0e8e5;border-radius:6px;padding:13px 14px}.jobs-schedule-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.jobs-calendar-status{flex:0 0 auto;border:1px solid #c8d7d2;border-radius:999px;background:#f8fbfa;padding:6px 10px;color:#30413e;font-size:.84rem;font-weight:800;text-transform:capitalize;white-space:nowrap}.jobs-calendar-pending,.jobs-calendar-retry_needed{border-color:#e2c371;background:#fff8e8;color:#694f13}.jobs-calendar-synced{border-color:#b8d3cc;background:#edf7f4;color:#1b5d56}.jobs-calendar-failed{border-color:#e1aaa5;background:#fff4f2;color:#8c2c26}.jobs-material-list,.jobs-material-rows{display:grid;gap:12px;margin:20px 0 0;padding:0;list-style:none}.jobs-material-list>li{border:1px solid #e0e8e5;border-radius:6px;padding:13px 14px}.jobs-material-rows{gap:10px;margin-top:12px}.jobs-material-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-top:1px solid #e9efed;padding-top:10px}.jobs-material-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.jobs-material-summary strong,.jobs-material-row strong{overflow-wrap:anywhere}.jobs-material-summary span,.jobs-material-row span{display:block;margin-top:7px;color:#58706b;line-height:1.45}.jobs-material-status,.jobs-material-source{flex:0 0 auto;border:1px solid #c8d7d2;border-radius:999px;background:#f8fbfa;padding:6px 10px;color:#30413e;font-size:.84rem;font-weight:800;white-space:nowrap}.jobs-material-not_connected,.jobs-material-manual_review,.jobs-material-tbc_preserved{border-color:#e2c371;background:#fff8e8;color:#694f13}.jobs-material-matched,.jobs-material-invoice_preserved{border-color:#b8d3cc;background:#edf7f4;color:#1b5d56}.subwork-page{max-width:1120px}.subwork-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0 0}.subwork-summary div,.subwork-detail-heading dl div{border-left:4px solid #7a5b25;border-radius:6px;background:#fbfaf5;padding:13px 14px}.subwork-summary dt,.subwork-detail-heading dt{color:#6d654f;font-size:.78rem;font-weight:800;text-transform:uppercase}.subwork-summary dd,.subwork-detail-heading dd{margin:6px 0 0;color:#17211f;font-weight:800}.subwork-layout{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:20px;margin-top:24px;align-items:start}.subwork-list,.subwork-detail{min-width:0}.subwork-list h2,.subwork-detail h2,.subwork-section h3,.subwork-state h2{margin:0;color:#17211f;line-height:1.25}.subwork-list h2,.subwork-detail h2,.subwork-state h2{font-size:1.2rem}.subwork-section h3{font-size:1.02rem}.subwork-list ul,.subwork-card-list{display:grid;gap:10px;margin:14px 0 0;padding:0;list-style:none}.subwork-list button{display:grid;width:100%;gap:6px;border:1px solid #e0e8e5;border-radius:6px;background:#fff;padding:13px 14px;color:#17211f;text-align:left}.subwork-list button:hover,.subwork-list button:focus-visible,.subwork-list .subwork-selected{border-color:#7a5b25;background:#fbfaf5;outline:none}.subwork-list span,.subwork-detail-heading p,.subwork-card-summary span,.subwork-empty,.subwork-state p{color:#665f50;line-height:1.45}.subwork-detail-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,260px);gap:18px;align-items:start}.subwork-detail-heading p{margin-top:7px}.subwork-detail-heading dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.subwork-state,.subwork-warning{margin-top:28px;border-left:4px solid #7a5b25;background:#fbfaf5;padding:18px 20px}.subwork-state-error,.subwork-write-error{border-left-color:#b84a43;background:#fff4f2;color:#8c2c26}.subwork-warning{border-left-color:#d09b2f;background:#fff8e8;color:#694f13;font-weight:800}.subwork-write-message{margin-top:16px;border-left:4px solid #7a5b25;background:#fbfaf5;padding:12px 14px;color:#5d451a;font-weight:800}.subwork-section{margin-top:24px;border-top:1px solid #d7e2de;padding-top:20px}.subwork-job-form,.subwork-job-edit-form,.subwork-time-form,.subwork-time-edit-form,.subwork-material-form,.subwork-material-edit-form{display:grid;gap:10px;margin-top:16px}.subwork-job-form{grid-template-columns:minmax(170px,1fr) minmax(150px,180px) minmax(150px,1fr) minmax(150px,190px) auto}.subwork-job-edit-form{grid-template-columns:minmax(170px,1fr) minmax(150px,180px) minmax(150px,1fr) minmax(150px,190px) auto auto}.subwork-time-form,.subwork-time-edit-form{grid-template-columns:minmax(150px,180px) minmax(90px,120px) minmax(130px,1fr) minmax(130px,1fr) auto}.subwork-time-edit-form{grid-template-columns:minmax(150px,180px) minmax(90px,120px) minmax(130px,1fr) minmax(130px,1fr) auto auto}.subwork-material-form,.subwork-material-edit-form{grid-template-columns:minmax(170px,1fr) minmax(100px,130px) minmax(110px,140px) auto}.subwork-material-edit-form{grid-template-columns:minmax(170px,1fr) minmax(100px,130px) minmax(110px,140px) auto auto}.subwork-job-form label,.subwork-job-edit-form label,.subwork-time-form label,.subwork-time-edit-form label,.subwork-material-form label,.subwork-material-edit-form label{display:grid;gap:6px;color:#405452;font-size:.86rem;font-weight:800}.subwork-job-form input,.subwork-job-form select,.subwork-job-edit-form input,.subwork-job-edit-form select,.subwork-time-form input,.subwork-time-edit-form input,.subwork-material-form input,.subwork-material-edit-form input{min-width:0;border:1px solid #c8d7d2;border-radius:6px;background:#fff;padding:9px 11px;color:#17211f}.subwork-job-form input:focus,.subwork-job-form select:focus,.subwork-job-edit-form input:focus,.subwork-job-edit-form select:focus,.subwork-time-form input:focus,.subwork-time-edit-form input:focus,.subwork-material-form input:focus,.subwork-material-edit-form input:focus{border-color:#7a5b25;outline:3px solid #f4ead3}.subwork-job-form button,.subwork-job-edit-form button,.subwork-time-form button,.subwork-time-edit-form button,.subwork-material-form button,.subwork-material-edit-form button{align-self:end;min-height:40px;border:1px solid #7a5b25;border-radius:6px;background:#7a5b25;padding:8px 12px;color:#fff;font-weight:800;white-space:nowrap}.subwork-job-edit-form button[type=button],.subwork-time-edit-form button[type=button],.subwork-material-edit-form button[type=button]{border-color:#a83c35;background:#b84a43}.subwork-job-form button:hover:not(:disabled),.subwork-job-form button:focus-visible,.subwork-job-edit-form button:hover:not(:disabled),.subwork-job-edit-form button:focus-visible,.subwork-time-form button:hover:not(:disabled),.subwork-time-form button:focus-visible,.subwork-time-edit-form button:hover:not(:disabled),.subwork-time-edit-form button:focus-visible,.subwork-material-form button:hover:not(:disabled),.subwork-material-form button:focus-visible,.subwork-material-edit-form button:hover:not(:disabled),.subwork-material-edit-form button:focus-visible{background:#5d451a;outline:none}.subwork-job-edit-form button[type=button]:hover:not(:disabled),.subwork-job-edit-form button[type=button]:focus-visible,.subwork-time-edit-form button[type=button]:hover:not(:disabled),.subwork-time-edit-form button[type=button]:focus-visible,.subwork-material-edit-form button[type=button]:hover:not(:disabled),.subwork-material-edit-form button[type=button]:focus-visible{background:#8c2c26}.subwork-job-form button:disabled,.subwork-job-edit-form button:disabled,.subwork-time-form button:disabled,.subwork-time-edit-form button:disabled,.subwork-material-form button:disabled,.subwork-material-edit-form button:disabled{border-color:#c8d7d2;background:#dfe8e5;color:#71807c}.subwork-card-list>li{border:1px solid #e0e8e5;border-radius:6px;padding:13px 14px}.subwork-card-summary{display:grid;gap:6px}.subwork-card-summary strong{overflow-wrap:anywhere}.subwork-visible-date{display:block;color:#5d451a;font-size:.82rem;font-weight:800}.leads-page{max-width:1020px}.leads-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0 0}.leads-summary div,.leads-detail-list div{border-left:4px solid #315f7a;border-radius:6px;background:#f7fbfd;padding:13px 14px}.leads-summary dt,.leads-detail-list dt{color:#536c78;font-size:.78rem;font-weight:800;text-transform:uppercase}.leads-summary dd,.leads-detail-list dd{margin:6px 0 0;color:#17211f;font-weight:800}.leads-filter{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.leads-filter button,.leads-detail-section button{min-height:36px;border:1px solid #c6d6df;border-radius:6px;background:#fff;padding:7px 11px;color:#30404a;font-weight:800}.leads-filter button:hover,.leads-filter button:focus-visible,.leads-filter .leads-filter-active,.leads-detail-section button:hover:not(:disabled),.leads-detail-section button:focus-visible{border-color:#315f7a;background:#315f7a;color:#fff;outline:none}.leads-list,.leads-read-list{display:grid;gap:10px;margin:24px 0 0;padding:0;list-style:none}.leads-list-item,.leads-read-list li{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border:1px solid #e0e8e5;border-radius:6px;padding:13px 14px}.leads-title-link{color:#1f4d66;font-weight:900;text-decoration-color:#f1b84b;text-decoration-thickness:2px;text-underline-offset:4px}.leads-title-link:hover,.leads-title-link:focus-visible{color:#315f7a;outline:none}.leads-metadata,.leads-empty,.leads-state p,.leads-read-list span{margin-top:7px;color:#536c78;line-height:1.45}.leads-status{flex:0 0 auto;border:1px solid #c6d6df;border-radius:999px;background:#f7fbfd;padding:6px 10px;color:#30404a;font-size:.84rem;font-weight:800;white-space:nowrap}.leads-state,.leads-warning{margin-top:28px;border-left:4px solid #315f7a;background:#f7fbfd;padding:18px 20px}.leads-state-error{border-left-color:#b84a43;background:#fff4f2}.leads-warning{border-left-color:#d09b2f;background:#fff8e8;color:#694f13;font-weight:800}.leads-state h2,.leads-detail-section h2{margin:0;color:#17211f;font-size:1.2rem;line-height:1.25}.leads-detail-section{margin-top:28px;border-top:1px solid #d7e2de;padding-top:22px}.leads-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 0}.leads-read-list strong{min-width:0;overflow-wrap:anywhere}.leads-write-message{margin-top:16px;border-left:4px solid #315f7a;background:#eef7fb;padding:12px 14px;color:#1f4d66;font-weight:800}.leads-write-error{border-left-color:#b84a43;background:#fff4f2;color:#8c2c26}.photo-section{margin-top:28px;border-top:1px solid #d7e2de;padding-top:22px}.photo-section h2{margin:0;color:#17211f;font-size:1.2rem;line-height:1.25}.photo-upload-form{display:grid;gap:12px;margin-top:16px;max-width:520px}.photo-upload-form label{display:grid;gap:8px;color:#52615d;font-size:.88rem;font-weight:800}.photo-upload-form input{border:1px solid #b7c9c3;border-radius:8px;background:#fff;padding:10px 12px;color:#17211f;font:inherit}.photo-upload-form button,.photo-lightbox-content button{width:fit-content;border:1px solid #20413d;border-radius:8px;background:#20413d;padding:10px 14px;color:#fff;font:inherit;font-weight:800;cursor:pointer}.photo-upload-form button:disabled{cursor:not-allowed;opacity:.55}.photo-upload-preview{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:12px;color:#52615d;font-weight:800}.photo-upload-preview img,.photo-thumb-button img{width:100%;aspect-ratio:4 / 3;border-radius:8px;object-fit:cover}.photo-warning,.photo-empty{margin:14px 0 0;color:#52615d}.photo-write-message{margin:0;border-left:4px solid #2e6864;background:#edf7f4;padding:12px 14px;color:#1b5d56;font-weight:800}.photo-write-error{border-left-color:#b84a43;background:#fff4f2;color:#8c2c26}.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:16px 0 0;padding:0;list-style:none}.photo-grid li{display:grid;align-content:start;gap:8px;min-width:0}.photo-grid strong,.photo-grid span,.photo-upload-preview span{min-width:0;overflow-wrap:anywhere}.photo-grid span{color:#52615d;font-size:.9rem}.photo-thumb-button{border:0;background:transparent;padding:0;cursor:pointer}.photo-thumb-button:focus-visible{outline:3px solid #2e6864;outline-offset:3px}.photo-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:20px}.photo-lightbox-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#0c1211b8}.photo-lightbox-content{position:relative;display:grid;gap:12px;width:min(860px,100%);max-height:calc(100vh - 40px);border-radius:8px;background:#fff;padding:16px;box-shadow:0 24px 80px #00000052}.photo-lightbox-content img{width:100%;max-height:70vh;border-radius:8px;object-fit:contain;background:#101817}.photo-lightbox-content div{display:grid;gap:4px}.leads-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.leads-inline-form,.leads-note-form{display:grid;grid-template-columns:minmax(200px,1fr) auto;gap:10px;margin-top:16px}.leads-form label,.leads-inline-form label,.leads-note-form label{display:grid;gap:6px;color:#40525c;font-size:.86rem;font-weight:800}.leads-form input,.leads-form textarea,.leads-inline-form select,.leads-note-form textarea{min-width:0;border:1px solid #c6d6df;border-radius:6px;background:#fff;padding:9px 11px;color:#17211f;font:inherit}.leads-form textarea,.leads-note-form textarea{min-height:92px;resize:vertical}.leads-form input:focus,.leads-form textarea:focus,.leads-inline-form select:focus,.leads-note-form textarea:focus{border-color:#315f7a;outline:3px solid #dcecf3}.leads-form input:disabled,.leads-form textarea:disabled,.leads-inline-form select:disabled,.leads-note-form textarea:disabled,.leads-detail-section button:disabled{background:#eef3f1;color:#667672}.leads-form button,.leads-note-form button,.leads-inline-form button{align-self:end}.shopping-page{max-width:980px}.shopping-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0 0}.shopping-summary div{border-left:4px solid #2e6864;border-radius:6px;background:#f8fbfa;padding:13px 14px}.shopping-summary dt{color:#58706b;font-size:.78rem;font-weight:800;text-transform:uppercase}.shopping-summary dd{margin:6px 0 0;color:#17211f;font-weight:800}.shopping-warning{margin-top:18px;border-left:4px solid #d09b2f;background:#fff8e8;padding:12px 14px;color:#694f13;font-weight:700}.shopping-write-message{margin-top:18px;border-left:4px solid #2e6864;background:#edf7f4;padding:12px 14px;color:#1b5d56;font-weight:800}.shopping-write-error{border-left-color:#b84a43;background:#fff4f2;color:#8c2c26}.shopping-add-list{display:grid;gap:8px;margin-top:22px}.shopping-add-list label{color:#405452;font-size:.86rem;font-weight:800}.shopping-inline-controls,.shopping-add-item,.shopping-item-edit-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,130px) auto;gap:8px}.shopping-inline-controls{grid-template-columns:minmax(0,1fr) auto}.shopping-add-item{margin-top:16px}.shopping-inline-controls input,.shopping-add-item input,.shopping-item-edit-form input{min-width:0;border:1px solid #c8d7d2;border-radius:6px;background:#fff;padding:9px 11px;color:#17211f}.shopping-inline-controls input:focus,.shopping-add-item input:focus,.shopping-item-edit-form input:focus{border-color:#2e6864;outline:3px solid #d8eee9}.shopping-inline-controls input:disabled,.shopping-add-item input:disabled,.shopping-item-edit-form input:disabled{background:#eef3f1;color:#667672}.shopping-inline-controls button,.shopping-add-item button,.shopping-item-edit-form button,.shopping-danger-button{min-height:40px;border:1px solid #1b5d56;border-radius:6px;background:#1b5d56;padding:8px 12px;color:#fff;font-weight:800;white-space:nowrap}.shopping-inline-controls button:hover:not(:disabled),.shopping-add-item button:hover:not(:disabled),.shopping-item-edit-form button:hover:not(:disabled),.shopping-danger-button:hover:not(:disabled),.shopping-inline-controls button:focus-visible,.shopping-add-item button:focus-visible,.shopping-item-edit-form button:focus-visible,.shopping-danger-button:focus-visible{background:#123f3a;outline:none}.shopping-inline-controls button:disabled,.shopping-add-item button:disabled,.shopping-item-edit-form button:disabled,.shopping-danger-button:disabled{border-color:#c8d7d2;background:#dfe8e5;color:#71807c}.shopping-groups{display:grid;margin-top:28px}.shopping-group{border-top:1px solid #d7e2de;padding:22px 0}.shopping-group:last-child{border-bottom:1px solid #d7e2de}.shopping-group-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.shopping-group-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:8px}.shopping-group h2,.shopping-state h2{margin:0;color:#17211f;font-size:1.2rem;line-height:1.25}.shopping-metadata{margin-top:8px;color:#58706b;line-height:1.45}.shopping-count{flex:0 0 auto;border:1px solid #c8d7d2;border-radius:999px;background:#f8fbfa;padding:6px 10px;color:#30413e;font-size:.84rem;font-weight:800;white-space:nowrap}.shopping-danger-button{border-color:#a83c35;background:#b84a43}.shopping-danger-button:hover:not(:disabled),.shopping-danger-button:focus-visible{background:#8c2c26}.shopping-items{display:grid;gap:8px;margin:18px 0 0;padding:0;list-style:none}.shopping-item{display:block;min-height:44px;border:1px solid #e0e8e5;border-radius:6px;padding:10px 12px}.shopping-sync-state{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;border-left:4px solid #d09b2f;background:#fff8e8;padding:8px 10px;color:#694f13;font-size:.84rem;font-weight:800}.shopping-sync-state-syncing{border-left-color:#2e6864;background:#edf7f4;color:#1b5d56}.shopping-sync-state-failed{border-left-color:#b84a43;background:#fff4f2;color:#8c2c26}.shopping-sync-state button{min-height:32px;border:1px solid currentColor;border-radius:6px;background:#fff;padding:5px 9px;color:inherit;font-weight:800}.shopping-item-complete{color:#667672}.shopping-item-complete input[type=text]{text-decoration:line-through}.shopping-item-text{min-width:0;overflow-wrap:anywhere}.shopping-quantity{flex:0 0 auto;color:#1b5d56;font-weight:800;white-space:nowrap}.shopping-state{margin-top:28px;border-left:4px solid #2e6864;background:#f8fbfa;padding:18px 20px}.shopping-state-error{border-left-color:#b84a43;background:#fff4f2}.shopping-state p,.shopping-empty-group{margin-top:8px;color:#405452;line-height:1.55}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}@media(max-width:820px){.app-layout{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid #233836;padding:20px}.brand-block{margin-bottom:18px}.nav-list{grid-template-columns:repeat(4,minmax(0,1fr))}.nav-link{text-align:center}.topbar{align-items:flex-start;flex-direction:column;padding:20px}.app-update{align-items:flex-start;flex-direction:column;padding:12px 20px}.app-update div,.status-strip{justify-content:flex-start}.content{padding:24px 20px 36px}.metadata-grid,.jobs-summary,.leads-summary,.shopping-summary,.subwork-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.subwork-layout,.subwork-detail-heading{grid-template-columns:1fr}}@media(max-width:560px){h1{font-size:2rem}.nav-list,.jobs-detail-list,.jobs-summary,.leads-detail-list,.leads-summary,.metadata-grid,.shopping-summary,.subwork-detail-heading dl,.subwork-summary{grid-template-columns:1fr}.page-panel,.error-panel{padding:24px}.shopping-group-header,.jobs-list-item,.jobs-read-list li,.leads-list-item,.leads-read-list li{align-items:stretch;flex-direction:column}.shopping-item-edit-form,.jobs-schedule-edit-form,.jobs-schedule-form,.jobs-material-edit-form,.jobs-material-form,.leads-form,.leads-inline-form,.leads-note-form,.shopping-add-item,.subwork-job-edit-form,.subwork-job-form,.subwork-material-edit-form,.subwork-material-form,.subwork-time-edit-form,.subwork-time-form{align-items:stretch;grid-template-columns:1fr}.jobs-schedule-summary,.jobs-material-summary,.jobs-material-row{align-items:stretch;flex-direction:column}.shopping-count,.jobs-calendar-status,.jobs-material-source,.jobs-material-status,.shopping-quantity{width:fit-content}}
