/*
  SATRIA Irigasi UI Refresh Layer
  Tujuan: memperhalus tampilan dan branding tanpa mengubah ID, class, API, workflow, atau logic yang sudah ada.
  File ini sengaja dibuat additive dan dimuat paling akhir.
*/
:root {
  --satria-primary: #005a71;
  --satria-primary-2: #0e7490;
  --satria-secondary: #1f6c3a;
  --satria-secondary-2: #16a34a;
  --satria-bg: #f7f9fb;
  --satria-surface: #ffffff;
  --satria-surface-soft: #f2f7fa;
  --satria-border: #dbe5ea;
  --satria-text: #0f172a;
  --satria-muted: #475569;
  --satria-warning: #f59e0b;
  --satria-danger: #dc2626;
  --satria-info: #2563eb;
  --satria-radius-sm: 10px;
  --satria-radius: 16px;
  --satria-radius-lg: 22px;
  --satria-shadow: 0 14px 36px rgba(15, 23, 42, .08);
  --satria-shadow-soft: 0 8px 24px rgba(15, 23, 42, .06);
  --satria-font: "Plus Jakarta Sans", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

html { scroll-behavior: smooth; }
body, input, select, textarea, button { font-family: var(--satria-font) !important; }
body:not(.satria-landing-body) {
  color: var(--satria-text) !important;
  background:
    radial-gradient(circle at 12% -10%, rgba(0, 90, 113, .10), transparent 28%),
    radial-gradient(circle at 90% 5%, rgba(31, 108, 58, .08), transparent 26%),
    linear-gradient(180deg, #fbfdff 0%, var(--satria-bg) 100%) !important;
}

/* Brand refinement */
.logo, .v12-brand, .public-report-brand, .login-card-header, .gis-brand {
  letter-spacing: -.01em;
}
.logo-icon, .login-icon, .brand-icon, .v12-logo, .gis-brand-mark {
  background: linear-gradient(135deg, var(--satria-primary), var(--satria-primary-2)) !important;
  box-shadow: 0 12px 26px rgba(0, 90, 113, .22) !important;
}
.logo-text strong, .login-brand h1, .header h1, .v12-title h1, .title h1 {
  letter-spacing: -.035em !important;
}

/* Sidebar: official, clean, less noisy */
.sidebar, .v12-sidebar {
  background: linear-gradient(180deg, #003b4a 0%, #005a71 46%, #074d40 100%) !important;
  border-right: 1px solid rgba(255, 255, 255, .10) !important;
  box-shadow: 14px 0 34px rgba(15, 23, 42, .14) !important;
}
.sidebar .logo, .v12-brand {
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 20px !important;
}
.menu li a, .v12-nav a {
  border-radius: 14px !important;
  font-weight: 650 !important;
}
.menu li a:hover, .v12-nav a:hover {
  background: rgba(255,255,255,.12) !important;
  transform: translateX(2px);
}
.menu li a.active, .menu li a.active-hydromap, .menu li a.current,
.v12-nav a.active {
  background: rgba(255,255,255,.18) !important;
  color: #fff !important;
  box-shadow: inset 3px 0 0 rgba(166, 244, 181, .95), 0 10px 22px rgba(0,0,0,.10) !important;
}
.submenu {
  background: rgba(0, 0, 0, .08) !important;
  border-radius: 16px !important;
  padding: 8px !important;
}

/* Topbar, cards, panels */
.gis-topbar, .topbar, .v12-topbar, .header, .dashboard-header-modern, .executive-header,
.card, .panel, .section, .stat-card, .summary-card, .report-card, .content-card,
.table-container, .modal-content, .login-container, .public-report-card, .field-card,
.satria-panel, .satria-card {
  background: rgba(255, 255, 255, .94) !important;
  border: 1px solid var(--satria-border) !important;
  border-radius: var(--satria-radius-lg) !important;
  box-shadow: var(--satria-shadow-soft) !important;
  backdrop-filter: blur(16px) saturate(1.15);
  -webkit-backdrop-filter: blur(16px) saturate(1.15);
}
.card:hover, .panel:hover, .stat-card:hover, .summary-card:hover, .report-card:hover,
.content-card:hover, .satria-card:hover {
  border-color: rgba(0, 90, 113, .22) !important;
  box-shadow: var(--satria-shadow) !important;
}

/* Typography */
h1, h2, h3, h4 {
  color: var(--satria-text);
  letter-spacing: -.03em;
}
p, small, .muted, .subtitle, .v12-muted, .title p, .header p {
  color: var(--satria-muted) !important;
}

/* Buttons */
button, .btn, .v12-btn, input[type="submit"], .login-container button {
  border-radius: 12px !important;
  font-weight: 750 !important;
  letter-spacing: -.01em;
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease, background .16s ease !important;
}
button:hover, .btn:hover, .v12-btn:hover, input[type="submit"]:hover, .login-container button:hover {
  transform: translateY(-1px);
}
button:active, .btn:active, .v12-btn:active, input[type="submit"]:active {
  transform: translateY(0) scale(.99);
}
.btn, .btn-primary, button.primary, .v12-btn.primary, .login-container button,
.public-hero-actions a:first-child {
  background: var(--satria-primary) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 0 10px 22px rgba(0, 90, 113, .18) !important;
}
.btn:hover, .btn-primary:hover, button.primary:hover, .v12-btn.primary:hover, .login-container button:hover {
  filter: brightness(1.04);
}
.btn-success, .success, .v12-btn.success, button.success {
  background: var(--satria-secondary) !important;
  color: #fff !important;
}
.btn-warning, .warning, button.warning {
  background: var(--satria-warning) !important;
  color: #2b1d00 !important;
}
.btn-danger, .danger, button.danger {
  background: var(--satria-danger) !important;
  color: #fff !important;
}
.btn.secondary, .btn-secondary, .v12-btn:not(.primary):not(.success), button.secondary {
  background: #fff !important;
  color: var(--satria-text) !important;
  border: 1px solid var(--satria-border) !important;
  box-shadow: var(--satria-shadow-soft) !important;
}

/* Forms */
input, select, textarea, .input-wrap, .v12-form input, .v12-form select, .v12-form textarea {
  border-radius: 12px !important;
  border: 1px solid var(--satria-border) !important;
  background: #fff !important;
  color: var(--satria-text) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.8), 0 4px 12px rgba(15,23,42,.035) !important;
}
input:focus, select:focus, textarea:focus {
  border-color: rgba(0, 90, 113, .58) !important;
  box-shadow: 0 0 0 4px rgba(0, 90, 113, .12) !important;
  outline: none !important;
}
.field-label, label {
  color: #334155;
  font-weight: 700;
}

/* Tables */
table { width: 100%; }
thead th {
  background: #edf6f8 !important;
  color: #164e63 !important;
  font-size: 12px !important;
  text-transform: uppercase;
  letter-spacing: .04em;
}
tbody tr {
  transition: background .16s ease, transform .16s ease;
}
tbody tr:hover {
  background: rgba(0, 90, 113, .045) !important;
}
.badge, .status-badge, .priority-badge, .chip, .status-chip {
  border-radius: 999px !important;
  font-weight: 800 !important;
  letter-spacing: -.01em;
}

/* Map UI */
#map, .map-container, .leaflet-container {
  border-radius: var(--satria-radius-lg) !important;
  border: 1px solid var(--satria-border) !important;
  box-shadow: var(--satria-shadow-soft) !important;
}
.leaflet-control, .leaflet-popup-content-wrapper, .leaflet-popup-tip {
  border-radius: 14px !important;
  box-shadow: var(--satria-shadow-soft) !important;
}

/* Login page SATRIA treatment */
.login-page {
  background:
    radial-gradient(circle at 10% 10%, rgba(0, 90, 113, .18), transparent 32%),
    radial-gradient(circle at 90% 0%, rgba(31, 108, 58, .16), transparent 30%),
    linear-gradient(135deg, #003b4a 0%, #005a71 48%, #0f3f34 100%) !important;
}
.login-shell {
  border-radius: 28px !important;
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow: 0 24px 64px rgba(0, 0, 0, .22) !important;
}
.login-brand {
  background:
    linear-gradient(160deg, rgba(0, 43, 54, .92), rgba(0, 90, 113, .78)),
    radial-gradient(circle at 85% 16%, rgba(166, 244, 181, .20), transparent 36%) !important;
}
.brand-badge {
  background: rgba(166, 244, 181, .14) !important;
  border-color: rgba(166, 244, 181, .24) !important;
}
.login-helper {
  border-radius: 16px !important;
}

/* Responsive polish */
@media (max-width: 900px) {
  .login-shell { grid-template-columns: 1fr !important; }
  .login-brand, .login-container { padding: 28px !important; }
  .sidebar, .v12-sidebar { box-shadow: 10px 0 26px rgba(15,23,42,.16) !important; }
  .header, .gis-topbar, .topbar, .v12-topbar { border-radius: 18px !important; }
  button, .btn, .v12-btn { min-height: 42px; }
}

/* Landing page */
.satria-landing-body {
  margin: 0;
  min-height: 100vh;
  font-family: var(--satria-font);
  color: var(--satria-text);
  background: var(--satria-bg);
}
.satria-landing-body * { box-sizing: border-box; }
.satria-landing-nav {
  position: sticky;
  top: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px clamp(16px, 4vw, 44px);
  background: rgba(247, 249, 251, .92);
  border-bottom: 1px solid var(--satria-border);
  backdrop-filter: blur(18px);
}
.satria-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: var(--satria-text);
}
.satria-brand-mark {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: var(--satria-primary);
  color: #fff;
  box-shadow: 0 12px 24px rgba(0,90,113,.20);
}
.satria-brand strong { display: block; font-size: 18px; letter-spacing: -.03em; color: var(--satria-primary); }
.satria-brand span { display: block; font-size: 11px; color: var(--satria-muted); margin-top: 2px; }
.satria-nav-links { display: flex; align-items: center; gap: 20px; }
.satria-nav-links a {
  color: var(--satria-muted);
  text-decoration: none;
  font-size: 14px;
  font-weight: 700;
}
.satria-nav-links a:hover { color: var(--satria-primary); }
.satria-nav-actions { display: flex; align-items: center; gap: 10px; }
.satria-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 16px;
  border-radius: 12px;
  font-weight: 800;
  text-decoration: none;
  border: 1px solid var(--satria-border);
  color: var(--satria-text);
  background: #fff;
  box-shadow: var(--satria-shadow-soft);
}
.satria-btn.primary { background: var(--satria-primary); color: #fff; border-color: var(--satria-primary); }
.satria-btn.green { background: var(--satria-secondary); color: #fff; border-color: var(--satria-secondary); }
.satria-btn:hover { transform: translateY(-1px); }
.satria-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(46px, 8vw, 96px) clamp(16px, 4vw, 44px) clamp(32px, 6vw, 72px);
  background:
    radial-gradient(circle at 78% 18%, rgba(0, 90, 113, .12), transparent 34%),
    radial-gradient(circle at 14% 16%, rgba(31, 108, 58, .10), transparent 30%),
    linear-gradient(180deg, #fbfdff, #f2f7fa);
}
.satria-hero-grid, .satria-section-inner {
  width: min(1180px, 100%);
  margin: 0 auto;
}
.satria-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(320px, .96fr);
  gap: 40px;
  align-items: center;
}
.satria-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: #e0f2fe;
  color: #075985;
  border: 1px solid #bae6fd;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.satria-hero h1 {
  margin: 18px 0 10px;
  font-size: clamp(42px, 6.5vw, 76px);
  line-height: .96;
  color: var(--satria-primary);
  letter-spacing: -.065em;
}
.satria-hero h2 {
  margin: 0;
  font-size: clamp(22px, 3vw, 34px);
  line-height: 1.2;
  color: #164e63;
}
.satria-hero p {
  max-width: 680px;
  margin: 18px 0 0;
  color: var(--satria-muted);
  font-size: 17px;
  line-height: 1.75;
}
.satria-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.satria-dashboard-preview {
  border-radius: 28px;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--satria-border);
  box-shadow: 0 24px 66px rgba(15,23,42,.14);
}
.satria-preview-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.satria-preview-dots { display:flex; gap:6px; }
.satria-preview-dots span { width:10px; height:10px; border-radius:999px; background:#cbd5e1; }
.satria-preview-dots span:nth-child(1){ background:#ef4444; } .satria-preview-dots span:nth-child(2){ background:#f59e0b; } .satria-preview-dots span:nth-child(3){ background:#22c55e; }
.satria-mini-map {
  min-height: 290px;
  border-radius: 22px;
  overflow: hidden;
  position: relative;
  background:
    linear-gradient(90deg, rgba(0,90,113,.08) 1px, transparent 1px),
    linear-gradient(rgba(0,90,113,.08) 1px, transparent 1px),
    linear-gradient(135deg, #e0f2fe, #dcfce7);
  background-size: 34px 34px, 34px 34px, auto;
}
.satria-canal-line { position:absolute; left:11%; right:10%; top:50%; height:8px; border-radius:999px; background: var(--satria-primary); transform: rotate(-11deg); box-shadow: 0 12px 28px rgba(0,90,113,.25); }
.satria-canal-line::before, .satria-canal-line::after { content:""; position:absolute; height:6px; width:42%; border-radius:999px; background: var(--satria-secondary); transform-origin:left center; }
.satria-canal-line::before { left:35%; top:-38px; transform: rotate(38deg); }
.satria-canal-line::after { left:18%; top:39px; transform: rotate(-28deg); }
.satria-map-pin { position:absolute; width:30px; height:30px; border-radius:999px; display:grid; place-items:center; background:#fff; border:6px solid var(--satria-primary); box-shadow:0 10px 24px rgba(0,0,0,.14); }
.satria-map-pin.p1 { left:23%; top:38%; } .satria-map-pin.p2 { left:61%; top:44%; border-color: var(--satria-warning); } .satria-map-pin.p3 { left:76%; top:62%; border-color: var(--satria-secondary); }
.satria-floating-kpi {
  position:absolute;
  left:18px;
  bottom:18px;
  display:grid;
  gap:10px;
  width:min(290px, calc(100% - 36px));
}
.satria-floating-kpi div {
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  background:rgba(255,255,255,.92);
  border:1px solid var(--satria-border);
  border-radius:16px;
  box-shadow:var(--satria-shadow-soft);
  font-size:13px;
  color: var(--satria-muted);
}
.satria-floating-kpi strong { color: var(--satria-text); }
.satria-section { padding: clamp(38px, 6vw, 76px) clamp(16px, 4vw, 44px); }
.satria-section.alt { background:#fff; }
.satria-section-head { max-width: 740px; margin-bottom: 26px; }
.satria-section-head h2 { margin: 0 0 10px; font-size: clamp(28px, 4vw, 42px); color: var(--satria-text); }
.satria-section-head p { margin: 0; font-size: 16px; line-height:1.7; color: var(--satria-muted); }
.satria-grid { display:grid; gap:16px; }
.satria-grid.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.satria-grid.cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.satria-feature-card, .satria-benefit-card, .satria-step, .satria-preview-card {
  padding: 22px;
  border-radius: 22px;
  background: #fff;
  border:1px solid var(--satria-border);
  box-shadow: var(--satria-shadow-soft);
}
.satria-feature-icon {
  width: 46px;
  height: 46px;
  border-radius: 15px;
  display:grid;
  place-items:center;
  background: #e0f2fe;
  color: var(--satria-primary);
  margin-bottom: 14px;
  font-size: 20px;
}
.satria-feature-card h3, .satria-benefit-card h3, .satria-step h3, .satria-preview-card h3 { margin: 0 0 8px; font-size: 17px; }
.satria-feature-card p, .satria-benefit-card p, .satria-step p, .satria-preview-card p { margin:0; color:var(--satria-muted); line-height:1.65; font-size:14px; }
.satria-workflow { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:14px; counter-reset: step; }
.satria-step { position:relative; }
.satria-step::before { counter-increment: step; content: counter(step); width:34px; height:34px; border-radius:999px; display:grid; place-items:center; background:var(--satria-primary); color:#fff; font-weight:900; margin-bottom:14px; }
.satria-footer { padding: 28px clamp(16px, 4vw, 44px); background:#003b4a; color:#e6fffb; }
.satria-footer-inner { width:min(1180px,100%); margin:0 auto; display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap; align-items:center; }
.satria-footer p { color:#bde8e1 !important; margin:4px 0 0; }
.satria-mobile-menu { display:none; }
@media (max-width: 980px) {
  .satria-nav-links { display:none; }
  .satria-hero-grid { grid-template-columns: 1fr; }
  .satria-grid.cols-3, .satria-grid.cols-4, .satria-workflow { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .satria-nav-actions .satria-btn:not(.primary) { display:none; }
  .satria-brand span { display:none; }
  .satria-hero { padding-top: 42px; }
  .satria-grid.cols-3, .satria-grid.cols-4, .satria-workflow { grid-template-columns: 1fr; }
  .satria-dashboard-preview { padding: 12px; border-radius: 22px; }
  .satria-mini-map { min-height: 230px; }
}


/* Google Stitch implementation additions - additive only */
:root {
  --satria-primary: #166534;
  --satria-primary-2: #0E7490;
  --satria-secondary: #0E7490;
  --satria-secondary-2: #16A34A;
  --satria-bg: #F8FAFC;
  --satria-surface: #FFFFFF;
  --satria-surface-soft: #F1F5F9;
  --satria-border: #E2E8F0;
  --satria-text: #0F172A;
  --satria-muted: #475569;
}
.satria-section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  padding: 7px 11px;
  border-radius: 999px;
  background: #DCFCE7;
  color: #166534;
  border: 1px solid #BBF7D0;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.satria-grid.cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.satria-problem-card,
.satria-role-card,
.satria-report-preview,
.satria-data-preview > div {
  padding: 22px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid var(--satria-border);
  box-shadow: var(--satria-shadow-soft);
}
.satria-problem-card h3,
.satria-role-card h3 { margin: 12px 0 8px; font-size: 17px; }
.satria-problem-card p,
.satria-role-card p { margin: 0; color: var(--satria-muted); line-height: 1.65; font-size: 14px; }
.satria-card-icon,
.satria-role-card > i {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #E0F2FE, #DCFCE7);
  color: var(--satria-primary);
  font-size: 20px;
}
.satria-solution-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  gap: 30px;
  align-items: center;
}
.satria-solution-layout h2 { margin: 0 0 12px; font-size: clamp(28px, 4vw, 42px); }
.satria-solution-layout p { color: var(--satria-muted); line-height: 1.75; }
.satria-check-list,
.satria-doc-list { list-style: none; padding: 0; margin: 18px 0 0; display: grid; gap: 10px; }
.satria-check-list li,
.satria-doc-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 15px;
  background: #fff;
  border: 1px solid var(--satria-border);
  color: var(--satria-muted);
  line-height: 1.45;
}
.satria-check-list i { color: var(--satria-secondary-2); margin-top: 2px; }
.satria-doc-list { grid-template-columns: repeat(2, minmax(0,1fr)); }
.satria-doc-list li::before {
  content: "";
  width: 9px;
  height: 9px;
  flex: 0 0 9px;
  margin-top: 6px;
  border-radius: 999px;
  background: var(--satria-primary-2);
}
.satria-mini-stats,
.satria-data-preview {
  display: grid;
  gap: 14px;
}
.satria-mini-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 16px 0; }
.satria-mini-stats div {
  padding: 16px;
  border-radius: 18px;
  background: linear-gradient(135deg, #F8FAFC, #EFF6FF);
  border: 1px solid var(--satria-border);
}
.satria-mini-stats span,
.satria-data-preview span { display: block; color: var(--satria-muted); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.satria-mini-stats strong,
.satria-data-preview strong { display:block; margin-top: 6px; color: var(--satria-text); font-size: 26px; letter-spacing: -.04em; }
.satria-preview-list { display: grid; gap: 10px; margin-top: 12px; }
.satria-preview-list > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 16px;
  background: #F8FAFC;
  border: 1px solid var(--satria-border);
  color: var(--satria-muted);
  font-size: 14px;
}
.satria-preview-list strong { color: var(--satria-text); }
.satria-status-pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 5px 10px;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.satria-status-pill.info { background: #E0F2FE; color: #075985; }
.satria-status-pill.success { background: #DCFCE7; color: #166534; }
.satria-status-dot { width: 10px; height: 10px; border-radius: 999px; flex: 0 0 10px; }
.satria-status-dot.danger { background: #DC2626; }
.satria-status-dot.warning { background: #F59E0B; }
.satria-status-dot.success { background: #16A34A; }
.satria-mock-label {
  margin: 12px 0 0 !important;
  color: var(--satria-muted) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}
.satria-data-preview { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.satria-data-preview > div { padding: 18px; }
.satria-role-card { text-align: left; }
.satria-report-line {
  height: 12px;
  border-radius: 999px;
  background: #CBD5E1;
  margin: 14px 0;
  width: 72%;
}
.satria-report-line.wide { width: 100%; height: 16px; background: #94A3B8; }
.satria-report-line.short { width: 48%; }
.satria-access-section { background: linear-gradient(180deg, #F8FAFC, #ECFDF5); }
.satria-footer-links { display: flex; gap: 14px; flex-wrap: wrap; }
.satria-footer-links a { color: #D1FAE5; text-decoration: none; font-weight: 700; font-size: 13px; }
.satria-footer-links a:hover { color: #fff; }
.satria-footer-note { color: #BDE8E1; font-size: 13px; }

/* More explicit badge palette for report/ticket/asset/data-quality pages. No logic changes. */
.badge.p1, .priority-badge.p1, .priority-p1, [data-priority="P1"], [data-priority="Darurat"] { background:#FEE2E2 !important; color:#991B1B !important; }
.badge.p2, .priority-badge.p2, .priority-p2, [data-priority="P2"], [data-priority="Tinggi"] { background:#FFEDD5 !important; color:#9A3412 !important; }
.badge.p3, .priority-badge.p3, .priority-p3, [data-priority="P3"], [data-priority="Sedang"] { background:#FEF3C7 !important; color:#92400E !important; }
.badge.p4, .priority-badge.p4, .priority-p4, [data-priority="P4"], [data-priority="Rendah"] { background:#DBEAFE !important; color:#1D4ED8 !important; }
.status-selesai, .condition-baik, [data-status="Selesai"], [data-condition="Baik"] { background:#DCFCE7 !important; color:#166534 !important; }
.status-ditolak, .condition-rusak-berat, [data-status="Ditolak"], [data-condition="Rusak Berat"] { background:#FEE2E2 !important; color:#991B1B !important; }
.status-dalam-penanganan, .condition-rusak-sedang, [data-status="Dalam Penanganan"], [data-condition="Rusak Sedang"] { background:#FFEDD5 !important; color:#9A3412 !important; }
.status-diverifikasi, [data-status="Diverifikasi"] { background:#DBEAFE !important; color:#1D4ED8 !important; }
.status-masuk, [data-status="Masuk"] { background:#F1F5F9 !important; color:#475569 !important; }
.condition-rusak-ringan, [data-condition="Rusak Ringan"] { background:#FEF3C7 !important; color:#92400E !important; }
.empty, .empty-state, .no-data {
  border: 1px dashed var(--satria-border) !important;
  border-radius: 18px !important;
  background: #F8FAFC !important;
}

@media (max-width: 1180px) {
  .satria-data-preview { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .satria-grid.cols-5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  .satria-solution-layout { grid-template-columns: 1fr; }
  .satria-grid.cols-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .satria-data-preview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .satria-doc-list,
  .satria-mini-stats,
  .satria-grid.cols-5,
  .satria-data-preview { grid-template-columns: 1fr; }
  .satria-footer-inner { align-items: flex-start; }
}
