/* Accepted configurator presentation. Other modules use the original stylesheet. */
.layout-toolbar[hidden],
.client-details-toggle[hidden],
.config-action-summary[hidden] { display: none; }

.layout-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 18px;
}
.layout-toolbar > div:first-child { display: grid; gap: 4px; }
.layout-toolbar strong { font-size: 17px; }
.layout-toolbar span { color: var(--muted); font-size: 12px; }

@media screen {
  .config-layout-modern .app-header { min-height: 68px; padding: 10px 18px; border-bottom-width: 2px; }
  .config-layout-modern .brand-logo { width: 136px; }
  .config-layout-modern .app-header h1 { font-size: 22px; }
  .config-layout-modern .side-logo { display: none; }
  .config-layout-modern .side-menu { min-height: calc(100vh - 100px); }
  .config-layout-modern #configForm:not(.is-hidden) { display: grid; gap: 16px; background: transparent; border: 0; padding: 0; }
  .config-layout-modern .layout-toolbar { margin: 0; padding: 0 2px; }
  .config-layout-modern #configForm > .step-card { min-width: 0; margin: 0; padding: 18px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
  .config-layout-modern #configForm > .client-company-summary:not(.is-hidden) { margin: 0; border: 1px solid var(--line); border-radius: 10px; }
  .config-layout-modern #configForm .step-summary { font-weight: 600; }
  .config-layout-modern #configForm .section-heading { align-items: center; }
  .config-layout-modern #configForm .section-heading h2 { font-size: 17px; }
  .config-layout-modern #configForm .section-heading { flex-wrap: wrap; }
  .config-layout-modern #configForm .section-heading > div { flex-basis: 100px; }
  .config-layout-modern #configForm[data-client-details="compact"] [data-client-extra],
  .config-layout-modern #configForm[data-client-details="compact"] #saveClientButton,
  .config-layout-modern #configForm[data-client-details="compact"] #copyClientAddressButton { display: none; }
  .config-layout-modern #configForm .client-subsection[hidden] { display: none; }
  .config-layout-modern #configForm .client-subsection h3 { font-size: 12px; color: var(--muted); }
  .config-layout-modern #doorStepBody { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; }
  .config-layout-modern #doorStepBody[hidden] { display: none; }
  .config-layout-modern #doorStepBody > label { margin: 0; }
  .config-layout-modern #modelStrip { grid-column: 1 / -1; }
  .config-layout-modern #drawingsStep { border-top: 3px solid var(--accent); }
  .config-layout-modern #drawingsStep .section-heading > span { display: none; }
  .config-layout-modern #drawingsStep .panel-heading { flex-wrap: wrap; gap: 8px; }
  .config-layout-modern #drawingsStep .panel-heading > div { flex: 1 1 100%; }
  .config-layout-modern #drawingsStep .parametric-drawing { min-width: 0; }
  .config-layout-modern #drawingsStep .detail-grid { grid-template-columns: 1fr; }
  .config-layout-modern .layout-neutral-status { color: var(--accent-strong); background: var(--accent-soft); }
  .config-layout-modern .layout-awaiting-drawing #openDrawingPdfButton { display: none; }
  .config-layout-modern .configurator-actions { position: sticky; bottom: 12px; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0; padding: 14px 18px; background: #fff; border: 1px solid #b9d2e7; border-radius: 10px; box-shadow: 0 4px 24px #18334a18; }
  .config-layout-modern .config-action-summary { display: grid; gap: 4px; min-width: 0; }
  .config-layout-modern .config-action-summary strong { font-size: 14px; overflow-wrap: anywhere; }
  .config-layout-modern .config-action-summary span { font-size: 12px; color: var(--muted); }
  .config-layout-modern .configurator-actions .primary-button { flex: 0 0 auto; }
  .config-layout-modern #configForm input,
  .config-layout-modern #configForm select,
  .config-layout-modern #configForm textarea { scroll-margin-block: 90px 130px; }
}

@media screen and (min-width: 1000px) {
  .config-layout-modern #configForm[data-client-details="compact"] #clientStepBody:not([hidden]) { display: grid; grid-template-columns: 1.2fr 1fr; gap: 18px; align-items: start; }
  .config-layout-modern #configForm[data-client-details="compact"] #clientStepBody > .client-subsection { margin-top: 0; }
  .config-layout-modern #configForm[data-client-details="compact"] #clientStepBody .subsection-heading { min-height: 32px; }
  .config-layout-modern #configForm[data-client-details="compact"] #clientCompanyEditor[hidden] ~ .client-subsection:last-child { grid-column: 1 / -1; }
}

@media screen and (min-width: 1400px) {
  .config-layout-modern .workspace { grid-template-columns: 190px minmax(0, 1fr) 270px; }
  .config-layout-modern #configForm:not(.is-hidden) {
    grid-template-columns: minmax(0, 1.1fr) minmax(330px, .9fr);
    grid-template-areas: "toolbar toolbar" "client client" "door drawing" "params drawing" "equipment drawing" "actions actions";
  }
  .config-layout-modern #configForm:has(> .client-company-summary:not(.is-hidden)) { grid-template-areas: "toolbar toolbar" "account account" "client client" "door drawing" "params drawing" "equipment drawing" "actions actions"; }
  .config-layout-modern .layout-toolbar { grid-area: toolbar; }
  .config-layout-modern #clientCompanySummary { grid-area: account; }
  .config-layout-modern [data-step-key="client"] { grid-area: client; }
  .config-layout-modern [data-step-key="door"] { grid-area: door; }
  .config-layout-modern [data-step-key="params"] { grid-area: params; }
  .config-layout-modern [data-step-key="equipment"] { grid-area: equipment; }
  .config-layout-modern #drawingsStep { grid-area: drawing; position: sticky; top: 16px; align-self: start; }
  .config-layout-modern .configurator-actions { grid-area: actions; }
}

@media screen and (max-width: 820px) {
  .config-layout-modern .app-brand { flex-direction: row; align-items: center; }
  .config-layout-modern #configForm > .step-card { padding: 14px; }
  .config-layout-modern .configurator-actions { bottom: 8px; padding: 12px; gap: 10px; }
  .config-layout-modern .configurator-actions .primary-button { min-width: 0; }
}
@media screen and (max-width: 560px) {
  .config-layout-modern .side-menu { min-height: auto; }
  .config-layout-modern .side-menu-footer { display: none; }
  .config-layout-modern .brand-logo { width: 100px; }
  .config-layout-modern .app-header h1 { font-size: 19px; }
  .config-layout-modern #doorStepBody { grid-template-columns: 1fr; }
  .config-layout-modern .configurator-actions { flex-direction: column; align-items: stretch; }
  .config-layout-modern .config-action-summary { gap: 2px; }
  .config-layout-modern .configurator-actions .primary-button { width: 100%; }
  .config-layout-modern #configForm .section-heading { gap: 8px; }
  .config-layout-modern #clientDetailsToggle { margin-left: 38px; }
}
@media print {
  .layout-toolbar, .client-details-toggle, .configurator-actions, .drawing-pdf-status { display: none !important; }
}

.drawing-pdf-status { margin-top: 10px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.drawing-pdf-status:empty { display: none; }
.drawing-pdf-status.is-error { color: var(--danger, #b42318); }
.drawing-pdf-status a { color: var(--accent-strong); font-weight: 700; }
