.filter-bar { display: grid; grid-template-columns: minmax(150px, 210px) repeat(2, minmax(150px, 180px)) 1fr auto; gap: .75rem; margin-bottom: var(--space-4); padding: .85rem; border: 1px solid var(--border-color); border-radius: var(--border-radius-sm); background: var(--bg-subtle); }
.form-actions { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); flex-wrap: wrap; }
.form-actions.top { margin-bottom: var(--space-4); }
.order-form { max-width: 1200px; }
.app-accordion { display: grid; gap: var(--space-4); }
.accordion-item { overflow: hidden; border: 1px solid var(--border-color); background: var(--bg-card); border-radius: var(--border-radius); box-shadow: var(--shadow-sm); }
.accordion-button { background: var(--bg-card); color: var(--text-primary); font-weight: 600; }
.accordion-button:not(.collapsed) { background: var(--primary-soft); color: var(--primary-strong); box-shadow: inset 0 -1px 0 var(--border-color); }
.accordion-button:focus { border-color: var(--border-color); box-shadow: none; }
.accordion-button::after { transition: none; }
.accordion-collapse { transition: none !important; }
.accordion-body { color: var(--text-primary); background: var(--bg-card); }
.autocomplete-wrap { position: relative; }
.autocomplete-list { position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: 25; overflow: hidden; border: 1px solid var(--border-color); border-radius: var(--border-radius-sm); background: var(--bg-card); box-shadow: var(--shadow-md); }
.autocomplete-item { display: block; width: 100%; border: 0; padding: .75rem; text-align: left; background: transparent; color: var(--text-primary); }
.autocomplete-item:hover, .autocomplete-item:focus-visible { background: var(--primary-soft); color: var(--primary-strong); }
.autocomplete-empty { padding: .8rem; color: var(--text-secondary); font-size: .92rem; }
.autocomplete-item small { color: var(--text-secondary); }
.item-table input, .item-table select { min-width: 90px; }
.item-table .item-desc { min-width: 240px; }
.order-total { margin-left: auto; font-size: 1.08rem; color: var(--primary-strong); font-weight: 600; }
.payment-plan-table { min-width: 640px; }
.payment-plan-table th:first-child { width: 48%; }
.payment-plan-table th:nth-child(2) { width: 20%; }
.payment-plan-table input[readonly] { background: var(--bg-subtle); color: var(--text-secondary); }
.order-form .btn-outline-light:disabled { color: var(--text-secondary); border-color: var(--border-color); background: var(--bg-subtle); opacity: 1; }
.preserve-lines { white-space: pre-line; overflow-wrap: anywhere; }
@media (min-width: 1200px) {
    #ordersFilter { grid-template-columns: minmax(180px, 1fr) minmax(150px, 1fr) repeat(2, minmax(140px, 1fr)) minmax(150px, 1fr) auto; }
}
.payment-preview { display: grid; gap: .5rem; padding: 1rem; border: 1px solid #c9d5e2; border-radius: var(--border-radius-sm); background: var(--primary-soft); }
.preview-row, .payment-row { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: .75rem; border: 1px solid var(--border-color); border-radius: var(--border-radius-sm); background: var(--bg-card); }
.stack-form { display: grid; gap: .75rem; }
.stack-form .btn { justify-self: start; margin-top: .25rem; }
.document-toggle .btn { min-width: 82px; box-shadow: none; }
.document-toggle .btn-check:checked + .btn { border-color: var(--primary); background: var(--primary); color: var(--text-inverse); }
