/* ---------------------------------------------------------
 * KoraStats Step Portlet
 * --------------------------------------------------------- */
.ksc-step-portlet { border: 1px solid #dfe6f3; border-radius: 22px; overflow: hidden; background: #ffffff; box-shadow: 0 18px 45px rgba(24, 28, 50, 0.08); }
.kt-portlet.ksc-step-portlet { border: 1px solid #e3eaf6 !important; border-radius: 18px !important; box-shadow: 0 14px 38px rgba(24, 28, 50, 0.06) !important; overflow: hidden !important; background: #ffffff !important; }
.ksc-step-portlet__head { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 30px 38px 26px; border-bottom: 1px solid #e7edf7; background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%); }
.kt-portlet.ksc-step-portlet .ksc-step-portlet__head {
    min-height: auto !important;
    padding: 24px 32px !important;
    border-bottom: 1px solid #d4dff0 !important;
    background: linear-gradient(135deg, #edf4ff 0%, #f8fbff 45%, #e8f0ff 100%) !important;
}
.ksc-step-portlet__title { min-width: 0; }
.ksc-step-portlet__kicker { color: #3867f4 !important; font-size: 9px !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: .08em !important; margin-bottom: 6px !important; }
.ksc-step-portlet__title h3 { margin: 0 !important; color: #101426 !important; font-size: 18px !important; font-weight: 800 !important; line-height: 1.15 !important; }
.ksc-step-portlet__help { margin-top: 8px !important; max-width: 460px !important; color: #8490aa !important; font-size: 12px !important; font-weight: 600 !important; line-height: 1.4 !important; }
.ksc-step-portlet__meta { flex: 0 0 auto; }
.ksc-step-portlet__badge { display: inline-flex; align-items: center; gap: 9px; height: 36px !important; padding: 0 14px !important; border-radius: 999px !important; border: 1px solid #dbe4f4 !important; background: #ffffff !important; color: #3867f4 !important; font-size: 11px !important; font-weight: 800 !important; text-transform: uppercase !important; box-shadow: 0 6px 16px rgba(56, 103, 244, 0.08) !important; }
.ksc-step-portlet__badge strong { display: inline-flex; align-items: center; justify-content: center; width: 24px !important; height: 24px !important; border-radius: 50%; background: #3867f4; color: #ffffff; font-size: 13px !important; }
.ksc-step-portlet__body { padding: 30px 38px 36px; background: radial-gradient(circle at 18% 0%, rgba(56, 103, 244, .07), transparent 34%), linear-gradient(180deg, #ffffff 0%, #f8faff 100%); }
.kt-portlet.ksc-step-portlet .ksc-step-portlet__body { padding: 26px 32px 30px !important; background: linear-gradient(180deg, #ffffff 0%, #fafcff 100%) !important; }
.ksc-step-portlet__footer { display: flex; align-items: center; gap: 14px; padding: 28px 38px; border-top: 1px solid #e7edf7; background: #ffffff; }
.kt-portlet.ksc-step-portlet .ksc-step-portlet__footer { padding: 22px 32px !important; border-top: 1px solid #e8eef8 !important; background: #ffffff !important; }

/* ---------------------------------------------------------
 * Compact Variant
 * --------------------------------------------------------- */
.ksc-step-portlet--compact .ksc-step-portlet__head { padding: 22px 26px 20px; }
.ksc-step-portlet--compact .ksc-step-portlet__body { padding: 24px 26px; }
.ksc-step-portlet--compact .ksc-step-portlet__footer { padding: 22px 26px; }
.ksc-step-portlet--compact .ksc-step-portlet__title h3 { font-size: 21px; }

/* ---------------------------------------------------------
 * Step Actions
 * --------------------------------------------------------- */
.ksc-step-action-btn, .btn.ksc-step-action-btn { height: 38px !important; padding: 0 18px !important; border-radius: 8px !important; font-size: 13px !important; font-weight: 800 !important; line-height: 38px !important; }
.ksc-step-action-btn i { margin-right: 7px !important; font-size: 12px !important; }
.ksc-step-action-btn--outline { color: #3867f4 !important; border: 1px solid #3867f4 !important; background: #ffffff !important; }
.ksc-step-action-btn--primary { color: #ffffff !important; border: 1px solid #3867f4 !important; background: linear-gradient(135deg, #4a72ff 0%, #2857df 100%) !important; box-shadow: 0 8px 18px rgba(56, 103, 244, .18) !important; }
.ksc-step-action-btn[disabled] { opacity: .45 !important; cursor: not-allowed !important; box-shadow: none !important; }

/* ---------------------------------------------------------
 * Zone Selector
 * --------------------------------------------------------- */
.ksc-zone-selected-row { display: flex !important; align-items: center !important; gap: 10px !important; margin-bottom: 18px !important; min-height: 30px !important; }
.ksc-zone-selected-label { color: #7f8aa5 !important; font-size: 12px !important; font-weight: 700 !important; }
.ksc-zone-selected-empty { color: #a0a8ba !important; font-size: 12px !important; font-weight: 600 !important; }
.ksc-zone-selected-chips { display: flex !important; flex-wrap: wrap !important; gap: 7px !important; flex: 1 !important; }
.ksc-zone-chip, button.ksc-zone-chip { display: inline-flex !important; align-items: center !important; gap: 7px !important; min-height: 27px !important; padding: 0 10px !important; border: 0 !important; border-radius: 999px !important; background: linear-gradient(135deg, #4a72ff 0%, #2857df 100%) !important; color: #ffffff !important; font-size: 12px !important; font-weight: 800 !important; line-height: 1 !important; box-shadow: 0 8px 18px rgba(56, 103, 244, .20) !important; }
.ksc-zone-chip i { color: #ffffff !important; font-size: 10px !important; }
.ksc-zone-clear, button.ksc-zone-clear { display: inline-flex !important; align-items: center !important; gap: 6px !important; border: 0 !important; background: transparent !important; color: #3867f4 !important; font-size: 12px !important; font-weight: 800 !important; padding: 0 !important; }

/* ---------------------------------------------------------
 * Field Screen
 * --------------------------------------------------------- */
.ksc-field-screen { padding: 0 !important; border-radius: 14px !important; background: #121b2e !important; box-shadow: 0 18px 40px rgba(16, 25, 43, .22) !important; overflow: hidden !important; }
.ksc-field-screen svg { display: block !important; width: 100% !important; height: auto !important; }



/** KSC Result **/
.ksc-result-portlet { border: 1px solid #dfe7f6 !important; border-radius: 18px !important; overflow: hidden !important; background: #ffffff !important; box-shadow: 0 14px 38px rgba(24, 28, 50, .06) !important; }
.ksc-result-portlet__head { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 24px !important; padding: 24px 32px !important; background: linear-gradient(135deg, #f8fbff 0%, #ffffff 55%, #eef4ff 100%) !important; border-bottom: 1px solid #dbe5f5 !important; }
.ksc-result-portlet__title { min-width: 0 !important; }
.ksc-result-portlet__kicker { color: #3867f4 !important; font-size: 9px !important; font-weight: 900 !important; text-transform: uppercase !important; letter-spacing: .08em !important; margin-bottom: 6px !important; }
.ksc-result-portlet__title h3 { margin: 0 !important; color: #06102f !important; font-size: 18px !important; font-weight: 900 !important; line-height: 1.15 !important; }
.ksc-result-portlet__help { margin-top: 7px !important; color: #7886a3 !important; font-size: 12px !important; font-weight: 700 !important; line-height: 1.45 !important; }
.ksc-result-portlet__body { padding: 26px 32px 30px !important; background: #ffffff !important; }
.ksc-result-portlet__badge { display: inline-flex !important; align-items: center !important; gap: 9px !important; height: 36px !important; padding: 0 14px !important; border-radius: 999px !important; border: 1px solid #dbe4f4 !important; background: #ffffff !important; color: #3867f4 !important; font-size: 11px !important; font-weight: 900 !important; text-transform: uppercase !important; box-shadow: 0 6px 16px rgba(56, 103, 244, .08) !important; }
.ksc-result-portlet__badge strong { width: 24px !important; height: 24px !important; border-radius: 50% !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; background: #3867f4 !important; color: #ffffff !important; font-size: 13px !important; }

.ksc-action-map-svg { padding: 18px !important; margin-bottom: 18px !important; border: 1px solid #e3eaf6 !important; border-radius: 16px !important; background: linear-gradient(180deg, #ffffff 0%, #fafcff 100%) !important; box-shadow: 0 10px 24px rgba(24, 28, 50, .035) !important; }
.ksc-action-map-svg svg { display: block !important; width: 100% !important; height: auto !important; }

.ksc-action-map-legend-wrap { padding: 16px 18px !important; margin-bottom: 22px !important; border: 1px solid #e7edf7 !important; border-radius: 14px !important; background: #fbfcff !important; }
.ksc-action-map-legend { margin-bottom: 12px !important; }
.ksc-action-map-legend:last-child { margin-bottom: 0 !important; }
.ksc-action-map-legend__title { color: #071332 !important; font-size: 12px !important; font-weight: 900 !important; margin-bottom: 8px !important; }
.ksc-action-map-legend__item { display: inline-flex !important; align-items: center !important; gap: 7px !important; min-height: 26px !important; padding: 0 10px !important; margin: 0 6px 6px 0 !important; border-radius: 999px !important; border: 1px solid #dfe7f6 !important; background: #ffffff !important; color: #071332 !important; font-size: 11px !important; font-weight: 800 !important; }

.ksc-action-legend-dot { width: 8px !important; height: 8px !important; border-radius: 50% !important; display: inline-block !important; flex: 0 0 auto !important; }

.ksc-result-sub-card { height: 100% !important; border: 1px solid #e0e7f4 !important; border-radius: 16px !important; overflow: hidden !important; background: #ffffff !important; box-shadow: 0 10px 24px rgba(24, 28, 50, .035) !important; }
.ksc-result-sub-card__head { padding: 16px 20px !important; border-bottom: 1px solid #e3eaf6 !important; background: linear-gradient(135deg, #fbfcff 0%, #ffffff 70%, #f3f7ff 100%) !important; }
.ksc-result-sub-card__head h4 { margin: 0 !important; color: #071332 !important; font-size: 14px !important; font-weight: 900 !important; }
.ksc-result-sub-card__body { padding: 20px !important; }

.ksc-action-donut-wrap { position: relative !important; margin-bottom: 18px !important; text-align: center !important; }
.ksc-action-summary-list { border-top: 1px solid #eef2f8 !important; }
.ksc-action-summary-row { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important; padding: 10px 0 !important; border-bottom: 1px solid #eef2f8 !important; color: #071332 !important; font-size: 12px !important; font-weight: 800 !important; }
.ksc-action-summary-row span { display: inline-flex !important; align-items: center !important; gap: 8px !important; min-width: 0 !important; }
.ksc-action-summary-row strong { color: #06102f !important; font-size: 12px !important; font-weight: 900 !important; white-space: nowrap !important; }
.ksc-action-summary-row strong small { color: #8b96ad !important; font-size: 11px !important; font-weight: 800 !important; }

.ksc-zone-summary-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 10px !important; }
.ksc-zone-summary-grid > div { min-height: 58px !important; padding: 12px !important; border-radius: 12px !important; border: 1px solid #e3eaf6 !important; background: #fbfcff !important; display: flex !important; flex-direction: column !important; justify-content: center !important; }
.ksc-zone-summary-grid > div span { color: #7d89a3 !important; font-size: 11px !important; font-weight: 800 !important; line-height: 1.2 !important; }
.ksc-zone-summary-grid > div strong { margin-top: 5px !important; color: #071332 !important; font-size: 18px !important; font-weight: 900 !important; }
.ksc-zone-summary-grid > div.active { border-color: #c8d7ff !important; background: linear-gradient(135deg, #f4f7ff 0%, #ffffff 100%) !important; box-shadow: 0 8px 18px rgba(56, 103, 244, .08) !important; }
.ksc-zone-summary-grid > div.active strong { color: #3867f4 !important; }

.ksc-result-portlet__empty { padding: 46px 24px !important; text-align: center !important; background: linear-gradient(180deg, #ffffff 0%, #fafcff 100%) !important; }
.ksc-result-portlet__empty-icon { width: 52px !important; height: 52px !important; margin: 0 auto 14px !important; border-radius: 16px !important; display: flex !important; align-items: center !important; justify-content: center !important; background: #eef3ff !important; color: #3867f4 !important; font-size: 20px !important; }
.ksc-result-portlet__empty h4 { margin: 0 0 8px !important; color: #071332 !important; font-size: 18px !important; font-weight: 900 !important; }
.ksc-result-portlet__empty p { margin: 0 !important; color: #8490aa !important; font-size: 13px !important; font-weight: 700 !important; }

@media (max-width: 991px) { .ksc-zone-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 575px) { .ksc-result-portlet__head { display: block !important; padding: 22px !important; } .ksc-result-portlet__meta { margin-top: 16px !important; } .ksc-result-portlet__body { padding: 22px !important; } .ksc-zone-summary-grid { grid-template-columns: 1fr !important; } }