.snt-app {
  --snt-bg: #07110d;
  --snt-bg-2: #0d1a14;
  --snt-surface: #101d17;
  --snt-surface-2: #14231c;
  --snt-line: rgba(157, 176, 139, .22);
  --snt-line-strong: rgba(189, 214, 160, .42);
  --snt-text: #eef5df;
  --snt-muted: #9fb09a;
  --snt-green: #9fce63;
  --snt-red: #e05c4f;
  --snt-amber: #d6a84f;
  --snt-blue: #75a7a0;
  color: var(--snt-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  width: min(1580px, calc(100vw - 24px));
  margin: 12px auto 24px;
}

html:has(body.sentinela-standalone) { background: #07110d; }

body.sentinela-standalone {
  margin: 0;
  min-height: 100vh;
  overflow-x: hidden;
  background:
    linear-gradient(rgba(159, 206, 99, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(159, 206, 99, .035) 1px, transparent 1px),
    linear-gradient(180deg, #050907 0%, #0b1611 52%, #07110d 100%);
  background-size: 28px 28px, 28px 28px, auto;
}

.snt-app * { box-sizing: border-box; letter-spacing: 0; }

.snt-shell,
.snt-content,
.snt-list,
.snt-country-stack,
.snt-period-stack,
.snt-overview-list,
.snt-period-overview,
.snt-section.active {
  display: grid;
  gap: 12px;
}

.snt-top,
.snt-panel,
.snt-country,
.snt-country-summary,
.snt-snapshot-row,
.snt-period-summary,
.snt-card {
  border: 1px solid var(--snt-line);
  background: rgba(16, 29, 23, .94);
  box-shadow: 0 18px 40px rgba(0, 0, 0, .24);
}

.snt-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 82px;
  border-radius: 8px;
  padding: 13px 14px;
}

.snt-brand,
.snt-statusline,
.snt-badges,
.snt-actions,
.snt-icon-row,
.snt-snapshot-chips,
.snt-snapshot-head,
.snt-card-top,
.snt-report {
  display: flex;
  align-items: center;
  gap: 9px;
}

.snt-brand { min-width: 0; }

.snt-mark {
  width: 54px;
  height: 54px;
  flex: 0 0 auto;
  overflow: hidden;
  border: 1px solid var(--snt-line-strong);
  border-radius: 8px;
  background: #020503;
}

.snt-mark img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.snt-kicker {
  color: var(--snt-green);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.snt-title {
  margin: 0;
  color: #f6ffe8;
  font-size: 23px;
  line-height: 1.12;
}

.snt-sub,
.snt-small {
  color: var(--snt-muted);
  font-size: 12px;
  line-height: 1.45;
}

.snt-statusline {
  justify-content: flex-end;
  flex-wrap: wrap;
}

.snt-grid {
  display: grid;
  grid-template-columns: 286px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.snt-grid.no-sidebar { grid-template-columns: 1fr; }
.snt-panel,
.snt-country,
.snt-country-summary,
.snt-snapshot-row,
.snt-period-summary,
.snt-card {
  border-radius: 8px;
  overflow: hidden;
}

.snt-panel-head,
.snt-country-head,
.snt-period-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 11px 12px;
  border-bottom: 1px solid var(--snt-line);
  background: rgba(20, 35, 28, .96);
}

.snt-panel-head h2,
.snt-country-head h3,
.snt-country-summary h3,
.snt-snapshot-row h3,
.snt-card h3 {
  margin: 0;
  color: #f6ffe8;
  font-size: 15px;
  line-height: 1.25;
}

.snt-list,
.snt-period-stack,
.snt-section { padding: 12px; }

.snt-game {
  width: 100%;
  border: 1px solid var(--snt-line);
  border-radius: 8px;
  background: #0c1712;
  color: var(--snt-text);
  padding: 11px;
  text-align: left;
  cursor: pointer;
}

.snt-game.active {
  border-color: var(--snt-green);
  box-shadow: inset 3px 0 0 var(--snt-green);
}

.snt-game-title { font-size: 14px; font-weight: 900; }
.snt-game-meta { margin-top: 3px; color: var(--snt-muted); font-size: 11px; }

.snt-mission {
  display: grid;
  grid-template-columns: minmax(180px, .8fr) minmax(0, 1fr);
  gap: 10px;
  padding: 12px;
  border-bottom: 1px solid var(--snt-line);
  background: #0b1510;
}

.snt-mission span {
  display: block;
  color: var(--snt-muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.snt-mission strong {
  display: block;
  color: #f6ffe8;
  font-size: 21px;
  line-height: 1.12;
}

.snt-mission p {
  margin: 0;
  color: var(--snt-muted);
  font-size: 13px;
  line-height: 1.45;
}

.snt-mission.danger { box-shadow: inset 4px 0 0 var(--snt-red); }
.snt-mission.ok { box-shadow: inset 4px 0 0 var(--snt-green); }

.snt-kpis,
.snt-snapshot-facts,
.snt-general-grid,
.snt-summary-metrics,
.snt-comparison {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  padding: 12px;
}

.snt-kpi,
.snt-fact,
.snt-general-card,
.snt-summary-metrics span,
.snt-compare-card,
.snt-judge {
  min-width: 0;
  border: 1px solid var(--snt-line);
  border-radius: 8px;
  background: rgba(7, 17, 13, .72);
  padding: 10px;
}

.snt-kpi b,
.snt-general-card b {
  display: block;
  color: #f6ffe8;
  font-size: 23px;
  line-height: 1.05;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.snt-kpi span,
.snt-general-card span,
.snt-fact-main span,
.snt-fact-meta span,
.snt-compare-card span {
  display: block;
  margin-top: 5px;
  color: var(--snt-muted);
  font-size: 12px;
  overflow-wrap: anywhere;
}

.snt-kpi.hot { border-color: rgba(224, 92, 79, .7); }
.snt-kpi.clear { border-color: rgba(159, 206, 99, .58); }

.snt-pill,
.snt-badge,
.snt-btn,
.snt-input,
.snt-tab,
.snt-icon-item {
  min-height: 34px;
  border: 1px solid var(--snt-line-strong);
  border-radius: 8px;
  background: #0a130f;
  color: var(--snt-text);
  font: inherit;
  font-size: 12px;
}

.snt-pill,
.snt-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 10px;
  font-weight: 900;
  white-space: nowrap;
}

.snt-pill.ok,
.snt-badge.dismissed,
.snt-badge.ok {
  color: #d8f9b7;
  border-color: rgba(159, 206, 99, .55);
}

.snt-pill.warn,
.snt-badge.pending,
.snt-badge.medium {
  color: #ffe0a3;
  border-color: rgba(214, 168, 79, .6);
}

.snt-pill.danger,
.snt-badge.high,
.snt-badge.confirmed {
  color: #ffc4bd;
  border-color: rgba(224, 92, 79, .66);
}

.snt-badge.intel {
  color: #cfebe7;
  border-color: rgba(117, 167, 160, .62);
}

.snt-input {
  width: min(260px, 100%);
  padding: 8px 10px;
}

.snt-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  cursor: pointer;
  font-weight: 900;
  text-decoration: none;
}

.snt-btn.blue,
.snt-btn.green {
  color: #06100b;
  border-color: var(--snt-green);
  background: var(--snt-green);
}

.snt-btn.red {
  color: #fff;
  border-color: var(--snt-red);
  background: #9d332b;
}

.snt-btn.gray,
.snt-btn.ghost {
  color: var(--snt-text);
  background: #0a130f;
}

.snt-tabs {
  display: flex;
  gap: 7px;
  padding: 9px;
  border-bottom: 1px solid var(--snt-line);
  background: #0b1510;
  overflow-x: auto;
  scrollbar-width: thin;
}

.snt-tab {
  flex: 0 0 auto;
  cursor: pointer;
  padding: 8px 12px;
  font-weight: 900;
}

.snt-tab.active {
  color: #06100b;
  border-color: var(--snt-green);
  background: var(--snt-green);
}

.snt-section { display: none; }
.snt-section.active { display: grid; }

.snt-card,
.snt-snapshot-row,
.snt-country-summary { padding: 12px; }

.snt-target.high { box-shadow: inset 4px 0 0 var(--snt-red); }

.snt-card p,
.snt-country-summary p {
  margin: 9px 0 0;
  color: var(--snt-muted);
  font-size: 13px;
  line-height: 1.5;
}

.snt-card-top,
.snt-snapshot-head,
.snt-report {
  align-items: flex-start;
  justify-content: space-between;
}

.snt-comparison {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 0;
  margin-top: 11px;
}

.snt-compare-card.expected { border-color: rgba(117, 167, 160, .62); }
.snt-compare-card.actual { border-color: rgba(214, 168, 79, .62); }

.snt-compare-card strong,
.snt-judge b {
  display: block;
  color: #f6ffe8;
  margin-bottom: 5px;
}

.snt-diff-note {
  margin-top: 8px;
  color: #ffc4bd;
  font-size: 12px;
  font-weight: 900;
}

.snt-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin-top: 9px;
}

.snt-detail-row {
  display: grid;
  grid-template-columns: minmax(110px, .45fr) minmax(0, 1fr);
  gap: 6px;
  align-items: start;
  border: 1px solid var(--snt-line);
  border-radius: 8px;
  padding: 8px;
  background: rgba(8, 17, 13, .75);
}

.snt-detail-row b {
  color: #f6ffe8;
  font-size: 11px;
}

.snt-detail-row em {
  color: var(--snt-muted);
  font-style: normal;
  font-size: 11px;
  overflow-wrap: anywhere;
}

.snt-judge { margin-top: 9px; }
.snt-judge span,
.snt-judge small {
  display: block;
  color: var(--snt-muted);
  font-size: 11px;
}

.snt-country-summary {
  display: grid;
  grid-template-columns: minmax(210px, .8fr) minmax(0, 2fr);
  gap: 10px;
}

.snt-summary-metrics {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  padding: 0;
}

.snt-period-overview { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.snt-period-head small { display: block; margin-top: 2px; color: var(--snt-muted); }
.snt-snap-grid { display: grid; gap: 8px; }

.snt-fact-main {
  display: flex;
  align-items: center;
  gap: 7px;
}

.snt-fact-main img,
.snt-icon-item img {
  width: 22px;
  height: 22px;
  object-fit: contain;
  flex: 0 0 auto;
}

.snt-fact-main b {
  color: #f6ffe8;
  font-size: 12px;
}

.snt-snapshot-chips,
.snt-icon-row { flex-wrap: wrap; }
.snt-snapshot-chips { margin-top: 10px; }

.snt-icon-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  padding: 6px 8px;
  overflow-wrap: anywhere;
}

.snt-subsection-title {
  color: var(--snt-green);
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}

.snt-empty,
.snt-loading {
  color: var(--snt-muted);
  padding: 30px 14px;
  text-align: center;
}

.snt-empty strong {
  display: block;
  color: #f6ffe8;
  margin-bottom: 5px;
}

.snt-error {
  border: 1px solid rgba(224, 92, 79, .66);
  color: #ffc4bd;
  border-radius: 8px;
  padding: 14px;
  background: #21100f;
}

.danger { color: #ffc4bd; }
.ok { color: #d8f9b7; }

@media (max-width: 1180px) {
  .snt-grid,
  .snt-grid.no-sidebar { grid-template-columns: 1fr; }

  [data-region="sidebar"] .snt-list {
    display: flex;
    overflow-x: auto;
    padding-bottom: 10px;
  }

  .snt-game { min-width: 245px; }

  .snt-kpis,
  .snt-snapshot-facts,
  .snt-general-grid,
  .snt-summary-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .snt-country-summary { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .snt-app {
    width: min(100%, calc(100vw - 10px));
    margin: 6px auto 16px;
  }

  .snt-shell { gap: 8px; }

  .snt-top {
    display: grid;
    min-height: 0;
    padding: 10px;
  }

  .snt-brand { align-items: flex-start; }
  .snt-mark { width: 46px; height: 46px; }
  .snt-title { font-size: 19px; }

  .snt-statusline {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: stretch;
  }

  .snt-statusline .snt-btn,
  .snt-statusline .snt-pill {
    width: 100%;
    justify-content: center;
    white-space: normal;
    text-align: center;
  }

  .snt-mission { grid-template-columns: 1fr; }
  .snt-mission strong { font-size: 18px; }

  .snt-kpis,
  .snt-snapshot-facts,
  .snt-general-grid,
  .snt-summary-metrics,
  .snt-comparison,
  .snt-detail-grid {
    grid-template-columns: 1fr;
  }

  .snt-detail-row { grid-template-columns: 1fr; }

  .snt-kpis { padding: 9px; }

  .snt-kpi {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }

  .snt-kpi b {
    max-width: 55%;
    font-size: 20px;
  }

  .snt-panel-head,
  .snt-country-head,
  .snt-snapshot-head,
  .snt-card-top,
  .snt-report {
    display: grid;
    justify-content: stretch;
  }

  .snt-actions,
  .snt-input,
  .snt-actions .snt-btn { width: 100%; }

  .snt-tabs {
    position: sticky;
    top: 0;
    z-index: 5;
  }

  .snt-tab { min-width: 92px; }
}
