:root{--ink:#111827;--ink-2:#4b5563;--ink-3:#6b7280;--ink-soft:#4b5563;--line-strong:#333;--page:#f3f4f6;--surface:#fff;--border:#e5e7eb;--border-strong:#d1d5db;--brand:#2563eb;--brand-dark:#1e4fbc;--brand-deep:#112d6a;--brand-soft:#e9effd;--brand-ink:#fff;--brand-nav:#1f2937;--brand-nav-ink:#e5e7eb;--nav:var(--brand-nav);--nav-ink:var(--brand-nav-ink);--green:var(--brand);--green-dark:var(--brand-dark);--green-deep:var(--brand-deep);--green-soft:var(--brand-soft);--danger:#a32d2d;--danger-soft:#fceded;--warning:#b45309;--feeds-pill-label-color:#e8d48a;--type-bg:#faeeda;--type-br:#ba7517;--type-ink:#412402;--pick-bg:#e6f1fb;--pick-br:#185fa5;--pick-ink:#0f3f70;--need-bg:#fcebeb;--need-br:#a32d2d;--need-ink:#791f1f;--calc-bg:#eaf3de;--calc-br:#3b6d11;--calc-ink:#173404;--cat1-bg:#e6f1fb;--cat1-br:#b9d7f0;--cat2-bg:#eaf3de;--cat2-br:#cde3b6;--cat3-bg:#faeeda;--cat3-br:#f0d9ad;--cat4-bg:#f3e8fb;--cat4-br:#ddc3f0;--cat5-bg:#fceded;--cat5-br:#f0c6c6;--cat6-bg:#e4f6f3;--cat6-br:#bfe6df;--block-bg:#1f4463;--block-ink:#cfe3f5;--frp-accent:#0e7a5f;--frp-block-bg:#0e7a5f;--frp-block-ink:#d7f0e6;--paint-accent:#7a4a1e;--paint-block-bg:#7a4a1e;--paint-block-ink:#f3e3d1;--act-accent:#2c5f8a;--act-block-bg:#2c5f8a;--act-block-ink:#cfe3f5;--framing-accent:#52667a;--framing-block-bg:#52667a;--framing-block-ink:#dbe3ea;--gyp-accent:#7a3a5c;--gyp-block-bg:#7a3a5c;--gyp-block-ink:#f0dbe8;--resinous-accent:#1f6f7a;--resinous-block-bg:#1f6f7a;--resinous-block-ink:#cdeaee;--flooring-accent:#3fa579;--flooring-block-bg:#3fa579;--flooring-block-ink:#dcf3e9;--carpentry-accent:#7a3025;--carpentry-block-bg:#7a3025;--carpentry-block-ink:#ecd3ce;--tile-accent:#5c6b1f;--tile-block-bg:#5c6b1f;--tile-block-ink:#e6ecc9;--misc-accent:#2f5fa7;--misc-block-bg:#2f5fa7;--misc-block-ink:#dbe7ff;--equipment-accent:#454545;--equipment-block-bg:#454545;--equipment-block-ink:#dcdcdc;--general-accent:#6b7280;--alternate-bg:#111827;--alternate-ink:#d9dedb;--radius:8px;--shadow:0 1px 2px #1018140f, 0 1px 3px #1018140a}:root.night-mode{--night-card-fill:#e8d48a;--night-card-ink:#1b1f1d;--night-card-ink-2:#412402;--night-card-ink-3:#5b4a28;--night-panel-bg:var(--night-card-fill);--night-panel-bg-elevated:color-mix(in srgb, var(--night-card-fill) 78%, #6b5c2e);--night-accent:#e8d48a;--night-accent-soft:color-mix(in srgb, var(--feeds-pill-label-color) 14%, #232826);--night-accent-muted:color-mix(in srgb, var(--feeds-pill-label-color) 32%, #3a403d);--ink:#e4e8e6;--ink-2:#b8c0bc;--ink-3:#8a9490;--ink-soft:#b8c0bc;--line-strong:#e8d48a;--page:#232826;--surface:var(--night-card-fill);--surface-elevated:var(--night-panel-bg-elevated);--card:var(--night-card-fill);--bg:#232826;--border:color-mix(in srgb, var(--feeds-pill-label-color) 22%, #3a403d);--border-strong:color-mix(in srgb, var(--feeds-pill-label-color) 38%, #4a524e);--shadow:0 1px 2px #00000059, 0 1px 3px #00000040;--surface-hover:color-mix(in srgb, var(--feeds-pill-label-color) 14%, var(--night-panel-bg-elevated));--surface-subtle:var(--surface);--text-primary:#e4e8e6;--text-secondary:#b8c0bc;--text-muted:#8a9490;--muted:#8a9490;--green-soft:color-mix(in srgb, var(--green) 18%, var(--night-panel-bg));--danger-soft:color-mix(in srgb, var(--danger) 18%, var(--night-panel-bg));--type-bg:color-mix(in srgb, var(--feeds-pill-label-color) 12%, var(--night-panel-bg));--type-br:color-mix(in srgb, var(--feeds-pill-label-color) 55%, #6b5c2e);--type-ink:#e8d48a;--pick-bg:color-mix(in srgb, #185fa5 18%, var(--night-panel-bg));--pick-br:#4a8fd4;--pick-ink:#a8d4f5;--need-bg:color-mix(in srgb, #a32d2d 18%, var(--night-panel-bg));--need-br:#c45a5a;--need-ink:#f0a8a8;--calc-bg:color-mix(in srgb, #3b6d11 18%, var(--night-panel-bg));--calc-br:#6aaa3a;--calc-ink:#c8e8a8;--cat1-bg:color-mix(in srgb, #185fa5 18%, var(--night-panel-bg));--cat1-br:#4a8fd4;--cat2-bg:color-mix(in srgb, #3b6d11 18%, var(--night-panel-bg));--cat2-br:#6aaa3a;--cat3-bg:color-mix(in srgb, #ba7517 18%, var(--night-panel-bg));--cat3-br:#d69a3f;--cat4-bg:color-mix(in srgb, #7a3a8a 18%, var(--night-panel-bg));--cat4-br:#b06ac0;--cat5-bg:color-mix(in srgb, #a32d2d 18%, var(--night-panel-bg));--cat5-br:#c45a5a;--cat6-bg:color-mix(in srgb, #1f6f7a 18%, var(--night-panel-bg));--cat6-br:#4aa0ac;--alternate-bg:var(--night-panel-bg-elevated);--alternate-ink:#e8d48a}*{box-sizing:border-box}body{background:var(--page);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font:14px/1.45 Segoe UI,-apple-system,system-ui,sans-serif}button,input,select,textarea{font:inherit;color:inherit}input[type=number]{appearance:textfield}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input::placeholder,textarea::placeholder{color:inherit;opacity:.45}.core-values-bar{z-index:30;background:var(--nav);height:60px;color:var(--nav-ink);white-space:nowrap;grid-template-columns:206px minmax(0,1fr) auto;align-items:center;gap:24px;padding:0 24px 0 22px;display:grid;position:sticky;top:0;overflow:visible}.core-values-logo-chip{background:#fff;border-radius:8px;justify-self:start;align-items:center;max-width:100%;padding:4px 10px;display:inline-flex}.core-values-name{text-overflow:ellipsis;letter-spacing:.02em;justify-self:start;max-width:100%;font-size:16px;font-weight:700;overflow:hidden}.core-values-logo{object-fit:contain;justify-self:start;width:auto;max-width:100%;height:32px;display:block}.core-values-list{letter-spacing:.03em;text-transform:uppercase;justify-content:center;align-items:center;gap:40px;min-width:0;font-size:12px;font-weight:700;display:flex;overflow-x:auto}.core-value-item{align-items:center;gap:10px;display:inline-flex}.core-value-sep{background:#fff;width:2px;height:22px;margin-right:10px;display:inline-block}.core-values-actions{justify-self:end;align-items:center;gap:10px;display:flex}.core-values-actions-with-search{position:relative}.core-values-bar .dashboard-search-input-box{background:var(--border);box-shadow:none;color:var(--ink-3);border-color:#ffffff2e}.core-values-bar .dashboard-search-input-box:focus-within{box-shadow:0 0 0 2px var(--border-strong);border-color:#fff}.core-values-bar .dashboard-search-icon,.core-values-bar .dashboard-search-clear-btn{color:var(--ink-3)}.core-values-bar .dashboard-search-clear-btn:hover{color:var(--ink);background:var(--border-strong)}.core-values-bar .dashboard-search-input{color:var(--ink)}.core-values-bar .dashboard-search-input::placeholder{color:var(--ink-3);opacity:.85}.core-values-bar .who{background:var(--border);color:var(--ink);border-color:#ffffff2e;justify-self:end}.core-values-bar .who:hover{border-color:var(--border-strong);color:var(--ink);background:var(--border-strong)}.core-values-bar .notif-bell-btn{color:var(--ink-3)}.core-values-bar .notif-bell-btn:hover{border-color:var(--border-strong);color:var(--ink);background:var(--border-strong)}.sidebar-feedback-btn{width:100%;color:var(--ink);background:var(--page);border:1px solid var(--border);cursor:pointer;text-align:center;border-radius:8px;flex:none;margin-top:8px;padding:10px 12px;font-size:12px;font-weight:600;line-height:1.35}.sidebar-feedback-btn:hover{color:var(--ink);border-color:var(--border-strong);background:var(--border-strong)}.feedback-modal{color:var(--ink)}.feedback-modal h2{color:#000}.feedback-modal .btn:not(.btn-primary){color:var(--ink)}.feedback-kind-toggle{gap:8px;display:flex}.feedback-kind-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.feedback-kind-badge.is-issue{color:#b91c1c;background:#fde2e2}.feedback-kind-badge.is-feature{color:#1d4ed8;background:#dbeafe}.feedback-reply-thread{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:10px;padding-top:10px;display:flex}.feedback-reply-thread-item p{white-space:pre-wrap;margin:4px 0 0;font-size:13px}.feedback-reply-thread-meta{color:var(--ink-2);align-items:center;gap:8px;font-size:12px;display:flex}.feedback-reply-modal-original{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.feedback-reply-modal-original-body{white-space:pre-wrap;margin:0}.notif-bell{position:relative}.notif-bell-btn{background:var(--border);color:#fff;cursor:pointer;border:1px solid #ffffff2e;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:flex;position:relative}.notif-bell-btn:hover{background:#ffffff29;border-color:#fff}.notif-bell-btn.is-red{color:#ef4444;background:#ef444438;border-color:#ef4444}.notif-bell-btn.is-red svg{stroke:#ef4444;color:#ef4444}.notif-bell-btn.is-red:hover{background:#ef444459;border-color:#f87171}.commissions-due{margin-bottom:20px}.commissions-due-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.commissions-due-head h2{margin:0 0 4px}.commissions-due-head p{margin:0}.commissions-due-total{text-align:right}.commissions-due-total small{color:var(--ink-3,#6b7280);display:block}.commissions-due-total strong{font-size:22px}.commissions-due-tabs{--pipeline-tab-cols:3;max-width:420px;margin-bottom:12px}.commission-status{border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-block}.commission-status.is-unpaid{color:#b42318;background:#fde8e8}.commission-status.is-partial{color:#92400e;background:#fef3c7}.commission-status.is-paid{background:var(--green-soft);color:var(--green-dark)}.commission-reports{border-top:1px solid var(--border,#d1d5db);margin:14px 0 4px;padding-top:12px}.commission-reports-hint{margin:6px 0 0;font-size:13px}.ach-window{z-index:900;background:var(--card,#fff);width:min(460px,100vw - 24px);max-height:calc(100vh - 48px);color:inherit;border:1px solid var(--border,#d1d5db);border-radius:10px;flex-direction:column;display:flex;position:fixed;bottom:24px;right:24px;overflow:hidden;box-shadow:0 12px 36px #00000047}.ach-window:not(.is-collapsed){resize:both;min-width:320px;min-height:220px}.ach-window-head{background:var(--green);color:#fff;cursor:move;-webkit-user-select:none;user-select:none;touch-action:none;align-items:center;gap:6px;padding:8px 10px;display:flex}.ach-window-title{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.ach-window-icon{color:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:inline-flex}.ach-window-icon:hover{background:#7f7f7f40}.ach-window-body{flex-direction:column;gap:10px;padding:12px;display:flex;overflow-y:auto}.ach-window-group{border:1px solid var(--border,#d1d5db);border-radius:6px;margin-bottom:6px;padding:6px 8px}.ach-window-group-head,.ach-window-line{justify-content:space-between;align-items:center;gap:8px;display:flex}.ach-window-line{padding:2px 0 2px 10px;font-size:13px}.ach-window-line-job{flex:1}.ach-window-confirm{align-items:center;gap:4px;font-size:12px;display:inline-flex}.ach-window-done{color:#15803d;font-weight:600}.ach-window textarea{resize:vertical;width:100%;font-family:inherit}.ai-assistant-menu{position:relative}.ai-assistant-btn{background:var(--border);color:#fff;cursor:pointer;border:1px solid #ffffff2e;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;transition:all .15s;display:flex;position:relative}.ai-assistant-btn:hover,.ai-assistant-btn.is-active{border-color:var(--green);color:#a7f3d0;background:#2e7d3240}.ai-assistant-dropdown{background:var(--surface);width:340px;color:var(--ink);border:1px solid var(--border);z-index:60;border-radius:12px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 16px 48px #0000003d}.ai-assistant-header{border-bottom:1px solid var(--border);background:var(--bg);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.ai-assistant-model-pill{background:var(--green-soft);color:var(--green-dark);letter-spacing:.03em;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:700}.ai-assistant-body{padding:12px}.ai-capability-list{flex-direction:column;gap:8px;display:flex}.ai-capability-item{text-align:left;border:1px solid var(--border);background:var(--surface);width:100%;color:inherit;cursor:pointer;font:inherit;border-radius:8px;align-items:flex-start;gap:10px;padding:10px;transition:all .12s;display:flex}.ai-capability-item:hover{background:var(--page);border-color:var(--green);transform:translateY(-1px)}.ai-capability-icon{background:var(--green-soft);width:28px;height:28px;color:var(--green-dark);border-radius:6px;flex-shrink:0;place-items:center;margin-top:1px;display:grid}.ai-capability-content{flex:1}.ai-capability-title-row{justify-content:space-between;align-items:center;font-size:13px;display:flex}.ai-capability-arrow{opacity:.4;transition:opacity .15s}.ai-capability-item:hover .ai-capability-arrow{opacity:1;color:var(--green-dark)}.ai-capability-content p{color:var(--ink-2);margin:3px 0 0;font-size:11px;line-height:1.35}.ai-assistant-footer{border-top:1px solid var(--border);background:var(--bg);text-align:center;padding:8px 14px}.notif-badge{color:#fff;pointer-events:none;background:#ef4444;border-radius:99px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:flex;position:absolute;top:-4px;right:-4px}.notif-badge.is-dot{width:8px;min-width:8px;height:8px;padding:0;top:5px;right:5px}.notif-dropdown{background:var(--surface);width:360px;max-height:min(420px,100vh - 80px);color:var(--ink);border:1px solid var(--border);z-index:50;white-space:normal;border-radius:10px;position:absolute;top:calc(100% + 8px);right:0;overflow:auto;box-shadow:0 12px 40px #00000038}.notif-review-section{background:#ef44440d}.notif-review-section-header{text-transform:uppercase;letter-spacing:.04em;color:#dc2626;align-items:center;gap:6px;padding:10px 14px 6px;font-size:11px;font-weight:700;display:flex}.notif-review-header-icon{color:#dc2626}.notif-review-item{border-bottom:1px solid #dc26261f}.notif-review-item:hover{background:#ef44441a}.notif-review-item-main{flex-direction:column;gap:2px;width:100%;display:flex}.notif-review-item-note{color:var(--ink-2);font-size:11px;font-style:italic}.notif-review-item-body{justify-content:space-between;align-items:baseline;gap:8px;width:100%;display:flex}.notif-review-item-title{color:#dc2626;font-weight:700}.notif-review-item-stage{color:#b91c1c;background:#dc26261f;border-radius:4px;flex-shrink:0;padding:1px 6px;font-size:10px;font-weight:600}.notif-divider{background:var(--border);height:1px}.notif-item-row{border-bottom:1px solid var(--border);align-items:stretch;display:flex}.notif-item-row:last-child{border-bottom:0}.notif-item-row.is-read .notif-item-title{color:var(--ink-2);font-weight:500}.notif-item-row.is-overdue .notif-item-main{border-left:3px solid var(--danger);padding-left:11px}.notif-item-row.is-overdue .notif-item-title{color:var(--danger);font-weight:700}.notif-item-row.is-overdue.is-read .notif-item-title{color:var(--danger);font-weight:600}.notif-item-row.is-overdue:hover .notif-item-main{background:var(--danger-soft)}.notif-item{text-align:left;width:100%;color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;display:flex}.notif-item-main{flex:1;min-width:0}.notif-item-row:hover .notif-item-main{background:var(--page)}.notif-dismiss-btn{border:0;border-left:1px solid var(--border);width:40px;color:var(--ink-2);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:flex}.notif-dismiss-btn:hover{background:var(--page);color:var(--ink)}.notif-item-hint{color:var(--ink-2);font-size:10px;font-weight:500;line-height:1.3}.notif-item-title{font-size:13px;font-weight:600;line-height:1.35}.notif-item-time{color:var(--ink-2);font-size:11px}.notif-empty{text-align:center;color:var(--ink-2);padding:28px 14px;font-size:13px}.app-shell{grid-template-columns:230px minmax(0,1fr);min-height:calc(100vh - 60px);display:grid}.sidebar{background:var(--nav);color:#fff;flex-direction:column;gap:22px;height:calc(100vh - 60px);padding:16px 12px 20px;display:flex;position:sticky;top:60px}.sidebar nav{flex-direction:column;gap:4px;display:flex}.sidebar-nav-scroll{flex:0 auto;min-height:0;max-height:100%;overflow-y:auto}.sidebar-link{appearance:none;color:var(--nav-ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:10px;padding:10px;font-size:13px;font-weight:500;display:flex}.sidebar-link:hover{color:#fff;background:#ffffff1f}.sidebar-link.active{background:var(--green);color:#fff}.feeds-sidebar-anchor{--feeds-pill-open-bg:var(--border);--feeds-pill-border:var(--border);--feeds-dropdown-bg:color-mix(in srgb, #fff 14%, var(--nav));flex:none;margin-top:8px;position:relative}.feeds-sidebar-anchor:has(.feeds-dropdown){z-index:50}.sidebar-link.feeds-pill,.sidebar-link.feeds-pill:hover,.sidebar-link.feeds-pill.is-open,.night-mode .sidebar-link.feeds-pill,.night-mode .sidebar-link.feeds-pill:hover,.night-mode .sidebar-link.feeds-pill.is-open{color:var(--ink)}.feeds-pill{border:1px solid var(--feeds-pill-border);background:var(--page);border-radius:8px;justify-content:center;width:100%;padding-left:36px;padding-right:36px;font-size:15px;font-weight:600;position:relative}.feeds-pill:hover,.feeds-pill.is-open{background:var(--feeds-pill-open-bg)}.feeds-bell-wrap{flex:none;place-items:center;display:grid;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.feeds-bell-wrap svg{stroke:currentColor}.feeds-bell-dot{pointer-events:none;background:#ef4444;border-radius:50%;width:8px;height:8px;position:absolute;top:-2px;right:-2px}.feeds-dropdown{z-index:1;background:var(--feeds-dropdown-bg);border:1px solid var(--feeds-pill-border);min-width:200px;color:var(--feeds-pill-label-color);border-radius:8px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 8px 24px #00000059}.feeds-dropdown-empty{color:var(--feeds-pill-label-color);margin:8px;font-size:12px}.feeds-dropdown .feeds-dropdown-empty.stub{color:var(--feeds-pill-label-color)}.feeds-dropdown-list{margin:0;padding:0;list-style:none}.feeds-dropdown-item{width:100%;font:inherit;color:var(--feeds-pill-label-color);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:13px;font-weight:500;display:flex}.feeds-dropdown-item:hover{background:var(--border);color:var(--feeds-pill-label-color)}.feeds-dropdown-unread{background:#ef4444;border-radius:50%;flex:none;width:8px;height:8px}.feeds-card{z-index:250;background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;min-width:280px;min-height:240px;display:flex;position:fixed;overflow:hidden;box-shadow:0 16px 48px #0003}.feeds-card-header{border-bottom:1px solid var(--border);touch-action:none;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px 10px;display:flex}.feeds-card-header-main{flex-wrap:wrap;flex:1;align-items:center;gap:8px 12px;min-width:0;display:flex}.feeds-card-members-row{justify-content:flex-end;align-items:flex-end;gap:12px;margin-left:auto;display:flex}.feeds-card-members{flex-direction:column;align-items:flex-end;gap:5px;min-width:0;display:flex}.feeds-card-members-label{color:var(--ink-3);letter-spacing:.01em;font-size:12px;font-weight:600;line-height:1}.feeds-card-members-line{flex-shrink:0;align-items:center;gap:10px;display:flex}.feeds-card-member-avatars-wrap{position:relative}.feeds-card-member-avatars{flex-shrink:0;align-items:center;display:flex}.feeds-card-member-avatar,.feeds-card-member-more{border:2px solid var(--card);background:var(--page);width:30px;height:30px;color:var(--ink-2);box-sizing:border-box;border-radius:50%;justify-content:center;align-items:center;margin-left:-10px;font-size:10px;font-weight:700;line-height:1;display:inline-flex;position:relative;overflow:hidden}.feeds-card-member-avatar--photo img{object-fit:cover;width:100%;height:100%;display:block}.feeds-card-member-avatar:first-child,.feeds-card-member-more:first-child{margin-left:0}.feeds-card-member-more{color:var(--ink-2);cursor:pointer;background:#e8ebe9;padding:0;font-size:11px;font-weight:600}.feeds-card-member-more:hover{background:#dde1de}.feeds-card-member-more[aria-expanded=true]{background:var(--green-soft);color:var(--green-dark)}.feeds-card-members-popover{background:var(--surface);border:1px solid var(--border);z-index:10;border-radius:8px;min-width:200px;max-width:280px;max-height:240px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;overflow:auto;box-shadow:0 8px 24px #0000002e}.feeds-card-members-popover ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.feeds-card-members-popover li{border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.feeds-card-members-popover li:hover{background:var(--page)}.feeds-card-members-popover .feeds-card-member-avatar{flex-shrink:0;width:28px;height:28px;margin-left:0;font-size:10px}.feeds-card-members-popover-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.feeds-card-member-empty{color:var(--ink-3);white-space:nowrap;font-size:12px}.feeds-card-header-actions{flex-shrink:0;padding-bottom:1px}.feeds-card-invite-btn{background:var(--green-dark);color:#fff;cursor:pointer;white-space:nowrap;border:0;border-radius:7px;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:600;display:inline-flex}.feeds-card-invite-btn:hover{background:var(--green-deep);color:#fff}.feeds-card-title{color:var(--ink);margin:0;font-size:15px;font-weight:700}.feeds-card-close{color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px}.feeds-card-close:hover{background:var(--page);color:var(--ink)}.feeds-card-channels{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px;padding:8px 12px;display:flex}.feeds-card-channel-tab{border:1px solid var(--border);background:var(--page);color:var(--ink-2);cursor:pointer;border-radius:6px;align-items:center;gap:4px;padding:7px 12px;font-size:12px;font-weight:600;display:inline-flex}.feeds-card-channel-tab:hover:not(.is-active){border-color:var(--green);background:var(--green-soft);color:var(--green-dark)}.feeds-card-channel-tab.is-active{background:var(--green);border-color:var(--green);color:#fff}.feeds-card-error{margin:8px 12px 0;padding:6px 10px;font-size:12px}.feeds-card-posts{flex-direction:column;flex:1;gap:12px;min-height:120px;padding:12px;display:flex;overflow-y:auto}.feeds-card-composer{border-top:1px solid var(--border);padding:10px 12px}.feeds-card-composer .message-composer{background:var(--surface);border:1px solid var(--ink);border-radius:10px;margin-bottom:0;padding:12px}.feeds-card-resize-handle{z-index:3;cursor:nwse-resize;touch-action:none;width:22px;height:22px;position:absolute;bottom:0;right:0}.feeds-card-resize-handle:after{content:"";border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);opacity:.7;width:8px;height:8px;position:absolute;bottom:4px;right:4px}.feeds-toast-stack{z-index:300;pointer-events:none;flex-direction:column;gap:10px;max-width:min(360px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.feeds-toast{pointer-events:auto;background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex;box-shadow:0 12px 32px #00000029}.feeds-toast-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.feeds-toast-meta{flex-direction:column;gap:2px;min-width:0;display:flex}.feeds-toast-meta strong{font-size:13px}.feeds-toast-meta span{color:var(--ink-3);font-size:11px}.feeds-toast-close{color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;padding:2px}.feeds-toast-close:hover{color:var(--ink);background:var(--page)}.feeds-toast-body{background:var(--page);font:inherit;color:var(--ink);text-align:left;cursor:pointer;border:0;border-radius:8px;padding:8px 10px;font-size:13px;line-height:1.4}.feeds-toast-body:hover{background:var(--green-soft)}.feeds-toast-reply .message-composer{background:0 0;border:0;margin-bottom:0;padding:0}.feeds-toast-reply .message-composer.is-compact textarea{min-height:32px;font-size:12px}.plan-upload-toast-stack{z-index:300;pointer-events:none;flex-direction:column;gap:10px;max-width:min(360px,100vw - 32px);display:flex;position:fixed;bottom:16px;left:16px}.plan-upload-toast{pointer-events:auto;background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex;box-shadow:0 12px 32px #00000029}.plan-upload-toast-error{border-color:var(--red)}.plan-upload-toast-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.plan-upload-toast-meta{flex-direction:column;gap:2px;min-width:0;display:flex}.plan-upload-toast-meta strong{font-size:13px}.plan-upload-toast-meta span{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.plan-upload-toast-close{color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;padding:2px}.plan-upload-toast-close:hover{color:var(--ink);background:var(--page)}.plan-upload-toast-body{color:var(--ink);align-items:flex-start;gap:8px;font-size:13px;line-height:1.4;display:flex}.plan-upload-toast-spinner{flex:none;animation:.9s linear infinite plan-upload-spin}@keyframes plan-upload-spin{to{transform:rotate(360deg)}}.plan-upload-toast-progress{color:var(--ink-3);font-size:11px}.main-content{border-top:6px solid var(--nav);min-width:0}.page{max-width:1800px;margin:0 auto;padding:22px 32px 80px}.toolbar{align-items:center;gap:10px;margin-bottom:20px;display:flex}.toolbar .spacer{flex:1}.search{background:var(--surface);border:1px solid var(--border-strong);border-radius:6px;align-items:center;gap:8px;min-width:260px;padding:0 10px;display:flex}.search input{background:0 0;border:0;outline:0;width:100%;padding:9px 0}.page-title{margin:0;font-size:20px;font-weight:600}.page-sub{color:var(--ink-2);margin:4px 0 0;font-size:13px}.who{border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-2);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:8px;padding:7px 10px;font-size:12px;font-weight:600;display:flex}.who:hover{border-color:var(--green);color:var(--ink)}.btn{appearance:none;border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;white-space:nowrap;color:inherit;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{background:#f7f9f8}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--green);border-color:var(--green);color:#fff}.btn-primary:hover{background:var(--green-dark);border-color:var(--green-dark);color:#fff}.btn-primary.gsr-save-saved{background:var(--green-soft);color:var(--green-dark);border-color:#9cc9ae;box-shadow:inset 0 1px 2px #0b6e3633}.btn-primary.gsr-save-saved:hover{background:#dceee3}.btn-primary.btn-plans-uploaded{background:var(--green-soft);color:var(--green-dark);border-color:#9cc9ae;box-shadow:inset 0 1px 2px #0b6e3633}.btn-primary.btn-plans-uploaded:hover{background:#dceee3}.dashboard-header .header-actions .gsr-save-btn{box-sizing:border-box;flex-shrink:0;width:57px;min-width:57px;max-width:57px;height:36px;padding:8px 6px}.btn-danger{color:var(--danger);background:var(--surface);border-color:#e7c9c9}.btn-danger:hover{background:var(--danger-soft)}.btn-sm{padding:5px 10px;font-size:12px}.btn-scope{border-color:var(--block-bg);color:var(--block-bg);background:color-mix(in srgb, var(--block-bg) 12%, var(--surface))}.btn-scope:hover{background:color-mix(in srgb, var(--block-bg) 20%, var(--surface));border-color:var(--block-bg);color:var(--block-bg)}.btn-icon{color:var(--ink-2);background:0 0;border-color:#0000;justify-content:center;align-items:center;padding:4px 8px;font-size:13px;line-height:1;display:inline-flex}.btn-icon:hover{color:var(--ink);background:#eef1f0}.proj-head,.proj-row{grid-template-columns:minmax(220px,2.4fr) 150px 170px minmax(140px,1.2fr) 170px minmax(120px,1.4fr) 40px;align-items:center;gap:12px;display:grid}.proj-head{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);padding:0 16px 10px;font-size:11px;font-weight:600}.proj-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:8px;padding:14px 16px}.proj-row:hover{border-color:var(--border-strong)}.proj-name{text-align:left;cursor:pointer;color:var(--ink);background:0 0;border:0;padding:0;font-size:14px;font-weight:600}.proj-name:hover{color:var(--green-dark);text-decoration:underline}.locked-tag{letter-spacing:.06em;color:var(--ink-2);text-transform:uppercase;background:#eef1f0;border-radius:4px;margin-left:8px;padding:2px 6px;font-size:10px;font-weight:700}.cell-input,.table input.cell-input{border:1px solid var(--line-strong,#333);background:var(--surface);width:100%;color:var(--ink);box-sizing:border-box;border-radius:5px;padding:5px 7px;transition:border-color .1s,box-shadow .1s}.cell-input:hover,.table input.cell-input:hover{border-color:#111}.cell-input:focus,.table input.cell-input:focus{background:var(--surface);outline-offset:1px;border-color:#111;outline:2px solid #111}.pill{appearance:none;cursor:pointer;text-align:center;width:100%;color:var(--ink);border:none;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:600;transition:filter .1s}.pill:hover{filter:brightness(.96)}.pill:focus-visible{outline:2px solid var(--pick-br);outline-offset:2px}.name-pill{border-radius:var(--radius);cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--green-dark);color:#fff;border:1px solid var(--green-dark);align-items:center;gap:6px;width:auto;padding:4px 8px;font-size:12px;font-weight:600;transition:filter .1s,border-color .1s;display:inline-flex}.name-pill:hover{background:var(--green-deep);border-color:var(--green-deep);filter:none}.name-pill.editing{background:var(--surface);color:var(--ink);border-color:var(--green-dark);box-shadow:0 0 0 1px var(--green-dark);cursor:default;padding:2px 4px 2px 8px}.name-pill-input{font:inherit;color:var(--ink);background:0 0;border:none;outline:none;min-width:40px;max-width:260px;padding:2px 0;font-size:12px;font-weight:600}.name-pill:not(.editing) .btn-icon{color:#fff}.name-pill:not(.editing) .btn-icon:hover{background:var(--border);color:#fff}.status-picker{width:100%;position:relative}.status-picker-menu{z-index:30;background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;flex-direction:column;gap:4px;min-width:100%;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 10px 30px #1018142e}.status-picker-option{width:100%}.status-picker-option:hover{filter:brightness(.94)}.status-picker-option[aria-selected=true]{outline-offset:-2px;outline:2px solid #00000059}.job-name-needs-review,input.job-name-needs-review,.job-title-input.job-name-needs-review{color:#dc2626!important}.night-mode .job-name-needs-review,.night-mode input.job-name-needs-review,.night-mode .job-title-input.job-name-needs-review{color:#f87171!important}.pill.pill-review,.status-picker .pill-review{letter-spacing:.02em;border:1px solid #b91c1c;font-weight:700;color:#fff!important;background:#dc2626!important}.pill.pill-review:hover,.status-picker .pill-review:hover{background:#b91c1c!important}.status-picker-divider{background:var(--border);height:1px;margin:4px 0}.status-picker-section-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:2px 4px;font-size:10px;font-weight:600}.status-picker-review-action{background:var(--page);color:var(--ink);justify-content:center;align-items:center;padding:6px 10px;font-size:12px;font-weight:600;display:flex}.status-picker-action-reviewed{color:#fff!important;background:#15803d!important}.status-picker-action-reviewed:hover{background:#166534!important}.status-picker-flag-action{justify-content:center;align-items:center;padding:6px 10px;font-size:12px;font-weight:600;display:flex}.status-picker-flag-action:hover{background:#fee2e2!important}.review-flag-banner{color:#991b1b;background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:8px 14px;font-size:13px;font-weight:600;display:flex}.night-mode .review-flag-banner{color:#fca5a5;background:#dc26262e;border-color:#dc262666}.review-flag-banner.review-flag-banner-accepted{color:#166534;background:#f0fdf4;border-color:#86efac}.night-mode .review-flag-banner.review-flag-banner-accepted{color:#86efac;background:#16a34a2e;border-color:#16a34a66}.btn-review-clear{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600;transition:background .15s}.btn-review-clear:hover{background:#b91c1c}.btn-review-accept{color:#fff;cursor:pointer;background:#16a34a;border:none;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600;transition:background .15s}.btn-review-accept:hover{background:#15803d}.review-flag-banner-submitted{color:#9a3412;background:#fff7ed;border-color:#fdba74}.night-mode .review-flag-banner-submitted{color:#fdba74;background:#ea580c2e;border-color:#ea580c66}.review-flag-banner-column{flex-direction:column;align-items:stretch;gap:10px}.review-flag-banner-header{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.review-flag-banner-actions{justify-content:flex-end;gap:8px;display:flex}.review-change-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.review-change-item{background:#ffffff80;border-radius:6px;flex-wrap:wrap;align-items:baseline;gap:8px;padding:6px 10px;font-weight:500;display:flex}.night-mode .review-change-item{background:#0000002e}.review-change-field{min-width:110px;font-weight:700}.review-change-old{opacity:.7;text-decoration:line-through}.review-change-new{font-weight:700}.review-change-note{opacity:.85;font-style:italic;font-weight:400}.review-change-item-editable{background:var(--panel,#f8fafc);flex-direction:column;align-items:stretch}.night-mode .review-change-item-editable{background:var(--page)}.review-change-note-input{border:1px solid #e2e8f0;border-radius:6px;padding:6px 8px;font-size:13px;font-weight:400}.night-mode .review-change-note-input{color:#e5e7eb;background:#111827;border-color:#374151}.review-flag-back-form{flex-direction:column;gap:8px;display:flex}.reviewable-field{display:block;position:relative}.reviewable-field-diff{outline-offset:2px;cursor:help;border-radius:6px;outline:2px solid #f97316}.reviewable-field-popover{z-index:20;background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:8px;width:260px;padding:10px;font-weight:400;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #0000002e}.night-mode .reviewable-field-popover{background:#1f2937;border-color:#374151}.reviewable-field-popover-diff{font-size:12px}.reviewable-field-popover-actions{justify-content:flex-end;gap:8px;display:flex}.menu-item-review{font-weight:600;color:#dc2626!important}.avatar{color:#fff;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:10px;font-weight:700;display:inline-grid;overflow:hidden}.avatar--photo img{object-fit:cover;width:100%;height:100%;display:block}.assignee{align-items:center;gap:8px;min-width:0;display:flex}.assignee select{cursor:pointer;appearance:none;min-width:0;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:5px;flex:1;padding:4px 2px;font-size:13px;font-weight:600}.assignee select:hover{border-color:var(--border)}.assignee select:focus{outline:none}.assignee select:focus-visible{outline:2px solid var(--green);outline-offset:2px}.empty{background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius);text-align:center;color:var(--ink-2);padding:44px 20px}.job-header{background:var(--green-deep);border:1px solid var(--green-deep);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:18px;padding:16px 18px}.job-header h1{color:#fff;margin:0 0 2px;font-size:20px}.job-header .meta{flex-wrap:wrap;gap:14px 22px;margin-top:14px;display:flex}.meta-field{flex-direction:column;gap:4px;min-width:170px;display:flex}.meta-field>span{letter-spacing:.07em;text-transform:uppercase;color:var(--nav-ink);font-size:10px;font-weight:600}.meta-field input,.meta-field select{border:1px solid var(--border);background:var(--surface);border-radius:5px;padding:6px 8px}.meta-field.meta-field-checkbox{flex-direction:row;align-self:flex-end;align-items:center;gap:8px;min-width:0;max-width:220px;padding-bottom:7px}.job-header .meta-field.meta-field-checkbox>span{color:#ffffffeb}.meta-field.meta-field-checkbox>span{text-transform:none;letter-spacing:normal;font-size:12px;font-weight:500;line-height:1.3}.job-header-v2{padding:20px 22px}.job-header-main-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 20px;display:flex}.job-header-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:12px;display:flex}.generate-estimate-pill{appearance:none;background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap;border:none;border-radius:10px;flex:none;padding:16px 32px;font-size:15px;font-weight:700}.generate-estimate-pill:hover{background:#f0f0f0}.generate-estimate-pill:disabled{opacity:.65;cursor:wait}.job-title-input{color:#fff;background:0 0;border:1px solid #0000;border-radius:6px;width:100%;margin:-4px 0 0 -6px;padding:4px 6px;font-size:24px;font-weight:700}.job-title-input:hover{border-color:#ffffff4d}.job-title-input:focus{border-color:var(--pick-br);background:var(--surface);color:var(--ink);outline:0}.job-header-v2 .job-meta-row{flex-wrap:wrap;align-items:flex-end;gap:20px 32px;margin-top:16px;display:flex}.job-meta-field{flex-direction:column;gap:5px;min-width:150px;display:flex}.job-meta-field>span{letter-spacing:.07em;text-transform:uppercase;color:var(--nav-ink);font-size:10px;font-weight:600}.job-meta-field input,.job-meta-field select{color:#fff;background:0 0;border:1px solid #0000;border-radius:5px;padding:5px 0;font-size:14px;font-weight:600}.job-meta-field input:hover,.job-meta-field select:hover{border-color:#ffffff4d;padding:5px 6px}.job-meta-field input:focus,.job-meta-field select:focus{border-color:var(--pick-br);background:var(--surface);color:var(--ink);outline:0;padding:5px 6px}.job-meta-field select option{color:var(--ink)}.job-meta-date{color:var(--nav-ink);align-items:center;gap:6px;display:flex}.job-meta-date input{flex:1}.job-meta-field .status-picker{width:auto}.job-meta-field .pill{text-align:left;width:auto;padding:6px 14px}.lock-banner{background:var(--calc-bg);border:1px solid var(--calc-br);color:var(--calc-ink);border-radius:6px;align-items:center;gap:10px;margin-top:14px;padding:9px 12px;font-size:13px;display:flex}.section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:10px}.section-sticky{z-index:15;position:sticky;bottom:0;box-shadow:0 -4px 16px #10181424}.section-sticky .section-header,.job-totals-section .section-header{min-height:84px;padding:14px 20px}.section-sticky .section-header h2,.job-totals-section .section-header h2{letter-spacing:-.01em;font-size:19px;font-weight:700}.section-header{cursor:pointer;-webkit-user-select:none;user-select:none;border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);align-items:center;gap:12px;padding:13px 16px;display:flex}.section-header:hover{filter:brightness(.97)}.section-header-right{align-items:center;gap:12px;display:flex}.section-header .chev{color:inherit;opacity:.7;width:12px;font-size:11px}.section-header--reorderable,.section-header--reorderable:hover,.section-header--reorderable.section-header--dragging{cursor:default}.section-header h2{margin:0;font-size:15px;font-weight:600}.section-header .spacer{flex:1}.section-total{font-variant-numeric:tabular-nums;background:var(--surface);border-radius:8px;padding:4px 12px;font-weight:700;display:inline-block}.badge{border-radius:8px;padding:3px 9px;font-size:11px;font-weight:600}.badge-soon{color:var(--ink-2);background:#eef1f0}.badge-unsaved{background:var(--type-bg);color:var(--type-ink);border:1px solid var(--type-br)}.badge-need{background:var(--need-bg);color:var(--need-ink);border:1px solid var(--need-br)}.badge-added{background:var(--green-soft);color:var(--green-dark);border:1px solid #9cc9ae}.badge-gc{background:var(--pick-bg);color:var(--pick-ink);border:1px solid var(--pick-br)}.stack-import-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.stack-import-filetag{background:var(--surface);border:1px solid var(--border);color:var(--ink-2);border-radius:8px;padding:6px 12px;font-size:13px}.stack-import-summary-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.stack-import-summary .generate-estimate-pill{background:var(--green);color:#fff;border:1px solid var(--green);padding:8px 18px;font-size:13px}.stack-import-summary .generate-estimate-pill:hover{background:var(--green-dark);border-color:var(--green-dark)}.page-header .generate-estimate-pill{background:var(--green);color:#fff;border:1px solid var(--green)}.page-header .generate-estimate-pill:hover{background:var(--green-dark);border-color:var(--green-dark)}.stack-import-counts{color:var(--ink-2);font-size:13px}.stack-import-counts strong{color:var(--ink)}.stack-import-table tr.stack-import-row-active td{background:var(--green-soft)}.stack-import-table td.stack-import-group-cell:hover{color:var(--green-deep);text-decoration:underline}.stack-import-row-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.stack-import-status-pending{color:var(--ink-2);font-size:12px}.stack-import-routed-label{color:var(--ink-2);margin-top:2px;font-size:11px}.stack-import-panel{z-index:100;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);width:380px;max-width:calc(100vw - 32px);padding:16px 18px;position:fixed;box-shadow:0 14px 32px #0f1e3033,0 2px 8px #0f1e3014}.stack-import-panel-steps{flex-direction:column;gap:12px;display:flex}.stack-import-panel-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.section-body{border-top:1px solid var(--border);padding:16px}.stub{color:var(--ink-2);padding:8px 2px}.block{border:2px solid var(--frp-block-bg);border-radius:var(--radius);margin-bottom:16px;overflow:hidden}.block-header{background:var(--frp-block-bg);color:var(--frp-block-ink);align-items:center;gap:10px;padding:10px 14px;display:flex}.block-header input{color:var(--frp-block-ink);background:0 0;border:1px solid #0000;border-radius:5px;flex:1;min-width:0;padding:4px 6px;font-size:13px;font-weight:600}.block-header input:hover:not(:disabled){border-color:#9fe1cb66}.block-header input:focus{border-color:var(--frp-block-ink);outline:0}.block-header .amount{background:var(--surface);color:var(--frp-block-bg);font-variant-numeric:tabular-nums;border-radius:8px;padding:3px 10px;font-weight:600}.block-header .btn-icon{color:var(--frp-block-ink)}.block-header .btn-icon:hover{background:var(--border);color:#fff}.block-body{background:#fbfcfb;padding:14px}.wall{background:var(--surface);border-radius:var(--radius);border:none;margin-bottom:12px;padding:12px}.act-section-body .wall{border:none}.paint-section-body .wall{border:1.5px solid var(--paint-block-bg)}.frp-section-body .wall{border:1.5px solid var(--frp-block-bg)}.wall-top{align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.wall-top>.f.f-type{flex:0 50%;max-width:50%}.wall-top .framing-wallarea-strip{box-sizing:border-box;flex:1;min-width:0;height:36px;margin-top:22px}.wall-top>.btn-icon{flex-shrink:0;margin-top:22px}.paint-door-row{grid-template-columns:minmax(0,1.4fr) 80px minmax(160px,1.4fr) 130px 32px;align-items:start;gap:10px;display:grid}.paint-misc-row{grid-template-columns:minmax(0,1.6fr) 80px 110px 130px 32px;align-items:start;gap:10px;display:grid}.paint-misc-row--margin{grid-template-columns:minmax(0,1.6fr) 80px 110px 90px 130px 32px}.equipment-line-row{grid-template-columns:minmax(0,1.6fr) 80px 110px 90px 110px 120px 32px;align-items:start;gap:10px;display:grid}.carpentry-line-row{grid-template-columns:minmax(0,1.6fr) 80px 110px 90px 120px 32px;align-items:start;gap:10px;display:grid}.paint-arealine-row{flex-wrap:wrap;align-items:start;gap:10px;display:flex}.paint-arealine-row>.f.f-type:first-child{flex:0 220px;min-width:140px;max-width:240px}.paint-arealine-row>.f.f-type:nth-child(2),.paint-arealine-row>.f.f-type:nth-child(3){flex:0 0 130px;width:130px}.paint-arealine-strip{box-sizing:border-box;align-items:center;height:36px;margin-top:22px;display:inline-flex}.paint-door-row .btn-icon,.paint-misc-row .btn-icon,.paint-arealine-row .btn-icon,.equipment-line-row .btn-icon,.carpentry-line-row .btn-icon{margin-top:22px}.paint-door-row .chip,.paint-misc-row .chip,.equipment-line-row .chip,.carpentry-line-row .chip{box-sizing:border-box;align-items:center;height:36px;padding:0 8px;font-size:13px;display:flex}.equipment-line-row .f input,.carpentry-line-row .f input,.paint-misc-row .f input,.paint-door-row .f input{border:1px solid var(--ink);background:var(--surface);color:var(--ink)}.equipment-line-row .f input:focus,.carpentry-line-row .f input:focus,.paint-misc-row .f input:focus,.paint-door-row .f input:focus{border-color:var(--ink);outline:1px solid var(--ink);box-shadow:none}.wall-tag{border-radius:20px;padding:3px 10px;font-size:11px;font-weight:600}input.wall-tag{field-sizing:content;text-align:center;cursor:text;border:2px solid #0000;border-radius:6px;width:auto;min-width:140px;padding:7px 18px;font-size:13px}input.wall-tag:hover:not(:disabled){filter:brightness(.96)}input.wall-tag:focus{outline-offset:1px;outline:2px solid #00000059}.grid{gap:8px;display:grid}.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=1080px){.grid-5,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}.f{flex-direction:column;gap:3px;min-width:0;display:flex}.f>label{color:var(--ink-3);letter-spacing:.04em;white-space:nowrap;font-size:10px;font-weight:600}.f input,.f select,.f textarea{border:1px solid var(--border-strong);background:var(--surface);border-radius:6px;outline:0;width:100%;min-width:0;padding:7px 8px}.f input:disabled,.f select:disabled,.f textarea:disabled{opacity:.75}.f-type input,.f-type select{background:var(--surface);border-color:var(--type-br);color:var(--type-ink)}.f-pick select{background:var(--pick-bg);border-color:var(--pick-br);color:var(--pick-ink)}.f-need select,.f-need input{background:var(--need-bg);border-color:var(--need-br);color:var(--need-ink)}.f input:focus,.f select:focus,.f textarea:focus{box-shadow:0 0 0 2px #185fa540}.f-hint{color:var(--ink-3);min-height:13px;font-size:10px}.add-product-row{align-items:center;gap:6px;display:flex}.add-product-row input[placeholder=Product\ name]{flex:2;min-width:0}.add-product-row input[type=number]{flex:1;min-width:70px}.add-product-row .btn{white-space:nowrap;flex:none}.wall-derived{flex-wrap:wrap;gap:6px;margin:10px 0 0;display:flex}.chip{background:var(--calc-bg);border:1px solid var(--calc-br);color:var(--calc-ink);font-variant-numeric:tabular-nums;border-radius:5px;padding:3px 8px;font-size:11px}.chip-muted{border-color:var(--border-strong);color:var(--ink-2);background:#f1f3f2}.change-order-header{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:12px;display:flex}.change-order-header h2{margin:0}.change-order-modal{max-width:520px}.change-order-modal-form{flex-direction:column;gap:12px;display:flex}.change-order-modal-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.change-order-modal-form .f.f-type>label{color:var(--ink);font-size:13px}.change-order-notes{resize:vertical;width:100%;min-height:72px}.change-order-attachments label{margin-bottom:6px;font-size:12px;font-weight:600;display:block}.change-order-attachment-thumbs{margin-bottom:8px;padding:0!important}.change-order-attach-row{align-items:center;gap:8px;display:flex}.change-order-gc-status label{margin-bottom:4px;font-size:12px;font-weight:600;display:block}.change-order-gc-status p{margin:0;font-size:13px}.change-order-row-actions{justify-content:flex-end;gap:4px;display:flex}.change-order-row-actions .btn{color:var(--ink);border:none}.change-order-row-actions .btn:hover{color:var(--ink);background:#f7f9f8;border:none}.tracker-table-change-orders tbody tr.tracker-change-order-row{cursor:pointer}.tracker-table-change-orders tbody tr.tracker-change-order-row:hover{background:var(--page)}.frp-labor-modal{max-width:520px}.frp-labor-modal h2,.frp-labor-modal input[type=number]{text-align:center}.frp-labor-modes{gap:8px;margin:4px 0 14px;display:flex}.frp-labor-modes .pill{background:var(--green-soft);width:auto;color:var(--green-dark);border:1px solid #9cc9ae;flex:1}.frp-labor-modes .pill:hover{filter:none;border-color:var(--green);background:#dceee3}.frp-labor-modes .pill-on{background:var(--green-dark);color:#fff;border-color:var(--green-dark)}.frp-labor-modes .pill-on:hover{filter:none;background:var(--green-deep);border-color:var(--green-deep)}.frp-labor-body{flex-direction:column;gap:10px;display:flex}.frp-labor-modal .frp-labor-body .f>label{text-align:center}.frp-labor-slider-row{align-items:center;gap:8px;display:flex}.frp-labor-slider{width:100%;min-width:0;accent-color:var(--green);flex:1}.frp-labor-slider-icon{width:18px;height:18px;color:var(--ink-2);flex-shrink:0}.frp-labor-preview{flex-wrap:wrap;gap:12px 20px;padding:8px 0 4px;font-size:13px;display:flex}.frp-labor-modal .frp-labor-preview>span:last-child strong{color:var(--green-dark)}.frp-labor-preview-margin{flex-wrap:wrap;align-items:center;gap:2px;display:inline-flex}.frp-labor-margin-input{border:1px solid var(--border-strong);background:var(--surface);width:48px;color:var(--ink);border-radius:5px;padding:2px 6px;font-size:13px;font-weight:600}.frp-labor-margin-input:focus{border-color:var(--green);box-shadow:0 0 0 2px var(--green-soft);outline:0}.sub-head{letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin:16px 0 8px;font-size:13px;font-weight:700}.manual-row{grid-template-columns:minmax(0,1.6fr) minmax(0,2fr) 90px 150px 32px;align-items:start;gap:8px;margin-bottom:6px;display:grid}.manual-material-row{grid-template-columns:minmax(0,1.3fr) minmax(0,1.3fr) 70px 80px 90px 70px 28px;align-items:start;gap:6px;margin-bottom:6px;display:grid}.framing-labor-row{grid-template-columns:minmax(180px,1fr) minmax(150px,1fr) minmax(90px,.6fr) minmax(140px,1fr);align-items:start;gap:6px;margin-bottom:6px;display:grid}.manual-material-row .f-check{color:var(--ink-3);flex-direction:row;align-items:center;gap:4px;padding-top:25px;font-size:10px}.manual-material-row .btn-icon{margin-top:21px}.scope-footer{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;padding-top:16px;display:flex}.bom-scope+.bom-scope{margin-top:28px}.bom-scope h3{margin:0 0 10px;font-size:14px}.scope-footer-frp{background:var(--frp-accent);color:#fff;border-radius:var(--radius);border-top:none;margin-top:12px;padding:14px 16px}.scope-footer-frp .btn{background:var(--border);color:#fff;border-color:#ffffff80}.scope-footer-frp .btn:hover{background:#ffffff2e}.scope-footer-frp .btn-primary{background:var(--surface);color:var(--frp-accent);border-color:#fff}.scope-footer-frp .btn-primary:hover{background:#eafaf4}.scope-footer-frp .btn:disabled{opacity:.6}.scope-footer-paint{background:var(--paint-accent);color:#fff;border-radius:var(--radius);border-top:none;margin-top:12px;padding:14px 16px}.scope-footer-paint .btn{background:var(--border);color:#fff;border-color:#ffffff80}.scope-footer-paint .btn:hover{background:#ffffff2e}.scope-footer-paint .btn-primary{background:var(--surface);color:var(--paint-accent);border-color:#fff}.scope-footer-paint .btn-primary:hover{background:#fdf4ea}.scope-footer-paint .btn:disabled{opacity:.6}.scope-footer-act{background:var(--act-accent);color:#fff;border-radius:var(--radius);border-top:none;margin-top:12px;padding:14px 16px}.scope-footer-act .btn{background:var(--border);color:#fff;border-color:#ffffff80}.scope-footer-act .btn:hover{background:#ffffff2e}.scope-footer-act .btn-primary{background:var(--surface);color:var(--act-accent);border-color:#fff}.scope-footer-act .btn-primary:hover{background:#eaf2f8}.scope-footer-act .btn:disabled{opacity:.6}.scope-footer-framing{background:var(--framing-accent);color:#fff;border-radius:var(--radius);border-top:none;margin-top:12px;padding:14px 16px}.scope-footer-framing .btn{background:var(--border);color:#fff;border-color:#ffffff80}.scope-footer-framing .btn:hover{background:#ffffff2e}.scope-footer-framing .btn-primary{background:var(--surface);color:var(--framing-accent);border-color:#fff}.scope-footer-framing .btn-primary:hover{background:#eef1f4}.scope-footer-framing .btn:disabled{opacity:.6}.scope-footer-gyp{background:var(--gyp-accent);color:#fff;border-radius:var(--radius);border-top:none;margin-top:12px;padding:14px 16px}.scope-footer-gyp .btn{background:var(--border);color:#fff;border-color:#ffffff80}.scope-footer-gyp .btn:hover{background:#ffffff2e}.scope-footer-gyp .btn-primary{background:var(--surface);color:var(--gyp-accent);border-color:#fff}.scope-footer-gyp .btn-primary:hover{background:#f5eef1}.scope-footer-gyp .btn:disabled{opacity:.6}.scope-footer-resinous{background:var(--resinous-accent);color:#fff;border-radius:var(--radius);border-top:none;margin-top:12px;padding:14px 16px}.scope-footer-resinous .btn{background:var(--border);color:#fff;border-color:#ffffff80}.scope-footer-resinous .btn:hover{background:#ffffff2e}.scope-footer-resinous .btn-primary{background:var(--surface);color:var(--resinous-accent);border-color:#fff}.scope-footer-resinous .btn-primary:hover{background:#eaf6f7}.scope-footer-resinous .btn:disabled{opacity:.6}.scope-footer-flooring{background:var(--flooring-accent);color:#fff;border-radius:var(--radius);border-top:none;margin-top:12px;padding:14px 16px}.scope-footer-flooring .btn{background:var(--border);color:#fff;border-color:#ffffff80}.scope-footer-flooring .btn:hover{background:#ffffff2e}.scope-footer-flooring .btn-primary{background:var(--surface);color:var(--flooring-accent);border-color:#fff}.scope-footer-flooring .btn-primary:hover{background:#eaf6f0}.scope-footer-flooring .btn:disabled{opacity:.6}.scope-footer-carpentry{background:var(--carpentry-accent);color:#fff;border-radius:var(--radius);border-top:none;margin-top:12px;padding:14px 16px}.scope-footer-carpentry .btn{background:var(--border);color:#fff;border-color:#ffffff80}.scope-footer-carpentry .btn:hover{background:#ffffff2e}.scope-footer-carpentry .btn-primary{background:var(--surface);color:var(--carpentry-accent);border-color:#fff}.scope-footer-carpentry .btn-primary:hover{background:#f6ece9}.scope-footer-carpentry .btn:disabled{opacity:.6}.sell-bar{background:var(--type-bg);border:1px solid var(--type-br);color:var(--type-ink);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:20px;margin-top:14px;padding:12px 16px;display:flex}.sell-bar .amount{font-variant-numeric:tabular-nums;font-size:18px;font-weight:600}.sell-bar .breakdown{opacity:.85;font-size:12px}.sell-bar-total-group{align-items:center;gap:14px;display:flex}.sell-bar-markup{align-items:center;gap:6px;display:flex}.sell-bar-markup input{border:2px solid var(--type-br);background:var(--surface);width:56px;color:var(--type-ink);opacity:1;border-radius:5px;padding:4px 7px;font-size:13px;font-weight:700}.sell-bar-markup input:focus{outline:2px solid var(--type-br);outline-offset:1px}.sell-bar.source-panel-total{background:var(--green);border:1px solid var(--green);color:#fff;flex-direction:column;align-items:stretch;gap:8px}.source-panel-total-heading,.source-panel-total-label{font-weight:600}.source-panel-total-metrics{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:12px;display:flex}.source-panel-total-metric{flex-direction:column;flex:none;align-items:center;gap:4px;display:flex}.source-panel-total-label{color:#ffffffeb;white-space:nowrap;font-size:12px}.source-panel-amount-pill{white-space:nowrap;font-variant-numeric:tabular-nums;color:#fff;border:1px solid var(--border-strong);background:#ffffff2e;border-radius:8px;justify-content:center;align-items:center;padding:4px 12px;font-size:13px;font-weight:700;display:inline-flex}.source-panel-amount-pill-total{color:var(--green-deep);background:#fff;border:1px solid #ffffffe6;padding:5px 14px;font-size:15px;font-weight:800;box-shadow:0 1px 3px #0000001f}.source-panel-collapsed-total{padding:4px 12px;font-size:13px}.table{border-collapse:collapse;background:var(--surface);width:100%}.table th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--border-strong);white-space:nowrap;padding:8px 10px;font-size:11px}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:7px 10px}.table tfoot td{border-top:2px solid var(--border-strong);border-bottom:0;font-weight:600}.table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table input{border:1px solid var(--border);background:var(--surface);border-radius:5px;width:100%;padding:5px 7px}.table input.num{text-align:right}.table select{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--ink);border-radius:5px;padding:5px 7px}.table tr.inactive td{opacity:.45}.table tr.category-row{cursor:pointer}.table tr.category-row:hover{filter:brightness(.97)}.table tr.category-row td{padding:7px 10px;font-weight:700}.category-row-caret{width:14px;display:inline-block}.section-band-wrap{margin:16px 0}.section-band-header{cursor:pointer;border:1px solid;padding:7px 10px;font-weight:700}.section-band-header:hover{filter:brightness(.97)}.section-band-body{border-radius:0 0 var(--radius) var(--radius);border:1px solid;border-top:0;padding:12px}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow-x:auto}.alt-summary-block{border-radius:var(--radius);background:#0000000f;border:1px solid #000;padding:10px}.alt-summary-block .table-wrap{border:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;padding:16px 18px}.card h2{margin:0 0 4px;font-size:15px}.card p.hint{color:var(--ink-2);margin:0 0 14px;font-size:13px}.card-collapse-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.card-collapse-title{align-items:center;gap:6px;display:flex}.card-collapse-title h2{margin:0}.card-collapse-toggle{color:var(--ink-2);justify-content:center;align-items:center;padding:2px 4px;display:inline-flex}.card-collapse-toggle:hover{color:var(--ink)}.vendor-quote-split{grid-template-columns:minmax(260px,1fr) minmax(300px,1fr);align-items:start;gap:16px;margin-top:14px;display:grid}.vendor-quote-pdf{border:1px solid var(--border);background:#fff;border-radius:8px;height:min(72vh,760px);position:sticky;top:12px;overflow:hidden}.vendor-quote-pdf iframe{border:0;width:100%;height:100%}.vendor-quote-cards{flex-direction:column;gap:12px;display:flex}.vendor-quote-line-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px;box-shadow:0 10px 28px #1018140f}.vendor-quote-line-card.new{border-left:3px solid var(--green)}.vendor-quote-line-card.update{border-left:3px solid #3b6ea8}.vendor-quote-line-card.applied,.vendor-quote-line-card.skipped{opacity:.72}.vendor-quote-line-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.vendor-quote-badge{letter-spacing:.02em;text-transform:uppercase;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.vendor-quote-badge.new{background:var(--green-soft);color:var(--green-dark)}.vendor-quote-badge.update{color:#2a4d73;background:#e7eef6}.vendor-quote-line-summary strong{font-size:14px;display:block}.vendor-quote-line-summary p{margin:4px 0 0;font-size:12px}.vendor-quote-line-fields{gap:8px;display:grid}.vendor-quote-line-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.vendor-quote-line-actions{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.vendor-quote-source{color:var(--ink-2);background:var(--green-soft);border-radius:999px;padding:2px 8px;font-size:12px}@media (width<=900px){.vendor-quote-split{grid-template-columns:1fr}.vendor-quote-pdf{height:40vh;position:static}}.scope-review-modal{max-width:min(960px,92vw)}.scope-review-prompt-textarea{background:var(--surface);color:var(--ink);border:1px solid var(--border-strong);border-radius:6px;padding:8px}.plain-textarea{background:var(--surface);color:var(--ink);border:1px solid var(--border-strong);border-radius:6px}.scope-review-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.scope-review-toolbar-actions{align-items:center;gap:8px;display:flex}.scope-review-report{gap:16px;max-height:min(70vh,720px);margin-bottom:12px;display:grid;overflow:auto}.scope-review-summary pre{white-space:pre-wrap;color:var(--ink);margin:0;font-family:inherit;font-size:13px;line-height:1.45}.scope-review-section h3,.scope-review-summary h3{margin:0 0 8px;font-size:14px}.scope-review-table th:last-child,.scope-review-table td:last-child{min-width:220px}.scope-review-line-meta{margin-top:2px;font-size:12px}.scope-review-basis{max-width:220px;font-size:12px}.scope-review-push-controls{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.scope-review-push-controls select{max-width:140px}.scope-review-confidence{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.scope-review-confidence-high{background:var(--green-soft);color:var(--green-dark)}.scope-review-confidence-medium{color:#2a4d73;background:#eef3f8}.scope-review-confidence-low{color:#9a3412;background:#fff4e5;border:1px solid #f59e0b}.scope-review-line-pushed td{opacity:.72}.scope-review-details{border:1px solid var(--border);background:var(--surface);border-radius:6px;padding:8px 12px}.scope-review-details summary{cursor:pointer;font-size:13px;font-weight:600}.scope-review-details ul{gap:6px;margin:10px 0 0;padding-left:18px;font-size:13px;display:grid}.rfp-intake-banner{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--green);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:10px 16px;display:flex;box-shadow:0 2px 8px #0000000a}.rfp-intake-banner-left{align-items:center;gap:12px;display:flex}.rfp-intake-banner-icon{background:var(--green-soft);width:32px;height:32px;color:var(--green-dark);border-radius:8px;place-items:center;display:grid}.rfp-intake-count{background:var(--green);color:#fff;border-radius:999px;margin-left:4px;padding:1px 7px;font-size:11px;font-weight:700}.rfp-intake-banner-actions{align-items:center;gap:8px;display:flex}.rfp-intake-split{grid-template-columns:1fr 1.15fr;align-items:start;gap:18px;display:grid}.rfp-intake-source{background:var(--bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;max-height:520px;padding:12px;display:flex}.rfp-intake-source-header{border-bottom:1px solid var(--border);margin-bottom:10px;padding-bottom:8px}.rfp-intake-email-body{white-space:pre-wrap;color:var(--ink);flex:1;font-size:13px;line-height:1.5;overflow-y:auto}.rfp-intake-form{flex-direction:column;gap:8px;display:flex}@media (width<=800px){.rfp-intake-split{grid-template-columns:1fr}}.modal-backdrop{z-index:50;overscroll-behavior:contain;background:#10181473;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal,.modal-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:420px;padding:24px;box-shadow:0 20px 50px #00000040}.modal input,.modal select,.modal textarea,.modal-card input,.modal-card select,.modal-card textarea{border:1px solid var(--ink);color:var(--ink);background:var(--surface)}.modal input:focus,.modal select:focus,.modal textarea:focus,.modal-card input:focus,.modal-card select:focus,.modal-card textarea:focus{border-color:var(--ink);outline:1px solid var(--ink);box-shadow:none}.modal-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal-header h2,.modal-header h3{color:var(--ink);margin:0;font-size:18px;font-weight:700}.modal-header .btn-close{cursor:pointer;color:var(--ink-2);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;transition:all .15s;display:flex}.modal-header .btn-close:hover{background:var(--surface-hover,#0000000d);color:var(--ink)}.modal h2{margin:0 0 6px;font-size:18px}.modal p{color:var(--ink-2);margin:0 0 18px;font-size:13px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.pay-modal-meta{grid-template-columns:7.5rem 1fr;gap:6px 12px;margin:0 0 16px;font-size:13px;display:grid}.pay-modal-meta dt{color:var(--ink-2);font-weight:600}.pay-modal-meta dd{min-width:0;margin:0}.pay-modal .modal-actions{margin-top:16px}.pay-method-toggle{flex-wrap:wrap;gap:6px;display:inline-flex}.pay-method-toggle .pill{width:auto;min-width:4.5rem}.pay-method-toggle .pill-on{background:var(--green);color:#fff;border-color:var(--green)}.login-page{background:var(--nav);place-items:center;min-height:100dvh;padding:20px;display:grid}.login-card{background:var(--surface);border-radius:12px;flex-direction:column;gap:16px;width:100%;max-width:360px;padding:32px;display:flex;box-shadow:0 20px 60px #00000059}.platform-mark{text-align:center;letter-spacing:.02em;color:var(--green);margin:0 0 20px;font-size:1.75rem;font-weight:800}.login-logo{object-fit:contain;align-self:center;width:auto;max-width:260px;height:90px;margin-bottom:4px}.login-error{color:var(--danger);background:var(--danger-soft);border-radius:8px;margin:0;padding:8px 10px;font-size:13px}.login-portal-switch{text-align:center;margin-top:16px}.login-password-field{position:relative}.login-password-field input{padding-right:40px}.login-password-toggle{color:var(--ink-3);cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.login-password-toggle:hover{color:var(--ink)}.login-pin-input{letter-spacing:12px;text-align:center;font-weight:700;padding:10px!important;font-size:22px!important}.user-mgmt-table-wrap{border:1px solid var(--border);background:var(--surface);border-radius:8px;overflow:hidden}.user-mgmt-table{border-collapse:collapse;width:100%;font-size:13px}.user-mgmt-table th{background:var(--surface-subtle,#00000008);color:var(--text-secondary);text-align:left;border-bottom:1px solid var(--border);padding:10px 14px;font-weight:600}.user-mgmt-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 14px}.user-mgmt-table tr:last-child td{border-bottom:none}.user-mgmt-table tr:hover{background:var(--surface-hover,#00000004)}.user-row-deactivated{opacity:.6}.user-table-cell-profile{align-items:center;gap:10px;display:flex}.user-avatar-badge{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:flex;overflow:hidden}.user-avatar-badge--photo img{object-fit:cover;width:100%;height:100%;display:block}.user-headshot-picker{align-items:center;gap:14px;display:flex}.user-headshot-preview{color:#fff;border:2px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;font-size:22px;font-weight:700;display:flex;overflow:hidden}.user-headshot-preview--photo img{object-fit:cover;width:100%;height:100%;display:block}.user-headshot-actions{flex-wrap:wrap;gap:8px;display:flex}.user-table-name{color:var(--text-primary);font-weight:600}.user-table-id{color:var(--text-muted);font-size:11px}.user-table-email{color:var(--text-secondary)}.role-badge{letter-spacing:.3px;border-radius:12px;align-items:center;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.role-badge-admin{color:#15803d;background:#22c55e26;border:1px solid #22c55e4d}.role-badge-member{background:var(--surface-subtle,#0000000d);color:var(--text-secondary);border:1px solid var(--border)}.status-badge{border-radius:12px;align-items:center;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.status-badge-active{color:#16a34a;background:#22c55e1a}.status-badge-deactivated{color:#64748b;background:#64748b1a}.status-badge-locked{color:#b45309;background:#f59e0b26}.user-actions-row{justify-content:flex-end;gap:6px;display:flex}.role-select-cards{grid-template-columns:1fr 1fr;gap:10px;margin-top:4px;display:grid}.role-select-card{border:1.5px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;border-radius:8px;flex-direction:column;align-items:flex-start;padding:12px;transition:all .15s;display:flex}.role-select-card:hover{border-color:var(--primary)}.role-select-card.active{border-color:var(--primary);background:var(--primary-soft,#22c55e0d)}.role-select-card strong{color:var(--text-primary);margin-bottom:2px;font-size:13px}.role-select-card p{color:var(--text-muted);margin:0;font-size:11px;line-height:1.3}.row-actions{align-items:center;gap:6px;display:flex}.muted{color:var(--ink-2)}.nowrap{white-space:nowrap}.grid-6{grid-template-columns:repeat(6,minmax(0,1fr))}@media (width<=1080px){.grid-6{grid-template-columns:repeat(3,minmax(0,1fr))}}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=1080px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}.estimate-extra-row{grid-template-columns:minmax(0,2fr) 130px 90px 32px;align-items:center;gap:8px;margin-bottom:8px;display:grid}.estimate-extra-row input[type=text],.estimate-extra-row input[type=number]{box-sizing:border-box;height:34px}.line-head{letter-spacing:.04em;color:var(--ink-3);gap:8px;margin-bottom:4px;font-size:10px;font-weight:600;display:grid}.settings-panel{border:1px solid var(--border);border-radius:var(--radius);background:#fbfcfb;margin-bottom:16px;padding:14px}.block-plain{border:2px solid var(--paint-block-bg);border-radius:var(--radius);margin-bottom:16px;overflow:hidden}.block-plain-header{background:var(--paint-block-bg);color:var(--paint-block-ink);align-items:center;gap:10px;padding:10px 14px;font-size:13px;font-weight:600;display:flex}.block-plain-header .amount{font-variant-numeric:tabular-nums;background:var(--surface);color:var(--paint-block-bg);border-radius:8px;padding:3px 10px;font-weight:700}.block-plain-body{padding:14px}.paint-section-body .block-plain.block-is-alternate{border-color:var(--alternate-bg)}.paint-section-body .block-plain.block-is-alternate .block-plain-header{background:var(--alternate-bg);color:var(--alternate-ink)}.paint-section-body .block-plain.block-is-alternate .block-plain-header .amount{color:var(--alternate-bg)}.act-section-body .block-plain{border-color:var(--act-block-bg)}.act-section-body .block-plain-header{background:var(--act-block-bg);color:var(--act-block-ink)}.act-section-body .block-plain-header .amount{color:var(--act-block-bg)}.equipment-section-body .block-plain{border-color:var(--equipment-block-bg)}.equipment-section-body .block-plain-header{background:var(--equipment-block-bg);color:var(--equipment-block-ink)}.equipment-section-body .block-plain-header .amount{color:var(--equipment-block-bg)}.frp-section{border-radius:var(--radius);box-shadow:var(--shadow);border:none;margin-bottom:20px}.frp-section-header{background:var(--frp-block-bg);color:#fff;border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);align-items:center;gap:10px;padding:12px 14px;display:flex}.frp-section-header input{color:#fff;letter-spacing:.02em;background:0 0;border:1px solid #0000;border-radius:5px;flex:1;min-width:0;padding:5px 7px;font-size:14px;font-weight:700}.frp-section-header input:hover:not(:disabled){border-color:#ffffff4d}.frp-section-header input:focus{border-color:var(--frp-accent);background:var(--border);outline:0}.frp-section-header .amount{background:var(--surface);color:var(--frp-block-bg);font-variant-numeric:tabular-nums;border-radius:8px;padding:4px 12px;font-weight:700}.frp-section-header .btn-icon{color:#cfd6d2}.frp-section-header .btn-icon:hover{background:var(--border);color:#fff}.paint-section{border-radius:var(--radius);box-shadow:var(--shadow);border:none;margin-bottom:20px}.paint-section-header{background:var(--paint-block-bg);color:#fff;border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);align-items:center;gap:10px;padding:12px 14px;display:flex}.paint-section-header input{color:#fff;letter-spacing:.02em;background:0 0;border:1px solid #0000;border-radius:5px;flex:1;min-width:0;padding:5px 7px;font-size:14px;font-weight:700}.paint-section-header input:hover:not(:disabled){border-color:#ffffff4d}.paint-section-header input:focus{border-color:var(--paint-accent);background:var(--border);outline:0}.paint-section-header .amount{background:var(--surface);color:var(--paint-block-bg);font-variant-numeric:tabular-nums;border-radius:8px;padding:4px 12px;font-weight:700}.paint-section-header .btn-icon{color:#e5d3c2}.paint-section-header .btn-icon:hover{background:var(--border);color:#fff}.paint-section-body{padding:14px}.act-section{border-radius:var(--radius);box-shadow:var(--shadow);border:none;margin-bottom:20px}.act-section-header{background:var(--act-block-bg);color:#fff;border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);align-items:center;gap:10px;padding:12px 14px;display:flex}.act-section-header input{color:#fff;letter-spacing:.02em;background:0 0;border:1px solid #0000;border-radius:5px;flex:1;min-width:0;padding:5px 7px;font-size:14px;font-weight:700}.act-section-header input:hover:not(:disabled){border-color:#ffffff4d}.act-section-header input:focus{border-color:var(--act-accent);background:var(--border);outline:0}.act-section-header .amount{background:var(--surface);color:var(--act-block-bg);font-variant-numeric:tabular-nums;border-radius:8px;padding:4px 12px;font-weight:700}.act-section-header .btn-icon{color:#c8dcec}.act-section-header .btn-icon:hover{background:var(--border);color:#fff}.act-section-body{padding:14px}.resinous-section{border-radius:var(--radius);box-shadow:var(--shadow);border:none;margin-bottom:20px}.resinous-section-header{background:var(--resinous-block-bg);color:#fff;border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);align-items:center;gap:10px;padding:12px 14px;display:flex}.resinous-section-header input{color:#fff;letter-spacing:.02em;background:0 0;border:1px solid #0000;border-radius:5px;flex:1;min-width:0;padding:5px 7px;font-size:14px;font-weight:700}.resinous-section-header input:hover:not(:disabled){border-color:#ffffff4d}.resinous-section-header input:focus{border-color:var(--resinous-accent);background:var(--border);outline:0}.resinous-section-header .btn-icon{color:#cdeaee}.resinous-section-header .btn-icon:hover{background:var(--border);color:#fff}.resinous-section-body{--block-bg:var(--resinous-block-bg);--block-ink:var(--resinous-block-ink);padding:14px}.resinous-section-body .wall{border:1.5px solid var(--resinous-block-bg)}.resinous-section-body .block-plain{border-color:var(--resinous-block-bg)}.resinous-section-body .block-plain-header{background:var(--resinous-block-bg);color:var(--resinous-block-ink)}.resinous-section-body .block-plain-header .amount{color:var(--resinous-block-bg)}.resinous-section-body .resinous-coat-block{border-color:var(--resinous-block-bg)}.resinous-mode-toggle{flex-shrink:0;align-items:center;gap:6px;width:max-content;min-width:max-content;margin-top:22px;display:flex}.resinous-section-body .act-arealine-row{grid-template-columns:minmax(140px,.6fr) 90px minmax(190px,max-content) 40px}.resinous-section-body .act-arealine-row .resinous-mode-toggle{grid-column:3;justify-self:start}.resinous-section-body .act-arealine-row .btn-icon{box-sizing:border-box;z-index:1;flex-shrink:0;grid-column:4;place-self:start center;min-width:36px;min-height:36px;margin-top:22px;position:relative}.resinous-section-body .act-arealine-row .btn-icon svg{flex-shrink:0;width:20px;height:20px}.resinous-coat-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}.resinous-coat-block{border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.resinous-coat-title{letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:700}.resinous-coat-fields{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.resinous-labor-list{flex-direction:column;gap:8px;margin-top:12px;display:flex}.resinous-labor-row{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.resinous-labor-row .f{flex:1;min-width:140px}.resinous-allin{flex-wrap:wrap;align-items:start;gap:12px;margin-top:12px;display:flex}.resinous-allin .f input{box-sizing:border-box;height:36px}.resinous-allin .framing-wallarea-strip{box-sizing:border-box;height:36px;margin-top:22px}@media (width<=800px){.resinous-coat-grid,.resinous-coat-fields{grid-template-columns:1fr}}.flooring-section{border-radius:var(--radius);box-shadow:var(--shadow);border:none;margin-bottom:20px}.flooring-section-header{background:var(--flooring-block-bg);color:#fff;border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);align-items:center;gap:10px;padding:12px 14px;display:flex}.flooring-section-header input{color:#fff;letter-spacing:.02em;background:0 0;border:1px solid #0000;border-radius:5px;flex:1;min-width:0;padding:5px 7px;font-size:14px;font-weight:700}.flooring-section-header input:hover:not(:disabled){border-color:#ffffff4d}.flooring-section-header input:focus{border-color:var(--flooring-accent);background:var(--border);outline:0}.flooring-section-header .btn-icon{color:#dcf3e9}.flooring-section-header .btn-icon:hover{background:var(--border);color:#fff}.flooring-section-body{--block-bg:var(--flooring-block-bg);--block-ink:var(--flooring-block-ink);padding:14px}.flooring-section-body .wall{border:1.5px solid var(--flooring-block-bg)}.flooring-mode-toggle{flex-shrink:0;align-items:center;gap:6px;width:max-content;min-width:max-content;margin-top:22px;display:flex}.flooring-section-body .act-arealine-row{grid-template-columns:minmax(140px,.6fr) 90px minmax(190px,max-content) 40px}.flooring-section-body .act-arealine-row .flooring-mode-toggle{grid-column:3;justify-self:start}.flooring-section-body .act-arealine-row .btn-icon{box-sizing:border-box;z-index:1;flex-shrink:0;grid-column:4;place-self:start center;min-width:36px;min-height:36px;margin-top:22px;position:relative}.flooring-section-body .act-arealine-row .btn-icon svg{flex-shrink:0;width:20px;height:20px}.flooring-labor-list{flex-direction:column;gap:8px;margin-top:12px;display:flex}.flooring-labor-row{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.flooring-labor-row .f{flex:1;min-width:140px}.flooring-allin{flex-wrap:wrap;align-items:start;gap:12px;margin-top:12px;display:flex}.flooring-allin .f input{box-sizing:border-box;height:36px}.flooring-allin .framing-wallarea-strip{box-sizing:border-box;height:36px;margin-top:22px}.framing-section{border-radius:var(--radius);box-shadow:var(--shadow);border:none;margin-bottom:20px}.framing-section-header{background:var(--framing-block-bg);color:#fff;border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);align-items:center;gap:10px;padding:12px 14px;display:flex}.framing-section-header input{color:#fff;letter-spacing:.02em;background:0 0;border:1px solid #0000;border-radius:5px;flex:1;min-width:0;padding:5px 7px;font-size:14px;font-weight:700}.framing-section-header input:hover:not(:disabled){border-color:#ffffff4d}.framing-section-header input:focus{border-color:var(--framing-accent);background:var(--border);outline:0}.framing-section-header .amount{background:var(--surface);color:var(--framing-block-bg);font-variant-numeric:tabular-nums;border-radius:8px;padding:6px 14px;font-weight:700}.framing-section-header .amount.amount-pending{color:var(--type-ink);background:var(--type-bg)}.framing-section-header .btn-icon{color:#d7dee4}.framing-section-header .btn-icon:hover{background:var(--border);color:#fff}.gyp-section{border-radius:var(--radius);box-shadow:var(--shadow);border:none;margin-bottom:20px}.gyp-section-header{background:var(--gyp-block-bg);color:#fff;border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);align-items:center;gap:10px;padding:12px 14px;display:flex}.gyp-section-header input{color:#fff;letter-spacing:.02em;background:0 0;border:1px solid #0000;border-radius:5px;flex:1;min-width:0;padding:5px 7px;font-size:14px;font-weight:700}.gyp-section-header input:hover:not(:disabled){border-color:#ffffff4d}.gyp-section-header input:focus{border-color:var(--gyp-accent);background:var(--border);outline:0}.gyp-section-header .amount{background:var(--surface);color:var(--gyp-block-bg);font-variant-numeric:tabular-nums;border-radius:8px;padding:6px 14px;font-weight:700}.gyp-section-header .btn-icon{color:#e2cdd9}.gyp-section-header .btn-icon:hover{background:var(--border);color:#fff}.carpentry-section{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:none;margin-bottom:20px}.carpentry-section-header{background:var(--carpentry-block-bg);color:#fff;border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);align-items:center;gap:10px;padding:12px 14px;display:flex}.carpentry-section-header input[type=text],.carpentry-section-header input:not([type]){color:#fff;letter-spacing:.02em;background:0 0;border:1px solid #0000;border-radius:5px;flex:1;min-width:0;padding:5px 7px;font-size:14px;font-weight:700}.carpentry-section-header input:hover:not(:disabled){border-color:#ffffff4d}.carpentry-section-header input:focus{border-color:var(--carpentry-accent);background:var(--border);outline:0}.carpentry-section-header .btn-icon{color:#ecd3ce}.carpentry-section-header .btn-icon:hover{background:var(--border);color:#fff}.carpentry-section-body{--block-bg:var(--carpentry-block-bg);--block-ink:var(--carpentry-block-ink);padding:14px}.carpentry-section-body .block-plain{border-color:var(--carpentry-block-bg);margin-bottom:14px}.carpentry-section-body .block-plain-header{background:var(--carpentry-block-bg);color:var(--carpentry-block-ink)}.carpentry-section-body .block-plain-header .amount{color:var(--carpentry-block-bg)}.equipment-section{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:none;margin-bottom:20px}.equipment-section-header{background:var(--equipment-block-bg);color:#fff;border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);align-items:center;gap:10px;padding:12px 14px;display:flex}.equipment-section-header input{color:#fff;letter-spacing:.02em;background:0 0;border:1px solid #0000;border-radius:5px;flex:1;min-width:0;padding:5px 7px;font-size:14px;font-weight:700}.equipment-section-header input:hover:not(:disabled){border-color:#ffffff4d}.equipment-section-header input:focus{border-color:var(--equipment-accent);background:var(--border);outline:0}.equipment-section-header .amount{background:var(--surface);color:var(--equipment-block-bg);font-variant-numeric:tabular-nums;border-radius:8px;padding:6px 14px;font-weight:700}.equipment-section-header .btn-icon{color:#cde0ed}.equipment-section-header .btn-icon:hover{background:var(--border);color:#fff}.gyp-area{background:var(--surface);border:1.5px solid var(--gyp-block-bg);border-radius:var(--radius);margin-bottom:12px;padding:12px}.gyp-area-excluded{opacity:.5}.gyp-area-compact{margin-top:8px}.gyp-area-actions{flex-direction:column;gap:6px;margin-top:10px;display:flex}.gyp-area-actions>.btn{width:100%}.gyp-area-finish-btn{justify-content:space-between;align-items:center;gap:8px;display:flex}.gyp-area-row{grid-template-columns:20px minmax(120px,180px) 80px 90px minmax(140px,1fr);align-items:center;gap:10px;display:grid}@media (width<=900px){.gyp-area-row{grid-template-columns:minmax(0,1fr) 1fr}}.gyp-area-row-independent{grid-template-columns:minmax(120px,1fr) 80px 80px 70px 70px minmax(160px,1.3fr) 28px}@media (width<=1080px){.gyp-area-row-independent{grid-template-columns:minmax(0,1fr) 1fr}}.act-arealine-row{grid-template-columns:minmax(140px,1.2fr) 90px 130px minmax(220px,1.6fr) 28px;align-items:start;gap:10px;display:grid}.gyp-area-row-independent .btn-icon,.act-arealine-row .btn-icon{margin-top:22px}@media (width<=900px){.act-arealine-row{grid-template-columns:minmax(0,1fr) 1fr}.resinous-section-body .act-arealine-row{grid-template-columns:minmax(0,1fr) auto}.resinous-section-body .act-arealine-row .resinous-mode-toggle{grid-column:1/-1;margin-top:8px}.resinous-section-body .act-arealine-row .btn-icon{grid-column:2;justify-self:end;min-width:36px;min-height:36px;margin-top:22px}.flooring-section-body .act-arealine-row{grid-template-columns:minmax(0,1fr) auto}.flooring-section-body .act-arealine-row .flooring-mode-toggle{grid-column:1/-1;margin-top:8px}.flooring-section-body .act-arealine-row .btn-icon{grid-column:2;justify-self:end;min-width:36px;min-height:36px;margin-top:22px}}.act-perimeter-row input{box-sizing:border-box;height:36px}.framing-section-body .f>label,.gyp-section-body .f>label,.act-section-body .f>label,.frp-section-body .f>label,.paint-section-body .f>label,.equipment-section-body .f>label,.carpentry-section-body .f>label,.resinous-section-body .f>label,.flooring-section-body .f>label{color:var(--ink);letter-spacing:0;text-transform:none;font-size:13px;font-weight:600}.framing-section-body .f-type input,.framing-section-body .f-type select,.gyp-section-body .f-type input,.gyp-section-body .f-type select,.act-section-body .f-type input,.act-section-body .f-type select,.frp-section-body .f-type input,.frp-section-body .f-type select,.paint-section-body .f-type input,.paint-section-body .f-type select,.resinous-section-body .f-type input,.resinous-section-body .f-type select,.flooring-section-body .f-type input,.flooring-section-body .f-type select{background:var(--surface);border-color:var(--border-strong);color:var(--ink)}.resinous-section-body .f-type input,.resinous-section-body .f-type select,.flooring-section-body .f-type input,.flooring-section-body .f-type select{border-color:var(--ink)}.resinous-section-body .f input:focus,.resinous-section-body .f select:focus,.flooring-section-body .f input:focus,.flooring-section-body .f select:focus{box-shadow:0 0 0 2px #1b1f1d33}.resinous-mode-toggle .pill,.flooring-mode-toggle .pill{white-space:nowrap;box-sizing:border-box;border:1px solid var(--ink);background:var(--surface);flex:none;justify-content:center;align-items:center;width:auto;min-width:5.5rem;height:36px;padding:0 12px;display:inline-flex}.resinous-mode-toggle .pill-on,.flooring-mode-toggle .pill-on{background:var(--ink);color:#fff}.framing-materials-box,.gyp-materials-box,.act-materials-box,.frp-materials-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:0;padding:14px}.framing-materials-title,.gyp-materials-title,.act-materials-title,.frp-materials-title{letter-spacing:.02em;text-transform:uppercase;color:var(--ink);margin-bottom:12px;font-size:13px;font-weight:700}.framing-materials-grid{grid-template-columns:1.3fr 1.3fr .85fr .85fr .85fr 1fr 1fr .6fr;align-items:start;gap:8px;display:grid}@media (width<=1400px){.framing-materials-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=760px){.framing-materials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.gyp-materials-grid,.act-materials-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));align-items:start;gap:8px 10px;display:grid}.frp-materials-grid{align-items:start;gap:8px 10px;display:flex}.frp-materials-grid>*{flex:1 1 0;min-width:0}.framing-section-body,.gyp-section-body,.act-section-body,.frp-section-body{padding:14px}.framing-section-body{--block-bg:var(--framing-block-bg);--block-ink:var(--framing-block-ink)}.gyp-section-body{--block-bg:var(--gyp-block-bg);--block-ink:var(--gyp-block-ink)}.frp-section-body{--block-bg:var(--frp-block-bg);--block-ink:var(--frp-block-ink)}.equipment-section-body{--block-bg:var(--equipment-block-bg);--block-ink:var(--equipment-block-ink)}.two-col{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:16px;display:grid}@media (width<=1080px){.two-col{grid-template-columns:minmax(0,1fr)}}.side-rail{flex-direction:column;gap:12px;display:flex;position:sticky;top:72px}.plain-box{border:1px solid var(--border);border-radius:var(--radius);background:#fbfcfb;padding:12px}.subpanel{border:2px solid var(--block-bg);border-radius:var(--radius);margin-bottom:16px;overflow:hidden}.subpanel-header{background:var(--block-bg);color:var(--block-ink);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:10px;padding:10px 14px;font-size:12px;font-weight:700;display:flex}.subpanel-header .amount{background:var(--surface);color:var(--block-bg);font-variant-numeric:tabular-nums;border-radius:8px;margin-left:auto;padding:3px 10px;font-weight:700}.subpanel-body{padding:14px}.framing-section-body .subpanel{border-color:var(--framing-block-bg)}.framing-section-body .subpanel-header{background:var(--framing-block-bg);color:var(--framing-block-ink)}.framing-section-body .subpanel-header .amount{color:var(--framing-block-bg)}.framing-section-body .block-plain{border-color:var(--framing-block-bg)}.framing-section-body .block-plain-header{background:var(--framing-block-bg);color:var(--framing-block-ink)}.framing-section-body .block-plain-header .amount{color:var(--framing-block-bg)}.gyp-section-body .subpanel{border-color:var(--gyp-block-bg)}.gyp-section-body .subpanel-header{background:var(--gyp-block-bg);color:var(--gyp-block-ink)}.gyp-section-body .subpanel-header .amount{color:var(--gyp-block-bg)}.gyp-section-body .block-plain{border-color:var(--gyp-block-bg)}.gyp-section-body .block-plain-header{background:var(--gyp-block-bg);color:var(--gyp-block-ink)}.gyp-section-body .block-plain-header .amount{color:var(--gyp-block-bg)}.act-section-body .subpanel{border-color:var(--act-block-bg)}.act-section-body .subpanel-header{background:var(--act-block-bg);color:var(--act-block-ink)}.act-section-body .subpanel-header .amount{color:var(--act-block-bg)}.plain-box h3{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);margin:0 0 8px;font-size:12px}.framing-wallarea{background:var(--surface);border:1.5px solid var(--framing-block-bg);border-radius:var(--radius);margin-bottom:12px;padding:12px}.framing-wallarea-row{grid-template-columns:minmax(120px,1fr) 80px 80px 96px 96px 110px 64px minmax(170px,1.3fr) 28px 28px;align-items:start;gap:8px;display:grid}.framing-wallarea-row .framing-wallarea-strip,.framing-wallarea-row .btn-icon,.act-arealine-row .framing-wallarea-strip{margin-top:22px}@media (width<=1080px){.framing-wallarea-row{grid-template-columns:minmax(0,1fr) 1fr}}.framing-wallarea-detail{border-top:1px dashed var(--border-strong);margin-top:12px;padding-top:12px}.framing-wallarea-row .f input,.framing-wallarea-row .f select,.framing-wallarea-row .f-readout,.framing-wallarea-row .framing-wallarea-strip,.act-arealine-row .f input,.act-arealine-row .f select,.act-arealine-row .f-readout,.act-arealine-row .framing-wallarea-strip{box-sizing:border-box;height:36px}.f-readout{box-sizing:border-box;border:1px solid var(--border-strong);height:36px;color:var(--ink-2);background:#f1f3f2;border-radius:6px;align-items:center;padding:0 8px;font-size:13px;display:flex}.framing-wallarea-strip{background:var(--calc-bg);border:1px solid var(--calc-br);color:var(--calc-ink);font-variant-numeric:tabular-nums;border-radius:6px;flex-wrap:wrap;align-items:center;gap:12px;padding:7px 10px;font-size:11px;display:flex}.framing-wallarea-strip strong{font-weight:700}.framing-openings-table{table-layout:fixed;border-collapse:collapse;width:100%;margin-top:10px;font-size:12px}.framing-openings-table th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--border-strong);white-space:nowrap;padding:4px 6px;font-size:10px}.framing-openings-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:4px 6px;overflow:hidden}.framing-openings-table input,.framing-openings-table select{border:1px solid var(--border-strong);background:var(--surface);text-overflow:ellipsis;border-radius:5px;width:100%;min-width:0;max-width:100%;padding:4px 6px}.link-add{color:var(--pick-br);cursor:pointer;text-align:left;background:0 0;border:none;padding:4px 0;font-size:12px;font-weight:600;display:block}.link-add:hover{text-decoration:underline}.frp-section.section-is-alternate,.paint-section.section-is-alternate,.act-section.section-is-alternate,.framing-section.section-is-alternate,.gyp-section.section-is-alternate,.resinous-section.section-is-alternate,.flooring-section.section-is-alternate,.carpentry-section.section-is-alternate,.equipment-section.section-is-alternate{border:none}.frp-section.section-is-alternate{--frp-accent:var(--alternate-bg);--frp-block-bg:var(--alternate-bg);--frp-block-ink:var(--alternate-ink)}.paint-section.section-is-alternate{--paint-accent:var(--alternate-bg);--paint-block-bg:var(--alternate-bg);--paint-block-ink:var(--alternate-ink)}.act-section.section-is-alternate{--act-accent:var(--alternate-bg);--act-block-bg:var(--alternate-bg);--act-block-ink:var(--alternate-ink)}.framing-section.section-is-alternate{--framing-accent:var(--alternate-bg);--framing-block-bg:var(--alternate-bg);--framing-block-ink:var(--alternate-ink)}.gyp-section.section-is-alternate{--gyp-accent:var(--alternate-bg);--gyp-block-bg:var(--alternate-bg);--gyp-block-ink:var(--alternate-ink)}.resinous-section.section-is-alternate{--resinous-accent:var(--alternate-bg);--resinous-block-bg:var(--alternate-bg);--resinous-block-ink:var(--alternate-ink)}.flooring-section.section-is-alternate{--flooring-accent:var(--alternate-bg);--flooring-block-bg:var(--alternate-bg);--flooring-block-ink:var(--alternate-ink)}.carpentry-section.section-is-alternate{--carpentry-accent:var(--alternate-bg);--carpentry-block-bg:var(--alternate-bg);--carpentry-block-ink:var(--alternate-ink)}.equipment-section.section-is-alternate{--equipment-accent:var(--alternate-bg);--equipment-block-bg:var(--alternate-bg);--equipment-block-ink:var(--alternate-ink)}.section-alt-checkbox{cursor:pointer;justify-content:center;align-items:center;display:flex}.section-alt-checkbox input[type=checkbox]{appearance:none;background:var(--border-strong);cursor:pointer;border:2px solid #ffffffbf;border-radius:50%;outline:none;place-content:center;width:18px;height:18px;margin:0;transition:all .15s;display:grid}.section-alt-checkbox input[type=checkbox]:hover{background:#ffffff59;border-color:#fff}.section-alt-checkbox input[type=checkbox]:checked{background:#fff;border-color:#fff}.section-alt-checkbox input[type=checkbox]:checked:before{content:"";background:var(--ink);border-radius:50%;width:8px;height:8px}.section-alt-checkbox input[type=checkbox]:focus-visible{outline-offset:2px;outline:2px solid #fff}.section-alt-checkbox input[type=checkbox]:disabled{opacity:.5;cursor:default}.section-alt-radio-bullet{color:#fff;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;font-size:13px;font-weight:600;display:flex}.section-alt-radio-bullet input[type=checkbox]{appearance:none;background:var(--border-strong);cursor:pointer;border:2px solid #ffffffbf;border-radius:50%;outline:none;place-content:center;width:17px;height:17px;margin:0;transition:all .15s;display:grid}.section-alt-radio-bullet input[type=checkbox]:hover{background:#ffffff59;border-color:#fff}.section-alt-radio-bullet input[type=checkbox]:checked{background:#fff;border-color:#fff}.section-alt-radio-bullet input[type=checkbox]:checked:before{content:"";background:var(--ink);border-radius:50%;width:7px;height:7px}.section-alt-radio-bullet input[type=checkbox]:focus-visible{outline-offset:2px;outline:2px solid #fff}.section-alt-radio-bullet input[type=checkbox]:disabled{opacity:.5;cursor:default}.section-alt-toggle{color:#fff;white-space:nowrap;cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.section-alt-toggle input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.section-alt-track{background:#ffffff40;border:1px solid #ffffff80;border-radius:999px;flex:none;width:36px;height:20px;transition:background .15s;position:relative}.section-alt-thumb{background:var(--surface);border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:1px;left:1px}.section-alt-toggle input:checked+.section-alt-track{background:var(--surface)}.section-alt-toggle input:checked+.section-alt-track .section-alt-thumb{background:var(--ink);transform:translate(16px)}.section-alt-toggle input:focus-visible+.section-alt-track{outline-offset:2px;outline:2px solid #fff}.section-alt-toggle input:disabled+.section-alt-track{opacity:.5;cursor:default}.section-alt-toggle.on-light{color:var(--ink)}.section-alt-toggle.on-light .section-alt-track{border-color:var(--border);background:#e4e7e5}.section-alt-toggle.on-light input:checked+.section-alt-track{background:var(--ink)}.section-alt-toggle.on-light input:checked+.section-alt-track .section-alt-thumb{background:var(--surface)}.section-alt-toggle.on-light input:focus-visible+.section-alt-track{outline:2px solid var(--ink);outline-offset:2px}.estimate-builder-page{max-width:none}.estimate-builder-page .job-header-title-row{flex-wrap:nowrap;min-width:0}.estimate-builder-page .job-header-title-row .page-title{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.estimate-builder-page .job-header-title-row .status-picker{flex:none;width:auto}.estimate-builder-page .job-header-title-row .status-picker .pill{white-space:nowrap;width:auto}.source-panel-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--ink);margin:0 0 6px;font-size:15px;font-weight:700}.source-panel-estimate-heading{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:6px;display:flex}.source-panel-estimate-heading .source-panel-section-title{margin:0}.source-panel-proposal-checkbox{color:#000;cursor:pointer;align-items:center;gap:8px;font-size:13.5px;font-weight:600;line-height:1.3;display:inline-flex}.source-trade-pill{text-transform:uppercase;letter-spacing:.06em;color:#fff;border-radius:6px;margin:0 0 6px;padding:4px 10px;font-size:10px;font-weight:800;display:inline-block}.estimate-builder-page .builder-layout-left .f input,.estimate-builder-page .builder-layout-left .f select,.estimate-builder-page .builder-layout-left .f-type input,.estimate-builder-page .builder-layout-left .f-type select,.estimate-builder-page .builder-layout-left textarea{border:1px solid var(--line-strong,#333);background:var(--surface);color:var(--ink);box-sizing:border-box;border-radius:5px;transition:border-color .1s,box-shadow .1s}.estimate-builder-page .builder-layout-left .f input:hover,.estimate-builder-page .builder-layout-left .f select:hover,.estimate-builder-page .builder-layout-left .f-type input:hover,.estimate-builder-page .builder-layout-left .f-type select:hover,.estimate-builder-page .builder-layout-left textarea:hover{border-color:#111}.estimate-builder-page .builder-layout-left .f input:focus,.estimate-builder-page .builder-layout-left .f select:focus,.estimate-builder-page .builder-layout-left .f-type input:focus,.estimate-builder-page .builder-layout-left .f-type select:focus,.estimate-builder-page .builder-layout-left textarea:focus{background:var(--surface);outline-offset:1px;box-shadow:none;border-color:#111;outline:2px solid #111}.source-subitem-row{margin-top:4px;padding-left:62px}.source-scope-name-summary-row{align-items:center;gap:8px;min-width:0;display:flex}.source-scope-sell-amount{font-variant-numeric:tabular-nums;color:var(--ink-2);white-space:nowrap;flex:none;margin-left:auto;font-size:12px;font-weight:700}.source-scope-name-field{flex:0 auto;min-width:0;max-width:60%}.source-scope-name-field-inner{align-items:center;gap:6px;width:100%;min-width:0;display:flex}.source-scope-name-field-inner .cell-input{flex:auto;width:auto;min-width:0}.source-scope-bucket-badge{white-space:nowrap;border:1px solid var(--border-strong,#d1d5db);background:#fff;flex:none;padding:2px 8px;font-size:11px}.source-scope-name-input{flex:0 auto;min-width:72px;max-width:60%;font-weight:700}input.cell-input.source-scope-summary-input{min-width:0;color:var(--ink-soft);box-shadow:none;background:0 0;border:none;border-radius:0;outline:none;flex:1 1 0;padding:0;font:11px/1.4 inherit}input.cell-input.source-scope-summary-input:hover{background:0 0;border:none}input.cell-input.source-scope-summary-input:focus{box-shadow:none;background:0 0;border:none;outline:none}input.cell-input.source-scope-summary-input::placeholder{opacity:.45;font:11px/1.4 inherit}.builder-layout{grid-template-columns:minmax(0,1fr) minmax(380px,.95fr);align-items:start;gap:16px;display:grid}.builder-layout-left{flex-direction:column;gap:16px;min-width:0;display:flex}.builder-preview{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);min-height:calc(100vh - 92px);max-height:calc(100vh - 92px);box-shadow:var(--shadow);flex-direction:column;display:flex;position:sticky;top:76px;overflow:hidden}.builder-preview-toolbar{border-bottom:1px solid var(--border);background:var(--page);flex:none;align-items:center;gap:8px;padding:10px 14px;display:flex}.builder-preview-live{background:var(--green);width:8px;height:8px;box-shadow:0 0 0 3px var(--green-soft);border-radius:50%;flex:none}.builder-preview-live.is-pending{background:var(--ink-2);box-shadow:none}.builder-preview-label{color:var(--ink-2);flex:1;font-size:12px;font-weight:600}.builder-preview-pages{color:var(--ink-2);white-space:nowrap;font-size:12px;font-weight:600}.builder-preview-frame{background:#e8ebe9;flex:1;min-height:0;position:relative}.builder-preview-pdf,.builder-preview-frame iframe{background:#e8ebe9;border:0;display:block;position:absolute;inset:0;width:100%!important;height:100%!important}@media (width<=1200px){.builder-layout{grid-template-columns:minmax(0,1fr)}.builder-preview{min-height:80vh;max-height:none;position:static}.builder-preview-frame{min-height:70vh}}.job-totals-pills,.job-pills{grid-template-columns:repeat(3,auto);justify-content:end;place-items:center stretch;gap:7px 8px;display:grid}.job-totals-pills.has-actions .job-pill-action-takeoff,.job-totals-pills.has-actions .job-pill-action-excel{grid-area:1/1}.job-totals-pills.has-actions:has(.job-pill-action-takeoff) .job-pill-action-excel{grid-area:1/2}.job-totals-pills.has-actions .job-pill-action-bom{grid-area:1/2}.job-totals-pills.has-actions:has(.job-pill-action-takeoff) .job-pill-action-bom{grid-area:1/2}.job-totals-pills.has-actions.has-excel .job-pill-action-bom,.job-totals-pills.has-actions .job-pill-action-estimate{grid-area:1/3}.job-totals-pills.has-actions.has-excel{grid-template-columns:repeat(4,auto)}.job-totals-pills.has-actions.has-excel .job-pill-action-estimate{grid-area:1/4}.job-totals-pills.has-actions.has-excel .job-pill-total-base{grid-column:2}.job-totals-pills.has-actions.has-excel .job-pill-total-margin{grid-column:3}.job-totals-pills.has-actions.has-excel .job-pill-total-price{grid-column:4}.job-totals-pills.has-actions .job-pill-total-base{grid-area:2/1}.job-totals-pills.has-actions .job-pill-total-margin{grid-area:2/2}.job-totals-pills.has-actions .job-pill-total-price{grid-area:2/3}.job-tax-row{flex-wrap:wrap;align-items:flex-end;gap:12px 20px;padding:4px 0 14px;display:flex}.job-tax-row .job-tax-field{width:130px}.job-tax-toggle{cursor:pointer;align-items:center;gap:8px;height:36px;font-size:13px;font-weight:600;display:inline-flex}.job-tax-note{flex:260px;padding-bottom:8px;font-size:12px;line-height:1.4}.job-pill{border-radius:var(--radius);white-space:nowrap;font-variant-numeric:tabular-nums;text-align:center;box-sizing:border-box;border:1px solid #0000;justify-content:center;align-items:center;width:100%;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:700;line-height:1.3;display:inline-flex}.job-pill-sub{color:#fff;border:1px solid var(--border);background:#ffffff2e}.job-pill-main{color:var(--green-deep);background:#fff;border:1px solid #ffffffe6;font-weight:800;box-shadow:0 1px 3px #0000001f}.job-pill-btn{appearance:none;cursor:pointer;color:var(--green-deep);background:#fff;border:1px solid #ffffffe6;margin:0;font-weight:700;transition:background-color .15s,box-shadow .15s,transform .1s,border-color .15s;box-shadow:0 1px 3px #0000001f}.job-pill-btn:hover{color:var(--green-deep);background:#f0f7f3;border-color:#fff;box-shadow:0 2px 5px #0000002e}.job-pill-btn:active{background:#e4f3ea;transform:translateY(1px);box-shadow:0 1px 2px #00000024}.job-pill-btn:focus-visible{outline-offset:2px;outline:2px solid #fff}@media (width<=700px){.section-sticky .section-header,.job-totals-section .section-header{min-height:auto;padding:10px 14px}.job-totals-pills,.job-pills{justify-content:flex-end}}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:20px;display:flex}.cost-entry-show-completed{cursor:pointer;align-items:center;gap:8px;min-height:44px;margin-bottom:4px;font-size:14px;font-weight:600;display:inline-flex}.page-header h1{color:var(--ink);letter-spacing:-.02em;margin:0 0 4px;font-size:26px;font-weight:700}.page-header p{color:var(--ink-2);margin:0;font-size:13px}.header-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;display:flex}.header-actions-with-search{position:relative}.gsr-builder-actions>.btn:not(.btn-primary){order:1}.gsr-builder-actions>.gsr-week-picker{order:2}.gsr-builder-actions>.gsr-person-picker:not(.gsr-week-picker){order:3}.gsr-builder-actions>.btn-primary{order:4}.search-box{border:1px solid var(--border-strong);background:var(--surface);width:280px;height:42px;color:var(--ink-3);border-radius:8px;align-items:center;gap:9px;padding:0 12px;display:flex}.search-box:focus-within{border-color:var(--green)}.search-box input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:13px}.new-button{height:42px}.pipeline-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:visible}.pipeline-tabs{--pipeline-tab-cols:6;grid-template-columns:repeat(var(--pipeline-tab-cols), 1fr);border-bottom:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;display:grid;overflow:hidden}.pipeline-tab{appearance:none;border:0;border-right:1px solid var(--border);background:var(--surface);cursor:pointer;height:64px;color:var(--ink);border-bottom:3px solid #0000;justify-content:space-between;align-items:center;padding:0 20px;display:flex}.pipeline-tab:last-child{border-right:0}.pipeline-tab:hover{background:var(--page)}.pipeline-tab.active{color:var(--green-dark);border-bottom-color:var(--green);background:var(--green-soft)}.tab-name{align-items:center;gap:9px;font-size:13px;font-weight:700;display:flex}.tab-count{background:var(--page);color:var(--ink-2);border-radius:5px;padding:3px 7px;font-size:12px;font-weight:600}.pipeline-tab.active .tab-count{background:var(--surface);color:var(--green-dark)}@media (width<=900px){.pipeline-tabs{grid-template-columns:repeat(3,1fr)}}@media (width<=560px){.pipeline-tabs{display:flex;overflow-x:auto}.pipeline-tab{min-width:140px}}.estimate-table-wrap{overflow:visible}.estimate-table{border-collapse:separate;border-spacing:0;width:100%;min-width:1080px}.estimate-table th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--border);white-space:nowrap;background:#fbfcfb;padding:14px;font-size:11px;font-weight:700}.estimate-table th.sortable{padding:0}.estimate-table th.sortable button{width:100%;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:6px;margin:0;padding:14px;display:inline-flex}.estimate-table th.sortable button:hover{color:var(--ink)}.estimate-table th.sortable button:focus-visible{outline:2px solid var(--green);outline-offset:-2px}.estimate-table .sort-icon{color:var(--green-dark);flex-shrink:0}.estimate-table .sort-icon-idle{color:var(--ink-3);opacity:.55}.estimate-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:14px;font-size:13px}.estimate-table th.estimate-table-actions,.estimate-table td.estimate-table-actions{text-align:right;white-space:nowrap;width:1%}.estimate-table tbody tr:last-child td{border-bottom:0}.estimate-table tbody tr{cursor:pointer;background:var(--surface)}.estimate-table tbody tr:hover{background:var(--page)}.estimate-table td strong{margin-bottom:3px;font-size:13.5px;display:block}.estimate-table td>span{color:var(--ink-3);margin-top:2px;font-size:11.5px;display:block}.estimate-table-bid-date-cell{min-width:10rem}.estimate-table-bid-date-input{color:var(--ink);box-shadow:none;appearance:none;cursor:pointer;background:0 0;border:none;border-radius:0;margin:0;padding:0;font-size:13px;font-weight:600;display:block}.estimate-table-bid-date-input:focus{box-shadow:none;outline:none}.estimate-table-bid-date-input:focus-visible{outline:2px solid var(--focus,#2563eb);outline-offset:2px;border-radius:4px}.estimate-table-bid-date-input::-webkit-calendar-picker-indicator{-webkit-appearance:none;display:none}.estimate-table-bid-date-input::-moz-calendar-picker-indicator{display:none}.due-note{color:var(--ink-3)}.due-note.overdue{color:var(--danger);font-weight:600}.due-note.due-soon{color:var(--warning);font-weight:600}.value-cell{font-variant-numeric:tabular-nums;font-weight:600}.row-menu{position:relative}.icon-button{cursor:pointer;width:34px;height:34px;color:var(--ink-2);background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.icon-button:hover{background:var(--page)}.icon-button-danger{color:var(--danger)}.icon-button-danger:hover{background:var(--page)}.menu-popover{z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:8px;width:190px;padding:6px;position:absolute;top:36px;right:4px;box-shadow:0 14px 30px #0f1e302e}.menu-popover button{text-align:left;cursor:pointer;width:100%;color:var(--ink);background:0 0;border:0;border-radius:5px;align-items:center;gap:8px;padding:8px 9px;font-size:12px;display:flex}.menu-popover button:hover{background:var(--page)}.menu-popover button:disabled{opacity:.45;cursor:default}.menu-popover button:disabled:hover{background:0 0}.menu-item-danger{color:var(--danger)!important}.menu-label{color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;padding:5px 9px;font-size:10px;font-weight:700}.menu-divider{background:var(--border);height:1px;margin:5px 0}.table-footer{color:var(--ink-2);justify-content:space-between;align-items:center;padding:14px;font-size:12px;display:flex}.pagination-controls{align-items:center;gap:6px;display:flex}.pagination-controls select{border:1px solid var(--border-strong);background:var(--surface);height:34px;color:var(--ink-2);border-radius:6px;padding:0 8px}.page-button{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;width:34px;height:34px;color:var(--ink-2);border-radius:6px;place-items:center;display:grid}.page-button.current{background:var(--green);border-color:var(--green);color:#fff}.page-button:disabled{opacity:.4;cursor:not-allowed}.empty-state{text-align:center;padding:70px 20px}.empty-state h3{margin:0 0 6px}.empty-state p{color:var(--ink-2);margin:0}.estimate-table .pill{text-align:left;width:auto;padding:5px 10px}.estimate-table .status-picker{width:auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.overview-header{align-items:flex-start}.overview-job-title{margin-bottom:4px}.overview-meta{flex-wrap:wrap;gap:16px 32px;margin-top:14px;display:flex}.overview-meta>div{flex-direction:column;gap:4px;min-width:110px;display:flex}.overview-meta span{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-weight:600}.overview-meta strong{color:var(--ink);font-size:14px;font-weight:600}.overview-meta-input{color:var(--ink);width:auto;min-width:0;box-shadow:none;appearance:none;background:0 0;border:none;border-radius:0;margin:0;padding:0;font-size:14px;font-weight:600}.overview-meta-input:focus{box-shadow:none;outline:none}.overview-meta-input:focus-visible{outline:2px solid var(--focus,#2563eb);outline-offset:2px;border-radius:4px}.overview-meta-input::-webkit-calendar-picker-indicator{-webkit-appearance:none;display:none}.overview-meta-input::-moz-calendar-picker-indicator{display:none}.client-email-list{flex-direction:column;gap:8px;display:flex}.client-email-row{align-items:center;gap:8px;display:flex}.client-email-row input{flex:1;min-width:0}.client-email-add{align-self:flex-start;align-items:center;gap:6px;display:inline-flex}.overview-body{flex-direction:column;gap:20px;margin-top:20px;display:flex}.overview-body h2{margin:0 0 12px;font-size:15px}.financial-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}@media (width<=1100px){.financial-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=640px){.financial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.financial-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);align-items:center;gap:12px;padding:16px;display:flex}.financial-card small{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:3px;font-size:10px;font-weight:700;display:block}.financial-card strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:19px;font-weight:700;display:block}.financial-card.is-clickable{appearance:none;font:inherit;text-align:left;cursor:pointer;width:100%;transition:border-color .12s,box-shadow .12s}.financial-card.is-clickable:hover{border-color:var(--green-dark,#1a6b45)}.financial-card.is-clickable.is-active{border-color:var(--green-dark,#1a6b45);box-shadow:0 0 0 1px var(--green-dark,#1a6b45)}.finance-period-expenses{border-top:1px solid var(--border);margin-top:22px;padding-top:18px}.finance-period-expenses-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;display:flex}.finance-period-expenses-header h3{margin:0;font-size:16px}.finance-period-expenses-subhead{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);margin:18px 0 8px;font-size:13px;font-weight:700}.finance-pnl-recon{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 4px;display:grid}.finance-pnl-recon.finance-pnl-recon-single{grid-template-columns:minmax(0,1fr);max-width:280px}.finance-pnl-recon>div{background:var(--bg,#f3f4f6);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.finance-pnl-recon small{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:3px;font-size:10px;font-weight:700;display:block}.finance-pnl-recon strong{font-variant-numeric:tabular-nums;font-size:15px;display:block}@media (width<=900px){.finance-pnl-recon{grid-template-columns:repeat(2,minmax(0,1fr))}}.finance-icon{color:#fff;border-radius:50%;flex:none;place-items:center;width:42px;height:42px;display:grid}.finance-icon.blue{background:#0969da}.finance-icon.orange{background:#d97706}.finance-icon.purple{background:#7c3aed}.finance-icon.green{background:var(--green)}.finance-icon.teal{background:#0d9488}.scope-row{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (width<=1000px){.scope-row{grid-template-columns:minmax(0,1fr)}}.scope-side{flex-direction:column;gap:14px;display:flex}.go-to-estimate{justify-content:center;align-items:center;width:100%;height:72px;font-size:15px;display:flex}.estimate-status-panel h2{margin:0 0 12px;font-size:15px}.status-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.status-list li{color:var(--ink);align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.status-ok svg{color:var(--green);flex:none}.status-warn svg{color:var(--warning);flex:none}.scope-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;display:grid}.scope-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;align-items:flex-start;gap:10px;padding:16px;display:flex}.scope-card--clickable{cursor:pointer;transition:border-color .15s,box-shadow .15s}.scope-card--clickable:hover{border-color:var(--act-block-bg);box-shadow:0 2px 8px #0000000f}.scope-card--clickable:focus-visible{outline:2px solid var(--act-block-bg);outline-offset:2px}.scope-card--placeholder{opacity:.85}.scope-icon{background:var(--page);width:38px;height:38px;color:var(--act-block-bg);border-radius:8px;place-items:center;display:grid}.scope-copy small{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);margin-bottom:3px;font-size:10px;font-weight:700;display:block}.scope-copy{flex:1}.scope-copy strong{font-variant-numeric:tabular-nums;font-size:17px;font-weight:700;display:block}.scope-breakdown{color:var(--ink-2);flex-direction:column;gap:2px;margin-top:6px;font-size:11px;display:flex}.scope-status{align-items:center;gap:5px;margin-top:auto;font-size:12px;font-weight:600;display:flex}.scope-status svg{flex:none}.scope-status.not-started{color:var(--ink-2)}.scope-status.in-progress{color:#0874c9}.scope-status.incomplete{color:var(--danger)}.scope-status.review{color:#a55707}.scope-status.complete{color:var(--green-dark)}.lower-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (width<=1000px){.lower-grid{grid-template-columns:minmax(0,1fr)}}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.panel-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.panel-heading h2{margin:0 0 3px;font-size:15px}.panel-heading p{color:var(--ink-2);margin:0;font-size:12px}.scope-color-rows{flex-direction:column;gap:16px;display:flex}.scope-color-row{align-items:center;gap:18px;display:flex}.scope-color-label{flex:none;width:130px;font-size:13px;font-weight:600}.feeds-color-settings{flex-direction:column;gap:14px;display:flex}.feeds-color-setting{cursor:pointer;align-items:center;gap:14px;display:flex}.feeds-color-setting-label{flex:none;width:130px;font-size:13px;font-weight:600}.feeds-color-setting input[type=color]{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;width:44px;height:32px;padding:2px}.scope-color-swatches{gap:8px;display:flex}.scope-color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;place-items:center;width:30px;height:30px;padding:0;display:grid}.scope-color-swatch:hover{border-color:var(--border-strong)}.scope-color-swatch.active{border-color:var(--ink);box-shadow:inset 0 0 0 2px #fff}.proposal-table-wrap{box-shadow:none;border:0;border-radius:0;margin:0 -18px -18px}.proposal-table th,.proposal-table td{padding:12px 14px}.current-pill{color:#0874c9;background:#e5f2ff;border-radius:20px;margin-left:8px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.text-button{color:var(--ink-2);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:4px 6px;font-size:12px;font-weight:600;display:flex}.text-button:hover{color:var(--ink)}.notes-content{color:var(--ink);font-size:13px;line-height:1.5}.notes-content p{margin:0 0 8px}.notes-content p:last-child{margin-bottom:0}.note-actions{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.modified{color:var(--ink-3);margin-top:12px;font-size:11px;display:block}.tracker-tabs-card{padding-bottom:4px}.tracker-tabs-card .pipeline-tabs{grid-template-columns:none;display:flex;overflow-x:auto}.tracker-tabs-card .pipeline-tab{flex:none;justify-content:center;height:36px;padding:0 14px}.tracker-tabs-card a.pipeline-tab{color:inherit;text-decoration:none}.tracker-tabs-card .tab-name{font-size:12px;font-weight:600}.tracker-tab-body{padding:20px 4px 4px}.modal.estimate-preview-modal{flex-direction:column;width:100%;max-width:min(960px,95vw);height:90vh;max-height:90vh;padding:0;display:flex;overflow:hidden}.estimate-preview-modal-header{border-bottom:1px solid var(--border);flex:none;padding:16px 20px}.estimate-preview-modal-header h2{overflow-wrap:anywhere;min-width:0;color:var(--ink,#1a1d1b);margin:0;font-size:18px}.document-preview-fallback{text-align:center;flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:12px;padding:24px 20px;display:flex}.document-preview-fallback .document-preview-fallback-name{overflow-wrap:anywhere;margin:0 0 8px;font-size:15px;font-weight:600}.document-preview-fallback .btn{text-align:center;min-width:180px;text-decoration:none}.estimate-preview-modal-body{flex-direction:column;flex:auto;min-height:0;display:flex}.estimate-preview-modal-status{flex:none;justify-content:center;height:auto;padding:20px}.estimate-preview-modal-body .builder-preview{width:100%;height:100%;min-height:0;max-height:none;box-shadow:none;border:none;border-radius:0;flex:auto;position:static;top:auto}.estimate-preview-modal-body .builder-preview-frame{flex:auto;height:100%;min-height:0}.document-preview-modal-body{padding:0}.document-preview-frame{background:#e8ebe9;border:0;flex:auto;width:100%;height:100%;min-height:0}.document-preview-error,.document-preview-loading{margin:24px 20px;font-size:13px;line-height:1.45}.document-preview-error{color:var(--red-deep,#9b1c1c)}.document-preview-modal-footer{border-top:1px solid var(--border);background:var(--page);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;font-size:12px;display:flex}.document-preview-nav{align-items:center;gap:10px;display:flex}.document-preview-counter{color:var(--muted);text-align:center;min-width:4rem;font-weight:600}.document-preview-modal-footer a{color:var(--green-dark);font-weight:600;text-decoration:none}.document-preview-modal-footer a:hover{text-decoration:underline}.tracker-overview{--tracker-overview-cols:minmax(0, 2fr) minmax(0, 2.1fr);flex-direction:column;gap:20px;display:flex}.tracker-overview .card h2{margin-bottom:14px}.tracker-warning{border-radius:var(--radius);padding:10px 14px}.tracker-warning p{margin:0;font-size:12px}.tracker-warning p+p{margin-top:6px}.tracker-stat-grid{grid-template-columns:repeat(6,minmax(0,1fr))}@media (width<=1300px){.tracker-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.commission-card h2{margin:0 0 10px}.commission-lines{flex-direction:column;gap:10px;display:flex}.commission-line{align-items:center;gap:12px;display:flex}.commission-line small{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-weight:700;display:block}.commission-line strong{font-variant-numeric:tabular-nums;font-size:18px;display:block}.commission-rate{color:var(--ink-2);font-size:11px}.commission-editor{flex-direction:column;gap:12px;min-width:0;display:flex}.commission-editor-row{align-items:center;gap:10px;min-width:0;display:flex}.commission-editor-row label{width:90px;color:var(--ink-2);flex:none;font-size:12px;font-weight:600}.commission-editor-row select,.commission-editor-row input,.commission-editor-row .commission-fixed-rate{border:1px solid var(--border-strong);background:var(--surface);border-radius:6px;flex:1 1 0;width:0;min-width:0;padding:7px 9px;font-size:13px}.commission-editor-row .commission-fixed-rate{background:var(--surface-2,var(--surface));color:var(--ink-2);text-align:center}.commission-editor-row--outside-sales input{flex:0 calc(50% - 55px);width:auto}.commission-notes{border:1px solid var(--border-strong);resize:vertical;border-radius:6px;min-height:60px;padding:8px 10px;font-family:inherit;font-size:13px}.commission-breakdown-lead{margin:0 0 14px;font-size:13px;line-height:1.45}.commission-breakdown-empty{margin:0 0 16px;font-size:14px}.commission-breakdown-table{border-collapse:collapse;width:100%;margin-bottom:16px;font-size:13px}.commission-breakdown-table th,.commission-breakdown-table td{border-bottom:1px solid var(--border);text-align:left;padding:8px 10px}.commission-breakdown-table th.num,.commission-breakdown-table td.num{text-align:right;white-space:nowrap}.commission-breakdown-table tfoot th,.commission-breakdown-table tfoot td{border-bottom:none;font-weight:600}.commission-settings-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}@media (width<=900px){.commission-settings-grid{grid-template-columns:1fr}}.commission-settings-heading{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.commission-settings-heading h3{margin:0;font-size:15px}.commission-settings-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.commission-settings-list li{grid-template-columns:1fr minmax(120px,1fr) 36px;align-items:center;gap:8px;display:grid}.commission-settings-list li select{min-width:0}.commission-settings-payee-kind{min-width:0;color:var(--ink);text-transform:uppercase;letter-spacing:.02em;align-items:center;font-size:13px;font-weight:600;display:flex}.commission-settings-list li.commission-settings-row--inactive{opacity:.55}.commission-settings-rate{text-align:right}.tracker-top-grid{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:20px;display:grid}.tracker-top-grid>.card{flex-direction:column;min-width:0;height:100%;margin-bottom:0;display:flex}.tracker-top-grid>.card .table-wrap{flex:1;min-height:0;overflow-y:auto}.tracker-mid-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.tracker-bottom-grid{grid-template-columns:minmax(0,3.45fr) minmax(240px,.8fr);align-items:start;gap:20px;display:grid}.tracker-bottom-cards{grid-template-columns:var(--tracker-overview-cols);align-items:stretch;gap:20px;min-width:0;display:grid}.tracker-bottom-cards>.card{flex-direction:column;min-width:0;height:100%;margin-bottom:0;display:flex}.tracker-bottom-cards>.card.tracker-budget-summary{min-width:min-content}.tracker-budget-summary .table-wrap{flex:1;overflow:visible}.tracker-budget-summary .tracker-table th,.tracker-budget-summary .tracker-table td{white-space:nowrap}.tracker-budget-summary .tracker-table td:not(:first-child){font-variant-numeric:tabular-nums}@media (width<=1400px){.tracker-bottom-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=1200px){.tracker-bottom-cards{grid-template-columns:minmax(0,1fr)}}.tracker-right-stack{flex-direction:column;gap:20px;min-width:0;display:flex}.tracker-hero{flex-wrap:wrap;align-items:stretch;gap:16px;margin-bottom:20px;display:flex}.tracker-identity-card{flex-direction:column;flex:0 360px;justify-content:flex-start;min-width:min(320px,100%);max-width:420px;margin-bottom:0;display:flex}.tracker-page-header-main{flex:1;min-width:0}.tracker-page-header-main .page-sub{visibility:hidden}.page-header .tracker-identity-title{margin-bottom:4px}.tracker-hero-stats{flex:560px;grid-template-rows:1fr 1fr;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;min-width:min(560px,100%);display:grid}.tracker-hero-stats .financial-card{min-width:0;padding:12px}.tracker-hero-stats .financial-card>div{min-width:0}.tracker-hero-stats .financial-card small{line-height:1.25}.tracker-commission-tile{padding-right:52px;position:relative}.tracker-stat-edit{padding:2px 8px;font-size:11px;line-height:1.3;position:absolute;top:8px;right:8px}.tracker-percent-icon{overflow:hidden}.tracker-percent-icon svg{display:block}@media (width<=1100px){.tracker-hero-stats{min-width:100%}}@media (width<=900px){.tracker-hero-stats{grid-template-rows:auto;grid-template-columns:repeat(2,minmax(0,1fr))}}.tracker-identity-title{flex-wrap:nowrap;align-items:center;gap:10px;min-width:0;display:flex}.tracker-identity-title-main{flex:auto;align-items:center;gap:10px;min-width:0;display:flex}.tracker-identity-title-main h1,.tracker-identity-title-main .page-title{letter-spacing:-.02em;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;margin:0;font-size:26px;font-weight:700;overflow:hidden}.tracker-identity-title-main .status-picker{flex:none;align-self:center;width:auto}.tracker-identity-title-main .pill{white-space:nowrap;width:auto}.tracker-identity-fields{flex-direction:column;gap:14px;display:flex}.tracker-identity-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.tracker-identity-fields>div,.tracker-identity-row>div{flex-direction:column;gap:4px;display:flex}.tracker-identity-fields span{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-weight:600}.tracker-identity-fields strong{color:var(--ink);font-size:14px;font-weight:600}.tracker-pm-badge{box-sizing:border-box;background:var(--surface);border:1px solid var(--border-strong);max-width:100%;height:32px;color:var(--ink);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:4px 10px 4px 4px;font-size:13px;font-weight:600;display:inline-flex}.tracker-pm-picker{align-self:flex-start;position:relative}.tracker-pm-picker-trigger{appearance:none;cursor:pointer;text-align:left;box-shadow:none;border:none}.tracker-pm-picker-trigger:hover{background:color-mix(in srgb, var(--ink) 6%, var(--surface))}.tracker-pm-option:hover{border-color:var(--green)}.tracker-pm-picker-trigger:focus-visible{outline:2px solid var(--green);outline-offset:2px}.tracker-pm-menu{z-index:40;background:var(--surface);border:1px solid var(--border-strong);border-radius:12px;flex-direction:column;gap:6px;min-width:100%;padding:8px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 10px 30px #1018142e}.tracker-pm-option{appearance:none;cursor:pointer;text-align:left;width:100%}.tracker-pm-option[aria-selected=true]{border-color:var(--green);background:#eef7f1}.tracker-identity-field-select{width:100%;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;margin:0;padding:0;font-size:14px;font-weight:600;display:block}.tracker-identity-field-select:hover,.tracker-identity-field-select:focus{border-color:var(--border);outline:0;padding:0 6px}.tracker-identity-gc-btn{font:inherit;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;font-weight:600}.tracker-identity-gc-btn:hover{color:var(--accent);text-decoration:underline}.gc-contacts-summary{flex-direction:column;gap:20px;display:flex}.gc-contacts-summary-firm h3{margin:0 0 12px;font-size:15px;font-weight:600}.gc-contacts-summary-roles{grid-template-columns:1fr 1fr;gap:16px;display:grid}.gc-contacts-summary-role{flex-direction:column;gap:4px;display:flex}.gc-contacts-summary-role>span{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-weight:600}.gc-contacts-summary-role strong{font-size:14px;font-weight:600}.gc-contacts-summary-role .muted{font-size:13px}.tracker-scope-list{flex-wrap:wrap;gap:10px 14px;display:flex}.tracker-identity-fields .tracker-scope-chip{letter-spacing:normal;text-transform:none;color:var(--ink);align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.tracker-status-live{color:var(--green-dark);font-size:12px;font-weight:600}.tracker-status-muted{color:var(--ink-3);font-size:12px;font-weight:600}.tracker-activity{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.tracker-activity li{align-items:flex-start;gap:10px;display:flex}.tracker-activity-dot{background:var(--green);border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px}.tracker-activity p{color:var(--ink);margin:0;font-size:13px;font-weight:500}.tracker-activity small{color:var(--ink-3);margin-top:2px;font-size:11px;display:block}.tracker-donut-row{align-items:center;gap:24px;display:flex}.tracker-legend{color:var(--ink);flex-direction:column;gap:10px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.tracker-legend strong{color:var(--ink);font-variant-numeric:tabular-nums;margin-left:4px}.tracker-legend-dot{border-radius:50%;width:10px;height:10px;margin-right:8px;display:inline-block}.tracker-legend-item{cursor:pointer;border-radius:4px;position:relative}.tracker-legend-item:hover{background:var(--page)}.pipeline-color-popover{z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 14px 30px #0f1e302e}.pipeline-color-swatches{flex-wrap:wrap;max-width:152px}.pipeline-color-swatch{width:24px;height:24px}.tracker-bar-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.tracker-bar-list li{grid-template-columns:minmax(0,1.35fr) minmax(36px,1fr) auto;align-items:center;gap:8px;font-size:12px;display:grid}.tracker-bar-label{color:var(--ink-2);font-weight:600;line-height:1.25}.tracker-bar-track{background:var(--border);border-radius:6px;min-width:40px;height:8px;overflow:hidden}.tracker-bar-fill{border-radius:6px;height:100%;display:block}.tracker-bar-metrics{white-space:nowrap;justify-content:flex-end;align-items:baseline;gap:8px;display:flex}.tracker-bar-value{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.tracker-bar-pct{text-align:right;font-variant-numeric:tabular-nums;min-width:2.4em;color:var(--ink-2)}.tracker-bar-track-empty{background:0 0}.tracker-bar-total{border-top:1px solid var(--border);padding-top:4px}.tracker-bar-total .tracker-bar-label,.tracker-bar-total .tracker-bar-value,.tracker-bar-total .tracker-bar-pct{color:var(--ink);font-weight:700}.tracker-table{border-collapse:separate;border-spacing:0;width:100%}.tracker-table th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--border);white-space:nowrap;background:#fbfcfb;padding:10px 12px;font-size:10px;font-weight:700}.tracker-table th.sortable{padding:0}.tracker-table th.sortable button{width:100%;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:6px;margin:0;padding:10px 12px;display:inline-flex}.tracker-table th.sortable button:hover{color:var(--ink)}.tracker-table th.sortable button:focus-visible{outline:2px solid var(--green);outline-offset:-2px}.tracker-table .sort-icon{color:var(--green-dark);flex-shrink:0}.tracker-table .sort-icon-idle{color:var(--ink-3);opacity:.55}.tracker-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 12px;font-size:13px}.tracker-table tbody tr:last-child td{border-bottom:0}.tracker-table tfoot td{border-top:2px solid var(--border-strong);padding:10px 12px;font-size:13px;font-weight:700}.tracker-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.tracker-table-commitments th.num,.tracker-table-commitments td.num,.tracker-table-commitments th.col-fit,.tracker-table-commitments td.col-fit,.tracker-table-commitments th.pct,.tracker-table-commitments td.pct{white-space:nowrap;width:1%}.tracker-table-commitments thead th.num{text-align:left}.tracker-table-commitments th.pct,.tracker-table-commitments td.pct{text-align:left;padding-left:20px;padding-right:16px}:is(.tracker-table-commitments td.num:has(+.pct),.tracker-table-commitments th.num:has(+.pct)){padding-right:20px}.tracker-table-commitments tbody tr.tracker-commitment-row{cursor:pointer}.tracker-table-commitments tbody tr.tracker-commitment-row:hover{background:var(--page)}.tracker-table-commitments .btn-danger{color:#000;background:0 0;border:none}.tracker-table-commitments .btn-danger:hover{background:var(--danger-soft);border:none}.tracker-variance-bad{color:var(--danger);font-weight:600}.tracker-variance-good{color:var(--green-dark);font-weight:600}.milestone-pick-list{flex-direction:column;gap:8px;max-height:280px;margin:0 0 16px;padding:0;list-style:none;display:flex;overflow-y:auto}.milestone-pick-list label{cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:6px 8px;font-size:14px;display:flex}.milestone-pick-list label:hover:not(.is-disabled){background:var(--page)}.milestone-pick-list label.is-disabled{opacity:.5;cursor:not-allowed}.milestone-pick-list input[type=checkbox]{flex-shrink:0;width:16px;height:16px;margin:0}.tracker-step.is-dragging{opacity:.4}.tracker-step-dot.is-draggable{cursor:grab}.tracker-step-dot.is-draggable:active{cursor:grabbing}.tracker-stepper{align-items:flex-start;gap:0;padding:8px 4px 4px;display:flex;overflow-x:auto}.tracker-step{text-align:center;flex-direction:column;flex:1 1 0;align-items:center;gap:6px;min-width:120px;display:flex}.tracker-step-track{justify-content:center;align-items:center;width:100%;height:28px;display:flex}.tracker-step-rail{background:var(--border-strong);flex:1;height:2px}.tracker-step.complete .tracker-step-rail{background:var(--green)}.tracker-step:first-child .tracker-step-rail:first-child,.tracker-step:last-child .tracker-step-rail:last-child{visibility:hidden}.tracker-step-dot{appearance:none;border:2px solid var(--ink-3);background:var(--surface);cursor:pointer;width:24px;height:24px;color:var(--ink-3);border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.tracker-step-dot:disabled{cursor:default}.tracker-step.complete .tracker-step-dot{border-color:var(--green);background:var(--green);color:#fff}.tracker-step-dot-check{stroke-width:3px;width:14px;height:14px}.tracker-step strong{color:var(--ink);font-size:13px}.tracker-step>span{color:var(--ink-3);font-size:11px}.tracker-step-status{letter-spacing:.04em;text-transform:uppercase;font-weight:700;font-size:10px!important}.tracker-step.complete .tracker-step-status{color:var(--green-dark)!important}.tracker-add-block{margin-bottom:16px}.tracker-add-block .tracker-add-row{margin-bottom:10px}.tracker-add-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.tracker-billing-form .tracker-add-row:last-child{margin-bottom:20px}.tracker-add-row input:not([type=radio]):not([type=checkbox]),.tracker-add-row select{border:1px solid var(--border-strong);background:var(--surface);border-radius:6px;flex:1;min-width:100px;padding:7px 9px;font-size:13px}.tracker-document-file-input{display:none}.tracker-document-pending{min-width:0;max-width:220px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;font-size:13px;overflow:hidden}.tracker-document-pending.is-empty{color:var(--ink-3)}.tracker-document-error{color:var(--danger);margin:0 0 12px;font-size:13px}.tracker-document-list li{justify-content:flex-start;align-items:center;gap:12px;display:flex}.tracker-document-list a,.tracker-document-link{color:var(--green-dark);cursor:pointer;font-family:inherit;font-weight:600;font-size:inherit;background:0 0;border:0;align-items:center;gap:6px;padding:0;text-decoration:none;display:inline-flex}.tracker-document-list a:hover,.tracker-document-link:hover{text-decoration:underline}.tracker-document-date{color:var(--ink-3);font-size:11px}.tracker-document-list .btn-danger{color:var(--ink);background:0 0;border:none}.tracker-document-list .btn-danger:hover{color:var(--ink);background:#f7f9f8;border:none}.tracker-note-composer{align-items:flex-start;gap:10px;margin-bottom:16px;display:flex}.tracker-note-composer textarea{border:1px solid var(--border-strong);resize:vertical;border-radius:6px;flex:1;min-height:44px;padding:8px 10px;font-family:inherit;font-size:13px}.tracker-note-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.tracker-note-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:12px;display:flex}.tracker-note-list li>div{flex:1;min-width:0}.tracker-note-list li:last-child{border-bottom:0;padding-bottom:0}.tracker-note-list p{margin:0 0 4px;font-size:13px}.tracker-note-list span{color:var(--ink-3);font-size:11px}.cost-entry-card,.cost-entry-card .table-wrap{overflow:visible}.cost-entry-grid{min-width:1000px}.cost-entry-grid select,.cost-entry-grid input{border:1px solid var(--border-strong);background:var(--surface);border-radius:6px;width:100%;min-width:90px;padding:7px 8px;font-size:13px}.cost-entry-footer{align-items:center;gap:20px;margin-top:14px;display:flex}.cost-entry-total{color:var(--ink-2);margin-left:auto;font-size:13px}.cost-entry-total strong{font-variant-numeric:tabular-nums;color:var(--ink);margin-left:8px;font-size:17px}.cost-entry-recent-editable{cursor:pointer}.cost-entry-recent-editable:hover{text-underline-offset:2px;text-decoration:underline}.cost-entry-delete-btn{color:var(--ink-3)}.cost-entry-delete-btn:hover{color:var(--danger)}.follow-up-alerts{gap:10px;margin-bottom:18px;display:grid}.dashboard-follow-up-card{margin-bottom:0}.dashboard-pipeline-column{flex-direction:column;gap:20px;min-width:0;display:flex}.dashboard-pipeline-column>.card{margin-bottom:0}.dashboard-follow-up-list{margin:0;padding:0;list-style:none}.dashboard-follow-up-item{border:none;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:10px 2px 10px 0;display:flex}.dashboard-follow-up-label{align-items:center;gap:6px;min-width:0;display:inline-flex}.dashboard-follow-up-bullet{color:var(--ink);flex-shrink:0;font-weight:700}.dashboard-follow-up-item:last-child{border-bottom:none}.dashboard-follow-up-item:hover{background:var(--page)}.dashboard-follow-up-label strong{min-width:0;color:var(--ink);font-size:14px;font-weight:600}.dashboard-follow-up-stage{color:var(--ink-2);white-space:nowrap;font-size:12px;font-weight:500}.dashboard-follow-up-item>span:not(.dashboard-follow-up-label){color:var(--ink-3);flex-shrink:0;font-size:12px}.dashboard-follow-up-item>span.is-follow-up-overdue{color:var(--danger)}.follow-up-alert-card{text-align:left;background:var(--surface);border:1px solid var(--border);cursor:pointer;border-left:4px solid #0969da;border-radius:10px;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:14px 16px;display:flex}.follow-up-alert-card:hover{border-color:#0969da}.follow-up-alert-card strong{font-size:15px}.follow-up-alert-card span{color:var(--ink-2);font-size:13px}.follow-up-quick-row{flex-wrap:wrap;gap:8px;display:flex}.follow-up-draft-modal{max-width:560px}.follow-up-modal-actions{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.follow-up-modal-actions-left{flex-wrap:nowrap;align-items:center;gap:8px;min-width:0;display:flex}.follow-up-modal-actions-secondary{align-items:center;gap:8px;margin-top:8px;display:flex}.follow-up-draft-body{resize:vertical;width:100%;min-height:180px}.follow-up-template-body{resize:vertical;width:100%;min-height:140px}.email-template-block+.email-template-block{border-top:2px solid var(--green-dark);margin-top:28px;padding-top:28px}.email-template-block .panel-heading h2{font-size:17px;font-weight:600}.settings-flash{color:var(--ink-2);margin:0 0 12px;font-size:13px}.settings-flash.ok{color:var(--green-dark)}.settings-outlook-actions{justify-content:flex-start}.settings-flash.err{color:var(--danger)}.dashboard-header p{color:var(--ink-2);margin:4px 0 0;font-size:13px}.dashboard-header{align-items:center}.dashboard-header-actions{position:relative}.dashboard-search-container{width:320px;position:relative}.dashboard-search-input-box{background:var(--surface);border:1px solid var(--border-strong);height:40px;color:var(--ink-3);border-radius:8px;align-items:center;gap:8px;padding:0 12px;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:0 1px 2px #0000000a}.dashboard-search-input-box:focus-within{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.dashboard-search-icon{color:var(--ink-3);flex-shrink:0}.dashboard-search-input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-family:inherit;font-size:13px}.dashboard-search-input::placeholder{color:var(--ink-3);opacity:.85}.dashboard-search-clear-btn{appearance:none;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;margin:0 -4px 0 0;padding:2px;transition:color .12s,background .12s;display:inline-flex}.dashboard-search-clear-btn:hover{color:var(--ink);background:var(--page)}.dashboard-search-dropdown{background:var(--surface);border:1px solid var(--border-strong);z-index:60;border-radius:10px;flex-direction:column;width:440px;max-width:90vw;max-height:400px;display:flex;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 12px 32px #1018142e}.dashboard-search-header{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);background:var(--page);border-bottom:1px solid var(--border);z-index:2;padding:8px 14px;font-size:11px;font-weight:600;position:sticky;top:0}.dashboard-search-list{margin:0;padding:0;list-style:none}.dashboard-search-item{cursor:pointer;border-bottom:1px solid var(--border);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;transition:background .1s;display:flex}.dashboard-search-item:last-child{border-bottom:0}.dashboard-search-item:hover,.dashboard-search-item.is-selected{background:#f0f7f3}.dashboard-search-item-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.dashboard-search-item-title-row{align-items:center;gap:8px;min-width:0;display:flex}.dashboard-search-item-title{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.dashboard-search-item-number{color:var(--ink-2);background:var(--page);border:1px solid var(--border);border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:11px;font-weight:500}.dashboard-search-item-meta{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.dashboard-search-item-stub{color:var(--ink-3);font-style:italic}.dashboard-search-item-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.dashboard-search-item-pill{white-space:nowrap;border:1px solid;border-radius:12px;padding:2px 8px;font-size:11px;font-weight:600}.dashboard-search-item-arrow{color:var(--ink-3);transition:transform .15s,color .15s}.dashboard-search-item:hover .dashboard-search-item-arrow,.dashboard-search-item.is-selected .dashboard-search-item-arrow{color:var(--green);transform:translate(2px)}.dashboard-search-empty{text-align:center;color:var(--ink-2);padding:24px 16px;font-size:13px}@media (width<=768px){.dashboard-header{flex-direction:column;align-items:stretch;gap:16px}.dashboard-search-container{width:100%}.dashboard-search-dropdown{width:100%;max-width:100%;left:0;right:0}}.dashboard-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}@media (width<=1100px){.dashboard-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.dashboard-stats-grid .financial-card{flex-direction:column;align-items:flex-start;gap:10px}.dashboard-stats-grid .finance-icon{margin-bottom:2px}.dashboard-card-link{appearance:none;color:var(--green-dark);cursor:pointer;background:0 0;border:none;margin-top:6px;padding:0;font-size:12px;font-weight:600;display:block}.dashboard-card-link:hover{text-decoration:underline}.dashboard-full-width-link{text-align:center;width:100%;margin-top:14px}.dashboard-sub-stat{color:var(--ink-2);margin-top:4px;font-size:12px;display:block}.dashboard-sub-stat.is-positive{color:var(--green);font-weight:600}.dashboard-sold-card strong{font-size:22px}.dashboard-mid-grid{margin-bottom:20px}.dashboard-assigned-stack{flex-direction:column;gap:20px;min-width:0;display:flex}.dashboard-row{cursor:pointer}.dashboard-row:hover{background:var(--page)}.dashboard-row .is-due-soon{color:var(--danger)}.dashboard-showing{color:var(--ink-3);text-align:center;margin:10px 2px 0;font-size:12px}.dashboard-planner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.dashboard-planner-item{border:1px solid var(--border);border-radius:var(--radius);text-align:center;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;display:flex}.dashboard-planner-item small{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-weight:700}.dashboard-planner-item strong{font-variant-numeric:tabular-nums;font-size:22px}.dashboard-planner-item span{color:var(--ink-2);font-size:11px}.finance-icon.red{background:var(--danger)}.financial-card--danger-stat small,.financial-card--danger-stat strong{color:var(--danger)}.financial-card--success-stat small,.financial-card--success-stat strong{color:var(--green)}.reports-filter{border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);border-radius:8px;padding:9px 12px;font-size:13px}.reports-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.reports-stat-grid .financial-card{padding:36px 16px}@media (width<=1000px){.reports-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.reports-mid-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}.reports-mid-grid>.card{flex-direction:column;margin-bottom:0;display:flex}.reports-rollup-name-btn,.reports-rollup-job-link{font:inherit;color:var(--link);text-align:left;cursor:pointer;background:0 0;border:none;margin:0;padding:0;text-decoration:none;display:inline}.reports-rollup-job-link{text-underline-offset:2px;text-decoration:underline}.reports-rollup-name-btn:hover,.reports-rollup-job-link:hover{color:var(--link-hover,var(--link))}.reports-rollup-name-btn:focus-visible,.reports-rollup-job-link:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:2px}.reports-chart-row>.card{min-height:360px}.reports-stat-card--resettable{padding-right:52px;position:relative}.reports-stat-reset{padding:2px 8px;font-size:11px;line-height:1.3;position:absolute;top:8px;right:8px}.reports-funnel-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:20px;display:grid}@media (width<=1100px){.reports-funnel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.reports-mini-stat{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:20px 16px 22px}.reports-mini-stat strong{font-size:28px}.reports-mini-donut{place-items:center;display:grid;position:relative}.reports-mini-donut-icon{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.reports-donut-wrap{flex:none;place-items:center;display:grid;position:relative}.reports-donut-center{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.reports-donut-center strong{font-variant-numeric:tabular-nums;color:var(--ink);font-size:16px}.reports-donut-center span{color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;font-size:10px}.reports-pipeline-card,.reports-trend-card{padding:22px 24px 26px}.reports-pipeline-card .tracker-donut-row{flex:1;gap:32px;min-height:300px}.reports-pipeline-donut .reports-donut-center strong{font-size:26px}.reports-pipeline-donut .reports-donut-center span{font-size:11px}.reports-trend-card .line-chart,.reports-trend-card .bar-chart{flex:1;min-height:0}.reports-trend-card .line-chart svg,.reports-trend-card .bar-chart svg{flex:auto;width:100%;min-height:248px}.reports-note{color:var(--ink-3);align-items:center;gap:6px;margin:20px 0 0;font-size:12px;display:flex}.line-chart,.bar-chart{flex-direction:column;gap:6px;display:flex}.line-chart-values,.line-chart-labels{color:var(--ink-3);justify-content:space-between;font-size:11px;display:flex}.line-chart-values span{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700}.bar-chart .line-chart-values,.bar-chart .line-chart-labels{grid-template-columns:repeat(var(--chart-cols,1), minmax(0, 1fr));justify-content:unset;display:grid}.bar-chart .line-chart-values span,.bar-chart .line-chart-labels span{text-align:center}.gsr-person-badge{box-sizing:border-box;background:var(--surface);border:1px solid var(--border-strong);height:36px;color:var(--ink);white-space:nowrap;border-radius:8px;align-items:center;gap:8px;padding:5px 12px 5px 5px;font-size:13px;font-weight:600;display:flex}.gsr-week-picker-trigger{padding:5px 14px}.gsr-week-picker-static{cursor:default}.gsr-person-picker-trigger:hover,.gsr-person-option:hover{border-color:var(--green)}.dashboard-header .header-actions .btn{box-sizing:border-box;border-radius:8px;height:36px}.gsr-person-picker{flex-shrink:0;position:relative}.gsr-person-picker-trigger{appearance:none;cursor:pointer}.gsr-person-menu{z-index:40;background:var(--surface);border:1px solid var(--border-strong);border-radius:12px;flex-direction:column;gap:6px;min-width:100%;padding:8px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 30px #1018142e}.gsr-person-option{appearance:none;cursor:pointer;text-align:left;width:100%}.gsr-person-option[aria-selected=true]{border-color:var(--green);background:#eef7f1}.gsr-week-picker-trigger[data-status=submitted],.gsr-person-option[data-status=submitted],.gsr-person-option[data-status=submitted][aria-selected=true]{color:var(--danger);background:var(--danger-soft);border-color:var(--danger)}.gsr-status-badge{box-sizing:border-box;border:1px solid var(--border-strong);letter-spacing:.02em;white-space:nowrap;border-radius:8px;align-items:center;height:36px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.gsr-status-badge[data-status=building]{color:var(--ink-2);background:var(--surface)}.gsr-status-badge[data-status=submitted]{color:#9a6700;background:#fff8c5;border-color:#d4a72c}.gsr-status-badge[data-status=approved]{color:#0e7a43;border-color:var(--green);background:#eef7f1}.gsr-stats-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}@media (width<=1300px){.gsr-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=850px){.gsr-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.gsr-stat-card{flex-direction:column;justify-content:space-between;gap:12px;display:flex}.gsr-stat-header{align-items:flex-start;gap:10px;display:flex}.gsr-stat-sublabel{color:var(--ink-3);margin-top:1px;font-size:11px;display:block}.gsr-stat-footer{border-top:1px solid var(--border);color:var(--ink-2);justify-content:space-between;align-items:center;width:100%;padding-top:8px;font-size:11px;display:flex}.gsr-stat-footer strong{color:var(--ink);font-size:12px;font-weight:700;display:inline}.gsr-progress-card{grid-column:span 2;flex-direction:row!important;align-items:center!important;gap:18px!important}.gsr-progress-card strong{white-space:nowrap}.gsr-progress-ring{justify-content:center;align-items:center;display:flex;position:relative}.gsr-progress-ring-label{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.gsr-progress-ring-label strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.gsr-progress-ring-label small{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-weight:700}.gsr-lists-grid{grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch}@media (width<=1200px){.gsr-lists-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.gsr-lists-grid>.card{flex-direction:column;min-width:0;height:100%;margin-bottom:0;display:flex}.gsr-lists-grid .panel-heading{flex-shrink:0}.gsr-list-card{flex-direction:column;min-height:220px;display:flex}.gsr-lists-grid .gsr-item-list,.gsr-lists-grid .gsr-list-card>.stub{flex:1;min-height:0;overflow-y:auto}.gsr-list-card .panel-heading h2{align-items:center;gap:6px;font-size:14px;display:flex}.gsr-list-count{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.gsr-item-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.gsr-item{border:1px solid var(--border);background:var(--surface);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.gsr-item.is-completed .gsr-item-label{color:var(--ink-3);text-decoration:line-through}.gsr-item-check{cursor:pointer;flex:1;align-items:flex-start;gap:8px;display:flex}.gsr-item-check input[type=checkbox]{margin-top:3px}.gsr-item-body{flex-direction:column;flex:1;gap:2px;display:flex}.gsr-item-label{color:var(--ink);overflow-wrap:anywhere;font-size:13px;font-weight:600;line-height:1.35}.gsr-item-meta{color:var(--ink-3);font-size:11px}.gsr-item-meta.is-due-soon{color:var(--danger)}.gsr-prose-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.gsr-prose-label{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);margin:10px 0 4px;font-size:11px;font-weight:700;display:block}.gsr-textarea{border:1px solid var(--border);background:var(--surface);width:100%;min-height:160px;color:var(--ink);font:inherit;resize:vertical;border-radius:8px;padding:10px 12px}.gsr-textarea-sm{min-height:60px}.gsr-prose-readout{white-space:pre-wrap;color:var(--ink);font:inherit;margin:0;line-height:1.45}.gsr-builder-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.gsr-builder-grid .gsr-list-card{min-height:280px;max-height:min(440px,52vh);margin-bottom:0;overflow:hidden}.gsr-builder-grid .gsr-list-card .panel-heading,.gsr-builder-grid .gsr-list-card>.stub{flex-shrink:0}.gsr-builder-grid .gsr-item-list{overscroll-behavior:contain;flex:1;min-height:0;padding-bottom:8px;scroll-padding-bottom:8px;overflow-y:auto}@media (width<=1000px){.gsr-builder-grid{grid-template-columns:1fr}}.gsr-builder-manual-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:20px}.gsr-event-form{flex-direction:column;gap:10px;display:flex}.gsr-event-field{color:var(--ink-2);flex-direction:column;gap:4px;font-size:12px;display:flex}.gsr-event-times{gap:10px;display:flex}.gsr-event-times .gsr-event-field{flex:1}.gsr-event-calendars{flex-direction:column;gap:6px;font-size:13px;display:flex}.gsr-event-calendars-label{color:var(--ink-2);font-weight:600}.gsr-event-cal-option{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.gsr-event-chips{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.gsr-event-chips-doc{vertical-align:middle;margin-left:6px;display:inline-flex}.gsr-event-chip{padding:2px 8px;font-size:11px}.gsr-event-chip-failed{cursor:pointer;color:#9b1c1c;background:#fde8e8;border:none}.gsr-doc-events-slot{margin-top:20px}.gsr-manual-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.gsr-manual-row input{border:1px solid var(--border);background:var(--surface);color:var(--ink);font:inherit;border-radius:8px;flex:180px;padding:8px 10px}.gsr-edit-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:-4px 0 16px;display:flex}.gsr-tabs-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;margin-bottom:18px;display:flex}.gsr-tabs-row .gsr-tabs{border-bottom:none;margin-bottom:0}.gsr-tabs{border-bottom:1px solid var(--border);gap:0;margin-bottom:18px;display:flex}.gsr-tab{appearance:none;height:40px;color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:0 16px;font-size:13px;font-weight:600}.gsr-tab:hover{color:var(--ink)}.gsr-tab.active{color:var(--green-dark);border-bottom-color:var(--green)}.gsr-board-week-tabs{width:fit-content;margin:0 0 16px}.gsr-stub-card{text-align:center;max-width:520px;margin:24px auto;padding:40px 28px}.gsr-stub-card h2{margin:0 0 8px}.gsr-doc-mat{background:#e8ebe9;border-radius:12px;padding:24px 16px 40px}.gsr-doc-page{color:#111827;background:#fff;border:1px solid #d1d5db;max-width:816px;margin:0 auto;padding:36px 40px 48px;box-shadow:0 8px 28px #1018141f}.gsr-doc-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin:0 0 6px;font-size:11px;font-weight:700}.gsr-doc-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.gsr-doc-header h1{color:var(--green-deep);margin:0;font-size:26px;font-weight:700}.gsr-doc-week{color:#4b5563;margin:6px 0 0;font-size:13px}.gsr-doc-status{letter-spacing:.04em;text-transform:uppercase;color:#4b5563;border:1px solid #d1d5db;flex-shrink:0;padding:6px 10px;font-size:11px;font-weight:700}.gsr-doc-status[data-status=submitted]{color:#9a6700;background:#fff8c5;border-color:#d4a72c}.gsr-doc-status[data-status=approved]{color:var(--green-deep);background:var(--green-soft);border-color:var(--green)}.gsr-doc-rule{background:var(--green);height:2px;margin:16px 0 22px}.gsr-doc-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px;display:grid}.gsr-doc-stats>div{padding:12px 14px}.gsr-doc-stats span{letter-spacing:.08em;text-transform:uppercase;color:#111827;font-size:10px;font-weight:700;display:block}.gsr-doc-stats strong{color:#111827;margin-top:4px;font-size:20px;display:block}.gsr-doc-stats .gsr-doc-stat-overdue strong{color:#b91c1c}.gsr-doc-stat-value.is-positive strong{color:var(--green)}.gsr-doc-stat-value{text-align:center;background:#fff;border:none;flex-direction:column;justify-content:center;align-items:center;min-height:130px;display:flex}.gsr-doc-stat-value span{color:#111827;width:100%}.gsr-doc-stat-value strong{text-align:center;flex:1;justify-content:center;align-items:center;width:100%;margin-top:0;font-size:76px;font-weight:700;line-height:1;display:flex}.gsr-doc-stat-value small{width:100%}.gsr-doc-stats small{color:#4b5563;margin-top:2px;font-size:11px;display:block}.gsr-doc-stat-progress{background:#fff;border:none;flex-direction:column;align-items:center;display:flex}.gsr-doc-stat-progress>span{text-align:center;color:#111827;width:100%}.gsr-doc-stat-progress .gsr-progress-ring{align-self:center;width:96px;height:96px;margin:6px 0 4px;position:relative}.gsr-doc-stat-progress .gsr-progress-ring-label strong{margin-top:0;font-size:16px;line-height:1;display:block}.gsr-doc-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:8px;display:grid}.gsr-doc-section{margin-top:18px}.gsr-doc-section-head{border-bottom:1px solid var(--green);justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px;padding-bottom:6px;display:flex}.gsr-doc-section-head h2{letter-spacing:.1em;text-transform:uppercase;color:var(--green);margin:0;font-size:12px;font-weight:700}.gsr-doc-section-head span{color:#4b5563;font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.gsr-doc-empty{color:#4b5563;margin:0;font-size:13px;font-style:italic}.gsr-doc-list{margin:0;padding:0;list-style:none}.gsr-doc-list li{border-bottom:1px solid #d1d5db;align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.gsr-doc-list li:nth-child(2n){background:#f3f4f6}.gsr-doc-list li.is-completed .gsr-doc-item-label{color:#4b5563;text-decoration:line-through}.gsr-doc-check{text-align:center;width:16px;color:var(--green);flex-shrink:0;font-weight:700}.gsr-doc-item-body{flex-direction:column;gap:2px;min-width:0;display:flex}.gsr-doc-item-label{font-size:13px;font-weight:600}.gsr-doc-meta{color:#4b5563;font-size:11px}.gsr-doc-meta.is-due-soon{color:#b91c1c}.gsr-doc-prose-block+.gsr-doc-prose-block{margin-top:12px}.gsr-doc-prose-label{letter-spacing:.06em;text-transform:uppercase;color:#4b5563;margin-bottom:4px;font-size:11px;font-weight:700;display:block}.gsr-doc-prose{white-space:pre-wrap;margin:0;font-size:13px;line-height:1.5}.gsr-doc-textarea{color:#111827;width:100%;min-height:88px;font:inherit;resize:vertical;background:#fff;border:1px solid #d1d5db;padding:8px 10px;font-size:13px;line-height:1.45}@media (width<=800px){.gsr-doc-stats,.gsr-doc-grid{grid-template-columns:1fr}.gsr-doc-page{padding:24px 18px 32px}}.job-name-with-notes{align-items:center;gap:8px;min-width:0;display:flex}.job-name-with-notes strong{min-width:0;margin-bottom:0;display:block}.estimate-table .job-name-with-notes strong{margin-bottom:0}.job-header-title-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.job-title-wrapper{vertical-align:middle;align-items:center;display:inline-grid}.job-title-wrapper:after,.job-title-wrapper .job-title-input{width:auto;min-width:1ch;font-family:inherit;font-size:24px;font-weight:700;line-height:inherit;box-sizing:content-box;grid-area:1/2;margin:0;padding:4px 6px}.job-title-wrapper:after{content:attr(data-value) " ";visibility:hidden;white-space:pre}.job-title-wrapper .job-title-input{color:#fff;background:0 0;border:1px solid #0000;border-radius:6px;width:100%}.job-title-wrapper .job-title-input:hover{border-color:#ffffff4d}.job-title-wrapper .job-title-input:focus{border-color:var(--pick-br);background:var(--surface);color:var(--ink);outline:0}.job-header-title-row .page-title,.job-header-title-row h1{flex:1;min-width:0;margin:0}.tracker-identity-title .job-notes-btn{flex:none}.tracker-identity-title-actions{flex:none;align-items:center;gap:8px;margin-left:auto;padding-left:4px;display:flex}.tracker-identity-title-actions .icon-button-danger{color:var(--ink)}.job-notes-btn{width:32px;height:32px;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.job-notes-btn svg{fill:none;stroke:currentColor}.job-notes-btn:hover,.job-notes-btn.is-open{color:var(--ink);background:var(--page);border:none}.job-notes-btn.on-dark{color:#fff;background:#ffffff1a;border-color:#ffffff47}.job-notes-btn.on-dark:hover,.job-notes-btn.on-dark.is-open{color:#fff;background:#ffffff2e;border-color:#fff}.job-notes-active,.job-notes-unread{pointer-events:none;border-radius:50%;width:8px;height:8px;position:absolute;top:3px;right:3px}.job-notes-active{background:var(--green-deep,#0d543a)}.job-notes-unread{background:var(--danger)}.job-notes-btn.on-dark .job-notes-active{background:#fff}.job-notes-anchor{flex:none;position:relative}.job-notes-card{background:var(--surface);min-width:320px;min-height:200px;color:var(--ink);border:1px solid var(--border);z-index:50;border-radius:10px;flex-direction:column;padding:16px 16px 12px;display:flex;position:fixed;top:0;left:0;overflow:hidden;box-shadow:0 12px 40px #00000038}.job-notes-panel-header{touch-action:none;-webkit-user-select:none;user-select:none;cursor:default;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.job-notes-resize-handle{z-index:3;cursor:default;touch-action:none;width:22px;height:22px;position:absolute;bottom:0;right:0}.job-notes-resize-handle:after{content:"";border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);opacity:.7;width:8px;height:8px;position:absolute;bottom:4px;right:4px}.job-notes-panel-header h2{margin:0;font-size:18px}.job-notes-panel-header p{color:var(--ink-3);margin:4px 0 0;font-size:12px;line-height:1.35}.job-notes-close{width:32px;height:32px;color:var(--ink-2);cursor:pointer;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;margin-left:auto;padding:0}.job-notes-close:hover{background:var(--page);color:var(--ink)}.job-notes-composer{border:1px solid var(--ink);background:var(--surface);border-radius:10px;margin-bottom:16px;padding:10px 12px 8px;position:relative}.job-notes-composer.is-compact{background:0 0;border:0;align-items:flex-start;gap:8px;margin:0;padding:8px 0 0;display:flex}.job-notes-composer-main{flex:1;min-width:0;position:relative}.job-notes-composer textarea{resize:vertical;width:100%;min-height:64px;color:var(--ink);font:inherit;background:0 0;border:0;padding:0;font-size:13px}.job-notes-composer.is-compact textarea{border:1px solid var(--ink);resize:none;background:0 0;border-radius:8px;min-height:36px;padding:8px 10px}.job-notes-composer textarea:focus{outline:0}.job-notes-composer-tools{align-items:center;gap:4px;margin-top:8px;display:flex}.job-notes-composer-tools .spacer{flex:1}.job-notes-composer-tools button:not(.btn){width:28px;height:28px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0}.job-notes-composer-tools button:not(.btn):hover:not(:disabled){background:var(--page);color:var(--ink)}.job-notes-composer-tools button:disabled{opacity:.4;cursor:default}.job-notes-emoji-wrap{position:relative}.job-notes-emoji-menu{background:var(--surface);border:1px solid var(--border);z-index:2;border-radius:8px;gap:2px;padding:6px;display:flex;position:absolute;bottom:32px;left:0;box-shadow:0 8px 24px #0000001f}.job-notes-emoji-menu button{font-size:16px;width:28px!important}.job-notes-mention-menu{background:var(--surface);border:1px solid var(--border);z-index:3;border-radius:8px;margin:4px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 8px 24px #0000001f}.job-notes-mention-menu button{cursor:pointer;width:100%;font:inherit;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.job-notes-mention-menu button:hover{background:var(--green-soft)}.job-notes-feed{flex-direction:column;flex:1;gap:18px;min-height:0;display:flex;overflow:auto}.job-notes-thread{padding-bottom:0}.job-notes-thread:last-child{border-bottom:0}.job-notes-thread>.job-notes-post{border:1px solid var(--green);background:#e8ebe9;border-radius:10px;padding:12px}.job-notes-post{align-items:flex-start;gap:10px;display:flex}.job-notes-post>.avatar{width:32px;height:32px;font-size:11px}.job-notes-post-main{flex:1;min-width:0}.job-notes-post-main header{align-items:baseline;gap:8px;display:flex}.job-notes-post-main header strong{font-size:13px}.job-notes-post-main header time{color:var(--ink-3);font-size:12px}.job-notes-body{white-space:pre-wrap;margin:4px 0 6px;font-size:13px;line-height:1.45}.job-notes-mention{color:#2563eb;font-weight:600}.job-notes-post-actions{gap:12px;display:flex}.job-notes-post-actions button{color:var(--ink-2);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;font-size:12px;font-weight:600;display:inline-flex}.job-notes-post-actions button:hover{color:var(--ink)}.job-notes-post-actions button.is-liked{color:var(--warning)}.job-notes-post-actions button.is-disliked{color:var(--danger)}.job-notes-post-actions button.is-laughed{color:#7c3aed}.job-notes-replies{border-left:2px solid var(--border);flex-direction:column;gap:12px;margin-top:12px;padding-left:12px;display:flex}.job-notes-replies .avatar{width:26px;height:26px;font-size:10px}.message-composer{border:1px solid var(--ink);background:var(--surface);border-radius:10px;margin-bottom:16px;padding:10px 12px 8px;position:relative}.message-composer.is-compact{background:0 0;border:0;margin:0;padding:8px 0 0}.message-composer-compact-row{align-items:center;gap:8px;display:flex}.message-composer-compact-field,.message-composer-main{flex:1;min-width:0;position:relative}.message-composer textarea{resize:vertical;width:100%;min-height:64px;color:var(--ink);font:inherit;background:0 0;border:0;padding:0;font-size:13px}.message-composer.is-compact textarea{border:1px solid var(--ink);resize:none;background:0 0;border-radius:8px;min-height:36px;padding:8px 10px}.job-feed-thread .message-composer.is-compact textarea,.feeds-card-posts .message-composer.is-compact textarea,.job-notes-thread .message-composer.is-compact textarea,.subm-thread .message-composer.is-compact textarea{background:var(--surface)}.message-composer textarea:focus{outline:0}.message-composer-tools{align-items:center;gap:4px;margin-top:8px;display:flex}.message-composer-tools .spacer{flex:1}.message-composer-tools button:not(.btn){width:28px;height:28px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0}.message-composer-tools button:not(.btn):hover:not(:disabled){background:var(--page);color:var(--ink)}.message-composer-tools button:disabled{opacity:.4;cursor:default}.message-emoji-wrap{position:relative}.message-emoji-menu{background:var(--surface);border:1px solid var(--border);z-index:2;border-radius:8px;gap:2px;padding:6px;display:flex;position:absolute;bottom:32px;left:0;box-shadow:0 8px 24px #0000001f}.message-emoji-menu button{font-size:16px;width:28px!important}.message-mention-menu{background:var(--surface);border:1px solid var(--border);z-index:3;border-radius:8px;margin:4px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 8px 24px #0000001f}.message-mention-menu button{cursor:pointer;width:100%;font:inherit;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.message-mention-menu button:hover{background:var(--green-soft)}.message-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 6px;font-size:15px;line-height:1.5}.message-mention{color:#2563eb;font-weight:600}.message-post{align-items:flex-start;gap:10px;display:flex}.message-post-main{flex:1;min-width:0}.message-post-main header{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.message-post-main header strong{font-size:13px}.message-post-edited{color:var(--ink-2);font-size:11px;font-weight:600}.message-post-actions{gap:12px;display:flex}.message-post-actions button{color:var(--ink-2);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;font-size:12px;font-weight:600;display:inline-flex}.message-post-actions button:hover{color:var(--ink)}.message-post-actions button.is-liked{color:var(--warning)}.message-post-actions button.is-disliked{color:var(--danger)}.message-post-actions button.is-laughed{color:#7c3aed}.message-post-translation-note{color:var(--ink-2);align-items:center;gap:8px;margin:-2px 0 6px;font-size:11px;display:flex}.message-post-translation-note span{font-style:italic}.message-post-translation-note button{color:var(--ink-2);cursor:pointer;background:0 0;border:0;padding:0;font-size:11px;font-weight:600;text-decoration:underline}.message-post-translation-note button:hover{color:var(--ink)}.finance-report-header{flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:16px;margin-bottom:8px;display:flex}.finance-report-header h2{margin:0}.finance-period-tabs{flex:0 auto;max-width:560px;margin:0}.overhead-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;display:grid}.overhead-entry-grid label{flex-direction:column;gap:4px;font-size:13px;display:flex}.overhead-entry-grid label span{color:var(--ink-2);font-weight:600}.overhead-entry-grid input,.overhead-entry-grid select{border:1px solid var(--border-strong);background:var(--surface);width:100%;min-width:0;color:var(--ink);border-radius:6px;padding:7px 8px;font-size:13px}.overhead-entry-span2{grid-column:span 2}.overhead-log-filters input,.overhead-log-filters select{border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);border-radius:8px;padding:9px 12px;font-size:13px}.finance-settings-modal{flex-direction:column;max-width:760px;max-height:min(90vh,900px);padding:0;display:flex;overflow:hidden}.finance-settings-modal .modal-header{background:var(--surface);border-bottom:1px solid var(--border);flex:none;margin:0;padding:16px 24px}.finance-settings-modal .finance-settings-body{overscroll-behavior:contain;flex:auto;min-height:0;padding:16px 24px 24px;overflow:auto}.finance-settings-section{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.finance-settings-section:first-of-type{border-top:0;margin-top:0;padding-top:0}.finance-settings-section h3{margin:0 0 8px;font-size:15px}.finance-settings-subhead{color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em;margin:12px 0 8px;font-size:12px;font-weight:700}.finance-metric-toggles{grid-template-columns:1fr 1fr;gap:8px 16px;display:grid}.finance-metric-toggles label{align-items:center;gap:8px;font-size:13px;display:flex}@media (width<=640px){.overhead-entry-grid{grid-template-columns:1fr}.overhead-entry-span2{grid-column:span 1}}.qb-review-table tbody tr.is-duplicate{background:color-mix(in srgb, var(--warning,#d97706) 12%, var(--surface));cursor:pointer}.qb-review-table tbody tr.is-duplicate:hover{filter:brightness(.98)}.qb-dup-pill{appearance:none;background:var(--warning,#d97706);color:#fff;cursor:pointer;white-space:nowrap;border:0;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.qb-review-actions{flex-wrap:wrap;gap:6px;display:flex}.qb-review-table input,.qb-review-table select{border:1px solid var(--border-strong);background:var(--surface);width:100%;min-width:0;color:var(--ink);border-radius:6px;padding:7px 8px;font-size:13px}.qb-cat-dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.qb-dup-modal{max-width:760px}.overhead-row-attachments{flex-direction:column;gap:4px;min-width:7rem;display:flex}.overhead-attachment-list{margin:0;padding:0;font-size:12px;list-style:none}.overhead-attachment-list li{align-items:center;gap:6px;display:flex}.qb-dup-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.qb-dup-grid h3{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);margin:0 0 10px;font-size:13px;font-weight:700}.qb-dup-dl{grid-template-columns:100px 1fr;gap:6px 12px;margin:0;display:grid}.qb-dup-dl dt{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);font-size:11px;font-weight:700}.qb-dup-dl dd{margin:0;font-size:14px}.qb-dup-dl dd.is-match{color:var(--green);font-weight:700}@media (width<=720px){.qb-dup-grid{grid-template-columns:1fr}}.labor-budget-list{flex-direction:column;gap:8px;margin:0 0 16px;display:flex}.labor-budget-row{background:var(--green-soft);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:10px 12px;font-size:13px;display:flex}.labor-budget-row--full{background:color-mix(in srgb, var(--border) 55%, var(--surface))}.labor-budget-row--over{background:var(--danger-soft)}.labor-budget-row--over .amount{color:var(--danger)}.labor-budget-row .amount{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:700}.labor-budget-remaining-input{font-variant-numeric:tabular-nums;text-align:right;border:1px solid color-mix(in srgb, var(--border) 80%, transparent);background:var(--surface);border-radius:6px;width:min(9rem,100%);margin-left:auto;padding:6px 10px;font-size:13px;font-weight:700}.roster-layout{grid-template-columns:minmax(220px,.8fr) minmax(0,1.4fr);gap:16px;display:grid}.roster-detail-card{max-width:880px}.gc-firm-detail-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.gc-firm-detail-header h2{margin:0;font-size:16px}.gc-firm-remove-btn{color:var(--ink);border:none}.gc-firm-remove-btn:hover{color:var(--ink);background:#f7f9f8;border:none}.gc-contact-row-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.roster-detail-footer{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;margin-top:20px;padding-top:16px;display:flex}.roster-list{margin:0;padding:0;list-style:none}.roster-list-row{align-items:center;gap:8px;display:flex}.roster-list-row .roster-list-item{flex:1}.roster-list-item{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:8px 10px;display:flex}.roster-list-item:hover{background:var(--calc-bg)}.roster-list-item.is-selected{background:var(--green-soft);border-color:var(--green)}.roster-layout .f input,.roster-layout .f select,.roster-layout .f textarea,.roster-detail-card .f input,.roster-detail-card .f select,.roster-detail-card .f textarea{border:1px solid var(--ink);background:var(--surface);color:var(--ink)}.roster-layout .f input:focus,.roster-layout .f select:focus,.roster-layout .f textarea:focus,.roster-detail-card .f input:focus,.roster-detail-card .f select:focus,.roster-detail-card .f textarea:focus{border-color:var(--ink);outline:1px solid var(--ink);box-shadow:none}.roster-layout .btn-danger{color:#000;background:var(--surface);border-color:#fff}.roster-layout .btn-danger:hover{background:var(--danger-soft);border-color:#fff}.modal.roster-pay-modal{width:100%;min-width:min(720px,95vw);max-width:min(900px,95vw)}.roster-pay-modal .roster-pay-table-wrap{max-height:min(50vh,420px);margin-top:12px;overflow:auto}.roster-pay-table th:first-child,.roster-pay-table td:first-child{width:2.5rem;padding-right:8px}.roster-pay-table th.num,.roster-pay-table td.num{white-space:nowrap;width:1%}.roster-pay-amount-input{text-align:right;width:7rem;color:var(--ink);border:1px solid var(--ink);background:var(--surface)}.roster-pay-amount-input:disabled{opacity:1;color:var(--ink);-webkit-text-fill-color:var(--ink);background:var(--surface)}.roster-pay-date{max-width:220px;margin-top:16px}.roster-job-row--payable{cursor:pointer}.roster-job-row--payable:hover{background:var(--page)}.modal.roster-job-pay-modal{width:100%;max-width:min(560px,95vw)}.roster-job-pay-portal .sub-head{margin-top:16px}.address-autocomplete{width:100%;position:relative}.email-recipient-autocomplete .address-autocomplete-dropdown{z-index:400;position:fixed;right:auto}.address-autocomplete-dropdown{z-index:40;background:var(--surface);border:1px solid var(--ink);border-radius:8px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;box-shadow:0 10px 28px #10181424}.address-autocomplete-list{max-height:220px;margin:0;padding:0;list-style:none;overflow-y:auto}.address-autocomplete-item{cursor:pointer;border-bottom:1px solid var(--line);flex-direction:column;gap:2px;padding:8px 10px;display:flex}.address-autocomplete-item:last-child{border-bottom:0}.address-autocomplete-item:hover,.address-autocomplete-item.is-selected{background:var(--green-soft)}.address-autocomplete-item-primary{color:var(--ink);font-size:13px;font-weight:600}.address-autocomplete-item-secondary{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.address-autocomplete-status{color:var(--ink-2);padding:10px 12px;font-size:12px}.address-autocomplete-attribution{color:var(--ink-2);border-top:1px solid var(--line);background:var(--page);padding:6px 10px;font-size:10px}.address-autocomplete-attribution a{color:var(--green-dark)}@media (width<=800px){.roster-layout{grid-template-columns:1fr}}.job-feed{grid-template-columns:190px minmax(0,1fr);align-items:start;gap:18px;display:grid}@media (width<=900px){.job-feed{grid-template-columns:minmax(0,1fr)}}.job-feed-channels{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px}.job-feed-channels-head{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;font-size:10px;font-weight:700;display:flex}.job-feed-scope-picker-anchor{position:relative}.job-feed-scope-picker{background:var(--surface);width:220px;max-height:min(320px,100vh - 80px);color:var(--ink);border:1px solid var(--border);z-index:50;border-radius:10px;padding:8px 0;position:absolute;top:calc(100% + 8px);right:0;overflow:auto;box-shadow:0 12px 40px #00000038}.job-feed-scope-picker-title{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin:0;padding:4px 12px 8px;font-size:10px;font-weight:700}.job-feed-scope-picker-empty{margin:0;padding:4px 12px 8px;font-size:12px}.job-feed-scope-picker-list{margin:0;padding:0;list-style:none}.job-feed-scope-picker-item{appearance:none;width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.job-feed-scope-picker-item:hover{background:#f7f9f8}.job-feed-scope-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.job-feed-scope-dot--general{background:var(--ink-3)}.job-feed-scope-picker-scope-start{border-top:1px solid var(--border);margin-top:4px;padding-top:4px}.job-feed-scope-picker-meta{margin-left:auto;font-size:11px}.job-feed-channels nav{flex-direction:column;gap:2px;display:flex}.job-feed-channel-item{border-radius:6px;align-items:stretch;min-width:0;display:flex}.job-feed-channel-item.active{background:var(--green)}.job-feed-channel{appearance:none;color:var(--ink-2);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;flex:1;align-items:center;min-width:0;padding:10px 8px;font-size:13px;font-weight:500;display:flex}.job-feed-channel-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.job-feed-channel-item:not(.active) .job-feed-channel:hover{background:var(--page);color:var(--ink)}.job-feed-channel-item.active .job-feed-channel{color:#fff}.job-feed-channel-item.active .job-feed-channel:hover{color:#fff;background:0 0}.job-feed-channel-add-btn{appearance:none;color:inherit;cursor:pointer;opacity:.9;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:10px 0 10px 8px;display:inline-flex}.job-feed-channel-item.active .job-feed-channel-add-btn{color:#fff}.job-feed-channel-add-btn:hover{opacity:1}.job-feed-channel-item .job-feed-add-member-anchor{align-items:center;display:flex}.job-feed-add-member-overlay{z-index:60}.job-feed-main{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;min-height:460px;display:flex}.job-feed-head{border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.job-feed-head:hover{background:#f7f9f8}.job-feed-head:focus-visible{outline:2px solid var(--green);outline-offset:-2px}.job-feed-head-main{align-items:flex-start;gap:8px;min-width:0;display:flex}.job-feed-head-titles{min-width:0}.job-feed-head-title-row{align-items:center;gap:6px;min-width:0;display:flex}.job-feed-head-title-row h2{min-width:0;margin:0}.job-feed-head-add-btn{appearance:none;color:var(--ink-2);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:2px;display:inline-flex}.job-feed-head-add-btn:hover{color:var(--ink);background:#f0f2f1}.job-feed-add-member-anchor{flex-shrink:0;position:relative}.job-feed-add-member-picker{background:var(--surface);width:320px;max-width:calc(100vw - 40px);color:var(--ink);border:1px solid var(--border);border-radius:10px;padding:10px 12px 12px;position:relative;box-shadow:0 12px 40px #00000038}.job-feed-add-member-picker-title{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin:0 0 8px;font-size:10px;font-weight:700}.job-feed-member-kind-pills{gap:6px;margin-bottom:10px;display:flex}.job-feed-member-kind-pill{border:1px solid var(--border);background:var(--page);color:var(--ink-2);cursor:pointer;flex:1;justify-content:center;padding:5px 10px;font-size:12px;font-weight:600}.job-feed-member-kind-pill.is-active{background:var(--green);border-color:var(--green);color:#fff}.job-feed-gc-firm-select{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.job-feed-gc-firm-select-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-weight:700}.job-feed-gc-firm-select select{border:1px solid var(--border-strong);background:var(--surface);width:100%;color:var(--ink);border-radius:6px;padding:6px 8px;font-size:13px}.job-feed-gc-firm-select select:disabled{color:var(--ink-3);background:var(--page)}.job-feed-member-picker-list{flex-direction:column;gap:2px;max-height:220px;margin:0 0 10px;padding:0;list-style:none;display:flex;overflow-y:auto}.job-feed-member-picker-item{appearance:none;width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px;font-size:13px;display:flex}.job-feed-member-picker-item:hover{background:#f7f9f8}.job-feed-member-picker-item.is-selected{background:var(--green-soft)}.job-feed-member-picker-check{width:16px;height:16px;color:var(--green-dark);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.job-feed-member-picker-copy{flex-direction:column;gap:1px;min-width:0;display:flex}.job-feed-member-picker-name{font-weight:500}.job-feed-member-picker-subtitle{color:var(--ink-3);font-size:11px}.job-feed-member-picker-footer{border-top:1px solid var(--border);justify-content:flex-end;padding-top:4px;display:flex}.job-feed-add-member-picker-empty{margin:0 0 10px;font-size:12px}.job-feed-head h2{font-size:15px}.job-feed-head p{color:var(--ink-3);margin:2px 0 0;font-size:12px}.job-feed-status{letter-spacing:.04em;text-transform:uppercase;border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.job-feed-status:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.job-feed-status.live{background:var(--green-soft);color:var(--green-dark)}.job-feed-status.offline{background:var(--type-bg);color:var(--type-ink)}.job-feed-error{border-radius:8px;margin:12px 16px 0;padding:8px 12px}.job-feed-posts{flex-direction:column;flex:1;gap:16px;max-height:460px;padding:16px;display:flex;overflow-y:auto}.job-feed-post{align-items:flex-start;gap:11px;display:flex}.job-feed-post-head{align-items:baseline;gap:9px;display:flex}.job-feed-post-head strong{font-size:13px}.job-feed-post-head span{color:var(--ink-3);font-size:11px}.job-feed-post-head span.job-feed-post-title{text-transform:uppercase;letter-spacing:.03em;background:var(--page);border:1px solid var(--border);color:var(--ink-2);border-radius:20px;padding:1px 8px;font-size:10px;font-weight:700}.job-feed-post .message-body{margin:3px 0 0}.job-feed-thread{flex-direction:column;gap:0;display:flex}.job-feed-thread>.job-feed-post{border-radius:10px;padding:12px}.feeds-card-posts>.job-feed-thread:nth-child(odd)>.job-feed-post,.job-feed-posts>.job-feed-thread:nth-child(odd)>.job-feed-post{border:1px solid var(--ink);background:#e8ebe9}.feeds-card-posts>.job-feed-thread:nth-child(2n)>.job-feed-post,.job-feed-posts>.job-feed-thread:nth-child(2n)>.job-feed-post{background:var(--surface);border:1px solid var(--ink)}.job-feed-replies{flex-direction:column;gap:12px;margin-top:8px;padding-left:42px;display:flex}.job-feed-replies .job-feed-post{gap:8px}.job-feed-post-actions{gap:12px;margin-top:4px;display:flex}.job-feed-post-actions button{color:var(--ink-2);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;font-size:12px;font-weight:600;display:inline-flex}.job-feed-post-actions button:hover{color:var(--ink)}.job-feed-post-actions button.is-liked{color:var(--warning)}.job-feed-post-actions button.is-disliked{color:var(--danger)}.job-feed-post-actions button.is-laughed{color:#7c3aed}.job-feed-composer-wrap{border-top:1px solid var(--border);padding:12px 16px}.job-feed-composer-wrap .message-composer{background:var(--surface);border:1px solid var(--ink);border-radius:10px;margin-bottom:0;padding:12px}.job-feed-composer-wrap .message-composer textarea{min-height:42px}.job-feed-composer-attach{align-items:center;gap:8px;margin-top:8px;display:flex}.job-feed-composer-attach .job-feed-attach{flex-shrink:0}.job-feed-composer{border-top:1px solid var(--border);align-items:flex-end;gap:10px;padding:12px 16px;display:flex}.job-feed-composer textarea{resize:vertical;border:1px solid var(--border-strong);background:var(--surface);border-radius:8px;flex:1;min-height:42px;max-height:160px;padding:10px 12px;font-family:inherit;font-size:13px}.job-feed-file-input{display:none}.job-feed-attach{flex-shrink:0;align-self:flex-end}.job-feed-attachments{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.job-feed-attachment{border:1px solid var(--border);object-fit:cover;border-radius:8px;max-width:220px;max-height:220px}.job-feed-attachment-wrap{flex-direction:column;align-items:flex-start;gap:4px;max-width:220px;display:flex}.job-feed-attachment-save{justify-content:center;align-self:stretch}.attachment-saved-badge{color:var(--ink-3);align-items:center;gap:4px;display:inline-flex}.attachment-saved-badge.is-disabled{cursor:default;opacity:.8}.job-feed-pending-attachments{flex-wrap:wrap;gap:8px;padding:0 16px 8px;display:flex}.job-feed-reply-pending{padding:6px 0 0}.job-feed-pending-attachment{width:64px;height:64px;position:relative}.job-feed-attachment-thumb{border:1px solid var(--border);object-fit:cover;border-radius:8px;width:64px;height:64px}.job-feed-attachment-file{border:1px solid var(--border);background:var(--surface-2);max-width:280px;color:var(--ink);word-break:break-word;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;text-decoration:none;display:inline-flex}.job-feed-attachment-file:hover{border-color:var(--accent)}.job-feed-attachment-file-thumb{border:1px solid var(--border);background:var(--surface-2);width:64px;height:64px;color:var(--ink-2);border-radius:8px;justify-content:center;align-items:center;display:flex}.job-feed-pending-remove{background:var(--ink);width:18px;height:18px;color:var(--surface);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:-6px;right:-6px}.sub-login-page{background:var(--nav);justify-content:center;align-items:center;min-height:100dvh;padding:20px;display:flex}.sub-login-card{background:var(--surface);border-radius:var(--radius);width:100%;max-width:360px;box-shadow:var(--shadow);text-align:center;padding:32px 28px}.sub-login-card h1{margin:0 0 6px;font-size:20px}.sub-lang-toggle{background:var(--surface-2,#80808026);border-radius:999px;margin-bottom:18px;padding:3px;display:inline-flex}.sub-lang-toggle button{color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600}.sub-lang-toggle button.active{background:var(--green);color:var(--brand-ink)}.sub-login-card p{color:var(--ink-2);margin:0 0 20px;font-size:14px}.sub-login-input{border:1px solid var(--border-strong);letter-spacing:.08em;text-align:center;text-transform:uppercase;border-radius:8px;width:100%;margin-bottom:14px;padding:12px 14px;font-size:16px}.sub-text-input{border:1px solid var(--border-strong);text-align:left;border-radius:8px;width:100%;margin-bottom:14px;padding:12px 14px;font-size:16px}.sub-password-field{margin-bottom:14px;position:relative}.sub-password-field .sub-text-input{margin-bottom:0;padding-right:44px}.sub-password-toggle{color:var(--ink-2);cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.sub-login-error{color:var(--danger);margin:0 0 14px;font-size:13px}.sub-login-submit{justify-content:center;width:100%}.sub-login-switch{margin-top:10px;display:block}.sub-jobs-page{color:var(--ink);padding:12px}.sub-jobs-page h2{color:var(--ink);margin:0 0 12px;font-size:18px}.sub-jobs-page h3{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);margin:16px 0 8px;font-size:13px}.sub-jobs-page .hint{color:var(--ink-2);font-size:14px}.sub-job-row{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-direction:column;gap:8px;margin-bottom:8px;padding:14px 16px;display:flex}button.sub-job-row-tap{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer}.sub-job-scope{white-space:pre-wrap;margin:0 0 8px}.sub-bell{position:relative}.sub-bell-btn{width:44px;height:44px;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:relative}.sub-bell-badge{color:#fff;text-align:center;background:#dc2626;border-radius:999px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:4px;right:2px}.sub-bell-panel{left:max(12px, env(safe-area-inset-left,0px));right:max(12px, env(safe-area-inset-right,0px));z-index:50;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--surface);max-width:420px;max-height:70vh;color:var(--ink);border:1px solid var(--border);border-radius:12px;margin-left:auto;position:fixed;overflow-y:auto;box-shadow:0 8px 28px #0000001f}.sub-bell-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:48px;padding:6px 12px;display:flex}.sub-bell-list{margin:0;padding:0;list-style:none}.sub-bell-item{border:0;border-bottom:1px solid var(--border);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere;-webkit-tap-highlight-color:transparent;background:0 0;flex-direction:column;gap:2px;padding:12px;display:flex}.sub-bell-item.unread{background:var(--border)}.sub-bell-item.unread .sub-bell-title{font-weight:700}.sub-bell-title{font-size:15px}.sub-bell-detail,.sub-bell-time{opacity:.75;font-size:13px}.sub-bell-link{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;min-height:44px;padding:0 4px;font-size:14px;text-decoration:underline}.sub-bell-empty,.sub-bell-foot{margin:0;padding:10px 12px}.sub-job-address{overflow-wrap:anywhere;align-items:flex-start;gap:6px;margin:0 0 12px;display:flex}.sub-job-address svg{flex-shrink:0;margin-top:2px}.sub-job-address a{color:inherit;padding:6px 0;text-decoration:underline}.sub-job-row-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.sub-job-row-main{flex-direction:column;gap:2px;min-width:0;display:flex}.sub-job-row-main strong{color:var(--ink);overflow-wrap:anywhere;font-size:17px}.sub-job-row-main span{color:var(--ink-2);font-size:13px}.sub-job-row-stats{justify-content:space-between;gap:8px;display:flex}.sub-job-row-stats>div{flex-direction:column;gap:2px;display:flex}.sub-job-row-stats span{color:var(--ink-3);font-size:12px}.sub-job-row-stats strong{color:var(--ink);font-size:15px}.sub-job-row-value{color:var(--ink);white-space:nowrap;flex-shrink:0;font-size:16px;font-weight:700}.sub-jobs-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.sub-jobs-list li{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:12px 16px;font-size:15px}.sub-jobs-list a{color:#93c5fd}.sub-profile-page{color:var(--ink);flex-direction:column;gap:4px;padding:16px;display:flex}.sub-profile-page h2{color:var(--ink);margin:0 0 4px;font-size:20px}.sub-profile-page .hint{color:var(--ink-2);margin-bottom:10px;font-size:14px}.sub-profile-page .sub-text-input{background:var(--surface);border-color:var(--border);color:var(--ink)}.sub-profile-avatar-row{align-items:center;gap:14px;margin-bottom:4px;display:flex}.sub-profile-avatar-row .subm-avatar{flex-shrink:0;width:64px;height:64px;font-size:20px}.sub-profile-avatar-actions{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.sub-profile-avatar-actions .btn{background:var(--border);border-color:var(--border-strong);color:var(--ink)}.sub-profile-avatar-actions .btn.btn-danger{color:#ff9b9b;border-color:#ff696966}.sub-profile-page .btn:not(.btn-sm){border-radius:12px;justify-content:center;width:100%;min-height:48px;margin-top:6px;padding:12px 18px;font-size:15px}.sub-profile-docs-heading{color:var(--ink);margin:18px 0 8px;font-size:16px}.sub-profile-doc-slot{background:var(--page);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;padding:10px 12px;display:flex}.sub-profile-doc-slot-info{flex-direction:column;gap:2px;min-width:0;display:flex}.sub-profile-doc-label{color:var(--ink);font-size:14px;font-weight:600}.sub-profile-doc-slot-info a{color:var(--green);text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:13px;overflow:hidden}.sub-profile-doc-slot-actions{flex-shrink:0;gap:6px;display:flex}.sub-profile-doc-slot-actions .btn{background:var(--border);border-color:var(--border-strong);color:var(--ink)}.sub-profile-doc-slot-actions .btn.btn-danger{color:#ff9b9b;border-color:#ff696966}.sub-approvals-page{color:var(--ink);flex-direction:column;gap:12px;padding:12px;display:flex}.sub-approvals-page h2{color:var(--ink);margin:0;font-size:20px}.sub-approval-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:10px;padding:14px;display:flex}.sub-approval-card strong{color:var(--ink);font-size:16px}.sub-approval-card p{color:var(--ink-2);margin:0;font-size:14px;line-height:1.4}.sub-approvals-page .sub-text-input{background:var(--surface);border-color:var(--border);color:var(--ink)}.sub-approval-card .btn{border-radius:10px;min-height:44px;padding:10px 16px;font-size:15px}.sub-feed-avatar{background:var(--green);color:#fff;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:grid}.portal-access-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--page);margin:10px 0 20px;padding:14px 16px}.portal-invite-lang{white-space:nowrap;flex-wrap:nowrap;flex:none;justify-content:flex-start;align-items:center;gap:8px;width:auto;display:inline-flex}.portal-invite-lang label{width:auto;color:var(--ink-2);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;flex:none;align-items:center;gap:4px;margin:0;font-size:13px;display:inline-flex}.portal-invite-lang input[type=radio]{width:15px;min-width:15px;max-width:15px;height:15px;accent-color:var(--green);cursor:pointer;background:0 0;border:none;flex:none;margin:0;padding:0}.portal-access-code{background:var(--surface);border:1px dashed var(--border-strong);border-radius:8px;flex-direction:column;gap:4px;margin-bottom:12px;padding:10px 14px;display:flex}.portal-access-code span{color:var(--ink-3);font-size:11px}.portal-access-code strong{letter-spacing:.1em;font-variant-numeric:tabular-nums;font-size:20px}.pill-active{background:var(--green-soft);color:var(--green-dark)}.pill-inactive{background:var(--border);color:var(--ink-2)}.job-feed-member-count{color:var(--ink-3);align-items:center;margin-top:2px;font-size:12px;display:inline-flex}.job-feed-member-count:hover{color:var(--ink-3)}.job-feed-members-panel{border-bottom:1px solid var(--border);background:var(--page);padding:12px 16px}.job-feed-members-panel ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.job-feed-members-panel li{align-items:center;gap:8px;font-size:13px;display:flex}.job-feed-member-actions{flex-shrink:0;align-items:center;gap:6px;margin-left:auto;display:flex}.job-feed-member-invite-btn{background:var(--green);border:1px solid var(--green);color:#fff;flex-shrink:0;min-height:0;padding:2px 10px;font-size:12px;font-weight:600}.job-feed-member-invite-btn:hover:not(:disabled){background:var(--green-dark);border-color:var(--green-dark);color:#fff}.job-feed-member-invite-btn:disabled{opacity:.7;cursor:default}.job-feed-member-invited{letter-spacing:.02em;text-transform:uppercase;color:var(--ink-3);background:var(--border);border-radius:4px;flex-shrink:0;padding:3px 8px;font-size:11px;font-weight:600}.job-feed-member-name{min-width:0}.job-feed-members-panel li .btn:not(.job-feed-member-invite-btn){color:var(--ink);border:none}.job-feed-members-panel li .btn:not(.job-feed-member-invite-btn):hover{color:var(--ink);background:#f7f9f8}.job-feed-add-member{gap:8px;display:flex}.job-feed-add-member select{border:1px solid var(--border-strong);background:var(--surface);border-radius:6px;flex:1;padding:6px 8px;font-size:13px}.subm-shell{min-height:100dvh;color:var(--ink);background:#fff;flex-direction:column;display:flex}:root.night-mode .subm-shell{--subm-shell-bg:#111827;--subm-shell-surface:#1f2937;--subm-shell-border:#374151;background:var(--subm-shell-bg);color:#f3f4f6}:root.night-mode .subm-shell .subm-composer,:root.night-mode .subm-shell .subm-pending-attachments{background:var(--subm-shell-surface);border-color:var(--subm-shell-border)}:root.night-mode .subm-shell .subm-composer textarea,:root.night-mode .subm-shell .subm-composer .message-composer textarea{background:var(--subm-shell-bg);border-color:var(--subm-shell-border);color:#f3f4f6}:root.night-mode .subm-shell .sub-job-row,:root.night-mode .subm-shell .subm-project-row,:root.night-mode .subm-shell .subm-member-list li,:root.night-mode .subm-shell .subm-more-row,:root.night-mode .subm-shell .subm-posts>.subm-thread:nth-child(odd)>.subm-post,:root.night-mode .subm-shell .subm-posts>.subm-thread:nth-child(2n)>.subm-post{background:var(--subm-shell-surface);border-color:var(--subm-shell-border)}:root.night-mode .subm-shell .subm-post-body:not(.is-own){border-color:var(--subm-shell-border);color:#f3f4f6;background:#374151}:root.night-mode .subm-shell .subm-post.is-own .message-post-main{background:var(--green);border-color:var(--green);color:var(--brand-ink)}.subm-main{flex:1;min-height:0;padding:0;overflow-y:auto}.subm-header{background:var(--nav);color:var(--nav-ink);z-index:5;padding:12px 16px 10px;position:sticky;top:0}.subm-header-top{align-items:center;gap:8px;display:flex}.subm-logo{object-fit:contain;width:22px;height:22px}.subm-brand{letter-spacing:.06em;text-transform:uppercase;color:var(--nav-ink);font-size:13px;font-weight:800}.subm-live-dot{background:var(--ink-3);border-radius:50%;width:7px;height:7px;margin-left:auto}.subm-live-dot.live{background:#3ddc84;box-shadow:0 0 0 3px #3ddc8433}.subm-account-menu{max-width:65%;position:relative}.subm-current-person{appearance:none;cursor:pointer;color:var(--nav-ink);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;align-items:center;gap:8px;max-width:100%;padding:0;font-size:14px;font-weight:700;display:flex;overflow:hidden}.subm-current-person .subm-avatar{width:26px;height:26px;font-size:10px}.subm-account-popover{z-index:20;background:var(--nav);border:1px solid #ffffff1f;border-radius:12px;flex-direction:column;gap:10px;min-width:220px;padding:12px;display:flex;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 12px 28px #00000026}.subm-bell{color:var(--nav-ink)}.subm-header-job{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-top:10px;display:flex}.subm-header-job strong{color:var(--nav-ink);font-size:19px;font-weight:700}.subm-header-job select{border:1px solid color-mix(in srgb, var(--nav-ink) 28%, transparent);color:var(--nav-ink);background:#ffffff1a;border-radius:8px;max-width:65%;min-height:44px;padding:6px 10px;font-size:15px;font-weight:700}.subm-header-job select option{color:#111}.subm-company{color:var(--nav-ink);white-space:nowrap;font-size:13px}.subm-header .btn{border-color:color-mix(in srgb, var(--nav-ink) 28%, transparent);color:var(--nav-ink);background:#ffffff1a;min-height:40px;font-size:14px}.subm-header .btn:hover{background:#ffffff29}.subm-content{flex-direction:column;flex:1;min-height:0;display:flex}.subm-empty{text-align:center;color:var(--ink-2);flex:1;place-items:center;padding:40px 24px;display:grid}.subm-feed{flex-direction:column;flex:1;min-height:0;display:flex}.subm-channel-strip{gap:8px;padding:10px 14px 0;display:flex;overflow-x:auto}.subm-channel-chip{appearance:none;border:1px solid var(--border);background:var(--page);color:var(--ink-2);white-space:nowrap;border-radius:20px;padding:9px 16px;font-size:14px;font-weight:600}.subm-channel-chip.active{background:var(--green);border-color:var(--green);color:var(--brand-ink)}.subm-error{background:var(--danger-soft);border:1px solid color-mix(in srgb, var(--danger) 35%, var(--border));color:var(--danger);border-radius:8px;margin:10px 14px 0;padding:8px 12px;font-size:13px}.subm-posts{flex-direction:column;flex:1;gap:14px;padding:16px 14px 8px;display:flex;overflow-y:auto}.subm-empty-inline{color:var(--ink-2);text-align:center;margin:auto;font-size:14px}.subm-post{align-items:flex-start;gap:10px;display:flex}.subm-thread{flex-direction:column;gap:0;display:flex}.subm-thread>.subm-post{border-radius:10px;padding:12px}.subm-posts>.subm-thread:nth-child(odd)>.subm-post,.subm-posts>.subm-thread:nth-child(2n)>.subm-post{border:1px solid var(--border);background:#f3f4f6}.subm-posts>.subm-thread:nth-child(odd)>.subm-post.is-own,.subm-posts>.subm-thread:nth-child(2n)>.subm-post.is-own{background:0 0;border-color:#0000}.subm-post.is-own .message-post-main{background:var(--green);border:1px solid var(--green);color:var(--brand-ink);border-radius:14px;padding:10px 13px}.subm-post.is-own .message-post-main header strong,.subm-post.is-own .message-post-main p,.subm-post.is-own .message-post-main .message-body{color:var(--brand-ink)}.subm-post.is-own .subm-post-time,.subm-post.is-own .subm-post-title{color:color-mix(in srgb, var(--brand-ink) 72%, transparent)}.subm-post.is-own .subm-post-title{background:color-mix(in srgb, var(--brand-ink) 20%, transparent)}.subm-post.is-own .subm-post-actions button:not(.is-liked):not(.is-disliked):not(.is-laughed){color:color-mix(in srgb, var(--brand-ink) 80%, transparent)}.subm-replies{flex-direction:column;gap:10px;margin-top:8px;padding-left:44px;display:flex}.subm-post-actions{gap:16px;margin-top:6px;display:flex}.subm-post-actions button{min-height:32px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:6px 4px;font-size:14px;font-weight:600;display:inline-flex}.subm-post-actions button.is-liked{color:#fbbf24}.subm-post-actions button.is-disliked{color:#f87171}.subm-post-actions button.is-laughed{color:#7c3aed}.subm-composer .message-composer{background:0 0;border:0;flex-direction:column;flex:1;min-height:0;margin-bottom:0;padding:0;display:flex}.subm-composer .message-composer-main{flex-direction:column;flex:1;min-height:0;display:flex}.subm-composer .message-composer textarea{border:1px solid var(--border);min-height:88px;color:var(--ink);background:var(--page);border-radius:20px;flex:1;padding:12px 14px}.subm-composer .message-composer-tools{gap:8px;min-height:58px;margin-top:12px}.subm-composer .message-composer-tools button:not(.btn){width:44px;height:44px;color:var(--ink-2)}.subm-composer [title=Mention\ someone],.subm-composer [title=Add\ emoji]{display:none}.subm-composer .message-composer-tools .btn{min-height:44px;padding:10px 18px;font-size:15px}.subm-composer .message-mention{color:#93c5fd}.job-feed-post .message-post-main header{flex-wrap:wrap;align-items:baseline;gap:9px;display:flex}.subm-post-body{border:1px solid var(--border);max-width:82%;color:var(--ink);background:#f3f4f6;border-radius:4px 14px 14px;padding:10px 13px}.subm-post.is-own .subm-post-body,.subm-post-body.is-own{background:var(--green);border-color:var(--green);color:var(--brand-ink)}.subm-post-head{align-items:center;gap:8px;margin-bottom:3px;display:flex}.subm-post-head strong{color:var(--ink);font-size:14px}.subm-post-title{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);background:var(--border);border-radius:20px;padding:2px 8px;font-size:12px;font-weight:700}.subm-post p{color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:16px;line-height:1.45}.subm-post-time{color:var(--ink-3);margin-top:5px;font-size:13px;display:block}.subm-post-attachments{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.subm-post-attachment{object-fit:cover;border-radius:10px;max-width:200px;max-height:200px}.subm-post-attachment-wrap{flex-direction:column;align-items:flex-start;gap:4px;max-width:200px;display:flex}.subm-attachment-save{justify-content:center;align-self:stretch}.subm-new-chat{background:var(--green);border:1px solid var(--green);color:var(--brand-ink);border-radius:8px;flex-shrink:0;align-items:center;gap:4px;padding:8px 12px;font-size:14px;font-weight:700;display:inline-flex}.subm-channel-tools{justify-content:flex-end;align-items:center;gap:8px;padding:6px 12px 0;display:flex}.subm-channel-members-btn{color:var(--ink-2);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;margin-right:auto;padding:6px 4px;font-size:13px;font-weight:600;display:inline-flex}.subm-channel-members-btn:hover{color:var(--ink)}.subm-channel-tools .btn{background:var(--page);border:1px solid var(--border);color:var(--ink-2);font-weight:600}.subm-channel-tools .btn:hover{background:var(--border);border-color:var(--border-strong);color:var(--ink)}.subm-avatar{color:#fff;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:12px;font-weight:800;display:grid}.subm-avatar.internal{background:var(--green)}.subm-avatar.sub{background:#47bfff}.subm-avatar-img{object-fit:cover;background:0 0}.subm-composer{padding:14px 14px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:var(--surface);align-items:stretch;gap:10px;min-height:260px;display:flex}.subm-composer textarea{resize:none;border:1px solid var(--border);background:var(--surface);min-height:88px;max-height:240px;color:var(--ink);border-radius:20px;flex:1;padding:12px 16px;font-family:inherit;font-size:16px}.subm-composer textarea::placeholder{color:var(--ink-3)}.subm-send{appearance:none;background:var(--green);width:44px;height:44px;color:var(--brand-ink);cursor:pointer;border:none;border-radius:50%;flex:none;place-items:center;display:grid}.subm-send:disabled{opacity:.4;cursor:default}.subm-file-input{display:none}.subm-attach{appearance:none;border:1px solid var(--border);background:var(--page);color:var(--ink-2);cursor:pointer;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;display:grid}.subm-attach:disabled{opacity:.35;cursor:default}.subm-pending-attachments{background:var(--surface);flex-wrap:wrap;gap:8px;padding:0 14px 8px;display:flex}.subm-reply-pending{background:0 0;padding:6px 0 0}.subm-pending-attachment{width:60px;height:60px;position:relative}.subm-attachment-thumb{object-fit:cover;border:1px solid var(--border);border-radius:10px;width:60px;height:60px}.subm-pending-remove{color:#fff;cursor:pointer;background:#000;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;padding:0;display:flex;position:absolute;top:-6px;right:-6px}.subm-coming-soon{text-align:center;color:var(--ink-2);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:40px 24px;display:flex}.subm-coming-soon p{color:var(--ink);margin:4px 0 0;font-size:16px;font-weight:700}.subm-coming-soon span{max-width:260px;font-size:13px}.subm-member-list{flex-direction:column;gap:12px;margin:0;padding:14px;list-style:none;display:flex}.subm-member-list li{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.subm-member-list strong{color:var(--ink);font-size:16px;display:block}.subm-member-list span{color:var(--ink-2);font-size:14px}.subm-project-row{width:100%;color:var(--ink-2);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:0;display:flex}.subm-more{flex-direction:column;gap:12px;padding:16px;display:flex}.subm-more-row{background:var(--surface);border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;padding:14px 16px;font-size:15px;display:flex}.subm-more-row span{color:var(--ink-2)}.subm-more-row strong{color:var(--ink)}.subm-more .btn{border-radius:12px;justify-content:center;width:100%;min-height:48px;padding:12px 18px;font-size:16px}.subm-lang-select{background:var(--surface);border:1px solid var(--border-strong);color:var(--ink);border-radius:8px;min-height:44px;padding:8px 12px;font-size:16px;font-weight:600}.subm-lang-select option{color:#111}.subm-header .btn.subm-logout{color:#000;background:#fff;border-color:#fff;margin-top:0}.subm-header .btn.subm-logout:hover{background:#f0f0f0}.subm-calendar{padding:12px 8px 24px;overflow-x:hidden}.subm-calendar.cal-page{--cal-label-w:90px}.subm-calendar .cal-label strong{color:#000}.subm-calendar .cal-grid{-webkit-overflow-scrolling:touch}.subm-calendar .cal-label{z-index:3;background:var(--surface);position:sticky;left:0}.subm-cal-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.subm-cal-new{align-items:center;gap:4px;display:inline-flex}.subm-bottomnav{background:var(--nav);border-top:1px solid var(--border);padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));z-index:5;grid-template-columns:repeat(5,1fr);align-items:center;display:grid;position:sticky;bottom:0}.subm-bottomnav button{appearance:none;color:color-mix(in srgb, var(--nav-ink) 72%, transparent);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:3px;min-height:44px;padding:8px 0;font-size:13px;font-weight:600;display:flex}.subm-bottomnav button.active{color:var(--green)}.subm-fab{border-radius:50%;place-items:center;width:48px;height:48px;margin:0 auto;position:relative;top:-14px;box-shadow:0 4px 10px #00000059;background:var(--green)!important;color:var(--brand-ink)!important;display:grid!important}.subm-projects-list{padding:12px}.subm-project-rows{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.subm-project-row{border:1px solid var(--border);background:var(--surface);width:100%;color:inherit;text-align:left;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;display:flex}.subm-project-row-main{flex-direction:column;gap:4px;min-width:0;display:flex}.subm-project-row-main strong{overflow-wrap:anywhere;font-size:17px}.subm-project-row-status{font-size:13px;font-weight:700}.subm-project-detail{flex-direction:column;gap:16px;max-width:100%;padding:12px;display:flex}.subm-project-back{background:var(--border);border-color:var(--border-strong);color:var(--ink);align-self:flex-start;min-height:40px;font-size:14px}.subm-project-back:hover{background:#ffffff24}.subm-project-detail-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.subm-project-detail-header h2{overflow-wrap:anywhere;margin:0;font-size:20px}.subm-project-detail-status{color:var(--ink-3);font-size:13px;font-weight:700}.subm-project-detail-section h3{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);margin:0 0 8px;font-size:13px}.subm-project-info-list{flex-direction:column;gap:10px;margin:0;font-size:15px;display:flex}.subm-project-info-list>div{justify-content:space-between;gap:10px;display:flex}.subm-project-info-list dt{color:var(--ink-3)}.subm-project-info-list dd{text-align:right;overflow-wrap:anywhere;margin:0}.subm-project-photo-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.subm-project-photo{aspect-ratio:1;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0;display:block;overflow:hidden}.subm-project-photo img{object-fit:cover;width:100%;height:100%}.subm-project-file-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.subm-project-file-list li{justify-content:space-between;align-items:center;gap:10px;display:flex}.subm-project-file-list a,.subm-project-file-link{overflow-wrap:anywhere;align-items:center;gap:6px;min-width:0;font-size:15px;display:inline-flex}.subm-project-file-link{color:#93c5fd;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.subm-project-file-date{color:var(--ink-3);flex-shrink:0;font-size:12px}.subm-new-chat-modal{background:var(--surface);width:320px;max-width:calc(100vw - 40px);color:var(--ink);border-radius:12px;flex-direction:column;gap:12px;padding:16px;display:flex}.subm-new-chat-title{margin:0;font-weight:700}.subm-new-chat-job-list{flex-direction:column;gap:6px;max-height:40vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.subm-new-chat-job-item{text-align:left;border:1px solid var(--border);border-radius:8px;width:100%;padding:8px 10px}.subm-new-chat-name-input{border:1px solid var(--border);border-radius:8px;width:100%;padding:8px 10px;font-size:16px}.subm-new-chat-footer{justify-content:flex-end;gap:8px;display:flex}.plan-page{flex-direction:column;gap:14px;max-width:none;height:calc(100vh - 120px);min-height:520px;margin:0;padding-inline:12px;display:flex;overflow:hidden}.plan-body{flex-direction:column;flex:1;min-height:0;display:flex}.plan-body-with-sidebar{flex-direction:row;flex:1;gap:12px;min-height:0;display:flex}.plan-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.plan-body-with-sidebar .plan-side-wrap{flex:none;min-height:0}.plan-body-with-sidebar .plan-side-wrap.plan-side-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.plan-measure-sheet-badge{letter-spacing:.02em;text-transform:uppercase;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--border);vertical-align:middle;border-radius:4px;margin-right:6px;padding:1px 5px;font-size:10px;font-weight:700;display:inline-block}.plan-measure-row--other-sheet{opacity:.72}.plan-side-error{margin-bottom:10px}.plan-pane{flex-direction:column;flex:1;min-height:0;display:none}.plan-pane.is-active{display:flex}.plan-pricing-popup{flex-direction:column;gap:8px;display:flex}.plan-pricing-paint-area{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding-top:4px;display:flex}.plan-pricing-row{color:var(--ink);justify-content:space-between;align-items:center;gap:10px;font-size:12px;font-weight:600;display:flex}.plan-pricing-row input{border:1px solid var(--border-strong);background:var(--surface);width:116px;color:var(--ink);border-radius:6px;flex:none;padding:5px 7px;font-family:inherit;font-size:12px;font-weight:400}.plan-pricing-row input.plan-pricing-invalid{background:#a32d2d0f;border-color:#a32d2d}.plan-pricing-measured{color:var(--ink-3);flex-direction:column;gap:2px;font-size:11px;display:flex}.plan-pricing-note{color:var(--ink-3);margin:0;font-size:11px;line-height:1.4}.plan-pricing-actions{gap:8px;margin-top:2px;display:flex}.plan-pricing-estimate-card{border-top:1px solid var(--border);flex-direction:column;gap:6px;margin-top:6px;padding-top:10px;display:flex}.plan-pricing-estimate-amount{color:var(--ink-2);justify-content:space-between;align-items:baseline;font-size:12px;display:flex}.plan-pricing-estimate-amount strong{color:var(--ink);font-size:15px}.plan-pricing-estimate-tag{padding-left:22px}.plan-scope-review-pane{flex-direction:column;flex:1;min-height:0;display:flex}.plan-scope-review-bar{justify-content:flex-end;padding:10px 16px 0;display:flex}.plan-scope-review-body{flex:1;min-height:0;padding:12px 16px 24px;overflow-y:auto}.plan-scope-review-popped{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;display:flex}.plan-floating-card{z-index:200;background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;flex-direction:column;display:flex;position:fixed;overflow:hidden;box-shadow:0 18px 48px #0f1e3047}.plan-floating-card-head{background:var(--page);border-bottom:1px solid var(--border);cursor:move;-webkit-user-select:none;user-select:none;flex:none;align-items:center;gap:8px;padding:8px 10px 8px 14px;display:flex}.plan-floating-card-head strong{flex:1;font-size:13px}.plan-floating-card-head button{color:var(--ink-3);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:3px;line-height:0}.plan-floating-card-head button:hover{color:var(--ink);background:#00000012}.plan-floating-card-body{flex:1;min-height:0;padding:14px 16px 18px;overflow-y:auto}.plan-floating-card-resize{cursor:nwse-resize;background:linear-gradient(135deg, transparent 0%, transparent 45%, var(--border-strong) 45%, var(--border-strong) 55%, transparent 55%, transparent 72%, var(--border-strong) 72%, var(--border-strong) 82%, transparent 82%);width:18px;height:18px;position:absolute;bottom:0;right:0}.plan-hotkeys{flex:1;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-content:start;gap:24px;min-height:0;padding:20px 24px 32px;display:grid;overflow-y:auto}.plan-hotkeys-group h4{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);margin:0 0 10px;font-size:11px;font-weight:800}.plan-hotkeys-group ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.plan-hotkeys-group li{border-radius:6px;align-items:baseline;gap:12px;padding:7px 8px;display:flex}.plan-hotkeys-group li:nth-child(odd){background:var(--page)}.plan-hotkeys-keys{flex-wrap:wrap;flex:none;align-items:center;gap:3px;width:132px;display:flex}.plan-hotkeys-keys kbd{color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);white-space:nowrap;border-bottom-width:2px;border-radius:4px;padding:2px 6px;font-family:inherit;font-size:11px;font-weight:700}.plan-hotkeys-plus{color:var(--ink-3);margin:0 2px;font-size:10px}.plan-hotkeys-what{color:var(--ink);flex-direction:column;gap:2px;font-size:13px;display:flex}.plan-hotkeys-what small{color:var(--ink-3);font-size:11px;line-height:1.4}.plan-hotkeys.plan-hotkeys-popover{grid-template-columns:unset;flex-direction:column;flex:none;gap:12px;min-height:0;padding:0;display:flex;overflow:visible}.plan-hotkeys.plan-hotkeys-popover .plan-hotkeys-group li{gap:8px;padding:5px 4px}.plan-hotkeys.plan-hotkeys-popover .plan-hotkeys-keys{width:108px}.plan-hotkeys.plan-hotkeys-popover .plan-hotkeys-what{font-size:12px}.plan-page-head{flex:none;align-items:center;gap:16px;display:flex}.plan-page-title.job-name-with-notes{flex:1;min-width:0}.plan-page-title h1{min-width:0;margin:0;font-size:20px}.plan-page-title span{color:var(--ink-2);font-size:12px}.plan-tabs{background:var(--surface);border:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:8px 8px 0 0;flex-wrap:wrap;flex:none;align-items:stretch;gap:0;display:flex}.plan-tabs-list{-webkit-overflow-scrolling:touch;flex:1;align-items:stretch;min-width:0;display:flex;overflow-x:auto}.plan-tabs-estimate-btn{white-space:nowrap;flex:none;align-self:center;height:28px;padding:0 12px;font-size:12px}.plan-tabs-actions{flex:none;align-self:center;align-items:center;gap:6px;margin:4px 8px 4px 12px;display:flex}.plan-tabs-settings{flex:none;position:relative}.plan-tabs-settings-btn{appearance:none;border:1px solid var(--border-strong);background:var(--surface);width:28px;height:28px;color:var(--ink-2);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.plan-tabs-settings-btn:hover,.plan-tabs-settings-btn.active{color:var(--ink);border-color:var(--green);background:var(--page)}.plan-tabs-settings .plan-settings-popover.menu-popover{top:calc(100% + 6px);right:0}.plan-tab{appearance:none;height:36px;color:var(--ink-2);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;align-items:center;gap:6px;padding:0 14px;font-size:12px;font-weight:600;display:inline-flex}.plan-tab:hover{color:var(--ink);background:var(--page)}.plan-tab.active{color:var(--green-dark);border-bottom-color:var(--green)}.plan-tab-scope-review.has-saved-review{gap:8px}.plan-tab-saved-dot{background:var(--green);border-radius:50%;flex:none;width:7px;height:7px}.plan-tab-item{border-bottom:2px solid #0000;flex-shrink:0;align-items:stretch;display:flex}.plan-tab-item.active{border-bottom-color:var(--green)}.plan-tab-item .plan-tab{border-bottom:none;padding-right:4px}.plan-tab-item.active .plan-tab{color:var(--green-dark)}.plan-tab-sheet{text-overflow:ellipsis;max-width:200px;color:var(--ink);font-weight:700;overflow:hidden}.plan-tab-item.active .plan-tab-sheet{color:var(--ink)}.plan-tab-close{appearance:none;width:28px;color:var(--ink-3);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.plan-tab-close:hover{color:var(--ink);background:var(--page)}.plan-tabs .plan-sheet-group-strip{-webkit-overflow-scrolling:touch;border-left:1px solid var(--border);background:0 0;flex-wrap:nowrap;flex:120px;align-self:center;align-items:center;gap:6px;min-width:0;max-width:100%;margin:4px 0 4px 4px;padding:4px 8px;display:flex;overflow-x:auto}@media (width<=480px){.plan-tabs .plan-sheet-group-strip{border-left:none;border-top:1px solid var(--border);flex:100%;order:3;margin:0;padding:6px 8px}.plan-tabs-actions{order:2}}.plan-sheet-group-chip{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.plan-note,.plan-error{border-radius:8px;flex:none;justify-content:space-between;align-items:center;gap:12px;padding:9px 14px;font-size:13px;display:flex}.plan-note{background:color-mix(in srgb, var(--green) 10%, transparent);border:1px solid color-mix(in srgb, var(--green) 25%, transparent);color:var(--green-dark)}.plan-error{color:#a32d2d;background:#a32d2d14;border:1px solid #a32d2d4d}.plan-error button,.plan-note button{color:inherit;cursor:pointer;background:0 0;border:none;font-size:12px;text-decoration:underline}.plan-set{flex-direction:column;flex:1;gap:14px;min-height:0;display:flex;overflow-y:auto}.plan-set-head{flex-shrink:0;justify-content:flex-end;align-items:center;gap:16px;display:flex}.plan-set-files{flex-direction:column;gap:10px;display:flex}.plan-set-file-group{border:1px solid var(--border-strong);background:var(--surface);border-radius:10px;flex-direction:column;gap:0;display:flex;overflow:hidden}.plan-set-file-group-head{background:var(--surface-2);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.plan-set-file-group-summary{flex-direction:column;gap:2px;min-width:0;display:flex}.plan-set-file-group-summary strong{font-size:13px}.plan-set-file-group-summary span{color:var(--ink-2);font-size:11px}.plan-set-file-row{background:var(--surface);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.plan-set-file-info{flex-direction:column;gap:2px;min-width:0;display:flex}.plan-set-file-info strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.plan-set-file-info span{color:var(--ink-2);font-size:11px}.plan-set-file-row .btn-danger{flex-shrink:0}.plan-file-input{display:none}.plan-set-empty{text-align:center;color:var(--ink-2);background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:60px 24px;display:flex}.plan-set-empty p{color:var(--ink);margin:6px 0 0;font-weight:700}.plan-set-empty span{font-size:12px}.plan-bulk-bar{z-index:10;box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-shrink:0;align-items:center;gap:8px;min-height:40px;padding:8px 12px;font-size:12px;font-weight:700;display:flex;position:sticky;top:0;box-shadow:0 2px 6px #0000000f}.plan-bulk-bar-empty>span{color:var(--muted)}.plan-tile-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (width>=600px){.plan-tile-grid{grid-template-columns:repeat(3,1fr);gap:14px}}@media (width>=900px){.plan-tile-grid{grid-template-columns:repeat(4,1fr)}}@media (width>=1100px){.plan-tile-grid{grid-template-columns:repeat(5,1fr);gap:16px}}.plan-tile{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;display:flex;position:relative;overflow:hidden}.plan-tile.selected{border-color:var(--green);box-shadow:0 0 0 2px color-mix(in srgb, var(--green) 20%, transparent)}.plan-tile.is-dragging{opacity:.4}.plan-tile-drag-handle{z-index:2;background:var(--green);color:#fff;cursor:grab;border-radius:6px;justify-content:center;align-items:center;padding:6px;display:flex;position:absolute;top:8px;right:8px}.plan-tile-drag-handle:hover{background:var(--green-dark)}.plan-tile-drag-handle:active{cursor:grabbing}.plan-tile-check{z-index:2;cursor:pointer;background:#ffffffe6;border-radius:6px;padding:6px;line-height:0;position:absolute;top:8px;left:8px}.plan-tile-check input[type=checkbox]{cursor:pointer;width:22px;height:22px;accent-color:var(--green-dark);margin:0}.plan-tile-thumb{appearance:none;cursor:pointer;aspect-ratio:3/2;box-sizing:border-box;border:none;border-bottom:1px solid var(--border);background:#f0f2f1;justify-content:center;align-items:center;width:100%;height:auto;min-height:90px;padding:8px;display:flex;overflow:hidden}.plan-tile-thumb img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.plan-tile-thumb-stack{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.plan-tile-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.plan-tile-loading,.plan-tile-failed{color:var(--ink-3);text-align:center;font-size:11px}.plan-tile-meta{flex-direction:column;gap:5px;padding:9px 10px 10px;display:flex}.plan-tile-id-row{align-items:center;gap:4px;display:flex}.plan-tile-number{background:0 0;border:1px solid #0000;border-radius:5px;flex:none;width:4.5em;min-width:40px;padding:3px 6px;font-family:inherit;font-size:13px;font-weight:800}.plan-tile-number:hover,.plan-tile-number:focus{border-color:var(--border-strong);background:var(--page);outline:none}.plan-tile-title{width:auto;min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:5px;flex:auto;padding:2px 6px;font-family:inherit;font-size:11px;font-weight:400;overflow:hidden}.plan-tile-title:hover,.plan-tile-title:focus{border-color:var(--border-strong);background:var(--page);color:var(--ink);outline:none}.plan-tile-foot{color:var(--ink-3);justify-content:flex-end;align-items:center;padding-top:2px;font-size:10px;display:flex}.plan-tile-uncal{color:#b45309;font-weight:700}.plan-tile-cal{color:var(--green-dark);font-weight:700}.plan-tile-shared{background:var(--green-dark);color:#fff;border-radius:999px;align-items:center;gap:3px;margin-left:6px;padding:1px 7px;font-weight:700;display:inline-flex}.plan-tile-needs-label .plan-tile-number{background:#f59e0b14;border-color:#f59e0b}.plan-tile-needs-label .plan-tile-number::placeholder{color:#b45309;font-weight:600}.plan-viewer{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.plan-toolbar{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;flex:none;align-items:center;gap:18px;padding:8px 12px;display:flex}.plan-tool-group{align-items:center;gap:6px;display:flex}.plan-zoom-group{margin-left:auto}.plan-tool{border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:6px 11px;font-family:inherit;font-size:12px;font-weight:700;display:inline-flex}.plan-tool:hover:not(:disabled){background:var(--page)}.plan-tool.active:hover:not(:disabled){background:var(--green-dark);border-color:var(--green-dark);color:#fff}.plan-tool.active{background:var(--green);border-color:var(--green);color:#fff}.plan-tool:disabled{opacity:.45;cursor:default}.plan-scale-control{flex:none;position:relative}.plan-scale-trigger{white-space:nowrap}.plan-scale-trigger strong{font-weight:700}.plan-scale-trigger.is-set{background:var(--green-dark);border-color:var(--green-dark);color:#fff}.plan-scale-trigger.is-set:hover:not(:disabled),.plan-scale-trigger.is-set.active:hover:not(:disabled){background:var(--green-dark);border-color:var(--green-dark);color:#fff;filter:brightness(1.05)}.plan-scale-trigger.is-unset{background:var(--danger);border-color:var(--danger);color:#fff}.plan-scale-trigger.is-unset:hover:not(:disabled),.plan-scale-trigger.is-unset.active:hover:not(:disabled){background:var(--danger);border-color:var(--danger);color:#fff;filter:brightness(1.05)}.plan-scale-chevron{opacity:.85}.plan-scale-control .plan-scale-menu.menu-popover{z-index:120;min-width:210px;padding:6px;top:calc(100% + 6px);left:0}.plan-scale-menu-item{appearance:none;width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:7px 10px;font-size:12px;font-weight:600;display:flex}.plan-scale-menu-item:hover{background:var(--page)}.plan-scale-menu-item.is-current{background:var(--green-soft);color:var(--green-dark)}.plan-scale-menu-divider{background:var(--border);height:1px;margin:4px 0}.plan-scale-menu-item--calibrate{color:var(--ink-2)}.plan-style-group select{border:2px solid var(--border-strong);background:var(--surface);cursor:pointer;border-radius:6px;padding:4px 7px;font-family:inherit;font-size:12px}.plan-style-group select:hover{background:var(--page)}.plan-style-group select:focus{border-color:var(--green);outline:0}.plan-style-color-custom-input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.plan-color-popover.menu-popover{z-index:120;background:var(--surface);border:1px solid var(--border);border-radius:4px;width:244px;padding:0;position:fixed;overflow:hidden;box-shadow:0 8px 24px #0f1e3029}.plan-trade-color-popover.menu-popover{z-index:120;background:var(--surface);border:1px solid var(--border);border-radius:8px;width:216px;padding:10px;position:fixed;box-shadow:0 8px 24px #0f1e3029}.plan-trade-color-popover .scope-color-swatches{flex-wrap:wrap}.plan-style-group{position:relative}.plan-settings-popover.menu-popover{z-index:120;background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:9px;width:300px;max-height:min(80vh,560px);padding:12px;display:flex;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 8px 24px #0f1e3029}.plan-settings-popover h4{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);margin:0 0 2px;font-size:11px;font-weight:800}.plan-settings-row{color:var(--ink);justify-content:space-between;align-items:center;gap:10px;font-size:12px;font-weight:600;display:flex}.plan-settings-row select,.plan-settings-row input[type=number]{border:1px solid var(--border-strong);background:var(--surface);width:118px;color:var(--ink);border-radius:6px;flex:none;padding:4px 6px;font-family:inherit;font-size:12px;font-weight:400}.plan-settings-row input[type=range]{flex:none;width:118px}.plan-settings-rule{border:none;border-top:1px solid var(--border);margin:2px 0}.plan-settings-preview{border:1px solid var(--border);background:var(--page);border-radius:6px;align-items:center;gap:8px;padding:6px;display:flex}.plan-settings-preview svg{flex:none;width:40px;height:40px}.plan-settings-preview span{color:var(--ink-3);font-size:11px}.plan-color-popover-preview{border-bottom:1px solid var(--border);height:22px}.plan-color-swatches{grid-template-columns:repeat(12,18px);justify-content:start;gap:2px;padding:8px;display:grid}.plan-color-swatch{cursor:pointer;box-sizing:border-box;border:1px solid #0000001f;border-radius:0;width:18px;height:18px;padding:0}.plan-color-swatch:hover:not(:disabled){border-color:var(--ink);z-index:1}.plan-color-swatch.active{border:2px solid var(--ink);box-shadow:inset 0 0 0 1px #fff}.plan-color-swatch:disabled{opacity:.35;cursor:not-allowed}.plan-color-custom-btn{text-align:left;width:calc(100% - 16px);color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);cursor:pointer;border-radius:4px;margin:0 8px 8px;padding:6px 10px;font-family:inherit;font-size:12px;font-weight:700;display:block}.plan-color-custom-btn:hover{background:var(--page)}.plan-style-custom-width{border:1px solid var(--border-strong);background:var(--surface);border-radius:6px;width:52px;padding:5px 6px;font-family:inherit;font-size:12px}.plan-zoom-readout{font-variant-numeric:tabular-nums;text-align:center;min-width:46px;color:var(--ink-2);font-size:12px}.plan-hint{color:#1d4ed8;background:#1d4ed814;border:1px solid #1d4ed833;border-radius:8px;flex:none;padding:7px 13px;font-size:12px}.plan-calibration-prompt{background:var(--surface);border:1px solid var(--green);border-radius:8px;flex:none;align-items:center;gap:10px;padding:9px 13px;font-size:13px;display:flex}.plan-calibration-prompt label{align-items:center;gap:7px;display:flex}.plan-calibration-prompt input{border:1px solid var(--border-strong);border-radius:6px;width:90px;padding:5px 8px;font-family:inherit}.plan-workspace{flex-direction:column;flex:1;gap:0;min-height:0;display:flex}.plan-workspace.plan-side-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.plan-side-wrap{flex:none;max-width:100%;min-height:0;display:flex;position:relative}.plan-side-resize{cursor:col-resize;z-index:3;touch-action:none;width:12px;position:absolute;top:0;bottom:0;left:-6px}.plan-side-resize:after{content:"";background:0 0;border-radius:2px;width:2px;transition:background .15s;position:absolute;top:0;bottom:0;left:5px}.plan-side-resize:hover:after,.plan-workspace.plan-side-resizing .plan-side-resize:after{background:var(--border-strong)}.plan-side{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex:1;width:100%;min-width:0;padding:12px;overflow-y:auto}.plan-context-menu.menu-popover{z-index:1000;max-height:min(320px,100vh - 16px);position:fixed;top:auto;right:auto;overflow-y:auto}.plan-context-menu-wide.menu-popover{width:min(320px,100vw - 16px);max-height:min(420px,100vh - 16px)}.plan-context-menu-assign{flex-direction:column;gap:10px;display:flex}.plan-context-menu-header{align-items:center;gap:2px;display:flex}.plan-context-menu-title{min-width:0;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;flex:1;padding:5px 8px 5px 0;font-size:10px;font-weight:700}.plan-context-menu-header .plan-context-menu-back{cursor:pointer;width:28px;height:28px;color:var(--ink-2);background:0 0;border:0;border-radius:5px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.plan-context-menu-header .plan-context-menu-back:hover{background:var(--page);color:var(--ink)}.plan-context-menu-assign .plan-assign-fields-compact label{min-width:0}.plan-context-menu-assign .plan-assign-actions .btn{border:1px solid var(--border-strong);background:var(--surface);width:auto;color:var(--ink);justify-content:center;padding:6px 12px;font-size:12px;font-weight:600}.plan-context-menu-assign .plan-assign-actions .btn:hover{background:var(--page)}.plan-context-menu-assign .plan-assign-actions .btn-primary{background:var(--green);border-color:var(--green);color:#fff}.plan-context-menu-assign .plan-assign-actions .btn-primary:hover{background:var(--green-deep);border-color:var(--green-deep)}.plan-context-menu-assign .plan-assign-actions .btn:disabled{opacity:.45;cursor:not-allowed}.plan-context-menu-active{background:var(--green-soft);color:var(--green-deep)}.plan-canvas-shell{border:1px solid var(--border);touch-action:none;background:#4b5563;border-radius:8px;flex:1;min-height:0;position:relative;overflow:hidden}.plan-canvas-shell.tool-linear,.plan-canvas-shell.tool-dimension,.plan-canvas-shell.tool-calibrate{cursor:crosshair}.plan-stage{transform-origin:0 0;background:#fff;position:absolute;top:0;left:0;box-shadow:0 2px 16px #00000059}.plan-canvas-host,.plan-canvas-host .plan-page-canvas,.plan-overlay{width:100%;height:100%;position:absolute;inset:0}.plan-overlay{pointer-events:none}.plan-dimension-text{paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round;font-weight:700}.plan-loading{color:#fff;place-items:center;font-size:13px;display:grid;position:absolute;inset:0}.plan-side h3{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);align-items:center;gap:7px;margin:0 0 8px;font-size:12px;display:flex}.plan-side-heading{margin-top:18px}.plan-count{background:var(--page);color:var(--ink-2);border-radius:20px;padding:1px 8px;font-size:11px}.plan-side-empty{color:var(--ink-3);margin:0;font-size:12px;line-height:1.45}.plan-measure-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.plan-takeoff-sections{flex-direction:column;gap:14px;display:flex}.plan-takeoff-trade-section{cursor:pointer;border:1px solid color-mix(in srgb, var(--trade-accent,var(--border)) 35%, var(--border));background:color-mix(in srgb, var(--trade-accent,var(--ink-3)) 5%, var(--surface));border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex}.plan-takeoff-trade-heading{text-transform:uppercase;letter-spacing:.06em;color:#fff;background:var(--trade-accent,var(--green));border-radius:6px;align-self:flex-start;align-items:center;gap:7px;margin:0;padding:4px 10px;font-size:10px;font-weight:800;display:inline-flex}.plan-takeoff-trade-visibility{color:inherit;opacity:.85;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:0;display:inline-flex}.plan-takeoff-trade-visibility:hover{opacity:1}.plan-takeoff-trade-color-swatch{box-sizing:border-box;border:1px solid #ffffff8c;border-radius:3px;flex:none;width:13px;height:13px;display:inline-block}.plan-takeoff-cards{flex-direction:column;gap:8px;display:flex}.plan-takeoff-card{border:1px solid var(--border);border-left:3px solid var(--trade-accent,var(--border));background:var(--surface);cursor:pointer;border-radius:8px;overflow:hidden}.plan-takeoff-card.is-selected{border-color:#2563eb73;box-shadow:0 0 0 1px #2563eb33}.plan-takeoff-card-head{border-bottom:1px solid var(--border);background:var(--page);align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.plan-takeoff-card-titles{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.plan-takeoff-card-titles strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800;line-height:1.2;overflow:hidden}.plan-takeoff-card-titles span{color:var(--ink-3);text-transform:uppercase;letter-spacing:.03em;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:600;overflow:hidden}.plan-takeoff-card-total{font-variant-numeric:tabular-nums;color:var(--ink);flex-direction:column;flex:none;align-items:flex-end;gap:2px;font-size:12px;font-weight:800;display:flex}.plan-takeoff-card-lines{margin:0;padding:0;list-style:none}.plan-takeoff-card-lines .plan-measure-row{border-bottom:1px solid var(--border);cursor:pointer;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 10px;font-size:12px;display:flex}.plan-takeoff-card-lines .plan-measure-row:last-child{border-bottom:none}.plan-takeoff-card-lines--nested{border-top:1px solid var(--border);flex-basis:100%;margin:4px 0 0 26px}.plan-takeoff-card-lines--nested .plan-measure-row{padding:4px 8px;font-size:11px}.plan-takeoff-card-lines--nested .plan-measure-row:last-child{border-bottom:none}.plan-measure-area-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.plan-measure-field-label{color:var(--ink-3);font-weight:500}.plan-measure-line-main{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.plan-measure-line-label{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.plan-measure-list li{border-bottom:1px solid var(--border);border-radius:4px;align-items:center;gap:8px;padding:4px 2px;font-size:12px;display:flex}.plan-measure-list li.plan-measure-row{cursor:pointer}.plan-takeoff-card-lines .plan-measure-row.is-selected{background:#2563eb1a}.plan-takeoff-card-lines .plan-measure-row.is-hidden{opacity:.55}.plan-measure-row-swatch{border-radius:3px;width:12px;height:12px}.plan-takeoff-card-lines .plan-measure-row .plan-measure-delete-btn{background:var(--surface);color:var(--danger);cursor:pointer;border:1px solid #e7c9c9;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:3px 4px;line-height:0;display:inline-flex}.plan-takeoff-card-lines .plan-measure-row .plan-measure-delete-btn:hover{background:var(--danger-soft)}.plan-takeoff-card-lines .plan-measure-row .plan-measure-priced-check{color:var(--green-dark);flex:none;justify-content:center;align-items:center;padding:3px;line-height:0;display:inline-flex}.plan-takeoff-card-lines .plan-measure-row .plan-measure-edit-btn{border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-2);cursor:pointer;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:3px 4px;line-height:0;display:inline-flex}.plan-takeoff-card-lines .plan-measure-row .plan-measure-edit-btn:hover{background:#0000000f}.plan-takeoff-card-lines .plan-measure-row .plan-measure-visibility-btn{background:var(--surface);color:#000;cursor:pointer;border:1px solid #000;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:3px 4px;line-height:0;display:inline-flex}.plan-takeoff-card-lines .plan-measure-row .plan-measure-visibility-btn:hover{background:#0000000f}.plan-takeoff-card-lines .plan-measure-row .plan-measure-visibility-btn[aria-pressed=true]{color:var(--ink-2)}.plan-takeoff-card-lines .plan-measure-row .plan-measure-kind-icon{border:1px solid var(--green-dark);background:var(--green-soft);color:var(--green-dark);border-radius:4px;flex:none;justify-content:center;align-items:center;padding:3px 4px;line-height:0;display:inline-flex}.plan-visibility-bar{border:1px solid var(--green-dark);background:var(--green-soft);border-radius:6px;align-self:flex-start;margin:0 0 8px;display:inline-flex;overflow:hidden}.plan-visibility-bar button{color:var(--green-dark);cursor:pointer;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:600;transition:background .1s,color .1s;display:inline-flex}.plan-visibility-bar button+button{border-left:1px solid var(--green-dark)}.plan-visibility-bar button:hover:not(:disabled):not(.is-on){background:color-mix(in srgb, var(--green-dark) 12%, var(--green-soft))}.plan-visibility-bar button.is-on,.plan-visibility-bar button:disabled.is-on{background:var(--green-dark);color:#fff;cursor:default}.plan-visibility-bar button:disabled:not(.is-on){opacity:.45;cursor:default}.plan-measure-list li.is-selected{background:#2563eb1a;outline:1px solid #2563eb66}.plan-swatch{border-radius:4px;flex:none;width:16px;height:16px}.plan-swatch-btn{cursor:pointer;box-sizing:border-box;border:1px solid #00000026;padding:0}.plan-swatch-btn:hover{border-color:var(--ink)}.plan-measure-list .plan-swatch{border-radius:3px;width:10px;height:10px}.plan-swatch-dimension{background:#1d4ed8}.plan-measure-value{font-variant-numeric:tabular-nums;font-weight:700}.plan-measure-list li button{color:var(--ink-3);cursor:pointer;background:0 0;border:none;padding:2px;line-height:0}.plan-measure-list li button:hover{color:#a32d2d}.plan-total{border-top:2px solid var(--border-strong);justify-content:space-between;align-items:center;margin-top:10px;padding-top:9px;font-size:13px;display:flex}.plan-total strong{font-variant-numeric:tabular-nums}.plan-assign-card{background:var(--surface);border:1px solid var(--green);border-radius:8px;flex-direction:column;flex:none;gap:10px;padding:12px 14px;display:flex}.plan-assign-bar{background:var(--surface);border:1px solid var(--green);border-radius:8px;flex:none;padding:10px 14px;display:flex}.plan-assign-bar .plan-assign-fields{flex-wrap:nowrap;align-items:flex-start;width:100%}.plan-assign-bar .plan-assign-fields label{min-width:150px}.plan-assign-item-save-actions{gap:6px;margin-top:6px;display:flex}.plan-assign-head{flex-direction:column;gap:2px;display:flex}.plan-assign-head strong{font-size:13px}.plan-assign-head span{color:var(--ink-2);font-size:11px}.plan-assign-fields{flex-wrap:wrap;gap:12px;display:flex}.plan-assign-fields-compact{flex-direction:column}.plan-assign-fields label{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);flex-direction:column;flex:1;gap:4px;min-width:190px;font-size:11px;font-weight:700;display:flex}.plan-assign-fields select,.plan-assign-fields input{text-transform:none;letter-spacing:0;color:var(--ink);border:1px solid var(--border-strong);background:var(--surface);border-radius:6px;padding:7px 9px;font-family:inherit;font-size:13px;font-weight:400}.plan-assign-fields input.plan-assign-input-needed{background:#a32d2d0f;border-color:#a32d2d}.plan-assign-fields input.plan-assign-input-needed::placeholder{color:#a32d2d;opacity:.75}.plan-assign-item-field{min-width:100%}.plan-assign-item-head{color:var(--ink);display:block}.plan-assign-new-btn{text-transform:none;letter-spacing:0;justify-content:center;align-items:center;gap:4px;width:100%;margin-top:6px;font-weight:700;display:inline-flex}.plan-context-menu-assign .plan-assign-new-btn{background:var(--green);border-color:var(--green);color:#fff}.plan-context-menu-assign .plan-assign-new-btn:hover:not(:disabled){background:var(--green-dark);border-color:var(--green-dark);color:#fff}.plan-assign-new-btn:disabled{opacity:.55}.plan-assign-hint{color:var(--ink-2);margin:0;font-size:11px}.plan-assign-warn{color:#b45309;margin:0;font-size:12px}.plan-assign-actions{gap:8px;display:flex}.plan-assign-summary{background:color-mix(in srgb, var(--green) 8%, transparent);border:1px solid color-mix(in srgb, var(--green) 30%, transparent);border-radius:8px;flex:none;align-items:center;gap:10px;padding:7px 13px;font-size:13px;display:flex}.plan-assign-summary strong{font-size:13px}.plan-assign-summary .btn{margin-left:auto}.plan-assign-kind{background:var(--green);color:#fff;text-transform:uppercase;letter-spacing:.05em;border-radius:6px;padding:2px 9px;font-size:10px;font-weight:800}.plan-assign-height{color:var(--ink-2);font-size:12px}.plan-hint{align-items:center;gap:12px;display:flex}.plan-hint-live{font-variant-numeric:tabular-nums;color:#fff;background:#1d4ed8;border-radius:20px;margin-left:auto;padding:2px 12px;font-size:12px}.plan-segment-panel{background:#dc26260f;border:1px solid #dc26264d;border-radius:8px;flex:none;align-items:center;gap:12px;padding:8px 14px;font-size:13px;display:flex}.plan-segment-blocked{color:#a32d2d;font-size:12px}.plan-segment-panel .btn{margin-left:auto}.plan-segment-panel .btn+.btn{margin-left:0}.plan-selection-panel{background:#2563eb0f;border:1px solid #2563eb4d;border-radius:8px;flex:none;align-items:center;gap:10px;padding:8px 14px;font-size:13px;display:flex}.plan-selection-panel span{flex:1;min-width:0}.plan-selection-panel .btn{flex:none}.plan-measure-main{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.plan-measure-dest{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.plan-totals{border-top:2px solid var(--border-strong);flex-direction:column;gap:4px;margin-top:10px;padding-top:9px;display:flex}.plan-totals .plan-total{border-top:none;margin-top:0;padding-top:0}.plan-canvas-shell.tool-area,.plan-canvas-shell.tool-surfaceArea,.plan-canvas-shell.tool-count{cursor:crosshair}.plan-canvas-shell.tool-select{cursor:default}.plan-canvas-shell.plan-custom-crosshair{cursor:none}.night-mode .panel,.night-mode .card,.night-mode .pipeline-card,.night-mode .financial-card,.night-mode .tracker-tabs-card,.night-mode .block-body,.night-mode .settings-panel,.night-mode .plain-box,.night-mode .portal-access-card,.night-mode .stack-import-panel,.night-mode .modal,.night-mode .modal-card,.night-mode .gsr-stub-card,.night-mode .feeds-card,.night-mode .sub-login-card,.night-mode .wall{background:var(--night-card-fill);color:var(--night-card-ink);--ink:var(--night-card-ink);--ink-2:var(--night-card-ink-2);--ink-3:var(--night-card-ink-3);--ink-soft:var(--night-card-ink-2);--text-primary:var(--night-card-ink);--text-secondary:var(--night-card-ink-2);--text-muted:var(--night-card-ink-3);--border:color-mix(in srgb, var(--night-card-ink) 18%, var(--night-card-fill));--border-strong:color-mix(in srgb, var(--night-card-ink) 32%, var(--night-card-fill))}.night-mode .core-values-logo{filter:brightness(0)saturate()invert(90%)sepia(30%)saturate(500%)hue-rotate()brightness(95%)contrast(90%)}.night-mode .core-value-item{color:var(--night-accent)}.night-mode .core-value-sep{background:var(--night-accent)}.night-mode .sidebar-link{color:var(--night-accent)}.night-mode .core-values-bar .who,.night-mode .notif-bell-btn,.night-mode .ai-assistant-btn,.night-mode .sidebar-feedback-btn{color:var(--night-accent);border-color:color-mix(in srgb, var(--night-accent) 35%, transparent)}.night-mode .core-values-bar .who:hover,.night-mode .notif-bell-btn:hover,.night-mode .sidebar-feedback-btn:hover{border-color:var(--night-accent);color:var(--night-accent)}.night-mode .btn:hover{background:var(--surface-hover)}.night-mode .btn-icon:hover{background:var(--surface-hover);color:var(--ink)}.night-mode .btn-primary.gsr-save-saved{background:color-mix(in srgb, var(--green) 22%, #2d3330);border-color:color-mix(in srgb, var(--green) 45%, #2d3330);color:#a8e0be}.night-mode .btn-primary.gsr-save-saved:hover{background:color-mix(in srgb, var(--green) 30%, #2d3330)}.night-mode .btn-primary.btn-plans-uploaded{background:color-mix(in srgb, var(--green) 22%, #2d3330);border-color:color-mix(in srgb, var(--green) 45%, #2d3330);color:#a8e0be}.night-mode .btn-primary.btn-plans-uploaded:hover{background:color-mix(in srgb, var(--green) 30%, #2d3330)}.night-mode .btn-danger{border-color:color-mix(in srgb, var(--danger) 40%, #2d3330)}.night-mode .btn-danger:hover{background:color-mix(in srgb, var(--danger) 18%, #2d3330)}.night-mode .feeds-card-member-more{background:var(--surface-elevated)}.night-mode .feeds-card-member-more:hover{background:var(--surface-hover)}.night-mode .feeds-card-channel-tab.is-active{background:var(--night-accent-soft);color:var(--night-accent);border-color:color-mix(in srgb, var(--night-accent) 45%, #3a403d)}.night-mode .chip-muted{background:var(--surface-elevated);border-color:var(--border);color:var(--ink-2)}.night-mode .change-order-row-actions .btn:hover,.night-mode .tracker-table-change-orders tbody tr.tracker-change-order-row:hover{background:var(--surface-hover)}.night-mode .status-picker-flag-action{background:color-mix(in srgb, var(--danger) 18%, #2d3330)!important;color:#f0a8a8!important}.night-mode .status-picker-flag-action:hover{background:color-mix(in srgb, var(--danger) 18%, #2d3330)!important}.night-mode .vendor-quote-pdf{background:var(--surface)}.night-mode .vendor-quote-badge.update{color:#a8c8e8;background:#30404a}.night-mode .scope-review-confidence-high{background:color-mix(in srgb, var(--green) 18%, #2d3330);color:#9fd4b0}.night-mode .scope-review-confidence-medium{color:#a8c8e8;background:#30404a}.night-mode .scope-review-confidence-low{color:#e8d48a;background:#514629;border-color:#977430}.night-mode .scope-review-details{background:var(--card)}.night-mode .user-mgmt-table tr:hover td{background:var(--surface-hover)}.night-mode .section-alt-toggle.on-light .section-alt-track{background:var(--surface-elevated)}.night-mode .section-alt-toggle.on-light input:checked+.section-alt-track{background:var(--night-accent-muted)}.night-mode .section-alt-toggle.on-light input:checked+.section-alt-track .section-alt-thumb{background:var(--night-accent)}.night-mode .job-pill-main,.night-mode .job-pill-btn{background:var(--surface);color:var(--night-accent);border-color:color-mix(in srgb, var(--night-accent) 35%, #3a403d);box-shadow:0 1px 3px #0000004d}.night-mode .job-pill-btn:hover{background:var(--surface-elevated);color:var(--night-accent);border-color:var(--night-accent)}.night-mode .job-pill-btn:active{background:var(--surface-hover)}.night-mode .job-pill-btn:focus-visible{outline-color:var(--night-accent)}.night-mode .gsr-doc-mat{background:var(--page)}.night-mode .gsr-doc-page{background:var(--surface);color:var(--ink);border-color:var(--border);box-shadow:0 8px 28px #00000059}.night-mode .gsr-doc-kicker{color:#7ec9a0}.night-mode .gsr-doc-header h1{color:var(--ink)}.night-mode .gsr-doc-week{color:var(--ink-2)}.night-mode .estimate-table th,.night-mode .tracker-table th{background:var(--surface-elevated)}.night-mode .generate-estimate-pill:hover{background:var(--surface-hover)}.night-mode .badge-soon,.night-mode .locked-tag{background:var(--surface-elevated)}.night-mode .builder-preview-frame,.night-mode .builder-preview-pdf,.night-mode .builder-preview-frame iframe{background:var(--page)}.night-mode .dashboard-search-item:hover,.night-mode .dashboard-search-item.is-selected{background:var(--night-accent-soft)}.night-mode .gsr-status-badge[data-status=submitted],.night-mode .gsr-doc-status[data-status=submitted]{background:var(--night-accent-soft);color:var(--night-accent)}.night-mode .gsr-doc-list li:nth-child(2n){background:var(--surface-hover)}.night-mode .gsr-doc-stat-value{background:var(--surface-elevated)}.night-mode .gsr-doc-stat-value span{color:var(--ink)}.night-mode .gsr-doc-stat-progress{background:var(--surface-elevated)}.night-mode .gsr-doc-stat-progress>span{color:var(--ink)}.night-mode .gsr-doc-section-head{border-bottom-color:color-mix(in srgb, var(--night-accent) 45%, #3a403d)}.night-mode .gsr-doc-section-head h2{color:var(--night-accent)}.night-mode .document-preview-frame{background:var(--page)}.night-mode .plan-tile-thumb{background:var(--surface-elevated)}.night-mode .table input.cell-input:hover{background:var(--surface-hover);border-color:color-mix(in srgb, var(--night-accent) 40%, #4a524e)}.night-mode .table input.cell-input:focus,.night-mode .cell-input:focus{background:var(--surface);border-color:color-mix(in srgb, var(--night-accent) 50%, #4a524e);outline-color:color-mix(in srgb, var(--night-accent) 50%, #4a524e)}.night-mode .gsr-doc-textarea{background:var(--surface);color:var(--ink);border-color:var(--border)}.night-mode .job-notes-thread>.job-notes-post,.night-mode .feeds-card-posts>.job-feed-thread:nth-child(odd)>.job-feed-post,.night-mode .job-feed-posts>.job-feed-thread:nth-child(odd)>.job-feed-post{background:var(--surface-elevated)}.night-mode .feeds-card-posts>.job-feed-thread:nth-child(2n)>.job-feed-post,.night-mode .job-feed-posts>.job-feed-thread:nth-child(2n)>.job-feed-post{background:var(--surface)}.night-mode .job-feed-thread .message-composer.is-compact textarea,.night-mode .feeds-card-posts .message-composer.is-compact textarea,.night-mode .job-notes-thread .message-composer.is-compact textarea,.night-mode .subm-thread .message-composer.is-compact textarea{background:var(--surface);color:var(--ink);border-color:var(--border-strong)}.night-mode .subm-posts>.subm-thread:nth-child(odd)>.subm-post{background:var(--surface-elevated)}.night-mode .subm-posts>.subm-thread:nth-child(2n)>.subm-post{background:var(--surface)}.night-mode .gc-firm-remove-btn:hover,.night-mode .tracker-document-list .btn-danger:hover,.night-mode .job-feed-scope-picker-item:hover,.night-mode .job-feed-head:hover,.night-mode .job-feed-member-picker-item:hover,.night-mode .job-feed-members-panel li .btn:not(.job-feed-member-invite-btn):hover{background:var(--surface-hover)}.night-mode .job-feed-head-add-btn:hover{background:var(--surface-elevated)}.night-mode .tracker-table-commitments tbody tr.tracker-commitment-row:hover,.night-mode .plan-measure-list li:hover{background:var(--surface-hover)}.night-mode .plan-takeoff-card-lines .plan-measure-row .plan-measure-delete-btn{border-color:color-mix(in srgb, var(--danger) 40%, #2d3330)}.night-mode .plan-takeoff-card-lines .plan-measure-row .plan-measure-delete-btn:hover{background:color-mix(in srgb, var(--danger) 18%, #2d3330)}.night-mode .plan-takeoff-card-lines .plan-measure-row .plan-measure-visibility-btn{color:var(--ink);border-color:var(--ink)}.night-mode .plan-takeoff-card-lines .plan-measure-row .plan-measure-visibility-btn:hover{background:var(--border)}.night-mode .plan-takeoff-card-lines .plan-measure-row .plan-measure-edit-btn{color:var(--ink);border-color:var(--border-strong)}.night-mode .plan-takeoff-card-lines .plan-measure-row .plan-measure-edit-btn:hover{background:var(--border)}.night-mode .plan-takeoff-card-lines .plan-measure-row .plan-measure-kind-icon{border-color:var(--green);background:color-mix(in srgb, var(--green) 18%, #2d3330);color:var(--green)}.night-mode .plan-measure-list li.is-active{background:var(--night-accent-soft);border-color:color-mix(in srgb, var(--night-accent) 40%, #4a524e)}.night-mode .scope-footer-frp .btn:hover{background:color-mix(in srgb, var(--frp-accent) 15%, #2d3330)}.night-mode .scope-footer-paint .btn:hover{background:color-mix(in srgb, var(--paint-accent) 15%, #2d3330)}.night-mode .scope-footer-act .btn:hover{background:color-mix(in srgb, var(--act-accent) 15%, #2d3330)}.night-mode .scope-footer-framing .btn:hover{background:color-mix(in srgb, var(--framing-accent) 15%, #2d3330)}.night-mode .scope-footer-gyp .btn:hover{background:color-mix(in srgb, var(--gyp-accent) 15%, #2d3330)}.night-mode .scope-footer-resinous .btn:hover{background:color-mix(in srgb, var(--resinous-accent) 15%, #2d3330)}.night-mode .scope-footer-flooring .btn:hover{background:color-mix(in srgb, var(--flooring-accent) 15%, #2d3330)}.night-mode .scope-footer-carpentry .btn:hover{background:color-mix(in srgb, var(--carpentry-accent) 15%, #2d3330)}.night-mode .scope-footer-equipment .btn:hover{background:color-mix(in srgb, var(--equipment-accent) 15%, #2d3330)}.night-mode .scope-footer-frp .btn:disabled{background:color-mix(in srgb, var(--frp-accent) 10%, #2d3330)}.night-mode .scope-footer-paint .btn:disabled{background:color-mix(in srgb, var(--paint-accent) 10%, #2d3330)}.night-mode .scope-footer-act .btn:disabled{background:color-mix(in srgb, var(--act-accent) 10%, #2d3330)}.night-mode .scope-footer-framing .btn:disabled{background:color-mix(in srgb, var(--framing-accent) 10%, #2d3330)}.night-mode .scope-footer-gyp .btn:disabled{background:color-mix(in srgb, var(--gyp-accent) 10%, #2d3330)}.night-mode .scope-footer-resinous .btn:disabled{background:color-mix(in srgb, var(--resinous-accent) 10%, #2d3330)}.night-mode .scope-footer-flooring .btn:disabled{background:color-mix(in srgb, var(--flooring-accent) 10%, #2d3330)}.night-mode .scope-footer-carpentry .btn:disabled{background:color-mix(in srgb, var(--carpentry-accent) 10%, #2d3330)}.night-mode .scope-footer-equipment .btn:disabled{background:color-mix(in srgb, var(--equipment-accent) 10%, #2d3330)}.night-mode .block-header-actions .btn-icon:hover,.night-mode .block-header .btn-icon:hover,.night-mode .paint-door-row .btn-icon:hover,.night-mode .paint-misc-row .btn-icon:hover,.night-mode .paint-arealine-row .btn-icon:hover,.night-mode .equipment-line-row .btn-icon:hover,.night-mode .carpentry-line-row .btn-icon:hover,.night-mode .manual-material-row .btn-icon:hover,.night-mode .settings-flash.ok{background:var(--surface-hover)}.night-mode .settings-flash.err{background:color-mix(in srgb, var(--danger) 18%, #2d3330)}.night-mode .modal-backdrop{background:#000000a6}.night-mode .search:focus-within{border-color:color-mix(in srgb, var(--night-accent) 50%, #4a524e)}.night-mode a:not(.btn):not(.sidebar-link):not(.job-pill-btn){color:color-mix(in srgb, var(--night-accent) 85%, #fff)}.night-mode a:not(.btn):not(.sidebar-link):not(.job-pill-btn):hover{color:var(--night-accent)}.gyp-tab-btn{color:var(--gyp-block-ink,#e2cdd9);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:8px 12px;font-size:12px;font-weight:600;transition:background .1s,border-color .1s}.gyp-tab-btn:hover{background:var(--border)}.gyp-tab-btn-active{border-bottom-color:var(--gyp-accent,#c084b8);color:#fff}.gyp-finish-badge{border:1px solid var(--border);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:12px;padding:3px 8px;font-size:11px}.gyp-finish-badge-set{background:var(--green);border-color:var(--green);color:#fff}.gyp-finish-badge-empty{color:var(--ink-3);border-style:dashed}.gyp-finish-popup-overlay{z-index:99;position:fixed;inset:0}.gyp-finish-popup{z-index:100;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);flex-direction:column;gap:0;width:340px;display:flex;position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 8px 24px #0000002e}.gyp-finish-popup-header{border-bottom:1px solid var(--border);color:var(--ink-2);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:10px 12px 8px;font-size:12px;font-weight:700;display:flex}.gyp-finish-popup-fields{flex-direction:column;gap:6px;padding:10px 12px;display:flex}.gyp-finish-popup-fields .f{align-items:center;gap:8px;display:flex}.gyp-finish-popup-fields .f>label{width:110px;color:var(--ink-3);flex:none;font-size:11px}.gyp-finish-popup-fields .f>:last-child{flex:1;min-width:0}.gyp-finish-popup-library{border-top:1px solid var(--border);flex-direction:column;gap:4px;padding:8px 12px;display:flex}.gyp-finish-popup-library-title{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:2px;font-size:10px;font-weight:700}.gyp-finish-lib-entry{cursor:pointer;border:1px solid #0000;border-radius:5px;justify-content:space-between;align-items:center;padding:4px 8px;font-size:12px;display:flex}.gyp-finish-lib-entry:hover{background:var(--hover)}.gyp-finish-lib-entry-active{background:color-mix(in srgb, var(--green) 10%, transparent);border-color:var(--green)}.gyp-finish-popup-save-row{align-items:center;gap:6px;padding:6px 12px 4px;display:flex}.gyp-finish-popup-save-row input{flex:1;min-width:0;padding:4px 6px;font-size:12px}.gyp-finish-popup-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:6px;padding:8px 12px 10px;display:flex}.gyp-import-tab{flex-direction:column;gap:12px;padding:8px 0;display:flex}.gyp-import-group{flex-direction:column;gap:0;display:flex}.gyp-import-group-header{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--border);margin-bottom:4px;padding:4px 0 6px;font-size:11px;font-weight:700}.gyp-import-group .gyp-area-row{grid-template-columns:20px minmax(120px,180px) 80px 90px minmax(140px,1fr);align-items:start;gap:8px}.gyp-import-group .gyp-area-row>input[type=checkbox],.gyp-import-group .gyp-area-row .framing-wallarea-strip{margin-top:22px}.gyp-import-group .gyp-area-row .framing-wallarea-strip{box-sizing:border-box;height:36px}.gyp-import-row{cursor:pointer;border-radius:4px;align-items:center;gap:10px;padding:5px 4px;font-size:12px;display:flex}.gyp-import-row:hover{background:var(--hover)}.gyp-import-row-active{background:color-mix(in srgb, var(--green) 8%, transparent)}.gyp-import-area-name{flex:1;min-width:0;font-weight:500}.gyp-import-area-stats{color:var(--ink-3);flex:none;font-size:11px}.gyp-finish-inline{border-top:1px solid var(--border);margin-top:8px;padding:10px 0 4px}.gyp-finish-inline-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 12px;margin-bottom:8px;display:grid}.gyp-finish-inline-actions{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;padding-top:6px;display:flex}.gyp-finish-lib-dropdown{background:var(--surface);border:1px solid var(--border-strong);z-index:50;border-radius:6px;flex-direction:column;gap:2px;min-width:160px;padding:4px;display:flex;position:absolute;box-shadow:0 4px 16px #0000001f}.btn-link{color:var(--ink-2);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.btn-link:hover{color:var(--ink)}.chip-blue{background:color-mix(in srgb, var(--blue,#2563eb) 12%, transparent);color:var(--blue,#2563eb);border-radius:99px;padding:2px 10px;font-size:11px;font-weight:600}.btn-green{background:var(--green-soft);border-color:var(--green);color:var(--green-dark);font-weight:600}.btn-green:hover{background:color-mix(in srgb, var(--green) 18%, transparent);border-color:var(--green-dark);color:var(--green-dark)}.btn-need{background:var(--need-bg);border-color:var(--need-br);color:var(--need-ink);font-weight:600}.btn-need:hover{background:color-mix(in srgb, var(--need-br) 18%, transparent);border-color:var(--need-br);color:var(--need-ink)}.partition-types-panel{flex-direction:column;gap:0;height:100%;display:flex}.partition-types-list{border-bottom:1px solid var(--border);flex:1;min-height:0;margin-bottom:12px;overflow-y:auto}.partition-types-row{border-bottom:1px solid var(--border);flex-direction:column;gap:2px;padding:8px 0;display:flex}.partition-types-row:last-child{border-bottom:none}.partition-types-name{font-size:13px}.partition-types-detail{font-size:12px}.partition-types-add{flex-direction:column;flex:none;gap:10px;display:flex}.partition-types-add-head{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);font-size:11px;font-weight:700}.partition-types-add-fields{flex-direction:column;gap:8px;display:flex}.partition-types-field{flex-direction:column;gap:4px;font-size:13px;display:flex}.partition-types-field span{color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.partition-types-field input,.partition-types-field select{border:1px solid var(--border-strong);background:var(--surface);width:100%;color:var(--ink);border-radius:6px;padding:5px 8px;font-size:13px}.partition-types-field input:focus,.partition-types-field select:focus{outline:2px solid var(--accent);outline-offset:-1px}.partition-types-form{flex-direction:column;gap:8px;display:flex}.partition-types-form-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.partition-types-form-grid .f{margin:0}.partition-types-hint{margin:4px 0 0;font-size:11px;line-height:1.35}.partition-types-row-line{align-items:flex-start;gap:8px;display:flex}.partition-types-row-line .partition-types-row-head{flex:1;min-width:0}.partition-types-row-line>.btn-sm{flex-shrink:0;margin-top:2px}.partition-types-row-head{text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border:none;flex-direction:column;gap:2px;padding:8px 0;display:flex}.partition-types-row-title{align-items:center;gap:8px;display:flex}.partition-types-badge{text-transform:uppercase;letter-spacing:.05em;background:var(--accent-soft);color:var(--accent-ink);border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.partition-types-row-expanded{background:var(--surface-2);border-radius:8px;margin:0 -8px;padding:0 8px}.partition-types-row-body{padding-bottom:10px}.partition-types-row-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.modal.plan-viewer-modal{flex-direction:column;width:100%;max-width:min(1500px,97vw);height:94vh;max-height:94vh;padding:0;display:flex;overflow:hidden}.plan-viewer-header{border-bottom:1px solid var(--border);flex:none;gap:12px;margin-bottom:0;padding:12px 16px}.plan-viewer-project{min-width:0;color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:14px;overflow:hidden}.plan-viewer-mode,.co-amount-source{background:var(--page);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.plan-viewer-mode-btn,.co-amount-source-btn{appearance:none;color:var(--ink-soft);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;transition:background .12s,color .12s}.plan-viewer-mode-btn:hover:not(.is-active),.co-amount-source-btn:hover:not(.is-active):not(:disabled){color:var(--ink)}.plan-viewer-mode-btn.is-active,.co-amount-source-btn.is-active{background:var(--green-dark);color:#fff}.co-amount-source-btn:disabled{opacity:.45;cursor:not-allowed}.plan-viewer-mode-btn:focus-visible,.co-amount-source-btn:focus-visible,.plan-section-chip:focus-visible,.plan-thumb:focus-visible{outline:2px solid var(--pick-br);outline-offset:2px}.co-takeoff-bar{background:var(--type-bg);color:var(--type-ink);border-bottom:1px solid var(--border);flex-wrap:wrap;flex:none;align-items:center;gap:8px 16px;padding:8px 16px;display:flex}.co-takeoff-picker{align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.modal .co-takeoff-picker select{border:1px solid var(--type-br);border-radius:6px;min-width:240px;max-width:420px;padding:4px 8px;font-size:13px}.co-takeoff-note{margin:0;font-size:13px}.plan-viewer-body{flex:1;min-height:0;display:flex}.plan-viewer-sidebar{border-right:1px solid var(--border);background:var(--surface);flex:none;width:264px;overflow-y:auto}.plan-viewer-main{background:var(--page);flex:1;min-width:0;min-height:0;padding:12px;display:flex}.plan-viewer-status{text-align:center;max-width:420px;color:var(--ink-soft);margin:auto;padding:24px}.plan-viewer-error{color:var(--danger)}.plan-browser-sections{z-index:1;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px;padding:12px;display:flex;position:sticky;top:0}.plan-section-chip{appearance:none;color:var(--ink);background:var(--page);cursor:pointer;white-space:nowrap;border:none;border-radius:999px;padding:5px 11px;font-size:12px;font-weight:600}.plan-section-chip:hover:not(.is-active){filter:brightness(.96)}.plan-section-chip.is-active{background:var(--green-dark);color:#fff}.plan-section-count{opacity:.7;margin-left:2px;font-weight:500}.plan-browser-strip{flex-direction:column;gap:8px;padding:12px;display:flex}.plan-thumb{appearance:none;text-align:left;background:var(--surface);border:1px solid var(--border);cursor:pointer;width:100%;color:var(--ink);border-radius:8px;gap:4px;padding:6px;display:grid}.plan-thumb:hover:not(.is-selected){border-color:var(--border-strong)}.plan-thumb.is-selected{border-color:var(--green-dark);box-shadow:0 0 0 2px var(--green-soft)}.plan-thumb-img{background:var(--page);border-radius:4px;justify-content:center;align-items:center;height:132px;display:flex;overflow:hidden}.plan-thumb-img img{object-fit:contain;max-width:100%;max-height:100%}.plan-thumb-loading{background:var(--border);border-radius:4px;width:60%;height:60%}.plan-thumb-label{font-size:13px;font-weight:700}.plan-thumb-title{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.plan-page-view{flex:1;min-width:0;min-height:0;display:flex;position:relative}.plan-page-view-shell{cursor:grab;touch-action:none}.plan-page-view-shell:active{cursor:grabbing}.plan-page-view-zoom{gap:4px;display:flex;position:absolute;bottom:12px;right:12px}.plan-page-view-error{background:var(--danger-soft);color:var(--danger);border-radius:6px;padding:8px 12px;font-size:13px;position:absolute;inset:auto 12px 12px}.co-takeoff-session{flex:1;gap:12px;min-width:0;min-height:0;display:flex}.co-takeoff-canvas{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.co-amount-hint{color:var(--ink-soft);margin:0;font-size:12px}.co-takeoff-sections{border:1px solid var(--border);background:var(--page);border-radius:8px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.co-takeoff-sections .btn{align-self:flex-start;align-items:center;gap:6px;display:inline-flex}.co-takeoff-section{cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;font-size:13px;display:grid}.co-takeoff-section-price{font-variant-numeric:tabular-nums;font-weight:600}.co-amount-cell{align-items:center;gap:6px;display:inline-flex}.co-takeoff-tag{background:var(--calc-bg);color:var(--calc-ink);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600}.co-takeoff-warn{color:var(--warning);display:inline-flex}@media (width<=900px){.plan-viewer-header{flex-wrap:wrap}.plan-viewer-mode{order:3;width:100%}.plan-viewer-mode-btn{flex:1}.plan-viewer-body{flex-direction:column}.plan-viewer-sidebar{border-right:none;border-bottom:1px solid var(--border);width:100%;max-height:38vh}.plan-browser-strip{flex-direction:row;overflow-x:auto}.plan-thumb{flex:none;width:140px}.plan-thumb-img{height:92px}.co-takeoff-session{flex-direction:column}}.sub-profile-field{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.sub-profile-field-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sub-profile-field-head label{font-size:13px;font-weight:600}.sub-profile-page .sub-profile-field-head label{color:#fff}.sub-profile-field-note{margin:0;font-size:12px}.sub-profile-page .sub-profile-field-note{color:#ffffff9e}.sub-pending-tag{white-space:nowrap;background:var(--type-bg);color:var(--type-ink);border-radius:999px;padding:2px 10px;font-size:11px;font-weight:600;display:inline-block}.sub-pending-banner{background:var(--type-bg);color:var(--type-ink);border-radius:8px;margin:0 0 12px;padding:10px 12px;font-size:13px;font-weight:600}.sub-profile-saved{color:#6ee7a8;margin:8px 0 0;font-size:13px;font-weight:600}.sub-profile-doc-slot-info{flex-wrap:wrap;gap:6px}.sub-profile-page select.sub-text-input option{color:#111;background:#fff}.sub-w9-tin-toggle{background:var(--border);border-radius:999px;align-self:flex-start;gap:4px;margin-bottom:8px;padding:3px;display:inline-flex}.sub-w9-tin-option{color:#ffffffb8;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:6px 18px;font-size:14px;font-weight:600}.sub-w9-tin-option.active{color:#14261b;background:#fff}.sub-w9-tin-input{font-variant-numeric:tabular-nums;letter-spacing:.06em}.sub-w9-cert{background:var(--page);color:#ffffffd1;border-radius:8px;margin:10px 0 14px;padding:12px;font-size:13px;line-height:1.45}.sub-incomplete-backdrop{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.sub-incomplete-card{color:#fff;background:#1c2230;border-radius:12px;flex-direction:column;gap:10px;width:100%;max-width:380px;padding:18px;display:flex}.sub-incomplete-card h3{margin:0}.sub-incomplete-card ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.sub-incomplete-card li{justify-content:space-between;align-items:center;gap:10px;display:flex}.sub-agreement-text{background:var(--page);color:#ffffffd1;border-radius:8px;max-height:46vh;margin:10px 0 14px;padding:12px;font-size:13px;line-height:1.45;overflow-y:auto}.sub-agreement-text h3{margin:12px 0 2px;font-size:14px}.sub-agreement-text p{margin:0 0 4px}.sub-w9-cert h3{color:#fff;margin:0 0 6px;font-size:15px}.sub-w9-cert p{margin:0 0 6px}.sub-w9-cert-check{color:#fff;align-items:flex-start;gap:10px;margin-top:10px;font-size:15px;font-weight:600;display:flex}.sub-w9-cert-check input{flex-shrink:0;width:22px;height:22px;margin:0}.sub-w9-sign-label{color:#fff;font-size:13px;font-weight:600}.sub-w9-date{color:#ffffffb8;font-size:13px}.sub-w9-page .sub-profile-field-head{justify-content:space-between}.sub-w9-received{color:#6ee7a8;background:#6ee7a824;border-radius:8px;margin:0 0 12px;padding:10px 12px;font-size:13px;font-weight:600}.sub-w9-summary{grid-template-columns:auto 1fr;gap:6px 14px;margin:0 0 12px;font-size:14px;display:grid}.sub-w9-summary dt{color:#ffffff9e}.sub-w9-summary dd{color:#fff;overflow-wrap:anywhere;margin:0}.sub-w9-actions{gap:10px;display:flex}.signature-pad{flex-direction:column;gap:6px;display:flex}.signature-pad-canvas{touch-action:none;cursor:crosshair;background:#fff;border:1px solid #0003;border-radius:8px;width:100%;display:block}.signature-pad-footer{justify-content:space-between;align-items:center;gap:8px;display:flex}.signature-pad-hint{opacity:.72;font-size:12px}.sub-agreement-cascade-sign .signature-type-input{box-sizing:border-box;border:1px solid var(--border-strong);background:var(--surface);width:100%;color:var(--ink);border-radius:8px;padding:12px 14px;font-family:Segoe Script,Brush Script MT,Lucida Handwriting,cursive;font-size:28px;line-height:1.2}.sub-agreement-cascade-sign--required .signature-type-input{border-color:var(--red,#c62828)}.sub-agreement-cascade-sign .signature-type-input:focus{border-color:var(--green);box-shadow:0 0 0 2px var(--green-soft);outline:0}.sub-approval-queue{flex-direction:column;gap:12px;display:flex}.sub-approval-group{border:1px solid var(--border);background:var(--surface);border-radius:8px;overflow:hidden}.sub-approval-head{background:var(--page);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.sub-approval-head-actions{gap:6px;display:flex}.sub-approval-row{border-top:1px solid var(--border);grid-template-columns:140px 1fr auto;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:grid}.sub-approval-row:first-of-type{border-top:none}.sub-approval-label{color:var(--ink-soft);font-weight:600}.sub-approval-values{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.sub-approval-old{color:var(--ink-soft);overflow-wrap:anywhere;text-decoration:line-through}.sub-approval-arrow{color:var(--ink-soft)}.sub-approval-new{overflow-wrap:anywhere}.sub-approval-doc-name{color:var(--ink-soft);overflow-wrap:anywhere}.roster-doc-slots{flex-direction:column;gap:8px;display:flex}.roster-doc-slot{border:1px solid var(--border);border-radius:8px;grid-template-columns:180px 1fr auto;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:grid}.roster-doc-label{font-weight:600}.roster-doc-slot .form-error{grid-column:1/-1;margin:0}.roster-doc-slot.roster-w9-slot{flex-wrap:wrap;display:flex}.roster-doc-slot.roster-coi-slot{flex-wrap:wrap;gap:10px 12px;display:flex}.roster-coi-slot .roster-doc-label{flex:0 0 170px;min-width:170px}.roster-coi-slot-main{flex-direction:column;flex:160px;align-items:flex-start;gap:4px;min-width:0;display:flex}.roster-coi-expiry-warn{color:var(--danger,#dc2626);font-size:12px}.roster-coi-slot-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.roster-coi-expiry-field{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.roster-coi-expiry-field input[type=date]{border:1px solid var(--border);border-radius:6px;padding:4px 8px;font-size:13px}.roster-coi-slot .form-error{flex:1 0 100%}.roster-w9-slot .roster-doc-label{min-width:170px}.roster-agreement-status{flex:220px;align-items:center;gap:8px;min-width:0;display:flex}.roster-agreement-hint,.roster-agreement-cascade-signer{flex:1 0 100%}.roster-agreement-cascade-signer strong{color:var(--ink);font-weight:600}.roster-w9-summary{color:var(--ink-2);flex:220px}.roster-w9-badges{flex-wrap:wrap;align-self:stretch;align-items:stretch;gap:4px;display:inline-flex}.badge.roster-w9-received,.badge.roster-w9-missing{white-space:nowrap;border:none;border-radius:999px;align-items:center;width:fit-content;padding:5px 10px;font-size:12px;line-height:1;display:inline-flex}.badge.roster-w9-received{background:var(--green-soft);color:var(--green-dark)}.badge.roster-w9-missing{background:var(--need-bg);color:var(--need-ink)}.roster-agreement-signer{flex-wrap:wrap;flex:1 0 100%;align-items:flex-end;gap:8px 10px;display:flex}.roster-agreement-signer>.hint{flex:1 0 100%}.roster-agreement-signer-name{flex:220px;min-width:0}.roster-agreement-signer-name .signature-type-input,.roster-agreement-signer-title{box-sizing:border-box;min-height:46.8px}.roster-agreement-signer-name .signature-type-input{padding:8px 12px;font-size:24px;line-height:1.2}.roster-agreement-signer-title{border:1px solid var(--border-strong);background:var(--surface);min-width:120px;color:var(--ink);border-radius:8px;flex:0 200px;padding:8px 12px;font-size:13px;font-weight:600;line-height:1.2}.roster-agreement-signer-title:focus{border-color:var(--green);box-shadow:0 0 0 2px var(--green-soft);outline:0}@media (width<=720px){.sub-approval-row,.roster-doc-slot{grid-template-columns:1fr auto}.sub-approval-values{grid-column:1/-1}}.subm-shell .btn:not(.btn-primary):not(.btn-danger):not(.subm-header .btn):not(.sub-profile-avatar-actions .btn):not(.sub-profile-doc-slot-actions .btn){color:var(--ink)}.sub-plans-page{min-height:0;color:var(--ink);flex-direction:column;flex:1;gap:8px;padding:12px;display:flex}.sub-plans-page .hint{color:var(--ink-2)}.sub-plans-bar{gap:8px;display:flex}.sub-plans-job{min-width:0;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:8px;flex:1;padding:10px 12px;font-size:15px}.sub-plans-sections{scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.sub-plans-sections::-webkit-scrollbar{display:none}.sub-plans-chip{appearance:none;white-space:nowrap;color:var(--ink);background:var(--border);border:none;border-radius:999px;flex:none;padding:7px 14px;font-size:13px;font-weight:600}.sub-plans-chip.is-active{background:var(--green);color:var(--brand-ink)}.sub-plans-stage{border-radius:8px;flex:1;min-height:0;display:flex;overflow:hidden}.sub-plans-nav{align-items:stretch;gap:8px;display:flex}.sub-plans-nav .btn{flex:none;min-width:72px;min-height:44px}.sub-plans-sheet-btn{appearance:none;border:1px solid var(--border);background:var(--surface);min-width:0;min-height:44px;color:var(--ink);cursor:pointer;border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:6px 10px;display:flex}.sub-plans-sheet-btn strong{font-size:15px}.sub-plans-sheet-btn small{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;overflow:hidden}.sub-plans-drawer-backdrop{z-index:60;background:#00000080;align-items:flex-end;display:flex;position:fixed;inset:0}.sub-plans-drawer{background:var(--surface);border-top:1px solid var(--border);width:100%;max-height:72vh;padding:12px;padding-bottom:max(12px, env(safe-area-inset-bottom));color:var(--ink);border-radius:14px 14px 0 0;flex-direction:column;display:flex}.sub-plans-drawer-head{color:var(--ink);justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.sub-plans-thumbs{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;display:grid;overflow-y:auto}.sub-plan-thumb{appearance:none;border:1px solid var(--border);background:var(--page);color:var(--ink);cursor:pointer;border-radius:8px;gap:4px;padding:6px;display:grid}.sub-plan-thumb.is-selected{border-color:var(--green);box-shadow:0 0 0 2px color-mix(in srgb, var(--green) 40%, transparent)}.sub-plan-thumb-img{background:#fff;border-radius:4px;justify-content:center;align-items:center;height:96px;display:flex;overflow:hidden}.sub-plan-thumb-img img{object-fit:contain;max-width:100%;max-height:100%}.sub-plan-thumb-label{text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.tile-section{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:none;margin-bottom:20px}.tile-section-header{background:var(--tile-block-bg);color:#fff;border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);align-items:center;gap:10px;padding:12px 14px;display:flex}.tile-section-header input[type=text],.tile-section-header input:not([type]){color:#fff;letter-spacing:.02em;background:0 0;border:1px solid #0000;border-radius:5px;flex:1;min-width:0;padding:5px 7px;font-size:14px;font-weight:700}.tile-section-header input:hover:not(:disabled){border-color:#ffffff4d}.tile-section-header input:focus{border-color:var(--tile-accent);background:var(--border);outline:0}.tile-section-header .btn-icon{color:#e6ecc9}.tile-section-header .btn-icon:hover{background:var(--border);color:#fff}.tile-section-body{--block-bg:var(--tile-block-bg);--block-ink:var(--tile-block-ink);padding:14px}.tile-section-body .block-plain{border-color:var(--tile-block-bg);margin-bottom:14px}.tile-section-body .block-plain-header{background:var(--tile-block-bg);color:var(--tile-block-ink)}.tile-section-body .block-plain-header .amount{color:var(--tile-block-bg)}.scope-footer-tile{background:var(--tile-accent);color:#fff;border-radius:var(--radius);border-top:none;margin-top:12px;padding:14px 16px}.scope-footer-tile .btn{background:var(--border);color:#fff;border-color:#ffffff80}.scope-footer-tile .btn:hover{background:#ffffff2e}.scope-footer-tile .btn-primary{background:var(--surface);color:var(--tile-accent);border-color:#fff}.scope-footer-tile .btn-primary:hover{background:#eef2d9}.scope-footer-tile .btn:disabled{opacity:.6}.tile-line-row{grid-template-columns:minmax(0,1.6fr) 80px 110px 90px 120px 32px;align-items:start;gap:10px;display:grid}.tile-labor-row{grid-template-columns:minmax(0,1.6fr) 110px 110px 120px auto 32px;align-items:start;gap:10px;display:grid}.tile-labor-row .tile-labor-btn{white-space:nowrap;height:36px;margin-top:22px}.tile-line-row .btn-icon,.tile-labor-row .btn-icon{margin-top:22px}.tile-line-row .chip,.tile-labor-row .chip{box-sizing:border-box;align-items:center;height:36px;padding:0 8px;font-size:13px;display:flex}.tile-labor-row>.f:nth-child(3) .chip{background:var(--surface);border-color:var(--ink);color:var(--ink)}.tile-line-row .f input,.tile-labor-row .f input{border:1px solid var(--ink);background:var(--surface);color:var(--ink)}.tile-line-row .f input:focus,.tile-labor-row .f input:focus{border-color:var(--ink);outline:1px solid var(--ink);box-shadow:none}.tile-section-body .f>label{color:var(--ink);font-size:13px;font-weight:600}.tile-section.section-is-alternate{--tile-accent:var(--alternate-bg);--tile-block-bg:var(--alternate-bg);--tile-block-ink:var(--alternate-ink);border:none}.night-mode .scope-footer-tile .btn:hover{background:color-mix(in srgb, var(--tile-accent) 15%, #2d3330)}.night-mode .scope-footer-tile .btn:disabled{background:color-mix(in srgb, var(--tile-accent) 10%, #2d3330)}.night-mode .tile-line-row .btn-icon:hover,.night-mode .tile-labor-row .btn-icon:hover{background:var(--surface-hover)}.misc-section{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:none;margin-bottom:20px}.misc-section-header{background:var(--misc-block-bg);color:#fff;border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);align-items:center;gap:10px;padding:12px 14px;display:flex}.misc-section-header input[type=text],.misc-section-header input:not([type]){color:#fff;letter-spacing:.02em;background:0 0;border:1px solid #0000;border-radius:5px;flex:1;min-width:0;padding:5px 7px;font-size:14px;font-weight:700}.misc-section-header input:hover:not(:disabled){border-color:#ffffff4d}.misc-section-header input:focus{border-color:var(--misc-accent);background:var(--border);outline:0}.misc-section-header .btn-icon{color:#dbe7ff}.misc-section-header .btn-icon:hover{background:var(--border);color:#fff}.misc-section-body{--block-bg:var(--misc-block-bg);--block-ink:var(--misc-block-ink);padding:14px}.misc-section-body .block-plain{border-color:var(--misc-block-bg);margin-bottom:14px}.misc-section-body .block-plain-header{background:var(--misc-block-bg);color:var(--misc-block-ink)}.misc-section-body .block-plain-header .amount{color:var(--misc-block-bg)}.scope-footer-misc{background:var(--misc-accent);color:#fff;border-radius:var(--radius);border-top:none;margin-top:12px;padding:14px 16px}.scope-footer-misc .btn{background:var(--border);color:#fff;border-color:#ffffff80}.scope-footer-misc .btn:hover{background:#ffffff2e}.scope-footer-misc .btn-primary{background:var(--surface);color:var(--misc-accent);border-color:#fff}.scope-footer-misc .btn-primary:hover{background:#e6efff}.scope-footer-misc .btn:disabled{opacity:.6}.misc-line-row{grid-template-columns:minmax(0,1.6fr) 80px 110px 90px 120px 32px;align-items:start;gap:10px;display:grid}.misc-labor-row{grid-template-columns:minmax(0,1.6fr) 120px 120px auto 32px;align-items:start;gap:10px;display:grid}.misc-labor-row .misc-labor-btn{white-space:nowrap;height:36px;margin-top:22px}.misc-line-row .btn-icon,.misc-labor-row .btn-icon{margin-top:22px}.misc-line-row .chip,.misc-labor-row .chip{box-sizing:border-box;align-items:center;height:36px;padding:0 8px;font-size:13px;display:flex}.misc-labor-row>.f:nth-child(2) .chip{background:var(--surface);border-color:var(--ink);color:var(--ink)}.misc-line-row .f input,.misc-labor-row .f input{border:1px solid var(--ink);background:var(--surface);color:var(--ink)}.misc-line-row .f input:focus,.misc-labor-row .f input:focus{border-color:var(--ink);outline:1px solid var(--ink);box-shadow:none}.misc-section-body .f>label{color:var(--ink);font-size:13px;font-weight:600}.misc-section.section-is-alternate{--misc-accent:var(--alternate-bg);--misc-block-bg:var(--alternate-bg);--misc-block-ink:var(--alternate-ink);border:none}.night-mode .scope-footer-misc .btn:hover{background:color-mix(in srgb, var(--misc-accent) 15%, #2d3330)}.night-mode .scope-footer-misc .btn:disabled{background:color-mix(in srgb, var(--misc-accent) 10%, #2d3330)}.night-mode .misc-line-row .btn-icon:hover,.night-mode .misc-labor-row .btn-icon:hover{background:var(--surface-hover)}.invoice-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.invoice-rev{color:var(--warning);font-weight:600}.invoice-chips{flex-wrap:wrap;gap:6px;display:flex}.invoice-chip{color:var(--ink-2);white-space:nowrap;background:#eef1f0;border:0;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:600}.invoice-chip-unpaid,.invoice-chip-warn{background:var(--type-bg);color:var(--type-ink)}.invoice-chip-partial,.invoice-chip-info{background:var(--pick-bg);color:var(--pick-ink)}.estimate-table .invoice-due-cell{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.estimate-table .invoice-due-send-btn{white-space:nowrap}.estimate-table .invoice-due-sent-pill{cursor:default;background:var(--green);color:#fff;border:1px solid var(--green-dark,var(--green));width:auto;min-width:4.25rem;box-shadow:inset 0 1px 2px #0000001f}.estimate-table .invoice-due-sent-pill:disabled{opacity:1}.estimate-table .invoice-due-date{color:var(--ink);white-space:nowrap;font-size:13px}.invoice-chip-paid{background:var(--green-soft);color:var(--green-dark)}.invoice-settings{flex-wrap:wrap;gap:28px;margin-bottom:16px;display:flex}.invoice-settings .f{flex-direction:column;gap:4px;min-width:180px;display:flex}.invoice-hint{color:var(--ink-2);max-width:280px;font-size:11.5px}.invoice-totals{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.invoice-totals>div{background:var(--page);border-radius:8px;flex-direction:column;gap:2px;min-width:0;padding:12px;display:flex}.invoice-totals span{color:var(--ink-2);font-size:12px}.invoice-totals strong{font-size:18px}.invoice-totals small{color:var(--ink-2);font-size:11px;line-height:1.25}.invoice-totals .invoice-balance{background:var(--green-deep)}.invoice-totals .invoice-balance span,.invoice-totals .invoice-balance strong,.invoice-totals .invoice-balance small{color:#fff}.invoice-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.invoice-sent-note,.invoice-history{color:var(--ink-2);font-size:12px}.invoice-section-title{margin:22px 0 4px;font-size:15px}.invoice-confirm{background:var(--type-bg);color:var(--type-ink);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;font-size:13px;display:flex}.invoice-row-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.invoice-delete-ask{color:var(--ink-2);font-size:12px}@media (width<=900px){.invoice-totals{grid-template-columns:repeat(2,minmax(0,1fr))}}.modal.invoice-preview-send-modal{width:min(860px,100vw - 32px);max-width:none;max-height:calc(100vh - 32px);overflow-y:auto}.invoice-preview-frame{border:1px solid var(--border);background:var(--page);border-radius:8px;width:100%;height:min(520px,55vh);margin-bottom:14px}.invoice-send-terms{max-width:260px;margin-bottom:12px}.invoice-settings .invoice-retainage-input{border:1px solid var(--border-strong);background:var(--surface);border-radius:6px;max-width:110px;padding:7px 9px;font-size:13px}.payment-status-cell{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.payment-status-note{color:var(--ink-2);font-size:11px;font-weight:400}.payment-status-amount{font-size:13px;font-weight:600}.completion-invoice-options{gap:12px;margin:4px 0 8px;display:grid}.completion-invoice-option{border:1px solid var(--border);border-radius:8px;padding:12px 14px}.completion-invoice-option h3{margin:0 0 4px;font-size:14px}.completion-invoice-option p{color:var(--ink-2);margin:0 0 10px;font-size:12.5px}.completion-invoice-option-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.completion-invoice-option-row input[type=date]{border:1px solid var(--border-strong);background:var(--surface);border-radius:6px;padding:6px 8px;font-size:13px}a.dashboard-follow-up-item{color:inherit;text-decoration:none}.job-feed-email-thread{flex-direction:column;gap:0;width:100%;min-width:0;display:flex}.email-card{border:1px solid var(--border);background:var(--surface);border-radius:10px;width:100%;min-width:0;overflow:hidden}.job-feed-email-thread>.email-comments{border-radius:10px;margin-top:10px}.email-card.has-new{border-left:3px solid var(--green)}.email-card-head{background:var(--green-dark);color:#fff;text-align:left;cursor:pointer;width:100%;font:inherit;border:0;align-items:flex-start;gap:10px;padding:10px 12px;transition:background .1s;display:flex}.email-card-head:hover{background:var(--green-deep)}.email-card-head:focus-visible{outline:2px solid var(--green-deep);outline-offset:2px}.email-card-head[aria-expanded=true]{background:var(--green-deep)}.email-card-head[aria-expanded=true]:hover{background:color-mix(in srgb, var(--green-deep) 88%, #000)}.email-card-head .email-card-icon{color:#ffffffe0}.email-card-head .email-card-meta{color:#ffffffd1}.email-card-head .email-card-chevron{color:#ffffffbf}.email-card-head .email-new-pill{color:var(--green-dark);background:#fff}.email-card-head .email-card-participant-avatar,.email-card-head .email-card-participant-more{border-color:color-mix(in srgb, #fff 55%, var(--green))}.email-card-icon{color:var(--ink-2);margin-top:2px;display:inline-flex}.email-card-summary{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.email-card-subject-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.email-card-subject{overflow-wrap:anywhere;font-size:14px;font-weight:700}.email-card-meta{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:12px;display:flex}.email-card-participant-avatars{flex-shrink:0;align-items:center;display:inline-flex}.email-card-participant-avatar,.email-card-participant-more{border:2px solid var(--card);background:var(--page);width:30px;height:30px;color:var(--ink-2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:-10px;font-size:10px;font-weight:700;line-height:1;display:inline-flex;position:relative;overflow:hidden}.email-card-participant-avatar--photo img{object-fit:cover;width:100%;height:100%;display:block}.email-card-participant-avatar:first-child,.email-card-participant-more:first-child{margin-left:0}.email-card-participant-more{background:#e8ebe9;font-size:11px;font-weight:600}.email-card-people{overflow-wrap:anywhere}.email-card-clip{align-items:center;gap:3px;font-weight:600;display:inline-flex}.email-card-head-trail{flex-shrink:0;align-items:center;gap:6px;margin-top:2px;display:inline-flex}.email-card-chevron{color:var(--ink-3);display:inline-flex}.email-new-pill,.email-internal-pill{letter-spacing:.03em;white-space:nowrap;color:#fff;border:0;border-radius:999px;padding:2px 9px;font-size:10px;font-weight:700;display:inline-block}.email-new-pill{background:var(--green)}.email-internal-pill{background:var(--warning);text-transform:uppercase}.email-card-body{border-top:1px solid var(--border);padding:12px}.email-card-loading,.email-card-error{color:var(--ink-2);margin:0 0 8px;font-size:12px}.email-card-error{color:var(--danger)}.email-viewonly{color:var(--ink-3);margin:10px 0 0;font-size:11px;font-style:italic}.email-thread{flex-direction:column;gap:10px;display:flex}.email-bubble-row{display:flex}.email-bubble-row.is-outside{justify-content:flex-start}.email-bubble-row.is-cascade{justify-content:flex-end}.email-bubble{min-width:0;max-width:86%;color:var(--ink);border-radius:12px;padding:8px 11px}.email-bubble-row.is-outside .email-bubble{background:var(--page);border:1px solid var(--border);border-top-left-radius:4px}.email-bubble-row.is-cascade .email-bubble{background:var(--green-soft);border-top-right-radius:4px}.email-bubble-head{width:100%;color:inherit;font:inherit;text-align:left;background:0 0;border:0;flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin:0;padding:0;display:flex}button.email-bubble-head{cursor:pointer;border-radius:6px}button.email-bubble-head:hover .email-bubble-toggle-label{color:var(--ink-2)}button.email-bubble-head:focus-visible{outline:2px solid var(--green);outline-offset:2px}.email-bubble-head-chevron{color:var(--ink-3);align-self:center;margin-right:-2px;display:inline-flex}.email-bubble-head strong{font-size:12px}.email-bubble-head time{color:var(--ink-3);font-size:11px}.email-bubble-toggle-label{color:var(--ink-3);white-space:nowrap;margin-left:auto;font-size:11px;font-weight:600}.email-bubble-preview{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-size:12px;line-height:1.4;overflow:hidden}.email-bubble-collapsed-files{color:var(--ink-3);align-items:center;gap:4px;margin:4px 0 0;font-size:11px;font-weight:600;display:inline-flex}.email-bubble-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 0;font-size:13px;line-height:1.5}.email-bubble-text.is-empty{color:var(--ink-3);font-style:italic}.email-bubble-files{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.email-file-chip{background:color-mix(in srgb, var(--ink) 9%, var(--surface));max-width:100%;color:var(--ink);border:0;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:12px;text-decoration:none;display:inline-flex}.email-file-chip:hover{background:color-mix(in srgb, var(--ink) 15%, var(--surface))}.email-file-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.email-file-size{color:var(--ink-3);white-space:nowrap;font-size:11px}.email-file-chip-notice{color:var(--green-deep);flex-basis:100%;font-size:11px;font-weight:600}.email-file-context-menu.menu-popover{min-width:11rem;padding:4px 0}.email-file-save-modal{max-width:420px}.email-file-save-intro{color:var(--ink-2);margin:0 0 12px;font-size:12px;line-height:1.45}.email-file-save-name-row{align-items:flex-end;gap:6px;display:flex}.email-file-save-name-row .f{flex:1;min-width:0}.email-file-save-ext{color:var(--ink-2);white-space:nowrap;padding-bottom:8px;font-weight:600}.email-file-save-error{color:var(--danger);margin:8px 0 0;font-size:12px}.email-file-save-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.email-original-link{color:var(--ink-3);cursor:pointer;background:0 0;border:0;margin-top:6px;padding:0;font-size:11px;text-decoration:underline}.email-original-link:hover{color:var(--ink)}.email-original-note{color:var(--ink-3);margin:4px 0 0;font-size:11px}.email-original-frame{border:1px solid var(--border);background:#fff;border-radius:6px;width:100%;height:280px;margin-top:6px;display:block}.email-respond{margin-top:12px}.email-respond:not(.is-open){flex-direction:column;display:flex}.email-respond:not(.is-open)>.btn{align-self:flex-end}.email-respond-note{color:var(--green);margin:0 0 8px;font-size:12px}.email-respond.is-open{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--green);border-radius:8px;padding:10px 12px}.email-respond-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.email-respond-head strong{font-size:12px}.email-external-pill{letter-spacing:.03em;text-transform:uppercase;color:#fff;background:var(--green);border:0;border-radius:999px;padding:2px 9px;font-size:10px;font-weight:700}.email-respond-close{color:var(--ink-3);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:2px}.email-respond-modes{gap:14px;margin-bottom:6px;font-size:12px;display:flex}.email-respond-line{color:var(--ink-2);overflow-wrap:anywhere;margin:0 0 4px;font-size:12px}.email-respond-line span{min-width:38px;color:var(--ink-3);display:inline-block}.email-respond-extra-toggle{color:#0b6b38;cursor:pointer;text-align:left;background:0 0;border:0;margin:2px 0 6px;padding:6px 0;font-size:14px;font-weight:600}.email-respond-extra-toggle:hover{text-decoration:underline}.email-respond-extra{color:var(--ink-2);align-items:center;gap:8px;margin:0 0 4px;font-size:12px;display:flex}.email-respond-extra>span{color:var(--ink-2);flex:0 0 38px;font-weight:600}.email-respond-extra input{border:1px solid var(--border);background:var(--page);min-width:0;color:var(--ink);font:inherit;border-radius:6px;flex:1;padding:4px 8px;font-size:12px}.email-respond-extra .email-recipient-autocomplete{flex:1;min-width:0}.email-respond-extra .email-recipient-autocomplete input{box-sizing:border-box;width:100%}.email-respond-extra.is-recipient-drop-target,.email-recipient-autocomplete.is-recipient-drop-target{box-shadow:inset 0 0 0 2px var(--link);background:color-mix(in srgb, var(--link) 7%, var(--page));border-radius:6px}.email-respond-text{box-sizing:border-box;border:1px solid var(--border);background:var(--page);width:100%;color:var(--ink);font:inherit;resize:vertical;border-radius:8px;margin:8px 0;padding:8px 10px;font-size:13px}.email-respond-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.email-respond-actions .btn:last-child{margin-left:auto}.email-respond-confirm{overflow-wrap:anywhere;margin-left:auto;font-size:12px;font-weight:600}.email-respond-confirm+.btn{margin-left:0}.email-respond-doc-modal{max-width:480px}.email-respond-doc-intro{color:var(--ink-2);margin:0 0 12px;font-size:12px;line-height:1.45}.email-respond-doc-list{border:1px solid var(--border);border-radius:8px;max-height:280px;margin:0 0 12px;padding:0;list-style:none;overflow:auto}.email-respond-doc-list li+li{border-top:1px solid var(--border)}.email-respond-doc-row{cursor:pointer;grid-template-rows:auto auto;grid-template-columns:auto 1fr auto;align-items:center;gap:2px 10px;padding:10px 12px;font-size:12px;display:grid}.email-respond-doc-row.is-taken{opacity:.55;cursor:default}.email-respond-doc-row input{grid-row:1/span 2}.email-respond-doc-name{overflow-wrap:anywhere;font-weight:600}.email-respond-doc-meta{color:var(--ink-3);grid-column:2;font-size:11px}.email-respond-doc-taken{color:var(--ink-3);grid-area:1/3/span 2;font-size:11px}.email-respond-doc-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.email-chip-x{color:inherit;cursor:pointer;background:0 0;border:0;padding:0 0 0 2px;display:inline-flex}.email-comments{background:color-mix(in srgb, var(--warning) 7%, var(--surface));border:1px dashed color-mix(in srgb, var(--warning) 45%, var(--border));border-radius:8px;margin-top:14px;padding:10px 12px}.email-comments-head{flex-wrap:wrap;align-items:center;gap:4px 8px;margin-bottom:8px;display:flex}.email-comments-head strong{font-size:12px}.email-comments-note{color:var(--ink-3);font-size:11px}.email-comments .job-feed-replies,.email-comments .subm-replies{margin-top:0;padding-left:0}@media (width<=520px){.email-bubble{max-width:94%}.email-card-head,.email-card-body{padding:10px}.email-original-frame{height:220px}}.job-archive-modal{max-width:520px}.job-archive-list{flex-direction:column;gap:4px;margin:6px 0 10px;padding-left:20px;font-size:14px;display:flex}.job-archive-note{color:var(--ink-2);margin:0 0 4px;font-size:12px}.job-archive-steps{flex-direction:column;gap:8px;margin:8px 0 12px;padding:0;font-size:14px;list-style:none;display:flex}.job-archive-steps li{color:var(--ink-2);align-items:center;gap:8px;display:flex}.job-archive-steps li.is-done{color:var(--ink)}.job-archive-steps li.is-running{color:var(--ink);font-weight:600}.job-archive-steps li.is-failed{color:var(--danger);font-weight:600}.job-archive-step-icon{justify-content:center;width:18px;display:inline-flex}.job-archive-steps li.is-done .job-archive-step-icon{color:var(--green)}.job-archive-error{line-height:1.45}.job-archive-spin,.job-archive-steps .spin{animation:.9s linear infinite job-archive-spin}@keyframes job-archive-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.job-archive-steps .spin{animation:none}}.job-archive-stuck{color:var(--danger);cursor:pointer;background:0 0;border:0;margin-top:4px;padding:0;font-size:11px;font-weight:600;text-decoration:underline;display:block}.archived-jobs-section{border-top:1px solid var(--border);margin-top:18px;padding-top:12px}.archived-jobs-heading{margin:0 0 8px;padding:0 16px;font-size:14px;font-weight:700}.archived-jobs-empty{margin:0;padding:0 16px 12px;font-size:13px}.archived-jobs-folder{color:var(--ink-2);overflow-wrap:anywhere;font-size:12px}.archived-jobs-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.vendor-invoices-page{max-width:960px}.modal.vendor-invoices-modal{width:min(920px,100vw - 32px);max-height:calc(100vh - 48px);overflow-y:auto}.vendor-invoices-embedded .vendor-invoices-header{margin-bottom:0}.vendor-invoices-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.vendor-invoices-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.vendor-invoices-badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.vendor-invoices-tabs{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.vendor-invoices-tab{align-items:center;gap:6px;display:inline-flex}.vendor-invoices-tab-count{background:var(--surface-2);border-radius:999px;min-width:18px;padding:0 6px;font-size:11px;font-weight:700}.vendor-invoices-list{gap:12px;display:grid}.vendor-invoice-row{flex-wrap:wrap;justify-content:space-between;gap:12px;padding:14px 16px;display:flex}.vendor-invoice-row-main{flex:260px;min-width:0}.vendor-invoice-row-title{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.vendor-invoice-row-meta{color:var(--ink-2);flex-wrap:wrap;gap:12px;font-size:13px;display:flex}.vendor-invoice-parse-note{color:var(--warning,#b45309);margin:8px 0 0;font-size:12px}.vendor-invoice-job-picker{gap:6px;max-width:420px;margin-top:10px;display:grid}.vendor-invoice-job-search,.vendor-invoice-job-picker select,.vendor-invoice-edits input{background:var(--surface-2);width:100%;font:inherit;border:0;border-radius:999px;padding:8px 12px}.vendor-invoice-edits{flex-wrap:wrap;gap:12px;margin-top:10px;display:flex}.vendor-invoice-edits label{gap:4px;min-width:120px;font-size:12px;display:grid}.vendor-invoice-row-actions{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}@media (width<=375px){.vendor-invoice-row{flex-direction:column}.vendor-invoice-row-actions{width:100%}.vendor-invoice-row-actions .btn{flex:auto;justify-content:center}}.job-feed-new-email{border-radius:7px;flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.feeds-card-header .job-feed-new-email{padding:10px 18px;font-size:14px;font-weight:600}.feeds-card-header .job-feed-new-email svg{width:17px;height:17px}.job-feed-head .job-feed-new-email{margin-left:auto;margin-right:10px;padding:10px 18px;font-size:14px;font-weight:600}.job-feed-head .job-feed-new-email svg{width:17px;height:17px}.modal-backdrop:has(.new-email-modal){z-index:300}.modal-backdrop.new-email-modal-backdrop{padding:0;display:block}.modal.new-email-modal{box-sizing:border-box;flex-direction:column;max-width:none;margin:0;padding:24px;display:flex;position:fixed;overflow:hidden}.new-email-modal-head{touch-action:none;-webkit-user-select:none;user-select:none;flex-shrink:0;margin-bottom:0}.new-email-modal-head .btn-close{cursor:pointer}.new-email-modal-desc{flex-shrink:0;margin:0 0 12px}.new-email-add-recipients{background:var(--page);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;margin:0 0 12px;padding:8px 10px;display:flex}.new-email-add-recipients-label{color:var(--ink-3);text-transform:uppercase;letter-spacing:.03em;flex:none;font-size:11px;font-weight:600}.new-email-add-recipients-avatars{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.new-email-add-recipient{cursor:grab;background:0 0;border:2px solid #0000;border-radius:999px;padding:0;line-height:0;transition:border-color .12s,transform .12s,opacity .12s;display:inline-flex}.new-email-add-recipient:active{cursor:grabbing}.new-email-add-recipient.is-dragging{opacity:.55;cursor:grabbing}.new-email-add-recipient:hover:not(:disabled){border-color:var(--link);transform:translateY(-1px)}.new-email-add-recipient:focus-visible{outline:2px solid var(--link);outline-offset:2px}.new-email-add-recipient:disabled{opacity:.5;cursor:not-allowed}.new-email-add-recipient .avatar{width:32px;height:32px;font-size:11px}.new-email-modal-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.new-email-form.email-respond.is-open{flex-direction:column;flex:1;min-height:0;margin-top:0;display:flex}.new-email-modal-text.email-respond-text{resize:none;flex:1;min-height:80px;margin-bottom:0}.new-email-modal-resize-handle{z-index:3;cursor:nwse-resize;touch-action:none;width:22px;height:22px;position:absolute;bottom:0;right:0}.new-email-modal-resize-handle:after{content:"";border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);opacity:.7;width:8px;height:8px;position:absolute;bottom:4px;right:4px}.subm-sheet-backdrop{z-index:60;background:#0000008c;align-items:flex-end;display:flex;position:fixed;inset:0}.subm-sheet{width:100%;max-height:90vh;color:var(--ink);padding:12px 16px calc(16px + env(safe-area-inset-bottom,0px));background:#fff;border-radius:16px 16px 0 0;overflow-y:auto}.subm-sheet-head{text-align:center;grid-template-columns:36px 1fr 36px;align-items:center;margin-bottom:8px;display:grid}.subm-sheet-icon{appearance:none;color:inherit;cursor:pointer;background:0 0;border:none;place-items:center;width:36px;height:36px;display:grid}.subm-sheet-menu{grid-template-columns:1fr 1fr;gap:10px;display:grid}.subm-sheet-menu button{appearance:none;border:1px solid var(--border);color:var(--ink);cursor:pointer;background:#f3f4f6;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:84px;font-size:14px;font-weight:600;display:flex}.subm-sheet-form{flex-direction:column;gap:12px;display:flex}.subm-sheet-field{flex-direction:column;gap:4px;font-size:13px;font-weight:600;display:flex}.subm-sheet-field input,.subm-sheet-field select,.subm-sheet-field textarea{font:inherit;border:1px solid var(--border-strong);color:var(--ink);background:#fff;border-radius:8px;padding:10px;font-size:16px;font-weight:400}.subm-sheet-row{gap:8px;display:flex}.subm-sheet-row .btn{flex:1}.subm-sheet-files{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.subm-sheet-files li{background:#f3f4f6;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-size:14px;display:flex}.subm-sheet-files li span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.subm-sheet-files button{appearance:none;cursor:pointer;color:inherit;background:0 0;border:none}.subm-sheet-error{color:#9b1c1c;background:#fde8e8;border-radius:8px;margin-top:10px;padding:8px 10px;font-size:14px}.subm-sheet-note,.subm-sheet-confirm p{margin:0 0 8px;font-size:14px}.subm-sheet-confirm{background:#fff7e0;border-radius:8px;padding:10px}.subm-sheet-done{color:#14532d;background:#e3f5ea;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding:10px;font-size:14px;display:flex}.subm-sheet-done span{flex-basis:100%;font-weight:600}.mobile-image-viewer{z-index:200;color:#fff;background:#000;flex-direction:column;display:flex;position:fixed;inset:0}.mobile-image-viewer-bar{padding:calc(env(safe-area-inset-top,0px) + 8px) 12px 8px;background:#0009;justify-content:space-between;align-items:center;gap:10px;display:flex}.mobile-image-viewer-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;overflow:hidden}.mobile-image-viewer-btn{color:#fff;cursor:pointer;background:#ffffff29;border:0;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.mobile-image-viewer-btn:disabled{opacity:.3}.mobile-image-viewer-stage{touch-action:none;-webkit-user-select:none;user-select:none;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:hidden}.mobile-image-viewer-stage img{object-fit:contain;transform-origin:50%;will-change:transform;max-width:100%;max-height:100%}.mobile-image-viewer-fail{text-align:center;padding:24px}.mobile-image-viewer-prev,.mobile-image-viewer-next{position:absolute;top:50%;transform:translateY(-50%)}.mobile-image-viewer-prev{left:8px}.mobile-image-viewer-next{right:8px}.subm-post-attachment-tap{cursor:zoom-in}.subm-expense-cats{flex-wrap:wrap;gap:6px;margin:6px 0 10px;display:flex}.subm-expense-cat{border:1.5px solid;border-radius:999px;padding:3px 10px;font-size:12px}.recipient-chips{border:1px solid var(--border);background:var(--page);cursor:text;border-radius:6px;flex-wrap:wrap;flex:1;align-items:center;gap:4px;min-width:0;padding:3px 6px;display:flex}.recipient-chips:focus-within{border-color:var(--green-dark)}.recipient-chips.is-disabled{opacity:.6}.recipient-chips .address-autocomplete-dropdown{z-index:400;position:fixed;right:auto}.recipient-chip{background:var(--green-soft);max-width:100%;color:var(--ink);border-radius:999px;align-items:center;gap:4px;padding:2px 4px 2px 9px;font-size:13px;display:inline-flex}.recipient-chip-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recipient-chip-x{width:22px;height:22px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.recipient-chip-x:hover{background:#00000014}.email-respond-extra .recipient-chips input,.recipient-chips .recipient-chips-input{background:0 0;border:0;outline:0;flex:120px;min-width:100px;padding:4px 2px;font-size:16px}.mobile-email-sheet{z-index:150;background:var(--surface);color:var(--ink);flex-direction:column;display:flex;position:fixed;inset:0}.mobile-email-sheet-head{padding:calc(env(safe-area-inset-top,0px) + 10px) 12px 10px;border-bottom:1px solid var(--line);align-items:center;gap:8px;display:flex}.mobile-email-sheet-close{width:40px;height:40px;color:inherit;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.mobile-email-sheet-body{flex-direction:column;flex:1;gap:6px;min-height:0;padding:10px 12px;display:flex;overflow-y:auto}.mobile-email-sheet-body .email-respond-extra{align-items:flex-start}.mobile-email-sheet-body .email-respond-extra>span{padding-top:8px}.mobile-email-subject{border:1px solid var(--border);background:var(--page);border-radius:6px;flex:1;min-width:0;padding:6px 8px;font-size:16px}.mobile-email-text{border:1px solid var(--border);background:var(--page);min-height:180px;font:inherit;resize:none;border-radius:6px;flex:1;padding:10px;font-size:16px}.mobile-email-sheet-foot{padding:10px 12px calc(env(safe-area-inset-bottom,0px) + 10px);border-top:1px solid var(--line);align-items:center;gap:8px;display:flex}.mobile-email-sheet-spacer{flex:1}button.subm-more-row.subm-more-link{width:100%;font:inherit;cursor:pointer;text-align:left}.mobile-subs h2{color:var(--ink);margin:10px 0 8px}.mobile-subs-search{border:1px solid var(--border-strong);background:var(--surface);width:100%;color:var(--ink);border-radius:10px;margin-bottom:10px;padding:10px 12px;font-size:16px}.mobile-subs-dot{border-radius:50%;width:10px;height:10px;margin-right:8px;display:inline-block}.mobile-subs-dot.is-ok{background:#3ddc84}.mobile-subs-dot.is-warn{background:#f5b84a}.mobile-subs-dot.is-bad{background:#ff6b6b}.mobile-subs-status.is-ok{color:#3ddc84}.mobile-subs-status.is-warn{color:#f5b84a}.mobile-subs-status.is-bad{color:#ff8a8a}.mobile-subs-banner{color:#0b1a12;border-radius:999px;align-items:center;gap:6px;margin:0 0 8px;padding:6px 14px;font-weight:700;display:inline-flex}.mobile-subs-banner.is-ok{background:#3ddc84}.mobile-subs-banner.is-warn{background:#f5b84a}.mobile-subs-banner.is-bad{background:#ff8a8a}.mobile-subs-open{justify-content:center;align-items:center;gap:6px;width:100%;min-height:48px;margin-top:6px;text-decoration:none;display:inline-flex}.mobile-subs-contact{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.mobile-subs{box-sizing:border-box;width:100%;min-width:0;padding:12px 16px calc(24px + env(safe-area-inset-bottom,0px));overflow-wrap:anywhere;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}.mobile-subs .subm-project-detail-section{min-width:0;margin-top:20px}.mobile-subs .subm-project-back{background:var(--border);border-color:#ffffff4d;min-height:44px;padding:0 14px;color:var(--ink)!important}.mobile-subs .stub{color:var(--ink-2)}.mobile-subs-search{box-sizing:border-box;appearance:none;min-height:44px}.mobile-subs .subm-project-info-list>div{align-items:flex-start}.mobile-subs .subm-project-info-list dt{flex:none}.mobile-subs .subm-project-info-list dd{flex:1 1 0;min-width:0}.mobile-subs-contact .btn,.mobile-subs .mobile-subs-open{min-height:48px;padding:0 16px;text-decoration:none}.mobile-subs-contact .btn{flex:140px;justify-content:center;align-items:center;gap:6px;display:inline-flex}.email-card>.email-comments{border-width:1px 0 0;border-radius:0;margin:0}.coi-history-wrap{margin:8px 0 0;font-size:13px}.coi-history-wrap summary{cursor:pointer;color:var(--ink-2)}.coi-history{flex-direction:column;gap:6px;margin:6px 0 0;padding:0;list-style:none;display:flex}.coi-history-row{flex-direction:column;gap:1px;display:flex}.coi-history-meta{color:var(--ink-3);font-size:12px}.coi-history-row.is-current a{font-weight:700}.mobile-subs-subhead{color:var(--ink-2);margin:12px 0 4px;font-size:13px}.mobile-subs .coi-history a{color:var(--green)}.mobile-subs .coi-history-meta{color:var(--ink-2)}.btn.btn-done{background:var(--green);border-color:var(--green);color:#fff}.btn.btn-done:hover{background:var(--green-dark)}.subm-thread .subm-post,.subm-thread .subm-post p,.subm-thread .subm-post-head strong,.subm-thread .subm-post .message-post-main,.subm-thread .subm-post .message-post-main header strong{color:var(--ink)}.subm-thread .subm-post-time,.subm-thread .subm-post-title,.subm-thread .subm-post-actions button:not(.is-liked):not(.is-disliked):not(.is-laughed),.subm-thread .subm-post .hint{color:var(--ink-2)}.subm-thread .subm-post-title{background:#00000012}.subm-thread .subm-post .message-mention{color:#1d4ed8}.subm-thread .subm-post.is-own .message-post-main .message-mention{color:color-mix(in srgb, var(--brand-ink) 88%, #93c5fd)}.document-preview-pdf{flex-direction:column;flex:auto;height:100%;min-height:0;display:flex;position:relative}.document-preview-pdf-scroll{-webkit-overflow-scrolling:touch;background:#e8ebe9;flex-direction:column;flex:auto;align-items:flex-start;gap:8px;min-height:0;padding:8px;display:flex;overflow:auto}.document-preview-pdf-page{background:#fff;flex:none;box-shadow:0 1px 4px #00000040}.document-preview-pdf-zoom{background:#ffffffeb;border-radius:999px;gap:6px;padding:6px;display:flex;position:absolute;bottom:12px;right:12px;box-shadow:0 1px 6px #0000004d}.document-preview-pdf-zoom .btn{border-radius:999px;min-width:44px;min-height:44px}.install-popup-backdrop{z-index:2000;padding:12px 12px calc(12px + env(safe-area-inset-bottom));background:#0000008c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.install-popup{color:#1f2a26;text-align:center;background:#fff;border-radius:20px;width:100%;max-width:420px;padding:22px 20px 12px;position:relative}.install-popup-x{color:#5f6b66;background:0 0;border:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:absolute;top:8px;right:8px}.install-popup-icon{border-radius:14px;margin:0 auto 10px;display:block}.install-popup-title{margin:0 0 4px;font-size:18px;font-weight:700}.install-popup-body{color:#5f6b66;margin:0 0 14px;font-size:14px}.install-popup-primary{background:var(--green);color:#fff;border:0;border-radius:12px;width:100%;min-height:48px;font-size:16px;font-weight:600}.install-popup-manual{text-align:left;background:#f1f3f2;border-radius:12px;margin:0 0 8px;padding:12px;font-size:14px}.install-popup-steps{text-align:left;background:#f1f3f2;border-radius:12px;gap:10px;margin:0;padding:12px;font-size:14px;list-style:none;display:grid}.install-popup-steps li{align-items:center;gap:10px;display:flex}.install-popup-num{background:var(--green);color:#fff;border-radius:50%;flex:0 0 22px;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:600;display:flex}.install-popup-share{vertical-align:-3px;color:#1a6fd1}.install-popup-hint{color:#5f6b66;margin:8px 0 0;font-size:12px}.install-popup-link{width:100%;min-height:44px;color:var(--green);background:0 0;border:0;font-size:15px;font-weight:600;display:block}.install-popup-never{color:#5f6b66;font-size:13px;font-weight:400;text-decoration:underline}.subm-header .btn.subm-new-chat,.subm-header .btn.subm-new-chat:hover{background:var(--green);border-color:var(--green);color:var(--brand-ink)}.subm-project-detail .btn.subm-project-back,.subm-project-detail .btn.subm-project-back:hover{background:var(--green);border-color:var(--green);color:var(--brand-ink);min-height:44px;padding:8px 16px;font-weight:700}.attach-picker{display:inline-flex;position:relative}.attach-picker-menu{z-index:60;color:#1f2a26;background:#fff;border:1px solid #00000026;border-radius:12px;flex-direction:column;min-width:190px;display:flex;position:absolute;bottom:calc(100% + 6px);left:0;overflow:hidden;box-shadow:0 6px 20px #00000040}.attach-picker-menu button{min-height:48px;color:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0 16px;font-size:15px;font-weight:600;display:flex}.attach-picker-menu button+button{border-top:1px solid #00000014}.subm-unread-dot{vertical-align:middle;background:#ff5a4d;border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}.subm-bell-wrap,.subm-nav-icon{display:inline-flex;position:relative}.subm-bell-dot,.subm-nav-dot{border:2px solid var(--border-strong);box-sizing:content-box;width:8px;height:8px;margin:0;position:absolute;top:-2px;right:-3px}.branding-settings-body{flex-direction:column;gap:16px;max-width:520px;display:flex}.branding-field{flex-direction:column;gap:6px;display:flex}.branding-label{font-size:13px;font-weight:600}.branding-hint{color:var(--ink-2);margin:0;font-size:12px;line-height:1.4}.branding-subhead{margin:8px 0 4px;font-size:14px;font-weight:700}.branding-logo-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.branding-logo-chip{border:1px solid var(--border);background:#fff;border-radius:10px;justify-content:center;align-items:center;width:120px;min-height:56px;padding:8px;display:flex}.branding-logo-chip img{object-fit:contain;max-width:100%;max-height:48px}.branding-logo-actions{flex-wrap:wrap;gap:8px;display:flex}.branding-color-inputs{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.branding-color-swatch-input{border:1px solid var(--border);cursor:pointer;border-radius:8px;width:44px;height:44px;padding:2px}.branding-color-preview{border:1px solid var(--border);border-radius:10px;min-height:72px;display:flex;overflow:hidden}.branding-color-preview-sidebar{flex:none;width:48px}.branding-color-preview-main{background:var(--surface);flex-wrap:wrap;flex:1;align-items:center;gap:12px;padding:12px 14px;display:flex}.branding-color-preview-btn{appearance:none;cursor:default;border:none;border-radius:999px;min-height:44px;padding:8px 16px;font-size:14px;font-weight:600}.branding-color-preview-link{font-size:14px;font-weight:600;text-decoration:underline}.branding-core-value-row{align-items:center;gap:8px;display:flex}.branding-save-row{margin-top:8px}.branding-contrast-modal{max-width:420px}.cal-page{--cal-label-w:210px;--cal-line:color-mix(in srgb, var(--ink) 10%, transparent)}.cal-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.cal-header h1{margin:0}.cal-range{align-items:center;gap:10px;margin:4px 0 0;display:flex}.cal-live{color:var(--ink-2);align-items:center;gap:6px;font-size:12px;display:inline-flex}.cal-live:before{content:"";background:var(--warning);border-radius:50%;width:8px;height:8px}.cal-live--on:before{background:var(--green)}.cal-actions{flex-wrap:wrap;gap:8px;display:flex}.cal-actions .btn{align-items:center;gap:6px;display:inline-flex}.cal-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0 12px;display:flex}.cal-toolbar .spacer{flex:1}.cal-nav{align-items:center;gap:6px;display:flex}.cal-seg{background:color-mix(in srgb, var(--ink) 8%, var(--surface));border-radius:20px;gap:2px;padding:3px;display:inline-flex}.cal-seg button{color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:20px;padding:5px 14px;font-size:13px}.cal-seg button:hover{color:var(--ink)}.cal-seg button.active{background:var(--green);color:#fff}.cal-select{font:inherit;background-color:color-mix(in srgb, var(--ink) 8%, var(--surface));color:var(--ink);cursor:pointer;border:0;border-radius:20px;max-width:220px;padding:6px 28px 6px 12px;font-size:13px}.cal-checkfilter{position:relative}.cal-checkfilter-btn{align-items:center;gap:8px;padding-right:12px;display:inline-flex}.cal-checkfilter-pop{z-index:40;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);width:320px;max-height:360px;padding:8px 4px 6px;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto;box-shadow:0 10px 28px #00000038}.cal-checkfilter-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:0 10px 6px;font-size:12px;display:flex}.cal-checkfilter-pop ul{margin:0;padding:4px 0 0;list-style:none}.cal-checkfilter-pop label{cursor:pointer;border-radius:6px;align-items:baseline;gap:8px;padding:6px 10px;font-size:13px;display:flex}.cal-checkfilter-pop label:hover{background:color-mix(in srgb, var(--green) 10%, var(--surface))}.cal-checkfilter-pop input{accent-color:var(--green);align-self:center}.cal-checkfilter-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.cal-checkfilter-pop small{white-space:nowrap;margin-left:auto}.cal-checkfilter-empty{margin:8px 10px;font-size:13px}.cal-error{color:var(--danger);background:var(--danger-soft);border-radius:var(--radius);padding:8px 12px}.cal-jobs{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;padding:8px 12px 10px}.cal-jobs header{align-items:center;gap:8px;font-size:13px;display:flex}.cal-jobs header+*{margin-top:6px}.cal-jobs-clear{margin-left:auto}.cal-jobs-clear+.cal-jobs-toggle{margin-left:0}.cal-jobs-toggle{margin-left:auto}.cal-jobs ul{flex-wrap:wrap;gap:6px;max-height:124px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.cal-drop-hint{z-index:3;pointer-events:none;background:color-mix(in srgb, var(--green) 28%, transparent);outline:2px dashed var(--green);outline-offset:-2px;position:absolute;top:0;bottom:0}.cal-drag-ghost{z-index:80;pointer-events:none;background:var(--surface);color:var(--ink);border-radius:20px;align-items:center;gap:7px;padding:5px 12px 5px 9px;font-size:13px;font-weight:600;display:inline-flex;position:fixed;box-shadow:0 6px 18px #0000004d}.cal-drag-ghost .cal-dot{border-radius:50%;width:12px;height:12px}.cal-jobs-empty{margin:0;font-size:13px}.cal-job{touch-action:none;-webkit-user-select:none;user-select:none;background:color-mix(in srgb, var(--ink) 7%, var(--surface));max-width:100%;color:var(--ink);font:inherit;text-align:left;border:0;border-radius:20px;align-items:center;gap:7px;padding:5px 12px 5px 9px;font-size:13px;display:inline-flex}.cal-job .cal-dot{background:var(--job-color);border-radius:50%;flex:none;width:12px;height:12px}.cal-dot{background:var(--job-color);border-radius:50%;flex:none;width:12px;height:12px}.cal-job-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.cal-job small{color:var(--ink-2);white-space:nowrap;font-size:11px}.cal-job.is-unscheduled small{color:var(--warning);font-weight:600}.cal-job.is-focus{background:var(--job-color);color:#fff}.cal-job.is-focus .cal-dot{background:#fff}.cal-job.is-focus small{color:#ffffffd9}.cal-bar--dim{opacity:.22}.cal-legend{color:var(--ink-2);flex-wrap:wrap;gap:6px 14px;margin:0 0 10px;padding:0;font-size:12px;list-style:none;display:flex}.cal-legend li{align-items:center;gap:6px;display:inline-flex}.cal-dot{border-radius:3px;width:10px;height:10px;display:inline-block}.cal-grid{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.cal-row{grid-template-columns:var(--cal-label-w) minmax(calc(var(--cal-days) * 34px), 1fr);min-width:calc(var(--cal-label-w) + var(--cal-days) * 34px);display:grid}.cal-row--head{background:var(--surface);border-bottom:1px solid var(--border-strong);z-index:2;position:sticky;top:0}.cal-crew{border-bottom:1px solid #000}.night-mode .cal-crew{border-bottom-color:var(--line-strong)}.cal-crew:last-of-type{border-bottom:0}.cal-label{border-right:1px solid var(--border);flex-direction:column;gap:2px;min-width:0;padding:10px 12px;display:flex}.cal-label--btn{border:0;border-right:1px solid var(--border);font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;overflow:hidden}.cal-label--btn:hover,.cal-label--btn:focus-visible{background:color-mix(in srgb, var(--green) 10%, var(--surface))}.cal-label-text{flex-direction:column;gap:2px;min-width:0;display:flex}.cal-label--active{background:var(--green);color:#fff}.cal-label--active strong,.cal-label--active .muted{color:#fff}.cal-label--active .muted{opacity:.85}.cal-label--active:hover,.cal-label--active:focus-visible{background:var(--green-dark)}.cal-pickbar{z-index:60;border-radius:var(--radius);background:var(--green-soft);width:max-content;max-width:min(760px,100vw - 32px);color:var(--green-dark);border:1px solid color-mix(in srgb, var(--green) 45%, transparent);justify-content:space-between;align-items:center;gap:14px;padding:10px 14px;font-size:13px;font-weight:600;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000038}.cal-pick-layer{z-index:4;grid-template-columns:repeat(var(--cal-days), minmax(0, 1fr));display:grid;position:absolute;inset:0}.cal-pick-day{background:0 0;border:0;padding:0}.cal-pick-day:hover{background:color-mix(in srgb, var(--green) 22%, transparent)}.cal-pick-day.is-in-range{background:color-mix(in srgb, var(--green) 30%, transparent)}.cal-pick-day.is-start{background:color-mix(in srgb, var(--green) 55%, transparent);box-shadow:inset 0 0 0 2px var(--green-dark)}.cal-label strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cal-label .muted{font-size:12px}.cal-days{grid-template-columns:repeat(var(--cal-days), minmax(0, 1fr));display:grid}.cal-day{color:var(--ink-2);border-left:1px solid var(--cal-line);flex-direction:column;align-items:center;padding:6px 0;font-size:11px;display:flex;position:relative}.cal-day strong{color:var(--ink);font-size:14px}.cal-day em{text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-style:normal}.cal-day--week{border-left:2px solid var(--border-strong)}.cal-head-days{flex-direction:column;min-width:0;display:flex}.cal-weeks{grid-template-columns:repeat(var(--cal-weeks), minmax(0, 1fr));border-bottom:1px solid var(--border);display:grid}.cal-week-label{color:var(--ink-2);border-left:2px solid var(--border-strong);background:color-mix(in srgb, var(--ink) 5%, var(--surface));padding:4px 8px;font-size:11px;font-weight:600}.cal-week-label:nth-child(2n){background:color-mix(in srgb, var(--ink) 9%, var(--surface))}.cal-day--today{background:var(--green);color:#fff}.cal-day--today strong{color:#fff}.cal-body{background-image:linear-gradient(to right, var(--cal-line) 1px, transparent 1px), linear-gradient(to right, var(--border-strong) 2px, transparent 2px), linear-gradient(to right, transparent 50%, color-mix(in srgb, var(--ink) 4%, transparent) 50%);background-size:calc(100% / var(--cal-days)) 100%, calc(100% / var(--cal-weeks)) 100%, calc(200% / var(--cal-weeks)) 100%;min-width:0;position:relative}.cal-open-layer{grid-template-columns:repeat(var(--cal-days), minmax(0, 1fr));display:grid;position:absolute;inset:0}.cal-open-day{background:0 0;border:0;padding:0}.cal-open-day:hover{background:color-mix(in srgb, var(--green) 14%, transparent)}.cal-lanes{pointer-events:none;grid-template-columns:repeat(var(--cal-days), minmax(0, 1fr));row-gap:3px;padding:6px 0 4px;display:grid;position:relative}.cal-today{background:color-mix(in srgb, var(--green) 30%, var(--surface));pointer-events:none;position:absolute;top:0;bottom:0}.cal-bar{white-space:nowrap;box-sizing:border-box;z-index:1;border-radius:6px;align-items:center;gap:6px;min-width:0;margin:0 2px;padding:0 8px;font-size:12px;line-height:1;display:flex;overflow:hidden}.cal-bar-name{text-overflow:ellipsis;font-weight:600;overflow:hidden}.cal-bar-trade{opacity:.8;flex-shrink:0;font-size:11px}.cal-bar-tag{background:#ffffff40;border-radius:20px;flex-shrink:0;margin-left:auto;padding:2px 6px;font-size:10px}.cal-bar--clip-start{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:0}.cal-bar--clip-end{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}.cal-bar-warn{color:#fff;background:#dc2626;border-radius:50%;flex:none;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.cal-bar--inactive{opacity:.6;background-image:repeating-linear-gradient(135deg,#ffffff2e 0 6px,#0000 6px 12px)}.cal-empty{margin:0;padding:24px 16px}@media (width<=720px){.cal-page{--cal-label-w:120px;padding-left:16px;padding-right:16px}}.cal-bar{pointer-events:auto;cursor:default;touch-action:none;-webkit-user-select:none;user-select:none;position:relative}.cal-bar:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.cal-bar--ghost{opacity:.75;z-index:3;box-shadow:0 2px 8px #0000004d}.cal-handle{width:8px;position:absolute;top:0;bottom:0}.cal-handle--start{left:0}.cal-handle--end{right:0}.cal-handle:hover{background:#ffffff59}.modal.booking-modal{max-width:560px}.booking-form{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;display:grid}.booking-wide{grid-column:1/-1}.cal-warn{border-radius:var(--radius);background:var(--danger-soft);color:var(--danger);align-items:flex-start;gap:10px;margin-bottom:12px;padding:10px 12px;display:flex}.cal-warn p{color:inherit;margin:0 0 8px;font-weight:600}.cal-notice{border-radius:var(--radius);background:color-mix(in srgb, var(--warning) 16%, var(--surface));color:var(--ink);justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:8px 12px;font-size:13px;display:flex}.cal-history{border-radius:var(--radius);background:color-mix(in srgb, var(--ink) 5%, var(--surface));max-height:180px;margin:0 0 12px;padding:8px 12px;font-size:13px;list-style:none;overflow-y:auto}.cal-history li{flex-direction:column;padding:5px 0;display:flex}.cal-history li+li{border-top:1px solid var(--border)}.booking-foot{margin-bottom:8px;font-size:12px}.cal-link{font:inherit;color:var(--green-dark);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;text-decoration:underline;display:inline-flex}.booking-actions .booking-delete{margin-right:auto}.booking-delete-confirm{color:var(--danger);align-items:center;gap:8px;margin-right:auto;font-size:13px;font-weight:600;display:inline-flex}.roster-trade-checks{flex-wrap:wrap;gap:4px 14px;padding:4px 0;display:flex}.roster-trade-checks label{letter-spacing:0;color:var(--ink);white-space:nowrap;align-items:center;gap:5px;font-size:13px;font-weight:400;display:inline-flex}.roster-trade-checks input{width:auto}.btn-active{background:var(--green-soft);color:var(--green-dark)}.cal-find{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:14px;padding:12px 16px 16px}.cal-find header{justify-content:space-between;align-items:center;display:flex}.cal-find h2{margin:0;font-size:16px}.cal-find-inputs{grid-template-columns:repeat(3,minmax(0,220px));gap:12px;margin:10px 0;display:grid}.cal-find-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.cal-find-groups h3{margin:0 0 6px;font-size:13px}.cal-find-groups ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.cal-find-row{border-radius:var(--radius);background:color-mix(in srgb, var(--ink) 5%, var(--surface));justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.cal-find-row>div{flex-direction:column;gap:1px;min-width:0;display:flex}.cal-find-row .muted{font-size:12px}.cal-find-detail{color:var(--green-dark);font-size:12px}.cal-find-none{margin:0;font-size:12px}.cal-quick{gap:6px;margin-top:4px;display:flex}.cal-shift-preview li{flex-direction:row;justify-content:space-between;gap:12px}@media (width<=900px){.cal-find-inputs,.cal-find-groups{grid-template-columns:1fr}}.archived-files-notice{border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);border-radius:10px;align-items:flex-start;gap:10px;margin:12px 0;padding:10px 14px;font-size:13px;line-height:1.45;display:flex}.archived-files-notice>svg{color:var(--ink-2);flex:none;margin-top:2px}.archived-files-notice.is-error{border-color:var(--danger);background:var(--danger-soft)}.archived-files-notice-body{overflow-wrap:anywhere;min-width:0}.archived-files-notice-toggle{color:var(--green);font:inherit;cursor:pointer;background:0 0;border:0;margin-left:10px;padding:0;font-weight:600}.archived-files-notice-toggle:hover{text-decoration:underline}.archived-files-notice-error{color:var(--danger)}.archived-files-notice-list{margin:6px 0 0;padding-left:18px}.archived-files-notice-hint{margin-top:4px;font-size:12px}
