/* Dashboard-specific enhancements kept separate from the shared application shell. */
.situation-bar {
  display: grid;
  grid-template-columns: 1.25fr repeat(3, 1fr);
  overflow: hidden;
  margin-bottom: 14px;
  color: #dce8ed;
  background: #0b1d2d;
  border: 1px solid #18384e;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.situation-bar > div {
  display: flex;
  min-height: 62px;
  padding: 12px 18px;
  flex-direction: column;
  justify-content: center;
  border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.situation-bar > div:last-child { border-right: 0; }
.situation-bar small {
  margin-bottom: 5px;
  color: #7895a3;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.16em;
}

.situation-bar strong { font-size: 12px; letter-spacing: 0.04em; }
.situation-title {
  flex-direction: row !important;
  align-items: center;
  justify-content: flex-start !important;
  gap: 12px;
}

.situation-title div { display: flex; flex-direction: column; }
.live-pulse {
  width: 10px;
  height: 10px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #34d49b;
  box-shadow: 0 0 0 5px rgba(52, 212, 155, 0.12);
}

.readiness { color: #f0bb61; }
.bar-width-10 { width: 10%; }
.bar-width-20 { width: 20%; }
.bar-width-30 { width: 30%; }
.bar-width-40 { width: 40%; }
.bar-width-50 { width: 50%; }
.bar-width-60 { width: 60%; }
.bar-width-70 { width: 70%; }
.bar-width-80 { width: 80%; }
.bar-width-90 { width: 90%; }
.bar-width-100 { width: 100%; }

@media (max-width: 760px) {
  .situation-bar { grid-template-columns: 1fr 1fr; }
  .situation-bar > div { border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
  .situation-bar > div:nth-child(2) { border-right: 0; }
}

@media (max-width: 430px) {
  .situation-bar { grid-template-columns: 1fr; }
  .situation-bar > div { border-right: 0; }
}

/* Dashboard agenda peta utama. */
.theme-toggle { display: inline-flex; align-items: center; gap: .38rem; border: 1px solid var(--line); border-radius: 99px; padding: .42rem .68rem; background: var(--surface); color: var(--navy-700); cursor: pointer; font-size: .68rem; font-weight: 700; }
.theme-toggle:hover { border-color: var(--teal); color: var(--teal); }
[data-theme="dark"] { --navy-950: #061019; --navy-900: #0a1a25; --navy-800: #173246; --navy-700: #3a7593; --teal: #3cc5ba; --teal-light: #123e40; --amber: #f0b95b; --red: #ec8178; --ink: #e7f0f3; --muted: #9fb3bc; --line: #294654; --surface: #112632; --background: #081720; --shadow: 0 5px 20px rgba(0,0,0,.25); }
[data-theme="dark"] .topbar,[data-theme="dark"] .update-stamp,[data-theme="dark"] .primary-kpis article,[data-theme="dark"] .secondary-kpis span,[data-theme="dark"] .map-agenda-panel,[data-theme="dark"] .status-panel,[data-theme="dark"] .guide-step,[data-theme="dark"] .guide-report-focus,[data-theme="dark"] .guide-modal-head,[data-theme="dark"] .guide-modal-footer { background: var(--surface); }
[data-theme="dark"] .topbar { border-color: var(--line); }
[data-theme="dark"] .topbar-title strong,[data-theme="dark"] .topbar-title span,[data-theme="dark"] .panel-heading h2,[data-theme="dark"] .guide-copy h2,[data-theme="dark"] .guide-page-head h1 { color: var(--ink); }
[data-theme="dark"] .form-grid input,[data-theme="dark"] .form-grid select,[data-theme="dark"] .form-grid textarea,[data-theme="dark"] .filter-fields input,[data-theme="dark"] .filter-fields select { border-color: var(--line); background: #0c1d27; color: var(--ink); }
[data-theme="dark"] .narrative-grid>div,[data-theme="dark"] .narrative-grid>article,[data-theme="dark"] .compact-form,[data-theme="dark"] .daily-report-list>article,[data-theme="dark"] .daily-summary>span,[data-theme="dark"] .map-activity-item:hover { background: #0d202b; }
[data-theme="dark"] .guide-step-report { background: linear-gradient(135deg, #103538, #112632); }
[data-theme="dark"] .guide-modal-body { background: var(--background); }
[data-theme="dark"] .guide-report-focus blockquote { background: #0c1d27; color: #c2d2d8; }
[data-theme="dark"] .photo-equation b { background: #183740; }
[data-theme="dark"] .page-heading h1,[data-theme="dark"] .hero-row h1,[data-theme="dark"] .detail-hero h1,[data-theme="dark"] .command-hero h1,[data-theme="dark"] .panel h2,[data-theme="dark"] .panel h3,[data-theme="dark"] .table-link,[data-theme="dark"] .map-activity-item strong,[data-theme="dark"] .daily-dashboard-list strong,[data-theme="dark"] .daily-report-list time,[data-theme="dark"] .today-agenda>strong { color: #f3f8fa; }
[data-theme="dark"] .page-heading p,[data-theme="dark"] .hero-row p,[data-theme="dark"] .detail-hero p,[data-theme="dark"] .command-hero p,[data-theme="dark"] .panel p,[data-theme="dark"] .panel small,[data-theme="dark"] .form-help,[data-theme="dark"] .map-activity-item small,[data-theme="dark"] .map-activity-item time,[data-theme="dark"] .daily-dashboard-list small,[data-theme="dark"] .today-agenda p { color: #b9cbd2; }
[data-theme="dark"] label,[data-theme="dark"] legend,[data-theme="dark"] th,[data-theme="dark"] td,[data-theme="dark"] .guide-checklist,[data-theme="dark"] .guide-avoid,[data-theme="dark"] .guide-report-focus h3 { color: #dce8ec; }
[data-theme="dark"] th { background: #0b1b25; }
[data-theme="dark"] td,[data-theme="dark"] .map-activity-item,[data-theme="dark"] .activity-feed a { border-color: var(--line); }
[data-theme="dark"] .badge.selesai { background: #164b3a; color: #a8ebc9; }
[data-theme="dark"] .badge.berlangsung { background: #4f3b16; color: #ffe0a1; }
[data-theme="dark"] .badge.direncanakan { background: #173a5e; color: #b9d8ff; }
[data-theme="dark"] .empty-state { color: #b9cbd2; }
.brand-mark { overflow: hidden; }
.brand-mark img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.settings-logo-panel { display: grid; grid-template-columns: minmax(0, 1fr) 180px; gap: 2rem; align-items: center; }
.settings-logo-panel h2 { margin-top: 0; }
.settings-logo-panel p { color: var(--muted); font-size: .8rem; line-height: 1.6; }
.settings-logo-panel form { display: grid; gap: .8rem; }
.settings-logo-panel label { display: grid; gap: .35rem; font-size: .75rem; font-weight: 700; }
.logo-preview { min-height: 160px; display: grid; place-items: center; align-content: center; gap: .6rem; padding: 1rem; background: var(--navy-900); border-radius: 10px; color: #f2be65; }
.logo-preview img { max-width: 140px; max-height: 120px; object-fit: contain; background: #fff; }
.logo-preview span { font-size: 3rem; }
.logo-preview small { color: #c1d0d7; }
.location-select-control { display: flex; gap: .5rem; align-items: center; }
.location-select-control select { flex: 0 1 360px; max-width: 360px; }
.location-select-control .secondary-button { white-space: nowrap; }
.quick-location-dialog { width: min(620px, calc(100vw - 2rem)); border: 0; border-radius: 12px; box-shadow: 0 20px 60px rgba(3, 12, 20, .35); }
.quick-location-dialog::backdrop { background: rgba(3, 12, 20, .58); }
.quick-location-dialog form { margin: 0; }
.quick-location-dialog .quick-location-map { height: 270px; }
.guide-page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 1.3rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.guide-page-head h1 { max-width: 790px; margin: .35rem 0 .6rem; color: var(--navy-900); font: 600 clamp(1.65rem, 3vw, 2.55rem) Georgia, serif; line-height: 1.15; }
.guide-page-head p { max-width: 760px; margin: 0; color: var(--muted); line-height: 1.65; }
.guide-flow { position: relative; display: grid; gap: .35rem; max-width: 950px; margin: 0 auto; }
.guide-step { display: grid; grid-template-columns: 62px 68px minmax(0, 1fr); gap: 1rem; align-items: start; padding: 1.35rem; border: 1px solid var(--line); border-radius: 13px; background: #fff; box-shadow: var(--shadow); }
.guide-number { color: var(--teal); font-size: 1.3rem; font-weight: 800; letter-spacing: .06em; }
.guide-icon { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; background: var(--navy-900); color: #f2be65; font-size: 1.45rem; }
.guide-copy > span { color: var(--teal); font-size: .62rem; font-weight: 800; letter-spacing: .12em; }
.guide-copy h2 { margin: .18rem 0 .45rem; color: var(--navy-900); font-size: 1.18rem; }
.guide-copy > p { max-width: 720px; margin: 0; color: var(--muted); line-height: 1.65; }
.guide-connector { height: 32px; display: grid; place-items: center; color: var(--teal); font-size: 1.3rem; font-weight: 800; }
.guide-step-report { border-color: #97d8d2; background: linear-gradient(135deg, #f0fbfa, #fff); }
.guide-step-report .guide-icon { background: var(--teal); color: #fff; }
.guide-report-focus { margin-top: 1rem; padding: 1rem; border-left: 4px solid var(--teal); background: #fff; }
.guide-report-focus h3 { margin: 0 0 .8rem; color: var(--navy-900); font-size: .85rem; letter-spacing: .08em; }
.report-prompt { display: grid; gap: .2rem; color: var(--navy-700); font-size: .8rem; font-weight: 700; }
.report-prompt b { color: var(--teal); font-size: 1rem; }
.guide-help { margin: .9rem 0 .5rem !important; color: var(--navy-700) !important; font-size: .77rem; font-weight: 700; }
.guide-report-focus blockquote { margin: 0; padding: .75rem .9rem; border-radius: 7px; background: #f5f8f9; color: #586a73; font-size: .75rem; font-style: italic; line-height: 1.6; }
.photo-equation { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; margin: .75rem 0; color: var(--navy-800); font-size: .78rem; }
.photo-equation b,.photo-equation strong { padding: .45rem .6rem; border-radius: 6px; background: #eef5f5; }
.photo-equation strong { background: var(--navy-900); color: #fff; }
.photo-equation i { color: var(--teal); font-size: 1.1rem; font-style: normal; font-weight: 800; }
.guide-avoid { display: flex; gap: .45rem; flex-wrap: wrap; align-items: center; margin-top: .75rem; color: var(--muted); font-size: .68rem; }
.guide-avoid em { padding: .25rem .45rem; border-radius: 99px; background: #fee4e2; color: #a1322b; font-style: normal; }
.guide-step-check { border-color: var(--navy-700); }
.guide-checklist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem .8rem; margin: .75rem 0; color: var(--navy-700); font-size: .76rem; }
.guide-save { display: inline-block; padding: .55rem .75rem; border-radius: 6px; background: var(--teal); color: #fff; font-size: .76rem; letter-spacing: .07em; }
.guide-modal { width: min(980px, calc(100vw - 2rem)); max-height: min(88vh, 850px); padding: 0; border: 0; border-radius: 13px; box-shadow: 0 20px 60px rgba(3, 12, 20, .4); }
.guide-modal::backdrop { background: rgba(3, 12, 20, .6); }
.guide-modal-head,.guide-modal-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; background: #fff; }
.guide-modal-head { position: sticky; top: 0; border-bottom: 1px solid var(--line); z-index: 1; }
.guide-modal-head h2 { margin: .15rem 0 0; color: var(--navy-900); font-size: 1.05rem; }
.guide-modal-body { overflow: auto; max-height: calc(min(88vh, 850px) - 130px); padding: 1rem 1.25rem; background: var(--background); }
.guide-modal-footer { border-top: 1px solid var(--line); }
.guide-flow.is-compact { gap: .15rem; }
.guide-flow.is-compact .guide-step { grid-template-columns: 40px 45px minmax(0, 1fr); gap: .65rem; padding: .8rem; box-shadow: none; }
.guide-flow.is-compact .guide-number { font-size: .92rem; }
.guide-flow.is-compact .guide-icon { width: 38px; height: 38px; font-size: 1rem; }
.guide-flow.is-compact .guide-copy h2 { font-size: .93rem; }
.guide-flow.is-compact .guide-copy > p { font-size: .7rem; }
.guide-flow.is-compact .guide-connector { height: 20px; font-size: .9rem; }
.guide-flow.is-compact .guide-report-focus { margin-top: .55rem; padding: .7rem; }
.guide-flow.is-compact .guide-report-focus blockquote,.guide-flow.is-compact .guide-avoid { display: none; }
.guide-flow.is-compact .guide-checklist { grid-template-columns: 1fr 1fr; font-size: .64rem; }
.main-content > .secondary-kpis { grid-template-columns: repeat(4, 1fr); }
.documentation-dashboard-card { margin-bottom: 1rem; }
.daily-dashboard-list { display: grid; }
.daily-dashboard-list a { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: .6rem; padding: .65rem 0; border-bottom: 1px solid var(--line); }
.daily-dashboard-list time { color: var(--teal); font-size: .68rem; font-weight: 800; }
.daily-dashboard-list strong,.daily-dashboard-list small { display: block; }
.daily-dashboard-list strong { font-size: .75rem; color: var(--navy-900); }
.daily-dashboard-list small { margin-top: .2rem; color: var(--muted); font-size: .64rem; }
.daily-summary { display: flex; gap: .65rem; flex-wrap: wrap; margin: .7rem 0; }
.daily-summary > span { display: grid; gap: .2rem; padding: .65rem .8rem; background: #f4f7f8; border-radius: 7px; color: var(--muted); font-size: .65rem; }
.daily-summary strong { color: var(--navy-800); font-size: .76rem; }
.daily-report-list { display: grid; gap: .75rem; }
.daily-report-list > article { border-left: 3px solid var(--teal); padding: .85rem 1rem; background: #f7f9fa; }
.daily-report-list header { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .7rem; color: var(--muted); font-size: .7rem; }
.daily-report-list time { color: var(--navy-900); font-weight: 800; }
.daily-report-list h3 { margin: .55rem 0 .2rem; font-size: .77rem; }
.daily-report-list p { margin: 0; color: var(--muted); font-size: .74rem; line-height: 1.6; white-space: pre-line; }
.daily-report-list small { display: block; margin-top: .65rem; color: var(--navy-700); font-size: .68rem; }
.daily-photo-links { display: flex; gap: .4rem; flex-wrap: wrap; margin-top: .7rem; }
.daily-photo-links button { border: 0; padding: .35rem .5rem; border-radius: 5px; background: var(--teal-light); color: var(--navy-700); cursor: pointer; font-size: .65rem; }
.formal-daily-report { margin: .75rem 0; padding: .8rem; border: 1px solid var(--line); }
.formal-daily-report h3 { margin: 0 0 .45rem; font-size: .8rem; }
.formal-daily-report p { margin: .35rem 0; line-height: 1.65; white-space: pre-line; }
.dashboard-command-hero { margin-bottom: .7rem; padding-bottom: .7rem; }
.dashboard-command-hero h1 { font-size: clamp(1.2rem, 2.15vw, 1.8rem); line-height: 1.2; }
.dashboard-command-hero p { font-size: .68rem; }
.dashboard-map-focus {
  grid-template-columns: minmax(0, 2.05fr) minmax(330px, .95fr);
  align-items: stretch;
}
.dashboard-map-column { display: grid; gap: 1rem; min-width: 0; }

.dashboard-main-map { height: 560px; }
.operation-map-panel { display: flex; flex-direction: column; }
.operation-map-panel .operational-map { flex: 1; }
.map-status-legend { display: flex; flex-wrap: wrap; gap: .45rem .8rem; margin: -.25rem 0 .85rem; color: var(--muted); font-size: .68rem; }
.map-status-legend span { display: inline-flex; align-items: center; gap: .3rem; }
.map-status-legend i,.agenda-marker { width: 10px; height: 10px; flex: 0 0 auto; border-radius: 50%; background: #15a39a; }
.map-status-legend .hari-ini,.agenda-marker.hari-ini { background: #d8584f; box-shadow: 0 0 0 3px rgba(216, 88, 79, .13); }
.map-status-legend .berlangsung,.agenda-marker.berlangsung { background: #15a39a; }
.map-status-legend .akan-datang,.agenda-marker.akan-datang { background: #365f99; }
.map-status-legend .selesai,.agenda-marker.selesai { background: #73848e; }
.map-status-legend .terlewat,.agenda-marker.terlewat { background: #e9a23b; }
.operational-map .map-marker-pulse { animation: map-marker-pulse 1.8s ease-out infinite; pointer-events: none; transform-box: fill-box; transform-origin: center; }
.operational-map .map-marker-core { cursor: pointer; }
.map-marker-tooltip { max-width: 300px; border: 0; border-radius: 8px; box-shadow: 0 8px 22px rgba(7, 19, 31, .22); white-space: normal; }
.map-marker-tooltip:before { border-top-color: #fff; }
.map-marker-tooltip .map-popup { min-width: 0; max-width: 276px; overflow-wrap: anywhere; word-break: break-word; }
.map-marker-tooltip .map-popup span,.map-marker-tooltip .map-popup small { white-space: normal; }
@keyframes map-marker-pulse { 0% { opacity: .85; stroke-width: 2; transform: scale(.75); } 70% { opacity: 0; stroke-width: 1; transform: scale(1.75); } 100% { opacity: 0; stroke-width: 1; transform: scale(1.75); } }
@media (prefers-reduced-motion: reduce) { .operational-map .map-marker-pulse { animation: none; opacity: .45; transform: none; } }

.dashboard-map-side { display: grid; min-width: 0; }
.map-agenda-panel { display: flex; min-height: 0; flex-direction: column; }
.agenda-count { color: var(--muted); font-size: .67rem; white-space: nowrap; }
.map-activity-list { display: grid; min-height: 0; overflow: auto; border-top: 1px solid var(--line); }
.map-activity-item { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .55rem; align-items: start; padding: .68rem 0; border-bottom: 1px solid var(--line); }
.map-activity-item:hover strong,.map-agenda-more:hover { color: var(--teal); }
.agenda-marker { margin-top: .35rem; }
.map-activity-item span { display: grid; min-width: 0; gap: .13rem; }
.map-activity-item strong { overflow: hidden; color: var(--navy-900); font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }
.map-activity-item small,.map-activity-item time { overflow: hidden; color: var(--muted); font-size: .62rem; text-overflow: ellipsis; white-space: nowrap; }
.timeline-badge { align-self: center; padding: .25rem .38rem; border-radius: 99px; background: #edf2f4; color: #52636d; font-size: .56rem; text-align: center; white-space: nowrap; }
.timeline-badge.hari-ini { background: #fee4e2; color: #a1322b; }
.timeline-badge.berlangsung { background: #e1f5ed; color: #16734f; }
.timeline-badge.akan-datang { background: #e8effb; color: #365f99; }
.timeline-badge.selesai { background: #edf1f2; color: #52636d; }
.timeline-badge.terlewat { background: #fff2d8; color: #96620d; }
.map-agenda-more { margin-top: .75rem; color: var(--teal); font-size: .72rem; font-weight: 700; }

.dashboard-map-side .status-panel { padding-top: 1rem; }
.dashboard-map-side .status-panel .panel-heading { margin-bottom: .2rem; }
.status-overview { display: grid; grid-template-columns: 116px minmax(0, 1fr); gap: .8rem; align-items: center; }
.dashboard-map-side .progress-donut { width: 108px; height: 108px; margin: .35rem auto; }
.dashboard-map-side .progress-donut:before { width: 78px; height: 78px; }
.dashboard-map-side .progress-donut strong { font-size: 1.25rem; }
.dashboard-map-side .status-breakdown { gap: .35rem; }
.dashboard-map-side .status-breakdown > div { padding: .38rem .45rem; font-size: .66rem; }
.today-agenda { margin-top: .8rem; padding-top: .75rem; border-top: 1px solid var(--line); }
.today-agenda > strong { color: var(--navy-900); font-size: .72rem; }
.today-agenda > p { margin: .4rem 0 0; color: var(--muted); font-size: .66rem; }
.today-agenda > div { display: grid; margin-top: .4rem; }
.today-agenda a { display: flex; gap: .45rem; align-items: flex-start; padding: .35rem 0; color: var(--navy-800); font-size: .68rem; }
.today-agenda a i { width: 7px; height: 7px; flex: 0 0 auto; margin-top: .25rem; border-radius: 50%; background: #d8584f; }
.today-agenda a span,.today-agenda a small { display: block; }
.today-agenda a small { margin-top: .1rem; color: var(--muted); font-size: .6rem; }
.activity-type-panel { margin-bottom: 1rem; }
.activity-type-panel .ranking-bars { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2rem; }
.active-pasis-panel { margin-bottom: 1rem; }
.active-pasis-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: .65rem; }
.active-pasis-list a { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .8rem .9rem; border: 1px solid var(--line); border-radius: 8px; background: #f7f9fa; }
.active-pasis-list a:hover { border-color: var(--teal); background: var(--teal-light); }
.active-pasis-list span,.active-pasis-list strong,.active-pasis-list small { display: block; }
.active-pasis-list span { min-width: 0; }
.active-pasis-list strong { overflow: hidden; color: var(--navy-900); font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.active-pasis-list span small { margin-top: .2rem; overflow: hidden; color: var(--muted); font-size: .64rem; text-overflow: ellipsis; white-space: nowrap; }
.active-pasis-list b { display: grid; flex: 0 0 auto; place-items: center; min-width: 48px; padding: .38rem .45rem; border-radius: 7px; background: var(--navy-900); color: #f2be65; font-size: 1rem; line-height: 1; }
.active-pasis-list b small { margin-top: .16rem; color: #c1d0d7; font-size: .55rem; font-weight: 700; }
.primary-kpis-compact { grid-template-columns: repeat(3, 1fr); }
.sipongi-promo-card { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; margin-bottom: 1rem; }
.sipongi-promo-copy { display: flex; align-items: flex-start; gap: .8rem; min-width: 0; }
.sipongi-promo-icon { width: 38px; height: 38px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 9px; background: var(--teal-light); color: var(--teal); font-size: 1.2rem; }
.sipongi-promo-card h2 { margin: .3rem 0; color: var(--navy-900); font-size: 1.1rem; }
.sipongi-promo-card p,.sipongi-promo-card small { display: block; margin: .35rem 0 0; color: var(--muted); font-size: .78rem; line-height: 1.55; }
.sipongi-promo-card small { color: var(--teal); font-weight: 700; }
.sipongi-promo-card .primary-button { flex: 0 0 auto; white-space: nowrap; }
.sipongi-map-panel { overflow: hidden; }
.sipongi-source { margin: .3rem 0 0; color: var(--teal); font-size: .75rem; font-weight: 700; }
.sipongi-map-frame { display: block; width: 100%; min-height: 560px; height: 78vh; max-height: 880px; border: 1px solid var(--line); border-radius: 8px; background: #f4f7f8; }
.sipongi-fallback { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; padding: .85rem 1rem; border-radius: 8px; background: #f7f9fa; }
.sipongi-fallback p { margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.55; }
.session-create { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.session-create > summary,.manage-list details > summary { cursor: pointer; color: var(--teal); font-weight: 700; }
.session-form { margin-top: .9rem; }
.participant-picker { display: grid; gap: .6rem; padding: .8rem; border: 1px solid var(--line); border-radius: 8px; background: #f8fafb; }
.participant-selected { display: flex; flex-wrap: wrap; gap: .4rem; }
.participant-chip { display: inline-flex; align-items: center; gap: .35rem; max-width: 100%; padding: .3rem .42rem; border-radius: 999px; background: var(--teal-light); color: var(--navy-900); font-size: .72rem; }
.participant-chip span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.participant-chip small { color: var(--muted); }
.participant-chip button { width: 1.25rem; height: 1.25rem; border: 0; border-radius: 50%; background: transparent; color: var(--navy-800); cursor: pointer; font-size: 1rem; line-height: 1; }
.participant-results { display: grid; max-height: 190px; overflow: auto; border-radius: 6px; }
.participant-results button { padding: .45rem .55rem; border: 1px solid var(--line); background: #fff; color: var(--navy-900); cursor: pointer; text-align: left; font: inherit; font-size: .72rem; }
.participant-results button:hover { background: var(--teal-light); }

@media (max-width: 1100px) {
  .dashboard-map-focus { grid-template-columns: minmax(0, 1.5fr) minmax(290px, .9fr); }
  .dashboard-main-map { height: 500px; }
}

@media (max-width: 760px) {
  .dashboard-map-focus { grid-template-columns: 1fr; }
  .dashboard-main-map { height: 400px; }
  .dashboard-map-side { grid-template-rows: auto; }
  .map-activity-list { max-height: 360px; }
  .activity-type-panel .ranking-bars { grid-template-columns: 1fr; }
  .active-pasis-list { grid-template-columns: 1fr; }
  .sipongi-promo-card,.sipongi-fallback { align-items: flex-start; flex-direction: column; }
  .sipongi-map-frame { min-height: 480px; height: 72vh; }
  .settings-logo-panel { grid-template-columns: 1fr; }
  .main-content > .secondary-kpis { grid-template-columns: repeat(2, 1fr); }
  .daily-report-list header { display: grid; gap: .3rem; }
  .location-select-control { align-items: stretch; flex-direction: column; }
  .location-select-control select { max-width: none; }
  .quick-location-dialog .quick-location-map { height: 230px; }
  .guide-page-head { align-items: flex-start; flex-direction: column; }
  .guide-step { grid-template-columns: 44px 48px minmax(0, 1fr); gap: .7rem; padding: 1rem; }
  .guide-number { font-size: 1rem; }
  .guide-icon { width: 42px; height: 42px; font-size: 1.15rem; }
  .guide-copy h2 { font-size: 1rem; }
  .guide-checklist { grid-template-columns: 1fr; }
  .guide-modal-body { padding: .8rem; }
}

@media (max-width: 430px) {
  .dashboard-main-map { height: 330px; }
  .primary-kpis-compact { grid-template-columns: 1fr; }
  .status-overview { grid-template-columns: 1fr; }
  .dashboard-map-side .progress-donut { margin: .2rem auto; }
}
