.consortium-simulator { max-width: none; margin: 0; }
.consortium-simulator-head { margin-bottom: 16px; }
.consortium-simulator-head h3 { margin: 0; color: var(--text); }
.consortium-simulator-head p { margin: 4px 0 0; color: var(--text-dim); }
.consortium-simulator-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 18px; }
.consortium-simulator-form, .cs-result { background: #fff; border: 1px solid var(--border); border-radius: 14px; padding: 18px; box-shadow: 0 10px 25px rgba(15, 35, 60, .05); }
.consortium-simulator-form { align-self: start; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.consortium-simulator-form .full { grid-column: 1 / -1; }
.cs-model-summary { grid-column: 1 / -1; display: flex; align-items: center; gap: 18px; min-height: 268px; padding: 12px 16px; border: 1px solid var(--border); border-radius: 10px; background: #fff; }
.cs-model-summary-empty { justify-content: center; color: var(--text-dim); font-size: 14px; }
.cs-model-summary-media { position: relative; flex: 0 0 400px; display: flex; align-items: center; justify-content: center; }
.cs-model-summary img { width: 400px; height: 244px; object-fit: contain; }
.cs-variant-nav { position: absolute; top: 50%; transform: translateY(-50%); border: 0; padding: 0; width: 32px; height: 54px; background: transparent; color: var(--text-dim); font-size: 44px; line-height: 1; cursor: pointer; }
.cs-variant-nav:hover, .cs-variant-nav:focus-visible { color: var(--primary); outline: none; }
.cs-variant-nav-prev { left: 0; }
.cs-variant-nav-next { right: 0; }
.cs-model-summary-text { display: grid; gap: 5px; }
.cs-model-summary-text strong { font-size: 16px; color: var(--text); }
.cs-model-summary-text span { color: var(--text-dim); font-size: 14px; }
.cs-result { align-self: start; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 22px; background: linear-gradient(145deg, #fff, #fff8f8); }
.cs-result h4, .cs-result-details { grid-column: 1 / -1; }
.cs-result h4 { margin: 0 0 5px; }
.cs-result-details { margin: 0 0 14px; color: var(--text-dim); font-size: 12px; }
.cs-result-section { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--border); }
.cs-result-amortization { grid-column: 1; }
.cs-result .cs-total, .cs-result .cs-copy { grid-column: 1; }
.cs-result-section h5 { margin: 0 0 10px; color: var(--text); font-size: 13px; }
.cs-result dl { display: grid; grid-template-columns: 1fr auto; gap: 9px; margin: 0; }
.cs-result dt { color: var(--text-dim); }
.cs-result dd { margin: 0; font-weight: 700; }
.cs-result-explanation { margin: 12px 0 0; color: var(--text-dim); font-size: 12px; line-height: 1.45; }
.cs-result-grand-total { color: var(--text); font-weight: 800; }
.cs-result .cs-total { margin-top: 16px; padding: 14px; border-radius: 10px; background: var(--primary); color: #fff; }
.cs-result .cs-total strong { display: block; font-size: 24px; margin-top: 4px; }
.cs-copy { width: 100%; margin-top: 14px; }
.cs-error { color: #b42318; }
.cs-bid-control { display: flex; align-items: stretch; }
.cs-bid-control > button { flex: 0 0 54px; border: 1px solid var(--border); border-right: 0; border-radius: 10px 0 0 10px; background: #fff; color: var(--primary); font-weight: 800; cursor: pointer; }
.cs-bid-control > button:hover, .cs-bid-control > button:focus-visible { background: #fff5f5; outline: none; }
.cs-bid-input-wrap { position: relative; flex: 1 1 auto; min-width: 0; }
.cs-bid-control input { width: 100%; min-width: 0; padding-right: 38px; border-radius: 0 10px 10px 0; }
.cs-bid-control input:disabled { cursor: not-allowed; }
.cs-bid-suggestions-toggle { position: absolute; z-index: 2; top: 50%; right: 7px; width: 28px; height: 28px; transform: translateY(-50%); border: 0; padding: 0; background: transparent; color: var(--text); font-size: 18px; line-height: 1; cursor: pointer; opacity: 0; pointer-events: none; transition: opacity .15s ease, color .15s ease; }
.cs-bid-input-wrap:hover .cs-bid-suggestions-toggle:not(:disabled), .cs-bid-input-wrap:focus-within .cs-bid-suggestions-toggle:not(:disabled) { opacity: 1; pointer-events: auto; }
.cs-bid-suggestions-toggle:hover, .cs-bid-suggestions-toggle:focus-visible { color: var(--primary); outline: none; }
.cs-bid-suggestions-toggle:disabled { color: var(--text-dim); cursor: not-allowed; }
.cs-bid-suggestions { position: absolute; z-index: 30; bottom: calc(100% + 6px); left: 0; right: 0; max-height: min(300px, calc(100vh - 40px)); overflow-y: auto; padding: 6px; border-radius: 12px; background: #262626; box-shadow: 0 10px 24px rgba(0, 0, 0, .25); scrollbar-width: thin; scrollbar-color: #727272 transparent; }
.cs-bid-suggestions::before { content: ""; position: absolute; bottom: -6px; left: 34px; border-width: 7px 7px 0; border-style: solid; border-color: #262626 transparent transparent; }
.cs-bid-suggestions::-webkit-scrollbar { width: 6px; }
.cs-bid-suggestions::-webkit-scrollbar-track { background: transparent; }
.cs-bid-suggestions::-webkit-scrollbar-thumb { border-radius: 8px; background: #727272; }
.cs-bid-suggestions.hidden { display: none; }
.cs-bid-suggestion { display: block; width: 100%; border: 0; border-radius: 7px; padding: 7px 12px; background: transparent; color: #fff; text-align: left; font: inherit; font-size: 13px; line-height: 1.2; font-weight: 400; cursor: pointer; }
.cs-bid-suggestion:hover, .cs-bid-suggestion:focus-visible { background: rgba(255, 255, 255, .12); outline: none; }
.cs-bid-suggestion-warning { color: #ff6b6b; }
#consortiumSimulatorCardModal .modal-card { max-height: calc(100vh - 36px); }
#consortiumSimulatorCardModal .diag-body { flex: 1 1 auto; min-height: 0; max-height: none; overflow: hidden !important; }
#consortiumSimulatorCardCanvas { display: block; max-width: 100%; object-fit: contain; }

@media (max-width: 1200px) {
  .consortium-simulator-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 760px) {
  .consortium-simulator-grid { grid-template-columns: minmax(0, 1fr); }
  .consortium-simulator-form { grid-template-columns: minmax(0, 1fr); min-width: 0; order: 1; gap: 10px; }
  .consortium-simulator-form .field { grid-column: 1 / -1; min-width: 0; }
  .consortium-simulator-form .form-footer { grid-column: 1 / -1; }
  .cs-model-summary { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; min-width: 0; padding: 12px; }
  .cs-model-summary-media { width: 100%; min-width: 0; flex: none; }
  .cs-model-summary img { width: min(100%, 400px); height: auto; max-height: 244px; }
  .cs-model-summary-text { width: 100%; min-width: 0; padding: 0 4px; }
  .cs-result { width: 100%; min-width: 0; grid-template-columns: minmax(0, 1fr); order: 2; }
  .cs-result h4, .cs-result-details, .cs-result-amortization, .cs-result .cs-total, .cs-result .cs-copy { grid-column: auto; }
}
