/* Shared work surfaces for projects, records and the plan editor. */
.production-theme [hidden] { display: none !important; }
.production-theme :is(button,input,select,textarea) { letter-spacing: 0; }
.production-theme :is(button,input,select,textarea):focus-visible { outline: 2px solid #13776d; outline-offset: 2px; }
.production-theme .project-tabs { flex-wrap: wrap; position: static; gap: 4px; }
.production-theme .project-tabs > button { min-height: 42px; padding: 8px 13px; }
.production-theme #projectPreparationTabs { display: flex; gap: 6px; padding: 10px 0; border-bottom: 1px solid #d8dfdd; overflow-x: auto; }
.production-theme #projectPreparationTabs button { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; border: 0; background: transparent; color: #54615d; min-height: 36px; }
.production-theme #projectPreparationTabs button.active { color: #086b60; background: #e9f3f1; }
.production-theme #projectPreparationTabs svg { width: 17px; height: 17px; }
.production-theme .workflow-issues-summary { margin: 8px 0 12px; text-align: left; color: #65716c; border: 0; background: #f2f5f4; }
.production-theme .workflow-issues-summary.has-errors { color: #ab2727; background: #fff0ef; }
.production-theme #estimates .totals.estimate-compact-totals { display: grid; position: sticky; top: 70px; order: 1; width: auto; margin: 0; grid-template-columns: minmax(130px,1fr) minmax(150px,1fr) minmax(160px,1fr) auto; z-index: 60; bottom: auto; border-top: 1px solid #ccd6d2; background: white; box-shadow: 0 -4px 16px #0001; }
.production-theme #estimateForm { padding-bottom: 30px; }
.production-theme #estimates .totals.estimate-compact-totals > .workflow-total-action { display: flex !important; align-items: center; justify-content: flex-end; }
.production-theme #stickyPrepareProposal { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.production-theme #stickyPrepareProposal svg { width: 17px; height: 17px; }
.production-theme .builder-tabs { top: 0; position: static; }
.production-theme .lines-table { font-variant-numeric: tabular-nums; }
.production-theme .estimate-catalog-drawer { width: min(720px, 95vw); overscroll-behavior: contain; }
.production-theme .estimate-catalog-drawer :is(input,select,button) { max-width: 100%; min-width: 0; }
.production-theme[data-warehouse-workspace="catalog"] #warehousePult,
.production-theme[data-warehouse-workspace="operations"] #warehouseDirectoryHome,
.production-theme[data-warehouse-workspace="operations"] #inventoryCatalog { display: none !important; }
.production-theme[data-warehouse-workspace="catalog"] #warehouseDirectoryHome > summary { display: none; }
.production-theme[data-warehouse-workspace="catalog"] #warehouseDirectoryHome { border: 0; padding: 0; margin: 0; background: transparent; }
.production-theme .warehouse-mode-switch { position: static; margin-bottom: 16px; }
.production-theme :is(#referenceEditor,#itemDialog,#projectIssuesDialog) { position: fixed; inset: 0 0 0 auto; margin: 0; width: min(780px,100vw); max-width: 100vw; height: 100dvh; max-height: 100dvh; padding: 0; border: 0; border-left: 1px solid #d8dfdd; border-radius: 0; overflow-y: auto; }
.production-theme :is(#referenceEditor,#itemDialog) form { min-height: 100%; padding: 20px; }
.production-theme :is(#referenceEditor .reference-dialog-head,#itemDialog .dialog-title-row) { padding: 0 0 16px; border-bottom: 1px solid #d8dfdd; }
.production-theme :is(#referenceEditor .reference-dialog-actions,#itemDialog .dialog-actions) { position: sticky; bottom: -20px; margin: auto -20px -20px; padding: 16px 20px; background: white; border-top: 1px solid #d8dfdd; z-index: 8; }
.production-theme :is(#itemEditorError,#referenceEditorError) { color: #ae2929; padding: 10px; background: #fff0ef; overflow-wrap: anywhere; }
.production-theme :is(#itemEditorError,#referenceEditorError):empty { display: none; }
.production-theme #projectIssuesDialog { width: min(580px,100vw); }
.production-theme #projectIssuesDialog > :is(header,footer) { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 18px; background: white; position: sticky; z-index: 2; }
.production-theme #projectIssuesDialog > header { top: 0; border-bottom: 1px solid #d8dfdd; }
.production-theme #projectIssuesDialog > footer { bottom: 0; border-top: 1px solid #d8dfdd; }
.production-theme #projectIssuesDialog h3 { font-size: 18px; margin: 0; overflow-wrap: anywhere; }
.production-theme .workflow-issue { display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; text-align: left; padding: 18px; border: 0; border-bottom: 1px solid #e0e6e3; border-radius: 0; background: white; }
.production-theme .workflow-issue > span { display: grid; gap: 6px; min-width: 0; overflow-wrap: anywhere; }
.production-theme .workflow-issue span span { font-size: 13px; color: #596760; font-weight: 400; }
.production-theme .workflow-issue.bad strong { color: #b3302b; }
.production-theme .workflow-issue svg { width: 18px; flex-shrink: 0; }
.production-theme .workflow-empty { padding: 24px; }
.production-theme #exportFeedback { position: static; min-width: 0; max-width: 100%; margin: 0 0 12px; padding: 0; border: 1px solid #d8dfdd; border-radius: 6px; background: white; box-shadow: none; }
.production-theme #exportFeedback[hidden] { display: none !important; }
.production-theme dialog #exportFeedback { position: static; width: auto; max-height: min(260px,32dvh); overflow: auto; margin: 12px; flex-shrink: 0; }
.production-theme #exportFeedback > summary { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 10px 14px; cursor: pointer; list-style: none; font-size: 12px; }
.production-theme #exportFeedback > summary::-webkit-details-marker { display: none; }
.production-theme #exportFeedback > summary strong { flex: 0 0 auto; }
.production-theme #exportFeedback .export-feedback-status { min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #5b6a62; }
.production-theme #exportFeedback.has-error .export-feedback-status { color: #b3302b; }
.production-theme #exportFeedback .export-feedback-disclosure { display: flex; flex: 0 0 auto; }
.production-theme #exportFeedback .export-feedback-disclosure svg { width: 16px; height: 16px; }
.production-theme #exportFeedback[open] .export-feedback-disclosure { transform: rotate(180deg); }
.production-theme .export-result { display: grid; gap: 7px; min-width: 0; font-size: 13px; padding: 12px 14px; }
.production-theme .export-result > :is(strong,span) { overflow-wrap: anywhere; }
.production-theme .export-result + .export-result { border-top: 1px solid #d8dfdd; }
.production-theme .export-result > span { font-size: 12px; color: #5b6a62; }
.production-theme .export-result > div { display: flex; gap: 6px; flex-wrap: wrap; }
.production-theme #exportFeedback .export-result button { display: inline-flex; flex: 0 0 auto; width: auto; max-width: none; align-items: center; justify-content: center; gap: 6px; min-height: 34px; padding: 6px 10px; white-space: nowrap; overflow-wrap: normal; word-break: normal; }
.production-theme #exportFeedback .export-result button span { display: inline; white-space: nowrap; }
.production-theme .export-result svg { width: 15px; height: 15px; flex: 0 0 15px; }
.production-theme #technical2 .tech2-editor-shell { grid-template-columns: 178px minmax(0,1fr) 250px; gap: 12px; }
.production-theme #technical2 .tech2-setup-panel { padding: 0; background: #f6f8f7; border: 0; }
.production-theme #technical2 .tech2-setup-panel details { border: 0; border-bottom: 1px solid #dce3df; border-radius: 0; padding: 12px; }
.production-theme #technical2 .tech2-tool-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; }
.production-theme #technical2 .tech2-tool-grid button { min-height: 52px; background: transparent; border: 1px solid transparent; font-size: 10px; }
.production-theme #technical2 .tech2-tool-grid button.active { background: #e1eeeb; border-color: #6ca69a; }
.production-theme #technical2 .tech2-viewport { min-height: 580px; height: calc(100dvh - 255px); background: #e9edeb; }
.production-theme #technical2 .tech2-stage-toolbar { flex-wrap: wrap; gap: 6px; }
.production-theme #technical2 .tech2-document-bar { grid-template-columns: minmax(140px,1fr) minmax(140px,1fr) minmax(140px,1fr) auto auto auto; }
.production-theme #technical2 .tech2-document-bar input,.production-theme #technical2 .tech2-document-bar select { min-width: 0; width: 100%; }
.production-theme #technical2 .tech2-inspector { border: 0; border-left: 1px solid #dce3df; border-radius: 0; padding: 12px; min-width: 0; }
.production-theme #technical2 .tech2-inspector-empty { font-size: 12px; padding: 20px 8px; min-height: 100px; }
.production-theme #technical2 .tech2-scene-3d[aria-busy="true"]::after { content: "Загрузка 3D..."; position: absolute; inset: 20px auto auto 20px; padding: 10px; background: white; }
.production-theme #technical2 .tech2-header h3 { font-size: 20px; }
.production-theme #tech2ReturnProject { display: flex; gap: 7px; align-items: center; padding: 0; border: 0; background: none; max-width: 360px; font-size: 12px; text-align: left; }
.production-theme #tech2ReturnProject span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.production-theme #technical2 .tech2-tool-grid button { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 5px; padding: 6px 3px; white-space: normal; overflow-wrap: anywhere; text-align: center; line-height: 1.2; }
.production-theme #technical2 .tech2-tool-grid button svg { width: 18px; height: 18px; flex: 0 0 18px; }
.production-theme #technical2 :is(.tech2-header-actions,.tech2-document-bar) button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.production-theme #technical2 .tech2-viewport:has(.is-3d) { padding: 0; overflow: hidden; display: block; }
.production-theme #technical2 .tech2-canvas-frame.is-3d { width: 100% !important; height: 100% !important; min-height: 580px; border: 0; box-shadow: none; }
.production-theme #technical2 .is-3d .tech2-dimension { display: none; }
.production-theme .topbar-workspace { grid-template-columns: minmax(140px,220px) minmax(160px,1fr) auto; min-width: 0; }
.production-theme .topbar-actions { min-width: 0; }
.production-theme #undoAction { width: 38px; min-width: 38px; max-width: 38px; padding: 8px; }
.production-theme #undoAction span { display: none; }
.production-theme #undoAction svg { width: 18px; height: 18px; }
.production-theme #estimates .workflow-issues-summary { margin: 0; padding: 8px 12px; font-size: 12px; text-align: left; }
.production-theme #estimates .estimate-project-details { margin: 0; }
.production-theme .workspace-load-error { display: flex; gap: 16px; padding: 20px; color: #ab2727; }
@media (max-width: 1200px) {
  .production-theme #technical2 .tech2-editor-shell { grid-template-columns: 178px minmax(0,1fr) 220px; }
  .production-theme #technical2 .tech2-document-bar { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .production-theme #estimates .totals.estimate-compact-totals { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 1180px) {
  .production-theme #estimates .totals.estimate-compact-totals { left: 16px; right: 16px; }
}
@media (max-width: 850px) {
  .production-theme .topbar-workspace { grid-template-columns: 1fr; }
  .production-theme #technical2 .tech2-canvas-frame.is-3d { min-height: 420px; }
  .production-theme #technical2 .tech2-editor-shell { grid-template-columns: minmax(0,1fr); }
  .production-theme #technical2 .tech2-setup-panel { display: flex; align-items: flex-start; flex-wrap: wrap; }
  .production-theme #technical2 .tech2-setup-panel details { flex: 1 1 140px; min-width: 0; }
  .production-theme #technical2 .tech2-setup-panel details:not([open]) { flex: 0 1 auto; }
  .production-theme #technical2 .tech2-inspector { border-left: 0; border-top: 1px solid #dce3df; }
  .production-theme #technical2 .tech2-viewport { min-height: 420px; height: 60dvh; }
  .production-theme #technical2 .tech2-document-bar { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .production-theme .project-tabs > button { padding: 7px 9px; font-size: 12px; }
}
@media print {
  #projectPreparationTabs,#projectIssuesSummary,#exportFeedback,.workflow-total-action { display: none !important; }
}
