.workspace-dialog.has-production-costs {width:min(1100px,96vw);max-width:96vw;max-height:calc(100dvh - 28px)}
.has-production-costs .workspace-preferences-panels {max-height:calc(100dvh - 115px)}
.production-cost-editor {min-width:0;font-size:13px}
.production-cost-editor[hidden],.production-cost-editor [hidden],.production-cost-summary[hidden] {display:none!important}
.production-cost-rate {display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0}
.production-cost-editor input {width:100%;min-width:0;box-sizing:border-box;text-align:right;font:inherit;border:1px solid var(--border,#64748b);border-radius:3px;background:var(--input-bg,#fff);color:inherit;padding:5px 7px;height:30px}
.production-cost-rate input {width:115px;flex:0 0 115px}
.workspace-dialog .production-cost-editor input,.workspace-dialog .production-cost-editor button {font-weight:400}
.production-cost-tabs {display:flex;flex-wrap:nowrap;gap:2px;border-bottom:1px solid var(--line,#738797);padding:6px 0 0}
.workspace-dialog .production-cost-tabs button {font:inherit;font-weight:400;border-radius:3px 3px 0 0;padding:5px 10px;white-space:nowrap;min-height:30px;border-top:2px solid transparent;background:var(--panel2)}
.workspace-dialog .production-cost-tabs button[aria-selected=true] {border-top-color:#368bd6;border-bottom-color:var(--panel);background:var(--panel)}
.production-cost-sheet {overflow:auto;max-height:55vh;padding-bottom:5px}
.production-cost-sheet table {border-collapse:collapse;width:100%;table-layout:fixed;margin:10px 0}
.production-cost-sheet th,.production-cost-sheet td {border:1px solid #84939e;padding:5px;text-align:right;font-weight:400;vertical-align:middle;overflow-wrap:anywhere}
.production-cost-sheet th:first-child {width:37%;text-align:left}
.production-cost-sheet tr:first-of-type th:not(:first-child) {text-align:center}
.production-cost-sheet .production-cost-sum {background:#159b9120;font-weight:600}
.production-cost-actions {display:flex;justify-content:flex-end;gap:8px;margin-top:8px}
.workspace-dialog .production-cost-confirm {display:flex;align-items:center;gap:8px;margin-top:12px}
.workspace-dialog .production-cost-confirm input[type=checkbox] {width:15px;height:15px;flex:0 0 15px;padding:0}
.production-cost-status {min-height:18px;margin:5px 0;color:inherit;overflow-wrap:anywhere}
body:not([data-theme=day]) .production-cost-editor input {background:#111c29;color:#eaf0f5}
.production-cost-summary {border-top:2px solid var(--muted,#8796a5);font-size:12px;flex-shrink:0}
.bom-grid-enabled #bomTotalRow {font-size:12px}
.bom-grid-enabled #bomTotalRow > :is(span,strong):not(#bomTotalPriceStatus) {font-size:inherit}
.production-cost-row {align-items:center;min-height:28px;cursor:pointer}
.production-cost-row + .production-cost-row,.production-cost-details + .production-cost-row {border-top:1px solid var(--line,#738797)}
.production-cost-summary:not([hidden]) + #bomTotalRow {border-top:1px solid var(--muted,#8796a5)}
#bomHdgRow,#bomHdgDetails,.project-price-line.coatingPrice {--cost-heading:#263540;--cost-detail:#202b34;--cost-table-heading:#27343e;--cost-accent:#7897aa;--bom-grid-line:#414e58}
#bomProductionTimeRow,#bomProductionTimeDetails,.project-price-line.laborPrice {--cost-heading:#2c3932;--cost-detail:#242e28;--cost-table-heading:#2b3730;--cost-accent:#829e8b;--bom-grid-line:#47574d}
body[data-theme=day] :is(#bomHdgRow,#bomHdgDetails,.project-price-line.coatingPrice) {--cost-heading:#e3edf5;--cost-detail:#f4f7fa;--cost-table-heading:#edf3f7;--cost-accent:#96b2c4;--bom-grid-line:#c7d5df}
body[data-theme=day] :is(#bomProductionTimeRow,#bomProductionTimeDetails,.project-price-line.laborPrice) {--cost-heading:#e5f0e8;--cost-detail:#f5f8f6;--cost-table-heading:#edf4ef;--cost-accent:#9ab5a3;--bom-grid-line:#cbdacf}
:is(#bomHdgRow,#bomProductionTimeRow) {background:var(--cost-heading);box-shadow:inset 3px 0 var(--cost-accent)}
:is(#bomHdgRow,#bomProductionTimeRow):focus-visible {outline:2px solid var(--cost-accent);outline-offset:-2px}
:is(#bomHdgDetails,#bomProductionTimeDetails) {background:var(--cost-detail);border-top-color:var(--bom-grid-line)}
:is(#bomHdgDetails,#bomProductionTimeDetails) th {background:var(--cost-table-heading)}
.production-cost-row > .production-cost-label {font-weight:400}
.production-cost-row[aria-expanded=true] > .production-cost-label {font-weight:700}
.production-cost-details {max-height:220px;overflow-y:auto;overflow-x:hidden;padding:7px 0;border-top:1px solid var(--line,#738797);font-variant-numeric:tabular-nums}
.production-cost-details table {display:block;border-collapse:collapse;width:max(var(--bom-viewport-width),var(--bom-grid-width));font-size:11px}
.production-cost-details tbody {display:contents}
.production-cost-rate-cell {grid-column:var(--bom-column-price);grid-row:1}
.production-cost-hours {text-align:right}
.production-cost-minutes-cell {grid-column:var(--bom-column-unit);grid-row:1}
.production-cost-details th,.production-cost-details td {padding:4px 6px;text-align:right}
.production-cost-details th:first-child,.production-cost-details td:first-child {text-align:left}
.production-cost-details th {font-weight:400;text-align:center}
#bomHdgDetails .bom-summary-label {white-space:normal;overflow-wrap:anywhere}
#bomHdgDetails small {display:block;font-size:inherit;font-weight:400;margin-top:3px}
.production-cost-summary [hidden] {display:none!important}
.production-cost-incomplete {color:#d55b25}
.production-cost-finish-warning {color:#c62828;white-space:nowrap}
.bom-grid-enabled .production-cost-row > .production-cost-label:has(.production-cost-finish-warning) {white-space:nowrap;overflow:visible;position:relative;z-index:1}
body:not([data-theme=day]) .production-cost-finish-warning {color:#ff6969}
.purchase-prices-denied .production-cost-price,body:not(.bom-prices-visible) .production-cost-price {display:none!important}
@media(max-width:700px) {.production-cost-sheet table {min-width:450px}.production-cost-rate {flex-wrap:wrap}}
.production-cost-sheet table.production-cost-halfcage {min-width:0}
.production-cost-halfcage th:first-child {width:70%}
.production-cost-sheet caption {text-align:left;font-weight:600;padding:8px 0 5px}
.production-cost-sheet table.production-cost-console {min-width:0}

#projectPricePanel {position:absolute;z-index:10;box-sizing:border-box;border:1px solid color-mix(in srgb,var(--text) 22%,transparent);border-radius:8px;overflow:hidden;color:var(--text);background:color-mix(in srgb,var(--panel2) 58%,transparent);font-size:12px}
#projectPricePanel[hidden] {display:none!important}
.project-price-heading {padding:10px 36px 2px;line-height:1.6;text-align:center}
.project-price-icon {display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--line);border-radius:4px;color:var(--text);background:var(--panel2);cursor:pointer;flex:none}
.project-price-icon:hover {background:var(--panel)}
.project-price-settings {position:absolute;right:5px;top:5px}
.project-price-settings.is-modified {background:rgb(22 116 64 / 18%);border-color:rgb(41 173 101 / 45%);color:var(--text)}
.project-price-settings.is-modified:hover {background:rgb(22 116 64 / 28%)}
#projectPricePanel.contents-hidden {height:40px}
.project-price-settings-dialog {width:320px;max-width:calc(100vw - 24px);box-sizing:border-box;margin:auto;padding:0;border:1px solid var(--line);border-radius:8px;color:var(--text);background:var(--panel2);font-size:12px;max-height:calc(100dvh - 24px);overflow:auto}
.project-price-settings-dialog::backdrop {background:rgb(0 0 0 / 40%)}
.project-price-settings-dialog header {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--line)}
.project-price-settings-dialog header strong {flex:1;min-width:0}
.project-price-settings-dialog header .project-price-icon {flex:none}
.project-price-settings-fields {display:grid;gap:14px;padding:16px 12px}
.project-price-settings-fields label {display:grid;gap:6px;min-width:0;margin:0;font-size:12px}
.project-price-settings-fields :is(input,select) {box-sizing:border-box;width:100%;min-width:0;margin:0;padding:7px 8px;border:1px solid var(--line);border-radius:4px;background:var(--panel);color:var(--text);font:inherit}
.project-price-settings-error {color:var(--danger,#e45050);overflow-wrap:anywhere}
.project-price-settings-dialog footer {display:flex;justify-content:flex-end;gap:8px;padding:10px 12px;border-top:1px solid var(--line)}
.project-price-settings-dialog footer button {padding:6px 14px;border:1px solid var(--line);border-radius:4px;background:var(--panel);color:var(--text);font:inherit;cursor:pointer}
.project-price-settings-dialog footer .project-price-apply {border-color:#16864c;background:#185438;color:#fff}
.project-price-line {display:flex;justify-content:center;align-items:baseline;gap:8px;padding:2px 12px 10px;font-size:24px;line-height:1.3;font-weight:700;text-align:center}
.project-price-amount {min-width:0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.project-price-finish {padding:0 12px 10px;font-size:11px;line-height:1.4;font-weight:400;text-align:center;overflow-wrap:anywhere}
.project-price-prompt {font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.project-price-phone {display:inline-block;font-family:"Segoe UI Symbol","Noto Sans Symbols 2",sans-serif;font-size:32px;line-height:1.3;font-weight:400}
#bomTotalRow {background:#d8833c;color:#171e26;box-shadow:inset 3px 0 #efac69}
body[data-theme=day] #bomTotalRow {background:#f7ecdd;box-shadow:inset 3px 0 #cfb99c}
#bomTotalRow :is(.bom-total-incomplete,.bom-total-missing-price) {color:#851f16}
#bomTotalRow .bom-total-missing-weight {color:#075269}
#modelBrowser #bomTotalRow {border-top:2px solid #edb47c}
body[data-theme=day] #modelBrowser #bomTotalRow {border-top-color:#c4aa8a}
body.is-mobile-layout:not(.mobile-stats-open) #projectPricePanel {display:none}
body.is-mobile-layout.mobile-stats-open :is(#statsPanel,#projectPricePanel) {z-index:46;background:var(--panel2)}
body.is-mobile-layout.mobile-stats-open :is(.mobile-edge-toggle,.quick-component-tabs) {visibility:hidden}
