.segmented-control{position:relative;display:inline-flex;align-items:stretch;gap:.25rem;padding:.2rem;border-radius:.5rem;background:var(--surface2);border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent),0 0 14px color-mix(in srgb,var(--accent) 16%,transparent)}.segmented-control__thumb{position:absolute;top:.2rem;bottom:.2rem;left:0;width:0;border-radius:.35rem;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 72%,white),var(--accent));box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 50%,transparent),inset 0 1px #ffffff40;pointer-events:none;z-index:0;transition:transform .22s cubic-bezier(.34,1.3,.64,1),width .22s cubic-bezier(.34,1.3,.64,1)}.segmented-control__btn{position:relative;z-index:1;padding:.35rem .85rem;border:none;border-radius:.35rem;background:transparent;color:var(--muted);font-size:.82rem;font-weight:600;cursor:pointer;line-height:1.2}.segmented-control__btn:hover{color:var(--text)}.segmented-control__btn--active{color:#fff;font-weight:600;background:transparent}.segmented-control__btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){.segmented-control__thumb{transition:none}}.field-dashboard{--fd-bg: #f0f2f5;--fd-surface: #ffffff;--fd-surface2: #f8f9fa;--fd-border: #dadce0;--fd-border-soft: #e8eaed;--fd-text: #202124;--fd-text-soft: #3c4043;--fd-muted: #5f6368;--fd-label: #9aa0a6;--fd-accent: #1a73e8;--fd-topbar: #3a4d5c;--fd-topbar-text: #ffffff;--fd-table-head: #3a4d5c;--fd-table-head-text: #ffffff;--fd-row-hover: #fafafa;--fd-shadow: rgba(0, 0, 0, .08);--fd-input-bg: #ffffff;--fd-title: #3a4d5c;--fd-title-accent: #1a73e8;--fd-nav-active: #3a4d5c;--fd-toast: #3a4d5c;--fd-warn-bg: #fff8e1;--fd-warn-border: #ffe082;--fd-warn-text: #5d4037;font-family:Segoe UI,Arial,sans-serif;color:var(--fd-text);min-height:100vh;padding:16px;background:var(--fd-bg)}.field-dashboard.field-dashboard--dark{color-scheme:dark;--fd-bg: #12151c;--fd-surface: #222836;--fd-surface2: #2b3344;--fd-border: #3a4358;--fd-border-soft: #3a4358;--fd-text: #e8ecf4;--fd-text-soft: #c5cdd9;--fd-muted: #9aa3b5;--fd-label: #9aa3b5;--fd-accent: #6ba0ff;--fd-topbar: #1a1f2b;--fd-topbar-text: #e8ecf4;--fd-table-head: #2b3344;--fd-table-head-text: #e8ecf4;--fd-row-hover: #2b3344;--fd-shadow: rgba(0, 0, 0, .35);--fd-input-bg: #1a1f2b;--fd-title: #e8ecf4;--fd-title-accent: #6ba0ff;--fd-nav-active: #4f8cff;--fd-toast: #2b3344;--fd-warn-bg: #3d3420;--fd-warn-border: #6b5a2e;--fd-warn-text: #f0d48a}.field-dashboard.field-dashboard--mobile{--fd-bottom-nav-height: 0px}.field-dashboard.field-dashboard--bottom-nav{--fd-bottom-nav-height: 64px;padding-bottom:calc(var(--fd-bottom-nav-height) + env(safe-area-inset-bottom,0px) + 16px)}.field-dashboard-loading{background:var(--fd-bg);min-height:100vh}.field-dashboard .field-topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px;padding:10px 14px;background:var(--fd-topbar);color:var(--fd-topbar-text);border-radius:10px;box-shadow:0 1px 4px var(--fd-shadow)}.field-dashboard .field-topbar-brand{display:flex;align-items:center;gap:10px}.field-dashboard .field-topbar-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;background:#ffffff26;font-weight:700;font-size:13px}.field-dashboard .field-topbar-title{font-weight:700;font-size:15px}.field-dashboard .field-topbar-sub{font-size:11px;opacity:.85}.field-dashboard .field-topbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.field-dashboard .field-topbar-toggle{border:1px solid rgba(255,255,255,.35);background:transparent;color:inherit;font-weight:600;font-size:12px;padding:6px 10px;border-radius:6px;cursor:pointer;min-height:34px}.field-dashboard .field-topbar-toggle:hover,.field-dashboard .field-topbar-toggle.active{background:#ffffff24}.field-dashboard .field-topbar-link{color:inherit;text-decoration:none;font-size:13px;font-weight:600;padding:6px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.35)}.field-dashboard .field-topbar-link:hover{background:#ffffff1f;text-decoration:none}.field-dashboard .field-topbar-user{font-size:13px;opacity:.9}.field-dashboard .field-topbar-signout{border:none;background:#fff;color:#3a4d5c;font-weight:600;font-size:13px;padding:6px 12px;border-radius:6px;cursor:pointer}.field-dashboard.field-dashboard--dark .field-topbar-signout{background:var(--fd-surface2);color:var(--fd-text)}.field-dashboard .field-topbar-signout:hover{opacity:.92}.field-dashboard .header{display:flex;justify-content:space-between;align-items:center;background:var(--fd-surface);padding:12px 16px;border-radius:10px;box-shadow:0 1px 4px var(--fd-shadow);margin-bottom:14px;gap:12px;flex-wrap:nowrap;border:1px solid var(--fd-border-soft)}.field-dashboard .title-block{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.field-dashboard .field-avatar-menu{position:relative;flex-shrink:0}.field-dashboard .field-avatar-btn{width:40px;height:40px;border:none;border-radius:50%;background:var(--fd-accent);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;font-weight:700;font-size:14px;letter-spacing:.02em}.field-dashboard .field-avatar-btn-initials{line-height:1}.field-dashboard .field-avatar-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:200;min-width:220px;background:var(--fd-surface);border:1px solid var(--fd-border-soft);border-radius:10px;box-shadow:0 8px 24px var(--fd-shadow);overflow:hidden}.field-dashboard .field-avatar-dropdown-header{padding:12px 14px;border-bottom:1px solid var(--fd-border-soft);display:flex;flex-direction:column;gap:2px}.field-dashboard .field-avatar-dropdown-header strong{font-size:14px;color:var(--fd-text)}.field-dashboard .field-avatar-dropdown-header span{font-size:12px;color:var(--fd-muted)}.field-dashboard .field-avatar-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:0 14px;border:none;background:transparent;color:var(--fd-text);font:inherit;font-size:14px;font-weight:600;text-align:left;cursor:pointer}.field-dashboard .field-avatar-dropdown-item:hover{background:var(--fd-surface2)}.field-dashboard .field-avatar-dropdown-item .field-view-icon{width:18px;height:18px;flex-shrink:0}.field-dashboard .field-avatar-dropdown-item--danger{color:#e34948}.field-dashboard .field-avatar-dropdown-divider{height:1px;background:var(--fd-border-soft);margin:4px 0}.field-dashboard .field-desktop-nav{display:flex;align-items:center;gap:2px;padding:4px;border-radius:999px;background:var(--fd-surface2);border:1px solid var(--fd-border-soft);flex-shrink:0}.field-dashboard .field-desktop-nav-link{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 14px;border:none;border-radius:999px;background:transparent;color:var(--fd-text-soft);font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap;cursor:pointer}.field-dashboard .field-desktop-nav-link:hover{color:var(--fd-text);text-decoration:none}.field-dashboard .field-desktop-nav-link.active{background:var(--fd-accent);color:#fff;text-decoration:none}.field-dashboard.field-dashboard--dark .field-desktop-nav-link.active{background:var(--fd-accent);color:#fff}.field-dashboard .field-mobile-tab-bar{position:fixed;left:0;right:0;bottom:0;z-index:100;display:flex;align-items:stretch;background:var(--fd-topbar);border-top:.5px solid rgba(255,255,255,.12);padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -2px 12px var(--fd-shadow)}.field-dashboard .field-mobile-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:56px;padding:6px 2px 8px;border:none;background:transparent;color:#ffffff9e;text-decoration:none;cursor:pointer}.field-dashboard .field-mobile-tab .field-bottom-nav-icon,.field-dashboard .field-mobile-tab .field-nav-icon{width:22px;height:22px}.field-dashboard .field-mobile-tab-label{font-size:11px;font-weight:600;line-height:1.1;letter-spacing:.01em}.field-dashboard .field-mobile-tab.active{color:var(--fd-accent);text-decoration:none}.field-dashboard .field-mobile-tab:hover{color:#fff;text-decoration:none}.field-dashboard .field-mobile-tab.active:hover{color:var(--fd-accent)}.field-dashboard .header-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.field-dashboard .field-header-account{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.field-dashboard .field-header-link{color:var(--fd-text-soft);text-decoration:none;font-size:13px;font-weight:600;padding:6px 10px;border-radius:6px;border:1px solid var(--fd-border)}.field-dashboard .field-header-link:hover{background:var(--fd-surface2);text-decoration:none}.field-dashboard .field-header-user.user-header-identity{max-width:none;overflow:visible;text-overflow:unset;white-space:normal}.field-dashboard .field-header-user .user-header-identity-line{color:var(--fd-text-soft)}.field-dashboard .field-header-user .user-header-identity-line--muted{color:var(--fd-muted)}.field-dashboard .field-header-signout{border:1px solid var(--fd-border);background:var(--fd-surface2);color:var(--fd-text-soft);font-weight:600;font-size:13px;padding:6px 12px;border-radius:6px;cursor:pointer}.field-dashboard .field-header-signout:hover{background:var(--fd-border-soft)}.field-dashboard .field-login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.field-dashboard .field-login-card{width:min(420px,100%);display:grid;gap:14px;background:var(--fd-surface);border:1px solid var(--fd-border-soft);border-radius:14px;box-shadow:0 10px 30px var(--fd-shadow);padding:24px}.field-dashboard .field-login-card h1{margin:0;font-size:28px}.field-dashboard .field-login-card p{margin:0;color:var(--fd-text-soft)}.field-dashboard .field-login-input{width:100%;border:1px solid var(--fd-border);border-radius:10px;padding:14px 16px;background:var(--fd-surface2);color:var(--fd-text);font:inherit;font-size:20px;letter-spacing:.2em;text-align:center}.field-dashboard .field-login-button{justify-content:center;min-height:44px}.field-dashboard .company-name{font-size:12px;font-weight:600;color:var(--fd-label);text-transform:uppercase;letter-spacing:.08em}.field-dashboard .title{font-size:20px;font-weight:700;color:var(--fd-title);white-space:nowrap}.field-dashboard .title span{color:var(--fd-title-accent)}.field-dashboard .nav-buttons{display:flex;gap:8px;flex-wrap:wrap}.field-dashboard.field-dashboard--mobile .nav-buttons{display:none}.field-dashboard .nav-button{padding:7px 14px;border:2px solid var(--fd-border);background:var(--fd-surface);color:var(--fd-text-soft);border-radius:6px;cursor:pointer;font-weight:600;font-size:13px;text-decoration:none;transition:all .15s;white-space:nowrap;min-height:38px}.field-dashboard .nav-button.active,.field-dashboard .nav-button:hover{background:var(--fd-nav-active);color:#fff;border-color:var(--fd-nav-active);text-decoration:none}.field-dashboard.field-dashboard--dark .nav-button.active,.field-dashboard.field-dashboard--dark .nav-button:hover{background:var(--fd-accent);border-color:var(--fd-accent);color:#fff}.field-dashboard .nav-button-toggle.active{background:var(--fd-surface2);color:var(--fd-text);border-color:var(--fd-nav-active);box-shadow:inset 0 0 0 1px var(--fd-nav-active)}.field-dashboard.field-dashboard--dark .nav-button-toggle.active{background:#ffffff14;border-color:var(--fd-accent);box-shadow:inset 0 0 0 1px var(--fd-accent);color:#fff}.field-dashboard .nav-button-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;min-width:38px;padding:0}.field-dashboard .field-view-icon{width:18px;height:18px;display:block}.field-dashboard .field-bottom-nav-wrap{position:fixed;left:0;right:0;bottom:0;z-index:100;background:var(--fd-topbar);border-top:1px solid rgba(255,255,255,.12);box-shadow:0 -2px 12px var(--fd-shadow);padding-bottom:env(safe-area-inset-bottom,0px)}.field-dashboard .field-bottom-nav{position:static;box-shadow:none;border-top:none;display:grid;grid-template-columns:repeat(5,1fr);gap:2px;padding:6px 8px 4px}.field-dashboard .field-bottom-nav-icon{width:22px;height:22px;display:block;flex-shrink:0}.field-dashboard .field-bottom-nav-label{font-size:10px;font-weight:600;line-height:1.1;letter-spacing:.01em}.field-dashboard .field-bottom-nav-utils{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:0 10px 8px}.field-dashboard .field-bottom-nav-toggle{display:flex;align-items:center;justify-content:center;padding:8px 6px;border-radius:8px;border:1px solid rgba(255,255,255,.18);background:transparent;color:#ffffffd9;font-size:12px;font-weight:600;cursor:pointer;min-height:40px}.field-dashboard .field-bottom-nav-toggle.active{background:#ffffff24;color:#fff}.field-dashboard .field-bottom-nav-toggle-icon{padding:8px}.field-dashboard .field-bottom-nav-toggle-icon .field-view-icon{width:20px;height:20px}.field-dashboard .field-bottom-nav-wrap .field-bottom-nav{position:static;z-index:auto;box-shadow:none;border-top:none;padding:8px 10px 4px}.field-dashboard .field-bottom-nav-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 2px;border:none;border-radius:8px;background:transparent;color:#ffffffb8;font-size:10px;font-weight:600;text-decoration:none;text-align:center;min-height:56px;cursor:pointer}.field-dashboard .field-bottom-nav-link.active{background:transparent;color:var(--fd-accent);text-decoration:none}.field-dashboard .field-bottom-nav-link:hover{color:#fff;text-decoration:none}.field-dashboard .field-bottom-nav-link.active:hover{color:var(--fd-accent)}.field-dashboard .toolbar{display:flex;gap:10px;margin-bottom:12px;flex-wrap:wrap;align-items:center}.field-dashboard .search-wrap{position:relative;flex:1;min-width:200px;max-width:340px}.field-dashboard.field-dashboard--mobile .search-wrap{max-width:100%;min-width:0}.field-dashboard .search-wrap input{width:100%;padding:8px 32px 8px 12px;border:1px solid var(--fd-border);border-radius:6px;font-size:13px;background:var(--fd-input-bg);color:var(--fd-text);margin-top:0}.field-dashboard .search-wrap input:focus{outline:none;border-color:var(--fd-accent)}.field-dashboard .clear-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--fd-muted);cursor:pointer;font-size:13px;padding:2px}.field-dashboard .filter-select{padding:8px 12px;border:1px solid var(--fd-border);border-radius:6px;font-size:13px;background:var(--fd-input-bg);color:var(--fd-text);cursor:pointer;width:auto;margin-top:0}.field-dashboard.field-dashboard--mobile .filter-select{flex:1;min-width:120px}.field-dashboard .warning-banner{background:var(--fd-warn-bg);border:1px solid var(--fd-warn-border);border-left:4px solid #f9a825;border-radius:6px;padding:10px 14px;margin-bottom:12px;font-size:13px;color:var(--fd-warn-text)}.field-dashboard .loading-panel{text-align:center;padding:40px;color:var(--fd-muted);font-size:14px;background:var(--fd-surface);border-radius:10px;border:1px solid var(--fd-border-soft)}.field-dashboard .spinner{width:32px;height:32px;border:3px solid var(--fd-border);border-top-color:var(--fd-accent);border-radius:50%;animation:field-spin .8s linear infinite;margin:0 auto 12px}@keyframes field-spin{to{transform:rotate(360deg)}}.field-dashboard .pill{display:inline-block;padding:3px 9px;border-radius:10px;font-size:11px;font-weight:600;white-space:nowrap}.field-dashboard .pill-not-started{background:#fde8e8;color:#c62828}.field-dashboard .pill-submittal-ordered,.field-dashboard .pill-ordered{background:#fff3e0;color:#e65100}.field-dashboard .pill-submitted{background:#e3f2fd;color:#1565c0}.field-dashboard .pill-approved{background:#e8f5e9;color:#1b5e20}.field-dashboard .pill-field-measure{background:#e0f7fa;color:#00695c}.field-dashboard .pill-shops{background:#ede7f6;color:#4527a0}.field-dashboard .pill-material-ordered{background:#e8eaf6;color:#283593}.field-dashboard .pill-delivered,.field-dashboard .pill-match{background:#e8f5e9;color:#1b5e20}.field-dashboard .pill-no-paint{background:#ffebee;color:#b71c1c}.field-dashboard .pill-revision{background:#fff8e1;color:#f57f17}.field-dashboard .pill-site-ready{background:#e8f5e9;color:#1b5e20}.field-dashboard .pill-site-not-ready{background:#ffebee;color:#b71c1c}.field-dashboard .pill-site-contract{background:#fff3e0;color:#e65100}.field-dashboard .pill-site-coi{background:#e3f2fd;color:#1565c0}.field-dashboard .field-site-ready-cell{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.field-dashboard .dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex-shrink:0}.field-dashboard .dot-not-started{background:#e57373}.field-dashboard .dot-submittal-ordered{background:#ff9800}.field-dashboard .dot-submitted{background:#1976d2}.field-dashboard .dot-approved{background:#f9c600}.field-dashboard .dot-field-measure{background:#26a69a}.field-dashboard .dot-shops{background:#7e57c2}.field-dashboard .dot-material-ordered{background:#3f51b5}.field-dashboard .dot-delivered{background:#43a047}.field-dashboard .badge-nw{display:inline-block;padding:2px 7px;border-radius:8px;font-size:10px;font-weight:700;margin-left:6px;background:#f3e5f5;color:#6a1b9a}.field-dashboard .date-container{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.field-dashboard .date-input{padding:4px 6px;border:1px solid var(--fd-border);border-radius:4px;font-size:12px;width:130px;margin-top:0;background:var(--fd-input-bg);color:var(--fd-text)}.field-dashboard.field-dashboard--mobile .date-input{flex:1;min-width:0;width:auto}.field-dashboard .update-btn{padding:6px 10px;background:var(--fd-topbar);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;white-space:nowrap;min-height:34px}.field-dashboard.field-dashboard--dark .update-btn{background:var(--fd-accent)}.field-dashboard .update-btn:hover{opacity:.9}.field-dashboard .update-btn:disabled{opacity:.6;cursor:default}.field-dashboard .table-view{display:block}.field-dashboard .data-table{width:100%;border-collapse:collapse;background:var(--fd-surface);box-shadow:0 1px 3px var(--fd-shadow);border-radius:10px;overflow:hidden;border:1px solid var(--fd-border-soft)}.field-dashboard .data-table th{background:var(--fd-table-head);color:var(--fd-table-head-text);padding:10px 12px;text-align:left;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.field-dashboard .data-table td{padding:9px 12px;border-bottom:1px solid var(--fd-border-soft);font-size:13px;color:var(--fd-text-soft);vertical-align:middle}.field-dashboard .data-table tr:last-child td{border-bottom:none}.field-dashboard .data-table tr:hover td{background:var(--fd-row-hover)}.field-dashboard .groups-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:10px}.field-dashboard .expand-all-btn{padding:6px 12px;font-size:12px;font-weight:600;border:1px solid var(--fd-border);border-radius:4px;background:var(--fd-surface);color:var(--fd-text-soft);cursor:pointer;min-height:34px}.field-dashboard .groups-count{font-size:12px;color:var(--fd-muted);margin-left:auto}.field-dashboard .job-group{background:var(--fd-surface);border-radius:8px;box-shadow:0 1px 3px var(--fd-shadow);margin-bottom:8px;overflow:hidden;border:1px solid var(--fd-border-soft)}.field-dashboard .job-group.open{border-color:var(--fd-accent);box-shadow:0 1px 3px var(--fd-shadow),0 0 0 2px var(--fd-accent)}.field-dashboard .group-header{display:grid;grid-template-columns:28px 110px 1fr 90px auto 80px 100px;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;transition:background .1s}.field-dashboard .group-header:hover,.field-dashboard .group-header.open{background:var(--fd-surface2)}.field-dashboard .group-header.open{border-bottom:1px solid var(--fd-border-soft)}.field-dashboard .paint-group-header{grid-template-columns:28px 110px minmax(0,1.4fr) auto auto minmax(90px,120px)}.field-dashboard .paint-header-field{display:flex;flex-direction:column;gap:3px;min-width:0}.field-dashboard .paint-group-header .paint-detail-label{margin-bottom:0}.field-dashboard .paint-group-header .gh-pm{font-size:13px;color:var(--fd-text-soft)}.field-dashboard .paint-group-detail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(440px,2.2fr);grid-template-areas:"address gcsuper paint card" "division startdate copy card" "notes notes notes card";gap:14px 18px;padding:14px 16px 16px}.field-dashboard .paint-detail-address{grid-area:address}.field-dashboard .paint-detail-gcsuper{grid-area:gcsuper}.field-dashboard .paint-detail-paint{grid-area:paint}.field-dashboard .paint-detail-division{grid-area:division}.field-dashboard .paint-detail-start{grid-area:startdate}.field-dashboard .paint-detail-copy{grid-area:copy}.field-dashboard .paint-detail-label{font-size:11px;font-weight:700;color:var(--fd-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.field-dashboard .paint-group-detail-notes{grid-area:notes}.field-dashboard .paint-group-detail-card{grid-area:card;min-width:0;display:flex;flex-direction:row;align-items:stretch;gap:12px}.field-dashboard .paint-group-detail-card .mobilize-card,.field-dashboard .paint-group-detail-card .submittal-card{margin:0;max-width:none;height:auto;flex:1 1 0;min-width:0;box-sizing:border-box}.field-dashboard .mobilize-card{--mc-bg: #f3faf4;--mc-border: #cde9d4;--mc-title: #1b5e20;--mc-progress: #2e7d32;--mc-item: #3c4043;--mc-check-bg: #2e7d32;--mc-check-border: #2e7d32;--mc-check-fg: #ffffff;--mc-empty-bg: #ffffff;--mc-empty-border: #c5d0c8;--mc-footer-bg: #d7efdc;--mc-footer-text: #1b5e20;margin:14px 16px 0;padding:14px 16px 12px;border-radius:12px;border:1px solid var(--mc-border);background:var(--mc-bg)}.field-dashboard .mobilize-card--partial{--mc-bg: #fffbf0;--mc-border: #ffe082;--mc-title: #e65100;--mc-progress: #ef6c00;--mc-check-bg: #ef6c00;--mc-check-border: #ef6c00;--mc-footer-bg: #ffe8b8;--mc-footer-text: #e65100}.field-dashboard .mobilize-card--pending{--mc-bg: #fff8f8;--mc-border: #f5c6c6;--mc-title: #b71c1c;--mc-progress: #c62828;--mc-check-bg: #c62828;--mc-check-border: #c62828;--mc-empty-border: #e8b4b4;--mc-footer-bg: #ffd6d6;--mc-footer-text: #b71c1c}.field-dashboard .mobilize-card-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.field-dashboard .mobilize-card-icon,.field-dashboard .mobilize-card-footer-icon{width:22px;height:22px;border-radius:50%;background:var(--mc-check-bg);color:var(--mc-check-fg);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.field-dashboard .mobilize-card-icon svg,.field-dashboard .mobilize-card-footer-icon svg,.field-dashboard .mobilize-card-check svg{width:14px;height:14px}.field-dashboard .mobilize-card:not(.mobilize-card--ready) .mobilize-card-icon,.field-dashboard .mobilize-card:not(.mobilize-card--ready) .mobilize-card-footer-icon{background:transparent;border:2px solid var(--mc-check-border);color:var(--mc-check-border)}.field-dashboard .mobilize-card-title{font-size:15px;font-weight:700;color:var(--mc-title);flex:1}.field-dashboard .mobilize-card-progress{font-size:12px;font-weight:700;color:var(--mc-progress);white-space:nowrap}.field-dashboard .mobilize-card-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.field-dashboard .mobilize-card-item{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--mc-item)}.field-dashboard .mobilize-card-check{width:18px;height:18px;border-radius:4px;border:2px solid var(--mc-empty-border);background:var(--mc-empty-bg);color:var(--mc-check-fg);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.field-dashboard .mobilize-card-item--done .mobilize-card-check{border-color:var(--mc-check-border);background:var(--mc-check-bg)}.field-dashboard .mobilize-card-footer{margin-top:12px;display:flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border-radius:999px;background:var(--mc-footer-bg);color:var(--mc-footer-text);font-size:14px;font-weight:700}.field-dashboard .field-mobile-card-body .mobilize-card,.field-dashboard .field-mobile-card-body .submittal-card{margin:0;max-width:none}.field-dashboard .field-mobile-card-body .paint-group-detail-card{margin-top:12px}.field-dashboard.field-dashboard--dark .mobilize-card--ready{--mc-bg: #1c3324;--mc-border: #2e5a3c;--mc-title: #a5d6a7;--mc-progress: #81c784;--mc-item: #c5cdd9;--mc-empty-bg: #222836;--mc-empty-border: #4a6353;--mc-footer-bg: #274a34;--mc-footer-text: #c8e6c9}.field-dashboard.field-dashboard--dark .mobilize-card--partial{--mc-bg: #3d3420;--mc-border: #6b5a2e;--mc-title: #ffcc80;--mc-progress: #ffb74d;--mc-item: #c5cdd9;--mc-empty-bg: #222836;--mc-empty-border: #6b5a2e;--mc-footer-bg: #5a4520;--mc-footer-text: #ffe082}.field-dashboard.field-dashboard--dark .mobilize-card--pending{--mc-bg: #3a2224;--mc-border: #6b3a3a;--mc-title: #ef9a9a;--mc-progress: #e57373;--mc-item: #c5cdd9;--mc-empty-bg: #222836;--mc-empty-border: #6b3a3a;--mc-footer-bg: #5a2e32;--mc-footer-text: #ffcdd2}.field-dashboard .submittal-card{--sc-bg: #eef4fc;--sc-border: #c5d8f0;--sc-title: #1565c0;--sc-progress: #1565c0;--sc-item: #3c4043;--sc-desc: #3c4043;--sc-done: #9aa0a6;--sc-index-bg: #1565c0;--sc-index-fg: #ffffff;--sc-index-empty: #ffffff;--sc-index-border: #c5d8f0;padding:14px 16px 12px;border-radius:12px;border:1px solid var(--sc-border);background:var(--sc-bg)}.field-dashboard .submittal-card--approved{--sc-bg: #f3faf4;--sc-border: #cde9d4;--sc-title: #1b5e20;--sc-progress: #2e7d32;--sc-index-bg: #9aa0a6}.field-dashboard .submittal-card--revision{--sc-bg: #fffbf0;--sc-border: #ffe082;--sc-title: #e65100;--sc-progress: #ef6c00;--sc-index-bg: #ef6c00}.field-dashboard .submittal-card--idle{--sc-bg: #f4f5f7;--sc-border: #dadce0;--sc-title: #5f6368;--sc-progress: #5f6368;--sc-index-bg: #9aa0a6}.field-dashboard .submittal-card--skip{--sc-bg: #f4f5f7;--sc-border: #dadce0;--sc-title: #5f6368;--sc-progress: #5f6368}.field-dashboard .submittal-card-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}.field-dashboard .submittal-card-title{font-size:15px;font-weight:700;color:var(--sc-title);flex:1}.field-dashboard .submittal-card-progress{font-size:12px;font-weight:700;color:var(--sc-progress);white-space:nowrap}.field-dashboard .submittal-card-desc{margin:0 0 10px;font-size:13px;line-height:1.4;color:var(--sc-desc)}.field-dashboard .submittal-card-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.field-dashboard .submittal-card-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--sc-item)}.field-dashboard .submittal-card-index{width:18px;height:18px;border-radius:50%;border:2px solid var(--sc-index-border);background:var(--sc-index-empty);color:var(--sc-title);font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.field-dashboard .submittal-card-index svg{width:12px;height:12px}.field-dashboard .submittal-card-item--done{color:var(--sc-done)}.field-dashboard .submittal-card-item--done .submittal-card-label{text-decoration:line-through}.field-dashboard .submittal-card-item--done .submittal-card-index{background:#c5cdd0;border-color:#c5cdd0;color:#fff}.field-dashboard .submittal-card-item--current{font-weight:700;color:var(--sc-title)}.field-dashboard .submittal-card-item--current .submittal-card-index{background:var(--sc-index-bg);border-color:var(--sc-index-bg);color:var(--sc-index-fg)}.field-dashboard .submittal-card-item--future{color:var(--sc-done)}.field-dashboard .submittal-card-item--future .submittal-card-index{background:transparent;border-color:var(--sc-done);color:var(--sc-done)}.field-dashboard.field-dashboard--dark .submittal-card--progress{--sc-bg: #1c2a3d;--sc-border: #2e4a6b;--sc-title: #90caf9;--sc-progress: #64b5f6;--sc-item: #c5cdd9;--sc-desc: #c5cdd9;--sc-done: #7b8494;--sc-index-empty: #222836;--sc-index-border: #2e4a6b}.field-dashboard.field-dashboard--dark .submittal-card--approved{--sc-bg: #1c3324;--sc-border: #2e5a3c;--sc-title: #a5d6a7;--sc-progress: #81c784;--sc-item: #c5cdd9;--sc-desc: #c5cdd9;--sc-done: #7b8494}.field-dashboard.field-dashboard--dark .submittal-card--revision{--sc-bg: #3d3420;--sc-border: #6b5a2e;--sc-title: #ffcc80;--sc-progress: #ffb74d;--sc-item: #c5cdd9;--sc-desc: #c5cdd9;--sc-done: #9aa3b5}.field-dashboard.field-dashboard--dark .submittal-card--idle,.field-dashboard.field-dashboard--dark .submittal-card--skip{--sc-bg: #2b3344;--sc-border: #3a4358;--sc-title: #c5cdd9;--sc-progress: #9aa3b5;--sc-item: #c5cdd9;--sc-desc: #9aa3b5;--sc-done: #7b8494}.field-dashboard .paint-group-header .gh-chips{justify-content:flex-end}@media(max-width:1200px){.field-dashboard .paint-group-detail{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"address gcsuper paint" "division startdate copy" "card card card" "notes notes notes"}}@media(max-width:900px){.field-dashboard .paint-group-header{grid-template-columns:28px 90px minmax(0,1fr) auto auto minmax(80px,110px)}.field-dashboard .paint-group-detail{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"address gcsuper" "paint copy" "division startdate" "card card" "notes notes"}}.field-dashboard .gh-chevron{color:var(--fd-label);font-size:10px;transition:transform .2s}.field-dashboard .gh-chevron.open{transform:rotate(90deg);color:var(--fd-accent)}.field-dashboard .gh-job-num{font-size:12px;font-weight:700;color:var(--fd-accent);font-family:monospace}.field-dashboard .gh-name{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-dashboard .gh-gc{font-size:11px;color:var(--fd-muted)}.field-dashboard .gh-dots,.field-dashboard .gh-chips{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.field-dashboard .gh-count{font-size:11px;color:var(--fd-muted);background:var(--fd-surface2);border:1px solid var(--fd-border);border-radius:10px;padding:2px 8px;font-family:monospace;text-align:center}.field-dashboard .gh-pm{font-size:11px;color:var(--fd-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-dashboard .inner-table{width:100%;border-collapse:collapse}.field-dashboard .inner-table th{background:var(--fd-surface2);padding:7px 12px;text-align:left;font-size:11px;font-weight:700;color:var(--fd-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--fd-border-soft)}.field-dashboard .inner-table td{padding:9px 12px;border-bottom:1px solid var(--fd-border-soft);font-size:13px;vertical-align:middle;color:var(--fd-text-soft)}.field-dashboard .img-thumb{width:44px;height:44px;object-fit:cover;border-radius:4px;border:1px solid var(--fd-border);cursor:pointer}.field-dashboard .group-detail.open{display:block}.field-dashboard .field-lightbox-cap{position:fixed;bottom:14px;left:50%;transform:translate(-50%);color:#ffffffd9;font-size:12px;background:#00000080;padding:4px 14px;border-radius:16px;max-width:80vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-dashboard .calendar-container{background:var(--fd-surface);border-radius:10px;box-shadow:0 1px 4px var(--fd-shadow);padding:20px;display:flex;justify-content:center;border:1px solid var(--fd-border-soft)}.field-dashboard .field-cal{background:var(--fd-surface);border-radius:10px;box-shadow:0 1px 4px var(--fd-shadow);border:1px solid var(--fd-border-soft);padding:16px}.field-dashboard .field-cal-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.field-dashboard .field-workload-theme-btn{display:inline-flex;align-items:center;gap:6px;margin-left:auto}.field-dashboard .field-workload-theme-btn .field-view-icon{width:16px;height:16px;flex-shrink:0}.field-dashboard .field-workload-page-title{margin:0 0 4px;font-size:1.35rem;color:var(--fd-title);font-weight:700}.field-dashboard .field-workload-page-sub{margin:0;font-size:13px;color:var(--fd-muted);line-height:1.45}.field-dashboard .field-cal-nav{display:flex;align-items:center;gap:8px}.field-dashboard .field-cal-nav-btn,.field-dashboard .field-cal-today-btn{border:1px solid var(--fd-border);background:var(--fd-surface2);color:var(--fd-text-soft);border-radius:6px;cursor:pointer;font-weight:600;min-height:36px}.field-dashboard .field-cal-nav-btn{width:36px;font-size:20px;line-height:1;padding:0}.field-dashboard .field-cal-today-btn{font-size:13px;padding:0 12px;margin-left:4px}.field-dashboard .field-cal-nav-btn:hover,.field-dashboard .field-cal-today-btn:hover{background:var(--fd-border-soft)}.field-dashboard .field-cal-month{margin:0;font-size:18px;font-weight:700;color:var(--fd-title);min-width:180px;text-align:center}.field-dashboard .field-cal-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--fd-muted)}.field-dashboard .field-cal-legend-item{display:inline-flex;align-items:center;gap:6px}.field-dashboard .field-cal-legend-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}.field-dashboard .field-cal-legend-dot--start{background:#1976d2}.field-dashboard .field-cal-legend-dot--install{background:#e65100}.field-dashboard .field-cal-body{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px;align-items:start}.field-dashboard .field-cal-body--workload{grid-template-columns:1fr}.field-dashboard .field-workload-stack{display:flex;flex-direction:column;gap:14px}.field-dashboard .field-workload-panel{border:1px solid var(--fd-border-soft);border-radius:8px;background:var(--fd-surface2);padding:12px 14px}.field-dashboard .field-workload-panel--focus{border-color:color-mix(in srgb,#e34948 35%,var(--fd-border-soft));background:color-mix(in srgb,#e34948 6%,var(--fd-surface2))}.field-dashboard .field-workload-panel--focus:not(.field-workload-panel--warn){border-color:var(--fd-border-soft);background:var(--fd-surface2)}.field-dashboard .field-workload-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}.field-dashboard .field-workload-panel-head--toggle{margin-bottom:0;width:100%;align-items:center;flex-wrap:wrap;gap:10px 14px}.field-dashboard .field-workload-panel-toggle{display:block;width:100%;margin:0;padding:0;border:none;background:transparent;text-align:left;cursor:pointer;color:inherit}.field-dashboard .field-workload-panel-toggle:hover h3{color:var(--fd-accent)}.field-dashboard .field-workload-panel--collapsed .field-workload-panel-head{margin-bottom:0}.field-dashboard .field-workload-panel--open .field-workload-panel-toggle{margin-bottom:10px}.field-dashboard .field-workload-panel-chevron{display:inline-block;width:1em;margin-right:4px;color:var(--fd-muted);font-weight:700}.field-dashboard .field-workload-panel-head h3{margin:0;font-size:14px;color:var(--fd-title);display:flex;align-items:center;gap:2px;flex-shrink:0}.field-dashboard .field-workload-panel-hint{margin:0;font-size:12px;color:var(--fd-muted)}.field-dashboard .field-workload-chip-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.field-dashboard .field-workload-chip{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:6px 10px;border-radius:999px;background:var(--fd-surface);border:1px solid color-mix(in srgb,#e34948 28%,var(--fd-border-soft))}.field-dashboard .field-workload-chip-title{font-size:12px;font-weight:600;color:var(--fd-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}.field-dashboard .field-workload-chip-meta{flex-shrink:0;font-size:11px;font-weight:700;color:#c62828}.field-dashboard .field-workload-card-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}@media(max-width:1100px){.field-dashboard .field-workload-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.field-dashboard .field-workload-card-grid{grid-template-columns:1fr}.field-dashboard .field-workload-chip-title{max-width:200px}}.field-dashboard .field-cal-body--mobile{grid-template-columns:1fr}@media(max-width:1024px){.field-dashboard .field-cal{padding:12px}.field-dashboard .field-cal-body{grid-template-columns:1fr}.field-dashboard .field-workload-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-dashboard .field-cal-body .field-cal-detail:not(.field-cal-detail--open){display:none}.field-dashboard .field-cal-body .field-cal-detail--open{display:block}.field-dashboard .field-workload-stat-cards{grid-template-columns:1fr}.field-dashboard .field-workload-chart-scroll{-webkit-overflow-scrolling:touch}}@media(max-width:640px){.field-dashboard .field-cal{padding:10px;border-radius:8px}.field-dashboard .field-cal-toolbar{flex-direction:column;align-items:stretch;gap:10px}.field-dashboard .field-cal-nav{justify-content:center;flex-wrap:wrap}.field-dashboard .field-cal-month{min-width:0;font-size:16px;flex:1}.field-dashboard .field-cal-legend{justify-content:center;gap:10px}.field-dashboard .field-cal-weekday{font-size:10px;padding:6px 2px}.field-dashboard .field-cal-day{min-height:48px;padding:4px 2px}.field-dashboard .field-cal-day-num{font-size:12px}.field-dashboard .field-cal-day-events,.field-dashboard .field-cal-overflow,.field-dashboard .field-cal-load-badge{display:none}.field-dashboard .field-cal-day--has-events .field-cal-day-num:after{content:"";display:block;width:5px;height:5px;border-radius:50%;background:var(--fd-accent);margin:3px auto 0}.field-dashboard .field-cal-detail{border-radius:8px;margin-top:4px}.field-dashboard .field-workload-chart-legend{gap:8px 10px;font-size:11px}.field-dashboard .field-workload-chart-canvas-wrap{height:260px}.field-dashboard .field-workload-summary{font-size:12px;line-height:1.45}}.field-dashboard .field-cal-grid-wrap{min-width:0;border:1px solid var(--fd-border-soft);border-radius:8px;overflow:hidden}.field-dashboard .field-cal-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--fd-surface2);border-bottom:1px solid var(--fd-border-soft)}.field-dashboard .field-cal-weekday{padding:8px 4px;text-align:center;font-size:11px;font-weight:700;color:var(--fd-muted);text-transform:uppercase;letter-spacing:.04em}.field-dashboard .field-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.field-dashboard .field-cal-day{min-height:96px;border:none;border-right:1px solid var(--fd-border-soft);border-bottom:1px solid var(--fd-border-soft);background:var(--fd-surface);padding:6px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:4px}.field-dashboard .field-cal-day:nth-child(7n){border-right:none}.field-dashboard .field-cal-day--muted{background:var(--fd-surface2);opacity:.55}.field-dashboard .field-cal-day--today .field-cal-day-num{background:var(--fd-nav-active);color:#fff}.field-dashboard.field-dashboard--dark .field-cal-day--today .field-cal-day-num{background:var(--fd-accent)}.field-dashboard .field-cal-day--selected{box-shadow:inset 0 0 0 2px var(--fd-nav-active)}.field-dashboard.field-dashboard--dark .field-cal-day--selected{box-shadow:inset 0 0 0 2px var(--fd-accent)}.field-dashboard .field-cal-day-num{align-self:flex-start;font-size:12px;font-weight:700;color:var(--fd-text-soft);width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.field-dashboard .field-cal-day-events{display:flex;flex-direction:column;gap:2px;min-width:0}.field-dashboard .field-cal-event{font-size:10px;line-height:1.2;border-radius:4px;padding:2px 4px;color:#fff;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.field-dashboard .field-cal-event--start{background:#1976d2}.field-dashboard .field-cal-event--install{background:#e65100}.field-dashboard .field-cal-event-job{font-weight:700}.field-dashboard .field-cal-event-detail{opacity:.92}.field-dashboard .field-cal-overflow{font-size:10px;color:var(--fd-muted);padding-left:2px}.field-dashboard .field-cal-detail{border:1px solid var(--fd-border-soft);border-radius:8px;background:var(--fd-surface2);padding:12px;min-height:120px}.field-dashboard .field-cal-body--mobile .field-cal-detail{display:none}.field-dashboard .field-cal-body--mobile .field-cal-detail--open{display:block}.field-dashboard .field-cal-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px}.field-dashboard .field-cal-detail-head h3{margin:0;font-size:14px;color:var(--fd-title)}.field-dashboard .field-cal-detail-close{border:none;background:transparent;color:var(--fd-muted);cursor:pointer;font-size:14px;padding:2px 4px}.field-dashboard .field-cal-detail-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.field-dashboard .field-cal-detail-item{border-radius:6px;padding:8px 10px;background:var(--fd-surface);border-left:3px solid var(--fd-border)}.field-dashboard .field-cal-detail-item--start{border-left-color:#1976d2}.field-dashboard .field-cal-detail-item--install{border-left-color:#e65100}.field-dashboard .field-cal-detail-kind{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--fd-muted);margin-bottom:2px}.field-dashboard .field-cal-detail-title{font-size:13px;font-weight:700;color:var(--fd-text)}.field-dashboard .field-cal-detail-sub{font-size:12px;color:var(--fd-muted);margin-top:2px}.field-dashboard .field-cal-detail-empty{margin:0;font-size:13px;color:var(--fd-muted)}.field-dashboard .field-workload-unplanned-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;height:1.35rem;margin-left:8px;padding:0 6px;border-radius:999px;background:color-mix(in srgb,#e34948 18%,transparent);color:#c62828;font-size:.75rem;font-weight:700;vertical-align:middle}.field-dashboard.field-dashboard--dark .field-workload-unplanned-count{background:color-mix(in srgb,#e34948 28%,transparent);color:#ff8a80}.field-dashboard .field-workload-summary{margin:0 0 12px;padding:0 2px}.field-dashboard .field-cal-legend-dot--load-light{background:#fef08a;border:1px solid #ca8a04}.field-dashboard .field-cal-legend-dot--load-normal{background:#bbf7d0;border:1px solid #16a34a}.field-dashboard .field-cal-legend-dot--load-heavy{background:#fed7aa;border:1px solid #ea580c}.field-dashboard.field-dashboard--dark .field-cal-legend-dot--load-light{background:#eab30873;border-color:#eab308}.field-dashboard.field-dashboard--dark .field-cal-legend-dot--load-normal{background:#22c55e59;border-color:#22c55e}.field-dashboard.field-dashboard--dark .field-cal-legend-dot--load-heavy{background:#f9731659;border-color:#f97316}.field-dashboard .field-cal-day--load-light{background:#fef08a59}.field-dashboard .field-cal-day--load-normal{background:#bbf7d059}.field-dashboard .field-cal-day--load-heavy{background:#fed7aa73}.field-dashboard.field-dashboard--dark .field-cal-day--load-light{background:#eab30824}.field-dashboard.field-dashboard--dark .field-cal-day--load-normal{background:#22c55e1f}.field-dashboard.field-dashboard--dark .field-cal-day--load-heavy{background:#f9731629}.field-dashboard .field-cal-load-badge{display:block;margin-top:4px;font-size:10px;font-weight:700;line-height:1.2;color:var(--fd-text);opacity:.85}.field-dashboard .field-workload-band{display:flex;flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:6px 10px;padding:10px 12px;border-radius:8px;margin-bottom:12px;font-size:12px}.field-dashboard .field-workload-band strong{font-size:13px}.field-dashboard .field-workload-band--light{background:#fef08a73;border:1px solid rgba(202,138,4,.35)}.field-dashboard .field-workload-band--normal{background:#bbf7d073;border:1px solid rgba(22,163,74,.35)}.field-dashboard .field-workload-band--heavy{background:#fed7aa8c;border:1px solid rgba(234,88,12,.35)}.field-dashboard.field-dashboard--dark .field-workload-band--light{background:#eab30829}.field-dashboard.field-dashboard--dark .field-workload-band--normal{background:#22c55e24}.field-dashboard.field-dashboard--dark .field-workload-band--heavy{background:#f973162e}.field-dashboard .field-workload-view-toggle{display:inline-flex;border:1px solid var(--fd-border);border-radius:8px;overflow:hidden;margin-left:4px}.field-dashboard .field-workload-view-btn{border:0;background:transparent;color:var(--fd-muted);font-size:12px;font-weight:600;padding:6px 10px;cursor:pointer}.field-dashboard .field-workload-view-btn--active{background:var(--fd-surface-alt, rgba(148, 163, 184, .12));color:var(--fd-text)}.field-dashboard .field-workload-chart{position:relative;flex:1;min-width:0}.field-dashboard .field-workload-stat-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.field-dashboard .field-workload-stat-card{background:var(--fd-surface2);border:1px solid var(--fd-border-soft);border-radius:8px;padding:12px 14px}.field-dashboard .field-workload-stat-label{font-size:11px;color:var(--fd-muted);margin-bottom:4px}.field-dashboard .field-workload-stat-value{font-size:1.05rem;font-weight:600;color:var(--fd-text);line-height:1.3}.field-dashboard .field-workload-stat-value--danger{color:#e34948}.field-dashboard.field-dashboard--mobile .field-workload-stat-cards{grid-template-columns:1fr}@media(min-width:641px)and (max-width:1024px){.field-dashboard .field-workload-stat-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}.field-dashboard .field-workload-chart-legend{display:flex;flex-wrap:wrap;gap:10px 14px;margin-bottom:12px}.field-dashboard .field-workload-chart-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--fd-text)}.field-dashboard .field-workload-chart-legend-swatch{width:12px;height:12px;border-radius:3px;flex-shrink:0}.field-dashboard .field-workload-chart-legend-line{width:18px;height:0;border-top:2px dashed #ef4444}.field-dashboard .field-workload-chart-scroll{overflow-x:auto;padding-bottom:4px;border:1px solid var(--fd-border-soft);border-radius:8px;background:var(--fd-surface)}.field-dashboard .field-workload-chart-scroll--canvas{padding-bottom:0}.field-dashboard .field-workload-chart-canvas-wrap{height:300px;position:relative}.field-dashboard .field-workload-chart-canvas{display:block}.field-dashboard .field-workload-chart-svg{display:block;max-width:none}.field-dashboard .field-workload-chart-grid{stroke:var(--fd-border-soft);stroke-width:1}.field-dashboard .field-workload-chart-axis{fill:var(--fd-muted);font-size:11px}.field-dashboard .field-workload-chart-axis--label{font-size:12px;font-weight:600}.field-dashboard .field-workload-chart-axis--week{font-size:10px}.field-dashboard .field-workload-chart-capacity{stroke:#ef4444;stroke-width:2;stroke-dasharray:6 4}.field-dashboard .field-workload-chart-hit{fill:transparent;cursor:pointer}.field-dashboard .field-workload-chart-hit--selected{fill:#3b82f614}.field-dashboard .field-workload-chart-segment{stroke:#0f172a14;stroke-width:1}.field-dashboard.field-dashboard--dark .field-workload-chart-segment{stroke:#ffffff14}.field-dashboard .field-workload-chart-tooltip{position:fixed;z-index:30;pointer-events:none;min-width:160px;padding:10px 12px;border-radius:8px;background:#0f172af5;color:#f8fafc;font-size:12px;line-height:1.45;box-shadow:0 8px 24px #0f172a47}.field-dashboard .field-workload-chart-tooltip strong{display:block;margin-bottom:4px}.field-dashboard .field-workload-chart-tooltip-total{margin-top:6px;padding-top:6px;border-top:1px solid rgba(248,250,252,.15);font-weight:600}.field-dashboard .field-toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--fd-toast);color:#fff;padding:10px 20px;border-radius:20px;font-size:13px;z-index:9998;opacity:0;transition:opacity .3s;pointer-events:none}.field-dashboard.field-dashboard--mobile .field-toast{bottom:calc(var(--fd-bottom-nav-height, 112px) + env(safe-area-inset-bottom,0px) + 8px)}.field-dashboard .field-toast.show{opacity:1}.field-dashboard .field-lightbox{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d1;z-index:9999;align-items:center;justify-content:center;cursor:zoom-out}.field-dashboard .field-lightbox.open{display:flex}.field-dashboard .field-lightbox img{max-width:90vw;max-height:88vh;border-radius:6px;object-fit:contain;cursor:default}.field-dashboard .field-mobile-list{display:flex;flex-direction:column;gap:10px}.field-dashboard.field-dashboard--mobile .field-mobile-list:after,.field-dashboard.field-dashboard--bottom-nav .field-cal-body--mobile:after,.field-dashboard.field-dashboard--bottom-nav .field-mobile-list:after,.field-dashboard.field-dashboard--bottom-nav .table-view:after{content:"";display:block;flex-shrink:0;height:16px}.field-dashboard .field-mobile-list--nested{padding:10px;gap:8px;background:var(--fd-surface2)}.field-dashboard .field-mobile-card{background:var(--fd-surface);border:1px solid var(--fd-border-soft);border-radius:10px;padding:12px 14px;box-shadow:0 1px 3px var(--fd-shadow)}.field-dashboard .field-mobile-card--item{padding:10px 12px}.field-dashboard .field-mobile-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}.field-dashboard .field-mobile-job{font-size:14px;font-weight:700;font-family:monospace;color:var(--fd-accent)}.field-dashboard .field-mobile-title{font-size:14px;font-weight:700;color:var(--fd-text);margin-top:2px}.field-dashboard .field-mobile-sub{font-size:12px;color:var(--fd-muted);margin-top:2px}.field-dashboard .field-mobile-dl{display:grid;gap:8px;margin:0 0 10px}.field-dashboard .field-mobile-dl>div{display:grid;grid-template-columns:72px 1fr;gap:8px;align-items:start}.field-dashboard .field-mobile-dl dt{margin:0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--fd-label)}.field-dashboard .field-mobile-dl dd{margin:0;font-size:13px;color:var(--fd-text-soft)}.field-dashboard .field-mobile-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px;padding-bottom:4px}.field-dashboard .field-mobile-card-header{grid-template-columns:24px 1fr auto;align-items:start}.field-dashboard .field-mobile-card-summary{min-width:0}.field-dashboard .field-mobile-card-body{padding:0 14px 14px;border-top:1px solid var(--fd-border-soft)}.field-dashboard .field-mobile-card-body .field-mobile-dl{margin-top:12px}.field-dashboard .field-revision-notes-cell,.field-dashboard .field-revision-notes dd{max-width:280px;white-space:pre-wrap;font-size:.85rem;color:var(--fd-text-secondary, #cbd5e1)}.field-dashboard .field-revision-notes{grid-column:1 / -1}.field-dashboard .field-gc-super-cell{display:flex;flex-direction:column;gap:2px;line-height:1.3}.field-dashboard .field-gc-super-phone{font-size:.85rem;color:var(--fd-text-secondary, #cbd5e1);white-space:nowrap}.field-dashboard .field-gc-super-phone-link{color:var(--fd-accent);text-decoration:none}.field-dashboard .field-gc-super-phone-link:hover{text-decoration:underline}.field-dashboard.field-dashboard--mobile .group-header{grid-template-columns:24px 1fr;grid-template-areas:"chevron job" "chevron name" "dots dots" "chips chips" "count pm";gap:6px 10px}.field-dashboard.field-dashboard--mobile .gh-chevron{grid-area:chevron;align-self:start;margin-top:4px}.field-dashboard.field-dashboard--mobile .gh-job-num{grid-area:job}.field-dashboard.field-dashboard--mobile .group-header>div:nth-child(3){grid-area:name}.field-dashboard.field-dashboard--mobile .gh-dots{grid-area:dots}.field-dashboard.field-dashboard--mobile .gh-chips{grid-area:chips}.field-dashboard.field-dashboard--mobile .gh-count{grid-area:count;justify-self:start}.field-dashboard.field-dashboard--mobile .gh-pm{grid-area:pm;justify-self:end}.field-dashboard.field-dashboard--mobile .toolbar{flex-direction:column;align-items:stretch}.field-dashboard.field-dashboard--mobile .filter-select{width:100%}@media(max-width:767px){.field-dashboard{padding:10px;padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}.field-dashboard .header{flex-direction:row;align-items:center;padding:10px 12px;margin-bottom:10px}.field-dashboard .title{font-size:17px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-dashboard .company-name,.field-dashboard .field-desktop-nav{display:none}.field-dashboard .search-wrap{max-width:100%;min-width:0}.field-dashboard .group-header{grid-template-columns:24px 1fr;grid-template-areas:"chevron job" "chevron name" "dots dots" "chips chips" "count pm";gap:6px 10px}.field-dashboard .gh-chevron{grid-area:chevron;align-self:start;margin-top:4px}.field-dashboard .gh-job-num{grid-area:job}.field-dashboard .group-header>div:nth-child(3){grid-area:name}.field-dashboard .gh-dots{grid-area:dots}.field-dashboard .gh-chips{grid-area:chips}.field-dashboard .gh-count{grid-area:count;justify-self:start}.field-dashboard .gh-pm{grid-area:pm;justify-self:end}.field-dashboard .field-cal-day{min-height:72px}.field-dashboard .field-cal-event-detail{display:none}.field-dashboard .table-view{overflow-x:auto;-webkit-overflow-scrolling:touch}.field-dashboard .data-table{min-width:920px}}@media(min-width:768px){.field-dashboard .field-mobile-tab-bar{display:none}}.field-dashboard .field-labor-page{gap:.85rem;padding:0 0 1.25rem;width:100%;max-width:100%;box-sizing:border-box;min-width:0;color:var(--fd-text);--bg-elevated: var(--fd-surface);--surface: var(--fd-surface);--surface2: var(--fd-surface2);--border: var(--fd-border);--text: var(--fd-text);--text-secondary: var(--fd-text-soft);--muted: var(--fd-muted);--accent: var(--fd-accent);--mp-phase-text-prime: #5b21b6;--mp-phase-text-final: #1d4ed8;--mp-phase-text-punch: #0f766e;--mp-phase-bg-prime: rgba(124, 58, 237, .16);--mp-phase-bg-final: rgba(37, 99, 235, .14);--mp-phase-bg-punch: rgba(13, 148, 136, .14);--mp-phase-border-prime: #7c3aed;--mp-phase-border-final: #2563eb;--mp-phase-border-punch: #0d9488}.field-dashboard.field-dashboard--dark .field-labor-page{--mp-phase-text-prime: #c4b5fd;--mp-phase-text-final: #9ec0ff;--mp-phase-text-punch: #5eead4;--mp-phase-bg-prime: rgba(167, 139, 250, .22);--mp-phase-bg-final: rgba(79, 140, 255, .2);--mp-phase-bg-punch: rgba(45, 212, 191, .18);--mp-phase-border-prime: #a78bfa;--mp-phase-border-final: #4f8cff;--mp-phase-border-punch: #2dd4bf}.field-dashboard .field-labor-page .btn-secondary{background:var(--fd-surface);border-color:var(--fd-border);color:var(--fd-text-soft);box-shadow:0 1px 2px var(--fd-shadow)}.field-dashboard .field-labor-page .btn-secondary:hover{border-color:var(--fd-accent);color:var(--fd-accent);filter:none}.field-dashboard .field-labor-page .btn-ghost,.field-dashboard .field-labor-page .field-labor-cal-btn{background:transparent;border-color:var(--fd-border);color:var(--fd-accent)}.field-dashboard .field-labor-page .btn-ghost:hover,.field-dashboard .field-labor-page .field-labor-cal-btn:hover{background:color-mix(in srgb,var(--fd-accent) 10%,var(--fd-surface));border-color:color-mix(in srgb,var(--fd-accent) 45%,var(--fd-border));color:var(--fd-accent);filter:none}.field-dashboard .field-labor-list-header,.field-dashboard .field-labor-detail-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem}.field-dashboard .field-labor-detail-header{align-items:center}.field-dashboard .field-labor-detail-identity{flex:1 1 12rem;min-width:0}.field-dashboard .field-labor-heading,.field-dashboard .field-labor-job-title{margin:0;color:var(--fd-title)}.field-dashboard .field-labor-heading{font-size:1.2rem}.field-dashboard .field-labor-job-title{font-size:1.1rem;line-height:1.25}.field-dashboard .field-labor-list-lead,.field-dashboard .field-labor-detail-meta,.field-dashboard .field-labor-job-item-dates{color:var(--fd-muted)}.field-dashboard .field-labor-list-lead{margin:0;max-width:40rem}.field-dashboard .field-labor-detail-meta{margin:.2rem 0 0}.field-dashboard .field-labor-job-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:.65rem}.field-dashboard .field-labor-job-item{width:100%;height:100%;text-align:left;display:flex;flex-direction:column;gap:.55rem;padding:.95rem 1rem;border-radius:10px;border:1px solid var(--fd-border);background:var(--fd-surface);color:var(--fd-text);box-shadow:0 1px 2px var(--fd-shadow);cursor:pointer;box-sizing:border-box}.field-dashboard .field-labor-job-item:hover,.field-dashboard .field-labor-job-item:focus-visible{border-color:var(--fd-accent);outline:none}.field-dashboard .field-labor-job-item-title{font-weight:600;font-size:.98rem;color:var(--fd-text)}.field-dashboard .field-labor-job-item-dates{margin-top:-.2rem}.field-dashboard .field-labor-stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;width:100%}.field-dashboard .field-labor-stat-card{display:flex;flex-direction:column;gap:.1rem;padding:.45rem .5rem;border-radius:8px;border:1px solid var(--fd-border-soft);background:var(--fd-surface2);min-width:0}.field-dashboard .field-labor-stat-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:var(--fd-label);line-height:1.2}.field-dashboard .field-labor-stat-value{font-size:1.05rem;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums;color:var(--fd-text)}.field-dashboard .field-labor-stat-unit{font-size:.68rem;color:var(--fd-muted);line-height:1.2}.field-dashboard .field-labor-stat-card--under .field-labor-stat-value,.field-dashboard .field-labor-stat-card--under .field-labor-stat-status{color:#1e8e3e}.field-dashboard .field-labor-stat-card--over .field-labor-stat-value,.field-dashboard .field-labor-stat-card--over .field-labor-stat-status{color:#d93025}.field-dashboard .field-labor-stat-card--even .field-labor-stat-value,.field-dashboard .field-labor-stat-card--even .field-labor-stat-status{color:var(--fd-accent)}.field-dashboard.field-dashboard--dark .field-labor-stat-card--under .field-labor-stat-value,.field-dashboard.field-dashboard--dark .field-labor-stat-card--under .field-labor-stat-status{color:#3dd68c}.field-dashboard.field-dashboard--dark .field-labor-stat-card--over .field-labor-stat-value,.field-dashboard.field-dashboard--dark .field-labor-stat-card--over .field-labor-stat-status{color:#f07178}.field-dashboard .field-labor-page--detail .field-labor-stat-row{gap:.55rem}.field-dashboard .field-labor-page--detail .field-labor-stat-card{padding:.65rem .75rem}.field-dashboard .field-labor-page--detail .field-labor-stat-value{font-size:1.25rem}.field-dashboard .field-labor-page .billing-manpower-card--field.card{background:var(--fd-surface);border:1px solid var(--fd-border);color:var(--fd-text);box-shadow:0 1px 2px var(--fd-shadow);margin-bottom:0;overflow:visible}.field-dashboard .field-labor-page .billing-manpower-card--field{--bg-elevated: var(--fd-surface);--surface: var(--fd-surface);--surface2: var(--fd-surface2);--border: var(--fd-border);--text: var(--fd-text);--text-secondary: var(--fd-text-soft);--muted: var(--fd-muted);--accent: var(--fd-accent)}.field-dashboard .field-labor-page .billing-manpower-card--field .billing-card-title,.field-dashboard .field-labor-page .billing-manpower-card--field .billing-manpower-week-count,.field-dashboard .field-labor-page .billing-manpower-card--field .billing-manpower-caption,.field-dashboard .field-labor-page .billing-manpower-card--field .billing-manpower-end-hint{color:var(--fd-muted)}.field-dashboard .field-labor-page .billing-manpower-card--field label{color:var(--fd-label)}.field-dashboard .field-labor-page .billing-manpower-card--field input.readonly,.field-dashboard .field-labor-page .billing-manpower-card--field .date-input,.field-dashboard .field-labor-page .billing-manpower-card--field input{background:var(--fd-input-bg);border-color:var(--fd-border);color:var(--fd-text)}.field-dashboard .field-labor-page .billing-manpower-sticky{background:var(--fd-surface)}.field-dashboard .field-labor-page .billing-manpower-table th{color:var(--fd-muted);border-bottom-color:var(--fd-border-soft)}.field-dashboard .field-labor-page .billing-manpower-table td{border-bottom-color:var(--fd-border-soft);color:var(--fd-text)}.field-dashboard .field-labor-page .billing-manpower-header-pill{background:var(--fd-surface2);border-color:var(--fd-border);color:var(--fd-text-soft)}.field-dashboard .field-labor-page .billing-manpower-header-pill:hover{color:var(--fd-accent);border-color:color-mix(in srgb,var(--fd-accent) 55%,transparent);background:color-mix(in srgb,var(--fd-accent) 10%,var(--fd-surface))}.field-dashboard .field-labor-page .billing-manpower-phase-name{border-left-width:4px;padding-left:10px;color:var(--fd-text)}.field-dashboard .field-labor-page .billing-manpower-phase-desc{color:var(--fd-muted)}.field-dashboard .field-labor-page .billing-manpower-contract-tab{border-color:var(--fd-border);background:var(--fd-surface);color:var(--fd-text-soft)}.field-dashboard .field-labor-page .billing-manpower-contract-tab.active{border-color:var(--fd-accent);color:var(--fd-accent);background:color-mix(in srgb,var(--fd-accent) 12%,var(--fd-surface))}.field-dashboard .field-labor-page .billing-manpower-left--over{color:#e34948}.field-dashboard .field-labor-page .billing-manpower-chip:not(.billing-manpower-chip--empty){font-weight:700}.field-dashboard .field-labor-page .billing-manpower-chip--empty{color:var(--fd-muted);border-color:var(--fd-border);background:var(--fd-surface2)}.field-dashboard .field-labor-page .billing-manpower-cell-input{background:var(--fd-input-bg);border-color:var(--fd-accent);color:var(--fd-text)}.field-dashboard .field-labor-page .billing-manpower-caption{color:var(--fd-muted)}.field-dashboard .field-labor-page .billing-manpower-scroll{overflow-x:scroll;-webkit-overflow-scrolling:touch;touch-action:pan-x;scrollbar-color:color-mix(in srgb,var(--fd-accent) 55%,var(--fd-border)) var(--fd-surface2)}.field-dashboard .field-labor-page .billing-manpower-scroll::-webkit-scrollbar-track{background:var(--fd-surface2);border-color:var(--fd-border)}.field-dashboard .field-labor-page .billing-manpower-scroll::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--fd-accent) 45%,var(--fd-border));border-color:var(--fd-surface2)}.field-dashboard .field-labor-page .billing-manpower-legend-item{color:var(--fd-muted)}.field-dashboard .billing-week-detail-modal.card{background:var(--fd-surface);border:1px solid var(--fd-border);color:var(--fd-text);--bg-elevated: var(--fd-surface);--surface: var(--fd-surface);--surface2: var(--fd-surface2);--border: var(--fd-border);--text: var(--fd-text);--text-secondary: var(--fd-text-soft);--muted: var(--fd-muted);--accent: var(--fd-accent);--mp-phase-text-prime: #5b21b6;--mp-phase-text-final: #1d4ed8;--mp-phase-text-punch: #0f766e;--mp-phase-border-prime: #7c3aed;--mp-phase-border-final: #2563eb;--mp-phase-border-punch: #0d9488}.field-dashboard.field-dashboard--dark .billing-week-detail-modal.card{--mp-phase-text-prime: #c4b5fd;--mp-phase-text-final: #9ec0ff;--mp-phase-text-punch: #5eead4;--mp-phase-border-prime: #a78bfa;--mp-phase-border-final: #4f8cff;--mp-phase-border-punch: #2dd4bf}.field-dashboard .billing-week-detail-modal .billing-card-title,.field-dashboard .billing-week-detail-modal .muted,.field-dashboard .billing-week-detail-modal .billing-manpower-caption{color:var(--fd-muted)}.field-dashboard .billing-week-detail-modal input,.field-dashboard .billing-week-detail-modal .billing-week-detail-input{background:var(--fd-input-bg);border-color:var(--fd-border);color:var(--fd-text)}@media(min-width:900px){.field-dashboard .field-labor-page--list{gap:1rem}.field-dashboard .field-labor-job-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.75rem}}@media(pointer:coarse){.field-dashboard .field-labor-job-item{padding:1rem 1.1rem}.field-dashboard .field-labor-detail-header .btn,.field-dashboard .field-labor-list-header .btn{min-height:40px}.field-dashboard .field-labor-stat-value{font-size:1.15rem}}@media(max-width:640px){.field-dashboard .field-labor-detail-header{flex-direction:column;align-items:stretch}.field-dashboard .field-labor-cal-btn{align-self:flex-start}.field-dashboard .field-labor-stat-label{font-size:.6rem}.field-dashboard .field-labor-stat-value{font-size:.95rem}}:root{color-scheme:dark;--bg: #12151c;--bg-elevated: #1a1f2b;--surface: #222836;--surface2: #2b3344;--border: #3a4358;--border-strong: #5a657c;--text: #e8ecf4;--text-secondary: #b8c0d0;--muted: #9aa3b5;--accent: #4f8cff;--accent-hover: #6ba0ff;--danger: #ff6b6b;--ok: #5fd38d;--warn: #f0b429;font-family:Segoe UI,system-ui,sans-serif;line-height:1.5;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code{font-family:Consolas,monospace;font-size:.9em;background:var(--surface2);padding:.1em .35em;border-radius:4px}input,textarea,select,button{font:inherit}input,textarea,select{width:100%;margin-top:.35rem;padding:.55rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);color:var(--text)}input[type=date].date-input,input.date-input{color-scheme:dark;min-height:2.5rem}.date-input-row{display:flex;align-items:stretch;gap:.35rem;margin-top:.35rem}.date-input-row .date-input{margin-top:0;flex:1;min-width:0}.date-today-btn{flex:0 0 2.5rem;width:2.5rem;height:2.5rem;min-width:2.5rem;padding:0;margin:0;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:0;background:transparent;color:#fff;cursor:pointer}.date-today-btn:hover:not(:disabled){background:transparent;opacity:.8}.date-today-btn:disabled{opacity:.45;cursor:not-allowed}.date-today-btn svg{width:18px;height:18px;display:block}.google-sheets-settings label>.muted.small{display:block;margin-top:.25rem}.checkbox-row{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.checkbox-row input[type=checkbox]{width:auto;margin:0}textarea{resize:vertical;min-height:120px}.revision-note-field textarea{min-height:0;height:calc(2.8em + 1.1rem);resize:vertical}label{display:block;font-size:.9rem;color:var(--muted)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:1.5rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--border);background:var(--bg-elevated)}.brand{display:flex;align-items:center;gap:.75rem}.brand-mark{width:36px;height:36px;border-radius:8px;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:700}.brand-title{font-weight:700}.topbar-sep{flex-shrink:0;align-self:stretch;width:1px;min-height:1.75rem;background:var(--border)}.brand-sub,.muted,.small{color:var(--muted);font-size:.875rem}.topnav{display:flex;align-items:center;gap:.75rem}.topnav a{color:var(--text);font-weight:600;padding:.35rem .65rem;border-radius:8px}.topnav a:hover{text-decoration:none;background:var(--surface)}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:.75rem}.topbar-admin-badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}.user-account-menu{position:relative}.user-account-menu-trigger{display:inline-flex;align-items:flex-start;gap:.35rem;padding:.2rem .35rem;margin:-.2rem -.35rem;border:none;border-radius:8px;background:transparent;color:var(--text);cursor:pointer}.user-account-menu-trigger:hover,.user-account-menu-trigger[aria-expanded=true]{background:var(--surface)}.user-account-menu-chevron{display:inline-flex;align-items:center;color:var(--muted);flex-shrink:0;height:1.05rem}.user-account-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:200;min-width:180px;padding:.3rem 0;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #00000059}.user-account-menu-item{display:flex;align-items:center;gap:.65rem;width:100%;padding:.55rem .9rem;border:none;background:transparent;color:var(--text);font:inherit;font-size:.9rem;text-align:left;text-decoration:none;cursor:pointer}.user-account-menu-item:hover{background:var(--surface2);text-decoration:none;color:var(--text)}.user-account-menu-item svg{display:block;flex-shrink:0;color:var(--muted)}.user-account-menu-divider{height:1px;margin:.2rem .7rem;background:var(--border)}.user-header-identity{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;line-height:1.25;text-align:left}.user-header-identity-line{font-size:.85rem;font-weight:700;color:var(--text);white-space:nowrap}.user-header-identity-line--muted{font-size:.78rem;font-weight:400;color:var(--muted)}.main-content{flex:1;padding:1.25rem;max-width:1100px;width:100%;margin:0 auto}.main-content:has(.project-shell){max-width:none;padding-left:1rem;padding-right:1rem}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.page h1{margin:.25rem 0}.projects-recent-section{margin-bottom:1rem}.projects-recent-heading{margin:0 0 .75rem;font-size:1rem;font-weight:600}.projects-recent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.75rem}.projects-recent-card{display:flex;flex-direction:column;gap:.35rem;margin-bottom:0;text-decoration:none;color:inherit;transition:border-color .15s ease,background .15s ease}.projects-recent-card:hover{border-color:var(--accent);background:var(--surface2)}.projects-recent-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.projects-recent-job{font-weight:600;font-size:.95rem;min-width:0}.projects-recent-name{font-size:.9rem;line-height:1.35}.projects-recent-meta{margin-top:auto}.project-status-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .5rem;border-radius:999px;font-size:.68rem;font-weight:600;letter-spacing:.01em;white-space:nowrap;flex-shrink:0}.project-status-badge--due{background:#ef444429;color:#fca5a5}.project-status-badge--attention{background:#f0b42929;color:#f0c96a}.project-status-badge--clear{background:#5fd38d24;color:#5fd38d}.project-submittal-pill{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:999px;font-size:.68rem;font-weight:600;white-space:nowrap}.project-submittal-pill--active{background:#f0b42929;color:#f0c96a}.project-submittal-pill--approved{background:#4f8cff2e;color:#9ec0ff}.project-submittal-pill--neutral{background:var(--surface2);color:var(--muted);border:1px solid var(--border)}.project-mini-pipeline{display:flex;flex-direction:column;gap:.25rem;margin-top:.15rem}.project-mini-pipeline-dots,.project-mini-pipeline-step{display:flex;align-items:center}.project-mini-pipeline-dot{width:8px;height:8px;border-radius:999px;border:2px solid var(--border);background:transparent;flex-shrink:0}.project-mini-pipeline-dot--done{border-color:var(--accent);background:var(--accent)}.project-mini-pipeline-dot--current{border-color:var(--warn);background:transparent}.project-mini-pipeline-connector{width:10px;height:2px;background:var(--border);flex-shrink:0}.project-mini-pipeline-connector--done{background:var(--accent)}.project-mini-pipeline-stage{font-size:11px;line-height:1.2}.project-mini-pipeline-stage--active{color:#f0c96a;font-weight:600}.project-mini-pipeline-stage--approved{color:#9ec0ff;font-weight:600}.project-mini-pipeline-stage--muted{color:var(--muted)}.projects-list-sort{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;margin-bottom:0}.projects-list-controls{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .75rem;margin-bottom:.65rem}.projects-list-controls-sep{width:1px;height:1.25rem;background:var(--border);flex-shrink:0}.projects-list-sort-label{margin-right:.15rem}.projects-list-sort-btn,.filter-chip{padding:.25rem .55rem;border:1px solid var(--border);border-radius:999px;background:var(--surface2);color:var(--muted);font:inherit;font-size:.72rem;font-weight:600;line-height:1.2;cursor:pointer}.projects-list-sort-btn:hover,.filter-chip:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.projects-list-sort-btn:focus,.filter-chip:focus{outline:none}.projects-list-sort-btn:focus-visible,.filter-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.projects-list-sort-btn--active,.filter-chip--active{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent);font-weight:600}.projects-list-filter-btn--active{background:#f0b42924;border-color:#f0b42980;color:#f0c96a}.filter-chips{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.75rem}.filter-chips-label{margin-right:.15rem}.projects-attention-card{display:flex;align-items:stretch;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:.9rem 1.1rem;border-radius:12px;border:1px solid rgba(240,180,41,.35);background:linear-gradient(135deg,#f0b42914,#222836f2);color:inherit;text-decoration:none}.projects-attention-card:hover{border-color:#f0b4298c;text-decoration:none}.projects-attention-card--clear{border-color:#5fd38d66;background:linear-gradient(135deg,#5fd38d14,#222836f2);cursor:default}.projects-attention-card--clear:hover{border-color:#5fd38d8c}.projects-attention-card--clear .projects-attention-card-eyebrow,.projects-attention-card--clear .projects-attention-card-stat-value{color:var(--ok)}.projects-attention-card-main{min-width:0;flex:1}.projects-attention-card-eyebrow{display:inline-flex;align-items:center;gap:.35rem;color:#f0c96a;font-size:.75rem;font-weight:700;margin-bottom:.35rem}.projects-attention-card-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.projects-attention-card-title{font-weight:700;font-size:1rem;color:var(--text)}.projects-attention-card-flags-pill{display:inline-flex;align-items:center;padding:.12rem .45rem;border-radius:999px;background:#f0b4292e;color:#f0c96a;font-size:.7rem;font-weight:700}.projects-attention-card-meta{margin-top:.25rem}.projects-attention-card-stat{flex-shrink:0;text-align:right;display:flex;flex-direction:column;justify-content:center;gap:.15rem}.projects-attention-card-stat-row{display:flex;align-items:baseline;justify-content:flex-end;gap:.4rem}.projects-attention-card-stat-value{font-size:1.75rem;line-height:1;font-weight:700;color:var(--text)}@media(max-width:640px){.projects-attention-card{flex-direction:column}.projects-attention-card-stat{text-align:left}.projects-attention-card-stat-row{justify-content:flex-start}.projects-list-controls-sep{display:none}}.projects-table-shell{padding:0;overflow:hidden}.projects-table-scroller{overflow-x:auto;padding:0}.projects-table-scroller--scroll{max-height:27.5rem;overflow-y:auto}.projects-table-shell .projects-table{width:100%;border-collapse:separate;border-spacing:0;margin:0}.projects-table-shell .projects-table thead th{position:sticky;top:0;z-index:10;background:var(--surface);box-shadow:inset 0 -1px 0 var(--border)}.projects-table-shell .projects-table th,.projects-table-shell .projects-table td{padding:.55rem .75rem}.projects-table-shell .projects-table th:first-child,.projects-table-shell .projects-table td:first-child{padding-left:1.1rem}.projects-table-shell .projects-table th:last-child,.projects-table-shell .projects-table td:last-child{padding-right:1.1rem}.projects-table-row{cursor:pointer;transition:background-color .12s ease}.projects-table-row:hover td{background:var(--surface2)}.projects-table-name{max-width:18rem}.projects-table-job-name{font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.projects-table-gc{margin-top:.1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.projects-search-wrap{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.page-header-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.projects-by-gc-page{display:flex;flex-direction:column;gap:1rem}.projects-by-gc-page h1{margin-bottom:.2rem}.projects-by-gc-page .breadcrumb{margin-bottom:0}.projects-by-gc-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem .85rem}.projects-by-gc-year{margin:0;width:auto}.projects-by-gc-year select{width:auto;min-width:5.5rem;margin-top:0;border-radius:999px;padding:.35rem .75rem;font-weight:600}.projects-by-gc-filter{width:11rem;max-width:100%;margin-top:0;border-radius:999px;padding:.4rem .8rem}.projects-by-gc-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.projects-by-gc-stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:.9rem 1rem}.projects-by-gc-stat-label{font-size:.78rem;color:var(--muted);margin-bottom:.2rem}.projects-by-gc-stat-value{font-size:1.55rem;font-weight:700;letter-spacing:-.03em;line-height:1.15;font-variant-numeric:tabular-nums}.projects-by-gc-stat-value--open{color:var(--accent)}.projects-by-gc-stat-value--done,.projects-by-gc-yoy--up{color:var(--ok)}.projects-by-gc-yoy--down{color:var(--danger)}.projects-by-gc-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.projects-by-gc-table{width:100%;border-collapse:collapse;font-size:.9rem;margin:0}.projects-by-gc-table th,.projects-by-gc-table td{padding:.7rem .85rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.projects-by-gc-table thead th{font-size:.72rem;font-weight:600;text-transform:none;letter-spacing:0;color:var(--muted);background:var(--surface)}.projects-by-gc-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.projects-by-gc-table tfoot th{border-bottom:none;font-weight:700;padding-top:.85rem}.projects-by-gc-gc-row{cursor:pointer}.projects-by-gc-gc-row td{font-weight:700}.projects-by-gc-gc-row:hover td{background:color-mix(in srgb,var(--accent) 8%,transparent)}.projects-by-gc-caret{display:inline-block;width:1rem;color:var(--muted);font-weight:500}.projects-by-gc-job-row td{font-weight:400;background:color-mix(in srgb,var(--bg) 35%,var(--surface));padding-top:.45rem;padding-bottom:.45rem}.projects-by-gc-job-link{display:flex;align-items:baseline;gap:.85rem;color:inherit;text-decoration:none;padding-left:1.15rem}.projects-by-gc-job-link:hover{text-decoration:none}.projects-by-gc-job-num{color:var(--accent);font-weight:700;min-width:3.2rem}.projects-by-gc-job-link:hover .projects-by-gc-job-num{text-decoration:underline}.projects-by-gc-job-name{color:var(--text-secondary)}.projects-by-gc-job-status{text-align:center}.projects-by-gc-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.15rem .55rem;font-size:.68rem;font-weight:700;letter-spacing:.01em;white-space:nowrap}.projects-by-gc-pill--not_started{background:color-mix(in srgb,var(--muted) 18%,transparent);color:var(--muted)}.projects-by-gc-pill--in_progress{background:color-mix(in srgb,var(--warn) 18%,transparent);color:#e8b86a}.projects-by-gc-pill--complete{background:color-mix(in srgb,var(--ok) 16%,transparent);color:var(--ok)}.projects-by-gc-amt--open{color:var(--accent)}.projects-by-gc-amt--done{color:var(--ok)}.projects-by-gc-mix{display:flex;height:.45rem;width:6.5rem;max-width:100%;border-radius:999px;overflow:hidden;background:var(--surface2);gap:1px}.projects-by-gc-mix-empty{display:block;width:100%}.projects-by-gc-mix-seg{display:block;min-width:.35rem;height:100%}.projects-by-gc-mix-seg--not_started{background:#7b8496}.projects-by-gc-mix-seg--in_progress{background:var(--warn)}.projects-by-gc-mix-seg--complete{background:var(--ok)}.projects-by-gc-more-row td{background:color-mix(in srgb,var(--bg) 35%,var(--surface));border-bottom:1px solid var(--border);padding:.25rem .85rem .55rem 2rem}.projects-by-gc-more{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;color:var(--muted);font:inherit;font-size:.82rem;cursor:pointer;padding:0}.projects-by-gc-more:hover{color:var(--accent)}.projects-by-gc-legend{display:flex;flex-wrap:wrap;gap:.85rem 1.1rem;color:var(--muted);font-size:.78rem}.projects-by-gc-legend-dot{display:inline-block;width:.55rem;height:.55rem;border-radius:50%;margin-right:.35rem;vertical-align:middle}@media(max-width:900px){.projects-by-gc-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.projects-by-gc-stats{grid-template-columns:1fr}}.project-orders-page{width:100%;max-width:100%;box-sizing:border-box}.project-orders-page-header{align-items:flex-start;gap:1rem}.project-orders-scope-filters{display:flex;flex-wrap:wrap;gap:.4rem;margin:.15rem 0 .75rem}.project-orders-check{margin:0}.project-orders-th-order{width:2.25rem;padding-left:.5rem;padding-right:.25rem;text-align:center}.project-orders-th-order .project-orders-check{margin:0;display:inline-flex;justify-content:center}.project-orders-scope{font-size:.7rem;font-weight:700;letter-spacing:.03em;padding:.12rem .4rem;border-radius:4px;border:1px solid transparent}.project-orders-scope--wallcovering{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.project-orders-scope--frp{background:transparent;color:var(--muted);border-color:var(--border)}.project-orders-table{table-layout:fixed;width:100%;min-width:0;--orders-control-height: 2.5rem}.project-orders-table th,.project-orders-table td{min-width:0;overflow:hidden;vertical-align:middle}.project-orders-col-order{width:2.1rem}.project-orders-table td:first-child{text-align:center;padding-left:.4rem;padding-right:.2rem}.project-orders-col-scope{width:3.1rem}.project-orders-col-label{width:3.4rem}.project-orders-col-product{width:16%}.project-orders-col-mfr{width:13%}.project-orders-col-color{width:12%}.project-orders-col-qty{width:8.5rem}.project-orders-col-notes{width:auto}.project-orders-col-complete{width:1.85rem}.project-orders-col-actions{width:2.5rem}.project-orders-complete-cell{text-align:center}.project-orders-table .project-orders-qty-cell,.project-orders-table .project-orders-notes-cell,.project-orders-table .project-orders-complete-cell,.project-orders-table .project-orders-actions-cell,.project-orders-table .project-orders-th-actions{overflow:visible}.project-orders-table .project-orders-qty-cell{padding-left:.25rem;padding-right:.25rem}.project-orders-table .project-orders-th-complete,.project-orders-table .project-orders-complete-cell{padding-left:.15rem;padding-right:.15rem}.project-orders-table .project-orders-th-actions,.project-orders-table .project-orders-actions-cell{width:2.5rem;min-width:2.5rem;box-sizing:border-box;text-align:center;padding:.25rem .45rem .25rem .15rem}.project-orders-th-actions{font-size:.95rem;font-weight:600;text-transform:none;letter-spacing:0;line-height:1}.project-orders-table .project-orders-actions-cell .btn-icon{width:26px;min-width:26px;max-width:26px;height:var(--orders-control-height);min-height:var(--orders-control-height);padding:0;font-size:.95rem;line-height:1;border-radius:4px}.project-orders-th-complete{text-align:center}.project-orders-complete-icon{display:inline-block;vertical-align:middle;color:var(--muted, #6b7280)}.project-orders-qty-cell{padding-left:.25rem;padding-right:.25rem}.project-orders-notes-input{width:100%;min-width:0;box-sizing:border-box;height:var(--orders-control-height);min-height:var(--orders-control-height);max-height:var(--orders-control-height);margin-top:0;border-radius:6px;line-height:1.2;padding:0 .45rem}.project-orders-table .check input{width:auto}.project-orders-row--checked td{background:color-mix(in srgb,var(--accent) 9%,transparent)}.project-orders-product,.project-orders-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-orders-qty-group{display:inline-flex;flex-direction:row;align-items:center;gap:.3rem;white-space:nowrap;height:var(--orders-control-height);max-width:100%}.project-orders-qty-input,.project-orders-unit-select{height:var(--orders-control-height);min-height:var(--orders-control-height);max-height:var(--orders-control-height);box-sizing:border-box;border-radius:6px;margin-top:0;line-height:1.2}.project-orders-qty-input{width:52px;min-width:52px;max-width:52px;text-align:right;padding-left:.25rem;padding-right:.25rem}.project-orders-unit-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:3.1rem;min-width:3.1rem;max-width:3.1rem;padding:0 .95rem 0 .3rem;font-size:.8rem;background-color:var(--bg-elevated);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='0 0 8 5'%3E%3Cpath d='M0 0l4 5 4-5z' fill='%239aa3b5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .28rem center;background-size:7px 4px}.project-orders-lines-section{gap:.65rem;width:100%;min-width:0;overflow:visible}.project-orders-table-wrap{margin:0;border:none;background:transparent;padding:0;width:100%;min-width:0;overflow:visible}.project-orders-action-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin:0;padding:.5rem 0 0;border:none;border-top:1px solid var(--border);border-radius:0;background:transparent}.project-orders-selection-summary{margin:0;flex:1 1 14rem;min-width:0}.project-orders-missing-qty{color:#c47a00;font-weight:600}.project-orders-action-buttons{justify-content:flex-end;flex:0 1 auto}.fwp-items-section{gap:.5rem;--fwp-control-height: 2.5rem}.fwp-items-section h3{margin:0;font-size:1rem;color:var(--text)}.fwp-items-toolbar{align-items:flex-start;gap:1rem}.fwp-items-list{display:flex;flex-direction:column;gap:0;overflow-x:hidden;min-width:0}.fwp-items-header,.fwp-item-row{display:flex;align-items:center;gap:6px;min-width:0;width:100%;box-sizing:border-box}.fwp-items-header{padding:0 0 .2rem;border-bottom:1px solid var(--border);margin-bottom:.15rem}.fwp-col-head{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);line-height:1.2}.fwp-col-head-actions{flex:0 0 26px;width:26px;min-width:26px;min-height:1em}.fwp-check-head{flex:0 0 22px;width:22px}.fwp-qty-head{flex:0 0 110px;width:110px}.fwp-item-block{position:relative;border-bottom:1px solid var(--border);padding:.3rem 0 .35rem;margin:0}.fwp-item-block--dragging{opacity:.55}.fwp-item-block--dragover{outline:2px dashed var(--accent);outline-offset:-2px}.fwp-row-handle,.fwp-row-handle-spacer{display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px;width:20px;min-width:20px;min-height:var(--fwp-control-height)}.fwp-row-handle{margin:0;padding:0;border:none;border-radius:4px;background:transparent;color:var(--muted);cursor:grab;font-size:.85rem;line-height:1;letter-spacing:-.08em;-webkit-user-select:none;user-select:none}.fwp-row-handle:active{cursor:grabbing}.fwp-check{display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px;width:22px;margin:0}.fwp-check input{width:auto;margin:0}.fwp-col{display:flex;flex-direction:column;gap:0;min-width:0}.fwp-col-type{flex:0 0 6.5rem;width:6.5rem;min-width:6.5rem}.fwp-col-product{flex:1.2 1 0;min-width:0;max-width:28rem}.fwp-col-code{flex:1 1 0;width:auto;min-width:8.5rem}.fwp-col input,.fwp-col select,.fwp-qty-input,.fwp-unit-select{width:100%;min-width:0;box-sizing:border-box;margin-top:0;height:var(--fwp-control-height);min-height:var(--fwp-control-height);max-height:var(--fwp-control-height);border-radius:6px;font-size:inherit;line-height:1.25;padding:0 .55rem}.fwp-col select,.fwp-unit-select{padding-right:1.4rem}.fwp-qty-group{display:inline-flex;flex-direction:row;align-items:center;gap:.3rem;flex:0 0 auto;white-space:nowrap;height:var(--fwp-control-height)}.fwp-qty-input{width:52px;min-width:52px;max-width:52px;text-align:right;padding-left:.25rem;padding-right:.25rem}.fwp-unit-select{width:3.4rem;min-width:3.4rem;max-width:3.4rem}.fwp-row-actions{display:flex;align-items:center;justify-content:center;flex:0 0 26px;width:26px;min-width:26px}.fwp-row-actions .btn-icon{width:26px;min-width:26px;height:var(--fwp-control-height);font-size:.95rem}.fwp-items-footer{justify-content:flex-end;margin-top:.5rem}.delivery-address-presets{display:flex;flex-direction:column;gap:.4rem}.delivery-address-preset{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;margin:0;padding:.55rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:var(--text);text-align:left;cursor:pointer}.delivery-address-preset:hover{border-color:var(--accent)}.delivery-address-preset--active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--surface2))}.delivery-address-preset-label{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.delivery-address-preset-value{font-size:.9rem;line-height:1.35}.breadcrumb{margin:0;font-size:.85rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem 1.1rem;margin-bottom:1rem}.stack{display:flex;flex-direction:column;gap:.85rem}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.5rem}.check{display:flex;align-items:center;gap:.5rem;color:var(--text)}.check input{width:auto;margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem .9rem;border-radius:8px;border:1px solid var(--border);background:var(--surface2);color:var(--text);cursor:pointer;text-decoration:none}.btn:hover{filter:brightness(1.08);text-decoration:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-secondary{background:var(--surface2)}.btn-warning{background:var(--warn);border-color:var(--warn);color:#1a1a1a}.btn-success{background:#2d8a4e;border-color:#2d8a4e;color:#fff}.btn-outline-accent{background:transparent;border:1.5px solid var(--accent);color:var(--accent);font-weight:600}.btn-outline-accent:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.btn-ghost{background:transparent}.btn-small{padding:.3rem .65rem;font-size:.85rem}.link-btn{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;font:inherit}.center-screen{min-height:100vh;display:grid;place-items:center;padding:1rem}.auth-card{width:min(420px,100%);background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.auth-card h1{margin-top:0}.auth-switch{margin-top:1rem;color:var(--muted)}.password-field{position:relative;display:block;margin-top:.35rem}.password-field input{margin-top:0;padding-right:2.6rem}.password-toggle{position:absolute;top:50%;right:.25rem;transform:translateY(-50%);width:2rem;height:2rem;margin:0;padding:0;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.password-toggle:hover{color:var(--text)}.password-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.password-toggle svg{width:1.15rem;height:1.15rem;display:block}.banner{padding:.65rem .8rem;border-radius:8px;margin-bottom:.75rem;font-size:.9rem}.banner-error{background:#ff6b6b1f;border:1px solid rgba(255,107,107,.35);color:#ffb4b4}.banner-warn{background:#f0b4291f;border:1px solid rgba(240,180,41,.35);color:#ffd98a}.banner-ok{background:#5fd38d1f;border:1px solid rgba(95,211,141,.35);color:#b8f5d0}.banner-info{background:#64a0ff1f;border:1px solid rgba(100,160,255,.35);color:#b8d4ff}.settings-shared-fieldset{border:none;padding:0;margin:0;min-width:0}.settings-shared-notice{margin-bottom:1rem}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.55rem .4rem;border-bottom:1px solid var(--border)}th{color:var(--muted);font-size:.85rem}.empty-state{text-align:center;color:var(--muted)}.row-gap{display:flex;align-items:center;gap:.75rem}.row-between{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.project-shell{display:flex;align-items:flex-start;gap:0;min-height:calc(100vh - 5.5rem);position:relative}.project-sidebar{width:232px;flex-shrink:0;border-right:1px solid var(--border);padding:0 .75rem 1rem 0;position:sticky;top:0;align-self:flex-start;max-height:calc(100vh - 1.5rem);overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;transition:width .2s ease,padding .2s ease,border-color .2s ease}.project-shell--nav-collapsed .project-sidebar{width:0;padding:0;border-right-color:transparent;overflow:hidden;pointer-events:none;visibility:hidden}.project-sidebar-header{display:flex;align-items:flex-start;gap:.35rem;margin-bottom:.85rem;padding-bottom:.85rem;border-bottom:1px solid var(--border)}.project-sidebar-header-main{flex:1;min-width:0}.project-sidebar-job{margin:0;font-size:1.1rem;font-weight:600;color:var(--text);line-height:1.3}.project-sidebar-name{margin:.2rem 0 0;font-size:.82rem;color:var(--muted);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-nav-collapse,.project-nav-expand{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;margin:0;padding:0;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--muted);font:inherit;font-size:.85rem;line-height:1;cursor:pointer}.project-nav-collapse{width:1.75rem;height:1.75rem;margin-top:.1rem}.project-nav-expand{width:28px;min-height:2.5rem;align-self:flex-start;position:sticky;top:0;z-index:2;margin-right:.35rem}.project-nav-collapse:hover,.project-nav-expand:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.project-nav-collapse:focus,.project-nav-expand:focus{outline:none}.project-nav-collapse:focus-visible,.project-nav-expand:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){.project-sidebar{transition:none}}.project-nav{display:flex;flex-direction:column;gap:0;flex:1;min-height:0}.project-sidebar-admin{margin-top:auto;padding:.85rem .65rem .25rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.4rem}.project-sidebar-done-btn,.project-sidebar-reopen-btn{width:100%;justify-content:center}.project-sidebar-done-error{margin:0;font-size:.75rem;color:var(--danger)}.project-completed-banner{margin:0 0 .75rem}.project-nav-section+.project-nav-section{margin-top:1rem}.project-nav-section-label{margin:0 0 .35rem;padding:0 .65rem;font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);opacity:.85}.project-nav-section-links{display:flex;flex-direction:column;gap:.12rem}.project-nav-link{display:flex;align-items:center;justify-content:space-between;gap:.35rem;padding:.45rem .65rem;border-radius:8px;color:var(--muted);font-size:.88rem;text-decoration:none;border:1px solid transparent;border-left:3px solid transparent}.project-nav-link-main{display:flex;align-items:center;gap:.55rem;min-width:0}.project-nav-icon{flex-shrink:0;color:var(--muted);opacity:.9}.project-nav-link:hover{color:var(--text);background:var(--surface);text-decoration:none}.project-nav-link:hover .project-nav-icon{color:var(--text)}.project-nav-link--active{color:var(--text);background:color-mix(in srgb,var(--accent) 14%,var(--surface));border-left-color:var(--accent);font-weight:500}.project-nav-link--active .project-nav-icon{color:var(--accent);opacity:1}.project-nav-link--soon{opacity:.85}.project-nav-label{min-width:0}.procurement-log-page .procurement-log-meta p{margin:.15rem 0}.procurement-log-table-title{margin:0 0 .75rem;text-align:center;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase}.procurement-log-table-wrap{padding:0;overflow:hidden}.procurement-log-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.procurement-log-table{width:100%;min-width:900px;table-layout:fixed;border-collapse:collapse;font-size:.82rem}.procurement-log-table .plog-col-finish{width:6%}.procurement-log-table .plog-col-product{width:21%}.procurement-log-table .plog-col-lead{width:7%}.procurement-log-table .plog-col-date{width:9%}.procurement-log-table .plog-col-ship{width:8%}.procurement-log-table .plog-col-tracking{width:12%}.procurement-log-table .plog-col-notes{width:28%}.procurement-log-table th,.procurement-log-table td{border:1px solid var(--border);padding:.45rem .5rem;vertical-align:top;text-align:left;overflow:visible;white-space:normal;overflow-wrap:break-word;word-break:normal;text-overflow:clip}.procurement-log-table th{background:var(--surface2);font-weight:600}.procurement-log-table td:nth-child(1),.procurement-log-table td:nth-child(3),.procurement-log-table td:nth-child(4),.procurement-log-table td:nth-child(5),.procurement-log-table td:nth-child(6){white-space:nowrap}.procurement-log-table tbody tr:nth-child(2n){background:#ffffff05}.procurement-log-empty{text-align:center;padding:1.5rem!important;white-space:normal!important}.po-tracker-intro p{margin:0 0 .35rem}.po-tracker-legend{list-style:none;margin:0 0 .45rem;padding:0;display:flex;flex-direction:column;gap:.28rem}.po-tracker-legend li{display:flex;align-items:flex-start;gap:.45rem;margin:0;font-size:.875rem;color:var(--muted);line-height:1.4}.po-tracker-legend-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 1.15rem;height:1.25rem;color:var(--text-secondary)}.po-tracker-legend-icon svg{display:block}.po-tracker-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.po-tracker-table{width:100%;border-collapse:collapse;font-size:.85rem}.po-tracker-table th,.po-tracker-table td{border-bottom:1px solid var(--border);padding:.55rem .65rem;vertical-align:middle;text-align:left}.po-tracker-table th{background:var(--surface2);font-weight:600;white-space:nowrap}.po-tracker-table tbody tr:last-child td{border-bottom:none}.po-tracker-table tbody tr:nth-child(2n){background:#ffffff05}.po-tracker-row--done{opacity:.72}.po-tracker-check-col{width:3.25rem;text-align:center!important}.po-tracker-th-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--muted);vertical-align:middle}.po-tracker-th-icon svg{display:block}.po-tracker-check{display:inline-flex;align-items:center;justify-content:center;min-height:2rem;min-width:2rem;cursor:pointer}.po-tracker-check input{width:1.1rem;height:1.1rem;accent-color:var(--accent);cursor:pointer}.po-tracker-action-col{width:4.5rem;text-align:right!important;white-space:nowrap}.field-tools-order-modal{width:min(640px,100%);max-height:calc(100vh - 4rem);overflow:auto}.field-tools-order-tracking{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;padding:.75rem .85rem;border:1px solid var(--border);border-radius:8px;background:var(--surface2)}.field-tools-order-tracking-check{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.field-tools-order-tracking-check input{width:1.1rem;height:1.1rem;accent-color:var(--accent);cursor:pointer}.field-tools-order-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem 1rem;padding:.75rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.field-tools-order-detail-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:.15rem}.field-tools-order-detail-value{font-size:.9rem;line-height:1.35;white-space:pre-wrap}.field-tools-order-cart-title{margin:0 0 .75rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.field-tools-order-group+.field-tools-order-group{margin-top:.85rem}.field-tools-order-group-title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.35rem;padding:.35rem .5rem;border-radius:6px;background:var(--surface2)}.field-tools-order-line{display:flex;justify-content:space-between;gap:.75rem;padding:.45rem 0;border-bottom:1px solid var(--border)}.field-tools-order-line:last-child{border-bottom:none}.field-tools-order-line-name{font-size:.9rem;font-weight:600}.field-tools-order-line-qty{font-size:.85rem;color:var(--muted);white-space:nowrap}.project-main{flex:1;min-width:0;padding-left:1.25rem}.project-main-toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.project-page-header{margin-bottom:0;flex:1;min-width:0}.project-page-header h1{margin:0}.project-nav-toggle{display:none;flex-shrink:0;font-size:.88rem}.project-nav-backdrop{display:none}@media(max-width:1024px){.project-nav-toggle{display:inline-flex}.project-nav-collapse,.project-nav-expand{display:none}.project-shell--nav-collapsed .project-sidebar{width:min(280px,85vw);padding:1rem .85rem 1.25rem;border-right-color:var(--border);overflow-y:auto;pointer-events:auto;visibility:visible}.project-sidebar{position:fixed;top:0;left:0;z-index:200;width:min(280px,85vw);max-height:100vh;height:100vh;padding:1rem .85rem 1.25rem;background:var(--bg-elevated);border-right:1px solid var(--border);box-shadow:8px 0 24px #00000059;transform:translate(-105%);transition:transform .2s ease}.project-shell--nav-open .project-sidebar{transform:translate(0)}.project-nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:199;border:none;padding:0;margin:0;background:#00000073;cursor:pointer}.project-main{padding-left:0}.project-page-header{display:none}}.module-soon{font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:var(--warn);background:#f0b4291f;padding:.1rem .35rem;border-radius:4px}.submittal-row{background:var(--bg-elevated)}.coming-soon p{max-width:52ch}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ai-import code{font-size:.85em}.ai-import-zone{display:block;width:100%;box-sizing:border-box;padding:1.1rem;border:1.5px dashed var(--border-strong);border-radius:12px;background:color-mix(in srgb,var(--surface) 70%,transparent);cursor:text;outline:none;transition:border-color .15s ease,background .15s ease}.ai-import-zone:focus,.ai-import-zone:focus-visible{border-color:var(--accent);outline:2px solid color-mix(in srgb,var(--accent) 35%,transparent);outline-offset:2px}.ai-import-zone--dragover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.ai-import-zone--reading{border-color:var(--accent);border-style:dashed;cursor:default}.ai-import-zone--error{border-color:var(--danger);cursor:default}.ai-import-zone-inner{display:flex;flex-direction:row;align-items:flex-start;gap:.85rem;min-width:0}.ai-import-zone-inner--reading,.ai-import-zone-inner--error{align-items:center}.ai-import-zone-icon{flex:0 0 auto;color:var(--muted);margin-top:.1rem}.ai-import-zone--reading .ai-import-zone-icon{color:var(--accent)}.ai-import-zone--error .ai-import-zone-icon{color:var(--danger)}.ai-import-zone-spinner{animation:ai-import-spin .8s linear infinite}@keyframes ai-import-spin{to{transform:rotate(360deg)}}.ai-import-zone-copy{flex:1 1 auto;min-width:0}.ai-import-zone-title{margin:0;font-size:.98rem;font-weight:700;color:var(--text);line-height:1.3}.ai-import-zone-sub{margin:.25rem 0 0;font-size:.85rem;line-height:1.45}.ai-import-zone-error-msg{color:var(--danger)}.ai-import-zone-success{margin:.4rem 0 0}.ai-import-zone-file-link{display:inline;margin:0;padding:0;border:none;background:none;color:var(--accent);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.ai-import-zone-file-link:hover{color:var(--accent-hover)}.ai-import-zone-cancel{flex:0 0 auto;margin-left:auto}.modal.paint-import-preview-modal{width:min(1120px,100%);max-height:calc(100vh - 3rem);overflow:auto}.paint-import-preview-header h3{margin:0 0 .25rem}.paint-import-preview-body{display:grid;grid-template-columns:minmax(240px,42%) 1fr;gap:1rem;align-items:start}.paint-import-preview-image-col{min-width:0}.paint-import-magnifier-wrap{position:relative;border:1px solid var(--border);border-radius:8px;background:var(--surface2);overflow:hidden;cursor:crosshair}.paint-import-preview-img{display:block;width:100%;max-height:min(52vh,520px);object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none}.paint-import-magnifier-lens{position:absolute;border:2px solid var(--accent);border-radius:50%;box-shadow:0 4px 16px #00000059;pointer-events:none;background-repeat:no-repeat;background-color:var(--bg-elevated)}.paint-import-magnifier-hint{margin:0;padding:.35rem .5rem;text-align:center;background:color-mix(in srgb,var(--surface) 90%,transparent);border-top:1px solid var(--border)}.paint-import-preview-table-col{min-width:0;display:flex;flex-direction:column;gap:.5rem}.paint-import-preview-count{margin:0}.paint-import-preview-table-wrap{max-height:min(52vh,520px);overflow:auto;border:1px solid var(--border);border-radius:8px}.paint-import-preview-table input{font-size:.82rem;min-width:4.5rem}.paint-import-preview-table td:nth-child(3) input{min-width:12rem;width:100%}.paint-import-preview-actions{padding-top:.25rem;border-top:1px solid var(--border)}@media(max-width:860px){.paint-import-preview-body{grid-template-columns:1fr}.paint-import-preview-img{max-height:36vh}.paint-import-preview-table-wrap{max-height:40vh}}.settings-form h2{margin:0;font-size:1.05rem}.settings-page-header{margin-bottom:1.25rem}.settings-page-header-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.settings-shell{display:flex;align-items:flex-start;gap:0;min-height:calc(100vh - 12rem);position:relative}.settings-sidebar{width:240px;flex-shrink:0;border-right:1px solid var(--border);padding:0 .75rem 1rem 0;position:sticky;top:0;align-self:flex-start;max-height:calc(100vh - 6rem);overflow-y:auto}.settings-nav{display:flex;flex-direction:column;gap:.85rem}.settings-nav-group{display:flex;flex-direction:column;gap:.12rem}.settings-nav-group-label{margin:0 0 .15rem;padding:0 .65rem;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.settings-nav-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;padding:.5rem .65rem;border:1px solid transparent;border-left:3px solid transparent;border-radius:8px;background:transparent;color:var(--muted);font:inherit;font-size:.88rem;line-height:1.35;text-align:left;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.settings-nav-item-label{min-width:0}.settings-nav-item-dot{flex-shrink:0;width:7px;height:7px;border-radius:50%;background:var(--accent)}.settings-nav-item:hover{color:var(--text);background:var(--surface)}.settings-nav-item--active{color:var(--text);background:color-mix(in srgb,var(--accent) 14%,var(--surface));border-left-color:var(--accent);font-weight:500}.settings-main{flex:1;min-width:0;padding-left:1.25rem}.settings-main-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem .65rem;margin-bottom:.85rem}.settings-main-title{margin:0;font-size:1.2rem;font-weight:600;color:var(--text)}.settings-menu-badge{display:inline-flex;align-items:center;padding:.12rem .45rem;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.settings-menu-badge--user{background:color-mix(in srgb,var(--accent) 16%,var(--surface));color:var(--text)}.settings-menu-badge--admin{background:var(--surface);color:var(--muted);border:1px solid var(--border)}.settings-nav-toggle,.settings-nav-backdrop,.settings-tab-panel--hidden{display:none}.settings-user-access-list,.settings-user-access-card{gap:.85rem}.settings-user-access-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.75rem 1rem}.settings-user-access-email{margin:0;font-weight:600}.settings-user-access-role{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.5rem .65rem}.settings-user-access-role label{margin:0;min-width:10rem}.settings-user-admin-toggle{margin:0;min-width:auto;align-self:center;white-space:nowrap}.settings-user-access-tools{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.35rem .75rem}.settings-user-access-grid{display:flex;flex-direction:column;gap:.85rem}.settings-user-access-group{display:grid;grid-template-columns:repeat(auto-fill,minmax(13.5rem,1fr));gap:.35rem .85rem}.settings-user-access-group .settings-nav-group-label{grid-column:1 / -1;padding-left:0}.settings-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.settings-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);border-radius:999px;background:var(--bg-elevated);color:var(--muted);font:inherit;font-size:.875rem;line-height:1.2;padding:.45rem .85rem;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.settings-tab:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.settings-tab--active{background:color-mix(in srgb,var(--accent) 16%,var(--bg-elevated));border-color:var(--accent);color:var(--text);font-weight:600}.contact-directory-folders-wrap{display:flex;flex-direction:column}.contact-directory-folders{display:flex;flex-wrap:wrap;gap:.2rem;margin:0;padding:0 .35rem;position:relative;z-index:1}.contact-directory-folder{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--border);border-bottom:none;border-radius:10px 10px 0 0;background:var(--surface2);color:var(--muted);font:inherit;font-size:.85rem;line-height:1.2;padding:.5rem .95rem .55rem;cursor:pointer}.contact-directory-folder:hover{color:var(--text)}.contact-directory-folder:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.contact-directory-folder--active{background:var(--bg-elevated);color:var(--text);font-weight:600;box-shadow:0 1px 0 var(--bg-elevated)}.contact-directory-folder-count{min-width:1.35rem;padding:.08rem .38rem;border-radius:999px;background:color-mix(in srgb,var(--text) 10%,transparent);color:var(--muted);font-size:.72rem;font-weight:600;font-variant-numeric:tabular-nums;text-align:center}.contact-directory-folder--active .contact-directory-folder-count{background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--text)}.contact-directory-folder-panel{margin-top:-1px;border:1px solid var(--border);border-radius:0 10px 10px;padding:1rem;background:var(--bg-elevated)}.contact-directory-settings .contact-import-bar{margin-bottom:.15rem}@media(max-width:1024px){.settings-nav-toggle{display:inline-flex}.settings-sidebar{position:fixed;top:0;left:0;z-index:200;width:min(280px,85vw);max-height:100vh;height:100vh;padding:1rem .85rem 1.25rem;background:var(--bg-elevated);border-right:1px solid var(--border);box-shadow:8px 0 24px #00000059;transform:translate(-105%);transition:transform .2s ease}.settings-shell--nav-open .settings-sidebar{transform:translate(0)}.settings-nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:199;border:none;padding:0;margin:0;background:#00000073;cursor:pointer}.settings-main{padding-left:0}}.settings-unsaved-dialog{max-width:28rem}.settings-section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.settings-section-head h2{margin:0}.settings-pdf-field{display:flex;flex-direction:column;gap:.35rem}.settings-pdf-field-input{display:flex;flex-direction:column;gap:.25rem;margin:0}.settings-pdf-field-label{font-size:.875rem;color:var(--muted)}.settings-pdf-toggle{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;margin:0;align-self:flex-start}.settings-pdf-toggle input{position:absolute;opacity:0;width:0;height:0}.settings-pdf-toggle-track{position:relative;width:2.1rem;height:1.2rem;border-radius:999px;background:color-mix(in srgb,var(--muted) 35%,var(--bg-elevated));border:1px solid var(--border);transition:background .15s ease,border-color .15s ease;flex-shrink:0}.settings-pdf-toggle-thumb{position:absolute;top:1px;left:1px;width:calc(1.2rem - 4px);height:calc(1.2rem - 4px);border-radius:50%;background:var(--text);transition:transform .15s ease}.settings-pdf-toggle input:checked+.settings-pdf-toggle-track{background:color-mix(in srgb,var(--accent) 55%,var(--bg-elevated));border-color:var(--accent)}.settings-pdf-toggle input:checked+.settings-pdf-toggle-track .settings-pdf-toggle-thumb{transform:translate(.9rem)}.settings-pdf-toggle-text{font-size:.75rem;color:var(--muted);white-space:nowrap}.settings-pdf-toggle input:checked~.settings-pdf-toggle-text{color:var(--text)}.logo-preview{padding:1rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated)}.logo-preview img{max-width:280px;max-height:120px;display:block;margin:0 auto}.sds-section h3{margin:0;font-size:1rem}.sds-checks{gap:.45rem}.sds-checks .check{min-width:0}.sds-checks-after{padding-top:.55rem;border-top:1px solid var(--border);gap:.4rem}.sds-checks-after-label{margin:0;font-weight:600;letter-spacing:.01em}.sds-section-dragging{opacity:.55;outline:2px dashed var(--accent)}.sds-drag-handle{cursor:grab;color:var(--muted);-webkit-user-select:none;user-select:none}.sds-file-row{padding:.75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);transition:border-color .15s ease,background .15s ease,outline .15s ease}.sds-file-row-dragover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--bg-elevated));outline:2px dashed var(--accent);outline-offset:-2px}.sds-file-row-name{flex:1 1 8rem;min-width:0;word-break:break-all}.sds-file-row-actions{align-items:center}.sds-packet-page{gap:.75rem;width:900px;max-width:100%;box-sizing:border-box}.sds-setup-grid{display:grid;grid-template-columns:1fr 17.5rem;gap:.85rem;align-items:stretch;width:100%;max-width:100%;box-sizing:border-box}.sds-cover-panel{width:auto;max-width:100%;box-sizing:border-box;min-width:0;height:100%;margin-bottom:0}.sds-cover-meta-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto;gap:.85rem;align-items:end}.sds-package-num-field{width:4.25rem}.sds-package-num-field input{width:100%;max-width:4.25rem;text-align:center;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.sds-package-num-field input::-webkit-outer-spin-button,.sds-package-num-field input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.sds-options-panel{gap:.75rem;width:17.5rem;max-width:100%;box-sizing:border-box;height:100%;margin-bottom:0}.sds-options-panel>h3{margin:0}.sds-options-actions{margin-top:auto;padding-top:.5rem;border-top:1px solid var(--border);gap:.55rem}.sds-filename-preview{margin:0;font-size:.78rem}.sds-filename-preview code{color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em;word-break:break-all}.submittal-package-hint{margin:0;max-width:46rem;line-height:1.45}@media(max-width:900px){.sds-setup-grid{grid-template-columns:1fr;width:100%}.sds-cover-panel,.sds-options-panel{width:100%}}.sds-sections-panel{gap:.5rem;width:100%;max-width:100%;box-sizing:border-box}.sds-sections-hint{align-items:center;gap:.5rem}.sds-sections-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem}.sds-sections-toolbar-spacer{flex:1 1 auto;min-width:.5rem}.sds-sections-empty{margin:0;padding:.75rem .15rem .25rem}.sds-readiness-line{margin:0;font-weight:600;color:var(--muted)}.sds-readiness-line--ok{color:#1f6b3a}.sds-readiness-line--warn{color:#9a6700}.sds-section-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem;max-height:min(36rem,60vh);overflow:auto}.sds-section-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.65rem;align-items:start;padding:.65rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated)}.sds-section-row--dragging{opacity:.55}.sds-section-row--dragover{border-color:var(--accent);outline:2px dashed var(--accent);outline-offset:-2px}.sds-section-row-handle{margin:0;padding:.15rem .35rem;border:none;border-radius:4px;background:transparent;color:var(--muted);cursor:grab;font-size:.85rem;line-height:1.2;letter-spacing:-.05em;-webkit-user-select:none;user-select:none}.sds-section-row-handle:active{cursor:grabbing}.sds-section-row-body{min-width:0;display:flex;flex-direction:column;gap:.3rem;cursor:default}.sds-section-row-top{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .65rem}.sds-section-row-num{font-variant-numeric:tabular-nums;min-width:1.25rem}.sds-section-row-title{font-weight:650;font-size:.92rem}.sds-section-row-spec{max-width:min(18rem,100%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:.05rem .35rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);font-weight:700}.sds-section-row-sub{margin:0;line-height:1.35}.sds-section-row-badges{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.1rem}.sds-att-badge{display:inline-flex;align-items:center;padding:.12rem .45rem;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:.72rem;font-weight:650;letter-spacing:.01em}.sds-att-badge--warn{border-color:color-mix(in srgb,#c69000 45%,var(--border));background:color-mix(in srgb,#f5c518 18%,var(--surface));color:#7a5200}.sds-section-row-actions{display:flex;flex-wrap:wrap;gap:.3rem;justify-content:flex-end}@media(max-width:720px){.sds-section-row{grid-template-columns:auto minmax(0,1fr)}.sds-section-row-actions{grid-column:2;justify-content:flex-start}}.sds-section-editor{width:min(640px,96vw);max-height:min(92vh,860px);display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden}.sds-section-editor-header{flex:0 0 auto;padding:1rem 1.1rem .75rem;border-bottom:1px solid var(--border)}.sds-section-editor-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.sds-section-editor-header h3{margin:0;font-size:1.05rem}.sds-section-editor-packet-meta{display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0}.sds-section-editor-packet-type{text-align:right}.sds-section-editor-intro{margin:.45rem 0 0}.sds-filename-tip{position:relative}.sds-filename-tip-btn{margin:0;padding:0;border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:.95rem;line-height:1}.sds-filename-tip-btn:hover{color:var(--text)}.sds-filename-tip-popover{position:absolute;top:calc(100% + .35rem);right:0;z-index:5;width:min(18rem,70vw);padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 8px 24px #0000002e;color:var(--text);font-size:.78rem;line-height:1.4}.sds-filename-tip-popover code{font-size:.85em;word-break:break-all}.sds-section-editor-body{flex:1 1 auto;min-height:0;overflow:auto;padding:.85rem 1.1rem 1rem;gap:.85rem}.sds-attachments-heading{margin:0;font-size:.92rem;font-weight:650}.sds-attachments-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.sds-file-slot{gap:.45rem;padding:.65rem .7rem;border-radius:8px;background:var(--bg-elevated);transition:border-color .15s ease,background .15s ease,outline .15s ease}.sds-file-slot--filled{border:1px solid var(--border)}.sds-file-slot--empty{border:1px dashed var(--border)}.sds-file-slot--required-empty{border:1px dashed color-mix(in srgb,#c69000 55%,var(--border));background:color-mix(in srgb,#f5c518 10%,var(--bg-elevated))}.sds-file-slot--dragover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--bg-elevated));outline:2px dashed var(--accent);outline-offset:-2px}.sds-file-slot-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.4rem}.sds-file-slot-label{font-size:.82rem;font-weight:650;line-height:1.25}.sds-file-slot-required{flex-shrink:0;padding:.08rem .4rem;border-radius:999px;border:1px solid color-mix(in srgb,#c69000 40%,var(--border));background:color-mix(in srgb,#f5c518 16%,var(--surface));color:#7a5200;font-size:.68rem;font-weight:700;letter-spacing:.01em}.sds-file-slot-name{margin:0;min-height:2.4em;line-height:1.35;word-break:break-word;overflow-wrap:anywhere}.sds-file-slot-actions{margin-top:auto;align-items:center}.sds-section-editor-footer{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1.1rem;border-top:1px solid var(--border);background:var(--surface)}.sds-section-editor-footer-status{min-width:0;flex:1 1 auto;font-size:.8rem;color:var(--muted)}.sds-section-editor-footer-actions{flex:0 0 auto;justify-content:flex-end}@media(max-width:560px){.sds-attachments-grid{grid-template-columns:1fr}.sds-section-editor-header-row{flex-direction:column;align-items:stretch}.sds-section-editor-packet-meta{justify-content:flex-start}}.btn-sm{padding:.35rem .65rem;font-size:.85rem}.job-info-form .job-section{padding:0}.job-section-summary{cursor:pointer;list-style:none;padding:1rem 1.1rem .5rem}.job-section-summary::-webkit-details-marker{display:none}.job-section-summary h3{margin:0;display:inline}.job-section-summary:before{content:"▸ ";color:var(--muted)}.job-section[open] .job-section-summary:before{content:"▾ "}.job-section>:not(summary){padding:0 1.1rem 1.1rem}.grid-span-2{grid-column:1 / -1}.budget-page h3{margin:0 0 .5rem;font-size:1rem;color:var(--accent);text-transform:uppercase;letter-spacing:.03em}.job-section-open{padding:1rem 1.1rem}.budget-inline-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--muted)}.budget-inline-label input,.budget-inline-label select{width:auto;margin-top:0}.budget-pct-input{width:4rem!important;text-align:right}.budget-calc-grid{display:flex;flex-direction:column;gap:.75rem}.budget-calc-row{display:grid;grid-template-columns:7rem 1fr 6rem 6rem auto;gap:.75rem;align-items:end}.budget-calc-label{font-size:.9rem;padding-bottom:.55rem}.budget-calc-ro{display:flex;flex-direction:column;gap:.2rem;padding:.45rem .6rem;border:1px solid var(--border);border-radius:8px;background:var(--surface2);min-height:2.5rem}.budget-calc-combined{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;padding-top:.25rem}.budget-calc-combined .accent{color:var(--accent);font-size:1.1rem}.budget-toolbar{margin-bottom:.5rem}.budget-rows{display:flex;flex-direction:column;gap:.5rem}.budget-row{padding:.65rem .75rem;background:var(--surface2)}.budget-row-fields{display:flex;flex-wrap:wrap;gap:.65rem;align-items:flex-end}.budget-field-code select{min-width:11rem}.budget-field-desc{flex:1 1 12rem;min-width:10rem}.budget-field-money{flex:0 1 7rem;min-width:5.5rem}.money-input{color:var(--accent)}.budget-row-remove{align-self:center;padding:.35rem .5rem}.budget-p7-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));gap:.75rem}.budget-drive-input{width:2.5rem!important;text-align:center}.budget-export-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--surface2)}.budget-status{padding:.5rem .75rem;border-radius:8px;background:var(--surface2)}.checkbox-inline{display:flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.875rem}.checkbox-inline input{width:auto;margin:0}.wrap{flex-wrap:wrap;gap:.75rem}.budget-maker-page h3{margin:0;font-size:1rem}.budget-maker-page-header{justify-content:flex-end;width:100%}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem;overflow:auto;z-index:100}.modal.budget-modal{width:min(920px,100%);max-height:calc(100vh - 4rem);overflow:auto}.modal.budget-modal-wide{width:min(1100px,100%)}.rfi-chip-group{display:flex;flex-direction:column;gap:.35rem}.rfi-chip-group-label{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}.rfi-chip-row,.rfi-impact-seg{display:flex;flex-wrap:wrap;gap:.4rem}.rfi-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.28rem .65rem;border:1px solid var(--border);border-radius:999px;background:var(--surface2);color:var(--muted);font-size:.72rem;font-weight:600;cursor:pointer;line-height:1.2}.rfi-chip:hover{color:var(--text);border-color:var(--accent)}.rfi-chip--selected{background:#f0b42924;border-color:#f0b42980;color:#f0c96a}.rfi-chip-check{font-size:.68rem;line-height:1}.rfi-impact-seg .rfi-chip--selected{background:color-mix(in srgb,var(--surface2) 55%,var(--bg-elevated));border-color:var(--border-strong);color:var(--text);box-shadow:inset 0 1px color-mix(in srgb,var(--text) 6%,transparent)}.rfi-impact-seg .rfi-chip--impact-increase.rfi-chip--selected{background:#f0b42924;border-color:#f0b42980;color:#f0c96a;box-shadow:none}.rfi-impact-seg .rfi-chip--impact-decrease.rfi-chip--selected{background:color-mix(in srgb,var(--ok) 14%,transparent);border-color:color-mix(in srgb,var(--ok) 45%,var(--border));color:var(--ok);box-shadow:none}.rfi-impact-row{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem .75rem}.rfi-impact-row-label{flex:0 0 4.5rem;font-size:.85rem;font-weight:600}.rfi-impact-amount{flex:1 1 10rem;min-width:0;margin:0}.rfi-impact-amount input{width:100%}.rfi-pdf-include-bar{display:flex;align-items:center;gap:.75rem 1.25rem;padding:.75rem 1rem}.rfi-pdf-include-label{font-weight:600;margin:0}.rfi-editor-page{width:min(1240px,100%);max-width:100%;box-sizing:border-box;gap:.85rem}.rfi-editor-page .card{padding:1.05rem 1.1rem;margin-bottom:0}.rfi-editor-page .card.stack{gap:.65rem}.rfi-editor-page .card>h2,.rfi-editor-page .card>.row-between{margin:0 0 .15rem}.rfi-editor-page .card h2{font-size:1.1rem;font-weight:700;line-height:1.3}.rfi-editor-card-hint{font-weight:500;margin-left:.35rem}.rfi-notes-card--collapsed{padding-top:.7rem;padding-bottom:.7rem}.rfi-notes-card-head{align-items:center;gap:.5rem}.rfi-notes-card-head h2{margin:0}.rfi-notes-has-indicator{display:inline-block;width:.4rem;height:.4rem;margin-left:.45rem;margin-bottom:.12rem;border-radius:999px;background:var(--muted);vertical-align:middle}.rfi-notes-add-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem .75rem;width:100%;margin:0;padding:0;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.rfi-notes-add-row:hover .rfi-notes-add-label{color:var(--text)}.rfi-notes-add-label{color:var(--muted);font-size:.9rem;font-weight:600}.rfi-editor-page label>input,.rfi-editor-page label>textarea,.rfi-editor-page label>select,.rfi-editor-page label>.date-input,.rfi-editor-page .rfi-impact-amount input,.rfi-editor-page .card>textarea{margin-top:.3rem}.rfi-editor-page .card>h2+textarea,.rfi-editor-page .card>.row-between+textarea{margin-top:0}.rfi-editor-main>form.stack{gap:20px}.rfi-editor-breadcrumb{margin:0 0 .35rem}.rfi-editor-title-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem}.rfi-editor-title-row h1{margin:0;flex:1 1 12rem;min-width:0;font-size:1.35rem;line-height:1.25;word-break:break-word}.rfi-editor-title-actions{flex:0 0 auto;margin-left:auto}.rfi-editor-timeline{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .45rem;margin:0;font-size:13px;color:var(--muted);line-height:1.35}.rfi-editor-timeline-sep{color:color-mix(in srgb,var(--muted) 70%,transparent);-webkit-user-select:none;user-select:none}.rfi-editor-due-pill{display:inline-flex;align-items:center;padding:.12rem .5rem;border-radius:999px;font-size:.72rem;font-weight:600;white-space:nowrap;border:1px solid var(--border);background:var(--surface2);color:var(--muted)}.rfi-editor-due-pill--soon{background:#f0b42929;color:#f0c96a;border-color:color-mix(in srgb,#f0c96a 40%,var(--border))}.rfi-editor-due-pill--overdue{background:#ef444429;color:#fca5a5;border-color:color-mix(in srgb,#fca5a5 40%,var(--border))}.rfi-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start;width:100%;box-sizing:border-box}.rfi-editor-main{min-width:0}.rfi-editor-rail{width:320px;max-width:100%;box-sizing:border-box;position:sticky;top:20px;align-self:start;gap:20px}.rfi-editor-rail-card h3{margin:0 0 .15rem;font-size:.95rem}.rfi-editor-status-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .65rem}.rfi-editor-status-caption{margin:0}.rfi-editor-rail-checks{gap:.45rem}.rfi-editor-rail-actions{padding-top:.5rem;border-top:1px solid var(--border);gap:.55rem}.rfi-readiness-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem}.rfi-readiness-item{display:flex;align-items:flex-start;gap:.4rem;margin:0;font-size:.78rem;font-weight:600;line-height:1.35}.rfi-readiness-mark{flex:0 0 .85rem;text-align:center}.rfi-readiness-item--ok{color:#1f6b3a}.rfi-readiness-item--warn{color:#9a6700}.rfi-readiness-item--optional{color:var(--muted);font-weight:500}.rfi-editor-delete-link{display:inline-block;margin:.15rem 0 0;padding:0;border:none;background:none;color:color-mix(in srgb,#e57373 85%,var(--muted));font:inherit;font-size:.85rem;text-decoration:underline;text-underline-offset:2px;cursor:pointer;align-self:flex-start}.rfi-editor-delete-link:hover:not(:disabled){color:#ef9a9a}.rfi-editor-delete-link:disabled{opacity:.55;cursor:not-allowed}@media(max-width:980px){.rfi-editor-layout{grid-template-columns:1fr}.rfi-editor-rail{width:100%;position:static}}.rfi-attachments-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:.55rem;align-items:start}.rfi-attachments-checks>.muted.small{margin:0}.rfi-attachments-chip-row{align-items:center}.rfi-attachments-other-input{width:12.5rem;flex:0 0 12.5rem;min-width:0;margin:0;padding:.28rem .75rem;border:1px solid var(--border);border-radius:999px;background:var(--surface2);color:var(--text);font-size:.72rem;font-weight:500;line-height:1.2}.rfi-attachments-other-input::placeholder{color:var(--muted);font-weight:500}.rfi-attachments-other-input:hover,.rfi-attachments-other-input:focus{border-color:var(--accent);outline:none}.rfi-attachments-upload{gap:.4rem;min-width:0}.rfi-attachments-upload>.row-between{margin:0}.rfi-attachments-upload>.row-between>p{margin:0}.rfi-attachments-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;min-height:7.5rem;padding:1.15rem;text-align:center;border:1px dashed var(--border);border-radius:8px;background:var(--surface2);cursor:pointer;transition:border-color .15s ease,background .15s ease}.rfi-attachments-drop:hover,.rfi-attachments-drop:focus-visible{border-color:var(--accent);outline:none}.rfi-attachments-drop-dragover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface2))}.rfi-attachments-drop-has-files{align-items:stretch;justify-content:flex-start;text-align:left;cursor:default}.rfi-attachments-list{list-style:none;margin:0;padding:0;width:100%;max-height:10rem;overflow:auto}.rfi-attachments-list-item{width:100%;padding:.25rem 0}.rfi-attachments-filename{word-break:break-all}.modal.rfi-ai-modal{width:min(1100px,100%);max-height:calc(100vh - 4rem);overflow:auto}.rfi-ai-header{align-items:flex-start;gap:1rem}.rfi-ai-header h3{margin:0 0 .25rem}.rfi-ai-col-labels{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.rfi-ai-accent-label{color:var(--accent)}.rfi-ai-columns{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.rfi-ai-readonly{opacity:.85;background:var(--surface2)}.text-ok{color:var(--ok)}@media(max-width:720px){.rfi-ai-col-labels,.rfi-ai-columns{grid-template-columns:1fr}}.ewo-editor-page .page-header{margin-bottom:1rem}.ewo-editor-shell{width:100%;max-width:1076px;box-sizing:border-box}.ewo-editor-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1.25rem}.ewo-editor-header-left{display:flex;flex-direction:column;gap:.35rem;min-width:0}.ewo-editor-header-left h1{margin:0}.ewo-editor-header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem;margin-left:auto}.ewo-editor-saved{margin-right:.15rem}.ewo-header-divider{width:1px;align-self:stretch;min-height:1.75rem;background:var(--border);flex-shrink:0}.ewo-header-delete{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;padding:.35rem 0 .35rem .15rem;border:none;background:transparent;color:var(--muted);font:inherit;font-size:.85rem;font-weight:500;line-height:1.2;cursor:pointer;text-decoration:none}.ewo-header-delete:hover:not(:disabled){color:var(--danger);text-decoration:underline}.ewo-header-delete:disabled{opacity:.45;cursor:not-allowed}.ewo-header-delete:focus{outline:none}.ewo-header-delete:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.ewo-detection-toast{display:inline-flex;align-items:center;gap:.45rem;max-width:fit-content;margin:0 0 .75rem;padding:.35rem .55rem .35rem .65rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--ok) 40%,var(--border));background:color-mix(in srgb,var(--ok) 8%,transparent);color:var(--text);font-size:.82rem;font-weight:500;line-height:1.3}.ewo-detection-toast-dot{width:.45rem;height:.45rem;border-radius:50%;background:var(--ok);flex-shrink:0}.ewo-detection-toast-text{min-width:0}.ewo-detection-toast-dismiss{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;padding:.1rem .25rem;border:none;border-radius:4px;background:transparent;color:var(--muted);font:inherit;font-size:.75rem;line-height:1;cursor:pointer}.ewo-detection-toast-dismiss:hover{color:var(--text)}.ewo-detection-toast-dismiss:focus{outline:none}.ewo-detection-toast-dismiss:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ewo-editor-layout{display:grid;grid-template-columns:minmax(280px,360px) 700px;gap:1rem;align-items:start}.ewo-controls h2{margin:0;font-size:1rem}.ewo-controls h3{margin:.5rem 0 0;font-size:.85rem}.ewo-controls{min-width:0}.ewo-editor-segmented.segmented-control{display:flex;width:100%;margin-bottom:.85rem;box-sizing:border-box}.ewo-editor-segmented .segmented-control__btn{flex:1 1 auto;min-width:0;text-align:center;padding-left:.55rem;padding-right:.55rem;white-space:nowrap}.ewo-options-modal{width:min(520px,92vw);max-height:min(85vh,720px);overflow:auto}.ewo-gc-check-stack{gap:.45rem}.ewo-editor-tab-panel{padding-top:.15rem}.ewo-controls-panel{gap:.75rem}.ewo-mat-labor-panel,.ewo-other-panel{gap:.85rem}.ewo-panel-section{display:flex;flex-direction:column;gap:.55rem}.ewo-panel-section+.ewo-panel-section{padding-top:.75rem;border-top:1px solid var(--border)}.ewo-panel-section-title{margin:0;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);line-height:1.2}.ewo-panel-footnote{margin:0;font-size:11.5px;line-height:1.35}.ewo-panel-footnote a{color:var(--accent)}.ewo-dark-select{color-scheme:dark;width:100%}.ewo-dark-select option{background:var(--surface);color:var(--text)}.ewo-inline-action-row{display:flex;align-items:flex-end;gap:.5rem}.ewo-field--qty{width:72px;flex:0 0 72px}.ewo-field--flex{flex:1 1 auto;min-width:0}.ewo-add-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;flex:1 1 auto;min-height:2rem}.ewo-add-btn--compact{flex:0 0 auto;padding-left:.65rem;padding-right:.65rem}.ewo-add-btn:disabled{opacity:.38;cursor:not-allowed}.ewo-material-recents{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.ewo-material-recents-label{font-size:12px;font-weight:500;margin-right:.1rem}.ewo-material-recent-chip{padding:.2rem .55rem;border-radius:999px;border:1px solid var(--border);background:var(--surface2);color:var(--text-secondary);font:inherit;font-size:11.5px;font-weight:600;line-height:1.2;cursor:pointer;max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ewo-material-recent-chip:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.ewo-material-recent-chip--active{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.ewo-material-recent-chip:focus{outline:none}.ewo-material-recent-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ewo-material-search{position:relative;display:flex;align-items:center}.ewo-material-search-icon{position:absolute;left:.65rem;color:var(--muted);pointer-events:none}.ewo-material-search-input{width:100%;box-sizing:border-box;padding:.45rem .65rem .45rem 2rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);color:var(--text);font:inherit;font-size:13px}.ewo-material-search-input:focus{outline:none}.ewo-material-search-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.ewo-material-results{max-height:172px;overflow-x:hidden;overflow-y:auto;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.ewo-material-empty{margin:0;padding:1.1rem .85rem;text-align:center;font-size:12px;line-height:1.4}.ewo-material-empty a{color:var(--accent)}.ewo-material-result{display:flex;align-items:center;gap:.45rem;width:100%;margin:0;padding:.45rem .6rem;border:none;border-bottom:1px solid var(--border);border-radius:0;background:transparent;color:inherit;font:inherit;font-size:12.5px;text-align:left;cursor:pointer;box-sizing:border-box}.ewo-material-result:last-child{border-bottom:none}.ewo-material-result:hover,.ewo-material-result--highlight{background:color-mix(in srgb,var(--accent) 6%,transparent)}.ewo-material-result--selected{background:color-mix(in srgb,var(--accent) 10%,transparent)}.ewo-material-result:focus{outline:none}.ewo-material-result:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.ewo-material-result-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.ewo-material-result-category{flex:0 0 auto;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.ewo-material-result-price{flex:0 0 auto;color:var(--muted);font-variant-numeric:tabular-nums;font-weight:500}.ewo-material-selected{display:flex;align-items:center;gap:.45rem;padding:.4rem .55rem .4rem .7rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.ewo-material-selected-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;color:var(--accent)}.ewo-material-selected-price{flex-shrink:0;font-size:12px;font-variant-numeric:tabular-nums}.ewo-material-selected-clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0 0 0 auto;padding:.15rem .3rem;border:none;border-radius:4px;background:transparent;color:var(--muted);font:inherit;font-size:.75rem;line-height:1;cursor:pointer;flex-shrink:0}.ewo-material-selected-clear:hover{color:var(--text)}.ewo-material-selected-clear:focus{outline:none}.ewo-material-selected-clear:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ewo-plus-icon{flex-shrink:0}.ewo-slider-row{display:flex;align-items:center;gap:.5rem}.ewo-slider-label{flex:0 0 56px;font-size:12px;font-weight:500;color:var(--muted);line-height:1.2}.ewo-slider-label--scan{flex-basis:64px}.ewo-quiet-reset{-webkit-appearance:none;-moz-appearance:none;appearance:none;align-self:flex-end;margin:.15rem 0 0;padding:0;border:none;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:500;line-height:1.2;cursor:pointer;text-decoration:none}.ewo-quiet-reset:hover{color:var(--accent)}.ewo-quiet-reset:focus{outline:none}.ewo-quiet-reset:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.ewo-range{flex:1 1 auto;min-width:0;accent-color:var(--accent)}.ewo-value-pill{flex:0 0 auto;min-width:42px;padding:.2rem .45rem;border-radius:999px;border:1px solid var(--border);background:var(--surface2);color:var(--text-secondary);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;text-align:center;line-height:1.2}.ewo-font-ledger{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface)}.ewo-font-ledger-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:2.15rem;padding:.3rem .65rem;border-bottom:1px solid var(--border)}.ewo-font-ledger-row:last-child{border-bottom:none}.ewo-font-ledger-label{font-size:13px;font-weight:500;color:var(--muted);min-width:0}.ewo-font-ledger-label strong{color:var(--text-secondary);font-weight:700}.ewo-font-ledger-cell{display:flex;align-items:center;justify-content:flex-end;flex-shrink:0}.ewo-font-pt-input{width:56px;text-align:right;padding:.3rem .4rem;font-variant-numeric:tabular-nums}.ewo-font-color-input{width:56px;height:26px;padding:0;border:1px solid var(--border);border-radius:6px;background:transparent;cursor:pointer}.ewo-font-color-input:focus{outline:none}.ewo-font-color-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ewo-apply-fonts-btn{width:100%;justify-content:center}.ewo-scan-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.ewo-scan-actions .btn{width:100%;justify-content:center}.ewo-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem .5rem}.ewo-field{display:flex;flex-direction:column;gap:.25rem;min-width:0;margin:0}.ewo-field--full{grid-column:1 / -1}.ewo-field-label{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);line-height:1.2}.ewo-status-chips{display:flex;flex-wrap:wrap;gap:.4rem}.ewo-status-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .7rem;border-radius:999px;border:1px solid var(--border);background:var(--surface2);color:var(--text-secondary);font:inherit;font-size:12px;font-weight:600;line-height:1.2;cursor:pointer}.ewo-status-chip:hover{color:var(--text);border-color:color-mix(in srgb,var(--ok) 35%,var(--border))}.ewo-status-chip:focus{outline:none}.ewo-status-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ewo-status-chip-dot{width:.4rem;height:.4rem;border-radius:50%;background:color-mix(in srgb,var(--muted) 70%,transparent);flex-shrink:0}.ewo-status-chip--on{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,var(--border));background:color-mix(in srgb,var(--ok) 12%,transparent)}.ewo-status-chip--on .ewo-status-chip-dot{background:var(--ok)}.ewo-totals-block{display:flex;flex-direction:column;gap:.5rem}.ewo-mini-ledger{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface)}.ewo-mini-ledger-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:2.1rem;padding:.35rem .7rem;border-bottom:1px solid var(--border)}.ewo-mini-ledger-row:last-child{border-bottom:none}.ewo-mini-ledger-label{font-size:13px;font-weight:500;color:var(--muted)}.ewo-mini-ledger-value{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text);text-align:right}.ewo-mini-ledger-row--budget{background:color-mix(in srgb,var(--surface2) 85%,var(--bg))}.ewo-mini-ledger-row--budget .ewo-mini-ledger-label{font-weight:600;color:var(--text)}.ewo-mini-ledger-value--ok{color:var(--ok);font-weight:700}.ewo-grand-total-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:10px 14px;border-radius:10px;border:1px solid color-mix(in srgb,var(--ok) 40%,var(--border));background:color-mix(in srgb,var(--ok) 9%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--ok) 12%,transparent),0 0 12px color-mix(in srgb,var(--ok) 8%,transparent)}.ewo-grand-total-label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ok)}.ewo-grand-total-value{font-size:17px;font-weight:700;color:var(--ok);font-variant-numeric:tabular-nums;line-height:1.2}.ewo-panel-details{border:1px solid var(--border);border-radius:10px;background:var(--surface2);overflow:hidden}.ewo-panel-details-summary{display:flex;align-items:center;gap:.45rem;padding:8px 12px;cursor:pointer;font-size:13px;font-weight:600;color:var(--text-secondary);list-style:none;-webkit-user-select:none;user-select:none}.ewo-panel-details-summary::-webkit-details-marker{display:none}.ewo-panel-details-summary::marker{content:""}.ewo-panel-details-chevron{width:.45rem;height:.45rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .15s ease;flex-shrink:0}.ewo-panel-details[open] .ewo-panel-details-chevron{transform:rotate(45deg)}.ewo-panel-details-summary:hover{color:var(--text);background:color-mix(in srgb,var(--accent) 6%,transparent)}.ewo-panel-details-summary:focus{outline:none}.ewo-panel-details-summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.ewo-panel-details-body{padding:0 10px 12px;border-top:1px solid var(--border)}.ewo-notes-textarea{display:block;width:100%;min-height:54px;margin:0;box-sizing:border-box;resize:vertical}.ewo-overlay-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.15rem}.ewo-overlay-toolbar .btn{width:100%;justify-content:center}.ewo-overlay-toolbar .btn:disabled{opacity:.38}.ewo-overlay-list{list-style:none;margin:0;padding:0;max-height:150px;overflow-x:hidden;overflow-y:auto;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.ewo-overlay-group-header{padding:.4rem .5rem .2rem;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.ewo-overlay-row{display:flex;align-items:center;justify-content:space-between;gap:.65rem;width:calc(100% - 8px);margin:2px 4px;padding:6px 8px;border:1px solid transparent;border-radius:7px;background:transparent;color:inherit;font:inherit;font-size:.8rem;line-height:1.25;cursor:pointer;text-align:left;box-sizing:border-box}.ewo-overlay-row:hover{background:color-mix(in srgb,var(--accent) 5%,transparent)}.ewo-overlay-row--selected{background:color-mix(in srgb,var(--accent) 9%,transparent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.ewo-overlay-row:focus{outline:none}.ewo-overlay-row:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ewo-overlay-row-name{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.ewo-overlay-row-value{flex-shrink:0;color:var(--muted);font-variant-numeric:tabular-nums;font-weight:500}.ewo-scan-setup{padding:.65rem;border:1px solid var(--border);border-radius:8px;background:var(--surface2)}.ewo-scan-area-card{padding:.55rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-elevated)}.ewo-scan-area-card.active{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent)}.ewo-scan-status{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.ewo-scan-status.ok{color:var(--ok)}.ewo-canvas-setup-hint{margin-bottom:.5rem;padding:.55rem .75rem;border-radius:8px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent) 10%,var(--surface));font-size:.85rem}input.readonly{opacity:.85;cursor:default}.ewo-overlay-total{white-space:nowrap;font-weight:600}.ewo-total-row{position:relative;display:block;height:1.25em;white-space:nowrap}.ewo-total-label{position:absolute;top:0;left:0;opacity:.85}.ewo-total-amount{position:absolute;top:0;font-variant-numeric:tabular-nums}.ewo-overlay-selected.ewo-overlay-total{outline:2px dashed color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:2px}.ewo-spaced-row{position:relative;display:block;height:1.25em;white-space:nowrap}.ewo-spaced-segment{position:absolute;top:0;font-variant-numeric:tabular-nums}.ewo-overlay-spaced{white-space:nowrap}.ewo-canvas-panel{width:700px;max-width:100%;box-sizing:border-box;padding:.75rem;min-height:520px}.ewo-canvas-wrap{display:flex;flex-direction:column;min-height:0}.ewo-canvas-toolbar{margin-bottom:.5rem;gap:.5rem}.ewo-canvas-zoom-label{min-width:3rem;text-align:center;font-variant-numeric:tabular-nums}.ewo-canvas-scroll{overflow:auto;max-height:calc(100vh - 12rem)}.ewo-canvas-stage{position:relative;margin:0 auto;background:#fff;box-shadow:0 1px 8px #0003}.ewo-canvas-bg{display:block;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;user-select:none}.ewo-canvas-empty{min-height:420px;display:flex;align-items:center;justify-content:center;padding:2rem;text-align:center;border:1px dashed var(--border);border-radius:8px}.ewo-overlay{position:absolute;cursor:grab;font-family:Helvetica,Arial,sans-serif;font-weight:600;line-height:1.25;white-space:nowrap;-webkit-user-select:none;user-select:none;touch-action:none;text-shadow:0 0 2px #fff,0 0 4px #fff}.ewo-overlay-selected{outline:2px dashed var(--accent);outline-offset:2px}.ewo-overlay-dragging{cursor:grabbing;opacity:.92}.ewo-scan-box{position:absolute;border:2px dashed;box-sizing:border-box;cursor:move;z-index:4;touch-action:none}.ewo-scan-box-selected{border-style:solid;z-index:5}.ewo-scan-box-label{position:absolute;top:-1.1rem;left:0;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;pointer-events:none;white-space:nowrap}.ewo-scan-handle{position:absolute;border:1px solid #fff;box-sizing:border-box;touch-action:none}.ewo-scan-handle-nw{top:-4px;left:-4px;cursor:nwse-resize}.ewo-scan-handle-ne{top:-4px;right:-4px;cursor:nesw-resize}.ewo-scan-handle-sw{bottom:-4px;left:-4px;cursor:nesw-resize}.ewo-scan-handle-se{bottom:-4px;right:-4px;cursor:nwse-resize}.banner-ok{background:color-mix(in srgb,var(--ok) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--ok) 40%,var(--border));color:var(--text)}@media(max-width:960px){.ewo-editor-layout{grid-template-columns:1fr}.ewo-canvas-panel{width:100%}.ewo-canvas-scroll{max-height:none}}.budget-metrics-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.5rem;padding:.75rem;border:1px solid var(--border);border-radius:8px;background:var(--surface2)}.budget-metric{display:flex;flex-direction:column;gap:.2rem}.budget-metric.ok strong{color:var(--ok)}.budget-metric.warn strong{color:var(--warn)}.budget-manpower-supervision-opt{white-space:nowrap}.budget-summary-inputs label{min-width:8rem}.budget-scan-status{align-self:end;padding-bottom:.55rem}.budget-drop-hint{padding:1.5rem;text-align:center;border:1px dashed var(--border);border-radius:8px}.budget-lines-section-dragover .budget-drop-hint,.budget-lines-section-dragover.budget-lines-table{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.budget-lines-section-dragover{outline:2px dashed color-mix(in srgb,var(--accent) 55%,var(--border));outline-offset:-2px}.budget-export-combine{align-self:center}.budget-tools-card{gap:.65rem}.budget-tools-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.budget-tools-row--primary{flex-wrap:wrap}.budget-tools-spacer{flex:1 1 auto;min-width:.5rem}.budget-tools-divider{width:1px;align-self:stretch;min-height:1.75rem;background:var(--border);flex-shrink:0}.budget-manpower-push-actions{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto}.budget-manpower-status-pill{display:inline-flex;align-items:center;gap:.45rem;margin-left:auto;max-width:100%;padding:.3rem .7rem;border-radius:999px;border:1px solid var(--border);background:var(--surface2);color:var(--text-secondary);font-size:12px;font-weight:500;line-height:1.3;cursor:default;-webkit-user-select:none;user-select:none}.budget-manpower-status-dot{width:.45rem;height:.45rem;border-radius:50%;background:var(--ok);flex-shrink:0}.budget-save-as-line{margin:0;font-size:12px;color:var(--muted);line-height:1.4}.budget-save-as-line code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;color:var(--text-secondary);background:transparent;padding:0}.budget-toggle-chip{display:inline-flex;align-items:center;gap:.4rem;height:2rem;min-height:2rem;margin:0;padding:0 .75rem;border-radius:999px;border:1px solid var(--border);background:var(--surface2);color:var(--text-secondary);font:inherit;font-size:12px;font-weight:600;line-height:1;cursor:pointer;white-space:nowrap}.budget-toggle-chip:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.budget-toggle-chip--on{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.budget-toggle-chip-dot{width:.4rem;height:.4rem;border-radius:50%;background:color-mix(in srgb,var(--muted) 70%,transparent);flex-shrink:0}.budget-toggle-chip--on .budget-toggle-chip-dot{background:var(--accent)}.budget-line-toolbar{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px}.budget-toolbar-group{display:inline-flex;flex-wrap:wrap;align-items:stretch;gap:6px}.budget-toolbar-divider{width:1px;align-self:stretch;min-height:1.75rem;background:var(--border);flex-shrink:0}.budget-toolbar-btn{display:inline-flex;align-items:center;gap:.35rem;height:2rem;min-height:2rem;padding:0 .65rem;font-size:13px;font-weight:600;line-height:1}.budget-toolbar-btn:disabled{opacity:.38;cursor:not-allowed}.budget-toolbar-btn--danger:hover:not(:disabled){color:var(--danger);border-color:color-mix(in srgb,var(--danger) 55%,var(--border))}.budget-toolbar-icon{width:14px;height:14px;flex-shrink:0}.budget-attached-cluster{display:inline-flex;flex-wrap:nowrap;align-items:stretch;max-width:100%;overflow:hidden;border-radius:.5rem;border:1px solid color-mix(in srgb,var(--accent) 50%,transparent);background:var(--surface2);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent),0 0 12px color-mix(in srgb,var(--accent) 12%,transparent)}.budget-attached-cluster-label{display:inline-flex;align-items:center;padding:0 .55rem;border-right:1px solid var(--border);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap;flex-shrink:0}.budget-bucket-cluster-select{width:auto;min-width:340px;max-width:480px;margin:0;padding:0 .65rem;border:none;border-right:1px solid var(--border);border-radius:0;background:var(--bg-elevated);color:var(--text);color-scheme:dark;font-size:13px;font-weight:500;line-height:2rem;height:2rem;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.budget-bucket-cluster-select option{background:var(--surface);color:var(--text)}.budget-bucket-cluster-select:disabled{opacity:.55;cursor:not-allowed}.budget-bucket-cluster-select:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.budget-attached-cluster-btn{display:inline-flex;align-items:center;gap:.35rem;height:2rem;min-height:2rem;margin:0;padding:0 .7rem;border:none;border-right:1px solid var(--border);border-radius:0;background:transparent;color:var(--text-secondary);font:inherit;font-size:13px;font-weight:600;line-height:1;cursor:pointer;white-space:nowrap;flex-shrink:0}.budget-attached-cluster-btn:last-child{border-right:none}.budget-attached-cluster-btn:hover:not(:disabled){color:var(--text);background:color-mix(in srgb,var(--accent) 8%,transparent)}.budget-attached-cluster-btn:disabled{opacity:.38;cursor:not-allowed}.budget-attached-cluster-btn--push{background:var(--accent);color:#fff}.budget-attached-cluster-btn--push:hover:not(:disabled){background:var(--accent-hover);color:#fff}.budget-attached-cluster-btn--push:disabled{background:var(--accent);color:#fff}.budget-selection-chip{display:inline-flex;align-items:center;gap:.45rem;align-self:center;padding:.2rem .55rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-size:12px;font-weight:600;line-height:1.2;white-space:nowrap}.budget-selection-chip-clear{margin:0;padding:0;border:none;background:none;color:inherit;font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.budget-selection-chip-clear:hover{color:var(--accent-hover)}.budget-lines-table{max-height:420px;overflow:auto}.budget-lines-table table{table-layout:fixed;width:100%}.budget-lines-table .budget-col-check{width:2.25rem}.budget-lines-table .budget-col-bucket{width:15rem}.budget-lines-table .budget-col-category{width:8.5rem}.budget-lines-table .budget-col-code{width:4.25rem}.budget-lines-table .budget-col-desc{width:12rem}.budget-lines-table .budget-col-qty,.budget-lines-table .budget-col-unitcost{width:4.75rem}.budget-lines-table .budget-col-amount{width:7rem}.budget-lines-table .budget-col-hours{width:7.5ch}.budget-lines-table .budget-col-hours .budget-cell-num{width:7ch;min-width:7ch;padding-left:.3rem;padding-right:.3rem}.budget-lines-table .budget-col-uom{width:3.25rem}.budget-lines-table tr.assigned td:first-child+td{color:var(--ok);font-size:.72rem;line-height:1.25;white-space:normal;word-break:break-word;vertical-align:top}.budget-lines-table .num{text-align:right;font-variant-numeric:tabular-nums}.budget-notes-input,.budget-cell-input{margin-top:0;padding:.35rem .5rem;font-size:.85rem;min-width:0;width:100%;box-sizing:border-box}.budget-hours-pdf-check{text-align:center;width:1.5rem;max-width:1.5rem;padding-left:.25rem!important;padding-right:.25rem!important;vertical-align:middle}.budget-hours-pdf-check .budget-hours-pdf-header-icon{width:14px;height:14px;display:block;margin:0 auto}.budget-hours-pdf-check input{width:.875rem;height:.875rem;margin:0;cursor:pointer}tr.budget-hours-pdf-hidden td{opacity:.55}.budget-cell-code,.budget-cell-desc,.budget-cell-uom{min-width:0}.budget-cell-num{min-width:0;text-align:right;font-size:.8rem;padding-left:.25rem;padding-right:.25rem}.budget-cell-notes{min-width:8rem}.budget-lines-table select.budget-cell-input{padding-right:1.5rem}.budget-settings-modal{max-height:calc(100vh - 3rem)}.budget-settings-tabs{display:flex;flex-wrap:wrap;gap:.35rem;padding-bottom:.65rem;border-bottom:1px solid var(--border)}.budget-settings-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);border-radius:999px;background:var(--surface2);color:var(--muted);font:inherit;font-size:.8rem;line-height:1.2;padding:.4rem .75rem;cursor:pointer}.budget-settings-tab:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.budget-settings-tab--active{background:color-mix(in srgb,var(--accent) 16%,var(--surface2));border-color:var(--accent);color:var(--text)}.budget-settings-tab-body{flex:1;min-height:0;overflow:auto}.budget-settings-panel{min-height:12rem}.budget-settings-footer{padding-top:.5rem;border-top:1px solid var(--border)}.budget-mini-table{max-height:240px;overflow:auto}.budget-settings-grid{align-items:start}.budget-table-select input[type=checkbox]{width:auto;margin:0}.budget-bucket-editor{background:var(--surface2)}.budget-split-line-info{background:var(--surface2);padding:.75rem}.budget-split-row label{flex:1 1 8rem;min-width:6rem}.budget-split-rows{gap:.5rem}@media(max-width:900px){.budget-calc-row{grid-template-columns:1fr 1fr}.budget-calc-label{grid-column:1 / -1;padding-bottom:0}}@media(max-width:720px){.grid-2,.grid-3{grid-template-columns:1fr}.page-header{flex-direction:column}}.paint-submittal-page{width:1200px;max-width:100%;box-sizing:border-box}.wc-submittal-page,.frp-submittal-page,.po-tracker-page,.budget-maker-page,.billing-page,.job-dashboard,.project-rfis-page,.excel-paste-page,.work-orders-page{width:900px;max-width:100%;box-sizing:border-box}.frp-submittal-page-header{gap:.65rem}.frp-submittal-header-actions{justify-content:flex-start}.paint-items-section h3{margin:0}.paint-items-toolbar{align-items:flex-start;gap:1rem}.paint-lookup-hint{margin:.25rem 0 0;max-width:42rem}.paint-lookup-hint kbd{font-family:Consolas,monospace;font-size:.85em;padding:.1em .35em;border:1px solid var(--border);border-radius:4px;background:var(--surface2)}.paint-color-field{display:flex;gap:.35rem;align-items:center;min-width:0}.paint-color-field input{flex:1;min-width:0;margin-top:0}.paint-color-field--warn input{color:#a86400}.paint-color-field--warn input::placeholder{color:#a86400;opacity:1}.paint-color-lookup-btn{flex-shrink:0;margin-top:0;padding:0 .55rem;white-space:nowrap}.paint-color-lookup-btn--icon{display:inline-flex;align-items:center;justify-content:center;width:36px;min-width:36px;height:var(--paint-control-height, 32px);padding:0}.paint-floor-toggle{flex-shrink:0;white-space:nowrap;margin:0;font-size:.85rem;color:var(--muted)}.paint-add-buttons{display:flex;gap:.35rem;flex-shrink:0;align-items:center}.paint-items-toolbar-actions{display:flex;align-items:center;gap:.85rem;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.paint-brushouts-toolbar{flex-shrink:0}.brushouts-send-modal{max-width:36rem;width:min(96vw,36rem)}.brushouts-send-presets{margin-top:-.25rem}.brushouts-send-list{display:flex;flex-direction:column;gap:.35rem;max-height:min(50vh,22rem);overflow-y:auto;padding:.35rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.brushouts-send-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;padding:.35rem 0}.brushouts-send-row-main{display:flex;flex-direction:column;align-items:flex-start;gap:.12rem;min-width:0}.brushouts-send-color{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.brushouts-send-meta{font-size:.78rem;color:var(--muted, #64748b);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.brushouts-send-meta--missing{color:#b45309;font-weight:600}.brushout-status-pill{font-size:.7rem;font-weight:600;padding:.15rem .45rem;border-radius:999px;white-space:nowrap}.brushout-status-pill--new{background:color-mix(in srgb,var(--primary) 18%,transparent);color:var(--primary)}.brushout-status-pill--on-sheet{background:color-mix(in srgb,#2d8a4e 18%,transparent);color:#2d8a4e}.brushout-status-pill--revised{background:color-mix(in srgb,#c47a00 20%,transparent);color:#a86400}.brushout-status-pill--pending{background:var(--surface-muted, #eee);color:var(--muted)}.btn-icon{min-width:2.25rem;width:2.25rem;height:2.25rem;padding:0;font-size:1.05rem;line-height:1;font-weight:700}.btn-danger-soft{color:var(--danger, #e55)}.btn-danger{background:var(--danger, #e55);color:#fff;border-color:color-mix(in srgb,var(--danger, #e55) 70%,#000)}.btn-danger:hover:not(:disabled){filter:brightness(1.05)}.btn-success-soft{color:#2d8a4e;border-color:color-mix(in srgb,#2d8a4e 45%,var(--border))}.rfi-status-badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;line-height:1.25}.rfi-status-badge--open{color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--ok) 40%,var(--border))}.rfi-status-badge--closed{color:var(--text-secondary);background:var(--surface2);border:1px solid var(--border)}.rfi-list-status-summary{margin:.2rem 0 0}.paint-items-grid{display:flex;flex-direction:column;gap:.2rem;overflow-x:hidden;padding-bottom:.25rem;min-width:0}.paint-items-header,.paint-item-row{display:flex;align-items:center;gap:6px;min-width:0;width:100%;box-sizing:border-box}.paint-items-header{padding:0 0 .15rem;border-bottom:1px solid var(--border);margin-bottom:.1rem}.paint-item-row{padding:.15rem 0;border-radius:6px;--paint-control-height: 32px}.paint-item-row--dragging{opacity:.55}.paint-item-row--dragover{outline:2px dashed var(--accent);outline-offset:-2px}.paint-row-handle,.paint-row-handle-spacer{display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px;width:20px;min-width:20px;min-height:2rem}.paint-row-handle{margin:0;padding:0;border:none;border-radius:4px;background:transparent;color:var(--muted);cursor:grab;font-size:.85rem;line-height:1;letter-spacing:-.08em;-webkit-user-select:none;user-select:none}.paint-row-handle:active{cursor:grabbing}.paint-col{display:flex;flex-direction:column;gap:0;min-width:0}.paint-col-label{flex:0 0 56px;width:56px;min-width:56px}.paint-col-floor{flex:0 0 52px;width:52px;min-width:52px}.paint-col-color{flex:1 1 auto;min-width:220px}.paint-col-prev{flex:0 0 120px;width:120px;min-width:120px}.paint-col-product{flex:0 0 280px;width:280px;min-width:280px}.paint-col-sheen{flex:0 0 150px;width:150px;min-width:150px}.paint-col-rev-status{flex:0 0 5.5rem;width:5.5rem;min-width:5.5rem;justify-content:center}.paint-rev-status{display:inline-flex;align-items:center;justify-content:center;width:100%;margin:0;padding:0 .2rem;border:1px dashed transparent;border-radius:4px;background:transparent;min-height:var(--paint-control-height, 32px);font-size:.72rem;font-weight:700;letter-spacing:.03em;line-height:1.2;cursor:pointer;font-family:inherit}.paint-rev-status:hover{border-color:var(--border);background:var(--surface2, color-mix(in srgb, var(--text) 6%, transparent))}.paint-rev-status--new{color:#2e7d32}.paint-rev-status--revised{color:#c62828}.paint-rev-status--unchanged{color:var(--muted);font-weight:600}.paint-rev-status--removed{color:#6d4c41;text-decoration:line-through}.paint-col-head{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);line-height:1.2}.paint-col-head-actions,.paint-row-actions{flex:0 0 36px;width:36px;min-width:36px}.paint-col-head-actions{min-height:1em}.paint-col input,.paint-col select,.paint-field-select{width:100%;min-width:0;box-sizing:border-box;height:var(--paint-control-height, 32px);min-height:var(--paint-control-height, 32px);max-height:var(--paint-control-height, 32px);margin-top:0;border-radius:6px;padding-top:0;padding-bottom:0;line-height:1.2}.paint-field-select{font-size:.9rem;line-height:1.2;padding:0 1.75rem 0 .55rem;background-color:var(--bg-elevated);border:1px solid var(--border);color:var(--text);cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.paint-field-select--warn{color:#a86400;border-color:color-mix(in srgb,#c47a00 45%,var(--border));background:color-mix(in srgb,#c47a00 8%,var(--bg-elevated))}.paint-field-select:focus{border-color:var(--accent);outline:2px solid color-mix(in srgb,var(--accent) 35%,transparent);outline-offset:1px}.paint-field-select option,.paint-field-select optgroup{font-size:.9rem;line-height:1.4;padding:.25rem 0;color:var(--text)}.paint-field-select optgroup{font-weight:600;color:var(--muted)}.paint-col-sheen .paint-field-select,.paint-field-select--ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.paint-col-sheen .paint-field-select{padding-left:.4rem;padding-right:1.35rem;font-size:.85rem}.paint-col-floor .paint-field-select{font-size:.78rem;padding:0 1.25rem 0 .35rem}.paint-col input.readonly{background:var(--surface2);color:var(--muted);cursor:default}.paint-row-actions{display:flex;gap:0;align-items:center;justify-content:center;padding-bottom:0}.paint-row-actions .btn-icon{width:36px;min-width:36px;height:var(--paint-control-height, 32px)}.paint-items-footer{align-items:baseline;gap:1rem;margin-top:.35rem}.paint-items-drag-hint{margin:0}.paint-items-readiness{margin:0;font-weight:600;text-align:right}.paint-items-readiness--ok{color:#2d8a4e}.paint-items-readiness--warn{color:#a86400}.paint-bulk-preview{margin:0;padding:.55rem .65rem;border:1px dashed var(--border);border-radius:6px;background:var(--surface2)}.paint-color-lookup{width:min(28rem,100%)}.color-lookup-filter input{margin-top:.25rem}.color-lookup-empty{margin:0;padding:.75rem;border:1px dashed var(--border);border-radius:6px;text-align:center}.color-lookup-list{list-style:none;margin:0;padding:0;max-height:16rem;overflow:auto;border:1px solid var(--border);border-radius:6px}.color-lookup-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;text-align:left;padding:.45rem .65rem;border:none;background:transparent;color:inherit;font:inherit;cursor:pointer}.color-lookup-item-label{flex:1;min-width:0}.color-lookup-item-vendor{flex-shrink:0;font-size:.75rem;color:var(--muted);font-weight:600}.color-lookup-item:hover,.color-lookup-item:focus,.color-lookup-item-active{background:var(--surface2);outline:none}.paint-bulk-add{width:min(22rem,100%)}.flex-1{flex:1}.submittal-revision-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.5rem}.submittal-revision-label{flex:0 0 auto;margin:0}.submittal-revision-input{width:4.25rem;max-width:100%}.submittal-revision-next-btn{margin-bottom:1px;white-space:nowrap}.paint-submittal-meta-card{gap:1rem}.paint-submittal-meta-strip{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem 1rem;padding:.7rem .9rem;border-radius:10px;background:var(--surface2);border:1px solid var(--border)}.paint-submittal-meta-strip-main{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1.1rem;min-width:0}.paint-submittal-meta-identity{margin:0;font-weight:600;font-size:.95rem;white-space:nowrap}.paint-submittal-meta-identity--edit{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.paint-submittal-meta-num-label{display:inline-flex;align-items:center;gap:.35rem;margin:0;font-weight:600;font-size:.95rem}.paint-submittal-meta-num-prefix{white-space:nowrap}.paint-submittal-meta-num-input{width:3.25rem;margin:0;padding:.2rem .35rem;font-weight:600}.paint-submittal-meta-rev-label{font-weight:600;font-size:.95rem;color:var(--text);white-space:nowrap}.submittal-status-pill{position:relative;display:inline-flex;align-items:center;gap:.35rem;min-height:1.85rem;padding:.15rem .55rem .15rem .5rem;border-radius:999px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--muted)}.submittal-status-pill--open{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent)}.submittal-status-lock{display:inline-flex;align-items:center;color:currentColor;opacity:.9;flex-shrink:0}.submittal-status-badge{display:inline-flex;align-items:center;gap:.35rem;width:auto;min-width:0;margin:0;padding:0;border:0;background:transparent;color:inherit;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1.2;cursor:pointer}.submittal-status-badge:focus{outline:none}.submittal-status-label{white-space:nowrap}.submittal-status-chevron{flex-shrink:0;opacity:.75}.submittal-status-menu{position:absolute;top:calc(100% + .4rem);left:0;z-index:30;min-width:max(100%,12.5rem);margin:0;padding:.35rem;list-style:none;border-radius:10px;border:1px solid var(--border);background:var(--surface);box-shadow:0 10px 28px #00000061}.submittal-status-menu-item{display:block;width:100%;margin:0;padding:.5rem .65rem;border:0;border-radius:7px;background:transparent;color:var(--text);font-size:.82rem;font-weight:500;letter-spacing:0;text-transform:none;text-align:left;cursor:pointer}.submittal-status-menu-item:hover,.submittal-status-menu-item:focus{outline:none;background:var(--surface2)}.submittal-status-menu-item--selected{background:color-mix(in srgb,var(--accent) 14%,var(--surface2));color:var(--text)}.submittal-status-menu-item--issued,.submittal-status-menu-item--approved{color:var(--ok)}.submittal-status-menu-item--approved_as_noted,.submittal-status-menu-item--revise_resubmit{color:var(--warn)}.submittal-status-menu-item--draft,.submittal-status-menu-item--closed,.submittal-status-pill--draft{color:var(--muted)}.submittal-status-pill--issued,.submittal-status-pill--approved{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,var(--border));background:color-mix(in srgb,var(--ok) 10%,var(--bg-elevated))}.submittal-status-pill--approved_as_noted,.submittal-status-pill--revise_resubmit{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,var(--border));background:color-mix(in srgb,var(--warn) 10%,var(--bg-elevated))}.submittal-status-pill--closed{color:var(--muted);background:var(--surface)}.paint-submittal-meta-date-wrap{display:inline-flex;align-items:center;margin:0;padding:.1rem .45rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-elevated)}.paint-submittal-meta-date{width:auto;margin:0;padding:.15rem;border:0;background:transparent;color:var(--muted);font-size:.84rem;min-height:0}.paint-submittal-meta-date:focus{outline:none}.paint-submittal-meta-date-wrap:focus-within{outline:2px solid var(--accent);outline-offset:2px}.paint-submittal-meta-revision-btn{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}.paint-submittal-meta-revision-icon{font-size:.95rem;line-height:1}.paint-submittal-meta-fields-row{align-items:end}.paint-submittal-meta-spec-subject-row{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:.85rem 1rem;align-items:start}@media(max-width:720px){.paint-submittal-meta-spec-subject-row{grid-template-columns:1fr}}.paint-submittal-meta-subject-field{margin:0;font-size:.68rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.paint-submittal-meta-subject-field input{margin-top:.35rem;width:100%;font-size:.95rem;font-weight:600;text-transform:none;letter-spacing:normal}.paint-spec-sections-field{display:flex;flex-direction:column;gap:0;min-width:0}.paint-spec-sections-label{font-size:.68rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.paint-spec-sections-control{position:relative;margin-top:.35rem;min-height:2.45rem;padding:.35rem .45rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface2);box-sizing:border-box}.paint-spec-sections-control:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 28%,transparent)}.paint-spec-sections-control--disabled{opacity:.72}.paint-spec-sections-chips{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;min-height:1.7rem}.paint-spec-chip{display:inline-flex;align-items:center;gap:.35rem;max-width:100%;padding:.2rem .35rem .2rem .45rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font-size:.78rem;font-weight:600;line-height:1.2}.paint-spec-chip--lead{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 14%,var(--surface))}.paint-spec-chip-lead-tag{flex:0 0 auto;padding:.08rem .3rem;border-radius:999px;background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent);font-size:.62rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.paint-spec-chip-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paint-spec-chip-remove,.paint-spec-add-btn{flex:0 0 auto;margin:0;border:none;background:transparent;color:var(--muted);cursor:pointer;font:inherit}.paint-spec-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;padding:0;border-radius:999px;font-size:.72rem;line-height:1}.paint-spec-chip-remove:hover{color:var(--text);background:color-mix(in srgb,var(--text) 10%,transparent)}.paint-spec-chip-remove:focus-visible,.paint-spec-add-btn:focus-visible,.paint-spec-sections-menu-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.paint-spec-add-btn{padding:.15rem .35rem;border-radius:6px;color:var(--accent);font-size:.82rem;font-weight:700;white-space:nowrap}.paint-spec-add-btn:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.paint-spec-cap-hint{font-size:.72rem;color:var(--muted);font-weight:600}.paint-spec-sections-menu{position:absolute;z-index:20;top:calc(100% + 4px);left:0;right:0;max-height:14rem;overflow:auto;margin:0;padding:.3rem;list-style:none;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:0 10px 28px #00000059}.paint-spec-sections-menu-empty{padding:.55rem .65rem;color:var(--muted);font-size:.82rem}.paint-spec-sections-menu-item{display:block;width:100%;margin:0;padding:.45rem .55rem;border:none;border-radius:6px;background:transparent;color:var(--text);text-align:left;font-size:.85rem;font-weight:600;cursor:pointer}.paint-spec-sections-menu-item:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.paint-items-scope-block{display:flex;flex-direction:column;gap:.65rem}.paint-items-grid--scope-dragover{outline:2px dashed var(--accent);outline-offset:2px;border-radius:8px;background:color-mix(in srgb,var(--accent) 6%,transparent)}.paint-items-drop-empty{margin:.35rem .25rem .5rem;padding:.85rem 1rem;border:1px dashed color-mix(in srgb,var(--muted) 55%,transparent);border-radius:8px;color:var(--muted);font-size:.85rem;text-align:center}.paint-items-scope-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;margin:.35rem 0 0}.paint-items-scope-heading h4{margin:0;font-size:.95rem;font-weight:700}.paint-items-scope-heading .muted{margin:0}.paint-submittal-meta-fields-row>label{margin:0;font-size:.68rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.paint-submittal-meta-fields-row select,.paint-submittal-meta-fields-row input{margin-top:.35rem;font-size:.95rem;font-weight:600}.paint-submittal-meta-fields-row>.submittal-package-type-field{width:18rem;max-width:18rem;min-width:0}.paint-submittal-meta-fields-row>.submittal-package-type-field select{width:100%;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.frp-submittal-meta-fields-row{display:grid;grid-template-columns:220px 340px 1fr;gap:14px;width:100%;min-width:0;align-items:end;box-sizing:border-box}.frp-submittal-meta-fields-row>label,.frp-submittal-meta-fields-row>.submittal-package-type-field{margin:0;min-width:0;width:auto;max-width:none}.frp-submittal-meta-fields-row>.submittal-package-type-field{width:100%;max-width:none}.frp-submittal-meta-fields-row select,.frp-submittal-meta-fields-row input{width:100%;max-width:100%;box-sizing:border-box}.wc-submittal-meta-fields-row{display:grid;grid-template-columns:220px 200px 1fr;gap:14px;width:100%;min-width:0;align-items:end;box-sizing:border-box}.wc-submittal-meta-fields-row>label,.wc-submittal-meta-fields-row>.submittal-package-type-field{margin:0;min-width:0;width:auto;max-width:none}.wc-submittal-meta-fields-row>.submittal-package-type-field{width:100%;max-width:none}.wc-submittal-meta-fields-row select,.wc-submittal-meta-fields-row input{width:100%;max-width:100%;box-sizing:border-box}.wc-submittal-meta-fields-row>.wc-submittal-meta-subject{grid-column:1 / -1}.paint-submittal-header-actions{gap:2.5rem}.paint-action-row{display:flex;flex-wrap:nowrap;align-items:center;gap:.5rem;padding:.75rem 1rem;overflow-x:auto}.paint-action-row .btn{flex-shrink:0;white-space:nowrap}.paint-action-sep{flex-shrink:0;align-self:stretch;width:1px;min-height:1.75rem;margin:0 .15rem;background:var(--border)}.paint-action-check{margin:0;flex-shrink:0;white-space:nowrap}.paint-action-linked{margin-left:auto;flex-shrink:0;white-space:nowrap}.paint-history-load-hint{margin:.15rem 0 0;line-height:1.45}.paint-history-body{display:grid;grid-template-columns:minmax(14rem,18rem) 1fr;gap:1rem;min-height:16rem}.paint-history-list ul{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:6px;max-height:20rem;overflow:auto}.paint-history-item{display:block;width:100%;text-align:left;padding:.5rem .65rem;border:none;background:transparent;color:inherit;font:inherit;cursor:pointer;border-bottom:1px solid var(--border)}.paint-history-item.active,.paint-history-item:hover{background:var(--surface2)}.paint-history-detail{min-width:0}.revised-submittal-modal{max-width:min(960px,96vw);max-height:92vh;overflow:auto}.revised-section{padding:.75rem 0;border-top:1px solid var(--border)}.revised-section:first-of-type{border-top:none;padding-top:0}.revised-history-row select{min-width:280px}.revised-type-option{align-items:flex-start;gap:.5rem;margin:.35rem 0}.revised-type-option strong{display:inline}.wc-section-title{text-align:center;margin:0}.wc-action-bar{padding:.75rem 1rem}.wc-main-buttons{justify-content:center}.wc-items-section{gap:.5rem;--wc-control-height: 32px}.wc-items-section h3{margin:0;font-size:1rem;color:var(--text)}.wc-items-toolbar{align-items:flex-start;gap:1rem;border-bottom:none;padding-bottom:0}.wc-items-toolbar-actions{display:flex;align-items:center;gap:.85rem;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.wc-got-track{margin:0;white-space:nowrap;font-size:.85rem;color:var(--muted)}.wc-items-list{display:flex;flex-direction:column;gap:0;overflow-x:hidden;min-width:0}.wc-items-list--scope-dragover{outline:2px dashed var(--accent);outline-offset:2px;border-radius:8px;background:color-mix(in srgb,var(--accent) 6%,transparent)}.wc-items-drop-empty{margin:.35rem .25rem .5rem;padding:.85rem 1rem;border:1px dashed color-mix(in srgb,var(--muted) 55%,transparent);border-radius:8px;color:var(--muted);font-size:.85rem;text-align:center}.wc-items-header,.wc-item-tier1{display:flex;align-items:center;gap:6px;min-width:0;width:100%;box-sizing:border-box}.wc-items-header{padding:0 0 .2rem;border-bottom:1px solid var(--border);margin-bottom:.15rem}.wc-col-head{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);line-height:1.2}.wc-col-head-actions{flex:0 0 26px;width:26px;min-width:26px;min-height:1em}.wc-item-block{border-bottom:1px solid var(--border);padding:.3rem 0 .35rem;margin:0;border-top:none}.wc-item-block:last-child{border-bottom:1px solid var(--border)}.wc-item-block--track{background:color-mix(in srgb,var(--accent) 8%,transparent);border-radius:6px;padding-left:.35rem;padding-right:.35rem;margin-top:.25rem}.wc-item-block--dragging{opacity:.55}.wc-item-block--dragover{outline:2px dashed var(--accent);outline-offset:-2px}.wc-row-handle,.wc-row-handle-spacer{display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px;width:20px;min-width:20px;min-height:2rem}.wc-row-handle{margin:0;padding:0;border:none;border-radius:4px;background:transparent;color:var(--muted);cursor:grab;font-size:.85rem;line-height:1;letter-spacing:-.08em;-webkit-user-select:none;user-select:none}.wc-row-handle:active{cursor:grabbing}.wc-col{display:flex;flex-direction:column;gap:0;min-width:0}.wc-col-label{flex:0 0 4.25rem;width:4.25rem;min-width:4.25rem}.wc-col-label input{text-align:center;padding-left:.25rem;padding-right:.25rem}.wc-col-mfr,.wc-col-product,.wc-col-color{flex:1 1 0;width:auto;min-width:0}.wc-col-prev{flex:0 0 120px;width:120px;min-width:120px}.wc-col input,.wc-col select,.wc-inline-floor select{width:100%;min-width:0;box-sizing:border-box;margin-top:0}.wc-col input.readonly{background:var(--surface2);color:var(--muted);cursor:default}.wc-field--warn{color:#a86400;border-color:color-mix(in srgb,#c47a00 45%,var(--border));background:color-mix(in srgb,#c47a00 8%,var(--bg-elevated))}.wc-field--warn::placeholder{color:#a86400;opacity:1}.wc-track-badge{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:2rem;padding:.2rem .25rem;border-radius:4px;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);font-size:.65rem;font-weight:700;letter-spacing:.04em}.wc-row-actions{display:flex;align-items:center;justify-content:center;flex:0 0 26px;width:26px;min-width:26px;margin-left:0;padding-bottom:0}.wc-row-actions .btn-icon{width:26px;min-width:26px;height:1.85rem;font-size:.95rem}.wc-item-tier2{display:flex;flex-wrap:nowrap;align-items:center;gap:.45rem .65rem;margin:.3rem 0 0;padding:.3rem 0 .1rem 26px;background:transparent;border-radius:0;min-width:0}.wc-inline-check{display:inline-flex;flex-direction:row;align-items:center;gap:.3rem;margin:0;font-size:.82rem;color:var(--text);white-space:nowrap;flex:0 0 auto}.wc-inline-check input[type=checkbox]{width:.95rem;height:.95rem;margin:0}.wc-inline-floor{display:inline-flex;flex-direction:row;align-items:center;gap:.3rem;margin:0;font-size:.82rem;color:var(--muted);white-space:nowrap;flex:0 0 auto}.wc-inline-floor select{width:auto;min-width:3.5rem;height:var(--wc-control-height);min-height:var(--wc-control-height);max-height:var(--wc-control-height);font-size:.78rem;padding:0 1.2rem 0 .35rem;border-radius:6px;box-sizing:border-box;margin-top:0;line-height:1.2}.wc-qty-group{display:inline-flex;flex-direction:row;align-items:center;gap:.3rem;flex:0 0 auto;white-space:nowrap;height:var(--wc-control-height)}.wc-qty-prefix{font-size:12px;color:var(--muted);line-height:1}.wc-qty-prefix--warn{color:#a86400}.wc-qty-input,.wc-unit-select{height:var(--wc-control-height);min-height:var(--wc-control-height);max-height:var(--wc-control-height);box-sizing:border-box;border-radius:6px;margin-top:0;line-height:1.2;vertical-align:middle}.wc-qty-input{width:56px;min-width:56px;max-width:56px;text-align:right;padding:0 .35rem}.wc-unit-select{width:4.75rem;min-width:4.75rem;max-width:4.75rem;font-size:.8rem;padding:0 1.15rem 0 .35rem}.wc-col-notes{flex:1 1 auto;min-width:0;display:flex;align-items:center;height:var(--wc-control-height)}.wc-col-notes input{width:100%;min-width:0;height:var(--wc-control-height);min-height:var(--wc-control-height);max-height:var(--wc-control-height);margin-top:0;box-sizing:border-box;border-radius:6px;padding-top:0;padding-bottom:0;line-height:1.2}.wc-track-hint{margin:0;flex:1 1 auto;min-width:0}.wc-items-footer{align-items:baseline;gap:1rem;margin-top:.35rem}.wc-items-drag-hint{margin:0}.wc-items-readiness{margin:0;font-weight:600;text-align:right}.wc-items-readiness--ok{color:#2d8a4e}.wc-items-readiness--warn{color:#a86400}.frp-items-section{gap:.5rem;--frp-control-height: 2.5rem}.frp-items-section h3{margin:0;font-size:1rem;color:var(--text)}.frp-items-toolbar{align-items:flex-start;gap:1rem;border-bottom:none;padding-bottom:0}.frp-items-toolbar-actions{display:flex;align-items:center;gap:.85rem;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.frp-auto-label{margin:0;white-space:nowrap;font-size:.85rem;color:var(--muted)}.frp-items-list{display:flex;flex-direction:column;gap:0;overflow-x:hidden;min-width:0}.frp-items-header,.frp-item-tier1{display:flex;align-items:center;gap:6px;min-width:0;width:100%;box-sizing:border-box}.frp-items-header{padding:0 0 .2rem;border-bottom:1px solid var(--border);margin-bottom:.15rem}.frp-col-head{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);line-height:1.2}.frp-col-head-actions{flex:0 0 26px;width:26px;min-width:26px;min-height:1em}.frp-item-block{position:relative;border-bottom:1px solid var(--border);padding:.3rem 0 .35rem;margin:0;border-top:none}.frp-item-block:last-child{border-bottom:1px solid var(--border)}.frp-item-block--trim,.frp-item-block--panel{display:flex;flex-direction:row;align-items:stretch;gap:0;border-radius:6px;padding:.3rem 0 .35rem .35rem;margin-top:.25rem}.frp-item-block--trim{background:color-mix(in srgb,var(--accent) 8%,transparent)}.frp-item-block--panel{background:transparent}.frp-item-block--off-pdf{opacity:.62}.frp-item-block--off-pdf .frp-type-rail{opacity:.85}.frp-item-body{flex:1 1 auto;min-width:0}.frp-type-rail{flex:0 0 14px;width:14px;min-width:14px;display:flex;align-items:center;justify-content:center;align-self:stretch;margin:0 0 0 .2rem;border-radius:0 4px 4px 0;font-size:.58rem;font-weight:700;letter-spacing:.08em;line-height:1;writing-mode:vertical-rl;text-orientation:mixed;-webkit-user-select:none;user-select:none}.frp-type-rail--trim{background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent)}.frp-type-rail--panel{background:color-mix(in srgb,var(--muted) 18%,transparent);color:var(--muted)}.frp-item-block--dragging{opacity:.55}.frp-item-block--dragover{outline:2px dashed var(--accent);outline-offset:-2px}.frp-row-handle,.frp-row-handle-spacer{display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px;width:20px;min-width:20px;min-height:var(--frp-control-height)}.frp-row-handle{margin:0;padding:0;border:none;border-radius:4px;background:transparent;color:var(--muted);cursor:grab;font-size:.85rem;line-height:1;letter-spacing:-.08em;-webkit-user-select:none;user-select:none}.frp-row-handle:active{cursor:grabbing}.frp-col{display:flex;flex-direction:column;gap:0;min-width:0}.frp-col-label{flex:0 0 52px;width:52px;min-width:52px}.frp-col-mfr{flex:0 0 170px;width:170px;min-width:170px}.frp-col-product{flex:1 1 auto;min-width:0}.frp-col-color{flex:0 0 150px;width:150px;min-width:150px}.frp-col input,.frp-col select,.frp-inline-select select,.frp-qty-input,.frp-unit-select,.frp-col-notes input{width:100%;min-width:0;box-sizing:border-box;margin-top:0;height:var(--frp-control-height);min-height:var(--frp-control-height);max-height:var(--frp-control-height);border-radius:6px;font-size:inherit;line-height:1.25;padding:0 .55rem}.frp-col-label input{padding-left:.25rem;padding-right:.25rem;text-align:center}.frp-col select,.frp-inline-select select,.frp-unit-select{padding-right:1.4rem}.frp-col input.readonly{background:var(--surface2);color:var(--muted);cursor:default}.frp-field--warn{color:#a86400;border-color:color-mix(in srgb,#c47a00 45%,var(--border));background:color-mix(in srgb,#c47a00 8%,var(--bg-elevated))}.frp-field--warn::placeholder{color:#a86400;opacity:1}.frp-row-actions{display:flex;align-items:center;justify-content:center;flex:0 0 26px;width:26px;min-width:26px;margin-left:0;padding-bottom:0}.frp-row-actions .btn-icon{width:26px;min-width:26px;height:var(--frp-control-height);font-size:.95rem}.frp-item-tier2{display:flex;flex-wrap:nowrap;align-items:center;gap:.45rem .65rem;margin:.3rem 0 0;padding:.3rem 0 .1rem 26px;background:transparent;border-radius:0;min-width:0}.frp-inline-check{display:inline-flex;flex-direction:row;align-items:center;gap:.3rem;margin:0;font-size:.82rem;color:var(--text);white-space:nowrap;flex:0 0 auto}.frp-inline-check input[type=checkbox]{width:.95rem;height:.95rem;margin:0}.frp-inline-select{display:inline-flex;flex-direction:row;align-items:center;gap:.3rem;margin:0;font-size:.82rem;color:var(--muted);white-space:nowrap;flex:0 0 auto}.frp-inline-select select{width:auto;min-width:4.5rem}.frp-qty-group{display:inline-flex;flex-direction:row;align-items:center;gap:.3rem;flex:0 0 auto;white-space:nowrap;height:var(--frp-control-height)}.frp-qty-prefix{font-size:12px;color:var(--muted);line-height:1}.frp-qty-prefix--warn{color:#a86400}.frp-qty-input,.frp-unit-select{vertical-align:middle}.frp-qty-input{width:56px;min-width:56px;max-width:56px;text-align:right;padding-left:.25rem;padding-right:.25rem}.frp-unit-select{width:3.4rem;min-width:3.4rem;max-width:3.4rem}.frp-col-notes{flex:1 1 auto;min-width:0;display:flex;align-items:center;height:var(--frp-control-height)}.frp-col-notes input{padding-left:.4rem;padding-right:.4rem}.frp-items-footer{align-items:baseline;gap:1rem;margin-top:.35rem}.frp-items-drag-hint{margin:0}.frp-items-readiness{margin:0;font-weight:600;text-align:right}.frp-items-readiness--ok{color:#2d8a4e}.frp-items-readiness--warn{color:#a86400}.track-items-section{gap:.5rem}.track-items-toolbar{align-items:center;border-bottom:1px solid #5a4a1a;padding-bottom:.5rem}.track-items-list{display:flex;flex-direction:column;gap:0}.track-item-block{border-top:1px solid #5a4a1a;padding-top:.35rem;margin-top:.15rem}.track-item-block:first-child{border-top:none;padding-top:0}.track-row-num{font-size:.85rem;color:var(--muted);padding-bottom:.35rem;text-align:right}.track-col{display:flex;flex-direction:column;gap:.2rem;min-width:0}.track-col input,.track-col select{width:100%;min-width:0}.track-check{display:flex;flex-direction:column;align-items:center;gap:.15rem;min-width:2.75rem}.track-check input[type=checkbox]{width:1rem;height:1rem}.track-row-actions{display:flex;gap:.2rem;align-items:center;justify-self:end;padding-bottom:.1rem}.frp-trim-list{max-height:16rem;overflow:auto;border:1px solid var(--border);border-radius:6px;padding:.5rem .75rem}.track-item-row{display:grid;grid-template-columns:2rem 2.75rem minmax(5.5rem,6.5rem) minmax(12rem,2fr) minmax(8rem,1.1fr) minmax(4.5rem,5.5rem) minmax(4rem,5rem) auto;gap:.35rem;align-items:end;background:var(--surface2);padding:.45rem .5rem;border-radius:4px}.track-col--product{min-width:10rem}.track-col--qty input{text-align:right}.track-col--code input{font-size:.82rem;color:var(--muted)}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:6px}.table-wrap.project-orders-table-wrap{overflow:visible;border:none;border-radius:0;background:transparent;scrollbar-gutter:auto}.data-table{width:100%;border-collapse:collapse;font-size:.85rem}.data-table th,.data-table td{padding:.35rem .5rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.data-table.compact th,.data-table.compact td{padding:.25rem .4rem;white-space:nowrap}.data-table thead th{background:var(--surface2);font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.data-table.selectable tbody tr{cursor:pointer}.data-table.selectable tbody tr.selected{background:#3b82f61f}.work-orders-summary{margin-bottom:.25rem}.work-orders-stat-ok{color:var(--ok)}.work-orders-stat-warn{color:var(--warn)}.work-orders-table-wrap{overflow-x:auto}.work-orders-table th.num,.work-orders-table td.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.work-orders-table th.work-orders-status-col,.work-orders-table td.work-orders-status-col{text-align:center;white-space:nowrap;width:4.5rem}.work-orders-status-ok{color:var(--ok);font-weight:700;font-size:.95rem;line-height:1}.work-orders-status-empty{color:#3d475c;font-weight:500;line-height:1}.work-orders-updated{color:var(--muted);font-size:12px;white-space:nowrap}.work-orders-row{cursor:pointer}.work-orders-row:hover,.work-orders-row:focus-visible{background:color-mix(in srgb,var(--accent) 6%,transparent)}.work-orders-row:focus{outline:none}.work-orders-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.work-orders-chevron-col{width:1.75rem;padding-right:.65rem;text-align:right}.work-orders-chevron{display:inline-block;color:var(--muted);opacity:.25;font-size:1.1rem;font-weight:600;line-height:1;transition:color .15s ease,opacity .15s ease,transform .15s ease}.work-orders-row:hover .work-orders-chevron,.work-orders-row:focus-visible .work-orders-chevron{color:var(--accent);opacity:1;transform:translate(2px)}.submittal-log-files{max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.excel-paste-page h3{margin:0}.excel-paste-card-header{gap:1rem}.excel-paste-steps{margin:0;padding-left:1.25rem}.excel-paste-steps li+li{margin-top:.25rem}.excel-paste-steps kbd{font-size:.85em;padding:.1rem .35rem;border:1px solid var(--border);border-radius:4px;background:var(--surface2)}.excel-paste-warning{margin:0}.excel-paste-preview summary{cursor:pointer;-webkit-user-select:none;user-select:none}.excel-paste-merge-note{margin:0;padding:.5rem .75rem;border-radius:6px;background:#eab3081f;border:1px solid rgba(234,179,8,.35)}.excel-paste-block-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.excel-paste-block-step{padding:.65rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--surface2)}.excel-paste-block-header{gap:.5rem}.excel-paste-templates{gap:1rem}.excel-paste-table .excel-paste-label{min-width:10rem;max-width:14rem}.excel-paste-cell-hint{display:block;margin-top:.15rem}.excel-paste-value{word-break:break-word}.excel-paste-action{white-space:nowrap;width:1%}.excel-paste-empty .excel-paste-value{color:var(--muted)}.excel-paste-template-path{display:block;font-weight:400;margin-top:.15rem}.excel-paste-row-fields{margin:.35rem 0 0;padding-left:1.1rem}.excel-paste-template .job-section-summary{flex-direction:column;align-items:flex-start}.excel-drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:1.5rem 1rem;text-align:center;border:1px dashed var(--border);border-radius:8px;background:var(--surface2);cursor:pointer;transition:border-color .15s ease,background .15s ease}.excel-drop-zone:hover,.excel-drop-zone:focus-visible{border-color:var(--accent);outline:none}.excel-drop-zone-dragover{border-color:var(--accent);background:#3b82f614}.excel-drop-zone-has-file{align-items:flex-start;text-align:left}.excel-paste-mappings-help summary{cursor:pointer;-webkit-user-select:none;user-select:none}.excel-paste-mappings-body{margin-top:.75rem;gap:.65rem}.excel-paste-mappings-body p{margin:0}.submittal-log-page,.paint-tracker-section{gap:.75rem}.paint-tracker-toolbar{margin-bottom:.25rem}.paint-tracker-flags{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}.paint-tracker-flag{margin:0}.paint-tracker-subsection{margin:.5rem 0 0;font-weight:600}.job-dashboard{gap:1rem}.job-dashboard-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.1rem 1.25rem}.job-dashboard-kicker{margin:0 0 .25rem;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.job-dashboard-heading{margin:0;font-size:1.35rem}.job-dashboard-gc{margin:.35rem 0 0}.job-dashboard-contact{margin:.2rem 0 0;line-height:1.45}.job-dashboard-contact-role{font-weight:600;color:var(--muted);margin-right:.35rem}.job-dashboard-contact-value{color:var(--text)}.job-dashboard-contact-link{color:var(--accent);text-decoration:none}.job-dashboard-contact-link:hover{text-decoration:underline}.job-dashboard-contact-sep{opacity:.55}.job-dashboard-actions{align-items:center}.job-dashboard-header--snapshot{align-items:flex-start}.job-dashboard-header-main{flex:1;min-width:min(100%,16rem)}.job-dashboard-heading-row{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.job-dashboard-edit-info-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .6rem;font-size:.76rem;color:var(--muted);background:transparent;border:.5px solid var(--border);border-radius:999px;cursor:pointer;transition:opacity .16s ease,color .12s ease,border-color .12s ease}.job-dashboard-edit-info-btn:hover{color:var(--text);border-color:var(--border-strong)}@media(hover:hover){.job-dashboard-edit-info-btn{opacity:0}.job-dashboard-header:hover .job-dashboard-edit-info-btn,.job-dashboard-edit-info-btn:focus-visible{opacity:1}}@media(prefers-reduced-motion:reduce){.job-dashboard-edit-info-btn{transition:none}}.job-dashboard-heading--large{font-size:1.65rem;font-weight:700;line-height:1.2;margin:.15rem 0 0}.job-dashboard-address{margin:.25rem 0 .5rem;line-height:1.4}.job-dashboard-billing-due{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:.15rem;margin-left:auto;padding:.45rem .7rem;border-radius:10px;background:color-mix(in srgb,var(--warn) 18%,transparent);border:1px solid color-mix(in srgb,var(--warn) 55%,var(--border));color:var(--warn);line-height:1.15}.job-dashboard-billing-due-label{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.9}.job-dashboard-billing-due-day{font-size:1.35rem;font-weight:800;color:#ffd56a}.job-dashboard-pills{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.65rem}.job-dashboard-pill{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.01em}.job-dashboard-pill--attention{background:#f0b42929;color:#f0c96a}.job-dashboard-pill--vendor,.job-dashboard-pill--team,.job-dashboard-pill--public-works,.job-dashboard-pill--flag{background:var(--surface2);color:var(--muted);border:1px solid var(--border)}.job-dashboard-header-divider{height:1px;background:var(--border);margin:.5rem 0 .65rem}.job-dashboard-contacts-compact{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .75rem}.job-dashboard-contact-chip-wrap{position:relative}.job-dashboard-contact-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .45rem;border:1px solid transparent;border-radius:.35rem;background:transparent;color:var(--text);font-size:.82rem;cursor:pointer}.job-dashboard-contact-chip:hover{background:var(--surface2);border-color:var(--border)}.job-dashboard-contact-chip-role{color:var(--muted);font-weight:600}.job-dashboard-contact-chip-name{font-weight:500}.job-dashboard-contact-popover{position:absolute;top:calc(100% + 4px);left:0;z-index:5;display:flex;flex-direction:column;gap:.25rem;padding:.45rem .55rem;border-radius:.4rem;background:var(--bg-elevated);border:1px solid var(--border);box-shadow:0 8px 24px #00000059;min-width:10rem}.job-dashboard-all-contacts{font-size:.82rem}.job-dashboard-contacts-full{margin-top:.65rem;padding-top:.5rem;border-top:1px dashed var(--border)}.job-dashboard-attention{padding:.75rem 1rem;background:#f0b42914;border-color:#f0b42947}.job-dashboard-attention-head{display:flex;align-items:center;gap:.45rem;color:#f0c96a;margin-bottom:.55rem}.job-dashboard-attention-title{margin:0;font-size:.88rem;font-weight:600}.job-dashboard-attention-chips{display:flex;flex-wrap:wrap;gap:.4rem}.job-dashboard-attention-chip{padding:.35rem .65rem;border-radius:999px;border:1px solid rgba(240,180,41,.35);background:#f0b4291f;color:var(--text);font-size:.82rem;cursor:pointer}.job-dashboard-attention-chip:hover{background:#f0b42933}.job-dashboard-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.65rem}.job-dashboard-columns{display:grid;grid-template-columns:minmax(11rem,40%) minmax(0,1fr);gap:1rem;align-items:start}.job-dashboard-columns>*{min-width:0}@media(max-width:960px){.job-dashboard-columns{grid-template-columns:1fr}}.job-dashboard-metric-card{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.75rem .85rem;border:none;border-radius:.5rem;background:var(--surface2);color:var(--text);cursor:pointer;text-align:left;transition:background .15s ease}.job-dashboard-metric-card:hover{background:var(--surface)}.job-dashboard-metric-label{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.job-dashboard-metric-value{font-size:1.35rem;font-weight:700;line-height:1.2}.job-header-submittal-row{display:flex;align-items:center;gap:1rem;padding-top:.15rem;min-width:0}.job-header-submittal-kicker{flex-shrink:0;margin:0;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.job-header-submittal-stepper{flex:1;display:flex;align-items:center;min-width:0;overflow-x:auto}.job-header-submittal-step{display:flex;align-items:center;flex:1;min-width:0}.job-header-submittal-step--last{flex:0 1 auto}.job-header-submittal-step-main{display:inline-flex;align-items:center;gap:.4rem;flex-shrink:0}.job-header-submittal-node{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:999px;border:2px solid var(--border);background:transparent;color:var(--muted);font-size:.68rem;font-weight:700;flex-shrink:0}.job-header-submittal-node--done{border-color:var(--accent);background:var(--accent);color:#fff}.job-header-submittal-node--current{border-color:var(--warn);background:transparent;color:var(--warn)}.job-header-submittal-node--future{border-color:var(--border);background:transparent;color:var(--muted)}.job-header-submittal-label{font-size:.78rem;white-space:nowrap}.job-header-submittal-label--done{color:var(--muted)}.job-header-submittal-label--current{color:#f0c96a;font-weight:600}.job-header-submittal-label--future{color:var(--muted)}.job-header-submittal-connector{flex:1;height:2px;margin:0 .5rem;min-width:.5rem;background:var(--border)}.job-header-submittal-connector--done{background:var(--accent)}.job-tracker-edit-modal{width:min(920px,96vw);max-height:min(90vh,900px);overflow-y:auto}.job-dashboard-tracker--editor{gap:.65rem}.job-tracker-tabs--underline{display:flex;flex-wrap:wrap;align-items:stretch;width:100%;max-width:100%;gap:0;padding:0;margin:0;border:none;border-radius:0;background:transparent;border-bottom:.5px solid var(--border)}.job-tracker-tabs--underline .job-tracker-tab{display:inline-flex;align-items:center;padding:8px 14px;margin:0 0 -.5px;border:none;border-radius:0;border-bottom:2px solid transparent;background:transparent;font-size:14px;font-weight:400;line-height:1.3;cursor:pointer;transition:color .15s ease,border-color .15s ease}.job-tracker-tabs--underline .job-tracker-tab:hover{color:var(--text);background:transparent}.job-tracker-tabs--underline .job-tracker-tab--active{font-weight:600;color:var(--text);background:transparent;box-shadow:none;border-bottom-color:var(--accent)}.job-tracker-tabs--underline .job-tracker-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.job-activity-list--compact{gap:.35rem;max-height:none}.job-activity-item--compact{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.4rem .55rem}.job-activity-compact-main{font-size:.86rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-activity-compact-time{flex-shrink:0;white-space:nowrap}.job-activity-modal{width:min(640px,96vw);max-height:min(85vh,720px);overflow-y:auto}.job-dashboard-setup-hint{margin:0}.job-dashboard-tracker{padding:1.1rem 1.25rem;gap:.75rem}.job-dashboard-section-title{margin:0;font-size:1rem}.job-tracker-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.job-tracker-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.job-tracker-tabs{display:inline-flex;gap:.25rem;padding:.2rem;border-radius:.5rem;background:var(--surface2);border:1px solid var(--border)}.job-tracker-tab{padding:.35rem .85rem;border:none;border-radius:.35rem;background:transparent;color:var(--muted);font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease}.job-tracker-tab:hover{color:var(--text)}.job-tracker-tab--active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0000001f}.submittals-hub{gap:14px}.submittals-hub-tabs.job-tracker-tabs{display:flex;flex-wrap:wrap;align-items:stretch;width:100%;max-width:100%;gap:0;padding:0;margin:0;border:none;border-radius:0;background:transparent;border-bottom:.5px solid var(--border)}.submittals-hub-tabs .job-tracker-tab,.submittals-hub-tabs a.job-tracker-tab{display:inline-flex;align-items:center;padding:8px 14px;margin:0 0 -.5px;border:none;border-radius:0;border-bottom:2px solid transparent;background:transparent;box-shadow:none;color:var(--text-secondary);font-size:14px;font-weight:400;line-height:1.3;text-decoration:none;cursor:pointer;transition:color .15s ease,border-color .15s ease}.submittals-hub-tabs .job-tracker-tab:hover{color:var(--text);background:transparent}.submittals-hub-tabs .job-tracker-tab--active,.submittals-hub-tabs a.job-tracker-tab.job-tracker-tab--active{font-weight:600;color:var(--text);background:transparent;box-shadow:none;border-bottom-color:var(--accent)}.submittals-hub-tabs .job-tracker-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a.job-tracker-tab{text-decoration:none;display:inline-block}.job-tracker-job-label{margin:0 0 .5rem}.job-tracker-line-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem}.job-tracker-line-tab{padding:.25rem .65rem;border:1px solid var(--border);border-radius:999px;background:var(--surface2);color:var(--muted);font-size:.78rem;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-tracker-line-tab--active{border-color:#3b82f6bf;background:#3b82f626;color:var(--text)}.job-info-wc-toggle{margin-top:.35rem}.job-info-wc-fields{margin-top:.25rem}.job-info-gc-name-override,.job-info-job-number-field .btn{margin-top:.4rem}.job-info-reassign-backdrop{z-index:140}.job-info-reassign-modal{width:min(460px,100%)}.transmittal-contract-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.transmittal-contract-label{font-weight:600}.transmittal-contract-tabs{flex-shrink:0}.job-dashboard-wc-contract{margin:.25rem 0 0}.job-startup-checklist{padding:.75rem .85rem .65rem;overflow:hidden}.job-startup-items-card{gap:.65rem}.job-startup-items-head{gap:.35rem}.job-startup-progress{height:3px;border-radius:999px;background:var(--surface2);overflow:hidden}.job-startup-progress-bar{height:100%;border-radius:inherit;background:#3b82f6d9;transition:width .2s ease}.job-startup-groups{display:flex;flex-direction:column;gap:.35rem}.job-startup-group-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.55rem;width:100%;padding:.55rem .65rem;border:1px solid var(--border);border-radius:.45rem;background:var(--surface2);color:var(--text);cursor:pointer;text-align:left}.job-startup-group-row:hover{background:var(--surface)}.job-startup-group-icon{color:var(--accent);display:inline-flex}.job-startup-group-label{font-size:.88rem;font-weight:600}.job-startup-group-count{font-size:.82rem;font-weight:700}.job-startup-group-count--partial{color:#f0c96a}.job-startup-group-count--done{color:#86efac}.job-startup-group-chevron{color:var(--muted)}.job-startup-group-items{display:flex;flex-direction:column;gap:.35rem;padding:.35rem 0 .15rem .35rem}.job-startup-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.35rem .65rem;padding:.45rem .55rem;border-radius:.4rem;border:1px solid transparent}.job-startup-item--highlight{border-color:#3b82f673;background:#3b82f614}.job-startup-item-main{display:inline-flex;align-items:center;gap:.55rem;padding:0;border:none;background:transparent;color:var(--text);cursor:pointer;text-align:left}.job-startup-item-main:disabled{cursor:default}.job-startup-item-check{width:1.1rem;height:1.1rem;border-radius:999px;border:2px solid var(--border);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.job-startup-item-check--done{border-color:#3b82f6d9;background:#3b82f647;color:#dbeafe}.job-startup-item-label{font-size:.86rem}.job-startup-item-label--done{color:var(--muted);text-decoration:line-through}.job-startup-item-badges{display:flex;flex-wrap:wrap;gap:.3rem;margin-left:auto}.job-startup-badge{display:inline-flex;align-items:center;padding:.12rem .45rem;border-radius:999px;font-size:.68rem;font-weight:600;border:none}.job-startup-badge--source{background:#4f8cff29;color:#9ec0ff}.job-startup-badge--blocking,.job-startup-badge--due-amber{background:#f0b42929;color:#f0c96a}.job-startup-badge--due-red{background:#ef444429;color:#fca5a5}.job-startup-config-link{margin:.15rem 0 0}.job-startup-system-divider{height:1px;background:var(--border);margin:.75rem 0 .65rem}.job-startup-system-title{margin:0;font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.job-startup-stepper--compact .job-startup-step-node{width:1.85rem;height:1.85rem;font-size:.75rem}.job-startup-stepper--compact .job-startup-step-label{font-size:.68rem;max-width:4rem}.job-startup-stepper--compact .job-startup-connector{margin-top:.92rem}.job-info-field-help{display:block;margin-top:.25rem}.startup-config-group{gap:.35rem;margin-top:.35rem}.startup-config-help{margin-bottom:.15rem}.startup-config-status-strip{margin:0;padding:.5rem .65rem;border-radius:.4rem;font-size:.82rem;line-height:1.35}.startup-config-status-strip--public-works{background:#f0b4291a;border:1px solid rgba(240,180,41,.28);color:#f0c96a}.startup-config-status-strip--wallcovering{background:#4f8cff1a;border:1px solid rgba(79,140,255,.28);color:#9ec0ff}.startup-config-row{gap:.35rem;padding:.5rem .6rem;border-radius:.4rem;background:var(--surface2);border:1px solid var(--border)}.startup-config-row-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.45rem .65rem}.startup-config-enable{margin:0;flex:1;min-width:min(100%,12rem);align-items:flex-start}.startup-config-row-label{line-height:1.35}.startup-config-badges{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center;margin-left:auto}.startup-config-badge{display:inline-flex;align-items:center;padding:.12rem .45rem;border-radius:999px;font-size:.68rem;font-weight:600;letter-spacing:.01em;white-space:nowrap}.startup-config-badge--blocking{background:#f0b42929;color:#f0c96a}.startup-config-badge--public-works{background:var(--surface);color:var(--muted);border:1px solid var(--border)}.startup-config-badge--wallcovering{background:#4f8cff24;color:#9ec0ff}.startup-config-badge--auto{background:#4f8cff29;color:#9ec0ff}.startup-config-badge--due{background:#f0b4291f;color:#f0c96a}.settings-startup-defaults{gap:1.1rem}.startup-config-prelim-math{font-family:inherit}.startup-config-due{padding-left:1.65rem;gap:.35rem}.startup-config-blocking{margin:0 0 0 1.5rem}.startup-config-remove{margin-left:auto}.startup-config-add{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed var(--border)}.job-activity-panel{padding:.85rem 1rem}.job-activity-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem}.job-activity-last{margin:0}.job-activity-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem;max-height:min(280px,42vh);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;padding-right:.15rem}.job-activity-item{padding:.55rem .65rem;border-radius:.45rem;background:var(--surface2);border:1px solid var(--border)}.job-activity-item-main{display:flex;flex-wrap:wrap;gap:.35rem .65rem;align-items:baseline}.job-activity-action{font-weight:600;font-size:.88rem}.job-activity-summary{font-size:.88rem;color:var(--text)}.job-activity-meta{margin-top:.2rem}.job-startup-stepper-header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.job-startup-stepper-title{margin:0;font-size:.95rem;font-weight:600}.job-startup-stepper-count{white-space:nowrap}.job-startup-banner{margin:0 0 .5rem}.job-startup-stepper{display:flex;align-items:flex-start;width:100%;overflow-x:auto;padding-bottom:.15rem;scrollbar-width:thin}.job-startup-connector{flex:1 1 auto;height:2px;margin-top:1.05rem;min-width:.75rem;background:var(--border)}.job-startup-connector--done{background:#3b82f68c}.job-startup-step{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:0;border:none;background:transparent;color:var(--muted);cursor:pointer;min-width:3.5rem;flex-shrink:0}.job-startup-step:disabled{opacity:.65;cursor:wait}.job-startup-step-node{display:flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border-radius:999px;border:2px solid var(--border);background:var(--surface2);font-size:.82rem;font-weight:600;line-height:1;transition:border-color .15s ease,background .15s ease,color .15s ease}.job-startup-step--done .job-startup-step-node{border-color:#3b82f6d9;background:#3b82f647;color:#dbeafe}.job-startup-step--active:not(.job-startup-step--done) .job-startup-step-node{border-color:var(--accent);color:var(--text)}.job-startup-check{width:.95rem;height:.95rem}.job-startup-step-label{font-size:.72rem;line-height:1.15;text-align:center;max-width:4.5rem}.job-startup-step--done .job-startup-step-label{color:var(--text)}.job-startup-step--locked{cursor:default}.job-startup-step-detail{margin-top:.55rem;padding-top:.5rem;border-top:1px solid var(--border);line-height:1.35}.job-startup-detail-status{color:var(--muted)}.job-startup-detail-link{font-size:inherit}.startup-optional-catalog{gap:.35rem}.startup-optional-row{margin:0}.startup-optional-custom-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.startup-optional-custom-item{padding:.35rem .5rem;border-radius:.35rem;background:var(--surface2);border:1px solid var(--border);font-size:.88rem}.job-startup-optional{margin-top:.75rem;padding-top:.65rem;border-top:1px solid var(--border);overflow:visible}.job-startup-optional-head{margin:0 0 .45rem;font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.job-startup-optional-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.job-startup-optional-item{display:flex;align-items:center;gap:.65rem;padding:.45rem .65rem;border-radius:.35rem;background:var(--surface2);border:1px solid var(--border);font-size:.88rem;cursor:pointer;margin:0;width:100%;color:var(--text);text-align:left}.job-startup-optional-item--done{opacity:.72}.job-startup-optional-item--done span{text-decoration:line-through}.job-startup-optional-item input[type=checkbox]{width:auto;min-height:unset;margin:0;padding:0;flex-shrink:0}.job-startup-optional-item span{flex:1;min-width:0;color:var(--text);line-height:1.35}.job-startup-optional-hint{margin:.45rem 0 0}.settings-mailto-panel{padding:.85rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface2);max-height:min(55vh,22rem);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}.mailto-setup-help-subhead{margin:.35rem 0 0;font-size:.9rem;font-weight:600}.mailto-setup-steps{margin:.35rem 0 0;padding-left:1.25rem}.mailto-setup-steps li{margin-bottom:.35rem}.mailto-setup-code{margin:.5rem 0 0;padding:.65rem .75rem;font-size:.75rem;line-height:1.45;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);white-space:pre-wrap;word-break:break-word}.mailto-setup-help--compact{margin:0}.paint-tracker-section--dashboard{gap:1rem}.job-status-pills{display:flex;flex-wrap:wrap;gap:.4rem}.job-status-pill{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.78rem;border:1px solid var(--border);color:var(--muted);background:var(--surface2)}.job-status-pill--on{color:var(--text);border-color:#22c55e73;background:#22c55e1f}.job-info-drawer-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;justify-content:flex-end}.job-info-drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:#00000073;cursor:pointer}.job-info-drawer-panel{position:relative;z-index:1;width:min(560px,100vw);max-width:100%;height:100%;overflow:auto;background:var(--surface);border-left:1px solid var(--border);box-shadow:-8px 0 32px #0003;display:flex;flex-direction:column}.job-info-drawer-header{padding:1rem 1.1rem .5rem;gap:.75rem;border-bottom:1px solid var(--border)}.job-info-drawer-header-actions{align-items:center}.job-info-drawer-close{color:var(--danger);font-size:1.1rem;font-weight:700;line-height:1;min-width:2rem;padding-left:.45rem;padding-right:.45rem}.job-info-drawer-close:hover{color:#ff8a8a;background:#ff6b6b1f}.job-info-drawer-tabs{display:flex;gap:.25rem;padding:.5rem 1.1rem 0;border-bottom:1px solid var(--border);background:var(--surface)}.job-info-drawer-tab{flex:1;padding:.45rem .75rem;border:none;border-bottom:2px solid transparent;border-radius:.35rem .35rem 0 0;background:transparent;color:var(--muted);font-size:.82rem;font-weight:600;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.job-info-drawer-tab:hover{color:var(--text);background:var(--surface2)}.job-info-drawer-tab--active{color:var(--text);border-bottom-color:var(--accent);background:var(--surface2)}.job-info-drawer-tab-panel{gap:.65rem}.job-info-drawer-tab-panel[hidden]{display:none}.job-setup-tab-section{padding:.75rem .85rem}.job-setup-tab-section-title{margin:0 0 .35rem;font-size:.95rem;font-weight:600}.job-info-drawer-header h2{margin:0;font-size:1.15rem}.job-info-drawer-body{flex:1;padding:.75rem 1.1rem 1.25rem;overflow:auto}.job-info-drawer-tools{margin-bottom:.25rem}.job-info-drawer-footer{position:sticky;bottom:0;padding:.75rem 0 .25rem;background:linear-gradient(to top,var(--surface) 70%,transparent)}.wc-tracker-list-toolbar{align-items:center;margin-bottom:.35rem}.wc-tracker-line-row{cursor:pointer}.wc-tracker-line-row:hover td{background:#ffffff08}.wc-tracker-line-row--open td{background:#ffffff0a;border-bottom-color:transparent}.wc-tracker-row-chevron{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;transition:color .15s ease,border-color .15s ease}.wc-tracker-row-chevron:hover{color:var(--text);border-color:var(--accent)}.wc-tracker-row-chevron:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wc-tracker-row-chevron svg{transition:transform .15s ease}.wc-tracker-row-chevron--open svg{transform:rotate(90deg)}@media(prefers-reduced-motion:reduce){.wc-tracker-row-chevron svg{transition:none}}.wc-tracker-editor-row td{padding:.9rem .85rem 1rem;background:var(--surface);border-bottom:1px solid var(--border)}.wc-tracker-inline-editor{gap:.85rem}.wc-tracker-inline-editor-footer{padding-top:.25rem;border-top:1px solid var(--border)}.wc-stage-stepper-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .75rem}.wc-stage-stepper{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem}.wc-stage-step{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .55rem .22rem .28rem;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--muted);font-size:.76rem;font-weight:500;line-height:1.2;white-space:nowrap;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.wc-stage-step:hover{color:var(--text);border-color:var(--accent)}.wc-stage-step:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wc-stage-step-num{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--surface2);border:1px solid var(--border);font-size:.66rem;font-weight:600;line-height:1;flex-shrink:0}.wc-stage-step--done{color:var(--text);border-color:#22c55e73;background:#22c55e1a}.wc-stage-step--done .wc-stage-step-num{background:#22c55e40;border-color:#22c55e80;color:#7ee2a8}.wc-stage-step--current{color:var(--text);border-color:#4f8cff99;background:#4f8cff24}.wc-stage-step--current .wc-stage-step-num{background:var(--accent);border-color:var(--accent);color:#fff}.wc-stage-stepper-extras{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .85rem;margin-left:auto}.wc-stage-stepper-extras .paint-tracker-flag{white-space:nowrap}.wc-tracker-editor-flags{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.1rem}.flag-switch{display:inline-flex;align-items:center;gap:.4rem;padding:0;border:none;background:transparent;color:var(--muted);font-size:.78rem;font-weight:500;white-space:nowrap;cursor:pointer}.flag-switch:disabled{opacity:.55;cursor:default}.flag-switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.flag-switch-track{position:relative;width:32px;height:18px;flex-shrink:0;border-radius:999px;background:var(--surface2);border:1px solid var(--border);transition:background .15s ease,border-color .15s ease}.flag-switch-knob{position:absolute;top:1px;left:1px;width:14px;height:14px;border-radius:50%;background:var(--muted);transition:transform .15s ease,background .15s ease}.flag-switch--on .flag-switch-knob{transform:translate(14px);background:#fff}.flag-switch--on .flag-switch-label{color:var(--text)}.flag-switch--ok.flag-switch--on .flag-switch-track{background:#22c55e8c;border-color:#22c55eb3}.flag-switch--accent.flag-switch--on .flag-switch-track{background:#4f8cff99;border-color:#4f8cffbf}.flag-switch--warn.flag-switch--on .flag-switch-track{background:#f0b42999;border-color:#f0b429bf}@media(prefers-reduced-motion:reduce){.flag-switch-track,.flag-switch-knob{transition:none}}.material-tracker-page{width:100%;max-width:900px}.wc-tracker-editor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem .75rem}.wc-tracker-editor-grid .wc-col-2{grid-column:span 2}.wc-tracker-editor-grid .wc-col-3{grid-column:span 3}.wc-tracker-editor-grid .wc-col-4{grid-column:1 / -1}.wc-tracker-editor-grid textarea{resize:vertical}@media(max-width:820px){.wc-tracker-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wc-tracker-editor-grid .wc-col-2,.wc-tracker-editor-grid .wc-col-3{grid-column:1 / -1}}.wc-tracker-editor-more{border:1px solid var(--border);border-radius:8px;background:var(--surface2)}.wc-tracker-editor-more summary{padding:.55rem .75rem;font-size:.82rem;font-weight:600;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.wc-tracker-editor-more summary:hover{color:var(--text)}.wc-tracker-editor-more[open] summary{border-bottom:1px solid var(--border);color:var(--text)}.wc-tracker-editor-more-body{padding:.75rem}.wc-tracker-delete-btn:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.wc-tracker-list-wrap{overflow:auto;border:1px solid var(--border);border-radius:8px;background:var(--surface2)}.wc-tracker-list{width:100%;border-collapse:collapse;font-size:.88rem}.wc-tracker-list th,.wc-tracker-list td{padding:.55rem .65rem;text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}.wc-tracker-list th{font-size:.78rem;font-weight:600;color:var(--muted);background:#00000026;white-space:nowrap}.wc-tracker-list tbody tr:hover{background:#ffffff08}.wc-tracker-list-actions{text-align:right;white-space:nowrap}.wc-tracker-list .pill,.wc-tracker-overall-status .pill{display:inline-block;padding:.15rem .45rem;border-radius:999px;font-size:.72rem;font-weight:600;white-space:nowrap}.wc-tracker-list .pill-not-started,.wc-tracker-overall-status .pill-not-started{background:#e573732e;color:#f48fb1}.wc-tracker-list .pill-submittal-ordered,.wc-tracker-overall-status .pill-submittal-ordered{background:#ff98002e;color:#ffb74d}.wc-tracker-list .pill-submitted,.wc-tracker-overall-status .pill-submitted{background:#1976d233;color:#64b5f6}.wc-tracker-list .pill-approved,.wc-tracker-overall-status .pill-approved{background:#f9c60026;color:#ffd54f}.wc-tracker-list .pill-field-measure,.wc-tracker-overall-status .pill-field-measure{background:#26a69a2e;color:#4db6ac}.wc-tracker-list .pill-shops,.wc-tracker-overall-status .pill-shops{background:#7e57c233;color:#b39ddb}.wc-tracker-list .pill-material-ordered,.wc-tracker-overall-status .pill-material-ordered{background:#3f51b538;color:#9fa8da}.wc-tracker-list .pill-delivered,.wc-tracker-overall-status .pill-delivered{background:#43a04733;color:#81c784}.wc-tracker-list .pill-revision,.wc-tracker-overall-status .pill-revision{background:#ffc1072e;color:#ffd54f}.wc-tracker-overall-status{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.wc-tracker-list select.wc-tracker-status-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:auto;margin:0;border:1px solid transparent;padding:.15rem 1.15rem .15rem .45rem;font:inherit;font-size:.72rem;font-weight:600;line-height:1.4;cursor:pointer;color-scheme:dark;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='0 0 8 5'%3E%3Cpath d='M0 0l4 5 4-5z' fill='%23888'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .4rem center}.wc-tracker-list select.wc-tracker-status-select:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.wc-tracker-list select.wc-tracker-status-select:disabled{opacity:.55;cursor:wait}.wc-tracker-list select.wc-tracker-status-select:focus{outline:none}.wc-tracker-list select.wc-tracker-status-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wc-tracker-list select.wc-tracker-status-select option{background:var(--surface);color:var(--text);font-weight:500}.submittal-log-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.submittal-log-toolbar-spacer{flex:1 1 auto;min-width:.5rem}.submittal-log-table-wrap{max-height:min(28rem,60vh);overflow:auto}.submittal-log-table{font-size:.82rem;min-width:960px}.submittal-log-table th,.submittal-log-table td{white-space:nowrap;max-width:14rem;overflow:hidden;text-overflow:ellipsis}.submittal-log-table td:last-child{max-width:18rem}.submittal-log-check{width:2rem;text-align:center}.submittal-log-legend{margin-top:.25rem}.submittal-log-editor{width:min(640px,96vw);max-height:92vh;overflow:auto}.transmittal-page{gap:.75rem;--transmittal-main-col-width: 800px;--transmittal-rail-width: 17.5rem;width:fit-content;max-width:100%;box-sizing:border-box}.transmittal-setup-grid{display:grid;grid-template-columns:var(--transmittal-main-col-width) var(--transmittal-rail-width);gap:.85rem;align-items:start;width:fit-content;max-width:100%}.transmittal-main{width:var(--transmittal-main-col-width);max-width:100%;box-sizing:border-box;gap:.75rem}.transmittal-tools-row{align-items:center}.transmittal-build-rail{width:var(--transmittal-rail-width);max-width:100%;box-sizing:border-box;gap:.75rem}.transmittal-build-rail>h3{margin:0;font-size:1rem}.transmittal-build-checks{gap:.45rem}.transmittal-build-sheet-row{display:flex;align-items:center;justify-content:space-between;gap:.35rem}.transmittal-build-sheet-row .check{min-width:0}.transmittal-sheet-pick-btn{flex:0 0 auto;padding-inline:.4rem;color:var(--muted);font-size:.78rem}.transmittal-build-actions{margin-top:.15rem}.transmittal-build-buttons{gap:.45rem}.transmittal-build-buttons .btn{width:100%}@media(max-width:1100px){.transmittal-setup-grid{grid-template-columns:1fr;width:100%}.transmittal-main,.transmittal-build-rail{width:100%}}.transmittal-section-label{font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0}.transmittal-section-heading{align-items:baseline;gap:.5rem 1rem}.transmittal-job-context{margin:0;text-align:right}.transmittal-job-heading{align-items:center;justify-content:flex-end}.transmittal-header-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1rem;align-items:start}.transmittal-meta-pair{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;align-items:start}.transmittal-address-field{min-height:0;height:calc(1.35em * 3 + 1.1rem);resize:vertical}@media(max-width:760px){.transmittal-header-grid{grid-template-columns:1fr}}.transmittal-sent-history-body{display:grid;grid-template-columns:minmax(12rem,1fr) minmax(14rem,1.2fr);gap:1rem;align-items:start}@media(max-width:640px){.transmittal-sent-history-body{grid-template-columns:1fr}}.transmittal-sent-history-list{list-style:none;margin:0;padding:0;max-height:16rem;overflow:auto;border:1px solid var(--border);border-radius:6px}.transmittal-sent-history-item{display:block;width:100%;text-align:left;padding:.5rem .65rem;border:none;border-bottom:1px solid var(--border);background:transparent;cursor:pointer;font-size:.85rem}.transmittal-sent-history-item:last-child{border-bottom:none}.transmittal-sent-history-item.selected{background:var(--accent-soft, rgba(59, 130, 246, .12))}.transmittal-sent-history-pre{white-space:pre-wrap;margin:0 0 .75rem;font-family:inherit}.transmittal-sheet-pick-draft{font-style:italic}.transmittal-delivery-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}.transmittal-delivery-label{white-space:nowrap;font-size:.9rem}.transmittal-sent-row{font-size:.9rem}.transmittal-category-pills{display:flex;flex-wrap:wrap;gap:.4rem}.transmittal-category-pill{display:inline-flex;align-items:center;gap:.35rem;margin:0;padding:.35rem .7rem;border:1px solid var(--border);border-radius:999px;background:var(--bg-elevated);color:var(--text);font:inherit;font-size:.82rem;font-weight:600;cursor:pointer}.transmittal-category-pill.is-on{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 22%,var(--bg-elevated));color:var(--text)}.transmittal-category-pill-auto{font-size:.68rem;font-weight:600;color:var(--muted);text-transform:lowercase}.transmittal-category-pill--more{border-style:dashed;color:var(--muted);font-weight:600}.transmittal-enc-panel-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .85rem}.transmittal-enc-panel-title-row{display:flex;align-items:baseline;gap:.55rem}.transmittal-enc-panel-tools{align-items:center}.transmittal-enc-inline-check{font-size:.82rem}.transmittal-pending-strip{padding:.55rem .65rem;border-radius:8px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));background:color-mix(in srgb,var(--accent) 10%,var(--bg-elevated));gap:.35rem;display:flex;flex-direction:column}.transmittal-pending-strip-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.transmittal-pending-strip-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.transmittal-pending-strip-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.transmittal-pending-strip-label{min-width:0;font-size:.84rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transmittal-pending-more{align-self:flex-start;padding-inline:.15rem}.transmittal-enc-table{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface2)}.transmittal-enc-header,.transmittal-enc-row{display:grid;grid-template-columns:1.5rem 1.5rem minmax(0,1fr) 2.75rem 3rem 1.5rem;gap:.4rem;align-items:center;padding:.4rem .55rem}.transmittal-enc-header--for,.transmittal-enc-row--for{grid-template-columns:1.5rem 1.5rem minmax(0,1fr) 2.75rem 3rem 5rem 1.5rem}.transmittal-enc-header{border-bottom:1px solid var(--border);background:var(--surface);font-size:.72rem;letter-spacing:.03em;text-transform:uppercase}.transmittal-enc-stamp-head{text-align:center}.transmittal-enc-list{max-height:min(22rem,50vh);overflow:auto}.transmittal-enc-row{border-bottom:1px solid var(--border)}.transmittal-enc-row:last-child{border-bottom:none}.transmittal-enc-row--dragging{opacity:.55}.transmittal-enc-row--dragover{outline:2px dashed var(--accent);outline-offset:-2px}.transmittal-enc-row--excluded{opacity:.72}.transmittal-enc-handle,.transmittal-enc-handle-spacer{width:1.5rem;text-align:center}.transmittal-enc-handle{margin:0;padding:0;border:none;background:transparent;color:var(--muted);cursor:grab;font-size:.8rem;letter-spacing:-.05em;-webkit-user-select:none;user-select:none}.transmittal-enc-handle:active{cursor:grabbing}.transmittal-enc-check{display:inline-flex;justify-content:center}.transmittal-enc-desc{min-width:0;font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transmittal-dc-btn{justify-self:center;border:1px solid transparent;background:transparent;border-radius:4px;padding:.1rem .25rem;cursor:pointer;opacity:.4;line-height:1;color:var(--muted)}.transmittal-dc-btn.active{opacity:1;color:var(--accent)}.transmittal-enc-copies{width:100%;font-size:.85rem;text-align:center;padding:.3rem .25rem}.transmittal-enc-for{width:100%;font-size:.85rem;padding:.3rem .35rem}.transmittal-enc-remove{justify-self:center;min-width:0;padding:.1rem .3rem;line-height:1}.transmittal-remark-insert{width:auto;min-width:10rem;max-width:14rem;margin-top:0;padding:.3rem .5rem;font-size:.8rem}.transmittal-remarks-meta{gap:.75rem}.transmittal-generate-section{gap:.65rem}.transmittal-generate-row{align-items:center}.transmittal-sheet-row{align-items:center;padding-top:.35rem;border-top:1px solid var(--border)}.transmittal-sheet-pick-list{list-style:none;margin:0;padding:0;max-height:14rem;overflow:auto}.transmittal-sheet-pick-list li{padding:.25rem 0}.transmittal-email-relay-modal{max-width:36rem;width:min(96vw,36rem)}.transmittal-relay-section-title{margin:0;font-size:.95rem}.transmittal-relay-preview{margin:0;padding:.75rem;border:1px solid var(--border);border-radius:var(--radius, 8px);background:var(--bg-elevated);font-family:inherit;font-size:.8125rem;line-height:1.45;white-space:pre-wrap;word-break:break-word;max-height:14rem;overflow:auto}input.readonly{opacity:.75}.paint-email-modal{width:min(820px,100%);max-height:92vh;overflow:auto}.paint-email-modal .brushouts-send-list{max-height:min(32vh,14rem)}.paint-email-modal--sticky-actions{display:flex;flex-direction:column;overflow:hidden;padding-bottom:0;gap:0}.paint-email-modal-scroll{flex:1 1 auto;min-height:0;overflow:auto;padding-bottom:.85rem}.paint-email-modal-sticker{flex:0 0 auto;position:sticky;bottom:0;z-index:2;margin:0 -1.1rem;padding:.75rem 1.1rem;border-top:1px solid var(--border);background:var(--surface);border-radius:0 0 12px 12px;box-shadow:0 -6px 16px #00000038}.paint-email-ship-hint{margin-top:-.35rem}.paint-email-preview{width:100%;font-family:Consolas,monospace;font-size:.82rem;resize:vertical}.paint-email-html-preview{border:1px solid var(--border, #ddd);border-radius:6px;padding:12px 14px;background:#fff;font-family:Calibri,Arial,sans-serif;font-size:11pt;line-height:1.4;color:#333;max-height:280px;overflow:auto}.paint-email-html-preview--full{max-height:200px}.paint-email-modal .paint-email-html-preview--full{max-height:180px}.paint-email-settings{margin-top:0}.paint-settings-table-wrap{overflow-x:auto}.settings-scroll-table-wrap{max-height:min(420px,55vh);overflow:auto;border:1px solid var(--border);border-radius:8px}.settings-scroll-table-wrap .paint-settings-table,.settings-scroll-table-wrap .data-table{margin:0}.settings-scroll-table-wrap .paint-settings-table thead th,.settings-scroll-table-wrap .data-table thead th{position:sticky;top:0;z-index:1;background:var(--bg-elevated);box-shadow:0 1px 0 var(--border)}.paint-settings-table{width:100%;border-collapse:collapse;font-size:.9rem}.paint-settings-table th,.paint-settings-table td{border:1px solid var(--border, #ddd);padding:6px 8px;vertical-align:middle}.paint-settings-table input,.paint-settings-table select{width:100%;min-width:80px}.paint-catalog-row-actions{white-space:nowrap;width:1%}.paint-signature-html{width:100%;font-family:Consolas,monospace;font-size:.82rem;min-height:200px}.paint-signature-lines label{display:block}.paint-email-preview-box{border:1px solid var(--border, #ddd);border-radius:6px;padding:12px;background:var(--surface-2, #f8f9fa)}.paint-signature-style-table .paint-sig-style-cell{text-align:center;width:3rem}.paint-signature-style-table select{min-width:6rem}.paint-prep-modal{width:min(720px,100%)}@media(max-width:900px){.paint-history-body{grid-template-columns:1fr}}@media(max-width:900px){.paint-items-header,.paint-item-row{flex-wrap:wrap}.paint-col-color,.paint-col-product,.paint-col-sheen,.paint-col-prev,.paint-col-floor{flex:1 1 100%;width:100%;min-width:0}.paint-items-header .paint-col-head:not(.paint-col-label):not(.paint-col-head-actions){display:none}}.billing-page{gap:16px;min-width:0}.billing-summary-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.billing-summary-row--five{grid-template-columns:repeat(5,1fr)}@media(max-width:1100px){.billing-summary-row--five{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.billing-summary-row,.billing-summary-row--five{grid-template-columns:repeat(2,1fr)}}.billing-summary-card{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--bg-elevated)}.billing-summary-card--green{border-color:#5fd38d59}.billing-summary-card--red{border-color:#ff6b6b66}.billing-summary-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.billing-summary-value{font-size:22px;font-weight:600}.billing-summary-card--green .billing-summary-value{color:var(--ok)}.billing-summary-card--red .billing-summary-value{color:var(--danger)}.billing-summary-card--amber{border-color:#f0b42966}.billing-summary-card--amber .billing-summary-sub{color:var(--warn)}.billing-summary-sub--muted{color:var(--muted)!important}.billing-summary-sub{font-size:11px;color:var(--muted)}.billing-calendar-placeholder{padding:14px 16px;border-style:dashed}.billing-card-title{margin:0;font-size:15px;font-weight:600}.billing-table{width:100%;border-collapse:collapse}.billing-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:6px 8px;border-bottom:1px solid var(--border)}.billing-table th.num,.billing-table td.num{text-align:right}.billing-table td{padding:6px 8px;border-bottom:1px solid rgba(58,67,88,.5);vertical-align:middle}.billing-table input{width:100%;min-width:0}.billing-num-input{text-align:right;max-width:120px;margin-left:auto}.billing-table td.num .billing-num-input{display:inline-block}.billing-empty{text-align:center;padding:16px 8px}.billing-blended-row td{border-top:1px solid var(--border);border-bottom:none;font-weight:600;color:var(--text)}.billing-fields label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.billing-budget-line{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.billing-budget-inline{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);white-space:nowrap}.billing-budget-inline .billing-num-input{max-width:140px}.billing-progress-wrap{flex:1;min-width:160px;display:flex;flex-direction:column;gap:4px}.billing-progress-track{height:6px;border-radius:999px;background:var(--surface2);overflow:hidden}.billing-progress-bar{height:100%;background:var(--accent);border-radius:999px;transition:width .2s ease}.billing-progress-bar--over{background:var(--danger)}.billing-progress-caption{align-self:flex-end}.billing-manpower-card{gap:12px;min-width:0;overflow:hidden}.billing-manpower-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.75rem 1rem}.billing-manpower-toolbar-main{display:flex;flex-direction:column;gap:.65rem;min-width:0;flex:1 1 16rem}.billing-manpower-schedule-row{display:grid;grid-template-columns:repeat(2,minmax(0,11.5rem)) minmax(0,auto);gap:.65rem 1rem;align-items:end}.billing-manpower-schedule-row label{display:flex;flex-direction:column;gap:.25rem;min-width:0}.billing-manpower-week-count{margin:0;padding-bottom:.45rem;align-self:end}.billing-manpower-header-pill--readonly{cursor:default;pointer-events:none;opacity:.9}.billing-manpower-scroll{display:block;width:100%;max-width:100%;min-width:0;overflow-x:scroll;overflow-y:hidden;margin:0;padding:0 0 12px;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;overscroll-behavior-x:contain;scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:color-mix(in srgb,var(--accent, #4f8cff) 55%,var(--border)) var(--surface2)}.billing-manpower-scroll::-webkit-scrollbar{height:12px}.billing-manpower-scroll::-webkit-scrollbar-track{background:var(--surface2);border-radius:8px;border:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.billing-manpower-scroll::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--accent, #4f8cff) 45%,var(--border));border-radius:8px;border:2px solid var(--surface2);min-width:48px}.billing-manpower-scroll::-webkit-scrollbar-thumb:hover,.billing-manpower-scroll::-webkit-scrollbar-thumb:active{background:color-mix(in srgb,var(--accent, #4f8cff) 70%,var(--border))}.billing-manpower-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:13px}.billing-manpower-table th,.billing-manpower-table td{padding:6px 8px;border-bottom:1px solid rgba(58,67,88,.5);vertical-align:middle;white-space:nowrap}.billing-manpower-table th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:500}.billing-manpower-sticky{position:sticky;background:var(--surface);z-index:1}.billing-manpower-phase-col{left:0;width:120px;min-width:120px;max-width:120px;text-align:left}.billing-manpower-table--plan th,.billing-manpower-table--plan td{padding-top:4px;padding-bottom:4px}.billing-manpower-table--plan .billing-manpower-phase-col{width:max-content;min-width:max-content;max-width:none;padding:4px 10px 4px 6px;overflow:visible;white-space:nowrap;box-sizing:border-box;vertical-align:middle}.billing-manpower-table--plan .billing-manpower-phase-name{display:table-cell;padding-left:6px;line-height:1.15;overflow:visible;white-space:nowrap}.billing-manpower-phase-name{display:flex;flex-direction:column;gap:1px;line-height:1.2;border-left:3px solid transparent;padding-left:6px;min-width:0}.billing-manpower-phase-code{font-weight:700;font-size:13px;font-variant-numeric:tabular-nums}.billing-manpower-phase-desc{font-size:12px;font-weight:400;color:var(--muted);white-space:nowrap}.billing-manpower-table--plan .billing-manpower-phase-desc{overflow:visible;text-overflow:clip;max-width:none;margin-left:.35em}.billing-manpower-budget-col{min-width:64px;font-variant-numeric:tabular-nums}.billing-manpower-budget-col.billing-manpower-sticky{width:68px;min-width:68px;max-width:68px}.billing-manpower-table--plan .billing-manpower-budget-col--budget{left:var(--manpower-budget-left, 140px)}.billing-manpower-table--plan .billing-manpower-budget-col--planned{left:var(--manpower-planned-left, 208px)}.billing-manpower-table--plan .billing-manpower-budget-col--left{left:var(--manpower-left-left, 276px);box-shadow:2px 0 6px #00000026}.billing-manpower-budget-col--budget{left:120px}.billing-manpower-budget-col--planned{left:188px}.billing-manpower-budget-col--left{left:256px;box-shadow:2px 0 6px #00000026}.billing-manpower-left--over{color:#e34948;font-weight:700}.billing-manpower-contract-tabs{display:flex;flex-wrap:wrap;gap:6px}.billing-manpower-contract-tab{border:1px solid var(--border, #dadce0);background:var(--bg-elevated, #fff);color:var(--text-soft, #3c4043);border-radius:6px;padding:6px 12px;font-size:13px;font-weight:600;cursor:pointer}.billing-manpower-contract-tab.active{border-color:var(--accent, #1a73e8);color:var(--accent, #1a73e8);background:color-mix(in srgb,var(--accent, #1a73e8) 10%,transparent)}.billing-manpower-contract-summary,.billing-manpower-empty{margin:0}.billing-manpower-total-col{min-width:72px;font-weight:600}.billing-manpower-week-col{min-width:64px;text-align:center}@media(pointer:fine)and (min-width:1024px){.billing-manpower-scroll::-webkit-scrollbar{height:11px}.billing-manpower-week-col{min-width:58px}.billing-manpower-chip{min-height:32px}}@media(pointer:coarse),(max-width:1023px){.billing-manpower-schedule-row{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-manpower-week-count{grid-column:1 / -1;padding-bottom:0}.billing-manpower-scroll{padding-bottom:16px}.billing-manpower-scroll::-webkit-scrollbar{height:16px}.billing-manpower-week-col{min-width:72px}.billing-manpower-phase-col{width:110px;min-width:110px;max-width:110px}.billing-manpower-table--plan .billing-manpower-phase-col{width:max-content;min-width:max-content;max-width:none}.billing-manpower-budget-col--budget{left:110px}.billing-manpower-budget-col--planned{left:178px}.billing-manpower-budget-col--left{left:246px}.billing-manpower-table--plan .billing-manpower-budget-col--budget{left:var(--manpower-budget-left, 140px)}.billing-manpower-table--plan .billing-manpower-budget-col--planned{left:var(--manpower-planned-left, 208px)}.billing-manpower-table--plan .billing-manpower-budget-col--left{left:var(--manpower-left-left, 276px)}.billing-manpower-chip{min-height:44px;min-width:52px;padding:.5rem .35rem;font-size:.95rem}.billing-manpower-header-pill{min-height:36px;padding:6px 12px;font-size:12px}.billing-manpower-cell-input{min-height:44px;font-size:1rem}}.billing-manpower-card--field{overflow:visible;gap:.85rem}.billing-manpower-card--field .billing-manpower-toolbar-main{gap:.5rem}.billing-manpower-month-col{min-width:72px;text-align:center}.billing-manpower-month-col--clickable{padding:4px 2px}.billing-manpower-header-pill{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface2);color:var(--text-secondary, var(--muted));font:inherit;font-size:11px;font-weight:600;line-height:1.2;letter-spacing:0;text-transform:none;white-space:nowrap;cursor:pointer}.billing-manpower-header-pill-icon{width:11px;height:11px;flex-shrink:0}.billing-manpower-header-pill:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:color-mix(in srgb,var(--accent) 8%,transparent);box-shadow:0 0 8px color-mix(in srgb,var(--accent) 15%,transparent)}.billing-manpower-header-pill:focus{outline:none}.billing-manpower-header-pill:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.billing-manpower-header-pill--current{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 50%,transparent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.billing-week-detail-modal{width:min(820px,96vw);max-height:min(90vh,720px);overflow:hidden;display:flex;flex-direction:column;gap:12px}.billing-week-detail-scroll{overflow:auto;min-height:0;margin:0 -4px;padding:0 4px 4px}.billing-week-detail-table{width:100%;border-collapse:collapse;font-size:13px}.billing-week-detail-table th,.billing-week-detail-table td{padding:6px 4px;border-bottom:1px solid var(--border);vertical-align:middle}.billing-week-detail-table th{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.billing-week-detail-phase-col{text-align:left;min-width:8.5rem;padding-left:8px;position:sticky;left:0;background:var(--surface);z-index:1}.billing-week-detail-day-col{width:4.25rem;min-width:4.25rem;text-align:center}.billing-week-detail-day-col .billing-week-detail-weekday{display:block;color:var(--text);font-weight:700;text-transform:none;letter-spacing:0;font-size:12px}.billing-week-detail-day-col .billing-week-detail-date{display:block;font-size:11px;font-weight:500;text-transform:none;letter-spacing:0}.billing-week-detail-total-col{width:3.5rem;min-width:3.5rem;text-align:right;padding-right:8px;font-weight:600}.billing-week-detail-input{width:100%;max-width:3.75rem;margin:0 auto;display:block;text-align:center;padding:6px 4px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);color:var(--text);font:inherit;font-size:13px;font-weight:600}.billing-week-detail-input:focus{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:1px;border-color:var(--accent)}.billing-week-detail-total-row td{font-weight:600;border-bottom:none;padding-top:10px;background:var(--surface2)}.billing-week-detail-day-total{display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1.2}.billing-week-detail-actions{justify-content:flex-end;margin-top:4px}.billing-manpower-week-col--beyond-contract{color:var(--warn);font-weight:600}.billing-manpower-phase-name{border-left:3px solid var(--border);font-weight:500}.billing-manpower-chip{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:28px;padding:2px 8px;border:1px dashed var(--border);border-radius:8px;background:transparent;color:var(--muted);font-size:13px;font-weight:600;cursor:pointer}.billing-manpower-chip--empty:hover{border-color:var(--muted);color:var(--text)}.billing-manpower-chip:not(.billing-manpower-chip--empty){border-style:solid}.billing-manpower-cell-input{width:44px;text-align:center;padding:4px}.billing-manpower-row-label{font-weight:500;color:var(--muted)}.billing-manpower-planned-cell{color:var(--muted);font-weight:600}.billing-monthly-cost-band td{background:color-mix(in srgb,var(--accent) 12%,var(--bg-elevated));border-bottom-color:color-mix(in srgb,var(--accent) 22%,rgba(58,67,88,.5))}.billing-monthly-cost-band .billing-manpower-sticky{background:color-mix(in srgb,var(--accent) 12%,var(--bg-elevated))}.billing-monthly-cost-band .billing-manpower-row-label{color:var(--text);font-weight:600}.billing-monthly-cost-band--total td{background:color-mix(in srgb,var(--accent) 20%,var(--bg-elevated));font-weight:600;border-bottom-color:color-mix(in srgb,var(--accent) 34%,rgba(58,67,88,.5))}.billing-monthly-cost-band--total .billing-manpower-sticky{background:color-mix(in srgb,var(--accent) 20%,var(--bg-elevated))}.billing-budget-card{gap:12px}.billing-budget-value-button{display:inline-flex;align-items:center;justify-content:center;min-width:56px;min-height:28px;padding:2px 8px;border:1px solid transparent;border-radius:8px;background:transparent;color:inherit;font:inherit;cursor:pointer}.billing-billed-input{width:100%;min-width:64px;max-width:96px;margin:0 auto;padding:2px 6px;border:1px solid transparent;border-radius:8px;background:transparent;color:inherit;font:inherit;text-align:right}.billing-billed-input:hover,.billing-billed-input:focus{border-color:var(--border);background:#4f8cff1a;outline:none}.billing-billed-input::placeholder{color:var(--muted);opacity:.7}.billing-budget-value-button:hover,.billing-budget-value-button:focus-visible{border-color:var(--border);background:#4f8cff1a;outline:none}.billing-month-calculator-modal{width:min(560px,96vw);gap:12px;max-height:none;overflow:visible}.billing-month-calculator-modal:has(.billing-calc-rates[open]){max-height:min(92vh,860px);overflow-y:auto}.billing-calc-stat-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.billing-calc-stat-tile{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:var(--surface2);pointer-events:none;-webkit-user-select:none;user-select:none;min-width:0}.billing-calc-stat-label{font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);line-height:1.2}.billing-calc-stat-value{font-size:15px;font-weight:600;line-height:1.25;color:var(--text);font-variant-numeric:tabular-nums}.billing-calc-stat-sub{font-size:11px;line-height:1.2}.billing-calc-ledger{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface)}.billing-calc-ledger-row{display:grid;grid-template-columns:110px 1fr 1fr;align-items:center;min-height:2.35rem;border-bottom:1px solid var(--border)}.billing-calc-ledger-row:last-child{border-bottom:none}.billing-calc-ledger-row--head{min-height:1.85rem;background:var(--surface2)}.billing-calc-ledger-row--head .billing-calc-ledger-cell{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.billing-calc-ledger-label{padding:6px 10px;border-right:1px solid var(--border);font-size:13px;font-weight:600;color:var(--text-secondary)}.billing-calc-ledger-cell{display:flex;align-items:center;justify-content:flex-end;padding:4px 8px;min-width:0;border-right:1px solid var(--border)}.billing-calc-ledger-cell:last-child{border-right:none}.billing-calc-ledger-value{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text)}.billing-calc-ledger-row--total{background:color-mix(in srgb,var(--surface2) 85%,var(--bg))}.billing-calc-ledger-row--total .billing-calc-ledger-label,.billing-calc-ledger-row--total .billing-calc-ledger-value{font-weight:700;color:var(--text)}.billing-calc-ledger-input{width:100%;max-width:7.5rem;margin-left:auto;text-align:right;padding:5px 8px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));border-radius:8px;background:var(--bg-elevated);color:var(--text);font:inherit;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.billing-calc-ledger-input:focus{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:1px;border-color:var(--accent)}.billing-calc-margin-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:10px 14px;border-radius:10px;border:1px solid color-mix(in srgb,var(--ok) 40%,var(--border));background:color-mix(in srgb,var(--ok) 9%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--ok) 12%,transparent),0 0 12px color-mix(in srgb,var(--ok) 8%,transparent)}.billing-calc-margin-label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ok)}.billing-calc-margin-value{font-size:17px;font-weight:700;color:var(--ok);font-variant-numeric:tabular-nums;line-height:1.2}.billing-calc-rates{border:1px solid var(--border);border-radius:10px;background:var(--surface2);overflow:hidden}.billing-calc-rates-summary{display:flex;align-items:center;gap:.45rem;padding:8px 12px;cursor:pointer;font-size:13px;font-weight:600;color:var(--text-secondary);list-style:none;-webkit-user-select:none;user-select:none}.billing-calc-rates-summary::-webkit-details-marker{display:none}.billing-calc-rates-summary::marker{content:""}.billing-calc-rates-chevron{width:.45rem;height:.45rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .15s ease;flex-shrink:0}.billing-calc-rates[open] .billing-calc-rates-chevron{transform:rotate(45deg)}.billing-calc-rates-summary:hover{color:var(--text);background:color-mix(in srgb,var(--accent) 6%,transparent)}.billing-calc-rates-body{gap:10px;padding:0 10px 12px;border-top:1px solid var(--border)}.billing-calc-rates-table-wrap{overflow-x:auto;margin:0 -2px}.billing-calc-rates-table{width:100%;border-collapse:collapse;font-size:13px}.billing-calc-rates-table th,.billing-calc-rates-table td{padding:6px 4px;vertical-align:middle;border-bottom:1px solid var(--border)}.billing-calc-rates-table th{font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);text-align:left}.billing-calc-rates-table th.num,.billing-calc-rates-table td.num{text-align:right}.billing-calc-rates-class-col{width:auto;min-width:10rem}.billing-calc-rates-class-input{width:100%;min-width:0;box-sizing:border-box;padding:5px 8px;border:1px solid var(--border);border-radius:7px;background:var(--bg-elevated);color:var(--text);font:inherit;font-size:13px}.billing-calc-rates-num-input{width:64px;max-width:64px;box-sizing:border-box;margin-left:auto;display:block;text-align:right;padding:5px 6px;border:1px solid var(--border);border-radius:7px;background:var(--bg-elevated);color:var(--text);font:inherit;font-size:13px;font-variant-numeric:tabular-nums}.billing-calc-rates-class-input:focus,.billing-calc-rates-num-input:focus{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:1px;border-color:var(--accent)}.billing-calc-rates-remove:hover:not(:disabled){color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,var(--border))}.billing-labor-rates-modal{width:min(720px,96vw);max-height:min(90vh,860px);overflow-y:auto}.billing-page-toolbar{align-items:center}.billing-page-toolbar-hint{margin:0}.billing-contract-base,.billing-contract-note{display:flex;flex-direction:column;gap:6px;max-width:320px}.billing-line-items-section{gap:10px}.billing-section-subtitle{margin:0;font-size:.95rem;font-weight:600}.billing-manpower-total-row td{font-weight:600;border-top:1px solid var(--border)}.billing-manpower-week-total--overlap{color:var(--warn);background:#f0b42914}.billing-manpower-legend{display:flex;flex-wrap:wrap;gap:12px 16px}.billing-manpower-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.billing-manpower-legend-swatch{width:10px;height:10px;border-radius:2px;flex-shrink:0}.billing-manpower-caption{margin:0}.billing-hours-planned--ok{color:var(--ok);font-weight:600}.billing-hours-planned--over{color:var(--warn);font-weight:600}.billing-hours-card{min-width:0}.billing-hours-mode-toggle{margin:0}.billing-hours-period-table{min-width:max-content}.billing-hours-period-col{min-width:72px;text-align:center;vertical-align:top}.billing-hours-period-label{display:block;font-weight:600;color:var(--text);text-transform:none;letter-spacing:0;font-size:12px}.billing-hours-period-sublabel{display:block;font-size:9px;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.billing-hours-period-cell{display:flex;flex-direction:column;align-items:center;gap:3px;padding:2px 0}.billing-hours-period-planned{font-weight:600;font-size:13px}.billing-hours-period-budget{font-size:11px}.billing-hours-period-actual-input{width:52px;text-align:center;padding:3px 4px;font-size:12px}.billing-hours-period-total{display:flex;flex-direction:column;gap:2px;font-weight:600;font-size:12px}.billing-hours-total-col{min-width:72px;background:var(--bg-elevated)}
