@import "https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;0,900;1,400&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand-red:#d7282f;--brand-yellow:#ffcd00;--brand-black:#231f20;--color-bg:#e4e6e8;--color-surface:#fff;--color-border:#dadce0;--color-text:#202124;--color-muted:#5f6368;--color-accent:#1a73e8;--color-accent-hover:#1557b0;--color-good:#02854f;--color-good-bg:#02854f1f;--color-warn:#7a5b00;--color-warn-bg:#ffcd0033;--color-bad:var(--brand-red);--color-bad-bg:#d7282f1a;font-family:Roboto,system-ui,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{min-height:100vh;color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:linear-gradient(135deg,#e8eaed 0%,#f1f3f4 40%,#e3e5e8 100%);background-attachment:fixed;margin:0}button{font-family:inherit}.app-shell{min-height:100vh}.hero-header{position:relative}.hero-photo{background-image:url(/assets/hero-banner-CUDdN_c2.jpg);background-position:50% 65%;background-size:cover;width:100%;height:88px;position:relative}.hero-overlay{background:linear-gradient(#0000,#0003);position:absolute;inset:0}.hero-logo-box{color:inherit;background:#fff;border-radius:8px;align-items:center;gap:10px;padding:6px 10px;text-decoration:none;display:flex;position:absolute;top:14px;left:20px;box-shadow:0 2px 6px #00000040}.hero-logo-box img{width:auto;height:36px;display:block}.hero-app-name{color:var(--brand-black);white-space:nowrap;font-size:14px;font-weight:700}.hero-user{align-items:center;gap:10px;display:flex;position:absolute;top:12px;right:20px}.hero-user-name{color:#fff;text-transform:uppercase;letter-spacing:.03em;text-align:right;text-shadow:0 1px 3px #0009;font-size:12px;font-weight:700}.hero-signout{color:#fff;cursor:pointer;background:#00000059;border:1px solid #fff9;border-radius:999px;padding:4px 12px;font-family:inherit;font-size:11px}.hero-signout:hover{background:#0000008c}.mobile-nav-trigger{color:#fff;cursor:pointer;background:#00000059;border:1px solid #fff9;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;font-family:inherit;font-size:16px;line-height:1;display:none}.mobile-nav-trigger:hover{background:#0000008c}.app-body{align-items:flex-start;gap:24px;padding:24px 20px 60px;display:flex}.main{flex:auto;min-width:0;max-width:1200px}.hero{padding:8px 4px 24px}.hero h1{margin:0 0 8px;font-size:26px}.hero p{color:var(--color-muted);margin:0}.tile{text-align:center;background:var(--color-surface);border:1px solid var(--color-border);min-height:140px;color:inherit;border-radius:8px;justify-content:center;align-items:center;padding:20px;text-decoration:none;display:flex;box-shadow:0 1px 3px #3c40431f;container-type:inline-size}.tile:hover{border-color:var(--color-accent);box-shadow:0 4px 12px #3c40432e}.empty-state{color:var(--color-muted);margin-top:16px}.field-hint{color:var(--color-muted);margin-top:-8px;font-size:.9em}.history-detail{color:var(--color-muted);margin-top:2px;font-size:.9em}.history-list{margin-top:16px}.history-nowrap{white-space:nowrap}.sign-in-gate{background:var(--color-surface);border:1px solid var(--color-border);text-align:center;border-radius:8px;max-width:400px;margin:15vh auto 0;padding:32px;box-shadow:0 1px 3px #3c40431f}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;margin-bottom:20px;padding:20px;box-shadow:0 1px 3px #3c40431f}.run-id{color:var(--color-muted);margin:0}.run-id code{background:var(--color-bg);border-radius:4px;padding:2px 6px;font-size:13px}.run-detail-actions{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.collapsible-toggle{cursor:pointer;align-items:center;gap:10px;font-weight:600;display:flex}.collapsible-toggle input{cursor:pointer;width:16px;height:16px}.collapsible-toggle-title{font-size:15px}.collapsible-toggle-hint{color:var(--color-muted);font-size:13px;font-weight:400}.btn{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;border-radius:6px;padding:8px 14px;font-family:inherit;font-size:14px;font-weight:500;text-decoration:none;display:inline-block;box-shadow:0 1px 2px #3c404314}.btn:hover{border-color:var(--color-accent)}.btn.primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.btn.primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn.ghost{box-shadow:none;color:var(--color-muted);background:0 0;border-color:#0000}.btn.ghost:hover{color:var(--color-text);border-color:var(--color-border);background:var(--color-bg)}.btn:disabled{opacity:.5;cursor:default}.btn.small{padding:5px 10px;font-size:13px}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.field{flex-direction:column;gap:4px;display:flex}.field.full{grid-column:1/-1}.button-row{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;display:flex}.field label,.field>span{font-size:13px;font-weight:500}.field input,.field select{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:6px;padding:8px 10px;font-family:inherit;font-size:14px}.field>input[type=checkbox]{align-self:flex-start}.form-error{color:var(--color-bad)}.field input:focus,.field select:focus{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent);outline:none}.checkbox-list{flex-wrap:wrap;gap:12px;display:flex}.checkbox-list-item{align-items:center;gap:6px;font-size:14px;font-weight:400;display:flex}.table-scroll{overflow-x:auto}table.data-table{border-collapse:collapse;background:var(--color-surface);width:100%;font-size:13px}table.data-table th,table.data-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:8px 10px}table.data-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);background:var(--color-bg);font-size:11px}table.data-table tr:last-child td{border-bottom:none}table.data-table tbody tr:nth-child(2n){background:var(--color-bg)}table.data-table tbody tr:hover{background:color-mix(in srgb, var(--color-accent) 8%, transparent)}.search-results{border:1px solid var(--color-border);border-radius:6px;max-height:220px;margin:6px 0 0;padding:0;list-style:none;overflow-y:auto}.search-results li{border-bottom:1px solid var(--color-border)}.search-results li:last-child{border-bottom:none}.search-results button{text-align:left;border-radius:0;width:100%}.chip-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chip{background:var(--color-bg);border:1px solid var(--color-border);border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:13px;display:inline-flex}.row-stripe-a{background:var(--color-surface)}.row-stripe-b{background:var(--color-bg)}.employee-result{border-radius:6px;margin-bottom:12px;padding:12px 16px}.employee-result:last-child{margin-bottom:0}.employee-result h3{margin-top:0}.employee-result h4{margin-bottom:6px}.employee-result .table-scroll{margin-bottom:16px}.expand-btn{white-space:nowrap}.pill{color:var(--color-muted);white-space:nowrap;background:#5f63681f;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.pill.status-in_progress{color:var(--color-accent);background:#1a73e81f}.pill.status-completed{background:var(--color-good-bg);color:var(--color-good)}.pill.status-failed{background:var(--color-bad-bg);color:var(--color-bad)}.pill.status-paused{background:var(--color-warn-bg);color:var(--color-warn)}.pill.division{color:var(--color-accent);background:#1a73e81f}.stage-progress-status{margin:0 0 12px}.stage-progress ol{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.stage-step{color:var(--color-muted);border-radius:6px;align-items:center;gap:10px;padding:8px 10px;display:flex}.stage-step-index{background:var(--color-bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:flex}.stage-step-label{flex:auto}.stage-step-duration{color:var(--color-muted);font-variant-numeric:tabular-nums;font-size:12px}.stage-step-done .stage-step-index{background:var(--color-good-bg);color:var(--color-good)}.stage-step-done .stage-step-label{color:var(--color-text)}.stage-step-current{background:#1a73e814}.stage-step-current .stage-step-index{background:var(--color-accent);color:#fff}.stage-step-current .stage-step-label{color:var(--color-text);font-weight:600}.stage-step-current .stage-step-duration{color:var(--color-accent);font-weight:600}.stage-step-failed{background:var(--color-bad-bg)}.stage-step-failed .stage-step-index{background:var(--color-bad);color:#fff}.stage-step-failed .stage-step-label{color:var(--color-bad);font-weight:600}.failure-banner{background:var(--color-bad-bg);border:1px solid var(--color-bad);color:var(--color-bad);border-radius:8px;margin-bottom:20px;padding:12px 16px}.failure-banner p{margin:0 0 4px}.failure-banner p:last-child{margin-bottom:0}.upload-audit-note{color:var(--color-muted);margin:0 0 12px;font-size:13px}.upload-zones{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-bottom:16px;display:grid}.upload-zone h3{margin:0 0 8px;font-size:14px}.upload-zone-empty{color:var(--color-muted);font-size:13px}.upload-zone-list{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.upload-zone-list li{background:var(--color-bg);border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.upload-zone-filename{text-overflow:ellipsis;flex:auto;min-width:0;font-weight:500;overflow:hidden}.upload-zone-rejection-reason{color:var(--color-bad);flex-basis:100%;margin:2px 0 0;font-size:12px}.upload-zone-list button{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:6px;padding:3px 8px;font-family:inherit;font-size:12px}.coverage-gap-dialog{background:var(--color-warn-bg);border:1px solid var(--color-warn);border-radius:8px;margin-bottom:20px;padding:16px 20px}.coverage-gap-dialog h2{margin:0 0 8px;font-size:16px}.coverage-gap-dialog h3{margin:12px 0 4px;font-size:13px}.results-table{overflow-x:auto}.results-table table{border-collapse:collapse;background:var(--color-surface);width:100%;font-size:13px}.results-table th,.results-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:8px 10px}.results-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);background:var(--color-bg);font-size:11px}.results-table tr:last-child td{border-bottom:none}.ai-badge{color:var(--color-accent);white-space:nowrap;background:#1a73e81f;border-radius:999px;padding:2px 6px;font-size:10.5px;font-weight:700}.results-table-pagination{color:var(--color-muted);align-items:center;gap:12px;margin-top:12px;font-size:13px;display:flex}.results-table-pagination button{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:6px;padding:5px 10px;font-family:inherit}.results-table-pagination button:disabled{opacity:.5;cursor:default}.run-history-toolbar{justify-content:flex-end;margin-bottom:12px;display:flex}table.data-table tbody tr.run-history-row-new{box-shadow:inset 3px 0 0 0 var(--color-accent);background:#1a73e814}.sortable-column-header{font:inherit;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);cursor:pointer;background:0 0;border:none;margin:0;padding:0;font-size:11px}.sortable-column-header:hover{color:var(--color-text)}.results-panel dl{grid-template-columns:max-content 1fr;gap:4px 16px;margin:0 0 16px;display:grid}.results-panel dt{color:var(--color-muted);font-size:13px}.results-panel dd{margin:0;font-weight:500}.download-list{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.download-error{color:var(--color-bad);font-size:13px}.export-history-list{color:var(--color-muted);flex-direction:column;gap:4px;margin:8px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.metrics-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px;display:grid}.metrics-stats-nested{margin-bottom:16px}.metrics-stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.metrics-stat-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);font-size:11px}.metrics-stat-value{font-size:24px;font-weight:700}.metrics-stat-hint{color:var(--color-muted);font-size:12px}.metrics-widgets{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.metrics-widgets.is-refreshing{opacity:.6}.metrics-widget{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:16px}.metrics-widget-wide{grid-column:1/-1}.metrics-widget-header h3{margin:0 0 12px;font-size:15px}.metrics-session-active-title{color:var(--color-muted);margin:0 0 8px;font-size:13px}.metrics-modal-backdrop{z-index:100;background:#20212480;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.metrics-modal-panel{background:var(--color-surface);border-radius:8px;flex-direction:column;width:100%;max-width:600px;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 8px 24px #3c40434d}.metrics-modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 20px;display:flex}.metrics-modal-header h3{margin:0}.metrics-modal-subtitle{color:var(--color-muted);margin:4px 0 0;font-size:13px}.metrics-modal-body{padding:16px 20px;overflow-y:auto}.app-sidebar{flex-direction:column;flex-shrink:0;width:260px;min-height:0;display:flex}.app-sidebar-scroll{flex-direction:column;gap:10px;padding-right:4px;display:flex;overflow-y:auto}.sidebar-show-all{color:var(--color-muted);cursor:pointer;align-items:center;gap:6px;padding:0 2px;font-size:13px;display:flex}.sidebar-tool-list{flex-direction:column;gap:10px;display:flex}.sidebar-tool{text-align:left;flex-direction:column;align-items:flex-start;gap:4px;min-height:0;padding:12px 14px;display:flex}.sidebar-tool-available{cursor:pointer}.sidebar-tool-unavailable{color:var(--color-muted);background:var(--color-bg);cursor:default}.sidebar-tool-unavailable:hover{border-color:var(--color-border);box-shadow:0 1px 3px #3c40431f}.sidebar-tool-label-row{align-items:baseline;gap:6px;display:flex}.sidebar-tool-label{font-size:14px;font-weight:600}.sidebar-tool-version{color:var(--color-muted);font-size:11px;font-weight:400}.sidebar-tool-description{color:var(--color-muted);font-size:12px}.sidebar-tool-contact{color:var(--color-muted);font-size:12px;font-style:italic}.sidebar-admin-section{border-top:1px solid var(--color-border);flex-direction:column;gap:6px;margin-top:16px;padding-top:12px;display:flex}.sidebar-section-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);font-size:11px;font-weight:700}.sidebar-admin-link{color:var(--color-accent);padding:4px 2px;font-size:13px;font-weight:500;text-decoration:none}.sidebar-admin-link:hover{color:var(--color-accent-hover);text-decoration:underline}.sidebar-skeleton{flex-direction:column;gap:10px;display:flex}.sidebar-skeleton-row{background:linear-gradient(90deg, var(--color-bg) 25%, var(--color-border) 37%, var(--color-bg) 63%);background-size:400% 100%;border-radius:8px;height:64px;animation:1.4s infinite sidebar-skeleton-shimmer}@keyframes sidebar-skeleton-shimmer{0%{background-position:100%}to{background-position:0}}.sidebar-error{background:var(--color-bad-bg);border:1px solid var(--color-bad);color:var(--color-bad);border-radius:8px;padding:12px 14px}.sidebar-error-title{margin:0 0 4px;font-weight:600}.sidebar-error-detail{margin:0;font-size:12px}@media (width<=640px){.hero-user-name{display:none}.metrics-widgets{grid-template-columns:1fr}.mobile-nav-trigger{display:inline-flex}.app-sidebar{display:none}.app-sidebar.app-sidebar--open{z-index:40;background:var(--color-surface);width:85vw;max-width:320px;height:100vh;padding:20px 16px;display:flex;position:fixed;top:0;bottom:0;left:0;box-shadow:2px 0 16px #0000004d}.app-sidebar.app-sidebar--open .app-sidebar-scroll{overflow-y:auto}.sidebar-backdrop{z-index:30;background:#00000073;position:fixed;inset:0}.app-body{padding:16px 12px 40px}.btn{padding:11px 16px}.field input,.field select{padding:11px 12px}.run-detail-actions,.rate-table-toolbar,.cc-budget-bar,.upload-zones{gap:10px}.rate-table-toolbar .field,.rate-table-toolbar .btn{width:100%}.rate-table-toolbar .btn{margin-left:0}}.user-guide-content{max-width:800px;line-height:1.6}.user-guide-content h1,.user-guide-content h2,.user-guide-content h3{margin-top:1.4em;margin-bottom:.5em}.user-guide-content h1:first-child,.user-guide-content h2:first-child{margin-top:0}.user-guide-content p,.user-guide-content ul,.user-guide-content ol{margin-bottom:1em}.user-guide-content table{border-collapse:collapse;width:100%;margin-bottom:1.4em}.user-guide-content th,.user-guide-content td{border:1px solid var(--color-border);text-align:left;vertical-align:top;padding:8px 12px}.user-guide-content th{background:var(--color-bg)}.cc-tabs{border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:4px;margin-bottom:16px;display:flex}.cc-tab-btn{cursor:pointer;color:var(--color-muted);background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 14px;font-size:13px;font-weight:600}.cc-tab-btn:hover{color:var(--color-text)}.cc-tab-btn.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.cc-code-visual{align-items:center;gap:2px;font-family:Courier New,monospace;font-size:18px;font-weight:800;display:flex}.cc-code-seg{background:var(--color-bg);color:var(--color-muted);border-radius:6px;padding:6px 10px}.cc-code-seg.cc-seg1{background:var(--color-text);color:var(--color-surface)}.cc-code-seg.cc-seg2{background:var(--color-accent);color:var(--color-surface)}.cc-code-seg.cc-seg3{color:var(--color-surface);background:navy}.cc-code-seg.cc-dim{opacity:.45}.cc-code-sep{color:var(--color-muted);padding:0 2px}.cc-result-list{flex-direction:column;gap:6px;max-height:420px;margin-top:8px;display:flex;overflow-y:auto}.cc-result-item{background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;align-items:center;gap:12px;padding:10px 14px;display:flex}.cc-result-code{color:var(--color-accent);min-width:100px;font-family:Courier New,monospace;font-weight:800}.cc-result-info{flex:1}.cc-result-name{font-size:13px;font-weight:600}.cc-result-path{color:var(--color-muted);margin-top:2px;font-size:11px}.cc-result-categories{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.cc-category-key{background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;flex-wrap:wrap;gap:6px 14px;margin-top:10px;padding:10px 14px;display:flex}.cc-category-key-item{color:var(--color-muted);align-items:center;gap:6px;font-size:12px;display:flex}.cc-budget-bar{background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding:10px 14px;display:flex}.cc-toast{z-index:110;background:var(--color-surface);pointer-events:none;border:1px solid;border-radius:8px;max-width:calc(100vw - 32px);padding:10px 18px;font-size:14px;font-weight:500;animation:.16s ease-out cc-toast-in;position:fixed;top:20px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #3c404347}.cc-toast-good{color:var(--color-good);border-color:var(--color-good)}.cc-toast-warn{color:var(--color-warn);border-color:var(--brand-yellow);background:#fff8d6}@keyframes cc-toast-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.cc-toast{animation:none}}.budget-line-notes{min-width:240px}.budget-line-notes textarea{box-sizing:border-box;width:100%;font:inherit;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);resize:vertical;border-radius:6px;padding:6px 8px;font-size:13px}.budget-line-notes-actions{align-items:center;gap:8px;margin-top:4px;display:flex}.budget-line-notes-status{color:var(--color-muted);font-size:12px}.cc-add-dialog{max-width:480px}.cc-add-dialog .budget-line-notes textarea{margin-top:4px}.cc-add-dialog-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.rr-mode-toggle{margin-bottom:14px;display:inline-flex}.rr-mode-toggle .btn{border-radius:0}.rr-mode-toggle .btn:first-child{border-radius:6px 0 0 6px}.rr-mode-toggle .btn:last-child{border-radius:0 6px 6px 0;margin-left:-1px}.rate-table-toolbar{background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:14px;margin-top:16px;padding:12px 14px;display:flex}.rate-table-toolbar .field{min-width:180px}.rate-table-toolbar .btn{margin-left:auto}.rate-table-summary{color:var(--color-muted);margin-top:10px;margin-bottom:6px;font-size:12px}.rate-table-caption{margin-top:16px;margin-bottom:0;font-weight:600}.rate-table-more{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;font-size:12px;display:flex}table.rate-table th,table.rate-table td{white-space:nowrap}table.rate-table tbody tr:nth-child(2n){background:var(--color-bg)}table.rate-table tbody tr:hover{background:color-mix(in srgb, var(--color-accent) 8%, transparent)}.rate-table-numeric{text-align:right;font-variant-numeric:tabular-nums}.rate-table-no-match{text-align:center;color:var(--color-muted);padding:20px 10px!important}@media print{.hero-header,.app-sidebar,.no-print{display:none!important}}.app-access-list{flex-direction:column;gap:10px;display:flex}.app-access-row{flex-wrap:wrap;align-items:center;gap:4px 20px;display:flex}.app-access-row .checkbox-list-item:first-child{min-width:200px}.checkbox-list-nested{opacity:.85;font-size:.92em}.checkbox-list-nested:has(input:disabled){opacity:.5}.muted{opacity:.7;font-size:.92em}.gross-profit-subline{color:var(--color-muted);margin-top:2px;font-size:11px}.gross-profit-total{border-left:2px solid var(--color-border);font-weight:600}.hero .gross-profit-scope{margin-top:4px}.report-controls{flex-wrap:wrap;gap:16px;margin-bottom:16px;display:flex}.report-controls .field{flex:260px;max-width:460px}.report-controls .field-hint{margin-top:0}.print-only{display:none}@page gross-profit{size:landscape;margin:12mm}@media print{.print-only{display:inline}.app-body:has(.gross-profit-page){padding:0;display:block}.gross-profit-page{page:gross-profit}.gross-profit-page .panel{box-shadow:none;border:0;padding:0}.gross-profit-print-page{break-after:page}.gross-profit-print-page:last-child{break-after:auto}.gross-profit-print-heading{margin:0 0 6px;font-size:11px;font-weight:600}.gross-profit-report table.data-table th,.gross-profit-report table.data-table td{padding:4px 6px;font-size:11px}.gross-profit-report .gross-profit-subline{font-size:9px}.gross-profit-report tr{break-inside:avoid}.gross-profit-report .gross-profit-total{border-left-color:#5f6368}}.jobcost-summary-row td{font-weight:600}.jobcost-summary-row-first td{border-top:2px solid var(--color-border)}.main:has(.editor-page){max-width:none}.editor-layout{align-items:flex-start;gap:16px;display:flex}.editor-grid{flex:auto;min-width:0;max-height:75dvh;scroll-padding-top:36px;overflow:auto}.editor-panel{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;flex:0 0 320px;padding:16px;position:sticky;top:16px}.editor-panel h2{margin-top:0}.editor-key{grid-template-columns:auto 1fr;gap:4px 12px;margin:0 0 12px;display:grid}.editor-key dt{color:var(--color-muted)}.editor-key dd{margin:0}table.editor-table th,table.editor-table td{white-space:nowrap;padding:4px 6px}table.editor-table td.num,table.editor-table th.num{text-align:right;min-width:96px}table.editor-table .sticky-left,table.editor-table .sticky-right{z-index:1;background:var(--color-surface);position:sticky}table.editor-table .sticky-left{text-overflow:ellipsis;max-width:320px;left:0;overflow:hidden}table.editor-table .sticky-right{font-weight:600;right:0}table.editor-table thead th{z-index:2;box-shadow:inset 0 -1px 0 var(--color-border);position:sticky;top:0}table.editor-table thead .sticky-left,table.editor-table thead .sticky-right{z-index:3;background:var(--color-bg)}table.data-table.editor-table tbody tr:nth-child(2n) .sticky-left,table.data-table.editor-table tbody tr:nth-child(2n) .sticky-right{background:var(--color-bg)}table.data-table.editor-table tbody tr:hover .sticky-left,table.data-table.editor-table tbody tr:hover .sticky-right{background:color-mix(in srgb, var(--color-accent) 8%, var(--color-surface))}table.editor-table tr.editor-group th{text-transform:none;color:inherit;padding-top:12px;font-size:12px;font-weight:700}table.editor-table tr.editor-subtotal th,table.editor-table tr.editor-subtotal td,table.editor-table tr.editor-summary th,table.editor-table tr.editor-summary td{font-weight:700}.editor-code{font-variant-numeric:tabular-nums;color:var(--color-muted)}.editor-cell{width:100%;min-height:24px;font:inherit;text-align:right;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;position:relative}.editor-cell:hover,.editor-cell:focus-visible{border-color:var(--color-accent)}.editor-cell.locked{cursor:default;color:var(--color-muted);background:color-mix(in srgb, var(--color-muted) 8%, transparent)}.editor-cell .lock-icon{float:left;opacity:.6;font-size:10px}table.editor-table tbody th{text-transform:none;letter-spacing:normal;color:inherit;font-size:13px;font-weight:400}.editor-group-label{display:inline-block;position:sticky;left:6px}.editor-lock-hint{min-height:1.4em}.editor-stale{background:color-mix(in srgb, #f9ab00 18%, var(--color-surface));border-radius:6px;padding:8px}@media (width<=1100px){.editor-layout{flex-direction:column;align-items:stretch}.editor-panel{z-index:20;width:min(360px,100vw - 32px);max-height:70dvh;position:fixed;top:auto;bottom:16px;right:16px;overflow-y:auto;box-shadow:0 6px 24px #00000040}}@media print{.editor-grid{overflow:visible;max-height:none!important}}.sidebar-hide,.sidebar-show-tab{display:none}@media not all and (width<=640px){.app-sidebar{transition:width .2s,opacity .2s}.app-sidebar.app-sidebar--hidden{opacity:0;visibility:hidden;width:0;transition:width .2s,opacity .2s,visibility 0s linear .2s;overflow:hidden}.app-body--sidebar-hidden{gap:6px}.sidebar-hide{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-muted);font:inherit;cursor:pointer;border-radius:6px;align-self:flex-start;align-items:center;gap:6px;padding:4px 8px;font-size:12px;display:inline-flex}.sidebar-show-tab{border:1px solid var(--color-border);background:var(--color-surface);width:34px;height:34px;color:inherit;font:inherit;cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:13px;display:inline-flex;position:sticky;top:16px;box-shadow:0 1px 3px #3c40431f}.sidebar-hide:hover,.sidebar-show-tab:hover{border-color:var(--color-accent)}@media (prefers-reduced-motion:reduce){.app-sidebar,.app-sidebar.app-sidebar--hidden{transition:none}}}
