*{box-sizing:border-box}:root{--bg:#fafaf8;--card-bg:#fff;--panel:#f5f4f2;--panel-line:#e4e2dc;--heading:#2a2722;--gold:#9b773d;--rust:#8a3d14;--rust-dim:#6e3010;--money:#3a6b45;--ink:#2a2722;--ink-soft:#6b6560;--line:#e6e4de;--paper:#fff;--sidebar-inactive-text:#4a453f;--sidebar-active-bg:#2a2722;--sidebar-active-text:#f2ede1;--signout-hover-bg:#3a352f;--header-bg:#19181a;--header-text:#f0ede8;--header-line:#2c2a2a;--accent:var(--rust);--accent-hover:var(--rust-dim);--fab-primary:#2f4858;--fab-primary-hover:#24363f;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif;--trade-delay:red;--trade-inspection:#b44141;--trade-demo-site-prep:#ff7575;--trade-framing:#ff7a00;--trade-landscaping:#c25d09;--trade-electrical:#ffde59;--trade-hvac:#d8ad00;--trade-plumbing:#f1e59a;--trade-roofing:#14ff00;--trade-siding:#4e9e2d;--trade-windows-doors:#b0eb96;--trade-flooring:#00daff;--trade-finish-carpentry:#2029ff;--trade-cabinetry:#9bf0ff;--trade-masonry:#bd00ff;--trade-concrete-foundation:#6d0093;--trade-tile:#d27dff;--trade-insulation:#c6994f;--trade-general-labor:#6f563d;--trade-other:#d8c9ae;--trade-punchlist:#a6a6a6;--trade-walkthrough:#545454;--trade-project-coordination:#d9d9d9;--trade-drywall:#ff5edc;--trade-painting:#bd1ba8;--trade-countertops:#ffb2ee;--trade-neutral:#b4b2a9}[data-theme=dark]{--bg:#1a1a1d;--card-bg:#222226;--panel:#242427;--panel-line:#333336;--heading:#f0ede8;--gold:#c9a065;--rust:#c9713f;--rust-dim:#e08a5c;--money:#6fbf7c;--ink:#e8e5e0;--ink-soft:#9a968f;--line:#333336;--paper:#29292d;--sidebar-inactive-text:#b8b4ad;--sidebar-active-bg:#333336;--sidebar-active-text:#f2ede1;--signout-hover-bg:#3a3a3e;--header-bg:#141416;--header-text:#f0ede8;--header-line:#2a2a2d;--accent:var(--rust);--accent-hover:var(--rust-dim);--fab-primary:#3f6579;--fab-primary-hover:#4d7890;--trade-delay:red;--trade-inspection:#b44141;--trade-demo-site-prep:#ff7575;--trade-framing:#ff7a00;--trade-landscaping:#c25d09;--trade-electrical:#ffde59;--trade-hvac:#d8ad00;--trade-plumbing:#f1e59a;--trade-roofing:#14ff00;--trade-siding:#4e9e2d;--trade-windows-doors:#b0eb96;--trade-flooring:#00daff;--trade-finish-carpentry:#2029ff;--trade-cabinetry:#9bf0ff;--trade-masonry:#bd00ff;--trade-concrete-foundation:#6d0093;--trade-tile:#d27dff;--trade-insulation:#c6994f;--trade-general-labor:#6f563d;--trade-other:#d8c9ae;--trade-punchlist:#a6a6a6;--trade-walkthrough:#545454;--trade-project-coordination:#d9d9d9;--trade-drywall:#ff5edc;--trade-painting:#bd1ba8;--trade-countertops:#ffb2ee;--trade-neutral:#5f5e5a}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font-family)}.portal-textured,.shell{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E");background-repeat:repeat;background-color:var(--bg);transition:background-color .15s ease}[data-theme=dark] .portal-textured,[data-theme=dark] .shell{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.08'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}.container{margin:0 auto;padding:32px 24px 80px;width:100%;min-width:0;overflow-x:hidden}.container,.container-wide{max-width:1400px}.container-overview{max-width:1040px}.overview-grid{display:grid;grid-template-columns:1fr 1fr;align-items:start;grid-gap:0 32px;gap:0 32px}.overview-grid>.overview-span-2{grid-column:1/-1}@media (max-width:800px){.overview-grid{grid-template-columns:1fr}}.dash-section{padding:20px 0;border-bottom:1px solid var(--line)}.dash-section:first-child{padding-top:0}.dash-section:last-child{border-bottom:none}.dash-section h3{margin:0 0 14px;color:var(--gold);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;border-left:3px solid var(--accent);padding-left:10px}.dash-section h3.dash-section-heading-rust{color:var(--rust);border-left-color:var(--rust)}.weather-ribbon{padding-top:16px;padding-bottom:16px}.dashboard-layout{display:flex;gap:24px;align-items:flex-start}.dashboard-main{flex:1 1;min-width:0}.dashboard-notifications-rail{width:320px;flex-shrink:0;position:-webkit-sticky;position:sticky;top:16px;max-height:calc(100vh - 150px);display:flex}.dash-notifications-card{display:flex;flex-direction:column;min-height:0;width:100%}.dash-notifications-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;flex-shrink:0}.dash-notifications-scroll{overflow-y:auto;flex:1 1;min-height:0}.dash-notification-row{padding:10px 0;border-bottom:1px solid var(--line)}.dash-notification-row:last-child{border-bottom:none}.dash-notification-row p{font-size:12.5px;margin:3px 0 0;line-height:1.45}.dash-notification-date{font-size:10.5px;color:var(--ink-soft)}.dash-notification-actions{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}@media (max-width:1100px){.dashboard-layout{flex-direction:column}.dashboard-main{width:100%}.dashboard-notifications-rail{width:100%;position:static;max-height:none}.dash-notifications-scroll{max-height:360px}}.stat-tile-link:hover>div>div:first-child{text-decoration:underline}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbar::-webkit-scrollbar{display:none}.dash-stat-panel{padding:0}.dash-stat-quadrants{display:grid;grid-template-columns:1fr 1fr}.dash-stat-quadrant{padding:18px 24px}.dash-stat-quadrant.div-right{border-right:1px solid var(--line)}.dash-stat-quadrant.div-bottom{border-bottom:1px solid var(--line)}@media (max-width:700px){.dash-stat-quadrants{display:flex;flex-direction:column}.dash-stat-quadrant{padding:16px 4px;border-right:none!important}.dash-stat-quadrant.div-bottom,.dash-stat-quadrant:not(:last-child){border-bottom:1px solid var(--line)}}.portal-info-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:18px;gap:18px}.portal-info-label{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:4px}.portal-info-value{font-size:14px;font-weight:600;color:var(--ink)}@media (max-width:700px){.portal-info-grid{grid-template-columns:1fr 1fr}}.rfp-detail-layout{display:grid;grid-template-columns:1fr 320px;grid-gap:32px;gap:32px;align-items:start}@media (max-width:860px){.rfp-detail-layout{grid-template-columns:1fr}}.rfp-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:20px;margin-bottom:4px;border-bottom:1px solid var(--line)}.rfp-detail-main{min-width:0}.rfp-detail-sidebar{min-width:0;border-left:1px solid var(--line);padding-left:32px}@media (max-width:860px){.rfp-detail-sidebar{border-left:none;padding-left:0}}.portal-two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;align-items:start}@media (max-width:700px){.portal-two-col{grid-template-columns:1fr}}.kpi-card{background:var(--card-bg);border:1px solid var(--line);border-radius:8px;padding:16px 18px;text-align:left;cursor:pointer;font-family:inherit;transition:border-color .15s}.kpi-card:hover{border-color:var(--rust)}.kpi-card.kpi-card-active{border-color:var(--accent)}.fin-accordion-header{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;background:none;border:none;padding:0;margin:0;text-align:left;cursor:pointer;font-family:inherit}.fin-accordion-meta{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-soft);flex-shrink:0}.fin-accordion-chevron{display:inline-block;transition:transform .15s ease}.fin-accordion-chevron.open{transform:rotate(90deg)}.fin-job-list{display:flex;flex-direction:column;width:100%;min-width:0;margin-top:14px}.fin-job-row{display:block;width:100%;min-width:0;padding:14px 4px;border-bottom:1px solid var(--line)}.fin-job-row:last-child{border-bottom:none}.fin-job-row:active{background:var(--panel)}.fin-job-row-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;min-width:0}.fin-job-row-name{font-size:14.5px;font-weight:600;color:var(--heading);min-width:0;overflow-wrap:break-word}.fin-job-row-margin{flex-shrink:0;font-size:14px;font-weight:700;color:var(--heading)}.fin-job-row-sub{font-size:12.5px;color:var(--ink-soft);margin-top:3px;overflow-wrap:break-word}.data-mobile-list{flex-direction:column}.data-mobile-list,.data-mobile-row{display:flex;width:100%;min-width:0}.data-mobile-row{justify-content:space-between;align-items:center;gap:10px;padding:14px 4px;border-bottom:1px solid var(--line)}.data-mobile-row:last-child{border-bottom:none}.data-mobile-row:active{background:var(--panel)}.data-mobile-row-text{display:flex;flex-direction:column;gap:2px;min-width:0}.data-mobile-row-title{font-size:14.5px;font-weight:600;color:var(--heading);overflow-wrap:break-word}.data-mobile-row-sub{font-size:12.5px;color:var(--ink-soft);overflow-wrap:break-word}.data-mobile-row-amount{flex-shrink:0;font-size:14px;font-weight:700;color:var(--heading)}.sub-popup-grid{display:grid;grid-template-columns:1fr 260px;grid-gap:26px;gap:26px;align-items:stretch}.sub-popup-main{display:flex;flex-direction:column}.sub-popup-notes{flex:1 1;min-height:90px;resize:none}.sub-popup-sidebar{display:flex;flex-direction:column;gap:16px;height:100%}.sub-popup-sidebar-block{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:14px}.sub-popup-sidebar-block.sub-popup-services-block{flex:1 1;display:flex;flex-direction:column;min-height:0}.doc-thumb-btn{flex-shrink:0;width:46px;height:46px;padding:0;border-radius:6px;border:1px solid var(--panel-line);background:var(--card-bg);cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center}.doc-thumb-img{width:100%;height:100%;object-fit:cover}.doc-thumb-pdf{font-size:9.5px;font-weight:700;letter-spacing:.03em;color:#a13f3f;border:1.5px solid #a13f3f;border-radius:3px;padding:2px 4px}.sub-popup-sidebar-title{font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}.sub-popup-services{flex:1 1;min-height:120px;overflow-y:auto}.sub-popup-invite-row{display:flex;justify-content:flex-end;margin-bottom:4px}@media (max-width:760px){.sub-popup-grid{grid-template-columns:1fr}.sub-popup-sidebar{height:auto}}.sub-portal-tabs{display:flex;gap:4px;margin:20px 0 16px;border-bottom:1px solid var(--line);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.sub-portal-tabs button{flex-shrink:0;background:transparent;padding:10px 16px;font-size:13px;font-weight:600;color:var(--ink-soft);cursor:pointer;border:none;border-bottom:2px solid transparent;font-family:inherit}.sub-portal-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.subjob-row{border-bottom:1px solid var(--line)}.subjob-row:last-child{border-bottom:none}.subjob-row-main{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 0;cursor:pointer;transition:opacity .12s}.subjob-row-main:hover{opacity:.7}.subjob-row-text{min-width:0}.subjob-row-title{font-weight:700;font-size:14px;color:var(--heading)}.subjob-row-sub{margin-top:3px;overflow-wrap:break-word}.subjob-row-count,.subjob-row-sub{font-size:12px;color:var(--ink-soft)}.subjob-row-count{flex-shrink:0}.subjob-scope-toggle{display:flex;align-items:center;gap:8px;width:100%;background:none;border:none;padding:0 0 12px;margin:0;font-family:inherit;font-size:11.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--gold);cursor:pointer;text-align:left}.subjob-scope-chevron{display:inline-block;transition:transform .15s ease;font-size:14px}.subjob-scope-chevron.open{transform:rotate(90deg)}.subjob-scope-list{list-style:none;margin:0;padding:0 0 14px}.subjob-scope-list li{font-size:13px;line-height:1.6;padding-left:18px;position:relative;color:var(--ink)}.subjob-scope-list li:before{content:"—";position:absolute;left:0;color:var(--gold)}@media (max-width:700px){.subjob-row-main{flex-direction:column;align-items:flex-start;gap:4px}}.overview-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.overview-row:last-child{border-bottom:none}@media (max-width:700px){.overview-row{flex-direction:column;align-items:flex-start;gap:4px}}.overview-quicklinks{display:flex;flex-direction:column}.overview-quicklink{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--heading);font-weight:700;font-size:13.5px}.overview-quicklink:last-child{border-bottom:none}.overview-quicklink-detail{font-size:12px;font-weight:600;color:var(--ink-soft)}.overview-quicklink-detail.attn{color:var(--gold)}.markup-overlay{position:fixed;inset:0;background:#1a1812;z-index:200;display:flex;flex-direction:column;overscroll-behavior:contain}.markup-toolbar{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;padding:12px 16px;background:#221f16;border-bottom:1px solid #3a3627}.markup-tools{display:flex;gap:6px;flex-wrap:wrap}.markup-tool-btn{padding:8px 14px;border-radius:6px;border:1px solid #4a4636;background:transparent;color:#d8d3c0;font-size:12.5px;font-weight:600;cursor:pointer}.markup-tool-btn.active{background:var(--rust);border-color:var(--rust);color:#fff}.markup-colors{display:flex;gap:8px}.markup-swatch{width:26px;height:26px;border-radius:50%;border:2px solid transparent;cursor:pointer;box-shadow:0 0 0 1px hsla(0,0%,100%,.25)}.markup-swatch.active{border-color:#fff;box-shadow:0 0 0 2px #221f16,0 0 0 4px #fff}.markup-actions{display:flex;gap:8px}.markup-canvas-wrap{flex:1 1;display:flex;align-items:center;justify-content:center;position:relative;overflow:auto;padding:16px}.markup-canvas{max-width:100%;max-height:100%;touch-action:none;cursor:crosshair;box-shadow:0 6px 24px rgba(0,0,0,.4);background:#000}.markup-text-input-wrap{position:absolute;transform:translate(-2px,-2px)}.markup-text-input-wrap input{background:rgba(0,0,0,.6);border:2px solid;border-radius:4px;padding:4px 8px;font-size:16px;font-weight:700;min-width:140px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--header-bg);border-bottom:1px solid var(--header-line)}.topbar .brand{font-weight:700;letter-spacing:.04em;color:var(--header-text);text-transform:uppercase;font-size:14px}.topbar .brand span{color:var(--gold)}.topbar-actions{display:flex;gap:10px;align-items:center}.topbar .btn{color:var(--header-text);border-color:var(--header-line)}.topbar .btn:hover{border-color:var(--header-accent,var(--accent));color:var(--header-accent,var(--accent))}.btn{font-family:inherit;font-weight:600;font-size:13.5px;padding:10px 16px;border-radius:5px;border:1px solid var(--panel-line);background:transparent;color:var(--heading);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background-color .12s,border-color .12s,color .12s}.btn:hover{color:var(--accent)}.btn-primary,.btn:hover{border-color:var(--accent)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.btn-danger{background:#a13f3f;color:#fff;border-color:#a13f3f}.btn-danger:hover{background:#8a3535;border-color:#8a3535;color:#fff}.btn-sm{padding:6px 10px}.btn-sm,label{font-size:12px}label{display:block;color:var(--ink-soft);margin:12px 0 5px}input,select,textarea{width:100%;background:var(--paper);border:1px solid var(--panel-line);color:var(--ink);border-radius:4px;padding:9px 10px;font-size:13.5px;font-family:inherit}textarea{min-height:70px;line-height:1.4;resize:vertical}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--rust)}.card{background:var(--card-bg);border:1px solid var(--line);border-radius:8px;padding:22px 24px;margin-bottom:20px}.card h2,.card h3{color:var(--gold);margin-top:0}.card h2{font-size:16px;letter-spacing:.03em}.card h3{font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;border-left:3px solid var(--accent);padding-left:10px}.two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.two-col>div{min-width:0}@media (max-width:700px){.two-col{grid-template-columns:1fr}}.two-col-3{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:14px;gap:14px}.two-col-3>div{min-width:0}@media (max-width:700px){.two-col-3{grid-template-columns:1fr}input[type=date],input[type=time]{padding:8px 6px;font-size:13px}}.contact-popup-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);grid-gap:24px;gap:24px;align-items:start}.contact-popup-grid>div{min-width:0}@media (max-width:800px){.contact-popup-grid{grid-template-columns:minmax(0,1fr)}}.contact-fieldset{border:0;margin:0;padding:0;min-width:0}.contact-fieldset:disabled input,.contact-fieldset:disabled select,.contact-fieldset:disabled textarea{background:var(--panel);color:var(--ink);opacity:1;cursor:default;-webkit-text-fill-color:var(--ink);border-color:var(--line)}.contact-fieldset:disabled input[type=checkbox]{opacity:.7}.contact-popup-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:4px;padding-right:36px}.contact-popup-head h3{margin:0}.contact-history-panel,.contact-touches-panel{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:14px;min-width:0;overflow:hidden}.contact-history-panel{margin-bottom:16px}.info-tip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;border:1px solid var(--ink-soft);color:var(--ink-soft);font-size:11px;font-weight:700;line-height:1;cursor:help;flex:none}.info-tip:focus{outline:none;border-color:var(--rust);color:var(--rust)}.info-tip-body{display:none;position:absolute;left:-8px;bottom:calc(100% + 8px);width:340px;max-width:80vw;z-index:20;background:var(--card-bg);color:var(--ink);border:1px solid var(--line);border-radius:6px;box-shadow:0 6px 20px rgba(0,0,0,.2);padding:12px;font-size:11.5px;font-weight:400;line-height:1.5;text-align:left;cursor:default}.info-tip.open .info-tip-body,.info-tip:focus .info-tip-body,.info-tip:hover .info-tip-body{display:block}.info-tip-body ul{margin:8px 0 0;padding-left:16px;line-height:1.6}.material-options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:16px;gap:16px;margin-bottom:20px}.material-option-card{margin-bottom:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day-label{text-align:center;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);padding:8px 0}.calendar-week{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--line)}.calendar-week:last-child{border-bottom:1px solid var(--line)}.calendar-day-cell{border-right:1px solid var(--line);padding:8px 8px 6px;background:var(--card-bg);cursor:pointer;overflow:hidden;min-width:0}.calendar-day-cell:last-child{border-right:none}.calendar-day-outside{background:var(--panel);opacity:.6}.calendar-day-number-row{display:flex;justify-content:flex-end}.calendar-day-number{font-size:13.5px;font-weight:600;color:var(--ink-soft);width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.calendar-day-today .calendar-day-number{background:var(--accent);color:#fff;font-weight:700}.cal-day-events{display:flex;flex-direction:column;gap:2px;margin-top:4px;min-width:0}.cal-day-event-line{display:flex;align-items:center;gap:5px;font-size:11px;line-height:17px;color:var(--ink);min-width:0}.cal-day-event-line.clickable{cursor:pointer}.cal-day-event-line.clickable:hover{text-decoration:underline}.cal-day-event-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.cal-day-event-dot.dot-event{background:var(--accent)}.cal-day-event-dot.dot-bidwalk{background:#b8860b}.cal-day-event-dot.dot-blackout{background:#a13f3f}.cal-day-event-dot.dot-personal{background:var(--ink-soft)}.cal-day-event-time{color:var(--ink-soft);flex-shrink:0}.cal-day-event-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1 1 auto}.cal-day-more{font-size:10.5px;color:var(--ink-soft);cursor:pointer;line-height:17px;padding-left:12px}.cal-day-more:hover{text-decoration:underline;color:var(--ink)}.calendar-bar{margin:2px 4px;padding:5px 10px;border-radius:5px;font-size:11.5px;font-weight:700;text-transform:none;letter-spacing:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;display:flex;align-items:center}.calendar-bar:hover{opacity:.85}@media (max-width:800px){.calendar-bar{font-size:10px;padding:4px 6px}}.pay-trigger{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff;border:none;padding:13px 22px;border-radius:8px;font-size:14.5px;font-weight:700;cursor:pointer;font-family:inherit;box-shadow:0 2px 8px rgba(0,0,0,.12);transition:transform .12s ease,box-shadow .12s ease}.pay-trigger:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.18)}.pay-trigger-icon{width:22px;height:22px;border-radius:50%;background:hsla(0,0%,100%,.22);justify-content:center;font-size:13px;font-weight:800}.pay-banner,.pay-trigger-icon{display:flex;align-items:center}.pay-banner{position:-webkit-sticky;position:sticky;top:76px;z-index:20;max-width:800px;margin:0 auto 20px;padding:16px 22px;background:var(--card-bg);border:1px solid var(--panel-line);border-radius:12px;box-shadow:0 6px 20px rgba(0,0,0,.1);justify-content:space-between;gap:16px;flex-wrap:wrap}.pay-banner-info{display:flex;flex-direction:column;gap:2px}.pay-banner-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}.pay-banner-amount{font-size:20px;font-weight:800;color:var(--ink)}.pay-banner-paid{max-width:800px;margin:0 auto 20px;padding:14px 22px;background:var(--card-bg);border:1px solid var(--panel-line);border-radius:12px;color:var(--money);font-size:13.5px;font-weight:600;text-align:center}.pay-modal-overlay{position:fixed;inset:0;background:rgba(20,18,14,.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;overflow-y:auto}.pay-modal{background:var(--card-bg);border-radius:14px;width:100%;max-width:460px;box-shadow:0 24px 60px rgba(0,0,0,.3);position:relative;margin:auto;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.pay-modal-scroll{padding:32px;overflow-y:auto}.pay-modal-close{position:absolute;top:16px;right:16px;width:30px;height:30px;border-radius:50%;border:none;background:var(--panel);color:var(--ink-soft);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.pay-modal-close:hover{background:var(--panel-line)}.pay-modal-header{text-align:center;margin-bottom:24px}.pay-modal-eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.pay-modal-amount{font-size:34px;font-weight:800;color:var(--heading);margin-top:4px}.pay-error{color:#a13f3f;background:rgba(161,63,63,.08);padding:8px 12px;border-radius:6px}.pay-error,.pay-loading{font-size:12.5px;margin-top:10px}.pay-loading{color:var(--ink-soft);text-align:center}.pay-success{text-align:center;padding:20px 0 8px}.pay-success-check{width:56px;height:56px;border-radius:50%;background:#3a6b45;color:#fff;font-size:28px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.pay-success h3{margin:0 0 8px;color:var(--heading)}.pay-success p{color:var(--ink-soft);font-size:13.5px;margin:0 0 20px}.payment-option{width:100%;display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:10px;margin-bottom:12px;cursor:pointer;text-align:left;font-family:inherit;transition:transform .1s ease,box-shadow .1s ease}.payment-option:disabled{opacity:.6;cursor:default}.payment-option:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.payment-option-icon{font-size:22px;width:30px;text-align:center;flex-shrink:0}.payment-option-ach{background:var(--accent);color:#fff;border:2px solid var(--accent)}.payment-option-card{background:var(--card-bg);color:var(--ink);border:1.5px solid var(--panel-line)}.payment-option-title{font-size:15px;font-weight:700}.payment-option-sub{font-size:11.5px;opacity:.85;margin-top:2px}.payment-option-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.payment-option-amount{font-size:16px;font-weight:700;white-space:nowrap}.payment-nofee-badge{background:#fff;color:var(--accent);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:10px}.overview-split{display:grid;grid-template-columns:2fr 1fr;grid-gap:20px;gap:20px;align-items:start}@media (max-width:1000px){.overview-split{grid-template-columns:1fr}}.scope-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;flex-wrap:wrap}.scope-card-head h3{margin:0}.scope-card-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.scope-card-actions-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}@media (max-width:700px){.scope-card-actions{align-items:flex-start;width:100%}.scope-card-actions-row{justify-content:flex-start}}.overview-pair{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;align-items:start;margin-top:20px}@media (max-width:1000px){.overview-pair{grid-template-columns:1fr}}.row-settled{opacity:.55}.row-settled:hover{opacity:.85}.milestone-list{display:flex;flex-direction:column}.milestone-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:9px 0;background:none;border:none;border-bottom:1px solid var(--line);cursor:pointer;font-family:inherit}.milestone-row:last-child{border-bottom:none}.milestone-row:hover .milestone-label{color:var(--accent)}.milestone-check{flex-shrink:0;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--panel-line);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:transparent}.milestone-check-done{background:var(--accent);border-color:var(--accent);color:#fff}.milestone-label{flex:1 1;font-size:13px;color:var(--ink)}.milestone-count{flex-shrink:0;background:var(--panel);color:var(--ink-soft);font-size:11px;font-weight:700;border-radius:10px;padding:2px 8px}.stage-tabs{display:flex;gap:22px;margin-bottom:22px;flex-wrap:nowrap;border-bottom:1px solid var(--line);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.stage-tab{flex-shrink:0;padding:10px 2px;border-radius:0;font-size:13px;font-weight:600;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--ink-soft);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:color .12s,border-color .12s}.stage-tab:hover{color:var(--ink)}.stage-tab.active{background:transparent;color:var(--accent);border-color:var(--accent);font-weight:700}.stage-tab.is-current:after{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}.stage-tabs-divider{flex-shrink:0;width:1px;align-self:stretch;margin:8px 0;background:var(--line)}.section-subnav{display:flex;gap:22px;flex-wrap:nowrap;padding:14px 24px 0;max-width:1400px;margin:0 auto;border-bottom:1px solid var(--line);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.section-subnav .stage-tab{flex-shrink:0;text-decoration:none}.scroll-fade-wrap{position:relative;min-width:0}.scroll-fade-edge{position:absolute;top:0;bottom:0;width:28px;pointer-events:none;z-index:1}.scroll-fade-left{left:0;background:linear-gradient(to right,var(--bg),transparent)}.scroll-fade-right{right:0;background:linear-gradient(to left,var(--bg),transparent)}.tab-sections{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:-10px 0 18px}.tab-sections-pills{display:flex;flex-wrap:wrap;border:1px solid var(--panel-line);border-radius:7px;overflow:hidden;width:-moz-fit-content;width:fit-content}.tab-sections-actions{display:flex;gap:8px;flex-wrap:wrap}.tab-section-btn{flex-shrink:0;padding:7px 14px;font-size:12px;font-weight:600;border:none;border-right:1px solid var(--panel-line);background:var(--panel);color:var(--ink-soft);cursor:pointer;transition:color .12s,background-color .12s}.tab-section-btn:last-child{border-right:none}.tab-section-btn:hover{color:var(--ink);background:var(--card-bg)}.tab-section-btn.active{background:var(--accent);color:#fff}.badge{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:4px 10px;border-radius:20px;color:#fff}.badge-new{background:#a3a077}.badge-inspected{background:#9a8f5f}.badge-proposal_delivered{background:#a17c3f}.badge-approved{background:#7d5a2e}.badge-scheduled{background:#8a5a3f}.badge-active{background:#8a3d14}.badge-completed{background:#6e3010}.badge-invoiced{background:#49402a}.badge-paid{background:#3a6b45}.badge-draft{background:#9a9488}.badge-accepted{background:#7d5a2e}.badge-declined{background:#a13f3f}.badge-lost{background:#6b6560}.badge-open{background:#6d5a2e}.badge-awarded{background:#3a6b45}.badge-not_awarded{background:#6b6560}.badge-sent{background:#9a9488}.badge-viewed{background:#8a7c4f}.badge-responded{background:#7d5a2e}.badge-pending{background:#9a9488}[data-theme=dark] .badge-new{background:#8a8563}[data-theme=dark] .badge-inspected{background:#8f8360}[data-theme=dark] .badge-proposal_delivered{background:#b58a4a}[data-theme=dark] .badge-approved{background:#a3763f}[data-theme=dark] .badge-scheduled{background:#b06f4a}[data-theme=dark] .badge-active{background:#c9713f}[data-theme=dark] .badge-completed{background:#a15229}[data-theme=dark] .badge-invoiced{background:#7a7568}[data-theme=dark] .badge-paid{background:#4f9160}[data-theme=dark] .badge-draft{background:#7a7670}[data-theme=dark] .badge-accepted{background:#a3763f}[data-theme=dark] .badge-declined{background:#c0524f}[data-theme=dark] .badge-lost{background:#8a8580}[data-theme=dark] .badge-open{background:#a3763f}[data-theme=dark] .badge-awarded{background:#4f9160}[data-theme=dark] .badge-not_awarded{background:#8a8580}[data-theme=dark] .badge-sent{background:#7a7670}[data-theme=dark] .badge-viewed{background:#a3936a}[data-theme=dark] .badge-responded{background:#a3763f}[data-theme=dark] .badge-pending{background:#7a7670}.stepper{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px;padding:16px 18px;background:var(--card-bg);border:1px solid var(--line);border-radius:8px}.stepper-flat{gap:8px}.stepper-phase{flex:1 1;min-width:180px}.stepper-phase-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px}.stepper-stages{display:flex;flex-wrap:wrap;gap:6px}.stepper-stage{font-size:11.5px;padding:5px 10px;border-radius:20px;background:#f0ece0;color:var(--ink-soft);border:1px solid var(--line)}.stepper-stage.past{background:#e2ddc8;color:var(--ink)}.stepper-stage.current{background:var(--heading);color:#f2ede1;border-color:var(--heading);font-weight:700}.job-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 20px;background:var(--card-bg);border:1px solid var(--panel-line);border-radius:8px;margin-bottom:12px;box-shadow:0 1px 3px rgba(0,0,0,.06)}.job-row:hover{border-color:var(--accent);box-shadow:0 2px 8px rgba(0,0,0,.1)}[data-theme=dark] .job-row{border-color:#3d3d40;box-shadow:0 1px 0 hsla(0,0%,100%,.03),0 4px 10px rgba(0,0,0,.35)}.job-row .job-main{display:flex;flex-direction:column;gap:3px;min-width:0}.job-row .job-number{font-size:11px;color:var(--ink-soft)}.job-row .job-customer{font-weight:600;font-size:14.5px;overflow-wrap:break-word}.job-row .job-address{font-size:12.5px;color:var(--ink-soft);overflow-wrap:break-word}.overdue-mobile-list{display:flex;flex-direction:column;width:100%;min-width:0}.overdue-mobile-row{display:flex;align-items:center;gap:12px;width:100%;min-width:0;padding:14px 4px;border-bottom:1px solid var(--line)}.overdue-mobile-row:last-child{border-bottom:none}.overdue-mobile-row:active{background:var(--panel)}.overdue-dot{flex-shrink:0;width:10px;height:10px;border-radius:50%}.overdue-dot.late{background:#a13f3f}.overdue-dot.soon{background:#b8952e}.overdue-mobile-row-text{display:flex;flex-direction:column;gap:2px;min-width:0}.overdue-mobile-row-name{font-size:14.5px;font-weight:600;color:var(--heading);overflow-wrap:break-word}.overdue-mobile-row-sub{font-size:12.5px;color:var(--ink-soft);overflow-wrap:break-word}.dash-empty-state{color:var(--ink-soft);font-size:13px;padding:4px 0 0;text-align:left}.entity-mobile-list{display:flex;flex-direction:column}.entity-mobile-row{display:flex;align-items:center;gap:12px;width:100%;padding:16px 4px;border:none;border-bottom:1px solid var(--line);background:transparent;text-align:left;cursor:pointer;font-family:inherit}.entity-mobile-row:last-child{border-bottom:none}.entity-mobile-row:active{background:var(--panel)}.entity-mobile-row-dot{flex-shrink:0;width:10px;height:10px;border-radius:50%}.entity-mobile-row-dot.ok{background:#3a6b45}.entity-mobile-row-dot.warn{background:#a13f3f}.entity-mobile-row-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1}.entity-mobile-row-title{font-size:14.5px;font-weight:600;color:var(--heading);overflow-wrap:break-word}.entity-mobile-row-sub{font-size:12.5px;color:var(--ink-soft);overflow-wrap:break-word}.entity-mobile-row-tag{flex-shrink:0;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}.jobs-row-chevron{flex-shrink:0;font-size:18px;color:var(--ink-soft)}.list-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:18px;min-width:0}.list-toolbar .search-bar{flex:1 1 auto;margin:0;min-width:0}.list-toolbar select{flex:0 0 auto;width:auto;min-width:0}.list-row{display:flex;gap:6px;align-items:flex-start;margin-bottom:8px}.list-row textarea{flex:1 1;min-height:44px}.list-row input.amount{width:110px;flex:none}.row-remove{background:transparent;border:1px solid var(--panel-line);color:var(--ink-soft);width:32px;height:32px;border-radius:4px;cursor:pointer;font-size:15px;flex:none}.row-remove:hover{border-color:#a13f3f;color:#a13f3f}.empty-state{color:var(--ink-soft);font-style:italic;font-size:13px;padding:20px 0;text-align:center}.update-entry{border-bottom:1px solid var(--line);padding:14px 0}.update-entry:last-child{border-bottom:none}.update-entry .update-date{font-weight:700;font-size:12.5px;color:var(--heading);margin-bottom:4px}.update-entry .update-field-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-top:8px}.update-entry p{font-size:13px;margin:2px 0 0;white-space:pre-wrap}.notification-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.notification-row-main{flex:1 1;min-width:0}.notification-dismiss{flex-shrink:0}.doc-toolbar{padding:16px 24px;display:flex;justify-content:space-between;align-items:center;background:var(--header-bg);border-bottom:1px solid var(--header-line);position:-webkit-sticky;position:sticky;top:0;z-index:50}.doc-toolbar .btn{color:var(--header-text);border-color:var(--header-line)}.doc-toolbar .btn:hover{border-color:var(--header-accent,var(--accent));color:var(--header-accent,var(--accent))}.doc-toolbar .btn-primary{background:var(--header-accent,var(--accent));border-color:var(--header-accent,var(--accent));color:#fff}.doc-toolbar .btn-primary:hover{opacity:.88;color:#fff}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-card{background:var(--card-bg);border-radius:10px;padding:36px 32px;width:100%;max-width:380px;box-shadow:0 10px 30px rgba(0,0,0,.12)}.login-card h1{font-size:18px;color:var(--heading);margin:0 0 4px}.login-card p.sub{color:var(--ink-soft);font-size:12.5px;margin:0 0 20px}.error-text{color:#a13f3f;font-size:12.5px;margin-top:10px}.messages-thread-scroll{overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:10px}.messages-bubble{max-width:70%;padding:10px 14px;border-radius:12px;font-size:13px}.messages-bubble.from-customer{align-self:flex-start;background:var(--panel);border-bottom-left-radius:3px}.messages-bubble.from-admin{align-self:flex-end;background:var(--rust);color:#fff;border-bottom-right-radius:3px}.messages-bubble-text{white-space:pre-wrap}.messages-bubble-time{font-size:10px;opacity:.7;margin-top:4px}.messages-compose{display:flex;gap:8px;padding:14px 18px;border-top:1px solid var(--line);align-items:flex-end}.messages-compose textarea{flex:1 1;resize:none}.inbox-row{align-items:flex-start}.inbox-row .entity-mobile-row-dot{margin-top:5px}.inbox-row-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.inbox-row-time{flex-shrink:0;font-size:11px;color:var(--ink-soft);padding-top:1px}.inbox-row-expanded-actions{display:flex;gap:8px;margin-top:8px}.swipe-row{position:relative;overflow:hidden}.swipe-row-actions{position:absolute;inset:0;display:flex;align-items:stretch;justify-content:space-between}.swipe-row-action{flex:0 0 88px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff}.swipe-row-action-read{background:var(--fab-primary)}.swipe-row-action-dismiss{background:#a13f3f;margin-left:auto}.swipe-row-content{position:relative;background:var(--card-bg);touch-action:pan-y}.mobile-inbox-detail{display:flex;flex-direction:column;height:calc(100vh - 210px);min-height:420px}.mobile-inbox-back{align-self:flex-start;background:none;border:none;color:var(--accent);font-size:14px;font-weight:600;padding:6px 2px 10px;cursor:pointer;font-family:inherit}.mobile-inbox-detail .messages-chat-header{border-bottom:1px solid var(--line)}.mobile-inbox-detail .messages-thread-scroll{flex:1 1;padding:14px 2px}.mobile-inbox-detail .messages-compose{padding:12px 2px calc(12px + env(safe-area-inset-bottom))}.subportal-auth-wrap{min-height:100vh;display:flex}.subportal-auth-brand{display:none;flex:0 0 40%;max-width:480px;background:linear-gradient(150deg,#241d13,#171310);color:#f2ead9;padding:56px 48px;flex-direction:column;align-items:flex-start;justify-content:space-between}.subportal-auth-logo{width:auto}.subportal-auth-brand h2{font-size:22px;font-weight:700;margin:0 0 12px;color:#fff}.subportal-auth-brand p{font-size:13.5px;line-height:1.7;color:hsla(41,49%,90%,.75);margin:0;max-width:340px}.subportal-auth-brand-foot{font-size:11.5px;color:hsla(41,49%,90%,.45);letter-spacing:.03em}.subportal-auth-content{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;position:relative}.subportal-auth-logo-mobile{display:block;width:auto;margin-bottom:22px}@media (min-width:900px){.subportal-auth-brand{display:flex}.subportal-auth-logo-mobile{display:none}}.portal-mode-tabs{display:flex;gap:20px;margin-bottom:18px;border-bottom:1px solid var(--line)}.portal-mode-tabs button{flex:none;font-family:inherit;font-size:13px;font-weight:600;padding:10px 2px;border-radius:0;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--ink-soft);cursor:pointer}.portal-mode-tabs button.active{background:transparent;color:var(--accent);border-color:var(--accent);font-weight:700}.search-bar{margin-bottom:18px}.top-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;flex-wrap:wrap;gap:10px}.section-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.saved-flash{font-size:12px;color:#3a6b45;margin-left:10px}.shell{display:flex;flex-direction:column;height:100vh;height:100dvh}.shell-topbar{flex-shrink:0;padding:8px 16px;background:var(--header-bg);border-bottom:1px solid var(--header-line)}.shell-logo,.shell-topbar{display:flex;justify-content:flex-start;align-items:center}.shell-logo img{display:block;max-height:190px}.shell-logo .brand{font-weight:700;letter-spacing:.04em;color:var(--header-text);text-transform:uppercase;font-size:14px}.shell-logo .brand span{color:var(--gold)}.shell-topbar-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.shell-topbar-icon-btn{position:relative;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:none;background:transparent;color:var(--header-text);cursor:pointer;text-decoration:none}.shell-topbar-icon-btn:hover{background:hsla(0,0%,100%,.08)}.shell-topbar-icon-btn svg{width:19px;height:19px}.shell-topbar-icon-btn.spinning svg{animation:shell-topbar-spin .8s linear infinite}@keyframes shell-topbar-spin{to{transform:rotate(1turn)}}.shell-topbar-dot{position:absolute;top:4px;right:5px;width:8px;height:8px;border-radius:50%;background:#c0524f;border:1.5px solid var(--header-bg)}.shell-topbar-toast{position:absolute;top:100%;right:0;margin-top:6px;background:var(--card-bg);border:1px solid var(--line);border-radius:6px;padding:6px 10px;font-size:11.5px;color:var(--ink);white-space:nowrap;box-shadow:0 4px 14px rgba(0,0,0,.15);z-index:60}.shell-header-left{display:flex;flex-direction:column;justify-content:center}.shell-nav-dot{position:absolute;top:-2px;right:-2px;width:8px;height:8px;border-radius:50%;background:#c0524f;border:1.5px solid var(--panel)}.theme-toggle-btn{width:34px;height:34px;background:transparent;border:1px solid var(--header-line);border-radius:5px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--header-text);flex-shrink:0}.theme-toggle-btn:hover{border-color:var(--header-accent,var(--accent));color:var(--header-accent,var(--accent))}.signout-link{background:transparent;border:none;width:100%;text-align:left;cursor:pointer;font-family:inherit}.signout-link:hover{color:#c0524f}.signout-btn{width:calc(100% - 32px);margin:0 16px;justify-content:center}.signout-btn:hover{background:var(--signout-hover-bg)!important}.shell-body{display:flex;align-items:stretch;flex:1 1;min-height:0}.shell-sidebar{background:var(--panel);border-right:1px solid var(--panel-line);flex-shrink:0;transition:background-color .15s ease;overflow-y:auto;overflow-x:hidden}.shell-sidebar-inner{width:84px;height:100%;justify-content:space-between;padding:0 0 8px;box-sizing:border-box}.shell-nav-link,.shell-nav-links,.shell-sidebar-inner{display:flex;flex-direction:column}.shell-nav-link{align-items:center;justify-content:center;gap:3px;padding:7px 3px;font-size:9px;font-weight:600;color:var(--sidebar-inactive-text);text-align:center;background:transparent;border:none;cursor:pointer;font-family:inherit;width:100%}.shell-nav-label{display:block;line-height:1.1;max-width:78px;word-break:break-word}.shell-nav-icon{flex-shrink:0;width:20px;height:20px;opacity:.8}.shell-nav-link.active .shell-nav-icon{opacity:1}.shell-nav-link:hover{background:var(--line)}.shell-nav-link.active{background:var(--sidebar-active-bg);color:var(--sidebar-active-text)}.shell-nav-divider{height:1px;background:var(--panel-line);margin:4px 14px;flex-shrink:0}.shell-content{flex:1 1;min-width:0;overflow-y:auto;overflow-x:hidden}.shell-bottomnav{display:none}@media (max-width:899px){.shell-topbar{position:static}.shell-sidebar{display:none!important}.shell-content{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.shell-bottomnav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;background:#1c1b19;padding:6px 2px calc(10px + env(safe-area-inset-bottom));justify-content:space-around;align-items:center}.shell-bottomnav-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:1 1;min-width:0;padding:6px 2px;color:hsla(0,0%,100%,.6);background:none;border:none;font:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.shell-bottomnav-link.active{color:#fff}.shell-bottomnav-icon{width:22px;height:22px;opacity:.9}.shell-bottomnav-link.active .shell-bottomnav-icon{opacity:1}.shell-bottomnav-label{font-size:9.5px;font-weight:600;line-height:1;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.shell-bottomnav-dot{position:absolute;top:-1px;right:-3px;width:7px;height:7px;border-radius:50%;background:#c0524f;border:1.5px solid #1c1b19}}.pnav-sidebar-inner{width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:18px 0 12px;box-sizing:border-box}.pnav-identity-block{padding:0 20px 16px;margin:0 10px 10px;border-bottom:1px solid var(--panel-line)}.pnav-identity-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.pnav-identity-name{font-weight:700;font-size:14px;color:var(--heading);line-height:1.3}.pnav-identity-sub{font-size:11px;color:var(--ink-soft);margin-top:3px}.pnav-links{display:flex;flex-direction:column;gap:2px;padding:0 10px}.pnav-link{display:flex;align-items:center;gap:10px;padding:11px 14px;font-size:13.5px;font-weight:600;color:var(--sidebar-inactive-text);border-radius:6px;background:transparent;border:none;cursor:pointer;font-family:inherit;text-align:left;width:100%}.pnav-link:hover{background:var(--line)}.pnav-link.active{background:var(--sidebar-active-bg);color:var(--sidebar-active-text)}.pnav-bottom{padding:12px 10px 0;margin:8px 10px 0;border-top:1px solid var(--panel-line)}.pnav-icon{flex-shrink:0;width:17px;height:17px;opacity:.85}.pnav-badge{margin-left:auto;background:#a13f3f;color:#fff;font-size:10.5px;font-weight:700;line-height:1;padding:3px 6px;border-radius:999px;flex-shrink:0}.pnav-bell-btn,.pnav-bell-wrap{position:relative;flex-shrink:0}.pnav-bell-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:none;background:transparent;color:var(--ink-soft);cursor:pointer}.pnav-bell-btn:hover{background:var(--panel);color:var(--ink)}.pnav-bell-btn svg{width:17px;height:17px}.pnav-bell-dot{position:absolute;top:4px;right:5px;width:8px;height:8px;border-radius:50%;background:#a13f3f;border:1.5px solid var(--card-bg)}.pnav-bell-panel{position:fixed;width:340px;max-width:calc(100vw - 32px);max-height:420px;overflow-y:auto;background:var(--card-bg);border:1px solid var(--panel-line);border-radius:10px;box-shadow:0 14px 36px rgba(0,0,0,.22);z-index:1000;padding:6px 0}.pnav-bell-panel-header{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);padding:10px 16px 8px}.pnav-bell-empty{padding:8px 16px 16px;font-size:12.5px;color:var(--ink-soft)}.pnav-bell-row{display:block;padding:10px 16px;text-decoration:none;color:inherit;border-top:1px solid var(--line)}.pnav-bell-row:hover{background:var(--panel)}.pnav-bell-row-label{font-weight:600;font-size:13px;color:var(--heading)}.pnav-bell-row-detail{font-size:11.5px;color:var(--ink-soft);margin-top:2px}.pnav-bell-row-compliance{background:rgba(161,63,63,.08);border-top:none}.pnav-bell-row-compliance:hover{background:rgba(161,63,63,.14)}.pnav-bell-row-compliance .pnav-bell-row-label{color:#a13f3f}[data-theme=dark] .pnav-bell-row-compliance .pnav-bell-row-label{color:#e08a8a}.pnav-bell-divider{height:1px;background:var(--panel-line);margin:4px 0}.pnav-coi-banner{display:block;padding:10px 24px;font-size:12.5px;font-weight:600;text-align:center;text-decoration:none;background:rgba(201,166,80,.14);color:#8a6d1e;border-bottom:1px solid rgba(201,166,80,.3)}.pnav-coi-banner:hover{background:rgba(201,166,80,.22)}.pnav-coi-banner.urgent{background:rgba(161,63,63,.12);color:#a13f3f;border-bottom-color:rgba(161,63,63,.28)}.pnav-coi-banner.urgent:hover{background:rgba(161,63,63,.2)}[data-theme=dark] .pnav-coi-banner{color:#d9b85c}[data-theme=dark] .pnav-coi-banner.urgent{color:#e08a8a}.pnav-mobile-identity-strip{display:none}@media (max-width:899px){.pnav-mobile-identity-strip{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--panel-line)}.pnav-mobile-identity-strip .pnav-identity-name{font-size:13px}.pnav-mobile-identity-strip .pnav-identity-sub{margin-top:0}}.pnav-bottomnav{display:none}@media (max-width:899px){.pnav-bottomnav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;background:#1c1b19;padding:8px 6px calc(10px + env(safe-area-inset-bottom));gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.pnav-bottomnav::-webkit-scrollbar{display:none}.pnav-bottomnav-link{display:flex;align-items:center;gap:6px;flex-shrink:0;padding:9px 14px;border-radius:20px;font-size:12.5px;font-weight:600;white-space:nowrap;color:hsla(0,0%,100%,.65);background:none;border:none;font-family:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.pnav-bottomnav-link.active{color:#1c1b19;background:#fff}}.job-fab{position:fixed;right:16px;z-index:45;width:52px;height:52px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;background:var(--accent,#1c1b19);color:#fff;box-shadow:0 3px 10px rgba(0,0,0,.3);cursor:pointer}.job-fab:active{transform:scale(.96)}@media (max-width:899px){.job-fab{bottom:calc(64px + 16px + env(safe-area-inset-bottom))}}@media (min-width:900px){.job-fab{display:none}}.contact-card{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 18px;background:var(--card-bg);border:1px solid var(--line);border-radius:7px;margin-bottom:10px}.contact-card .contact-name{font-weight:700;font-size:14.5px;color:var(--heading)}.contact-card .contact-meta{font-size:12.5px;color:var(--ink-soft);margin-top:3px;line-height:1.6}.mobile-fab-wrap{position:fixed;right:18px;bottom:calc(78px + env(safe-area-inset-bottom));z-index:45;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.mobile-fab{width:56px;height:56px;border-radius:50%;border:none;background:var(--accent);color:#fff;font-size:28px;line-height:1;box-shadow:0 6px 16px rgba(0,0,0,.3);cursor:pointer;display:flex;align-items:center;justify-content:center}.mobile-fab-menu{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.mobile-fab-menu-item{white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.2);min-height:50px;padding:0 22px;font-size:15px;font-weight:600;border-radius:10px;display:flex;align-items:center;background:#fff;color:#2a2722;border:1px solid #d8d5cf}.mobile-fab-menu-item.btn-primary{background:var(--fab-primary);color:#fff;border-color:var(--fab-primary)}.mobile-fab-menu-item.btn-primary:hover{background:var(--fab-primary-hover);border-color:var(--fab-primary-hover);color:#fff}.mobile-overflow-wrap{position:relative;display:inline-block}.mobile-overflow-btn{font-size:18px;line-height:1;padding:6px 12px}.mobile-overflow-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:45;background:var(--card-bg);border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.15);padding:4px;display:flex;flex-direction:column}.mobile-overflow-menu .btn{border:none;box-shadow:none;background:transparent;width:100%;text-align:left;border-radius:5px;white-space:nowrap}.mobile-overflow-menu .btn:hover{background:var(--panel);color:inherit}.bottom-sheet-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1100;display:flex;align-items:flex-end;justify-content:center}.bottom-sheet{width:100%;max-width:520px;background:var(--card-bg);border-radius:16px 16px 0 0;padding:10px 8px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -8px 30px rgba(0,0,0,.25);max-height:80vh;overflow-y:auto}.bottom-sheet-handle{width:36px;height:4px;border-radius:3px;background:var(--panel-line);margin:4px auto 14px}.bottom-sheet [data-sheet-drag],.bottom-sheet-handle,.bottom-sheet-title{touch-action:none}.bottom-sheet-handle{position:relative}.bottom-sheet-handle:before{content:"";position:absolute;left:-40px;right:-40px;top:-10px;bottom:-10px}.bottom-sheet-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);padding:0 10px 10px}.more-sheet-link{display:flex;align-items:center;gap:14px;width:100%;padding:14px 12px;border-radius:8px;border:none;background:transparent;color:var(--heading);font-size:15px;font-weight:600;text-align:left;cursor:pointer;font-family:inherit;text-decoration:none}.more-sheet-link:active{background:var(--panel)}.more-sheet-link.active{color:var(--accent)}.more-sheet-icon{width:22px;height:22px;flex-shrink:0;opacity:.85}.more-sheet-link.active .more-sheet-icon{opacity:1}.more-sheet-dot{width:8px;height:8px;border-radius:50%;background:var(--rust);margin-left:-6px}.more-sheet-divider{height:1px;background:var(--line);margin:8px 4px}.dt-picker-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:14px}.dt-picker-banner{background:var(--panel);border-radius:8px;padding:14px 16px;margin-bottom:16px}.dt-picker-banner-year{font-size:12px;color:var(--ink-soft)}.dt-picker-banner-day{font-size:19px;font-weight:700;color:var(--heading);margin-top:2px}.dt-picker-monthnav{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:13.5px;font-weight:600;color:var(--heading)}.dt-picker-monthnav button{background:none;border:none;font-size:19px;line-height:1;color:var(--ink-soft);cursor:pointer;padding:4px 10px}.dt-picker-monthnav button:hover{color:var(--accent)}.dt-picker-weekdays{text-align:center;font-size:10.5px;color:var(--ink-soft);font-weight:700;margin-bottom:4px}.dt-picker-days,.dt-picker-weekdays{display:grid;grid-template-columns:repeat(7,1fr)}.dt-picker-days{grid-gap:2px;gap:2px}.dt-picker-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:50%;font-size:13px;color:var(--ink);cursor:pointer;font-family:inherit}.dt-picker-day:hover{background:var(--panel)}.dt-picker-day.today{color:var(--accent);font-weight:700}.dt-picker-day.selected{background:var(--accent);color:#fff;font-weight:700}.dt-picker-subtitle{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--ink-soft);margin-bottom:16px;gap:10px;flex-wrap:wrap}.dt-picker-changedate{background:none;border:none;color:var(--accent);font-weight:600;font-size:12.5px;cursor:pointer;padding:0;font-family:inherit}.dt-picker-wheels{position:relative;display:flex;justify-content:center;align-items:center;gap:2px}.dt-picker-wheel-highlight{position:absolute;left:4px;right:4px;top:50%;transform:translateY(-50%);height:40px;background:var(--panel);border-radius:8px;pointer-events:none;z-index:0}.dt-wheel{position:relative;height:200px;width:72px;overflow-y:auto;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;z-index:1}.dt-wheel::-webkit-scrollbar{display:none}.dt-wheel-item{height:40px;display:flex;align-items:center;justify-content:center;scroll-snap-align:center;font-size:15px;color:var(--ink-soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;cursor:pointer}.dt-wheel-item.selected{color:var(--heading);font-weight:700;font-size:17px}.sales-route-card{cursor:pointer}.sales-route-card:hover{border-color:var(--rust)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:10px;gap:10px}.data-table{width:100%;border-collapse:collapse;font-size:12.5px;background:var(--card-bg);border:1px solid var(--line);border-radius:6px;overflow:hidden}.data-table th{text-align:left;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);background:var(--panel);padding:8px 10px;border-bottom:1px solid var(--panel-line);white-space:normal;word-break:break-word;line-height:1.35;vertical-align:bottom}.data-table td{padding:7px 10px;border-bottom:1px solid var(--line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.data-table tbody tr{cursor:pointer}.data-table tbody tr:nth-child(2n){background:var(--panel)}.data-table tbody tr:hover{background:var(--line)}.data-table tbody tr:last-child td{border-bottom:none}.data-table-wrap{overflow:auto;max-height:70vh;border-radius:6px}.data-table{border-radius:0}.data-table thead{position:-webkit-sticky;position:sticky;top:0;z-index:4}.data-table-wrap.data-table-wrap-page{max-height:none}.data-table-wrap-page .data-table{border-collapse:separate;border-spacing:0}.data-table-wrap-page .data-table thead{position:relative;z-index:4;will-change:transform}.actions-menu-wrap{position:relative;display:inline-block}.actions-menu-trigger,.filter-menu-trigger{display:inline-flex;align-items:center;gap:7px}.menu-chevron{flex-shrink:0;opacity:.8}.filter-menu-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;line-height:1}.filter-menu-item{display:flex;align-items:center;gap:10px;padding:9px 12px;margin:0;font-size:13px;font-weight:400;color:var(--ink);border-radius:4px;cursor:pointer;white-space:nowrap}.filter-menu-item:hover{background:var(--panel)}.actions-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:60;min-width:230px;background:var(--card-bg);border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.18);padding:4px;display:flex;flex-direction:column}.actions-menu-item{background:none;border:none;text-align:left;padding:9px 12px;font:inherit;font-size:13px;color:var(--ink);border-radius:4px;cursor:pointer}.actions-menu-item:hover:not(:disabled){background:var(--panel)}.actions-menu-item:disabled{opacity:.5;cursor:default}.data-table-sticky-col{position:-webkit-sticky;position:sticky;right:0;z-index:1;box-shadow:-6px 0 6px -6px rgba(0,0,0,.35)}.data-table th.data-table-sticky-col{background:var(--panel);z-index:3}.data-table-filter-row th.data-table-sticky-col{background:var(--card-bg);z-index:3}.data-table tbody tr td.data-table-sticky-col{background:var(--card-bg)}.data-table tbody tr:nth-child(2n) td.data-table-sticky-col{background:var(--panel)}.data-table tbody tr:hover td.data-table-sticky-col{background:var(--line)}.route-modal-card-wrap .card{margin-bottom:0}.estimate-grid{grid-template-columns:1fr 320px;grid-gap:20px}.estimate-grid,.estimate-grid-wide{display:grid;gap:20px;align-items:start}.estimate-grid-wide{grid-template-columns:2fr 1fr;grid-gap:20px}.estimate-sidebar{position:-webkit-sticky;position:sticky;top:20px}.estimate-grid-wide .estimate-sidebar{max-height:calc(100vh - 40px);overflow-y:auto}.estimate-row.estimate-row-costs{grid-template-columns:2fr 120px 130px 100px 90px 40px}.estimate-add-grid.estimate-add-grid-costs{grid-template-columns:2fr 120px 130px 110px auto}.estimate-actions-toggle{background:none;border:none;padding:0;margin-top:4px;cursor:pointer;color:var(--ink-soft);font-size:11px;font-family:inherit;text-decoration:underline}.estimate-actions-list{margin-top:6px;padding:8px 10px;background:var(--panel);border:1px solid var(--line);border-radius:6px;max-height:160px;overflow-y:auto;font-size:11.5px;line-height:1.45}.estimate-tax-note{font-size:11px;color:var(--ink-soft);margin-top:4px;line-height:1.4}.estimate-margin-table{width:100%;border-collapse:collapse;margin-bottom:4px}.estimate-margin-table td{padding:7px 0;border-bottom:1px solid var(--line);font-size:13px}.estimate-margin-table td:first-child{color:var(--ink-soft)}.estimate-margin-table td:last-child{text-align:right;font-weight:700}.estimate-margin-table td input{text-align:right;padding:4px 8px;font-size:13px}.estimate-margin-inline{display:flex;align-items:center;justify-content:flex-end;gap:10px}.estimate-margin-pct{display:flex;align-items:center;gap:3px;font-weight:400;color:var(--ink-soft)}.estimate-margin-pct input{width:52px;flex:none;text-align:right;padding:4px;font-size:12.5px}.image-dropzone{position:relative;border:1.5px dashed var(--panel-line);border-radius:8px;background:var(--panel);min-height:110px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s ease,background .15s ease;overflow:hidden}.image-dropzone:hover{border-color:var(--rust)}.image-dropzone.is-dragover{border-color:var(--rust);background:rgba(154,113,64,.08)}.image-dropzone-empty{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:18px;font-size:12px;color:var(--ink-soft)}.image-dropzone-icon{font-size:20px;color:var(--ink-soft)}.image-dropzone.has-preview{min-height:160px;cursor:default}.image-dropzone-preview{width:100%;max-height:220px;object-fit:cover;display:block}.image-dropzone-clear{position:absolute;top:8px;right:8px;width:26px;height:26px;border-radius:50%;border:none;background:rgba(20,18,14,.6);color:#fff;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}.image-dropzone-clear:hover{background:rgba(20,18,14,.8)}.selection-photo-btn{padding:0;border:none;background:none;cursor:pointer;display:block;width:100%;border-radius:6px;overflow:hidden;margin-bottom:12px}.selection-photo-btn img{width:100%;height:180px;object-fit:cover;display:block;transition:opacity .15s ease}.selection-photo-btn:hover img{opacity:.88}.photo-lightbox-overlay{position:fixed;inset:0;background:rgba(10,9,7,.82);z-index:1200;display:flex;align-items:center;justify-content:center;padding:24px;cursor:zoom-out}.photo-lightbox-inner{position:relative;display:inline-block;cursor:default}.photo-lightbox-overlay img{display:block;width:min(85vw,1000px);height:auto;max-height:88vh;object-fit:contain;border-radius:6px;box-shadow:0 20px 60px rgba(0,0,0,.5)}.photo-lightbox-close{position:absolute;top:-14px;right:-14px;width:36px;height:36px;border-radius:50%;border:2px solid #fff;background:rgba(20,18,15,.9);color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.photo-lightbox-close:hover{background:#14120f}.photo-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:none;background:rgba(20,18,15,.65);color:#fff;font-size:26px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;z-index:1}.photo-lightbox-nav:hover{background:rgba(20,18,15,.9)}.photo-lightbox-prev{left:-22px}.photo-lightbox-next{right:-22px}.photo-lightbox-counter{position:absolute;bottom:-30px;left:50%;transform:translateX(-50%);font-size:12.5px;color:#ded9cc;letter-spacing:.03em}@media (max-width:700px){.photo-lightbox-prev{left:6px}.photo-lightbox-next{right:6px}}.photo-thumb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));grid-gap:10px;gap:10px}.photo-thumb-btn{padding:0;border:1px solid var(--panel-line);border-radius:6px;background:var(--card-bg);cursor:zoom-in;overflow:hidden;display:block;width:100%;aspect-ratio:1;position:relative;transition:border-color .12s,opacity .12s}.photo-thumb-btn:hover{border-color:var(--accent);opacity:.9}.photo-thumb-btn img{width:100%;height:100%;object-fit:cover;display:block}.estimate-margin-total-row td{border-bottom:1px solid var(--panel-line);font-weight:700;color:var(--heading)}.estimate-table{display:flex;flex-direction:column}.estimate-row{display:grid;grid-template-columns:2fr 90px 110px 100px 90px;grid-gap:8px;gap:8px;align-items:start;padding:8px 0;border-bottom:1px solid var(--line);transition:background-color .4s ease}.estimate-row.row-flash-saved{background-color:rgba(58,107,69,.12)}.estimate-row.row-flash-error{background-color:rgba(161,63,63,.12)}.estimate-header-row{font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);border-bottom:1px solid var(--panel-line)}.estimate-row input,.estimate-row select{font-size:12.5px;padding:6px 8px}.schedule-table{display:flex;flex-direction:column}.schedule-header-row{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);border-bottom:1px solid var(--panel-line);padding-bottom:8px;margin-bottom:4px}.schedule-header-row,.schedule-row{display:grid;grid-template-columns:2fr 130px 130px 240px 70px;grid-gap:10px;gap:10px}.schedule-row{align-items:start;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}@media (max-width:860px){.schedule-header-row{display:none}.schedule-row{grid-template-columns:1fr}}.schedule-today-col{background:color-mix(in srgb,var(--accent) 40%,transparent)}.schedule-today-row{background:color-mix(in srgb,var(--accent) 30%,transparent)}[data-theme=dark] .schedule-today-col{background:color-mix(in srgb,var(--accent) 22%,transparent)}[data-theme=dark] .schedule-today-row{background:color-mix(in srgb,var(--accent) 16%,transparent)}.estimate-line-total{font-size:13px;font-weight:700;padding-top:7px}.estimate-tag{display:inline-block;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;background:var(--panel);color:var(--gold);padding:2px 6px;border-radius:8px;margin-top:4px}.estimate-buffer-note{font-size:10.5px;color:#a17c3f;margin-top:4px;font-style:italic}.estimate-add-grid{display:grid;grid-template-columns:2fr 110px 110px auto;grid-gap:8px;gap:8px;align-items:center}@media (max-width:900px){.estimate-grid,.estimate-grid-wide{grid-template-columns:1fr}.estimate-sidebar{position:static}.estimate-add-grid,.estimate-add-grid.estimate-add-grid-costs,.estimate-header-row,.estimate-row,.estimate-row.estimate-row-costs{grid-template-columns:1fr}.estimate-grid-wide .estimate-sidebar{max-height:none;overflow:visible}}@media (max-width:640px){.data-table{font-size:11.5px}.data-table th{font-size:9.5px}.data-table td,.data-table th{padding:6px 7px}}.data-table th{position:relative}.col-resize-handle{position:absolute;top:0;right:0;bottom:0;width:6px;cursor:col-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-right:2px solid transparent}.col-resize-handle:active,.col-resize-handle:hover{border-right-color:var(--rust)}.data-table-sortable-th{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.data-table-sortable-th:hover{color:var(--accent)}.sort-indicator{display:inline-block;margin-left:5px;font-size:9px;opacity:.5}.sort-indicator.active{opacity:1;color:var(--accent)}.data-table-filter-row th{padding:4px 6px;background:var(--card-bg)}.data-table-filter-input{width:100%;box-sizing:border-box;font-size:12px;padding:5px 7px;border:1px solid var(--line);border-radius:4px;font-family:inherit}.photo-tile{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--panel);position:relative}.photo-tile img{width:100%;height:120px;object-fit:cover;display:block}.photo-tile-loading{width:100%;height:120px;background:var(--panel-line)}.photo-tile-actions{display:flex;gap:4px;padding:6px;flex-wrap:wrap}.photo-tile-actions .btn{flex:1 1;font-size:10.5px;padding:5px 6px}.photo-markup-badge{position:absolute;top:6px;left:6px;background:rgba(34,31,22,.8);color:#fff;font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 7px;border-radius:10px}.breadcrumb-link{display:inline-block;font-size:12.5px;font-weight:600;color:var(--ink-soft);margin-bottom:14px}.breadcrumb-link:hover{color:var(--rust)}@media print{.send-doc-overlay{display:none!important}}.flag-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 14px;border-radius:8px;background:var(--panel);border:1px solid var(--line);color:var(--ink-soft);font-size:12.5px;margin-bottom:16px}.flag-banner-active{background:rgba(58,107,69,.08);border-color:rgba(58,107,69,.35);color:#3a6b45}.budget-line-group-label{font-weight:700;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px}.budget-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.budget-table-inner{min-width:480px}.budget-line-row{display:grid;grid-template-columns:1fr 100px 100px 100px;grid-gap:8px;gap:8px;padding:6px 0;border-bottom:1px solid var(--line);font-size:13px}.budget-line-row span{color:var(--ink)}.budget-line-row b{text-align:right}.budget-line-header{border-bottom:1px solid var(--panel-line);padding-bottom:8px;margin-bottom:4px}.budget-line-header b{font-size:10.5px;letter-spacing:.04em;text-transform:uppercase}.budget-line-header b,.budget-line-na{color:var(--ink-soft);text-align:right}.budget-line-subtotal{border-bottom:none;padding-top:4px;color:var(--ink-soft)}.budget-line-subtotal span{color:var(--ink-soft);font-style:italic}.budget-line-grand-total{border-top:2px solid var(--panel-line);border-bottom:none;padding-top:10px;font-size:14.5px}.budget-line-grand-total span{font-weight:700;color:var(--heading)}.budget-burn-wrap{margin-bottom:22px}.budget-burn-track{height:14px;border-radius:7px;background:var(--panel);border:1px solid var(--panel-line);overflow:hidden}.budget-burn-fill{height:100%;background:var(--accent);transition:width .2s ease}.budget-burn-fill.over{background:#c0524f}.budget-burn-label{justify-content:space-between;font-size:11.5px;margin-top:6px}.budget-burn-label,.sync-badge{display:flex;color:var(--ink-soft)}.sync-badge{padding:10px 14px;border-radius:8px;background:var(--panel);border:1px solid var(--line);font-size:13px;margin-bottom:16px;gap:12px;flex-wrap:wrap}.sync-badge-offline{background:#fbeae7;border-color:#e8c4b8;color:var(--rust-dim)}.sync-badge-failed{color:var(--rust)}.sync-badge-failed button{background:none;border:none;color:var(--accent);text-decoration:underline;cursor:pointer;font-size:13px;padding:0}.field-log-section{background:var(--card-bg);border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:16px}.field-log-section h3{margin:0 0 12px;font-size:15px;color:var(--heading)}.field-log-form{display:flex;flex-direction:column;gap:10px}.field-log-form input,.field-log-form textarea{padding:10px;border:1px solid var(--line);border-radius:6px;font-size:14px;font-family:inherit;background:var(--bg);color:var(--ink)}.field-log-form button{align-self:flex-start;padding:8px 16px;border:none;border-radius:6px;background:var(--accent);color:#fff;font-size:14px;cursor:pointer}.field-log-form button:disabled{opacity:.6;cursor:default}.field-photo-button{display:inline-block;padding:10px 16px;border:1px dashed var(--line);border-radius:8px;cursor:pointer;color:var(--ink-soft);font-size:14px}.field-checklist{list-style:none;margin:0;padding:0}.field-checklist li{padding:6px 0}.field-checklist label{display:flex;align-items:center;gap:10px;cursor:pointer}.checklist-done{text-decoration:line-through;color:var(--ink-soft)}.staged-photo-strip{display:flex;gap:8px;flex-wrap:wrap}.staged-photo-thumb{position:relative;width:72px;height:72px;flex:0 0 72px;overflow:hidden;border-radius:6px}.staged-photo-thumb img{display:block;width:72px;height:72px;object-fit:cover}.staged-photo-thumb button{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:var(--rust);color:#fff;border:none;font-size:12px;line-height:1;cursor:pointer}.update-photo-strip{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.update-photo-strip img{display:block;width:90px;height:90px;flex:0 0 90px;object-fit:cover;border-radius:6px}.pending-tag{color:var(--rust-dim);font-style:italic}.promoted-tag{color:var(--ink-soft);font-size:12px;margin-top:6px}.portal-feed-item{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}.portal-feed-item:last-child{border-bottom:none}.portal-feed-item:hover{opacity:.7}.portal-feed-label{font-size:14px;color:var(--heading)}.portal-feed-sub{font-size:12.5px;color:var(--ink-soft);flex-basis:100%}.portal-feed-date{font-size:12px;color:var(--ink-soft);margin-left:auto;white-space:nowrap;flex:none}.portal-feed-item-new .portal-feed-label{font-weight:700}.portal-feed-tag{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);flex:none}.portal-feed-tag:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.portal-feed-item-action .portal-feed-tag{color:var(--rust)}.portal-feed-item-invoice .portal-feed-tag{color:var(--money)}.portal-feed-divider{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);margin:14px 0 4px}.portal-invoice-row{padding:14px 0;border-bottom:1px solid var(--line)}.portal-invoice-row:last-child{border-bottom:none}.portal-invoice-row-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.portal-summary-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:4px 2px 20px;font-size:12.5px;color:var(--ink-soft)}.portal-summary-item{white-space:nowrap}.portal-summary-item b{color:var(--heading);font-weight:600}.portal-summary-badge{font-size:10px;padding:2px 8px}.portal-feed-layout{align-items:start}.update-compose-layout{display:grid;grid-template-columns:2fr 1fr;grid-gap:20px;gap:20px;align-items:start}@media (max-width:800px){.update-compose-layout{grid-template-columns:1fr}}.internal-log-sidebar{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px;position:-webkit-sticky;position:sticky;top:12px}.internal-log-sidebar h4{margin:0 0 10px;font-size:13px;color:var(--heading)}.internal-log-scroll{max-height:480px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.internal-log-entry{background:var(--card-bg);border:1px solid var(--line);border-radius:8px;padding:10px;font-size:12.5px}.internal-log-entry p{margin:4px 0 8px;white-space:pre-wrap}.internal-log-date{font-size:10.5px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.03em}.internal-log-photos{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.internal-log-photos img{width:56px;height:56px;object-fit:cover;border-radius:5px;flex:0 0 56px}.camera-overlay{position:fixed;inset:0;z-index:1300;background:#000;display:flex;flex-direction:column;color:#fff;-webkit-user-select:none;-moz-user-select:none;user-select:none}.camera-topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;flex-shrink:0;background:#000}.camera-count{font-size:15px;font-weight:700;min-width:80px}.camera-title{font-size:12.5px;font-weight:600;letter-spacing:.02em;color:hsla(0,0%,100%,.7);text-align:center;flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.camera-top-actions{display:flex;gap:10px;min-width:80px;justify-content:flex-end}.camera-round-btn{width:46px;height:46px;border-radius:50%;background:#1c1c1c;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.camera-round-btn.is-on{background:#fff;color:#000}.camera-viewport{flex:1 1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;background:#000;overflow:hidden;touch-action:none}.camera-video{width:100%;height:100%;object-fit:cover;transform-origin:center center}.camera-review-image{width:100%;height:100%;object-fit:contain;background:#000}.camera-status{position:absolute;color:hsla(0,0%,100%,.75);font-size:13px}.camera-error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:30px;text-align:center;background:#000}.camera-error p{color:hsla(0,0%,100%,.88);font-size:14.5px;line-height:1.5;margin:0;max-width:320px}.camera-error-actions{display:flex;flex-direction:column;gap:10px;width:100%;max-width:260px}.camera-pill-btn{height:48px;border-radius:24px;border:2px solid #fff;background:#000;color:#fff;font-family:inherit;font-size:15px;font-weight:700;cursor:pointer}.camera-pill-solid{background:#fff;color:#000}.camera-notice{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.78);color:#fff;font-size:13px;padding:8px 14px;border-radius:16px;text-align:center;max-width:85%}.camera-link{background:none;border:none;color:#fff;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer;padding:0}.camera-zoom{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;width:44px;padding:10px 0;background:rgba(0,0,0,.38);border-radius:22px}.camera-zoom-readout{font-size:12px;font-weight:700}.camera-zoom-track{position:relative;width:44px;height:min(26vh,190px);touch-action:none;cursor:pointer;outline:none}.camera-zoom-track:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:4px;margin-left:-2px;border-radius:2px;background:hsla(0,0%,100%,.35)}.camera-zoom-presets{display:flex;flex-direction:column;gap:6px;margin-top:2px}.camera-zoom-preset{width:38px;height:30px;border-radius:15px;border:none;background:#1c1c1c;color:#fff;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;padding:0}.camera-zoom-preset.is-active{background:#fff;color:#000}.camera-zoom-fill{bottom:0;width:4px;margin-left:-2px;border-radius:2px}.camera-zoom-fill,.camera-zoom-thumb{position:absolute;left:50%;background:#fff}.camera-zoom-thumb{width:22px;height:22px;margin-left:-11px;border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.5)}.camera-controls{flex-shrink:0;background:#000;display:grid;grid-template-columns:minmax(0,1.35fr) auto minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px;padding:16px 16px calc(16px + env(safe-area-inset-bottom))}.camera-controls-left{display:flex;justify-content:flex-start;min-width:0}.camera-controls-right{display:flex;justify-content:flex-end}.camera-shutter-btn{width:74px;height:74px;border-radius:50%;background:#fff;border:5px solid #000;box-shadow:0 0 0 3px #fff;cursor:pointer;flex-shrink:0}.camera-shutter-btn:disabled{opacity:.4;cursor:default}.camera-done-btn{height:46px;padding:0 22px;border-radius:23px;border:none;background:#fff;color:#000;font-family:inherit;font-size:15px;font-weight:800;letter-spacing:.06em;cursor:pointer}.camera-review-controls{flex-shrink:0;display:flex;gap:16px;background:#000;padding:18px 16px calc(26px + env(safe-area-inset-bottom))}.camera-review-btn{flex:1 1;height:58px;border-radius:29px;border:2px solid #fff;font-family:inherit;font-size:17px;font-weight:700;cursor:pointer}.camera-review-retake{background:#000;color:#fff}.camera-review-use{background:#fff;color:#000}.dest-pill{display:inline-flex;align-items:center;gap:8px;max-width:100%;min-height:46px;padding:6px 12px;border-radius:23px;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600}.dest-pill-camera{background:#1c1c1c;color:#fff;border:none}.dest-pill-light{background:var(--card-bg,#fff);color:inherit;border:1px solid var(--line,#ccc);min-height:40px}.dest-pill svg{flex-shrink:0}.dest-pill-label{white-space:normal;overflow-wrap:anywhere;text-align:left;line-height:1.15;min-width:0;font-size:13px}.dest-backdrop{position:fixed;inset:0;z-index:2300;background:rgba(0,0,0,.55);display:flex;align-items:flex-end;justify-content:center}.dest-sheet{width:100%;max-width:520px;max-height:80vh;display:flex;flex-direction:column;background:#111;color:#fff;border-radius:18px 18px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom))}.dest-sheet-title{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:hsla(0,0%,100%,.6);margin-bottom:8px}.dest-sheet-list{overflow-y:auto;-webkit-overflow-scrolling:touch}.dest-group-title{font-size:11.5px;color:hsla(0,0%,100%,.5);margin:12px 4px 4px;text-transform:uppercase;letter-spacing:.05em}.dest-row{width:100%;display:flex;align-items:center;gap:12px;text-align:left;min-height:52px;padding:0 8px;background:none;color:#fff;font-family:inherit;font-size:16px;cursor:pointer;border:none;border-bottom:1px solid #222}.dest-row-label{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dest-row-new{margin-top:6px}.dest-new{display:flex;gap:8px;margin-top:10px}.dest-new input{flex:1 1;border-radius:24px;border:2px solid #fff;background:#000;color:#fff;padding:0 16px;font-size:16px;min-width:0}.dest-new input,.dest-new-save{height:48px;font-family:inherit}.dest-new-save{padding:0 20px;border-radius:24px;border:none;background:#fff;color:#000;font-weight:700;font-size:15px;cursor:pointer}.dest-new-save:disabled{opacity:.4}.dest-cancel{margin-top:12px;height:50px;border-radius:25px;border:2px solid #fff;background:#000;color:#fff;font-family:inherit;font-size:16px;font-weight:700;cursor:pointer}.quick-actions{position:relative;display:inline-block;flex:none}.quick-actions-btn{display:grid;place-items:center;width:34px;height:34px;padding:0;cursor:pointer;border:1px solid var(--line);border-radius:8px;background:var(--card,transparent);color:var(--accent)}.quick-actions-btn:hover,.quick-actions-btn[aria-expanded=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.quick-actions-menu{position:absolute;right:0;top:100%;margin-top:6px;z-index:30;min-width:250px;background:var(--card-bg);border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.18);padding:4px 0}.quick-actions-group+.quick-actions-group{border-top:1px solid var(--line)}.quick-actions-heading{padding:8px 14px 4px;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.quick-actions-heading.is-current{color:var(--accent);font-weight:600}.quick-actions-item{display:block;width:100%;text-align:left;background:none;border:none;padding:8px 14px;font:inherit;font-size:12.5px;color:var(--heading);cursor:pointer}.quick-actions-item:hover:not(:disabled){background:var(--panel)}.quick-actions-item:disabled{opacity:.55;cursor:default}.recency-dot{display:inline-block;flex:none;border-radius:50%;vertical-align:middle;margin-right:7px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}.recency-green{background:#3f9a55}.recency-yellow{background:#e0b030}.recency-red{background:#c24a4a}.cp-header{min-width:0}.cp-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px 14px;flex-wrap:wrap;padding-right:36px}.cp-title{gap:8px 10px;flex-wrap:wrap}.cp-title,.cp-title h3{display:flex;align-items:center;min-width:0}.cp-title h3{margin:0;overflow-wrap:anywhere}.cp-chip{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.02em;padding:2px 9px;border-radius:10px;background:var(--panel);border:1px solid var(--line);color:var(--ink-soft);white-space:nowrap}.cp-chip-main{color:var(--ink);font-weight:700}.cp-top-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cp-sub{font-size:13.5px;color:var(--ink);margin-top:4px;overflow-wrap:anywhere}.cp-reach{font-size:12.5px;color:var(--ink-soft);margin-top:2px;display:flex;gap:4px 14px;flex-wrap:wrap}.cp-reach a{color:inherit;text-decoration:none}.cp-reach a:hover{color:var(--accent)}.cp-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}.cp-actions a.btn{text-decoration:none;display:inline-block}.cp-props{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:10px}.cp-last{font-size:12px;color:var(--ink-soft);margin-top:8px}.cp-tabs{margin:14px 0}.cp-notice{font-size:12.5px;color:var(--ink-soft);background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:8px 10px;margin:10px 0 0;display:flex;gap:8px 12px;align-items:center;flex-wrap:wrap}.contact-popup-grid.even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}@media (max-width:800px){.contact-popup-grid.even{grid-template-columns:minmax(0,1fr)}}.contact-kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:12px 24px;gap:12px 24px;margin:0}.contact-kv>div{min-width:0}.contact-kv .kv-wide{grid-column:1/-1}.contact-kv dt{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 2px}.contact-kv dd{margin:0;font-size:13.5px;overflow-wrap:anywhere}.contact-kv dd a{color:inherit}.contact-kv .kv-tag{margin-left:6px;font-size:11px;color:var(--ink-soft)}.cf-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:0 12px;gap:0 12px}.cf-grid>div{min-width:0}.cf-grid label{margin:10px 0 4px}.cf-span-2{grid-column:span 2}.cf-span-4{grid-column:1/-1}@media (max-width:700px){.cf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.cf-actions{position:-webkit-sticky;position:sticky;bottom:0;background:var(--card-bg);padding:10px 0 2px;z-index:2}.cf-actions,.cf-group{margin-top:14px;border-top:1px solid var(--line)}.cf-group-head{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:8px;width:100%;padding:10px 0;cursor:pointer;font-size:13px;font-weight:700;color:var(--ink)}.cf-group-head:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cf-group-chevron{display:inline-block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--ink-soft);transition:transform .12s;transform:rotate(-90deg)}.cf-group.open .cf-group-chevron{transform:rotate(0deg)}.cf-group-hint{font-weight:400;font-size:12px;color:var(--ink-soft)}.cf-group-body{padding-bottom:6px}.cf-address .two-col{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 12px}.cf-address label{margin:4px 0}@media (max-width:700px){.cf-address .two-col{grid-template-columns:repeat(2,minmax(0,1fr))}}.pv-overlay{position:fixed;inset:0;z-index:2200;background:#000;color:#fff;display:flex;flex-direction:column}.pv-top{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:calc(10px + env(safe-area-inset-top)) 16px 10px}.pv-counter{font-size:14px;font-weight:700}.pv-close{width:44px;height:44px;border-radius:50%;border:none;background:#1c1c1c;color:#fff;cursor:pointer}.pv-close,.pv-stage{display:flex;align-items:center;justify-content:center}.pv-stage{position:relative;flex:1 1;min-height:0;overflow:hidden}.pv-stage.is-zoomed{overflow:auto;display:block;-webkit-overflow-scrolling:touch}.pv-img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;cursor:zoom-in;-webkit-user-drag:none}.pv-stage.is-zoomed .pv-img{max-width:none;max-height:none;width:250%;cursor:zoom-out}.pv-loading{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);font-size:12px;background:rgba(0,0,0,.7);padding:5px 12px;border-radius:14px}.pv-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:none;background:rgba(28,28,28,.8);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}.pv-prev{left:10px}.pv-next{right:10px}.pv-footer{flex-shrink:0;padding:10px 16px calc(14px + env(safe-area-inset-bottom));font-size:13px;text-align:center;color:hsla(0,0%,100%,.8)}.markup-progress{font-size:12.5px;font-weight:700;align-self:center;margin-right:4px}.pg-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.pg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));grid-gap:6px;gap:6px}.pg-tile{position:relative;aspect-ratio:1;background:var(--panel-line,#ddd);border-radius:6px;overflow:hidden;padding:0;border:none;cursor:pointer}.pg-tile,.pg-tile img{display:block;width:100%}.pg-tile img{height:100%;object-fit:cover}.pg-tile.is-selected{outline:3px solid var(--accent,#8a3d14);outline-offset:-3px}.pg-tile.is-selected img{opacity:.75}.pg-check{position:absolute;top:6px;left:6px;width:24px;height:24px;border-radius:50%;border:2px solid #fff;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;color:#fff}.pg-tile.is-selected .pg-check{background:var(--accent,#8a3d14)}.pg-badges{position:absolute;left:4px;bottom:4px;display:flex;gap:4px;flex-wrap:wrap}.pg-badge{background:rgba(0,0,0,.65);font-size:10px;padding:2px 6px;border-radius:8px}.pg-badge,.pg-pending{color:#fff;font-weight:700}.pg-pending{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;background:rgba(0,0,0,.35);font-size:11px;padding:6px;text-align:center;gap:4px}.pg-folder-tile{position:relative;aspect-ratio:1;border-radius:6px;overflow:hidden;background:var(--panel-line,#ddd);border:none;padding:0;cursor:pointer;display:block;width:100%;text-align:left}.pg-folder-tile img{width:100%;height:100%;object-fit:cover;display:block}.pg-folder-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--ink-soft)}.pg-folder-label{position:absolute;left:0;right:0;bottom:0;background:rgba(0,0,0,.62);color:#fff;padding:6px 8px;font-size:12px}.pg-folder-label b{display:flex;align-items:center;gap:5px;font-weight:700;overflow:hidden;white-space:nowrap}.pg-folder-label span{font-size:10.5px;opacity:.85}.pg-selectbar{position:-webkit-sticky;position:sticky;bottom:0;z-index:40;display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#000;color:#fff;border-radius:12px;padding:10px 12px;margin-top:12px;box-shadow:0 -4px 18px rgba(0,0,0,.25)}.pg-selectbar .pg-count{font-weight:700;font-size:14px;flex:1 1;min-width:90px}.pg-selectbar button{font-family:inherit}.pg-bar-btn{height:40px;padding:0 16px;border-radius:20px;border:2px solid #fff;background:#000;color:#fff;font-weight:700;font-size:14px;cursor:pointer}.pg-bar-btn.solid{background:#fff;color:#000}.pg-bar-btn:disabled{opacity:.4}.pg-menu-wrap{position:relative}.pg-menu{position:absolute;right:0;bottom:48px;min-width:230px;background:#111;border:1px solid #333;border-radius:12px;padding:6px;z-index:50}.pg-menu button{width:100%;display:flex;align-items:center;gap:10px;background:none;border:none;color:#fff;padding:12px 10px;font-size:15px;border-radius:8px;cursor:pointer;text-align:left}.pg-menu button:hover{background:#222}.pg-menu .danger{color:#ff8a80}.pg-status{font-size:12.5px;margin-bottom:10px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pg-status .failed{color:#a13f3f;font-weight:600}.shell-topnav{display:flex;align-items:center;gap:2px;margin-left:14px;min-width:0;overflow-x:auto;scrollbar-width:none}.shell-topnav::-webkit-scrollbar{display:none}.shell-topnav-link{position:relative;flex-shrink:0;padding:8px 12px;border-radius:6px;font-size:14px;font-weight:500;color:var(--header-text);opacity:.72;text-decoration:none;white-space:nowrap}.shell-topnav-link:hover{opacity:1;background:hsla(0,0%,100%,.08)}.shell-topnav-link.active{opacity:1;color:#f3dca3;background:rgba(201,161,74,.16);font-weight:600}.shell-topnav-dot{position:absolute;top:5px;right:4px;width:7px;height:7px;border-radius:50%;background:#c0524f;border:1.5px solid var(--header-bg)}.shell-account{position:relative}.shell-account-btn{width:34px;height:34px;border-radius:50%;cursor:pointer;font-family:inherit;border:1px solid var(--header-line);background:hsla(0,0%,100%,.08);color:var(--header-text);font-size:14px;font-weight:600}.shell-account-btn:hover{background:hsla(0,0%,100%,.14)}.shell-account-btn{font-size:13px;letter-spacing:.02em;padding:0;line-height:1}.shell-account-head{padding:8px 12px 6px;max-width:260px}.shell-account-name{font-size:14px;font-weight:600;color:var(--heading)}.shell-account-name,.shell-account-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-account-sub{font-size:12px;color:var(--ink-soft);margin-top:2px}.account-hero{gap:16px}.account-avatar,.account-hero{display:flex;align-items:center}.account-avatar{width:56px;height:56px;border-radius:50%;flex-shrink:0;justify-content:center;background:var(--header-bg);color:var(--header-text);font-size:20px;font-weight:600;letter-spacing:.02em}.account-hero-name{font-size:18px;font-weight:600;color:var(--heading)}.account-hero-sub{font-size:13px;color:var(--ink-soft);margin-top:2px;word-break:break-all}.shell-account-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;z-index:80;background:var(--card-bg);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.25);padding:6px}.shell-account-item{display:flex;align-items:center;gap:10px;width:100%;box-sizing:border-box;padding:10px 12px;border:0;border-radius:6px;background:transparent;color:var(--ink);font:inherit;font-size:14px;text-align:left;text-decoration:none;cursor:pointer}.shell-account-item:hover{background:var(--panel)}.shell-account-icon{width:18px;height:18px;opacity:.8;flex-shrink:0}.shell-account-divider{height:1px;background:var(--line);margin:6px 4px}.jump-search{position:relative}.jump-search-box{display:flex;align-items:center;gap:8px;width:240px;height:36px;box-sizing:border-box;padding:0 10px;border:1px solid var(--header-line);border-radius:8px;background:hsla(0,0%,100%,.06);color:var(--header-text)}.jump-search-box:focus-within{border-color:#c9a161}.jump-search-box input{flex:1 1;min-width:0;width:100%;height:auto;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;outline:none;color:inherit;font:inherit;font-size:14px}.jump-search-box input::placeholder{color:var(--header-text);opacity:.55}.jump-search-hint{font-size:11px;line-height:1;padding:2px 6px;border:1px solid var(--header-line);border-radius:4px;opacity:.7}.jump-search-panel{position:absolute;right:0;top:calc(100% + 8px);width:380px;max-width:90vw;z-index:80;background:var(--card-bg);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.25);padding:6px}.jump-search-row{display:flex;flex-direction:column;gap:2px;width:100%;box-sizing:border-box;padding:9px 12px;border:0;border-radius:6px;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.jump-search-row.active{background:var(--panel)}.jump-search-main{font-size:14px}.jump-search-sub{font-size:12px;color:var(--ink-soft)}.jump-search-empty{padding:12px;font-size:13px;color:var(--ink-soft)}.shell-sidebar-wide{width:256px;box-sizing:border-box;padding:18px 10px 24px}.area-nav{display:flex;flex-direction:column;gap:2px}.area-nav-title{padding:0 12px 12px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}.area-nav-link{display:block;padding:10px 12px;border-radius:6px;font-size:14px;font-weight:500;color:var(--ink);text-decoration:none}.area-nav-link:hover{background:var(--line)}.area-nav-link.active{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);font-weight:600;box-shadow:inset 2px 0 0 var(--accent)}.job-nav{gap:2px}.job-nav,.job-nav-head{display:flex;flex-direction:column}.job-nav-head{align-items:flex-start;gap:3px;padding:0 12px 14px;margin-bottom:8px;border-bottom:1px solid var(--line)}.job-nav-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;padding:6px 12px 6px 9px;font-size:13px;font-weight:600;color:var(--ink);text-decoration:none;background:var(--card,transparent);border:1px solid var(--line);border-radius:8px}.job-nav-back:hover{border-color:var(--accent);color:var(--heading)}.job-nav-customer{font-size:15px;font-weight:700;color:var(--heading)}.job-nav-number{font-weight:600}.job-nav-address,.job-nav-number{font-size:13px;color:var(--ink-soft)}.job-nav-address{text-align:left}.job-nav-head .badge{margin-top:6px}.job-nav-toprow{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;margin-bottom:12px}.job-nav-toprow .job-nav-back{margin-bottom:0}.job-nav-group-row{display:flex;align-items:center;min-height:40px;padding-right:8px;border-radius:6px}.job-nav-group-row:hover{background:var(--line)}.job-nav-group-row.active{background:color-mix(in srgb,var(--accent) 16%,transparent);box-shadow:inset 2px 0 0 var(--accent)}.job-nav-chev-btn{display:grid;place-items:center;flex:none;width:34px;height:40px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--ink-soft);cursor:pointer}.job-nav-chev-btn:hover{color:var(--ink)}.job-nav-group-label{flex:1 1;min-width:0;min-height:40px;padding:0 4px 0 0;border:0;background:transparent;color:var(--ink);font:inherit;font-size:14px;font-weight:600;text-align:left;cursor:pointer}.job-nav-group-row.active .job-nav-group-label{color:var(--accent)}.job-nav-chevron{flex-shrink:0;transform:rotate(-90deg);transition:transform .15s ease}.job-nav-chevron.open{transform:none}.job-nav-current{margin:0 0 0 auto;display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--accent)}.job-nav-current:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}.job-nav-advance{display:grid;place-items:center;flex:none;width:22px;height:22px;margin-left:8px;padding:0;border:1px solid var(--accent);border-radius:50%;background:transparent;color:var(--accent);cursor:pointer}.job-nav-advance:hover{background:var(--accent);color:#fff}.job-nav-link,.job-nav-top{display:block;width:100%;box-sizing:border-box;border:0;border-radius:6px;background:transparent;font:inherit;text-align:left;cursor:pointer}.job-nav-link{min-height:36px;padding:0 12px 0 34px;font-size:14px;color:var(--ink-soft)}.job-nav-top{min-height:40px;padding:0 12px;font-size:14px;font-weight:600;color:var(--ink)}.job-nav-link:hover,.job-nav-top:hover{background:var(--line);color:var(--ink)}.job-nav-link.active,.job-nav-top.active{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);font-weight:600;box-shadow:inset 2px 0 0 var(--accent)}.job-nav-divider{height:1px;margin:10px 12px;background:var(--line)}.job-nav-always{display:flex;flex-direction:column;gap:2px}.job-nav-always-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:2px;gap:2px}.job-nav-sheet .job-nav-head{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between}.job-nav-sheet .job-nav-address{flex-basis:100%;order:3}.job-nav-sheet .job-nav-head .badge{margin-top:0}.job-nav-sheet .job-nav-chev-btn,.job-nav-sheet .job-nav-group-label,.job-nav-sheet .job-nav-group-row{min-height:46px}.job-nav-sheet .job-nav-group-label{font-size:15px}.job-nav-sheet .job-nav-chev-btn{height:46px;width:40px}.job-nav-sheet .job-nav-link,.job-nav-sheet .job-nav-top{min-height:44px;font-size:15px}.job-sections-bar{display:flex;align-items:center;gap:12px;width:100%;box-sizing:border-box;min-height:56px;margin:0 0 18px;padding:8px 16px;border:1px solid var(--line);border-radius:10px;background:var(--card-bg);color:var(--ink);font:inherit;text-align:left;cursor:pointer}.job-sections-bar-text{flex:1 1;display:flex;flex-direction:column;gap:2px;min-width:0}.job-sections-bar-kicker{font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--ink-soft)}.job-sections-bar-value{font-size:16px;font-weight:600;color:var(--heading);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-crumb{margin:0 0 8px;font-size:13px;color:var(--ink-soft)}.stage-head .stage-blurb{margin:0 0 10px;font-size:14px;color:var(--ink-soft);max-width:62ch}.stage-pill{display:inline-block;padding:3px 10px;border:1px solid var(--line);border-radius:999px;font-size:11.5px;font-weight:600;color:var(--ink-soft)}.stage-pill.current{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.stage-next{margin:12px 0 0;font-size:13.5px;color:var(--ink)}.stage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:12px;gap:12px;margin-bottom:20px}.stage-tile{display:flex;flex-direction:column;background:var(--card-bg);border:1px solid var(--line);border-radius:8px;overflow:hidden}.stage-tile:hover{border-color:var(--accent)}.stage-tile.locked{opacity:.6}.stage-tile-main{display:flex;flex-direction:column;gap:4px;flex:1 1;padding:14px 16px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;text-decoration:none;cursor:pointer}.stage-tile-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.stage-tile-label{font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--gold)}.stage-tile-go{font-size:18px;line-height:1;color:var(--ink-soft)}.stage-tile:hover .stage-tile-go{color:var(--accent)}.stage-tile-stat{margin-top:4px;font-size:18px;font-weight:700;color:var(--heading)}.stage-tile-sub{font-size:12.5px;color:var(--ink-soft)}.stage-tile-add{padding:9px 16px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--accent);font:inherit;font-size:12.5px;font-weight:600;text-align:left;cursor:pointer}.stage-tile-add:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}:root{color-scheme:light;scrollbar-color:#b9b4aa #efece6}[data-theme=dark]{color-scheme:dark;scrollbar-color:#4a4a50 #1f1f23}.badge.stage-pill{flex-shrink:0;width:auto;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:none;margin:0;padding:5px 30px 5px 12px;color:#fff;font-family:inherit;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 10px center!important;background-size:12px 12px!important}.badge.stage-pill:hover{filter:brightness(1.12)}.badge.stage-pill:focus-visible{outline:2px solid var(--heading);outline-offset:2px}.badge.stage-pill option{color:var(--ink);background:var(--card-bg);text-transform:none;letter-spacing:normal;font-weight:500}