:root{--bg: #f4f5f7;--panel: #ffffff;--border: #e2e5ea;--text: #1c2430;--muted: #6b7585;--accent: #2b6cb0;--surface: #f6f7f9;--ms-blue: #2f2f2f;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}:root[data-theme=dark]{--bg: #0f141b;--panel: #1a212c;--border: #2c3645;--text: #e4e9f1;--muted: #94a1b5;--accent: #4d94d6;--surface: #161d27;color-scheme:dark}:root[data-theme=dark] .toolbar button,:root[data-theme=dark] .est-grp button,:root[data-theme=dark] .est-notify button,:root[data-theme=dark] .est-subbar button,:root[data-theme=dark] .bill-actions button,:root[data-theme=dark] .pager button,:root[data-theme=dark] .modal-foot button,:root[data-theme=dark] .details-actions button,:root[data-theme=dark] .editform-actions button,:root[data-theme=dark] .sel-detail-actions button,:root[data-theme=dark] .jobpicker-trigger,:root[data-theme=dark] .franchise-list button,:root[data-theme=dark] .user button,:root[data-theme=dark] .est-arearate,:root[data-theme=dark] .esttab-nav{background:var(--panel);color:var(--text)}:root[data-theme=dark] .est-header,:root[data-theme=dark] .job-filters,:root[data-theme=dark] .estimate-tabbar .estimate-tabs .tab{background:#161d27}:root[data-theme=dark] .estimate-tabbar .estimate-tabs .tab.active{background:var(--panel)}:root[data-theme=dark] .bill-actions,:root[data-theme=dark] .sel-info,:root[data-theme=dark] .sel-stat,:root[data-theme=dark] .placeholder{background:var(--panel)}:root[data-theme=dark] .maint-folders button:hover,:root[data-theme=dark] .maint-items li button:hover,:root[data-theme=dark] .jobpicker-pop li button:hover,:root[data-theme=dark] .findjob-list li button:hover,:root[data-theme=dark] .ctx-menu button:hover:not(:disabled),:root[data-theme=dark] .treenav-row:hover,:root[data-theme=dark] .catnav-item:hover,:root[data-theme=dark] .catnav-subitem:hover,:root[data-theme=dark] .sel-item:hover,:root[data-theme=dark] .sel-choice:hover:not(:disabled),:root[data-theme=dark] .tabtable tbody tr:hover,:root[data-theme=dark] .franchise-list button:hover:not(:disabled){background:#232d3c}:root[data-theme=dark] .tabtable tbody tr.sel,:root[data-theme=dark] .catnav-subitem.active,:root[data-theme=dark] .sel-choice.active{background:#243044;color:var(--text)}:root[data-theme=dark] .ag-theme-quartz{--ag-background-color: #161d27;--ag-foreground-color: #e4e9f1;--ag-header-background-color: #232d3c;--ag-header-foreground-color: #cdd6e3;--ag-border-color: #2c3645;--ag-row-hover-color: #232d3c;--ag-odd-row-background-color: #131922;--ag-control-panel-background-color: #1a212c;--ag-input-border-color: #2c3645;--ag-selected-row-background-color: #243044;--ag-modal-overlay-background-color: rgba(15, 20, 27, .66)}:root[data-theme=dark] .ag-theme-quartz.alt-rows .ag-row-odd:not(.job-selected){background:#131922}:root[data-theme=dark] .ag-theme-quartz .job-selected{background:#243044}:root[data-theme=dark] .ag-theme-quartz .job-selected:hover{background:#2a3950}:root[data-theme=dark] .page.estimating .ag-theme-quartz{--ag-background-color: #ffffff;--ag-foreground-color: #1c2430;--ag-data-color: #1c2430;--ag-odd-row-background-color: #ffffff;--ag-row-hover-color: #eef3fb;--ag-border-color: #d7dbe3;--ag-control-panel-background-color: #ffffff;--ag-input-border-color: #d7dbe3;--ag-selected-row-background-color: #cfe0fb}:root[data-theme=dark] .page.bills .ag-theme-quartz{--ag-foreground-color: #1c2430;--ag-data-color: #1c2430;--ag-selected-row-background-color: #cfe0fb}:root[data-theme=dark] .ag-overlay-loading-center{background-color:var(--ag-background-color);color:var(--ag-data-color, #1c2430);border:1px solid var(--ag-border-color)}:root[data-theme=dark] .page.work-orders .ag-theme-quartz{--ag-background-color: #ffffff;--ag-foreground-color: #1c2430;--ag-data-color: #1c2430;--ag-header-background-color: #aab3d9;--ag-header-foreground-color: #1c2430;--ag-border-color: #d7dbe3;--ag-row-hover-color: #eaf0f8;--ag-odd-row-background-color: #f4f7fb;--ag-selected-row-background-color: #e7eefc;--ag-control-panel-background-color: #ffffff;--ag-input-border-color: #d7dbe3}:root[data-theme=dark] .modal .ag-theme-quartz{--ag-background-color: #161d27 !important;--ag-foreground-color: #e4e9f1 !important;--ag-data-color: #e4e9f1 !important;--ag-header-background-color: #232d3c !important;--ag-header-foreground-color: #cdd6e3 !important;--ag-border-color: #2c3645 !important;--ag-row-hover-color: #232d3c !important;--ag-odd-row-background-color: #131922 !important;--ag-control-panel-background-color: #1a212c !important;--ag-input-border-color: #2c3645 !important;--ag-selected-row-background-color: #243044 !important}:root[data-theme=dark] .ag-theme-quartz .ag-row.jt-row-done{background:#20262f;color:#7c8694}:root[data-theme=dark] .ag-theme-quartz .jt-supervisor{color:#6f9eff}:root[data-theme=dark] .ag-theme-quartz .jt-fully-ordered{color:#4cce6a}:root[data-theme=dark] .ag-theme-quartz .jt-partly-ordered{color:#ff7a45}:root[data-theme=dark] .ag-theme-quartz .jt-date-confirmed{color:#ff6f9d}:root[data-theme=dark] .ag-theme-quartz .ag-row.jm-row-completed{background:#1e3a2a}:root[data-theme=dark] .ag-theme-quartz .ag-row.jm-row-confirm{background:#1e2f47}:root[data-theme=dark] .ag-theme-quartz .jm-done-cell{color:#4cce6a}:root[data-theme=dark] .ag-theme-quartz .jm-notyet-cell{color:#9aa6b5}.theme-toggle{font-size:16px;color:var(--muted)}.theme-toggle:hover{color:var(--accent)!important}.ant-btn.ant-btn-primary:not(:disabled):not(.ant-btn-dangerous){background:var(--accent);border-color:var(--accent);color:#fff}.ant-btn.ant-btn-primary:not(:disabled):not(.ant-btn-dangerous):hover{background:#245a91;border-color:#245a91;color:#fff}.ant-btn.ant-btn:disabled,.ant-btn.ant-btn:disabled:hover,.ant-btn.ant-btn.ant-btn-disabled,.ant-btn.ant-btn.ant-btn-disabled:hover{border-color:var(--border);background:var(--surface);color:var(--muted);cursor:not-allowed;opacity:.55;box-shadow:none}.login{display:grid;place-items:center;height:100vh}.login-card{background:var(--panel);padding:48px;border-radius:12px;box-shadow:0 10px 40px #00000014;text-align:center;min-width:340px}.login-card h1{margin:0 0 4px}.muted{color:var(--muted)}.ms-signin{margin-top:24px;display:inline-flex;align-items:center;gap:10px;background:#fff;border:1px solid #8c8c8c;color:#5e5e5e;font-size:15px;padding:10px 16px;border-radius:4px;cursor:pointer}.ms-signin:hover{background:#f3f3f3}.ms-logo{display:grid;grid-template-columns:9px 9px;grid-gap:2px}.ms-logo span{width:9px;height:9px;display:block}.ms-logo span:nth-child(1){background:#f25022}.ms-logo span:nth-child(2){background:#7fba00}.ms-logo span:nth-child(3){background:#00a4ef}.ms-logo span:nth-child(4){background:#ffb900}.shell{display:grid;grid-template-columns:220px 1fr;height:100vh}.sidebar{background:#1c2430;color:#cfd6e0;padding:16px 0;display:flex;flex-direction:column}.sidebar-version{margin-top:auto;padding:12px 20px 4px;color:#6b7585;font-size:12px;font-family:monospace}.brand{font-weight:700;font-size:18px;padding:8px 20px 20px;color:#fff;display:flex;align-items:center;justify-content:space-between}.brand-title{display:flex;align-items:center;gap:8px}.brand-icon{width:22px;height:22px;flex:none}.sidebar nav{display:flex;flex-direction:column}.sidebar nav a{color:#cfd6e0;text-decoration:none;padding:10px 20px}.sidebar nav a:hover{background:#283242}.sidebar nav a.active{background:var(--accent);color:#fff}.hamburger,.sidebar-close{display:none;background:none;border:none;cursor:pointer;padding:4px;font-size:18px;line-height:1}.hamburger{color:var(--text, #1c2430);margin-right:4px}.sidebar-close{color:#cfd6e0;font-size:16px}.nav-backdrop{display:none}.main{display:flex;flex-direction:column;overflow:hidden}.topbar{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;background:var(--panel);border-bottom:1px solid var(--border)}.topbar-left{display:flex;align-items:center;gap:22px}.headerjob{display:flex;align-items:center;gap:8px}.headerjob>label{color:var(--muted);font-size:13px}.franchise{display:flex;align-items:center;gap:8px}.franchise label{color:var(--muted);font-size:13px}.franchise-name{font-weight:600}.search{padding:6px 10px;border:1px solid var(--border);border-radius:6px}button.link{background:none;border:none;color:var(--accent);cursor:pointer;padding:2px 4px;font-size:13px}button.link:hover{text-decoration:underline}.franchise-card{min-width:380px;text-align:left}.franchise-card h1{text-align:center}.franchise-card>p{text-align:center}.franchise-list{list-style:none;padding:0;margin:20px 0 8px;display:flex;flex-direction:column;gap:8px}.franchise-list button{width:100%;display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border:1px solid var(--border);background:#fff;border-radius:8px;cursor:pointer;font-size:15px}.franchise-list button:hover:not(:disabled){border-color:var(--accent);background:#f7faff}.franchise-list button:disabled{opacity:.6;cursor:default}.bill-actions{border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:16px;background:#fafbfc}.bill-actions-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.bill-actions-row:last-of-type{margin-bottom:0}.bill-actions-row label{color:var(--muted);font-size:13px}.bill-actions select{padding:6px 8px;border:1px solid var(--border);border-radius:6px;min-width:180px}.bill-actions button{padding:6px 12px;border:1px solid var(--border);background:#fff;border-radius:6px;cursor:pointer}.bill-actions button:not(:disabled):hover{border-color:var(--accent)}.bill-actions button:disabled{opacity:.5;cursor:default}.bill-actions-note{margin-top:6px;font-size:13px}.jobonly{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.toolbar{display:flex;align-items:center;gap:8px;margin-bottom:14px;flex-wrap:wrap}.toolbar button{padding:6px 12px;border:1px solid var(--border);background:#fff;border-radius:6px;cursor:pointer}.toolbar button:hover{border-color:var(--accent)}.toolbar-sep{width:1px;align-self:stretch;background:var(--border);margin:0 4px}.toolbar-note{font-size:13px}.sel-jobhead{margin:0 0 8px;font-size:14px}.ag-theme-quartz.alt-rows .ag-row-odd:not(.job-selected){background:#f4f7fb}.ag-theme-quartz .ag-row.wo-cancelled{background:silver}.ag-theme-quartz .ag-row.wo-not-sent{background:#ffdd95}.ag-theme-quartz .ag-row.wo-fully-billed{background:#add8e6}.ag-theme-quartz .ag-row.wo-sent{background:#aaffa8}.ag-theme-quartz .ag-row.wo-created{background:#8484ff}.ag-theme-quartz .wo-cansend{color:#0d9900;font-weight:600}.ag-theme-quartz .wo-notyet{color:#d2691e;font-weight:600}.ag-theme-quartz .ag-row.jm-row-completed{background:#c8e6c9}.ag-theme-quartz .ag-row.jm-row-confirm{background:#bbdefb}.ag-theme-quartz .jm-done-cell{color:#1a7a35;font-weight:600}.ag-theme-quartz .jm-notyet-cell{color:#8a8a8a}.ag-theme-quartz .ag-row.jt-row-done{background:#f2f2f2;color:#b0b0b0}.ag-theme-quartz .jt-supervisor{color:#0000cd;font-weight:600}.ag-theme-quartz .jt-fully-ordered{color:#0d9900}.ag-theme-quartz .jt-partly-ordered{color:#ff4500;font-weight:700}.ag-theme-quartz .jt-date-confirmed{color:#903;font-weight:700}.page-head select{padding:6px 10px;border:1px solid var(--border);border-radius:6px}.jp-wrap{overflow:auto;max-height:calc(100vh - 220px);border:1px solid var(--border);border-radius:8px}.jp{border-collapse:collapse;font-size:12px;white-space:nowrap}.jp th,.jp td{border:1px solid var(--border);padding:5px 8px;text-align:left}.jp thead th{position:sticky;top:0;background:var(--panel);z-index:2}.jp .jp-fixed{position:sticky;left:0;background:var(--panel);font-weight:500}.jp thead th.jp-fixed{z-index:3}.jp tbody tr:hover td{outline:1px solid var(--accent);outline-offset:-1px}.maint{display:grid;grid-template-columns:240px 1fr;gap:16px;height:calc(100vh - 180px)}.maint-folders{display:flex;flex-direction:column;gap:2px;border-right:1px solid var(--border);padding-right:10px;overflow:auto}.maint-folders button{text-align:left;background:none;border:none;padding:10px 12px;border-radius:6px;cursor:pointer;font-size:14px}.maint-folders button:hover{background:#f1f5fb}.maint-folders button.active{background:var(--accent);color:#fff}.maint-folders button.active .muted{color:#dce8f6}.maint-items{overflow:auto}.maint-items ul{list-style:none;margin:0;padding:0}.maint-items li button{width:100%;text-align:left;background:none;border:1px solid transparent;border-bottom:1px solid var(--border);padding:12px 14px;cursor:pointer}.maint-items li button:hover{background:#f7faff}.maint-items li strong{font-size:15px}.maint-items li .muted{font-size:13px;margin-top:2px}.maint-detail .muted{font-size:12px;text-transform:uppercase;letter-spacing:.04em}.maint-desc{font-weight:600;margin:6px 0 12px}.maint-body{white-space:pre-line;line-height:1.55;margin:0}.page.estimating{display:flex;flex-direction:column;height:100%}.content:has(>.page.estimating){padding:12px 16px 0}.page.estimating .grid{height:auto;flex:1 1 auto;min-height:0}.estimate-tabbar{display:flex;align-items:stretch;gap:2px;margin-top:8px;border-top:1px solid var(--border);padding-top:6px}.estimate-tabbar .estimate-tabs{display:flex;flex:1 1 auto;gap:2px;overflow-x:auto;overflow-y:hidden;border-bottom:none;margin:0;scrollbar-width:thin}.estimate-tabbar .estimate-tabs::-webkit-scrollbar{height:6px}.estimate-tabbar .estimate-tabs .tab{flex:none;white-space:nowrap;padding:7px 14px;font-size:14px;cursor:pointer;color:var(--muted);background:#f7faff;border:1px solid var(--border);border-bottom:none;border-radius:6px 6px 0 0}.estimate-tabbar .estimate-tabs .tab:hover{color:var(--text)}.estimate-tabbar .estimate-tabs .tab.active{color:var(--accent);background:var(--panel);font-weight:600;border-color:var(--accent);border-bottom:none}.esttab-nav{flex:none;width:30px;border:1px solid var(--border);background:#fff;border-radius:6px;cursor:pointer;color:var(--muted);font-size:15px;line-height:1}.esttab-nav:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.esttab-nav:disabled{opacity:.4;cursor:default}.est-header{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px 14px;padding:8px 10px;margin-bottom:6px;border:1px solid var(--border);border-radius:8px;background:#fafcff}.est-grp{display:flex;flex-direction:column;gap:4px}.est-grp-grid{display:grid;grid-template-columns:auto auto;gap:4px 6px;align-content:start}.est-grp button,.est-notify button{padding:4px 9px;border:1px solid var(--border);background:#fff;border-radius:5px;cursor:pointer;font-size:12.5px;white-space:nowrap;text-align:center}.est-grp button:hover,.est-notify button:hover{border-color:var(--accent)}.est-goto-row{display:flex;align-items:center;gap:4px}.est-goto-row button{width:22px;padding:4px 0}.est-goto{padding:4px 6px;border:1px solid var(--border);border-radius:5px;font-size:12.5px;max-width:130px}.est-address{display:flex;flex-direction:column;gap:2px;font-size:12.5px;min-width:180px;max-width:240px}.est-addr-line{color:var(--muted)}.est-buildprice{display:flex;align-items:center;gap:4px}.est-buildprice-val{font-size:15px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap}.est-pencil{width:26px}.mup-dialog{display:flex;flex-direction:column;gap:10px;font-size:12.5px}.mup-tops,.mup-totals{display:flex;gap:16px;flex-wrap:wrap;padding:8px 10px;background:var(--surface, #f6f7f9);border:1px solid var(--border);border-radius:6px}.mup-tops>div,.mup-totals>div{display:flex;flex-direction:column;gap:2px}.mup-totals{justify-content:flex-end}.mup-grand .mup-ro{color:var(--accent);font-size:15px}.mup-section-title{font-weight:700;font-size:11px;letter-spacing:.04em;color:var(--muted);margin-top:2px}.mup-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 14px}.mup-cell{display:flex;flex-direction:column;gap:3px}.mup-cell-lbl,.mup-lbl{font-size:11px;color:var(--muted)}.mup-pair{display:flex;align-items:center;gap:6px}.mup-pct{width:64px}.mup-amt{width:100%;min-width:90px}.mup-ro{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.mup-pct-ro{width:56px;display:inline-block;color:var(--muted)}.mup-foot{display:flex;gap:12px;align-items:center;flex-wrap:wrap;min-height:20px}.est-notify{display:flex;flex-direction:column;gap:6px;margin-left:auto;align-items:flex-end;min-width:200px;max-width:340px;align-self:stretch}.est-notify-import{margin-top:auto;padding-top:4px}.est-notify-top{display:flex;align-items:center;gap:10px}.est-counter{display:flex;align-items:center;gap:4px;font-size:17px;font-weight:700;font-variant-numeric:tabular-nums}.est-count-red{color:#dc2626}.est-count-orange{color:#d97706}.est-count-green{color:#16a34a}.est-count-sep{color:var(--muted);font-weight:400}.est-arearate{font-size:12.5px;border:1px solid var(--border);border-radius:6px;padding:4px 10px;background:#fff;white-space:nowrap;font-variant-numeric:tabular-nums}.est-warning{font-size:12px;font-weight:600;color:#b45309;white-space:pre-line;text-align:right;max-height:72px;overflow:auto;line-height:1.35}.est-warning-error{color:#dc2626}.est-lbl{color:var(--muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.03em;margin-right:4px}.est-inline-lbl{color:var(--muted);font-size:12px}.est-subbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:4px}.est-subbar .search{min-width:220px}.est-subbar button{padding:5px 12px;border:1px solid var(--border);background:#fff;border-radius:6px;cursor:pointer}.est-subtotal{display:flex;align-items:center;gap:4px;font-size:12.5px;font-variant-numeric:tabular-nums}.est-subtotal strong{font-size:13.5px}.est-type{display:flex;align-items:center;gap:4px;margin-left:auto}.est-subbar-hint{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:18px;margin-bottom:8px}.est-hint{font-size:12px}.est-lock-banner{font-size:12px;font-weight:600;color:#b45309;background:#fef3c7;border:1px solid #fcd34d;border-radius:6px;padding:3px 10px}.ag-theme-quartz .job-selected{background:#e7eefc}.ag-theme-quartz .job-selected:hover{background:#dce7fb}.ag-center-cell{display:flex;align-items:center;justify-content:center}.ag-theme-quartz .matcat-span{background:#fff;border-right:1px solid var(--border);border-bottom:1px solid var(--border);z-index:1;align-items:flex-start;font-weight:500}.ag-theme-quartz .matcat-group-start{border-top:2px solid var(--border);font-weight:600}.ag-theme-quartz .ag-cell-wrap-text{white-space:normal!important;line-height:1.4;word-break:break-word}.page.estimating .ag-theme-quartz{--ag-header-background-color: #aab3d9;--ag-header-foreground-color: #004697;--ag-header-column-separator-display: block;--ag-header-column-separator-color: #8089b3;--ag-cell-horizontal-border: solid 1px #cfd4de}.page.estimating .ag-theme-quartz .ag-header-cell-text{font-weight:700}.ag-theme-quartz .matcat-group-start{border-top:2px solid #8089b3}.ag-theme-quartz .est-material-cell{font-weight:600}.ag-theme-quartz .est-wosplit-cell{color:#1f4e9b;font-weight:600}.ag-theme-quartz .est-editable{background:#fff}.ag-theme-quartz .est-editable:hover{background:#fff7df}.ag-theme-quartz .est-total-row{font-weight:700;background:#e6e6fa}.ag-theme-quartz .est-total-row .ag-cell{color:#1c2430}.ag-theme-quartz .est-client-row{background:#ccc}.ag-theme-quartz .est-client-row .ag-cell{color:#333}.ag-theme-quartz .est-quotepart-row{background:#ccc}.ag-theme-quartz .est-quotepart-row .ag-cell{color:#333}.ag-theme-quartz .est-quote-row{font-weight:700;background:#b3ffb3}.ag-theme-quartz .est-quote-row .ag-cell{color:#1c2430}.ag-theme-quartz .est-extra-row{background:#fff7c6}.ag-theme-quartz .est-ro{background:#c8d0e8}.ag-theme-quartz .est-pleasenote{background:orange}.ag-theme-quartz .est-pleasenote:hover{background:#ffb733}.ag-theme-quartz .ag-cell.est-matcat-cell{background:#a8b0d8;color:#004697}.ag-theme-quartz .ag-cell.est-total-alt{background:#a8b0d8}.ag-theme-quartz .ag-cell.est-wo-comment{background:#fff;color:#ff4500}.ag-theme-quartz .ag-cell.est-comment-cell{background:#fff}.ag-theme-quartz input.est-bool{width:15px;height:15px;margin:0;accent-color:#2f6feb}.ag-theme-quartz input.est-bool-editable{cursor:pointer}.ctx-menu{position:fixed;z-index:60;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 28px #0000002e;padding:4px;min-width:200px}.ctx-menu button{display:block;width:100%;text-align:left;background:none;border:none;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:13px}.ctx-menu button:hover:not(:disabled){background:#f1f5fb}.ctx-menu button:disabled{opacity:.45;cursor:default}.ctx-menu .ctx-sep{height:1px;background:var(--border);margin:4px 6px}.jobpicker{position:relative}.jobpicker-trigger{padding:6px 12px;border:1px solid var(--border);background:#fff;border-radius:6px;cursor:pointer;min-width:220px;text-align:left;color:var(--text)}.jobpicker-trigger:hover{border-color:var(--accent)}.jobpicker-pop{position:absolute;z-index:20;top:calc(100% + 4px);left:0;width:360px;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 12px 32px #00000029;padding:8px}.jobpicker-pop .search{width:100%;margin-bottom:6px}.jobpicker-pop ul{list-style:none;margin:0;padding:0;max-height:320px;overflow:auto}.jobpicker-pop li button{width:100%;text-align:left;background:none;border:none;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:14px}.jobpicker-pop li button:hover{background:#f1f5fb}.jobpicker-empty{padding:10px}.job-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 12px;padding:10px 12px;margin-bottom:10px;border:1px solid var(--border);border-radius:8px;background:#fafcff}.job-filters label{display:flex;flex-direction:column;gap:3px}.job-filters label span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.findjob-list{list-style:none;margin:0;padding:0;max-height:46vh;overflow:auto}.findjob-list li button{width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--border);padding:9px 10px;cursor:pointer;font-size:14px}.findjob-list li button:hover{background:#f1f5fb}.summary-pick{display:inline-flex;align-items:center;gap:6px;width:100%}.summary-pick-btn{flex:0 0 auto;width:16px;height:16px;padding:0;border:1px solid var(--border);border-radius:3px;background:#fff;cursor:pointer;position:relative}.summary-pick-btn:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:1px;background:linear-gradient(135deg,var(--accent) 0 45%,#fff 45% 55%,var(--accent) 55% 100%);opacity:.75}.summary-pick-btn:hover{border-color:var(--accent)}.summary-pick-btn:hover:after{opacity:1}.summary-pick-val{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ag-theme-quartz .summary-tab-cell{font-weight:600}:root[data-theme=dark] .summary-pick-btn{background:var(--panel)}.match-select-list{list-style:none;margin:0;padding:0;max-height:46vh;overflow:auto;border:1px solid var(--border);border-radius:5px}.match-select-list li button{width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--border);padding:7px 10px;cursor:pointer;font-size:13.5px;color:var(--text)}.match-select-list li:last-child button{border-bottom:none}.match-select-list li button:hover{background:#f1f5fb}.match-select-list li button.selected{background:var(--accent);color:#fff}:root[data-theme=dark] .match-select-list li button:hover{background:#232d3c}.pager{display:flex;align-items:center;justify-content:center;gap:16px;padding:10px}.pager button{padding:6px 14px;border:1px solid var(--border);background:#fff;border-radius:6px;cursor:pointer}.pager button:disabled{opacity:.5;cursor:default}.pager span{color:var(--muted);font-size:14px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:grid;place-items:center;z-index:50}.modal{background:var(--panel);border-radius:12px;width:min(640px,92vw);max-height:88vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000040}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-head h3{margin:0}.modal-x{background:none;border:none;font-size:24px;line-height:1;cursor:pointer;color:var(--muted)}.modal-body{padding:20px;overflow:auto;flex:1 1 auto;min-height:0}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--border);flex:none}.modal-foot button{padding:8px 16px;border:1px solid var(--border);background:#fff;border-radius:6px;cursor:pointer}.modal-foot button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.modal-wide{width:min(960px,95vw)}.modal-xl{width:min(1500px,96vw);height:90vh}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:14px}.tabs .tab{background:none;border:none;border-bottom:2px solid transparent;padding:8px 14px;cursor:pointer;color:var(--muted);font-size:14px}.tabs .tab:hover{color:var(--text)}.tabs .tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.tab-body{min-height:220px}.tabtable-wrap{max-height:52vh;overflow:auto}.tabtable{width:100%;border-collapse:collapse;font-size:13px}.tabtable th,.tabtable td{text-align:left;padding:6px 10px;border-bottom:1px solid var(--border);white-space:nowrap}.tabtable th{position:sticky;top:0;background:var(--panel);color:var(--muted);font-weight:600}.tabtable td.r,.tabtable th.r{text-align:right}.tabtable tbody tr:hover{background:#f7faff}.tabtable tbody tr.clickable{cursor:pointer}.tabtable tbody tr.sel{background:#e7eefc}.details-actions{display:flex;justify-content:flex-end;margin-bottom:10px}.details-actions button,.editform-actions button{padding:7px 14px;border:1px solid var(--border);background:#fff;border-radius:6px;cursor:pointer}.editform-actions button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.editform{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}.editform .field{display:flex;flex-direction:column;gap:4px}.editform .field.full{grid-column:1 / -1}.editform .field.check{flex-direction:row;align-items:center;gap:8px}.editform .field>span{color:var(--muted);font-size:12px}.editform .field input,.editform .field select{padding:7px 9px;border:1px solid var(--border);border-radius:6px;font-size:14px}.editform-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.editform .field>strong{font-size:14px;font-weight:600}.invoice-lines-head{margin:18px 0 8px;font-size:13px;color:var(--muted)}.docs{display:grid;grid-template-columns:320px 1fr;gap:14px;min-height:240px}.docs-folders{border-right:1px solid var(--border);padding-right:8px;max-height:64vh;overflow:auto}.docs-folders .ant-tree-node-content-wrapper{white-space:nowrap}.docs-files{min-width:0}.selections-page{display:flex;flex-direction:column}.sel-layout{display:grid;grid-template-columns:280px 1fr;gap:16px;min-height:0;flex:1}.sel-listbar{border:1px solid var(--border);border-radius:8px;padding:6px;max-height:calc(100vh - 230px);overflow:auto}.sel-group+.sel-group{margin-top:6px}.sel-group-head{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:6px 8px 4px;position:sticky;top:0;background:var(--panel)}.sel-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:none;border-radius:6px;padding:6px 8px;cursor:pointer;font-size:13px}.sel-item:hover{background:#f1f5fb}.sel-item.active{background:var(--accent);color:#fff}.sel-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sel-icon{flex:none;width:16px;text-align:center;font-weight:700}.sel-icon.ok{color:#1a7f37}.sel-icon.q{color:#b7791f}.sel-item.active .sel-icon.ok,.sel-item.active .sel-icon.q{color:#fff}.sel-detail-pane{border:1px solid var(--border);border-radius:8px;padding:16px 18px;min-width:0}.sel-detail-title{margin:0 0 14px}.sel-choices-block{margin-bottom:16px}.sel-choices-head{font-weight:600;font-size:12px;letter-spacing:.02em;text-transform:uppercase;color:var(--muted);padding:0 2px 8px}.sel-choices{list-style:none;margin:0;padding:4px;border:1px solid var(--border);border-radius:10px;max-height:240px;overflow:auto;background:var(--panel);display:flex;flex-direction:column;gap:2px}.sel-choice{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:9px 12px;border:1px solid transparent;border-radius:7px;background:transparent;cursor:pointer;font-size:13.5px;color:var(--text);line-height:1.35;transition:background .12s ease,border-color .12s ease}.sel-choice:before{content:"";flex:0 0 auto;width:14px;height:14px;border-radius:50%;border:1.5px solid #c2c9d4;transition:border-color .12s ease,background .12s ease}.sel-choice:hover:not(:disabled){background:#f4f8fd}.sel-choice:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.sel-choice.active{background:#eaf2fb;border-color:#bcdcff;color:#11497e;font-weight:600}.sel-choice.active:before{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 2.5px #eaf2fb}.sel-choice:disabled{color:var(--muted);cursor:default}.sel-choice:disabled:before{opacity:.4}.sel-info{margin-bottom:14px;border:1px solid var(--border);border-radius:8px;padding:14px 16px;background:#fafbfc}.sel-choice-detail{margin-bottom:14px}.sel-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.sel-stat{display:flex;flex-direction:column;gap:3px;padding:10px 12px;background:var(--panel);border:1px solid var(--border);border-radius:8px}.sel-stat-lbl{color:var(--muted);font-size:12px}.sel-stat-val{font-size:20px;font-weight:650;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.sel-props{margin-bottom:6px}.sel-prop-row{display:grid;grid-template-columns:minmax(120px,200px) minmax(0,320px);gap:12px;align-items:center;margin-bottom:8px}.sel-prop-lbl{text-align:right;color:var(--muted);font-size:13px;overflow-wrap:anywhere}.sel-prop-ctl{min-width:0}.sel-prop-comment{margin-top:14px}@media (max-width: 720px){.sel-prop-row{grid-template-columns:1fr;gap:4px}.sel-prop-lbl{text-align:left}}.sel-kv{gap:12px 28px}.sel-kv dt{font-size:12px;letter-spacing:.01em}.sel-kv dd{font-size:14px}.sel-desc{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.sel-desc-lbl{color:var(--muted);font-size:12px;margin-bottom:4px}.sel-desc-body{margin:0;font-size:14px;line-height:1.55;white-space:pre-wrap;max-width:70ch}.sel-status{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-bottom:4px}.sel-status-lbl{color:var(--muted);font-size:12px}.sel-status-lbl:not(:first-child){margin-left:8px}.sel-pill{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.6;border:1px solid transparent}.sel-pill.ok{color:#1a7f37;background:#e7f5ec;border-color:#b7e0c4}.sel-pill.warn{color:#9a6700;background:#fdf3df;border-color:#f0dca6}.sel-pill.neutral{color:#57606a;background:#eef0f3;border-color:#dfe3e8}.sel-detail-actions{margin-top:16px;display:flex;flex-wrap:wrap;gap:6px}.sel-detail-actions button{padding:6px 12px;border:1px solid var(--border);background:#fff;border-radius:6px;cursor:pointer;font-size:13px}.sel-detail-actions button:hover{border-color:var(--accent)}.sel-ok{color:#1a7f37;font-weight:600}.sel-q{color:#b7791f;font-weight:600}.sel-counts{display:flex;gap:18px;align-items:center;padding:10px 4px 0;font-size:13px}.sel-build-price{margin-left:auto;font-weight:700;color:var(--accent)}.treenav-list{list-style:none;margin:0;padding:0}.treenav-list .treenav-list{padding:0}.treenav-row{display:flex;align-items:center;gap:4px;padding:5px 8px 5px 4px;border-radius:6px;cursor:pointer;font-size:13px;white-space:nowrap}.treenav-row:hover{background:#f1f5fb}.treenav-row.active{background:var(--accent);color:#fff}.treenav-twisty{display:inline-flex;justify-content:center;width:14px;flex:none;font-size:10px;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.treenav-twisty.leaf{cursor:default}.treenav-row.active .treenav-twisty{color:#dce8f6}.treenav-label{overflow:hidden;text-overflow:ellipsis}.tree-layout{display:grid;grid-template-columns:300px 1fr;gap:16px;flex:1;min-height:0}.tree-pane{border:1px solid var(--border);border-radius:8px;padding:6px;overflow:auto;min-height:0}.tree-detail{border:1px solid var(--border);border-radius:8px;padding:16px 18px;min-width:0;overflow:auto}.tree-detail-title{margin:0 0 14px}.tree-content-wrap{min-width:0;display:flex;flex-direction:column}.tree-content-wrap .grid{height:auto;flex:1;min-height:0}.smat-page{display:flex;flex-direction:column;height:calc(100vh - 130px)}.smat-layout{display:grid;grid-template-columns:280px 1fr;gap:16px;flex:1;min-height:0}.smat-grid-wrap{min-width:0;display:flex;flex-direction:column}.smat-grid-wrap .grid{height:auto;flex:1;min-height:0}.catnav{border:1px solid var(--border);border-radius:8px;padding:6px;overflow:auto;min-height:0}.catnav-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:none;border-radius:6px;padding:7px 9px;cursor:pointer;font-size:13px}.catnav-item:hover{background:#f1f5fb}.catnav-item.active{background:var(--accent);color:#fff}.catnav-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catnav-count{flex:none;font-size:11px;color:var(--muted);background:#eef2f7;border-radius:10px;padding:1px 8px}.catnav-item.active .catnav-count{color:#fff;background:#ffffff40}.catnav-sub{margin:2px 0 4px 14px;border-left:1px solid var(--border);padding-left:6px}.catnav-subitem{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:none;border-radius:6px;padding:5px 8px;cursor:pointer;font-size:12.5px}.catnav-subitem:hover{background:#f1f5fb}.catnav-subitem.active{background:#e7eefc;color:var(--accent);font-weight:600}.catnav-subitem .catnav-count{background:#eef2f7}.mst-layout{display:grid;grid-template-columns:360px 1fr;gap:16px;flex:1;min-height:0}.mst-tree{border:1px solid var(--border);border-radius:8px;padding:10px;overflow:auto;min-height:0}.mst-detail{border:1px solid var(--border);border-radius:8px;padding:16px 20px;overflow:auto;min-height:0;display:flex}.mst-detail .ant-empty{margin:auto}.mst-detail-body{width:100%}.mst-detail-body h3{margin:0 0 14px}.mst-detail-body h4{margin:18px 0 8px}.mst-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}.mst-section-head h4{margin:0}.mst-detail-grid{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px;margin:0}.mst-detail-grid dt{color:var(--muted)}.mst-detail-grid dd{margin:0}.mst-names{width:100%;border-collapse:collapse;font-size:13.5px}.mst-names th,.mst-names td{text-align:left;padding:6px 10px;border-bottom:1px solid var(--border);vertical-align:top}.mst-names th{color:var(--muted);font-weight:600}.matsup-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;font-size:14px}.matsup-contains{display:flex;align-items:center;gap:8px;margin-left:auto}.po-head{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 24px;font-size:14px;padding:4px 0 10px;border-bottom:1px solid var(--border, #e5e7eb)}.po-details .modal-body{display:flex;flex-direction:column;gap:10px}.po-detail-top{display:flex;gap:20px;align-items:flex-start}.po-detail-top .po-head{flex:1;border-bottom:none;padding-bottom:0}.po-detail-actions{flex:0 0 240px;display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--panel)}.po-action-row{display:flex;gap:8px}.po-action-row .ant-btn{flex:1}.po-action-opts{display:flex;flex-direction:column;gap:6px;padding:6px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.po-detail-grid{flex:1 1 auto;min-height:280px;width:100%}.po-detail-grid-bar{display:flex;align-items:center;gap:14px}.po-head-desc{grid-column:1 / -1;display:flex;gap:6px}.po-head-desc span:last-child{white-space:pre-wrap}.po-field{display:flex;flex-direction:column;gap:4px}.po-field>.est-lbl{margin:0}.po-edit-fields{grid-column:1 / -1;display:flex;flex-direction:column;gap:12px;margin-top:10px;padding-top:12px;border-top:1px solid var(--border)}.po-edit-2col{display:grid;grid-template-columns:1fr 220px;gap:14px}.po-cancel-btn{margin-right:16px}.mst-search-results{list-style:none;margin:0;padding:0;overflow:auto}.mst-search-results li button{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;background:none;border:none;border-bottom:1px solid var(--border);padding:7px 8px;cursor:pointer;color:var(--text)}.mst-search-results li button:hover{background:#f1f5fb}.mst-search-results li button.active{background:var(--accent);color:#fff}.mst-result-family{font-size:12px;color:var(--muted)}.mst-search-results li button.active .mst-result-family{color:#dce8f6}:root[data-theme=dark] .mst-search-results li button:hover{background:#232d3c}.po-adjust-totals{display:flex;align-items:baseline;gap:10px;padding-top:6px;font-variant-numeric:tabular-nums}.po-adjust-totals strong{font-size:13.5px}.ag-theme-quartz .wo-line-editable{background:#fffbe6}:root[data-theme=dark] .ag-theme-quartz .wo-line-editable{background:#2a2f1c}:root[data-theme=dark] .page.work-orders .ag-theme-quartz.po-detail-grid,:root[data-theme=dark] .page.estimating .ag-theme-quartz.est-changes-grid{--ag-background-color: #161d27;--ag-foreground-color: #e4e9f1;--ag-data-color: #e4e9f1;--ag-header-background-color: #232d3c;--ag-header-foreground-color: #cdd6e3;--ag-border-color: #2c3645;--ag-row-hover-color: #232d3c;--ag-odd-row-background-color: #131922;--ag-cell-horizontal-border: solid 1px #2c3645;--ag-control-panel-background-color: #1a212c;--ag-input-border-color: #2c3645}.po-detail-foot{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%}.po-detail-totals{display:flex;align-items:baseline;gap:8px 16px;flex-wrap:wrap;font-size:14px}.po-detail-totals strong{font-size:15px}.po-neg{color:red}.ag-theme-quartz .bill-overdue{background:red}.ag-theme-quartz .bill-due-soon{background:#ffdd95}.page.bills .ag-theme-quartz .lk-inv{align-items:flex-start}.page.bills .ag-theme-quartz .lk-stack-col{padding:0!important;align-items:stretch}.page.bills .ag-theme-quartz .lk-stack{display:flex;flex-direction:column;width:100%}.page.bills .ag-theme-quartz .lk-sub{display:flex;align-items:flex-start;padding:6px 8px;box-sizing:border-box;overflow:hidden;border-bottom:1px solid #9aa3c9}.page.bills .ag-theme-quartz .lk-stack>.lk-sub:last-child{border-bottom:none}.page.bills .ag-theme-quartz .lk-sub-wrap{white-space:pre-wrap;line-height:18px}.page.bills .ag-theme-quartz .lk-sub-center{align-items:center}.page.bills .ag-theme-quartz{--ag-header-background-color: #aab3d9;--ag-header-foreground-color: #004080;--ag-header-column-separator-display: block;--ag-header-column-separator-color: #8089b3;--ag-background-color: #c7cde9;--ag-odd-row-background-color: #aaadd5;--ag-row-hover-color: #bcc4e6;--ag-cell-horizontal-border: solid 1px #9aa3c9}.page.bills .ag-theme-quartz .ag-header-cell-text{font-weight:700}.page.work-orders .ag-theme-quartz{--ag-header-background-color: #aab3d9;--ag-header-foreground-color: #004080;--ag-header-column-separator-display: block;--ag-header-column-separator-color: #8089b3;--ag-cell-horizontal-border: solid 1px #cfd4de}.page.work-orders .ag-theme-quartz .ag-header-cell-text{font-weight:700}.modal.wo-email{width:min(720px,95vw)}.wo-email-form{display:flex;flex-direction:column;gap:12px}.wo-email-row{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:12px}.wo-email-row>span{color:var(--muted);font-size:13px}.wo-email-row-msg{align-items:start}.wo-email-warn{color:#b76e00;background:#fff7e6;border:1px solid #ffe2b0;border-radius:6px;padding:8px 12px;font-size:13px}.wo-pdf .modal-body{padding:0;display:flex;flex-direction:column}.wo-pdf-pages{flex:1 1 auto;overflow:auto;background:#525659;padding:16px;display:flex;flex-direction:column;align-items:center;gap:16px}.wo-pdf-page{background:#fff;box-shadow:0 2px 10px #00000073;max-width:100%}.wo-pdf-loading{display:grid;place-items:center;padding:40px;min-height:200px;font-size:14px}.wo-pdf-foot{display:flex;gap:10px;align-items:center;width:100%}.wo-pdf-hint{margin-right:auto;font-size:12px}@media print{body.wo-pdf-printing *{visibility:hidden!important}body.wo-pdf-printing .wo-pdf-pages,body.wo-pdf-printing .wo-pdf-pages *{visibility:visible!important}body.wo-pdf-printing .wo-pdf-pages{position:fixed;left:0;top:0;width:100%;margin:0;padding:0;background:#fff;overflow:visible;display:block}body.wo-pdf-printing .wo-pdf-page{width:100%;height:auto;box-shadow:none;display:block;break-after:page;page-break-after:always}}.wo-email-attach{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:12px}.wo-email-hint{font-size:12px}.wo-email-foot{display:flex;align-items:center;gap:12px;width:100%;justify-content:flex-end;flex-wrap:wrap}.wo-email-foot .toolbar-note{margin-right:auto}.error-text{color:var(--danger, #c0392b)}.detail{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin:0}.detail>div{display:flex;flex-direction:column;gap:2px}.detail dt{color:var(--muted);font-size:12px}.detail dd{margin:0;font-size:15px}.user{display:flex;align-items:center;gap:12px}.user button{padding:6px 12px;border:1px solid var(--border);background:#fff;border-radius:6px;cursor:pointer}.content{padding:20px;overflow:auto;flex:1}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.page-head h2{margin:0}.grid{width:100%;height:calc(100vh - 160px)}.placeholder{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:28px}.error{color:#b03030}.login-hint{margin-top:18px;font-size:13px;color:var(--muted);line-height:1.5}.login-hint code{background:#eef0f3;padding:1px 5px;border-radius:4px;margin:0 2px}.login-error{margin-top:14px;font-size:13px;color:#b03030;word-break:break-word}@media (max-width: 768px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;top:0;left:0;bottom:0;width:240px;z-index:1001;transform:translate(-100%);transition:transform .25s ease;overflow-y:auto}.shell.nav-open .sidebar{transform:translate(0)}.nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#00000073;opacity:0;pointer-events:none;transition:opacity .25s ease}.shell.nav-open .nav-backdrop{display:block;opacity:1;pointer-events:auto}.hamburger,.sidebar-close{display:inline-flex;align-items:center}.topbar{flex-wrap:wrap;gap:10px;padding:10px 14px}.topbar-left{flex-wrap:wrap;gap:12px}.content{padding:14px}.grid{height:calc(100vh - 220px)}}.est-history-actions{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.est-history-hint{color:var(--muted);font-size:13px;margin-left:4px}.est-history-notice{background:#e8f5e9;color:#1b5e20;border:1px solid #a5d6a7;border-radius:6px;padding:8px 12px;margin-bottom:12px;font-size:13px}:root[data-theme=dark] .est-history-notice{background:#14311a;color:#a5d6a7;border-color:#2e5b36}.est-history-table{--safe: 0}.est-cmp-range{color:var(--muted);font-weight:400;font-size:14px}.est-cmp-status{padding:40px;text-align:center;color:var(--muted);font-size:15px}.est-cmp-body{display:flex;flex-direction:column;gap:14px}.est-cmp-summary{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap}.est-cmp-grand{display:flex;flex-direction:column;gap:4px;min-width:200px}.est-cmp-grand span{color:var(--muted);font-size:13px}.est-cmp-grand strong{font-size:28px}.est-cmp-grand.pos strong{color:#2e9e4f}.est-cmp-grand.neg strong{color:#d24b4b}.est-cmp-chart{border:1px solid var(--border);border-radius:8px;padding:12px;background:var(--bg)}.est-cmp-chart-title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:6px}.est-cmp-chart-scroll{overflow-x:auto}.est-cmp-bars{display:block}.est-cmp-bars .axis-zero{stroke:var(--border);stroke-width:1}.est-cmp-bars .bar-pos{fill:#2e9e4f}.est-cmp-bars .bar-neg{fill:#d24b4b}.est-cmp-bars .bar-val{fill:var(--muted);font-size:11px}.est-cmp-bars .bar-label{fill:var(--text);font-size:12px}.est-cmp-bars .bar-hit{fill:transparent}.est-cmp-bars .bar-g.clickable{cursor:pointer}.est-cmp-bars .bar-g.clickable:hover .bar-hit{fill:color-mix(in srgb,var(--accent) 12%,transparent)}.est-cmp-bars .bar-g.clickable:hover .bar-pos{fill:#38b95f}.est-cmp-bars .bar-g.clickable:hover .bar-neg{fill:#e56464}.est-cmp-hint{color:var(--muted);font-size:12px;margin-top:-6px}.est-cmp-pdferr{color:#d24b4b;font-size:12px;align-self:center;margin-right:auto}.est-cmp-breadcrumb{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.est-cmp-breadcrumb .crumb{background:none;border:none;cursor:pointer;color:var(--accent);font-size:14px;padding:2px 4px;border-radius:4px}.est-cmp-breadcrumb .crumb.active{color:var(--text);font-weight:600;cursor:default}.est-cmp-breadcrumb .sep{color:var(--muted)}.est-cmp-table{width:100%;border-collapse:collapse}.est-cmp-table th,.est-cmp-table td{text-align:left;padding:8px 12px;border-bottom:1px solid var(--border)}.est-cmp-table th.num,.est-cmp-table td.num{text-align:right;white-space:nowrap}.est-cmp-table thead th{color:var(--muted);font-weight:600;font-size:13px}.est-cmp-table td.u{color:var(--muted)}.est-cmp-table tr.drill{cursor:pointer}.est-cmp-table tr.drill:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.est-cmp-table td.chev{color:var(--muted);width:24px;text-align:center}.est-cmp-table .num.pos{color:#2e9e4f}.est-cmp-table .num.neg{color:#d24b4b}.est-daterange{display:flex;flex-direction:column;gap:16px}.est-daterange label,.est-variation-form label{display:flex;flex-direction:column;gap:6px}.est-daterange label span,.est-variation-form label span{font-size:13px;color:var(--muted)}.est-variation-form{display:flex;flex-direction:column;gap:16px}.est-variation-note{color:var(--muted);font-size:13px;margin:0}.route-loading{padding:40px;text-align:center;color:var(--muted);font-size:15px}
