@charset "UTF-8";

/* Escape decorative glyphs so external charset defaults cannot corrupt them. */
:root {
    --ink: #243244;
    --muted: #66758a;
    --line: #dce3ec;
    --paper: #ffffff;
    --page: #f3f5f8;
    --accent: #285b8d;
    --action-bar-height: 88px;
}
body { background: var(--page); color: var(--ink); font-size: 14px; line-height: 1.5; }
body.has-action-bar { padding-bottom: calc(var(--action-bar-height) + 24px); }
a { color: var(--accent); }
.app-container { max-width: 1240px; }
.app-nav { background: var(--paper); border-bottom: 1px solid var(--line); }
.navbar-brand { white-space: normal; max-width: calc(100% - 60px); color: var(--ink); font-size: 17px; font-weight: 650; letter-spacing: -.3px; }
.brand-mark { display: inline-flex; justify-content: center; align-items: center; width: 30px; height: 30px; background: #e9eff6; color: var(--accent); border-radius: 6px; margin-right: 8px; }
.app-nav .nav-link { color: var(--muted); padding: 8px 14px !important; font-weight: 500; border-radius: 5px; }
.app-nav .nav-link.active { color: var(--accent); background: #eaf0f7; }
.app-nav .nav-link:hover { color: var(--ink); background: #f3f5f8; }
.navbar-toggler { border-color: var(--line); padding: 7px 10px; }
.app-main { padding-top: 30px; padding-bottom: 28px; }
.page-heading { margin-bottom: 26px; }
.calculation-loading { max-width: 1100px; }
.calculation-loading-status { display:flex; align-items:center; gap:10px; color:var(--muted); margin-bottom:20px; }
.calculation-loading-mark { width:14px; height:14px; flex:none; border:3px solid var(--line); border-top-color:var(--accent); border-radius:50%; }
.calculation-loading-blocks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.calculation-loading-card { background:var(--paper); border:1px solid var(--line); border-radius:7px; padding:24px; }
.calculation-loading-card:first-child { grid-column:1 / -1; }
.calculation-loading-card span { display:block; height:12px; border-radius:4px; background:#eaf0f6; margin-bottom:18px; width:85%; }
.calculation-loading-card span:first-child { width:35%; height:14px; }
.calculation-loading-card span:last-child { width:65%; margin-bottom:0; }
@media (max-width:600px) { .calculation-loading-blocks { grid-template-columns:minmax(0,1fr); gap:12px; } .calculation-loading-card { padding:20px; } }
.page-eyebrow { color: var(--accent); text-transform: uppercase; letter-spacing: 1.4px; font-size: 11px; font-weight: 700; margin-bottom: 7px; }
.page-title { font-size: clamp(24px, 3vw, 30px); font-weight: 650; letter-spacing: -.7px; margin: 0 0 8px; line-height: 1.25; overflow-wrap: anywhere; }
.page-description { color: var(--muted); margin: 0; max-width: 700px; }
.btn { font-size: 13px; font-weight: 550; border-radius: 5px; padding: 9px 15px; }
.btn-primary { background: var(--accent); border-color: var(--accent); }
.btn-primary:hover, .btn-primary:active { background: #204d79 !important; border-color: #204d79 !important; }
.btn-outline-primary { color: var(--accent); border-color: #b7c9dc; }
.btn-outline-primary:hover { background: #eaf0f7; color: var(--accent); border-color: var(--accent); }
.btn-outline-secondary { color: #526176; border-color: #cbd4df; background: white; }
.btn:disabled { opacity: .5; }
.form-control, .form-select { color: var(--ink); font-size: 14px; border-color: #cfd8e3; border-radius: 5px; min-height: 38px; }
.form-control:focus, .form-select:focus { border-color: #769bbf; box-shadow: 0 0 0 3px #285b8d14; }
.form-label { color: #536276; font-size: 12px; font-weight: 500; margin-bottom: 6px; }
input[type=number], .numeric, .money { font-variant-numeric: tabular-nums; }
.ui-section { margin-bottom: 28px; }
.section-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; }
.section-heading h3 { font-size: 16px; font-weight: 650; margin: 0; }
.section-footer { display: flex; justify-content: flex-start; margin-top: 14px; }
.section-count { color: var(--muted); font-size: 12px; margin-left: 10px; font-weight: 400; }
.mechanism-card { background: white; border: 1px solid var(--line); border-radius: 7px; margin-bottom: 10px; overflow: hidden; }
.mechanism-header { display: flex; align-items: center; min-height: 68px; padding-right: 12px; }
.mechanism-toggle { display: flex; align-items: center; flex: 1; gap: 14px; text-align: left; background: none; border: 0; color: inherit; padding: 14px 18px; min-width: 0; }
.mechanism-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: -3px; }
.row-number { font-size: 12px; font-variant-numeric: tabular-nums; color: #738297; align-self: flex-start; padding-top: 3px; }
.row-caption { flex: 1; min-width: 0; }
.row-title { display: block; font-weight: 650; font-size: 15px; overflow-wrap: anywhere; }
.row-summary { display: flex; flex-wrap: wrap; gap: 4px 15px; color: var(--muted); font-size: 12px; padding-top: 4px; }
.disclosure { display: block; width: 7px; height: 7px; border-right: 1.5px solid #728196; border-bottom: 1.5px solid #728196; transform: rotate(45deg); margin: 0 8px 3px; flex-shrink: 0; }
[aria-expanded=true] .disclosure { transform: rotate(225deg); margin-top: 6px; }
.row-delete { background: none; border: 0; color: #a63d46; width: 38px; height: 38px; border-radius: 5px; font-size: 17px; }
.row-delete:hover { background: #fdf0ef; color: #b5473e; }
.row-delete:disabled { opacity: .3; }
.mechanism-fields { padding: 0 18px 18px; border-top: 1px solid #edf0f4; }
.field-group { border: 0; padding: 0; margin: 14px 0 0; min-width: 0; }
.field-group legend { float: none; font-size: 11px; letter-spacing: .8px; text-transform: uppercase; color: #64758b; font-weight: 650; margin-bottom: 10px; width: auto; }
.field-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 10px 16px; }
.ui-field { grid-column: span var(--field-span, 4); min-width: 0; }
.field-help { font-size: 11px; color: var(--muted); margin-top: 5px; }
.ui-notification { position: fixed; right: 16px; bottom: calc(var(--action-bar-height) + 16px); z-index: 1080; width: calc(100vw - 32px); max-width: 420px; max-height: 45vh; overflow-y: auto; box-shadow: 0 6px 24px #20344e18; border-radius: 7px; font-size: 13px; }
body:not(.has-action-bar) .ui-notification { bottom: 16px; }
.action-bar { position: fixed; bottom: 0; left: 0; right: 0; z-index: 1030; background: white; border-top: 1px solid var(--line); padding: 14px 24px max(14px, env(safe-area-inset-bottom)); }
.action-bar-inner { max-width: 1216px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.action-summary { min-width: 0; }
.action-total-label { font-size: 11px; color: var(--muted); }
.action-total { font-size: 22px; font-weight: 650; font-variant-numeric: tabular-nums; line-height: 1.3; white-space: nowrap; }
.action-state { font-size: 12px; color: var(--muted); }
.action-buttons { display: flex; gap: 10px; flex-shrink: 0; }
.action-bar .btn { min-height: 42px; }
.result-section { margin-top: 28px; }
.result-section:empty { display: none; }
.result-heading { font-size: 18px; font-weight: 650; margin: 0 0 14px; }
.result-card { background: white; border: 1px solid var(--line); border-radius: 7px; margin-bottom: 12px; }
.result-summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 18px; cursor: pointer; list-style: none; }
.result-summary::-webkit-details-marker { display: none; }
.result-summary strong { font-weight: 650; overflow-wrap: anywhere; }
.result-summary .money { margin-left: auto; white-space: nowrap; font-weight: 600; }
.result-summary .disclosure { margin-right: 0; }
details[open] > .result-summary .disclosure { transform: rotate(225deg); margin-top: 6px; }
.result-body { padding: 0 18px 16px; }
.result-table { margin-bottom: 0; font-size: 14px; table-layout: fixed; width: 100%; }
.result-table th { color: var(--muted); font-size: 13px; font-weight: 400; background: #f6f8fb; border-bottom-color: var(--line); padding: 9px 10px; }
.result-table td { padding: 11px 10px; border-bottom-color: #ecf0f5; vertical-align: middle; overflow-wrap: anywhere; }
.result-table tr:last-child td { border-bottom: 0; }
.result-table [data-role=kind] { width: 10%; }
.result-table [data-role=name] { width: 48%; }
.result-table [data-role=meta] { width: 12%; }
.result-table [data-role=total] { width: 18%; font-weight: 600; }
.result-table .numeric { text-align: right; white-space: nowrap; }
.equipment-select { font-size: 12px; min-height: 34px; }
.result-total { display: flex; justify-content: flex-end; align-items: baseline; gap: 16px; padding: 12px 0; color: var(--muted); }
.result-total strong { font-size: 25px; color: var(--ink); font-variant-numeric: tabular-nums; }
.save-panel { background: white; border: 1px solid var(--line); border-radius: 7px; padding: 22px; margin-top: 24px; scroll-margin-bottom: calc(var(--action-bar-height) + 24px); }
.save-panel h3 { font-size: 17px; font-weight: 650; margin-bottom: 18px; }
.filter-panel { background: white; border: 1px solid var(--line); border-radius: 7px; padding: 18px; margin-bottom: 18px; }
.calculation-list { display: grid; gap: 10px; }
.calculation-item { display: grid; grid-template-columns: 1fr auto; gap: 8px 24px; background: white; border: 1px solid var(--line); border-radius: 7px; padding: 18px 20px; color: var(--ink); text-decoration: none; }
.calculation-item:hover { border-color: #9fb7ce; color: var(--ink); background: #fbfcfe; }
.calculation-item h3 { font-size: 16px; font-weight: 600; margin: 0 0 6px; overflow-wrap: anywhere; }
.calculation-meta { color: var(--muted); font-size: 12px; }
.calculation-comment { color: #596a7f; font-size: 13px; margin: 8px 0 0; overflow-wrap: anywhere; }
.calculation-price { font-size: 18px; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.empty-state { border: 1px dashed #c8d4e2; border-radius: 7px; text-align: center; padding: 48px 20px; color: var(--muted); }
@media (max-width: 991px) {
    .app-nav .navbar-collapse { padding-top: 12px; }
    .app-nav .navbar-nav { gap: 4px; padding-bottom: 10px; }
    .app-nav .nav-link { min-height: 42px; }
    .ui-field { grid-column: span var(--mobile-span, 6); }
    .ui-field:has(select) { grid-column: span var(--mobile-span, 12); }
}
@media (max-width: 575px) {
    .app-main { padding-top: 22px; }
    .page-heading { margin-bottom: 22px; }
    .page-description { font-size: 13px; }
    .section-heading { flex-wrap: wrap; }
    .section-heading h3 { font-size: 15px; }
    .section-footer .btn { font-size: 12px; padding: 8px 10px; }
    .mechanism-toggle { padding: 12px; gap: 10px; }
    .mechanism-header { padding-right: 5px; }
    .row-title { font-size: 14px; }
    .row-summary { font-size: 11px; gap: 3px 10px; }
    .row-delete { width: 42px; height: 42px; }
    .mechanism-fields { padding: 0 12px 16px; }
    .field-grid { gap: 10px; }
    .ui-field { grid-column: span var(--mobile-span, 6); }
    .ui-field:has(input[type=text]), .ui-field:has(textarea) { grid-column: span 12; }
    .form-control, .form-select { font-size: 16px; min-height: 42px; }
    .action-bar { padding: 10px 12px max(10px, env(safe-area-inset-bottom)); }
    .action-bar-inner { flex-wrap: wrap; gap: 8px; }
    .action-summary { width: 100%; display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
    .action-total { font-size: 20px; }
    .action-total-label { font-size: 11px; }
    .action-state { font-size: 11px; }
    .action-buttons { width: 100%; }
    .action-buttons .btn { flex: 1; padding-left: 8px; padding-right: 8px; }
    .result-summary { padding: 13px 12px; gap: 10px; font-size: 13px; }
    .result-body { padding: 0 12px 12px; }
    .result-table, .result-table tbody { display: block; }
    .result-table thead { display: none; }
    .result-table tr { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px; padding: 14px 0; border-top: 1px solid #edf0f4; }
    .result-table td { display: block; border: 0; padding: 0; width: auto !important; white-space: normal; text-align: left; }
    /* Several declared classification columns must occupy separate grid rows. */
    .result-table [data-role=kind] { grid-column: 1; grid-row: auto; color: var(--muted); font-size: 12px; font-weight: 400; }
    .result-table [data-role=total] { grid-column: 2; grid-row: 1; text-align: right; }
    .result-table [data-role=name] { grid-column: 1 / -1; font-size: 14px; }
    .result-table [data-role=meta] { font-size: 12px; color: #5e6f84; }
    .result-table [data-role=meta]::before { content: attr(data-label) ": "; color: var(--muted); }
    .equipment-select { font-size: 16px; min-height: 42px; margin-top: 8px; }
    .choice-control { position: relative; }
    .choice-control::before { content: attr(data-action-label); position: absolute; left: 12px; top: 50%; transform: translateY(-50%); pointer-events: none; color: var(--accent); font-size: 13px; font-weight: 550; }
    .choice-control .equipment-select { color: transparent; background-color: #f7f9fc; }
    .choice-control option { color: var(--ink); }
    .result-total { align-items: flex-end; flex-direction: column; gap: 3px; }
    .result-total strong { font-size: 23px; }
    .save-panel { padding: 18px 14px; }
    .calculation-item { padding: 16px; grid-template-columns: 1fr; gap: 10px; }
    .calculation-price { font-size: 19px; }
}

.app-nav .navbar-collapse { min-width: 0; flex-wrap: wrap; }
.app-nav .navbar-nav { align-items: center; flex-wrap: wrap; max-width: 100%; }
.header-account { min-width: 0; flex-shrink: 0; }
.header-account-toggle { display: inline-flex; align-items: center; gap: 8px; }
.header-account .dropdown-menu { min-width: 220px; max-width: calc(100vw - 24px); }
.header-account .dropdown-item { white-space: normal; padding-top: 9px; padding-bottom: 9px; }
.header-username { min-width: 0; max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: inherit; }
.header-account form { margin: 0; flex-shrink: 0; }
@media (max-width: 991px) {
    .app-nav .navbar-nav { align-items: stretch; }
    .header-account { padding: 8px 14px; }
}

.login-panel { max-width: 440px; margin: 40px auto; padding: 30px; background: var(--paper); border: 1px solid var(--line); border-radius: 7px; }
.login-panel .page-title { font-size: 26px; }
.login-form { margin-top: 26px; }
.login-field { margin-bottom: 18px; }
.login-submit { width: 100%; min-height: 42px; }
.login-error { color: #b5473e; font-size: 12px; margin-top: 6px; }
.login-form .errorlist { padding: 0; margin: 0; list-style: none; }
@media (max-width: 575px) {
    .login-panel { margin: 12px auto; padding: 24px 20px; }
}

.ui-checkbox { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ui-checkbox .form-label { margin: 0; }
.ui-checkbox .form-check-input { margin: 0; flex-shrink: 0; }
.ui-checkbox .field-help { width: 100%; }
.ui-field[hidden], .mechanism-header[hidden] { display: none !important; }

/* Equipment catalog: one responsive table for every server-defined category. */
.catalog-price-label { display: none; }
.catalog-table td:first-child { min-width: 240px; }
@media (max-width: 575.98px) {
    .catalog-table, .catalog-table tbody { display: block; width: 100%; }
    .catalog-table thead { display: none; }
    .catalog-price-label { display: block; margin-bottom: 4px; color: var(--muted); font-size: .8rem; font-weight: 400; }
    .catalog-table tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; padding: 16px; border-bottom: 1px solid var(--bs-border-color); }
    .catalog-table td { display: block; padding: 0 !important; border: 0; min-width: 0 !important; overflow-wrap: anywhere; }
    .catalog-table td:nth-child(1) { grid-column: 1 / -1; font-weight: 500; }
    .catalog-table td:nth-child(2) { grid-column: 1; grid-row: 2; color: var(--bs-secondary-color); font-size: .85rem; }
    .catalog-table td:nth-child(3) { grid-column: 2; grid-row: 2 / 4; align-self: center; }
    .catalog-table td:nth-child(4) { grid-column: 1; grid-row: 3; }
    .catalog-table td:nth-child(5) { grid-column: 1 / -1; margin-top: 4px; }
}

.composition-button { border: 0; background: transparent; color: var(--bs-secondary-color); font-size: 14px; margin-left: 0; padding: .35rem .5rem; min-height: 32px; border-radius: .3rem; }
.composition-button:hover, .composition-button:focus-visible { background: var(--bs-tertiary-bg); color: var(--bs-primary); }
.composition-drawer { position: fixed; inset: 0 0 0 auto; margin: 0; height: 100dvh; max-height: 100dvh; width: min(720px, 100vw); max-width: 100vw; border: 0; padding: 1.5rem; overflow-y: auto; color: var(--bs-body-color); background: var(--bs-body-bg); box-shadow: -8px 0 32px #0002; }
.composition-drawer::backdrop { background: #14223666; }
.composition-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.composition-total { text-align: right; font-weight: 600; padding-top: 1rem; border-top: 1px solid var(--bs-border-color); }
.product-picker { position: relative; }
.product-picker-results { position: absolute; z-index: 20; top: 100%; left: 0; right: 0; max-height: 300px; overflow-y: auto; background: var(--bs-body-bg); border: 1px solid var(--bs-border-color); border-radius: .4rem; box-shadow: 0 4px 16px #0002; }
.product-picker-results button { display: block; text-align: left; width: 100%; border: 0; padding: .65rem; background: transparent; }
.product-picker-results button:hover, .product-picker-results button:focus { background: var(--bs-tertiary-bg); }
@media (max-width: 575.98px) { .composition-drawer { padding: 1rem; } }

body:has(.composition-drawer[open]) { overflow: hidden; }

.result-picker { position: relative; min-width: 0; }
.selected-equipment { display: none; }
.equipment-search { font-size: 14px; min-height: 38px; padding-right: 2rem; }
.result-picker-options { position: absolute; z-index: 30; top: 100%; left: 0; right: 0; max-height: 300px; overflow-y: auto; background: var(--bs-body-bg); border: 1px solid var(--bs-border-color); border-radius: .4rem; box-shadow: 0 4px 16px #0002; }
.result-picker-option { scroll-margin-bottom: calc(var(--action-bar-height, 0px) + 24px); display: flex; flex-direction: column; gap: .2rem; width: 100%; border: 0; text-align: left; padding: .65rem .8rem; background: transparent; color: var(--bs-body-color); overflow-wrap: anywhere; }
.result-picker-option:hover, .result-picker-option:focus-visible, .result-picker-option[aria-selected=true] { background: var(--bs-tertiary-bg); }
@media (max-width: 575.98px) {
    .choice-picker:not(.choice-editing) > .equipment-search { display: none; }
    .choice-picker:not(.choice-editing) > .selected-equipment { display: block; width: 100%; min-height: 44px; height: auto; white-space: normal; overflow-wrap: anywhere; text-align: left; padding-right: 2rem; font-size: 16px; }
    .selected-equipment::after { content: "\2304"; position: absolute; right: .75rem; top: .65rem; color: var(--muted); }
    .equipment-search { font-size: 16px; min-height: 42px; }
    .composition-button { min-height: 44px; }
}

.calculation-main { color: inherit; text-decoration: none; flex: 1; min-width: 0; }

.calculation-settings { display:grid; grid-template-columns:minmax(180px,1fr) minmax(0,3fr); gap:12px 20px; padding:16px; margin-bottom:16px; border:1px solid var(--line); border-radius:7px; background:white; }
.catalog-selector { display:flex; flex-direction:column; justify-content:flex-start; gap:8px; min-width:0; }
.catalog-selector strong { display:flex; align-items:center; min-height:46px; }
.experience-panel { grid-column:1 / -1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; min-width:0; }
.experience-field { min-width:0; }
.settings-help { grid-column:1 / -1; margin:0; }
@media (max-width:767.98px) { .calculation-settings,.experience-panel { grid-template-columns:1fr; gap:12px; } }

/* Accessories use the same result and dialog components for every category. */
.accessory-actions { display: flex; flex-wrap: wrap; gap: .5rem; padding-top: 1rem; position: sticky; bottom: 0; background: var(--bs-body-bg); }
.accessory-invalid { background: #fff0f0; }
.accessory-position td { background: #f8fafc; }
.accessory-drawer { display: flex; flex-direction: column; overflow-y: auto; }
.accessory-drawer:not([open]) { display: none; }

/* Available choices and selected accessories stay visible together on desktop. */
.accessory-drawer { width: min(980px, 100vw); padding: 1.25rem; overflow: hidden; }
.accessory-drawer > * { flex-shrink: 0; }
.accessory-parent { margin: .6rem 0 .35rem; overflow-wrap: anywhere; font-weight: 600; }
.accessory-close { border: 0; background: transparent; font-size: 1.8rem; line-height: 1; padding: .35rem .6rem; }
.accessory-tabs { display: none; gap: .5rem; margin-bottom: .75rem; }
.accessory-workspace { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 1.25rem; flex: 1 1 auto; min-height: 0; overflow: hidden; }
.accessory-available-panel, .accessory-selected-panel { min-width: 0; overflow-y: auto; padding: .25rem .5rem .5rem 0; }
.accessory-selected-panel { border-left: 1px solid var(--bs-border-color); padding-left: 1.25rem; }
.accessory-candidate, .accessory-selected-card { border: 1px solid var(--bs-border-color); border-radius: .5rem; padding: .9rem; margin-bottom: .65rem; overflow-wrap: anywhere; }
.accessory-selected-error { border-color: var(--bs-danger); background: #fff5f5; }
.accessory-candidate-bottom { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-top: .75rem; }
.accessory-quantity { display: flex; gap: .35rem; margin-top: .3rem; }
.accessory-quantity input { min-width: 0; width: 5rem; text-align: center; }
.accessory-quantity .btn { min-width: 42px; min-height: 42px; }
.accessory-footer { padding-top: .9rem; border-top: 1px solid var(--bs-border-color); background: var(--bs-body-bg); }
.accessory-actions { position: static; padding-top: .65rem; }
@media (max-width: 575.98px) {
    .accessory-drawer { padding: 1rem; }
    .accessory-tabs { display: flex; }
    .accessory-tabs .btn { flex: 1; min-height: 44px; }
    .accessory-tabs button[aria-pressed="true"] { background: var(--accent) !important; color: white !important; border-color: var(--accent); }
    .accessory-tabs button[aria-pressed="false"] { background: white; color: var(--accent); }
    .accessory-workspace { grid-template-columns: minmax(0,1fr); gap: 0; }
    .accessory-workspace[data-active=available] .accessory-selected-panel,
    .accessory-workspace[data-active=selected] .accessory-available-panel { display: none; }
    .accessory-selected-panel { border-left: 0; padding-left: 0; }
    .accessory-search, .accessory-quantity input { font-size: 16px; }
    .accessory-actions .btn { min-height: 44px; }
    .accessory-actions .btn-primary { flex: 1; }
}

/* Saved equipment and its accessories form an expanded visual block. */
.saved-equipment-main td { border-bottom: 0; }
.saved-accessory-heading td { padding: .35rem 1rem .35rem 2rem; background: #f5f8fc; color: var(--muted); font-size: .8rem; border-bottom: 0; }
.saved-accessory-row td { background: #f5f8fc; }
.saved-accessory-row td[data-role=name] { padding-left: 2rem; border-left: 3px solid #ccdcec; }
.saved-block-total td { background: #edf3fa; font-weight: 600; border-bottom: 2px solid white; }
.saved-article { margin-top: .2rem; }
@media (max-width:575.98px) {
    .result-table .saved-accessory-heading { display:block; padding:.5rem .75rem; background:#f5f8fc; margin-bottom:0; border-bottom:0; }
    .result-table .saved-accessory-heading td { display:block; padding:0; }
    .result-table .saved-accessory-row { background:#f5f8fc; border-left:3px solid #ccdcec; margin-left:.6rem; }
    .result-table .saved-accessory-row td[data-role=name] { padding-left:0; border-left:0; }
    .result-table .saved-block-total { background:#edf3fa; grid-template-columns:minmax(0,1fr) auto; align-items:center; }
    .result-table .saved-block-total td[data-role=name] { grid-column:1; grid-row:1; }
    .result-table .saved-block-total td[data-role=total] { grid-column:2; grid-row:1; }
}

.choice-forbidden { color: #b42318; background: #fff1f0; }
.choice-forbidden-name { text-decoration: line-through; color: #b42318; }
.experience-panel .result-picker-options { z-index: 30; }
.experience-banner details summary { cursor: pointer; }

/* Universal preference editor: decisions first, details on demand. */
.preference-editor { max-width: 980px; }
.preference-editor .card { border-color: var(--line); border-radius: 8px; }
.preference-editor .card-body { padding: 20px; }
.preference-step { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.preference-step > span { display: inline-grid; place-items: center; width: 28px; height: 28px; flex-shrink: 0; border-radius: 50%; background: #eaf0f7; color: var(--accent); font-size: 14px; }
.preference-options { display: flex; flex-wrap: wrap; gap: 10px; }
.preference-option { display: flex; gap: 9px; align-items: center; border: 1px solid var(--line); background: white; border-radius: 6px; padding: 12px 15px; cursor: pointer; }
.preference-option:has(input:checked) { border-color: var(--accent); background: #eaf0f7; color: var(--accent); }
.preference-option input { margin: 0; flex-shrink: 0; }
.preference-level { max-width: 440px; }
.preference-condition + .preference-condition { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.preference-details-summary { color: var(--accent); cursor: pointer; }
.preference-accessory { padding: 15px; background: var(--page); border-radius: 6px; }
.preference-preview { border: 1px solid #b7c9dc; background: #eaf0f7; border-radius: 8px; padding: 18px 20px; overflow-wrap: anywhere; }
.preference-editor [hidden] { display: none !important; }
.preference-editor .errorlist { color: #b42318; margin: 8px 0; padding-left: 20px; }
@media (max-width: 575px) {
    .preference-editor .card-body { padding: 16px; }
    .preference-editor .preference-options { flex-direction: column; }
    .preference-editor .preference-option { width: 100%; }
    .preference-editor .product-picker select { max-width: 110px; }
}

/* Preference list shares the editor's cards and progressively disclosed details. */
.preference-list { max-width: 1100px; }
.preference-list-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.preference-tab-count { display: inline-grid; place-items: center; min-width: 20px; margin-left: 5px; padding: 0 5px; border-radius: 4px; background: #ffffff24; font-size: 11px; }
.preference-list-tabs .btn-outline-primary .preference-tab-count { background: #eaf0f7; }
.preference-entry { border-color: var(--line); border-radius: 8px; }
.preference-entry .card-body { padding: 20px; }
.preference-entry-proposed { border-left: 3px solid #769bbf; }
.preference-entry-title { overflow-wrap: anywhere; font-size: 15px; }
.preference-badge { display: inline-block; border-radius: 4px; background: #eaf0f7; color: var(--accent); padding: 3px 7px; font-size: 11px; font-weight: 600; }
.preference-badge-forbid { background: #fcebea; color: #b42318; }
.preference-badge-required { background: #fff2d6; color: #805800; }
.preference-badge-state { background: var(--page); color: var(--muted); }
.preference-entry-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .45fr); gap: 20px; }
.preference-entry-caption { color: var(--muted); font-size: 11px; font-weight: 600; margin-bottom: 5px; }
.preference-entry-conditions { list-style: none; padding: 0; margin: 0; overflow-wrap: anywhere; }
.preference-entry-scope { color: #536276; font-size: 12px; overflow-wrap: anywhere; }
.preference-application { align-self: start; padding: 12px 14px; border-radius: 6px; background: var(--page); font-size: 13px; }
.preference-application-automatic { background: #eaf0f7; color: var(--accent); }
.preference-application-required { background: #fff7e8; color: #805800; }
.preference-entry-evidence { font-size: 12px; color: var(--muted); }
.preference-entry-details { border-left: 2px solid var(--line); padding-left: 12px; overflow-wrap: anywhere; }
.preference-entry-actions, .preference-entry-state-form { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; }
.preference-confirm-mode { max-width: 260px; }
.preference-merge-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: 12px; }
.preference-empty { padding: 25px; border: 1px dashed var(--line); border-radius: 8px; background: white; }
.preference-list-settings { padding: 16px 20px; border: 1px solid var(--line); border-radius: 8px; background: white; }
@media (max-width: 575px) {
    .preference-entry .card-body { padding: 16px; }
    .preference-entry-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .preference-merge-form { grid-template-columns: minmax(0, 1fr); }
    .preference-entry-state-form { width: 100%; }
    .preference-confirm-mode { width: 100%; max-width: none; }
    .preference-list-settings { padding: 16px; }
}

.calculation-spinner { margin-right: 7px; vertical-align: -2px; }
.calculation-progress { margin: 0 0 12px; color: var(--muted); font-size: 13px; }
.calculation-progress[hidden] { display: none; }
.action-summary { min-width: 0; }
.action-state { overflow-wrap: anywhere; }
@media (prefers-reduced-motion: reduce) {
    .calculation-spinner { animation: none; }
}

.field-settings { grid-column: 1 / -1; border-top: 1px solid var(--bs-border-color, #dee2e6); padding-top: .75rem; }
.field-settings > summary { cursor: pointer; font-weight: 600; padding: .25rem 0; }
.field-settings[open] > .field-group { margin-top: .75rem; }
.result-warnings ul { margin: 0; padding-left: 1.25rem; }
.result-warnings li + li { margin-top: .5rem; }
.result-scope { border-top: 1px solid var(--bs-border-color, #dee2e6); margin-top: 1rem; padding-top: .75rem; }
.result-scope > summary { cursor: pointer; font-weight: 400; font-size: 14px; }
.result-scope ul { margin: .75rem 0 0; padding-left: 1.25rem; }
.result-scope li + li { margin-top: .5rem; }
.result-parameters { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: .75rem 1.5rem; margin: .75rem 0 0; padding-top: .75rem; border-top: 1px solid #edf0f4; }
.result-parameters > div { min-width: 0; }
.result-parameters dt { font-size: .875rem; font-weight: 400; color: var(--muted); }
.result-parameters dd { margin: .15rem 0 0; font-weight: 400; overflow-wrap: anywhere; }
.application-note { margin-top: .4rem; font-size: .875rem; font-weight: 400; color: #526176; }
.selection-basis-body { padding-top: .75rem; }
@media (max-width: 575px) {
}

/* A mechanism owns one result card; equipment assemblies are sections inside it. */
.result-caption { display: flex; flex-direction: column; gap: .25rem; min-width: 0; }
.result-contents { font-size: 12px; color: var(--muted); overflow-wrap: anywhere; }
.result-assembly { margin-top: 16px; }
.result-assembly + .result-assembly { border-top: 1px solid var(--line); padding-top: 16px; }
.result-assembly-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.result-assembly-heading h3 { margin: 0; font-size: 14px; font-weight: 600; overflow-wrap: anywhere; }
.result-assembly-heading .money { font-size: 13px; color: var(--muted); white-space: nowrap; }
.result-summary:focus-visible, .result-scope > summary:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; border-radius: 4px; }
.result-card[open] > .result-summary { border-bottom: 1px solid var(--line); }
@media (max-width: 575px) {
    .result-summary { flex-wrap: wrap; }
    .result-caption { flex: 1 1 calc(100% - 28px); }
    .result-summary > .money { margin-left: 0; order: 2; }
    .result-summary > .disclosure { align-self: flex-start; margin-top: 6px; }
    .result-assembly-heading { flex-wrap: wrap; gap: 4px 10px; }
    .result-table td[data-role=total]::before { content: attr(data-label) ": "; font-size: 12px; font-weight: 400; color: var(--muted); }
}

/* Schema-driven calculation workspace. Inputs keep their original labels and state. */
.calculation-workspace { display:grid; grid-template-columns:210px minmax(0,1fr); gap:0; border:1px solid var(--border,#d9e2ed); border-radius:5px; background:#fff; align-items:start; }
.calculation-workspace.editor-open { grid-template-columns:210px minmax(0,1fr) minmax(280px,340px); }
.calculation-workspace [hidden] { display:none!important; }
.workspace-nav { padding:14px 10px; background:#f7f9fc; min-width:0; border-right:1px solid #dce3ed; align-self:stretch; }
.workspace-nav h2 { font-size:13px; text-transform:uppercase; letter-spacing:.04em; margin:0 6px 14px; }
.workspace-nav button { display:block; width:100%; text-align:left; white-space:normal; }
.workspace-section-button,.workspace-row-button,.workspace-link,.workspace-group-button { border:0; background:transparent; color:#193657; }
.workspace-section-button { padding:10px 8px; font-weight:600; font-size:13px; margin-top:6px; }
.workspace-row-button { padding:8px 8px 8px 20px; font-size:13px; border-left:3px solid transparent; }
.workspace-row-button[aria-current="true"] { background:#e7f0ff; color:#0757b8; border-color:#1670df; }
.workspace-nav .btn { margin:8px 0; font-size:12px; }
.workspace-status { border-top:1px solid #dce3ed; padding:14px 6px 0; margin-top:24px; font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
.workspace-status strong { display:block; margin-bottom:5px; }
.workspace-status button { padding:5px 0; color:#0757b8; }
.workspace-main { padding:16px; min-width:0; }
.workspace-title { font-size:20px; margin:0 0 14px; }
.workspace-overview { overflow-x:auto; margin-bottom:16px; }
.workspace-table { width:100%; border-collapse:collapse; font-size:12px; }
.workspace-table th,.workspace-table td { border:1px solid #dbe3ed; padding:7px; text-align:left; }
.workspace-table th { background:#f4f7fb; font-weight:600; min-width:60px; }
.workspace-table tr.selected { background:#eef5ff; }
.workspace-table .workspace-link { padding:2px 0; text-align:left; }
.workspace-table .ui-field { min-width:60px; margin:0; }
.workspace-table .form-label { position:absolute; width:1px;height:1px;overflow:hidden;clip-path:inset(50%); }
.workspace-table .field-help { display:none; }
.workspace-table .form-control,.workspace-table .form-select { min-height:32px; height:32px; padding:4px 6px; font-size:12px; width:100%; }
.workspace-table .form-select { padding-right:28px; background-position:right 6px center; }
.workspace-summary { border:1px solid #dbe3ed; border-radius:4px; margin-bottom:14px; }
.workspace-summary-heading { display:flex; justify-content:space-between; align-items:center; padding:10px; gap:8px; }
.workspace-summary h3 { font-size:16px; margin:0; }
.workspace-group-button { display:flex; align-items:center; width:100%; text-align:left; gap:12px; border-top:1px solid #e7ebf1; padding:9px 10px; font-size:12px; }
.workspace-group-button strong { min-width:100px; }
.workspace-group-button span:first-of-type { flex:1; color:#586d85; overflow-wrap:anywhere; }
.workspace-group-button.selected { background:#eef5ff; }
.workspace-result-button { font-size:13px; margin-bottom:12px; }
.workspace-editor { display:none; min-width:0; border-left:1px solid #dce3ed; padding:14px; background:#fbfcfe; }
.editor-open .workspace-editor { display:block; }
.workspace-editor-heading { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:12px; }
.workspace-editor-heading h2 { font-size:16px; margin:0; flex:1; overflow-wrap:anywhere; }
.workspace-editor .ui-section { border:0; padding:0; box-shadow:none; background:transparent; margin:0; }
.workspace-editor .section-heading,.workspace-editor .section-footer { display:none; }
.workspace-editor .mechanism-card { border:0; background:transparent; margin:0; box-shadow:none; }
.workspace-editor .mechanism-fields { padding:0; }
.workspace-editor .field-grid { display:block; }
.workspace-editor .ui-field { margin:10px 0; }
.workspace-editor .field-group { margin:0; padding:0; border:0; }
.workspace-editor .field-group legend { display:none; }
.workspace-editor .field-settings { border:1px solid #dce3ed; background:#fff; border-radius:4px; margin:8px 0; padding:10px; }
.workspace-editor .field-settings summary { font-size:13px; color:#193657; }
.workspace-area-summary { display:block; font-size:11px; font-weight:400; color:#5b6f86; margin-top:5px; }
.workspace-editor .form-control,.workspace-editor .form-select { min-height:36px; font-size:13px; }
.workspace-editor .form-label { font-size:12px; }
.workspace-editor .field-help { font-size:11px; }
.workspace-result-note { padding:9px; border-left:3px solid #de9a23; background:#fff8e9; font-size:12px; }
.workspace-main .result-heading { font-size:17px; }
.workspace-main .result-body { padding:10px; }
.workspace-main .result-summary { padding:10px; }
.workspace-main .result-table { font-size:12px; }
.workspace-main .result-total { font-size:14px; }
.workspace-mobile-back { display:none; }
.calculation-workspace button:focus-visible { outline:2px solid #1769ce; outline-offset:2px; }
@media (max-width:1050px) {
    .calculation-workspace,.calculation-workspace.editor-open { display:block; }
    .workspace-nav { border:0; }
    .workspace-main,.editor-open .workspace-editor { display:none; border:0; }
    .calculation-workspace[data-screen="editor"] .workspace-nav { display:none; }
    .calculation-workspace[data-screen="editor"] .workspace-editor { display:block; }
    .calculation-workspace[data-screen="results"] .workspace-nav { display:none; }
    .calculation-workspace[data-screen="results"] .workspace-main { display:block; }
    .calculation-workspace[data-screen="results"] .workspace-overview,.calculation-workspace[data-screen="results"] .workspace-summary { display:none; }
    .workspace-mobile-back { display:block; border:0; background:transparent; color:#0757b8; min-height:44px; padding:5px 0; margin-bottom:8px; }
    .workspace-editor-heading { justify-content:space-between; }
    .workspace-editor .ui-field { margin:12px 0; }
    .workspace-editor { padding:12px; }
    .workspace-editor .field-settings { padding-inline:8px; }
    .workspace-editor .form-control,.workspace-editor .form-select { min-height:44px; font-size:16px; }
    .workspace-nav button { min-height:44px; }
    .workspace-row-button { border:1px solid #dce3ed; border-radius:4px; margin:6px 0; padding:12px; font-size:15px; }
    .workspace-section-button { font-size:15px; }
    .workspace-nav { padding:12px; }
    .workspace-main { padding:12px; }
    .workspace-table .ui-field { display:none; }
    .workspace-main .result-table { font-size:13px; }
}
/* Toasts remain readable without intercepting form and navigation clicks. */
.ui-notification { pointer-events:none; }
.ui-notification button,.ui-notification a { pointer-events:auto; }
.workspace-readonly .workspace-main { display:block; }
@media (max-width:1050px) {
    .workspace-readonly[data-screen="navigation"] .workspace-main { display:none; }
    .workspace-readonly[data-screen="results"] .workspace-main { display:block; }
}
@media (min-width:1051px) {
    .calculation-workspace-page .app-container { max-width:1600px; padding-inline:24px; }
    .calculation-workspace-page .action-bar-inner { max-width:1552px; }
}
.workspace-app .page-heading { margin-bottom:14px; }
.workspace-app .page-eyebrow,.workspace-app .page-description { display:none; }
.workspace-app .page-title { font-size:24px; }
.workspace-context { background:white; border:1px solid #dce3ed; border-radius:4px; margin-bottom:12px; }
.workspace-context > summary { padding:10px 14px; font-size:13px; font-weight:600; color:#193657; }
.workspace-context .calculation-settings { margin:0; border:0; padding:12px 14px; }
.workspace-editor { position:sticky; top:12px; max-height:calc(100dvh - var(--action-bar-height,100px) - 28px); overflow-y:auto; }
.workspace-main .result-table [data-role="kind"] { min-width:80px; }
@media (max-width:1050px) {
    .workspace-app .page-title { font-size:21px; }
    .workspace-editor { position:static; max-height:none; overflow:visible; }
    .workspace-context > summary { min-height:44px; }
}
.workspace-table .workspace-field-number,.workspace-table .workspace-field-integer { width:90px; }
.workspace-table .workspace-field-number .form-control,.workspace-table .workspace-field-integer .form-control { max-width:100px; }
@media (min-width:1051px) {
    .workspace-table .workspace-field-text { min-width:180px; }
    .workspace-table .workspace-field-select { min-width:220px; }
}
.workspace-main .result-table [data-role="kind"] { width:16%; }
.workspace-main .result-table [data-role="name"] { width:42%; }
.workspace-main .result-table th,.workspace-main .result-table td { padding:8px 6px; }
.workspace-navigation-summary { display:none; }
.ui-field { scroll-margin-bottom:calc(var(--action-bar-height,100px) + 24px); }
@media (max-width:1050px) {
    .workspace-navigation-summary { display:block; font-size:12px; color:#5b6f86; margin-top:5px; font-weight:400; }
}
/* The selected summary and its editor share a visible context and accent. */
.workspace-editor-context { flex-basis:100%; margin:0; padding:7px 9px; border-left:3px solid #1670df; background:#eef5ff; color:#193657; font-size:12px; overflow-wrap:anywhere; }
.workspace-group-button.selected { box-shadow:inset 3px 0 #1670df; }
.workspace-group-button:hover,.workspace-group-button:focus-visible { background:#eef5ff; }
.workspace-editor .workspace-active-group { border-color:#769bbf; box-shadow:inset 3px 0 #1670df; background:#f5f9ff; }
@media (max-width:1050px) { .workspace-editor fieldset.workspace-active-group { padding:12px; border-radius:4px; } }
.workspace-edit-trigger { width:100%; min-height:32px; }
.workspace-edit-trigger:hover,.workspace-edit-trigger:focus-visible { background:#e7f0ff; border-radius:3px; }
.workspace-table .workspace-input-cell .form-select { max-width:100%; }
.workspace-group-button { flex-wrap:wrap; }
.workspace-group-button > span:first-of-type { min-width:0; }
.input-settings-panel, .calculation-policy-panel { border:1px solid #dce3ed; background:#fff; border-radius:4px; margin-bottom:12px; }
.input-settings-panel > summary, .calculation-policy-panel > summary { padding:10px 14px; font-size:13px; font-weight:600; }
.parameter-change-list { max-height:45dvh; overflow:auto; overflow-wrap:anywhere; }
.parameter-settings-review { width:min(740px, calc(100vw - 24px)); }
@media(max-width:1050px) { .input-settings-panel > summary, .calculation-policy-panel > summary { min-height:44px; } }

.workspace-stage-title {font-size: .85rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; margin: 18px 8px 6px; padding-top: 12px; border-top: 1px solid #d9e2ed;}

/* Inline row details are selected by the server workspace contract. */
@media (min-width:1051px) {
    .calculation-workspace.workspace-inline.editor-open { grid-template-columns:210px minmax(0,1fr); }
    .workspace-inline .workspace-summary { border:0; }
    .workspace-inline .workspace-summary h3,.workspace-inline .workspace-summary .workspace-group-button { display:none; }
    .workspace-inline .workspace-summary-heading { justify-content:flex-end; padding:0; }
    .workspace-inline .workspace-editor { border:0; padding:12px; }
    .workspace-inline .workspace-editor-heading h2,.workspace-inline .workspace-editor-context { display:none; }
    .workspace-inline .workspace-editor-heading { justify-content:flex-end; }
    .workspace-inline .workspace-editor .field-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:8px 16px; }
    .workspace-inline .workspace-editor .ui-field { margin:4px 0; }
    .workspace-inline .workspace-table .workspace-field-select { min-width:180px; }
    .workspace-inline .workspace-table .workspace-field-text { min-width:150px; }
    .workspace-inline-row > td { padding:0; background:#f8fafc; }
    .workspace-inline:not(.editor-open) .workspace-inline-row { display:none; }
}
@media (max-width:1050px) { .workspace-inline-row { display:none; } }

.workspace-table [data-workspace-group]::after { content:" \203a"; color:#56718e; }
.workspace-overview > .btn { margin-top:10px; }

.workspace-editor > .workspace-summary .workspace-group-button,
.workspace-editor > .workspace-summary h3 { display:none; }
.workspace-editor > .workspace-summary { border:0; margin-bottom:8px; }
.workspace-editor > .workspace-summary .workspace-summary-heading { padding:0; justify-content:flex-end; }

.workspace-result-selection { min-width:200px; }
.workspace-result-total { text-align:right!important; white-space:nowrap; width:110px; }
.workspace-result-selection small { display:block; margin-top:4px; }
.workspace-replace { display:block; color:#0757b8; margin-top:4px; }
.workspace-stale { color:#93651c; }
@media (min-width:1051px) {
    .workspace-inline-row .workspace-editor .form-label { position:static; width:auto; height:auto; clip-path:none; overflow:visible; display:block; margin-bottom:4px; }
    .workspace-inline-row .workspace-editor .field-settings { border:0; padding:0; margin:0; }
    .workspace-inline-row .workspace-editor .field-settings > summary { display:none; }
    .workspace-inline-row .workspace-editor .field-grid { grid-template-columns:repeat(auto-fit,minmax(150px,240px)); }
    .workspace-inline .workspace-table .workspace-field-select { min-width:140px; }
    .workspace-inline .workspace-table .workspace-field-text { min-width:140px; }
    .workspace-inline-row .workspace-editor .field-help { display:none; }
}

.workspace-table-total { text-align:right; font-weight:600; margin:10px 0; }

@media (min-width:1051px) { .workspace-inline-row .workspace-editor .ui-field { grid-column:auto; } }

/* Desktop row settings have their own boundary and aligned labelled controls. */
@media (min-width:1051px) {
    .workspace-inline-row > td { background:#eef3f9; border-top:2px solid #9ab4d3; border-bottom:2px solid #9ab4d3; }
    .workspace-inline-row .workspace-editor { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; background:transparent; padding:12px 16px; position:static; max-height:none; overflow:visible; }
    .workspace-inline-row .workspace-editor-heading { grid-column:2; grid-row:1; align-self:center; margin:0; padding:0; border:0; }
    .workspace-inline-row .workspace-editor .mechanism-card { grid-column:1; grid-row:1; min-width:0; }
    .workspace-inline-row .workspace-editor .workspace-active-group { box-shadow:none; background:transparent; border:0; }
    .workspace-inline-row .workspace-editor .field-settings { padding:0; }
    .workspace-inline-row .workspace-editor .ui-field { margin:0; padding:0; }
    .workspace-inline-row .workspace-editor .form-label { margin:0 0 6px; font-size:13px; color:#193657; font-weight:600; }
    .workspace-inline-row .workspace-editor .form-select,.workspace-inline-row .workspace-editor .form-control { height:38px; background-color:#fff; border-color:#9fb4cc; font-size:13px; }
    .workspace-inline .workspace-table .workspace-edit-trigger:not(:disabled) { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:6px 8px; border:1px solid #b9c9dc; border-radius:4px; background:#fff; }
    .workspace-inline .workspace-table .workspace-edit-trigger:not(:disabled):hover { border-color:#1670df; background:#f4f8ff; }
}

.workspace-select-trigger::after { content:"\2304"; flex-shrink:0; margin-left:6px; }
.workspace-text-trigger::after { content:"\270e"; flex-shrink:0; margin-left:6px; }

.parameter-preset-editor { width:min(600px,calc(100vw - 24px)); }

/* Shared result controls embedded in a workspace selection column. */
.workspace-basis-row > td { padding:10px 16px; background:#f8fafc; }
.workspace-basis-row .selection-basis { margin:0; padding:0; border:0; }
.workspace-basis-row .selection-basis > summary { display:none; }
.workspace-basis-row .selection-basis-body { padding:0; }
.workspace-basis-row .result-parameters { margin:0; padding:0; border:0; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:8px 20px; }
.workspace-basis-row [data-table-redundant] { display:none; }
.workspace-result-content .result-position-content { display:flex; flex-wrap:wrap; align-items:center; gap:2px 10px; }
.workspace-result-content .result-position-content > div { flex-basis:100%; min-width:0; }
.workspace-inline .workspace-table tr[data-source-section] > td { vertical-align:top; }
.workspace-result-content .composition-button { font-size: 13px; margin-top: 4px; }
.workspace-result-content .result-picker { min-width: 0; }
.workspace-result-content .selected-equipment { white-space: normal; text-align: left; }
.workspace-result-content .result-warnings { padding: 8px; margin: 6px 0; }
.workspace-result-position + .workspace-result-position { margin-top: 6px; }
.workspace-result-content .choice-picker:not(.choice-editing) > .equipment-search { display: none; }
.workspace-result-content .choice-picker:not(.choice-editing) > .selected-equipment { display: block; width: 100%; height: auto; min-height: 32px; padding: 5px 22px 5px 8px; overflow-wrap: anywhere; font-size: 13px; }
.workspace-result-content .selected-equipment::after { content: "\2304"; position: absolute; right: 8px; top: 6px; color: var(--muted); }

.file-picker { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.product-caption { color:var(--muted,#62758b); font-size:12px; line-height:1.5; margin:5px 0 2px; overflow-wrap:anywhere; }
.ui-field[data-settings-only="true"], .ui-section[data-settings-only="true"] { display:none !important; }
.result-picker-option > span:first-child { font-weight:500; line-height:1.45; }
.result-picker-option > .small { font-size:12px; line-height:1.45; }
.workspace-inline .workspace-table { font-size:13px; }
.workspace-inline .workspace-table th { color:#52677f; font-size:12px; padding:9px 10px; }
.workspace-inline .workspace-table td { padding:9px 10px; }
.workspace-inline .workspace-table tr[data-source-section]:hover { background:#f7faff; }
.workspace-inline .workspace-table tr.selected { background:#eef5ff; }
.workspace-inline .workspace-table .workspace-field-integer { width:76px; }
.workspace-inline .workspace-table .workspace-field-integer .form-control { min-width:50px; }
.workspace-inline .workspace-result-total { white-space:nowrap; font-variant-numeric:tabular-nums; }
.file-picker-status { overflow-wrap: anywhere; min-width: 0; }
@media (max-width: 360px) { .page-title, .workspace-app .page-title { font-size: 19px; } }

.workspace-group-cell { min-width: 120px; }
@media (max-width: 767px) {
    .workspace-main .result-table td { padding: 0; }
}

.selection-condition-controls { display:grid; grid-template-columns:minmax(120px,1fr) minmax(110px,.7fr) minmax(120px,1fr) minmax(120px,.8fr) auto; gap:8px; align-items:end; }
.selection-condition-field { display:block; margin:0; }
.selection-condition-picker { margin-top:8px; }
@media(max-width:767px) { .selection-condition-controls { grid-template-columns:minmax(0,1fr); } }

.selection-condition-field, .selection-condition-row { min-width:0; overflow-wrap:anywhere; }
.selection-condition-row .btn { white-space:normal; }

.active-settings-dialog { width: min(1100px, calc(100vw - 24px)); }
.active-settings-table { min-width: 640px; }
.active-settings-table td { overflow-wrap: anywhere; }

@media (max-width: 600px) {
    .active-settings-table { min-width: 0; }
    .active-settings-table thead { display: none; }
    .active-settings-table tbody, .active-settings-table tr, .active-settings-table td { display: block; width: 100%; }
    .active-settings-table tr { border-bottom: 1px solid var(--bs-border-color); padding: .5rem 0; }
    .active-settings-table td { border: 0; padding: .2rem; }
    .active-settings-table td[data-label]:not([data-label=""])::before { content: attr(data-label) ": "; font-weight: 600; }
}

/* Saved result: module-owned sections, compact positions and full-width details. */
.result-document { margin-top:0; }
.result-document-heading { display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:10px 20px; margin-bottom:18px; }
.result-document-heading .result-heading { margin:0; }
.result-document-summary { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px 16px; font-size:14px; }
.result-completeness { font-size:12px; font-weight:500; padding:3px 7px; border-radius:4px; white-space:normal; }
.result-completeness.is-complete { color:#216444; background:#eaf5ee; }
.result-completeness.is-incomplete,.result-nav-warning { color:#805800; background:#fff2d6; }
.result-document-section { margin-bottom:22px; }
.result-section-heading { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; padding:10px 12px; background:#edf3fa; border:1px solid #dce5ef; border-radius:4px; margin-bottom:8px; }
.result-section-heading h2 { font-size:16px; font-weight:650; margin:0; overflow-wrap:anywhere; flex:1; min-width:0; }
.result-section-heading > .money { font-weight:600; font-size:14px; white-space:nowrap; }
.result-document-group.result-card { border:0; border-radius:0; margin:0 0 14px; }
.result-group-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:14px 0 6px; }
.result-group-heading h3 { font-size:14px; font-weight:650; margin:0; overflow-wrap:anywhere; }
.result-group-heading > .money { font-size:13px; color:var(--muted); white-space:nowrap; }
.result-document .result-assembly-heading { margin:10px 0 5px; }
.result-document .result-assembly-heading h4 { font-size:13px; margin:0; }
.result-document .result-table th { padding:6px 8px; font-size:12px; }
.result-document .result-table td { padding:7px 8px; vertical-align:top; }
.result-document .result-table [data-role=kind] { width:15%; min-width:0; }
.result-document .result-table [data-role=name] { width:47%; }
.result-document .result-table [data-role=meta] { width:11%; }
.result-document .result-table [data-role=total] { width:16%; }
.result-document .product-caption { margin:2px 0 0; font-size:11px; }
.result-document .application-note { margin-top:2px; }
.result-document .result-position-content { overflow-wrap:anywhere; }
.result-document .selection-basis { margin-top:6px; padding-top:5px; }
.result-document .selection-basis > summary { font-size:12px; }
.result-document .composition-button { margin-top:3px; padding:0; font-size:12px; }
.result-detail-toggle { display:inline-block; }
.result-includes-accessories { display:block; font-weight:400; font-size:10px; color:var(--muted); white-space:normal; margin-top:2px; }
.result-details-row > td { padding:12px!important; background:#f5f8fc; border-top:1px solid #b9cce4; border-bottom:1px solid #b9cce4!important; }
.result-details-row[hidden],.result-group-heading[hidden],.result-completeness[hidden] { display:none!important; }
.result-detail-content h4 { font-size:13px; font-weight:600; margin:0 0 8px; }
.result-detail-content .result-scope { margin:10px 0 0; padding:8px 0 0; }
.result-detail-content .result-parameters { grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr)); gap:8px 20px; }
.result-detail-content .result-parameters dt,.result-detail-content .result-parameters dd { font-size:12px; }
.result-detail-total { text-align:right; font-size:12px; margin:8px 0; font-weight:600; }
.result-accessory-note { font-size:12px; color:var(--muted); margin:8px 0; }
.result-document .result-warnings { font-size:12px; padding:8px 10px; margin:6px 0; }
.result-nav-total { display:block; color:var(--muted); font-weight:400; font-size:11px; margin-top:2px; }
.result-nav-warning { display:block; width:fit-content; padding:1px 4px; font-size:11px; border-radius:3px; margin-top:3px; }
.workspace-readonly .workspace-section-button { margin-top:3px; }
.workspace-readonly .workspace-row-button { margin:0; padding:7px 10px 7px 22px; }
.workspace-readonly .workspace-nav [aria-current=true] { background:#e6effb; color:#0757b8; border-left:3px solid #1670df; }
@media (min-width:1051px) {
    .workspace-readonly .workspace-nav { position:sticky; top:12px; max-height:calc(100dvh - 24px); overflow:auto; align-self:start; }
}
@media (max-width:767px) {
    .result-document-heading { gap:8px; }
    .result-document-summary { width:100%; justify-content:space-between; font-size:13px; }
    .result-section-heading { gap:6px 10px; padding:9px; }
    .result-section-heading h2 { font-size:14px; }
    .result-section-heading > .money { font-size:13px; }
    .result-document .result-table [data-role=kind],.result-document .result-table [data-role=name],.result-document .result-table [data-role=meta],.result-document .result-table [data-role=total] { width:auto; }
    .result-document .result-table td { padding:0; }
    .result-document .result-table tr { padding:10px; margin-bottom:6px; }
    .result-document .result-table .result-details-row { display:block; padding:10px; background:#f5f8fc; border:1px solid #b9cce4; }
    .result-document .result-details-row > td { display:block; border:0!important; padding:0!important; }
    .result-document .result-detail-content .result-table tr { padding:8px; }
    .result-document .result-detail-toggle { min-height:32px; padding-block:5px; }
    .workspace-readonly .workspace-row-button { min-height:44px; margin:3px 0; }
}
@media (max-width:767px) {
    .result-section-heading .result-completeness { flex-basis:100%; }
}
/* Server-declared compact tables share grouping and filters across modules. */
.workspace-table-tools { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:0 0 12px; }
.workspace-table-search { flex:1 1 250px; width:auto; min-width:0; }
.workspace-table-filter { flex:0 1 210px; width:auto; }
.workspace-table-counter { color:var(--muted); font-size:12px; }
.workspace-source-heading > td { background:#edf4fc; padding:0!important; }
.workspace-source-toggle { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; border:0; background:transparent; padding:9px 12px; color:#193657; text-align:left; }
.workspace-source-toggle::before { content:'›'; }
.workspace-source-toggle[aria-expanded="true"]::before { content:'⌄'; }
.workspace-source-toggle strong { flex:1; }
.workspace-source-toggle span { font-size:12px; font-weight:normal; }
.workspace-table-compact .workspace-result-content { display:flex; align-items:center; gap:8px; }
.workspace-table-compact .workspace-result-position { min-width:0; flex:1; }
.workspace-table-compact .workspace-result-content .result-position-content { display:block; }
.workspace-table-compact .workspace-result-content .composition-button { white-space:nowrap; margin:0; }
.workspace-table-compact .workspace-edit-trigger:not(:disabled) { border-color:transparent!important; background:transparent!important; padding:5px 0!important; }
.workspace-table-compact .workspace-edit-trigger::after { opacity:.45; }
.workspace-table-compact .workspace-result-content .selected-equipment { border-color:transparent; background:transparent; padding-left:0; }
.workspace-table-compact .workspace-field-text { width:25%; }
.workspace-table-compact .workspace-field-select { width:12%; }
.workspace-compact-details > summary { display:none; }
.workspace-compact-details { border:0; margin:0; }
.workspace-compact-details > .composition-button { margin:6px 12px 8px 0; }
.workspace-source-button { font-size:12px; overflow-wrap:anywhere; }
.result-view-switch { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; }
.result-aggregate-assignments { padding:10px; background:#f8fafc; }
.result-aggregate-count { display:block; color:var(--muted); font-size:12px; margin-top:4px; }
@media (max-width:1050px) {
 .calculation-workspace[data-screen="overview"] .workspace-nav { display:none; }
 .calculation-workspace[data-screen="overview"] .workspace-main { display:block; }
 .calculation-workspace[data-screen="overview"] .workspace-summary,
 .calculation-workspace[data-screen="overview"] .workspace-editor,
 .calculation-workspace[data-screen="overview"] [data-results] { display:none!important; }
 .workspace-table-compact,.workspace-table-compact tbody { display:block; width:100%; }
 .workspace-table-compact thead { display:none; }
 .workspace-table-compact tr[data-source-section] { display:grid; grid-template-columns:minmax(0,1fr) auto; border:1px solid #dce3ed; border-radius:5px; margin:8px 0; padding:8px; }
 .workspace-table-compact td { border:0; min-width:0; padding:5px!important; }
 .workspace-table-compact td:first-child { grid-column:1/-1; }
 .workspace-table-compact .workspace-field-text,.workspace-table-compact .workspace-field-select { width:auto; }
 .workspace-table-compact .workspace-result-selection { grid-column:1; min-width:0; }
 .workspace-table-compact .workspace-result-total { grid-column:2; width:auto; }
 .workspace-table-compact .workspace-source-heading { display:block; }
 .workspace-table-compact .workspace-source-heading > td { display:block; }
 .workspace-source-toggle { flex-wrap:wrap; }
 .workspace-table-filter { flex:1 1 150px; }
}
@media (max-width:1050px) {
 .workspace-table-compact tr[data-source-section] > td:first-child { grid-column:1; grid-row:1; font-weight:600; }
 .workspace-table-compact tr[data-source-section] > .workspace-result-total { grid-column:2; grid-row:1; align-self:start; }
 .workspace-table-compact tr[data-source-section] > .workspace-field-select { grid-column:1; grid-row:2; }
 .workspace-table-compact tr[data-source-section] > .workspace-group-cell { grid-column:2; grid-row:2; }
 .workspace-table-compact tr[data-source-section] > .workspace-result-selection { grid-column:1/-1; grid-row:3; }
 .workspace-table-compact .workspace-result-toggle { display:block; width:100%; text-align:left; }
 .workspace-table-compact .workspace-replace { display:inline-block; margin-top:4px; }
}
@media (min-width:1051px) {
 .workspace-inline .workspace-table-compact td { padding-block:6px; }
}

/* Shared result-first workspace: the schema owns fields and equipment semantics. */
.workspace-section-button[aria-current="true"] { background:#e7f0ff; color:#0757b8; box-shadow:inset 3px 0 #1670df; }
.workspace-editor-heading h2 { flex:1 0 100%; line-height:1.4; overflow-wrap:break-word; }
.workspace-editor-heading > .btn { flex:0 1 auto; }
.workspace-editor-context { overflow-wrap:break-word; }
.workspace-parameters-button { display:none; }
.workspace-empty { padding:20px; border:1px dashed #b8c9de; border-radius:5px; background:#f8fafc; }
.workspace-empty p { margin-bottom:12px; color:#52677e; }
.workspace-empty-section .workspace-result-button { display:none; }
.workspace-table,.workspace-table .form-control,.workspace-table .form-select,.workspace-main .result-table { font-size:13px; }
.workspace-area-summary,.workspace-editor .field-help,.workspace-editor .form-label,.product-caption,.result-aggregate-count,.workspace-table-counter { font-size:12px; }
.workspace-edit-trigger:not(:disabled):hover,.workspace-link:hover { background:#e7f0ff; color:#0757b8; }
.workspace-edit-trigger:not(:disabled):focus-visible,.workspace-link:focus-visible { outline:2px solid #1769ce; outline-offset:2px; }
.workspace-previous .result-summary::after { content:'Предыдущий состав'; color:#775318; font-size:12px; font-weight:400; }
.workspace-previous .workspace-result-selection { border-left:3px solid #d99a29; }
.ui-notification-inline.ui-notification { position:static; width:auto; max-width:none; max-height:none; margin:0 0 12px!important; box-shadow:none; padding:8px 12px; pointer-events:auto; }
.workspace-has-result:not(.workspace-inline) .workspace-summary { margin-top:18px; background:#f8fafc; }
.workspace-summary-heading { flex-wrap:wrap; }
.workspace-summary-heading h3 { flex:1 1 220px; overflow-wrap:break-word; }
.workspace-summary-heading .btn { margin-left:auto; }
.workspace-editor-result { min-height:36px; }
@media (max-width:1050px) {
    .workspace-editor-heading { align-items:start; }
    .workspace-editor-heading h2 { width:100%; font-size:17px; }
    .workspace-editor-heading > .btn { min-height:44px; }
    .calculation-workspace[data-screen="results"] .workspace-parameters-button { display:inline-block; margin-bottom:12px; min-height:44px; }
    .calculation-workspace[data-screen="overview"] .workspace-nav { display:none; }
    .calculation-workspace[data-screen="overview"] .workspace-main { display:block; }
    .workspace-empty-section .workspace-summary { display:none; }
    .calculation-workspace-page .action-bar { padding:7px 12px max(7px,env(safe-area-inset-bottom)); }
    .calculation-workspace-page .action-bar-inner { gap:5px; }
    .calculation-workspace-page .action-total { font-size:19px; }
    .calculation-workspace-page .action-state { font-size:12px; }
    .calculation-workspace-page .action-buttons { gap:8px; }
    .calculation-workspace-page .action-bar .btn { min-height:44px; padding-block:6px; }
    .workspace-result-toggle { overflow-wrap:break-word; }
}
.workspace-result-facts { display:block; color:#52677e; font-size:12px; line-height:1.5; margin-top:5px; overflow-wrap:break-word; }
@media (max-width:575px) {
    .calculation-workspace-page .action-buttons { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .calculation-workspace-page .action-buttons .btn { min-width:0; white-space:normal; overflow-wrap:anywhere; }
}
.workspace-total-link { font-variant-numeric:tabular-nums; white-space:nowrap; text-decoration:underline; text-underline-offset:3px; }
.btn.btn-soft-danger { color:#a63d46; border-color:#e6c3c7; background:#fff; }
.btn.btn-soft-danger:hover { color:#922d37; border-color:#c98790; background:#fff2f3; }
.btn.btn-soft-danger:focus-visible { outline:2px solid #a63d46; outline-offset:2px; box-shadow:0 0 0 3px #a63d461a; }
/* An open catalog menu must extend beyond a short overview table. */
.workspace-overview:has(.result-picker-options:not([hidden])) { overflow:visible; position:relative; z-index:40; }
.field-validation-error { margin-top:5px; font-size:12px; }
.workspace-table-compact .workspace-result-content { flex-wrap:wrap; }
.workspace-table-compact .workspace-result-position { order:1; }
.workspace-table-compact .workspace-basis-toggle { order:2; flex-shrink:0; }
.workspace-table-compact .workspace-result-facts { flex:1 0 100%; order:3; }
.workspace-warning-link { display:block; min-height:36px; text-decoration:underline; margin:4px 0 10px; }
@media (min-width:1051px) {
    .calculation-workspace:not(.workspace-inline) .workspace-table { table-layout:fixed; }
    .calculation-workspace:not(.workspace-inline) .workspace-table th { min-width:0; overflow-wrap:break-word; }
    .calculation-workspace:not(.workspace-inline) .workspace-table th[data-field-type="text"] { width:20%; }
    .calculation-workspace:not(.workspace-inline) .workspace-table th[data-result="total"] { width:110px; }
    .calculation-workspace:not(.workspace-inline) .workspace-table .workspace-edit-trigger { white-space:normal; overflow-wrap:break-word; }
}
.result-warning-link { display:block; border:0; background:transparent; color:#805a00; font-size:12px; padding:4px 0; min-height:32px; text-align:left; text-decoration:underline; }
.workspace-container-overview { border:1px solid #cfdeee; background:#f7fafD; border-radius:5px; padding:14px; margin-bottom:16px; }
.workspace-branch-group {margin-top:20px;min-width:0;}
.workspace-branch-group > h3 {font-size:17px;margin-bottom:12px;}
.workspace-branch-card {background:#fff;border:1px solid #d9e2ef;border-radius:6px;padding:16px;margin-bottom:12px;min-width:0;overflow-wrap:anywhere;}
.workspace-branch-card h4 {font-size:16px;margin:0;}
.workspace-branch-fact {font-size:14px;margin:5px 0;}
.workspace-branch-chain {display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:14px 0;padding:0;}
.workspace-branch-chain li {flex:1 1 170px;border-left:3px solid #c4d7ed;padding:6px 10px;background:#f7f9fc;min-width:0;}
.workspace-branch-chain li strong,.workspace-branch-chain li span {display:block;font-size:13px;}
.workspace-branch-warnings {margin:12px 0;font-size:14px;}
.workspace-branch-warnings summary {color:#886300;cursor:pointer;}
.workspace-branch-card .workspace-container-actions {display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
@media(max-width:600px){.workspace-branch-card{padding:12px;}.workspace-branch-chain{display:block;}.workspace-branch-chain li{margin-bottom:8px;}}
.workspace-container-heading { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; align-items:baseline; }
.workspace-container-heading h3 { font-size:17px; margin:0 0 10px; }
.workspace-container-overview > p { font-size:13px; margin:4px 0 12px; }
.workspace-container-actions { display:flex; flex-wrap:wrap; gap:8px; }
.workspace-container-actions .btn { white-space:normal; }
.workspace-container-empty { margin-top:14px!important; color:#52677e; }
@media(max-width:1050px) { .workspace-container-actions .btn { min-height:44px; } }
.workspace-container-overview .result-parameters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px 16px; padding-top:10px; margin-bottom:14px; }
.workspace-container-total { display:flex; flex-direction:column; align-items:flex-end; margin-bottom:10px; }
.workspace-container-total small { color:#52677e; font-size:12px; }
@media(max-width:1050px) {
    .workspace-container-overview .result-parameters { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 12px; }
    .workspace-container-total { align-items:flex-start; }
    .workspace-container-overview .result-parameters dt,.workspace-container-overview .result-parameters dd { font-size:13px; }
}

/* Spacious generic catalog selection and a compact container equipment overview. */
.equipment-choice-dialog { inset:0; margin:auto; height:fit-content; width:min(820px,calc(100vw - 24px)); max-height:85dvh; overflow:auto; border-radius:8px; }
.equipment-choice-dialog > .btn { float:right; }
.equipment-choice-dialog .result-picker { margin-top:20px; clear:both; }
.equipment-choice-dialog .result-picker-options { position:static; max-height:55dvh; width:100%; }
.equipment-choice-dialog .result-picker-option { white-space:normal; overflow-wrap:anywhere; }
.equipment-selection-caption { margin:4px 0 8px; overflow-wrap:anywhere; }
.equipment-selection-reset { display:block; padding-left:0; }
.workspace-container-overview .result-table { margin:16px 0; }
.workspace-container-actions { margin-top:14px; }
.workspace-container-links { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.workspace-container-overview .result-aggregate-count { display:none; }

.workspace-bulk-editor { padding:12px; margin:12px 0; border:1px solid #c7dcf3; border-radius:6px; background:#eff6ff; }
.workspace-bulk-actions,.workspace-bulk-field { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.workspace-bulk-status { margin:0; font-weight:600; }
.workspace-bulk-field { margin:10px 0; }
.workspace-bulk-field label { flex:1 1 170px; }
.workspace-bulk-field .form-select { flex:2 1 260px; width:auto; min-width:0; }
.workspace-bulk-notice:empty { display:none; }
.workspace-table .workspace-bulk-check { width:44px; min-width:44px; }
.workspace-bulk-check .form-check-input { width:20px; height:20px; cursor:pointer; }
.workspace-table tr.workspace-bulk-selected > td { background:#eaf3ff; }
@media(max-width:1050px) {
 .workspace-table td.workspace-bulk-check { display:flex; align-items:center; justify-content:flex-end; min-height:44px; }
 .workspace-table td.workspace-bulk-check::before { margin-right:auto; }
 .workspace-bulk-field .btn { width:100%; }
}

.result-usage-list { max-height:min(40vh,320px); overflow:auto; padding:0 4px; overflow-wrap:anywhere; }
.result-usage-item + .result-usage-item { border-top:1px solid #dce3ed; }
.result-usage-line { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:8px 16px; align-items:center; padding:8px 0; }
.result-usage-caption { min-width:0; }
.result-usage-caption strong,.result-usage-caption small { display:block; }
.result-usage-quantity { white-space:nowrap; }
.result-usage-details { padding:8px 0; }
@media(max-width:600px) { .result-usage-line { gap:6px 10px; } .result-usage-line > button { grid-column:1/-1; justify-self:start; padding:0; } }

.calculation-composition-dialog { width:min(1500px,calc(100vw - 24px)); max-width:none; max-height:94dvh; padding:16px; }
.calculation-composition-dialog .calculation-workspace { min-height:0; margin-top:12px; }

/* Mobile document browsing uses the saved ownership tree, never form sections. */
.document-browser { display:none; }
@media (max-width:1050px) {
    .workspace-readonly .document-browser { display:block; margin-bottom:16px; }
    .document-browser-title { font-size:20px; overflow-wrap:anywhere; margin:0 0 8px; }
    .document-browser-total { display:block; font-size:18px; margin-bottom:14px; }
    .document-browser-cards { display:grid; gap:10px; margin-bottom:14px; }
    .document-node-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 12px; text-align:start; background:#fff; color:var(--ink); border:1px solid var(--line); border-radius:6px; padding:14px; min-height:64px; width:100%; }
    .document-node-card:hover { background:#f3f7fc; border-color:#9ab4cf; }
    .document-node-title { font-weight:600; overflow-wrap:anywhere; }
    .document-node-card small { color:var(--muted); grid-column:1 / -1; }
    .document-node-card .money { font-size:13px; }
    .workspace-readonly .result-document-heading { display:none; }
    .workspace-readonly[data-document-mode="overview"] .result-document-section { display:none; }
    .workspace-readonly[data-document-mode="groups"] .result-document-group { display:none; }
    .workspace-readonly:not([data-document-mode="all"]) .result-section-heading { display:none; }
}

/* One schema and registered control tree; mobile navigation changes composition only. */
.workspace-navigation-info,.workspace-navigation-amount,.workspace-mobile-total,.workspace-card-info,.workspace-mobile-columns,.workspace-item-amount,.workspace-item-back { display:none; }
@media (max-width:1050px) {
 .calculation-workspace:not(.workspace-readonly) .workspace-nav .workspace-section-button { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px 12px; border:1px solid var(--line); border-radius:6px; background:#fff; padding:14px; margin:10px 0; min-height:70px; }
 .workspace-section-caption { overflow-wrap:anywhere; }
 .calculation-workspace:not(.workspace-readonly) .workspace-navigation-info { display:block; grid-column:1/-1; color:var(--muted); font-size:12px; font-weight:400; }
 .calculation-workspace:not(.workspace-readonly) .workspace-navigation-amount { display:block; grid-column:1/-1; font-size:13px; }
 .calculation-workspace:not(.workspace-readonly) .workspace-mobile-total { display:block; padding:8px 6px; font-weight:600; overflow-wrap:anywhere; }
 .calculation-workspace:not(.workspace-readonly) .workspace-nav .workspace-row-button:not(.workspace-fallback-row),
 .calculation-workspace:not(.workspace-readonly) .workspace-nav [data-workspace-add-for] { display:none; }
 .calculation-workspace[data-screen="item"] .workspace-nav,.calculation-workspace[data-screen="item"] .workspace-editor { display:none; }
 .calculation-workspace[data-screen="item"] .workspace-main { display:block; }
 .calculation-workspace[data-screen="item"] .workspace-overview,.calculation-workspace[data-screen="item"] [data-results],.calculation-workspace[data-screen="item"] .workspace-container-overview { display:none!important; }
 .calculation-workspace[data-screen="item"] .workspace-summary { display:block; }
 .calculation-workspace[data-screen="item"] .workspace-summary-heading h3 { display:none; }
 .calculation-workspace[data-screen="item"] .workspace-group-button { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px; padding:14px; min-height:64px; }
 .calculation-workspace[data-screen="item"] .workspace-group-button span:first-of-type { grid-column:1/-1; }
 .calculation-workspace[data-screen="item"] .workspace-parameters-button { display:inline-block; margin-bottom:12px; }
 .calculation-workspace[data-screen="item"] .workspace-item-amount { display:block; font-weight:600; margin-bottom:14px; }
 .calculation-workspace[data-screen="item"] .workspace-item-back,.calculation-workspace[data-screen="results"] .workspace-item-back { display:block; }
 .calculation-workspace:not(.workspace-readonly) .workspace-mobile-columns { display:block; margin:0 0 10px; }
 .calculation-workspace:not(.workspace-readonly):not(.workspace-all-columns) .workspace-table,
 .calculation-workspace:not(.workspace-readonly):not(.workspace-all-columns) .workspace-table tbody { display:block; width:100%; }
 .calculation-workspace:not(.workspace-readonly):not(.workspace-all-columns) .workspace-table thead { display:none; }
 .calculation-workspace:not(.workspace-readonly):not(.workspace-all-columns) .workspace-table thead:has(.workspace-bulk-check) { display:block; }
 .calculation-workspace:not(.workspace-readonly):not(.workspace-all-columns) .workspace-table thead th:not(.workspace-bulk-check) { display:none; }
 .calculation-workspace:not(.workspace-readonly):not(.workspace-all-columns) .workspace-table thead .workspace-bulk-check { display:block; border:0; }
 .calculation-workspace:not(.workspace-readonly):not(.workspace-all-columns) .workspace-table thead .workspace-bulk-check::after { content:'Выбрать показанные строки'; margin-left:8px; font-weight:400; }
 .calculation-workspace:not(.workspace-readonly):not(.workspace-all-columns) .workspace-table tr[data-source-section] { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; margin:10px 0; border:1px solid var(--line); border-radius:6px; background:#fff; padding:12px; }
 .calculation-workspace:not(.workspace-readonly):not(.workspace-all-columns) .workspace-table tr[data-source-section] > td { display:none; width:auto; border:0; padding:0!important; }
 .calculation-workspace:not(.workspace-readonly):not(.workspace-all-columns) .workspace-table tr[data-source-section] > td.workspace-card-title { display:block; grid-column:1; grid-row:auto; font-weight:600; min-width:0; }
 .calculation-workspace:not(.workspace-readonly):not(.workspace-all-columns) .workspace-card-title button { width:100%; text-align:left; color:var(--accent); font-weight:600; white-space:normal; min-height:40px; }
 .calculation-workspace:not(.workspace-readonly):not(.workspace-all-columns) .workspace-table tr[data-source-section] > td.workspace-result-total { display:block; grid-column:2; grid-row:auto; }
 .calculation-workspace:not(.workspace-readonly):not(.workspace-all-columns) .workspace-table tr[data-source-section] > td.workspace-bulk-check { display:block; grid-column:1/-1; grid-row:auto; }
 .calculation-workspace:not(.workspace-readonly):not(.workspace-all-columns) .workspace-table tr[data-source-section] > td.workspace-card-info { display:block; grid-column:1/-1; grid-row:auto; }
 .workspace-card-summary { font-size:12px; color:var(--muted); margin:0 0 10px; overflow-wrap:anywhere; }
 .workspace-card-summary:empty { display:none; }
 .workspace-card-actions { display:flex; gap:8px; flex-wrap:wrap; }
 .workspace-card-actions .btn { min-height:40px; }
}

@media (max-width:1050px) {
 .calculation-workspace[data-screen="item"] .workspace-group-button > strong { grid-column:1; grid-row:1; }
 .calculation-workspace[data-screen="item"] .workspace-group-button > span:last-child { grid-column:2; grid-row:1; justify-self:end; }
 .workspace-card-state { display:block; color:var(--muted); margin-bottom:8px; }
 .workspace-navigation-info { overflow-wrap:anywhere; }
}

.workspace-branch-children {margin-top:1rem;padding-left:1rem;border-left:3px solid var(--bs-border-color);display:grid;gap:1rem;}
@media(max-width:575px){.workspace-branch-children{padding-left:.4rem;}}
/* Deeper supported trees keep their nesting without accumulating page width. */
.workspace-branch-children .workspace-branch-children {padding-left:0;border-left:0;}
.workspace-branch-children .workspace-branch-children .workspace-branch-card {padding-left:0;padding-right:0;border-left:0;border-right:0;}

/* Existing title cells retain the server column layout. */
.workspace-table .workspace-has-row-delete { position:relative; padding-right:38px; }
.workspace-row-delete { position:absolute; right:3px; top:3px; }
@media (max-width:1050px) {
 .calculation-workspace:not(.workspace-all-columns) .workspace-row-delete { display:none; }
 .calculation-workspace:not(.workspace-all-columns) .workspace-table .workspace-has-row-delete { padding-right:7px; }
}

.workspace-list-actions { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:10px; }

/* Independent summary facts are not an electrical circuit diagram. */
.result-fact-summary { display:grid; padding:1rem; margin:0 0 1rem; background:#f4f7fb; border-radius:.5rem; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); }
.result-fact-summary dd { font-weight:500; }

/* Compact overview keeps the existing detailed equipment action. */
@media(max-width:1050px){.workspace-container-overview .workspace-overview-extra{display:none;}}

/* Shared usability: in-flow validation, keyboard entry and comfortable targets. */
.skip-content {position:fixed;left:16px;top:-100px;z-index:3000;background:white;padding:12px 18px;border:2px solid var(--accent);border-radius:6px;}
.skip-content:focus {top:8px;}
.account-password-form input {display:block;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:6px;margin-top:6px;}
.ui-notification .btn-close {min-width:32px;min-height:32px;background-size:12px;padding:6px;}
.field-validation-error {scroll-margin-block:110px;}
.product-field-group>summary {padding:14px 16px;font-weight:600;cursor:pointer;}
.product-field-group[open]>summary {border-bottom:1px solid var(--line);margin-bottom:16px;}
.product-field-group {border:1px solid var(--line);border-radius:7px;margin-bottom:18px;}
.product-field-group .row {padding:0 16px 18px;}

/* Reuse the same parameter/result actions beside the selected desktop result. */
.workspace-row-actions {display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0 14px;}
.workspace-row-actions[hidden] {display:none;}
.workspace-row-actions-label {margin-right:auto;overflow-wrap:anywhere;}
.workspace-row-actions .workspace-result-button {margin-bottom:0;}
@media(min-width:1051px){.workspace-row-actions .workspace-parameters-button {display:inline-block;min-height:40px;}}

.workspace-navigation-tools {display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.workspace-navigation-group-title {flex-basis:100%;margin:8px 0;}
.workspace-navigation-overview {display:grid;gap:10px;}
.workspace-nav .workspace-overview-group {display:grid;grid-template-columns:minmax(0,1fr);gap:6px;text-align:left;min-height:78px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink,#263648);padding:12px;}
.workspace-overview-group small,.workspace-overview-group-count {font-size:12px;color:var(--muted,#667b92);}
.workspace-nav:not([data-overview-mode="root"]) .workspace-navigation-overview {display:none;}
.workspace-nav [data-overview-member][data-overview-active="false"] {display:none!important;}
.workspace-nav[data-overview-mode]:not([data-overview-mode="all"]) .workspace-stage-title {display:none;}
.review-summary {background:#fffaf0;border:1px solid #ead6ae;border-radius:7px;margin:12px 0;padding:12px 16px;}
.review-summary>summary {font-weight:600;cursor:pointer;}
.review-content {margin-top:14px;}.review-item {margin:10px 0;padding:10px;background:white;border:1px solid var(--line);border-radius:5px;}
.review-item>summary {cursor:pointer;}.review-item p {margin:10px 0;font-size:13px;overflow-wrap:anywhere;}
.review-stale {color:#8b5b12;}.review-summary[data-stale="true"] {opacity:.85;}

.workspace-overview-group>strong {grid-column:1;grid-row:1;min-width:0;overflow-wrap:anywhere;}
.workspace-overview-group>small {grid-column:1/-1;grid-row:2;}
.workspace-overview-group-count {grid-column:1;grid-row:3;}
.workspace-nav .workspace-navigation-tools button {width:auto;flex:1;}

/* Desktop grouping moves the existing navigation controls; mobile keeps its cards. */
.workspace-navigation-fold {border:0;border-top:1px solid var(--line);margin-top:14px;padding-top:10px;min-width:0;}
.workspace-navigation-fold>summary {cursor:pointer;font-weight:700;padding:10px 4px;overflow-wrap:anywhere;color:var(--ink,#263648);}
.workspace-navigation-fold[data-active="true"]>summary {color:var(--accent,#0757b8);}
.workspace-navigation-fold>summary:focus-visible {outline:2px solid var(--accent,#0757b8);outline-offset:2px;}
@media(max-width:1050px){
 .workspace-navigation-fold {border:0;margin:0;padding:0;}
 .workspace-navigation-fold>summary {display:none;}
 .workspace-nav[data-overview-mode="root"] .workspace-navigation-fold {display:none;}
}

/* Main-workspace editing: the registered controls move, their values do not. */
.calculation-workspace.workspace-main-editor { grid-template-columns: 230px minmax(0,1fr); background:#f4f7fb; border-radius:10px; }
.workspace-main-editor .workspace-main { background:#f4f7fb; padding:22px; }
.workspace-main-editor .workspace-main > .workspace-editor { display:block; width:auto; border:0; padding:0; background:transparent; }
.workspace-main-editor .workspace-main > .workspace-editor > .workspace-editor-heading,
.workspace-main-editor .workspace-main > .workspace-summary,
.workspace-main-editor .workspace-main > .workspace-row-actions { display:none; }
.workspace-main-editor .workspace-editor .ui-section { background:#fff; border:1px solid #dce4ef; border-radius:10px; padding:20px; margin:16px 0; }
.workspace-main-editor .workspace-editor .ui-section > h2 { display:none; }
.workspace-main-editor .workspace-editor .field-settings { margin-top:12px; background:#fff; }
.workspace-main-editor .workspace-overview .workspace-table { background:#fff; border:1px solid #dce4ef; border-radius:8px; }
.workspace-main-editor .ui-field .field-help { max-width:75ch; }
.workspace-main-editor .workspace-title { font-size:1.7rem; margin-bottom:18px; font-weight:650; }
.input-summary-card { background:white; border:1px solid #dce4ef; border-radius:10px; padding:20px; margin:18px 0; }
.input-summary-card h3 { font-size:1.12rem; margin-bottom:16px; }
.input-summary-table { margin-bottom:0; }
.input-summary-table th { color:#344766; background:#f1f5fa; font-size:.86rem; }
.input-summary-table td { vertical-align:middle; }
.result-review-notes { margin:12px 0; padding:12px 16px; background:#f3f6fb; border:1px solid #dce4ef; border-radius:8px; }
.result-review-notes summary { cursor:pointer; color:#314e73; font-weight:550; }
.result-review-notes li { margin:12px 0; }
.result-attention { padding:16px; border:1px solid #f2cf83; background:#fff8e8; border-radius:10px; margin:14px 0; }
.result-attention h3 { font-size:1rem; color:#8b4e00; }
.result-attention-row { display:flex; gap:12px; align-items:center; justify-content:space-between; padding:10px 0; }
.result-attention-row .btn { flex-shrink:0; }
@media(max-width:1050px) {
 .calculation-workspace.workspace-main-editor { display:block; }
 .workspace-main-editor .workspace-main { padding:12px; }
 .workspace-main-editor .workspace-editor .ui-section { padding:12px; }
 .input-summary-card { padding:12px; }
 .input-summary-table thead { display:none; }
 .input-summary-table tbody,.input-summary-table tr,.input-summary-table td { display:block; }
 .input-summary-table tr { border:1px solid #dce4ef; border-radius:8px; margin:12px 0; padding:10px; }
 .input-summary-table td { border:0; display:flex; justify-content:space-between; gap:12px; padding:6px; }
 .input-summary-table td[data-label]::before { content:attr(data-label); color:#536782; }
 .result-attention-row { flex-direction:column; align-items:stretch; }
}
.profile-library-list { background:white; border:1px solid #dce4ef; border-radius:10px; overflow:hidden; }
.profile-library-table { margin:0; }
.profile-library-table th { background:#eef3fa; font-size:.86rem; color:#344766; padding:16px; }
.profile-library-table td { padding:16px; }
@media(max-width:700px){
 .profile-library-table thead{display:none;}
 .profile-library-table,.profile-library-table tbody,.profile-library-table tr,.profile-library-table td{display:block;width:100%;}
 .profile-library-table tr{padding:12px;border-bottom:1px solid #dce4ef;}
 .profile-library-table td{padding:6px 4px;border:0;}
}

@media(max-width:700px){.profile-library-table td[data-label]::before{content:attr(data-label);font-weight:600;margin-right:1rem}.profile-library-table td{overflow-wrap:anywhere}.profile-library-table details dl{display:block}}

@media(min-width:1051px){
.workspace-main-editor .workspace-editor .field-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px 24px}
.workspace-main-editor .workspace-editor .ui-field{grid-column:span 6;margin:0}
.workspace-main-editor .workspace-editor .ui-field:has([data-field="configuration"]){grid-column:1/-1}
.workspace-main-editor .workspace-editor .field-settings{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:16px 0;background:white}
.workspace-main-editor .workspace-editor .field-settings[open]{border-left:0}
.workspace-main-editor .workspace-editor .field-settings>summary{font-size:1rem}
}

.workspace-main-editor .workspace-main>.workspace-editor{position:static;max-height:none;overflow:visible}
@media(min-width:1051px){.workspace-main-editor .workspace-editor .field-settings[data-active="true"]{border-left:0!important}}
/* Keep the existing row removal action reachable in the central editor. */
@media(min-width:1051px){
.workspace-main-editor .workspace-main>.workspace-summary{display:block;padding:0;border:0;background:transparent;margin:0}
.workspace-main-editor .workspace-main>.workspace-summary>:not(.workspace-summary-heading),
.workspace-main-editor .workspace-summary-heading>h3{display:none}
.workspace-main-editor .workspace-summary-heading{justify-content:flex-end;padding:0}
}

@media(min-width:1051px){.workspace-main-editor .workspace-editor .workspace-active-group{box-shadow:none;background:white}.profile-library-table td{vertical-align:top}}
.preset-configuration-settings input[type=text]{display:block;width:100%;padding:.6rem .75rem;border:1px solid var(--line);border-radius:6px}
.preset-configuration-settings input[type=checkbox]{margin-right:.4rem}

/* Approved visual direction: clear hierarchy, compact disclosures, one primary action. */
:root { --accent:#0965e8; --ink:#172c4a; --page:#f3f7fc; --line:#dce5f1; }
body { font-family:system-ui,-apple-system,"Segoe UI",sans-serif; }
.btn-primary { background:linear-gradient(135deg,#1878f5,#0759d8);border-color:#0965e8;box-shadow:0 2px 5px #0965e81a; }
.btn-primary:hover,.btn-primary:active { background:#0759cf!important;border-color:#0759cf!important; }
.btn { border-radius:7px; }
.btn:focus-visible,summary:focus-visible,.workspace-section-button:focus-visible { outline:3px solid #0965e8;outline-offset:3px;box-shadow:none; }
.form-control:focus,.form-select:focus { border-color:#4189ed;box-shadow:0 0 0 3px #0965e81c; }
.app-nav .nav-link.active { color:#0757c3;background:#e9f2ff; }
.workspace-page-heading { margin-bottom:12px; }
.workspace-page-heading .page-title { font-size:17px;color:var(--muted);font-weight:550;letter-spacing:0; }
.workspace-utilities { margin:16px 0;border:1px solid var(--line);border-radius:9px;background:white;padding:12px 16px; }
.workspace-utilities>summary { color:#506580;font-weight:600;cursor:pointer; }
.workspace-utilities>.workspace-context,.workspace-utilities>.input-settings-panel { margin:12px 0 0; }
.workspace-main-editor .workspace-nav { background:#f8fbff;border-right:1px solid var(--line); }
.workspace-nav-icon { display:inline-block;margin-right:10px;color:#51749f;font-size:18px; }
.workspace-navigation-fold>summary { list-style:none; }
.workspace-navigation-fold>summary::after { content:'\203a';float:right;transform:rotate(90deg); }
.workspace-navigation-fold[open]>summary::after { transform:rotate(-90deg); }
.workspace-section-button.active,.workspace-section-button[aria-current] { border-radius:7px;background:#e7f1ff; }
.workspace-main-editor .workspace-title { font-size:clamp(25px,2.3vw,34px);font-weight:750;letter-spacing:-.65px;margin:0 0 20px; }
.workspace-main-editor .workspace-editor .ui-section { margin:0 0 14px;padding:18px 22px;box-shadow:0 3px 14px #173b6510; }
.workspace-main-editor .workspace-editor .mechanism-card { border:0;margin:0;overflow:visible; }
.workspace-main-editor .workspace-editor .mechanism-fields { border:0;padding:0; }
.workspace-main-editor .workspace-editor .field-settings { padding:10px 0;margin:0;border:0;border-bottom:1px solid #e7edf6;border-radius:0; }
.workspace-main-editor .workspace-editor .field-settings>summary { padding:5px 0;font-size:14px;font-weight:600;color:#263e5f;cursor:pointer; }
.workspace-main-editor .workspace-editor .field-settings:not([open]) { background:#f7faff;border-radius:6px;padding:9px 12px;margin:6px 0; }
.workspace-main-editor .workspace-editor .field-settings[open] { box-shadow:none;background:white; }
.workspace-main-editor .workspace-editor .field-grid { gap:12px 20px; }
.workspace-main-editor .workspace-editor .ui-field .btn[data-action-type=prepare] { margin-top:8px; }
.workspace-main-editor .workspace-input-summaries { margin:12px 0 16px; }
.workspace-main-editor .workspace-input-summaries .input-summary-card { border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;padding:16px 0;margin:0; }
.input-summary-card h3 { font-size:20px;font-weight:700;margin-bottom:12px; }
.input-summary-table th,.input-summary-table td { padding:9px 12px; }
.input-summary-table .btn { padding:6px 10px; }
.workspace-main-editor .workspace-overview .workspace-table { border-radius:9px;overflow:hidden; }
.workspace-main-editor .workspace-table tr.selected { background:#e9f3ff; }
.workspace-main-editor .workspace-table th { background:#eef4fc;color:#314b70;font-weight:650; }
.action-bar { padding:10px 24px max(10px,env(safe-area-inset-bottom));box-shadow:0 -4px 18px #193e6510; }
.action-bar .action-total { font-size:20px; }
.result-document-heading { padding:18px 20px;background:white;border:1px solid var(--line);border-radius:10px;margin-bottom:16px; }
.result-document-heading .result-heading { font-size:28px;font-weight:750; }
.result-document-summary>.money { font-size:22px; }
.result-completeness { border-radius:6px;padding:7px 10px; }
.result-completeness.is-complete { background:#e6faf1;color:#116c50; }
.result-completeness.is-complete::before { content:'\2713';margin-right:7px; }
.result-completeness.is-incomplete::before { content:'\26a0';margin-right:7px; }
.result-owner-disclosure { margin:8px 0;border-radius:9px;overflow:hidden; }
.result-owner-disclosure>.result-group-heading { display:flex;align-items:center;gap:14px;cursor:pointer;list-style:none;margin:0;padding:15px 16px;background:#f8fbff; }
.result-owner-disclosure>.result-group-heading::before { content:'\203a';font-size:22px;color:#48678f; }
.result-owner-disclosure[open]>.result-group-heading::before { transform:rotate(90deg); }
.result-owner-disclosure>.result-group-heading h3 { font-size:15px;margin:0; }
.result-owner-disclosure>.result-group-heading .money { margin-left:auto;font-weight:650; }
.result-owner-status { color:#496786;font-size:12px; }
.result-owner-disclosure>.result-table,.result-owner-disclosure>.result-scope { margin:10px 14px;width:calc(100% - 28px); }
.result-owner-disclosure>.result-assembly-heading { padding:12px 14px 0; }
.profile-library-table th,.profile-library-table td { padding:11px 16px; }
.profile-library-table td:last-child>div { display:inline-flex!important; }
.profile-library-table td:last-child>details { display:inline-block;margin:0 0 0 12px!important;vertical-align:middle; }
.profile-library-table td:last-child>details[open] { display:block;margin:10px 0 0!important;padding:12px;background:#f4f8ff;border-radius:7px; }
.settings-source { display:inline-block;padding:4px 9px;background:#edf2f8;color:#4c6483;border-radius:14px;font-size:12px; }
@media(max-width:1050px){
 .workspace-main-editor .workspace-editor { background:transparent;border:0;padding:12px; }
 .workspace-main-editor .workspace-editor-heading { margin-bottom:12px; }
 .workspace-main-editor.workspace-form-entry .workspace-editor-heading>.workspace-editor-context,
 .workspace-main-editor.workspace-form-entry .workspace-editor-heading>.btn-soft-danger { display:none; }
 .workspace-main-editor .workspace-editor-heading h2 { font-size:24px;font-weight:750; }
 .workspace-main-editor .workspace-editor>.workspace-mobile-back { padding:8px 0;margin:0 0 8px; }
 .workspace-main-editor .workspace-editor>.workspace-mobile-back::before { content:'\2190';margin-right:8px; }
 .workspace-main-editor .workspace-editor .ui-section { padding:14px;margin:0 0 12px; }
 .workspace-main-editor .workspace-editor .workspace-active-group { box-shadow:none;border-left:0!important; }
 .workspace-main-editor .workspace-editor .ui-field { margin:0; }
 .input-summary-table tr { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:12px;margin:8px 0;background:#f8fbff; }
 .input-summary-table td { padding:2px 0;font-size:13px; }
 .input-summary-table td:first-child { grid-column:1/-1;font-weight:700;margin-bottom:5px; }
 .input-summary-table td:first-child::before { display:none; }
 .input-summary-table td:not(:first-child) { grid-column:1/-1; }
 .input-summary-table td:last-child .btn { padding:4px 0;border:0;background:none; }
 .result-owner-status { display:none; }
 .result-document-heading { padding:14px; }
 .result-document-summary>.money { font-size:20px;white-space:normal; }
 .action-bar { padding:8px 12px max(8px,env(safe-area-inset-bottom)); }
 .action-bar-inner { gap:6px; }
 .action-buttons { gap:6px; }
 .action-buttons .btn { font-size:12px;padding:8px 9px;min-height:40px; }
 .workspace-page-heading .page-title { font-size:14px; }
}
@media(prefers-reduced-motion:no-preference){
 .btn,.workspace-section-button { transition:background-color .15s,box-shadow .15s; }
}
@media(max-width:1050px){
 .action-bar-inner { display:grid;grid-template-columns:minmax(0,1fr); }
 .action-summary { display:flex;align-items:center;justify-content:space-between;gap:10px; }
 .action-summary>div:first-child { display:flex;gap:8px;align-items:baseline; }
 .action-buttons { display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%; }
 .action-buttons>.btn { width:100%;min-width:0;line-height:1.2;padding:8px 5px; }
 .action-state { font-size:11px; }
 .workspace-main-editor .workspace-editor .field-grid { grid-template-columns:repeat(12,minmax(0,1fr)); }
 .workspace-main-editor .workspace-editor .ui-field { grid-column:span 6; }
 .workspace-main-editor .workspace-editor .ui-field:has(select),
 .workspace-main-editor .workspace-editor .ui-field:has(textarea),
 .workspace-main-editor .workspace-editor .ui-field:has(.result-picker) { grid-column:1/-1; }
 .workspace-main-editor .input-summary-table td:first-child { font-size:14px; }
 .workspace-main-editor .input-summary-table td[data-label]::before { max-width:72%; }
}
.ui-notification-inline { background:#edf5ff;border-color:#c9dfff;color:#245182;padding:10px 14px; }
.ui-notification-inline .d-flex { align-items:center!important; }
.result-owner-disclosure>summary::-webkit-details-marker { display:none; }
@media(max-width:380px){.action-buttons>.btn{font-size:11px}.workspace-main-editor .workspace-editor .ui-field{grid-column:1/-1}}

@media(max-width:1050px){
 .workspace-main-editor[data-screen="item"] .workspace-main>.workspace-summary { display:block; }
 .workspace-main-editor:not(.workspace-form-entry) .workspace-editor-heading>.workspace-editor-context { display:none; }
}
@media(max-width:1050px){
 .workspace-main-editor .workspace-editor .field-grid { display:grid; }
 .workspace-main-editor .workspace-editor .ui-field:has(input[type=text]) { grid-column:1/-1; }
}
/* Comparison rows keep a quiet reading state; editing remains explicit. */
.workspace-title-actions { display:flex;align-items:flex-start;gap:8px;min-width:0; }
.workspace-title-value { flex:1;min-width:0; }
.workspace-table .workspace-has-row-delete { padding-right:10px; }
.workspace-title-actions>.workspace-row-delete { position:static;flex:0 0 28px;padding:4px;min-height:30px;background:transparent;border-color:transparent;color:#7b8b9e; }
.workspace-title-actions>.workspace-row-delete:hover,.workspace-title-actions>.workspace-row-delete:focus-visible { color:#b4283d;background:#fff0f2;border-color:#edc1c9; }
.workspace-table .workspace-title-value .ui-field { min-width:0; }
.workspace-table .workspace-title-value .form-control { min-width:0; }
.workspace-group-cell>.workspace-link { border:1px solid #dce5f1;border-radius:14px;padding:4px 9px;font-size:12px;background:#f4f8ff; }
.workspace-group-cell>.workspace-link:hover { border-color:#7eabe9; }
.workspace-table-compact .workspace-result-content { align-items:flex-start;gap:4px 12px; }
.workspace-table-compact .workspace-result-position { flex:1 1 100%; }
.workspace-table-compact .workspace-basis-toggle { font-size:12px;color:#42618a;padding:2px 0; }
.workspace-table-compact .workspace-result-content .selected-equipment { padding:0!important;min-height:0!important;font-size:13px;line-height:1.4;border:0;box-shadow:none; }
.workspace-table-compact .workspace-result-content .selected-equipment::after { display:none; }
.workspace-explicit-replace { color:#0965e8;font-size:12px;padding:2px 0;margin-top:3px; }
.choice-picker.choice-editing>.workspace-explicit-replace { display:none; }
.workspace-main-editor .workspace-editor .field-settings:not([open]) { padding:6px 10px;margin:4px 0; }
.workspace-main-editor .workspace-editor .field-settings:not([open]) .workspace-area-summary { font-size:12px; }
.workspace-main-editor .workspace-editor .field-settings[data-workspace-field-group="motor"]>summary { color:#285b8d; }
@media(min-width:1051px){
 .workspace-table-compact td { padding:9px 10px!important; }
 .workspace-table-compact .workspace-field-text { width:17%; }
 .workspace-table-compact .workspace-field-select { width:11%; }
 .workspace-table-compact .workspace-field-integer { width:6%; }
 .workspace-table-compact .workspace-group-cell { width:13%; }
 .workspace-table-compact .workspace-result-total { width:10%; }
 .workspace-table-compact .workspace-result-selection { width:43%; }
 .workspace-main-editor .workspace-editor .field-settings:not([open]) .workspace-area-summary { display:inline;margin-left:10px; }
}
@media(max-width:1050px){
 .workspace-title-actions { width:100%; }
 .workspace-title-actions>.workspace-row-delete { display:none; }
 .workspace-table-compact .workspace-result-total { font-size:14px; }
}
.workspace-table-compact .workspace-explicit-replace { order:2;flex:0 0 auto;margin:0;padding:2px 0;line-height:1.4; }
.workspace-table-compact .workspace-basis-toggle { line-height:1.4;min-height:0; }
.workspace-table-compact .workspace-result-content .product-caption { margin:3px 0 0; }
@media(min-width:1051px){
 .workspace-table td:not(.workspace-input-cell)>.workspace-link { display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-align:left; }
}
/* Native selects need the full editor width at narrow breakpoints. */
@media(max-width:1050px){
 .workspace-main-editor .workspace-editor .ui-field:has(select) { grid-column:1/-1; }
 .workspace-main-editor .workspace-editor select.form-select { width:100%;min-width:0;max-width:none; }
}
@media(max-width:1050px){
 .workspace-main-editor .workspace-editor fieldset.field-group { padding-inline:0; }
 .workspace-main-editor .workspace-editor .field-settings[open] { padding-inline:0; }
}
@media(max-width:1050px){
 .workspace-main-editor .workspace-editor select.form-select { padding-left:8px;padding-right:30px;background-position:right 8px center; }
}

/* A phone form has one reading column; labels and help retain full width. */
@media (max-width:600px) {
    .calculation-workspace .workspace-editor .field-grid { grid-template-columns:minmax(0,1fr); }
    .calculation-workspace .workspace-editor .ui-field { grid-column:1 / -1; }
}
.workspace-table .ui-field .btn { font-size:12px; padding:3px 6px; }

.workspace-source-summary { padding:14px 18px; margin:0 0 16px; border:1px solid #d9e2ed; border-radius:8px; background:#fff; }
.workspace-summary-facts { display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:8px; font-size:14px; }

.workspace-linked-settings { margin-bottom:16px; }
.workspace-linked-settings .field-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px; }
.workspace-linked-settings .ui-field { grid-column:auto; }
@media(max-width:600px) { .workspace-linked-settings .field-grid { grid-template-columns:minmax(0,1fr); } }

/* Server-declared compact rows retain the registered controls and detail nodes. */
.inherit-toggle-hidden { display:none!important; }
.field-preparation-action { display:block;font-size:12px;margin-top:4px;white-space:normal;text-align:left; }
.field-preparation-action[hidden] { display:none!important; }
.workspace-table-compact .workspace-result-content { flex-wrap:wrap; }
.workspace-table-compact .workspace-result-facts { margin:0;font-size:12px; }
.workspace-table-compact .workspace-result-position { flex-basis:65%; }
.workspace-compact .workspace-inline-row .workspace-editor { padding:12px;gap:12px; }
.workspace-compact .workspace-inline-row .field-grid { margin:0; }
.workspace-compact .workspace-inline-row .field-group { padding:8px 12px; }
.workspace-compact .workspace-editor-status { white-space:nowrap; }

.workspace-inline-row .workspace-editor .inherit-toggle-help { display:block; }

.workspace-compact .workspace-inline-row .mechanism-card,
.workspace-compact .workspace-inline-row .field-group { background:transparent;box-shadow:none;border:0;padding:0;margin:0; }

/* Shared multiple row references: visible selections and keyboard-accessible checks. */
.reference-multiple { min-width: 0; width: 100%; }
.reference-multiple > summary { cursor: pointer; white-space: normal; list-style: none; min-height: 2.5rem; }
.reference-multiple > summary::-webkit-details-marker { display: none; }
.reference-multiple-value { display: inline-block; margin: .1rem .3rem .1rem 0; padding: .1rem .3rem; border-radius: .25rem; background: #edf2f8; overflow-wrap: anywhere; }
.reference-multiple-options { max-height: 16rem; overflow-y: auto; padding: .5rem; border: 1px solid #ced4da; border-radius: .3rem; background: #fff; }
.reference-multiple-option { display: flex; gap: .6rem; align-items: flex-start; padding: .35rem; cursor: pointer; overflow-wrap: anywhere; }
.reference-multiple-option .form-check-input { flex-shrink: 0; }
.reference-multiple > summary[aria-disabled="true"] { opacity: .65; cursor: default; }
.reference-multiple > summary[aria-invalid="true"] { border-color: #dc3545; }

/* Detailed explanations and references are prose, read vertically. */
.result-fact-details .result-parameters { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.result-fact-details .result-parameters > div { min-width: 0; max-width: 90ch; }

@media (max-width: 360px) {
    .action-summary { flex-wrap: wrap; gap: 2px; }
    .action-summary > div:first-child { width: 100%; justify-content: space-between; }
    .action-state { width: 100%; overflow-wrap: normal; }
}
