.model-router-card { margin-top: 18px; overflow: hidden; }
.router-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.router-head h2,.router-head h3 { margin: 4px 0 7px; }
.router-shadow-badge { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid #b9ddcf; border-radius: 999px; background: #edf8f4; color: #0d6a50; font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.router-shadow-badge::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #2ba879; box-shadow: 0 0 0 4px rgba(43,168,121,.12); }
.router-simple-summary,.router-platform-kpis { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-bottom: 16px; }
.router-simple-summary > div,.router-platform-kpis > article { min-width: 0; padding: 13px 14px; border: 1px solid #dceae5; border-radius: 13px; background: #fbfdfc; }
.router-simple-summary span,.router-platform-kpis span { display: block; color: #687a74; font-size: 11px; }
.router-simple-summary b,.router-platform-kpis b { display: block; margin-top: 5px; color: #173e33; font-size: 18px; }
.router-platform-kpis { grid-template-columns: repeat(4,minmax(0,1fr)); }
.router-mode-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.router-mode-card { display: flex; align-items: flex-start; gap: 10px; min-width: 0; overflow: hidden; padding: 14px; border: 1px solid #dce8e4; border-radius: 14px; background: #fff; cursor: pointer; transition: border-color .16s ease,box-shadow .16s ease,transform .16s ease; }
.router-mode-card:hover { border-color: #83bea9; transform: translateY(-1px); }
.router-mode-card.selected { border-color: #18805f; box-shadow: 0 0 0 3px rgba(24,128,95,.1); background: #f6fcf9; }
.router-mode-card input[type="radio"] { position: static; flex: 0 0 18px; width: 18px; min-width: 18px; height: 18px; min-height: 18px; margin: 2px 0 0; padding: 0; border: 0; box-shadow: none; accent-color: #0d6a50; }
.router-mode-card input[type="radio"]:focus { border: 0; box-shadow: 0 0 0 3px rgba(13,106,80,.14); }
.router-mode-card > span { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.router-mode-card b,.router-mode-card small { display: block; }
.router-mode-card small { margin-top: 5px; color: #687a74; line-height: 1.45; }
.router-actions { display: flex; justify-content: flex-end; margin-top: 13px; }
.router-actions button { width: auto; min-width: 160px; }
.model-router-advanced { display: none; margin-top: 20px; padding-top: 18px; border-top: 1px solid #e1ebe8; }
#tenantPanel[data-client-panel-mode="advanced"] .model-router-advanced { display: block; }
.router-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.router-form-grid label,.router-simulator label { display: grid; gap: 6px; color: #40564f; font-size: 12px; font-weight: 700; }
.router-form-grid select,.router-form-grid input,.router-simulator select,.router-simulator textarea,.router-table input { width: 100%; min-width: 0; }
.router-form-grid .router-check { display: flex; grid-column: 1/-1; align-items: center; gap: 9px; padding: 11px 12px; border-radius: 11px; background: #f5f9f7; }
.router-form-grid .router-check input { width: auto; }
.router-simulator { margin-top: 14px; padding: 14px; border: 1px solid #dce9e4; border-radius: 14px; background: #fafdfc; }
.router-simulator-row { display: grid; grid-template-columns: 1fr 1fr auto; gap: 9px; align-items: end; margin-top: 10px; }
.router-simulation-result { display: grid; grid-template-columns: auto auto 1fr; align-items: center; gap: 9px; margin-top: 11px; padding: 11px 12px; border-radius: 11px; background: #eaf7f2; color: #174d3d; }
.router-simulation-result span,.router-simulation-result small { color: #5b7169; }
.router-observer { margin-top: 16px; padding: 14px; border: 1px solid #dce9e4; border-radius: 14px; background: #fff; }
.router-observer .section-title { margin-bottom: 10px; }
.router-observer .router-table td:first-child b { color: #17674f; }
.router-gate-card { margin: 16px 0; padding: 16px; border: 1px solid #cfe5dc; border-radius: 15px; background: linear-gradient(145deg,#f4fbf8,#fff); }
.router-gate-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.router-gate-head h4 { margin: 3px 0 4px; color: #164c3c; }
.router-gate-head p { margin: 0; color: #64766f; font-size: 12px; }
.router-gate-head > b { flex: 0 0 auto; color: #0d6a50; font-size: 22px; }
.router-gate-progress { display: block; width: 100%; height: 9px; margin: 13px 0 10px; overflow: hidden; border: 0; border-radius: 999px; background: #dfece7; appearance: none; }
.router-gate-progress::-webkit-progress-bar { border-radius: 999px; background: #dfece7; }
.router-gate-progress::-webkit-progress-value { border-radius: 999px; background: linear-gradient(90deg,#35a57e,#0d6a50); }
.router-gate-progress::-moz-progress-bar { border-radius: 999px; background: linear-gradient(90deg,#35a57e,#0d6a50); }
.router-gate-sample { display: flex; gap: 18px; flex-wrap: wrap; color: #536b62; font-size: 12px; }
.router-gate-sample b { color: #174d3d; }
.router-gate-details { margin-top: 16px; padding: 14px; border: 1px solid #dce9e4; border-radius: 14px; background: #fbfdfc; }
.router-gate-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.router-gate-grid article { min-width: 0; padding: 12px; border: 1px solid #e0eae6; border-radius: 12px; background: #fff; }
.router-gate-grid article.pass { border-color: #bce1d2; background: #f2faf7; }
.router-gate-grid span,.router-gate-grid b,.router-gate-grid small { display: block; }
.router-gate-grid span { color: #61736c; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.router-gate-grid b { margin-top: 5px; color: #193f34; font-size: 13px; }
.router-gate-grid small { margin-top: 4px; color: #77867f; }
.router-promotion-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-bottom: 18px; }
.router-promotion-summary article { padding: 14px; border: 1px solid #dceae5; border-radius: 13px; background: #fbfdfc; }
.router-promotion-summary span,.router-promotion-summary b { display: block; }
.router-promotion-summary span { color: #687a74; font-size: 11px; }
.router-promotion-summary b { margin-top: 5px; color: #173e33; font-size: 18px; }
.router-footnote { margin-top: 15px; padding: 10px 12px; border-left: 3px solid #83bea9; background: #f6faf8; color: #60736d; font-size: 12px; }
.router-table td small { display: block; margin-top: 3px; }
.router-table .router-catalog-name { min-width: 190px; }
.router-table .router-catalog-cost { min-width: 88px; }
.router-loading { padding: 28px; color: #60736d; text-align: center; }

@media (max-width: 980px) {
  .router-platform-kpis { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .router-mode-grid { grid-template-columns: 1fr; }
  .router-gate-grid,.router-promotion-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
  .router-head { align-items: stretch; flex-direction: column; }
  .router-shadow-badge { align-self: flex-start; }
  .router-simple-summary,.router-platform-kpis,.router-form-grid { grid-template-columns: 1fr; }
  .router-simulator-row { grid-template-columns: 1fr; }
  .router-simulation-result { grid-template-columns: 1fr; }
  .router-actions button { width: 100%; min-width: 0; }
  .router-gate-head { flex-direction: column; }
  .router-gate-grid,.router-promotion-summary { grid-template-columns: 1fr; }
}
