/*
  INSPEKTA Irigasi v42 — Stitch UI/UX Integration
  Prinsip patch:
  - Tidak mengubah id, name, data-tab, data-panel, form action, atau file JS inti.
  - Hanya menimpa presentasi visual agar feel lebih cepat, ringan, smooth, dan mendekati Street View.
*/
:root{
  --st-bg:#f5f7fb;
  --st-surface:#ffffff;
  --st-surface-2:#f0f4f8;
  --st-ink:#102033;
  --st-muted:#627083;
  --st-muted-2:#8a96a6;
  --st-line:rgba(20,37,58,.12);
  --st-line-strong:rgba(20,37,58,.18);
  --st-navy:#0b1f35;
  --st-navy-2:#102b47;
  --st-blue:#1677d2;
  --st-blue-2:#e8f3ff;
  --st-green:#15825f;
  --st-amber:#b7791f;
  --st-red:#b42318;
  --st-radius-xl:28px;
  --st-radius-lg:20px;
  --st-radius-md:14px;
  --st-shadow:0 18px 48px rgba(16,32,51,.12);
  --st-shadow-soft:0 8px 24px rgba(16,32,51,.10);
  --st-shadow-float:0 16px 40px rgba(4,18,34,.22);
  --st-fast:cubic-bezier(.2,.8,.2,1);
}

html{background:var(--st-bg);}
body{font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; text-rendering:optimizeLegibility;}
body:not(.viewer-body){background:var(--st-bg)!important;color:var(--st-ink)!important;}
body.apple-bg,
.apple-bg{
  background:
    radial-gradient(circle at 8% -10%,rgba(22,119,210,.10),transparent 34%),
    radial-gradient(circle at 92% 0%,rgba(21,130,95,.10),transparent 30%),
    linear-gradient(180deg,#f8fafc 0%,#f2f6fa 55%,#eef3f7 100%)!important;
}
.noise{opacity:.025!important;background-size:30px 30px!important;}

.glass,
.glass-soft,
.glass-panel{
  border:1px solid var(--st-line)!important;
  background:rgba(255,255,255,.88)!important;
  color:var(--st-ink)!important;
  box-shadow:var(--st-shadow-soft)!important;
  backdrop-filter:blur(18px) saturate(140%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(140%)!important;
}
.glass-soft{background:rgba(255,255,255,.74)!important;box-shadow:none!important;}
.logo-badge{
  background:linear-gradient(135deg,#0f4c81,#1677d2 58%,#15936f)!important;
  color:white!important;
  border:0!important;
  border-radius:14px!important;
  box-shadow:0 10px 24px rgba(22,119,210,.22)!important;
}
.logo-wrap strong{color:inherit!important;font-weight:800!important;letter-spacing:-.035em!important;}
.logo-wrap p{color:var(--st-muted)!important;font-weight:520!important;}
.eyebrow{color:var(--st-blue)!important;letter-spacing:.11em!important;font-weight:800!important;}
.eyebrow.subtle{color:var(--st-muted)!important;}
.eyebrow:before{box-shadow:none!important;width:7px!important;height:7px!important;}

.btn,
.icon-btn,
.chip-btn,
.nav-btn,
button{
  transition:transform .15s var(--st-fast), background .15s var(--st-fast), border-color .15s var(--st-fast), box-shadow .15s var(--st-fast), opacity .15s var(--st-fast)!important;
}
.btn,
.icon-btn,
.chip-btn,
.nav-btn{
  min-height:40px;
  border-radius:999px!important;
  border:1px solid var(--st-line)!important;
  background:rgba(255,255,255,.86)!important;
  color:var(--st-ink)!important;
  box-shadow:none!important;
  font-weight:750!important;
}
.btn:hover,
.icon-btn:hover,
.chip-btn:hover,
.nav-btn:hover{transform:translateY(-1px)!important;background:#fff!important;border-color:rgba(22,119,210,.24)!important;box-shadow:0 8px 22px rgba(16,32,51,.10)!important;}
.btn:active,
.icon-btn:active,
.chip-btn:active,
.nav-btn:active{transform:translateY(0) scale(.985)!important;}
.btn-primary,
.icon-btn.solid,
.chip-btn.active,
.nav-btn.active,
.street-primary-action{
  background:linear-gradient(180deg,#1b84e8,#1677d2)!important;
  color:#fff!important;
  border-color:#1677d2!important;
  box-shadow:0 12px 26px rgba(22,119,210,.22)!important;
}
.btn-secondary{background:#f4f7fb!important;color:#17324d!important;}
.btn-ghost{background:transparent!important;color:var(--st-muted)!important;}
input,
textarea,
select{
  background:#fff!important;
  border:1px solid var(--st-line)!important;
  color:var(--st-ink)!important;
  border-radius:14px!important;
  outline:none!important;
}
input:focus,
textarea:focus,
select:focus{border-color:rgba(22,119,210,.55)!important;box-shadow:0 0 0 4px rgba(22,119,210,.10)!important;}
select option{background:#fff!important;color:var(--st-ink)!important;}
.app-watermark{display:none!important;}

/* Landing — clean GovTech, bukan visual dekoratif berat */
.landing-body .site-nav{
  position:sticky!important;top:18px!important;z-index:20!important;
  max-width:1180px!important;margin:18px auto 0!important;
  border-radius:22px!important;padding:12px 14px!important;
}
.landing-body .site-nav nav{gap:6px!important;}
.landing-body .site-nav nav a{color:var(--st-muted)!important;font-weight:720!important;padding:10px 12px!important;border-radius:999px!important;}
.landing-body .site-nav nav a:hover{background:#f0f6fd!important;color:var(--st-blue)!important;}
.landing-body .nav-pill{background:#f2f6fb!important;color:var(--st-ink)!important;border:1px solid var(--st-line)!important;}
.landing-body .nav-pill.solid{background:var(--st-blue)!important;color:#fff!important;border-color:var(--st-blue)!important;}
.landing-main{position:relative!important;z-index:1!important;}
.hero-section,
.inspekta-hero{
  background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(235,244,255,.82))!important;
  border:1px solid var(--st-line)!important;
  box-shadow:var(--st-shadow)!important;
}
.hero-copy h1{color:var(--st-ink)!important;letter-spacing:-.06em!important;}
.hero-copy .lead,
.hero-copy p{color:var(--st-muted)!important;}
.hero-card,
.feature-card,
.arch-card,
.upt-card,
.workflow-card,
.landing-card,
.stat-tile,
.proof-card,
.route-proof a{
  background:#fff!important;color:var(--st-ink)!important;border:1px solid var(--st-line)!important;border-radius:22px!important;box-shadow:var(--st-shadow-soft)!important;
}
.feature-card:hover,
.route-proof a:hover{transform:translateY(-2px)!important;border-color:rgba(22,119,210,.24)!important;}
.feature-card p,
.arch-card p,
.upt-card p,
.workflow-card p,
.stat-tile span{color:var(--st-muted)!important;}

/* Viewer — Street View inspired: fast, smooth, low clutter */
body.viewer-body{
  background:#07111d!important;
  color:#fff!important;
  overflow:hidden!important;
  user-select:none;
}
body.viewer-body .glass-panel,
body.viewer-body .glass-soft{
  background:rgba(9,18,31,.62)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  color:#fff!important;
  box-shadow:var(--st-shadow-float)!important;
  backdrop-filter:blur(18px) saturate(150%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(150%)!important;
}
#panorama{background:#07111d!important;}
.viewer-vignette{background:linear-gradient(180deg,rgba(2,8,16,.34),transparent 28%,transparent 62%,rgba(2,8,16,.38))!important;pointer-events:none!important;}
.viewer-topbar{
  top:14px!important;left:16px!important;right:16px!important;
  height:auto!important;min-height:58px!important;
  padding:9px 10px 9px 12px!important;
  border-radius:22px!important;
  background:rgba(8,16,28,.58)!important;
}
.viewer-topbar .topbar-left{gap:10px!important;min-width:0!important;}
.viewer-topbar .round-link{
  min-height:38px!important;padding:9px 12px!important;border-radius:999px!important;
  background:rgba(255,255,255,.12)!important;color:#fff!important;border:1px solid rgba(255,255,255,.12)!important;font-weight:760!important;
}
.viewer-topbar .scene-meta{min-width:0!important;}
.viewer-topbar .scene-meta .eyebrow{display:none!important;}
.viewer-topbar h1{font-size:1rem!important;line-height:1.15!important;color:#fff!important;letter-spacing:-.025em!important;margin:0!important;max-width:42vw!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.viewer-topbar p{font-size:.78rem!important;line-height:1.2!important;color:rgba(255,255,255,.66)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:44vw!important;margin:2px 0 0!important;}
.topbar-actions{gap:7px!important;}
.topbar-actions .icon-btn{min-height:38px!important;padding:8px 12px!important;background:rgba(255,255,255,.12)!important;color:#fff!important;border-color:rgba(255,255,255,.14)!important;font-size:.82rem!important;}
.topbar-actions .icon-btn:hover{background:rgba(255,255,255,.20)!important;color:#fff!important;}
.topbar-actions .icon-btn.solid{background:#fff!important;color:#102033!important;border-color:#fff!important;}
.street-status{
  top:84px!important;left:20px!important;padding:9px 12px!important;border-radius:999px!important;
  display:flex!important;align-items:center!important;gap:8px!important;
}
.street-status strong{font-size:.82rem!important;}
.street-status small{color:rgba(255,255,255,.68)!important;font-size:.72rem!important;}
.street-status kbd{background:rgba(255,255,255,.14)!important;color:#fff!important;border-color:rgba(255,255,255,.15)!important;}
.street-location-badge{
  left:50%!important;top:84px!important;transform:translateX(-50%)!important;
  min-width:230px!important;max-width:420px!important;text-align:center!important;
  border-radius:999px!important;padding:10px 18px!important;
  background:rgba(6,13,23,.70)!important;
}
.street-location-badge span{color:rgba(255,255,255,.74)!important;font-size:.72rem!important;text-transform:uppercase!important;letter-spacing:.08em!important;}
.street-location-badge strong{color:#fff!important;font-size:.94rem!important;}
.street-location-badge small{color:rgba(255,255,255,.70)!important;}
.zoom-control{right:18px!important;top:50%!important;transform:translateY(-50%)!important;border-radius:18px!important;padding:6px!important;gap:5px!important;}
.zoom-control button{width:42px!important;height:42px!important;border-radius:14px!important;color:#fff!important;background:rgba(255,255,255,.10)!important;border:0!important;font-weight:900!important;font-size:1.15rem!important;}
.zoom-control button:hover{background:rgba(255,255,255,.20)!important;transform:none!important;}
.street-nav-overlay{pointer-events:none!important;}
.street-arrow{
  pointer-events:auto!important;
  width:auto!important;min-width:112px!important;min-height:58px!important;
  border-radius:999px!important;border:1px solid rgba(255,255,255,.18)!important;
  background:rgba(7,14,25,.58)!important;color:#fff!important;
  box-shadow:var(--st-shadow-float)!important;backdrop-filter:blur(16px) saturate(150%)!important;
}
.street-arrow span{display:grid!important;place-items:center!important;width:42px!important;height:42px!important;border-radius:999px!important;background:rgba(255,255,255,.16)!important;font-size:1.45rem!important;}
.street-arrow small{color:rgba(255,255,255,.82)!important;font-size:.75rem!important;font-weight:760!important;}
.street-arrow:hover{background:rgba(22,119,210,.80)!important;border-color:rgba(255,255,255,.28)!important;transform:translateY(-1px) scale(1.01)!important;}
.street-in-pano-nav{bottom:112px!important;}
.street-floor-arrow{
  background:rgba(7,14,25,.58)!important;color:#fff!important;border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:var(--st-shadow-float)!important;backdrop-filter:blur(16px)!important;
}
.street-floor-arrow:hover{background:rgba(22,119,210,.78)!important;}
.street-compass{right:18px!important;bottom:96px!important;border-radius:18px!important;padding:10px!important;}
.street-minimap-card,
.minimap-card{
  right:18px!important;bottom:18px!important;top:auto!important;
  width:min(360px,calc(100vw - 36px))!important;
  border-radius:22px!important;
  background:rgba(9,18,31,.68)!important;
}
.street-minimap-head,
.minimap-head{padding-bottom:10px!important;border-bottom:1px solid rgba(255,255,255,.10)!important;}
.street-minimap-head span,
.minimap-head span{color:rgba(255,255,255,.66)!important;font-size:.75rem!important;text-transform:uppercase!important;letter-spacing:.06em!important;}
.street-minimap-head strong,
.minimap-head strong{color:#fff!important;}
.street-minimap-canvas{border-radius:16px!important;background:#dce6ef!important;}
.point-card{max-height:min(560px,calc(100vh - 138px))!important;}
.di-switcher,
.point-search,
.point-filters,
.point-list{color:#102033!important;}
.point-search{min-height:40px!important;}
.point-filter{border-radius:999px!important;background:rgba(255,255,255,.86)!important;color:#102033!important;border:1px solid rgba(255,255,255,.14)!important;padding:8px 10px!important;}
.point-filter.active{background:#1677d2!important;color:#fff!important;}
.info-drawer{
  top:88px!important;right:18px!important;bottom:18px!important;border-radius:24px!important;
  background:rgba(9,18,31,.76)!important;
}
.drawer-head{border-bottom:1px solid rgba(255,255,255,.10)!important;}
.drawer-head h2{color:#fff!important;}
.drawer-body{scrollbar-width:thin;}
.detail-list,
.stat-card,
.drawer-copy{background:rgba(255,255,255,.10)!important;color:#fff!important;border-color:rgba(255,255,255,.12)!important;}
.detail-list dt{color:rgba(255,255,255,.62)!important;}
.detail-list dd{color:#fff!important;}
.viewer-bottom{
  left:50%!important;right:auto!important;bottom:18px!important;transform:translateX(-50%)!important;
  width:min(680px,calc(100vw - 390px))!important;min-width:360px!important;
  border-radius:999px!important;padding:8px!important;background:rgba(9,18,31,.66)!important;
}
.scene-rail{gap:6px!important;}
.scene-pill{border-radius:999px!important;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.10)!important;color:#fff!important;}
.scene-pill.active{background:#fff!important;color:#102033!important;}
.empty-state{border-radius:26px!important;background:rgba(9,18,31,.82)!important;color:#fff!important;}
.pnlm-container{background:#07111d!important;}
.pnlm-load-box{border-radius:18px!important;background:rgba(8,16,28,.74)!important;color:#fff!important;border:1px solid rgba(255,255,255,.16)!important;}

/* Admin — Stitch-like operational dashboard, preserving data-tabs and JS */
.admin-v6-body{background:#f4f7fb!important;color:var(--st-ink)!important;}
.admin-console-shell{grid-template-columns:280px minmax(0,1fr)!important;gap:18px!important;padding:16px!important;}
.admin-sidebar{
  position:sticky!important;top:16px!important;height:calc(100vh - 32px)!important;
  background:linear-gradient(180deg,var(--st-navy),#071626)!important;color:#fff!important;
  border:0!important;border-radius:24px!important;padding:16px!important;box-shadow:0 20px 50px rgba(7,22,38,.22)!important;overflow:auto!important;
}
.admin-sidebar .logo-wrap,
.admin-sidebar .admin-proof-card,
.admin-sidebar .admin-route-box{color:#fff!important;}
.admin-sidebar .logo-wrap p,
.admin-sidebar .admin-proof-card small{color:rgba(255,255,255,.64)!important;}
.admin-proof-card{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:18px!important;padding:14px!important;box-shadow:none!important;}
.admin-proof-card span{color:#9fc9ff!important;}
.admin-menu-list{gap:7px!important;}
.admin-menu-item{
  min-height:56px!important;border:0!important;border-radius:16px!important;background:transparent!important;color:rgba(255,255,255,.72)!important;padding:10px 12px!important;
}
.admin-menu-item b{background:rgba(255,255,255,.10)!important;color:#b8d7ff!important;border-radius:10px!important;min-width:34px!important;height:34px!important;}
.admin-menu-item span{color:inherit!important;font-size:.9rem!important;font-weight:740!important;}
.admin-menu-item small{color:rgba(255,255,255,.46)!important;font-size:.72rem!important;}
.admin-menu-item:hover{background:rgba(255,255,255,.08)!important;color:#fff!important;transform:none!important;}
.admin-menu-item.active{background:linear-gradient(90deg,#1677d2,#0f63b4)!important;color:#fff!important;box-shadow:0 12px 24px rgba(22,119,210,.26)!important;}
.admin-menu-item.active b{background:rgba(255,255,255,.18)!important;color:#fff!important;}
.admin-menu-item.active small{color:rgba(255,255,255,.75)!important;}
.admin-route-box{background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:18px!important;padding:10px!important;}
.admin-route-box a{background:rgba(255,255,255,.10)!important;color:#fff!important;border:0!important;border-radius:14px!important;}
.admin-main{gap:16px!important;}
.admin-topbar{
  background:#fff!important;border:1px solid var(--st-line)!important;border-radius:24px!important;box-shadow:var(--st-shadow-soft)!important;padding:18px 20px!important;color:var(--st-ink)!important;
}
.admin-topbar h1{color:var(--st-ink)!important;font-size:clamp(24px,2.4vw,38px)!important;letter-spacing:-.055em!important;font-weight:820!important;margin:0!important;}
.admin-topbar p{color:var(--st-muted)!important;line-height:1.45!important;}
.admin-stats{gap:10px!important;}
.admin-stats div{background:#f2f6fb!important;border:1px solid var(--st-line)!important;border-radius:18px!important;min-width:108px!important;padding:12px 14px!important;}
.admin-stats span{color:var(--st-muted)!important;font-size:.68rem!important;font-weight:760!important;letter-spacing:.05em!important;}
.admin-stats strong{color:var(--st-ink)!important;font-weight:820!important;font-size:1.35rem!important;}
.admin-workbench{grid-template-columns:minmax(360px,440px) minmax(0,1fr)!important;gap:16px!important;align-items:stretch!important;}
.admin-left,
.admin-map-panel{
  background:#fff!important;color:var(--st-ink)!important;border:1px solid var(--st-line)!important;border-radius:24px!important;box-shadow:var(--st-shadow-soft)!important;padding:18px!important;
}
.admin-left{max-height:calc(100vh - 136px)!important;overflow:auto!important;}
.admin-map-panel{min-height:calc(100vh - 136px)!important;}
.tab-head{margin-bottom:16px!important;}
.tab-head h2{font-size:clamp(22px,2vw,32px)!important;line-height:1.08!important;letter-spacing:-.045em!important;color:var(--st-ink)!important;font-weight:820!important;margin:0!important;}
.tab-head p{color:var(--st-muted)!important;font-size:.94rem!important;line-height:1.42!important;}
.quick-grid{gap:10px!important;}
.quick-card,
.admin-note-card,
.selected-box,
.upload-map-summary,
.preupload-settings-card,
.node-control-card,
.simple-item,
.qc-card,
.report-toolbar{
  background:#f7f9fc!important;color:var(--st-ink)!important;border:1px solid var(--st-line)!important;border-radius:18px!important;box-shadow:none!important;
}
.quick-card{padding:16px!important;min-height:108px!important;}
.quick-card strong,
.admin-note-card strong,
.selected-box strong,
.simple-item strong,
.list-heading{color:var(--st-ink)!important;}
.quick-card span,
.quick-card small,
.admin-note-card ol,
.selected-box small,
.simple-item span,
.simple-item small,
.inspection-summary{color:var(--st-muted)!important;}
.field-group-title{background:#edf7f3!important;color:var(--st-green)!important;border-radius:14px!important;}
.admin-form label{color:#2a3a4d!important;font-weight:720!important;font-size:.88rem!important;}
.admin-form small{color:var(--st-muted)!important;}
.admin-form input,
.admin-form select,
.admin-form textarea{padding:12px 13px!important;}
.button-row{gap:8px!important;}
.full-btn{width:100%!important;}
.map-header{border-bottom:1px solid var(--st-line)!important;padding-bottom:12px!important;margin-bottom:12px!important;}
.map-header h2{color:var(--st-ink)!important;font-weight:820!important;}
.map-header .eyebrow{color:var(--st-muted)!important;}
.map-action-row{gap:7px!important;}
.map-action-row .btn{min-height:36px!important;padding:8px 12px!important;font-size:.78rem!important;}
.map-action-row .active,
.mode-buttons .active{background:#0f243a!important;color:#fff!important;border-color:#0f243a!important;}
#adminMap,
#adminMap.leaflet-container{
  background:#e9f0f6!important;border:1px solid var(--st-line)!important;border-radius:22px!important;box-shadow:none!important;min-height:560px!important;
}
.map-selection-panel,
.mode-dock,
.map-legend{
  background:rgba(255,255,255,.92)!important;color:var(--st-ink)!important;border:1px solid var(--st-line)!important;border-radius:18px!important;box-shadow:0 12px 28px rgba(16,32,51,.12)!important;backdrop-filter:blur(14px)!important;
}
.map-selection-panel strong{color:var(--st-ink)!important;}
.map-selection-panel span,
.map-selection-panel small,
.mode-dock span,
.mode-dock p{color:var(--st-muted)!important;}
.mode-dock{grid-template-columns:1fr!important;gap:10px!important;}
.mode-buttons{gap:7px!important;}
.mode-buttons .chip-btn{min-height:34px!important;padding:7px 10px!important;font-size:.78rem!important;}
.map-legend{right:24px!important;top:82px!important;padding:10px 12px!important;}
.leaflet-control-zoom a,
.leaflet-draw-toolbar a{background:#fff!important;color:var(--st-ink)!important;border-color:var(--st-line)!important;}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip{background:#fff!important;color:var(--st-ink)!important;border:1px solid var(--st-line)!important;box-shadow:var(--st-shadow-soft)!important;}
.leaflet-popup-action{background:var(--st-blue)!important;color:#fff!important;border-radius:999px!important;}
.toast-fixed{background:#0f243a!important;color:#fff!important;border:0!important;border-radius:16px!important;box-shadow:0 14px 34px rgba(16,32,51,.22)!important;}
.status-badge{border:0!important;border-radius:999px!important;font-weight:820!important;}
.status-normal{color:var(--st-green)!important;background:#eaf8f2!important;}
.status-pantau,.status-rusak_ringan{color:var(--st-amber)!important;background:#fff5df!important;}
.status-rusak_sedang,.status-rusak_berat,.status-prioritas{color:var(--st-red)!important;background:#fff0ee!important;}

/* Login */
.auth-layout{position:relative!important;z-index:1!important;}
.auth-intro,
.auth-card{background:#fff!important;color:var(--st-ink)!important;border:1px solid var(--st-line)!important;border-radius:28px!important;box-shadow:var(--st-shadow)!important;}
.auth-intro h1,
.auth-card h2{color:var(--st-ink)!important;letter-spacing:-.045em!important;}
.auth-intro p,
.auth-card p{color:var(--st-muted)!important;}
.auth-links a{background:#f2f6fb!important;color:var(--st-ink)!important;border:1px solid var(--st-line)!important;border-radius:999px!important;}
.auth-links a:hover{background:#e8f3ff!important;color:var(--st-blue)!important;}
.auth-alert{background:#fff4e5!important;color:#8a4b08!important;border:1px solid rgba(183,121,31,.22)!important;border-radius:16px!important;}
.auth-form input{min-height:46px!important;}
.auth-form button{min-height:46px!important;background:var(--st-blue)!important;color:#fff!important;border-color:var(--st-blue)!important;}

/* Mobile — preserve function, make controls thumb-friendly */
@media(max-width:1180px){
  .admin-console-shell{grid-template-columns:1fr!important;}
  .admin-sidebar{position:relative!important;height:auto!important;}
  .admin-menu-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .admin-workbench{grid-template-columns:1fr!important;}
  .admin-left{max-height:none!important;}
  .admin-map-panel{min-height:680px!important;}
  .viewer-bottom{width:min(620px,calc(100vw - 40px))!important;}
}
@media(max-width:760px){
  .landing-body .site-nav{top:8px!important;margin:8px 10px 0!important;border-radius:18px!important;}
  .landing-body .site-nav nav{display:none!important;}
  .hero-section,.inspekta-hero{border-radius:24px!important;}
  .admin-console-shell{padding:10px!important;gap:10px!important;}
  .admin-sidebar,.admin-topbar,.admin-left,.admin-map-panel{border-radius:20px!important;}
  .admin-menu-list,.grid-2{grid-template-columns:1fr!important;}
  .admin-stats{display:grid!important;grid-template-columns:repeat(3,1fr)!important;width:100%;}
  .admin-stats div{min-width:0!important;padding:10px!important;}
  #adminMap,#adminMap.leaflet-container{min-height:520px!important;border-radius:18px!important;}
  .mode-dock{left:12px!important;right:12px!important;bottom:12px!important;}
  .map-legend{left:14px!important;right:auto!important;top:74px!important;max-width:calc(100% - 28px)!important;}

  body.viewer-body .viewer-topbar{left:10px!important;right:10px!important;top:10px!important;padding:8px!important;border-radius:18px!important;}
  .viewer-topbar .scene-meta p{display:none!important;}
  .viewer-topbar h1{font-size:.92rem!important;max-width:42vw!important;}
  .viewer-topbar .round-link{width:40px!important;height:40px!important;padding:0!important;overflow:hidden!important;font-size:0!important;}
  .viewer-topbar .round-link::before{content:"←";font-size:18px!important;}
  .topbar-actions{gap:5px!important;}
  .topbar-actions .icon-btn{min-width:40px!important;width:40px!important;height:40px!important;padding:0!important;font-size:0!important;}
  #toggleDiBtn::before{content:"DI";font-size:12px!important;}
  #startDiTourBtn::before{content:"▶";font-size:14px!important;}
  #toggleMapBtn::before{content:"⌖";font-size:16px!important;}
  #toggleDrawerBtn::before{content:"i";font-size:15px!important;font-weight:900!important;}
  #fullscreenBtn::before{content:"⛶";font-size:15px!important;}
  .topbar-actions a.icon-btn.solid{display:none!important;}
  .street-status{display:none!important;}
  .street-location-badge{top:70px!important;left:12px!important;right:12px!important;transform:none!important;min-width:0!important;width:auto!important;border-radius:18px!important;padding:9px 12px!important;text-align:left!important;}
  .zoom-control{right:12px!important;top:auto!important;bottom:168px!important;transform:none!important;}
  .zoom-control button{width:44px!important;height:44px!important;}
  .street-arrow{min-width:56px!important;width:56px!important;min-height:56px!important;padding:6px!important;}
  .street-arrow small{display:none!important;}
  .street-arrow span{width:44px!important;height:44px!important;}
  .street-arrow-left{left:12px!important;}
  .street-arrow-right{right:12px!important;}
  .street-in-pano-nav{bottom:112px!important;}
  .street-floor-arrow{min-width:76px!important;}
  .street-compass{display:none!important;}
  .street-minimap-card,.minimap-card{right:12px!important;bottom:86px!important;width:132px!important;max-height:132px!important;padding:8px!important;overflow:hidden!important;border-radius:18px!important;}
  .street-minimap-head,.minimap-head,.di-switcher,.point-search,.point-filters,.point-list,.street-minimap-legend{display:none!important;}
  .street-minimap-canvas{height:116px!important;min-height:116px!important;}
  .info-drawer{top:auto!important;left:0!important;right:0!important;bottom:0!important;height:min(72vh,560px)!important;border-radius:26px 26px 0 0!important;transform:translateY(calc(100% - 72px))!important;transition:transform .22s var(--st-fast)!important;}
  .info-drawer.open{transform:translateY(0)!important;}
  .viewer-bottom{left:12px!important;right:12px!important;bottom:12px!important;transform:none!important;width:auto!important;min-width:0!important;border-radius:18px!important;}
}

/* Viewer map safety fix: keep the existing two-map behavior intact. */
body.viewer-body .street-minimap-card{
  left:auto!important;
  right:18px!important;
  bottom:92px!important;
  top:auto!important;
  width:300px!important;
  height:228px!important;
}
body.viewer-body .minimap-card.point-card{
  left:18px!important;
  right:auto!important;
  bottom:92px!important;
  top:auto!important;
  width:324px!important;
  height:300px!important;
  max-height:min(560px,calc(100vh - 138px))!important;
}
body.viewer-body .minimap-card.point-card:not(.expanded){transform:translateX(calc(-100% + 48px))!important;}
body.viewer-body .minimap-card.point-card:hover,
body.viewer-body .minimap-card.point-card.expanded{transform:translateX(0)!important;}
@media(max-width:760px){
  body.viewer-body .street-minimap-card{display:none!important;}
  body.viewer-body .minimap-card.point-card{
    display:block!important;
    left:12px!important;
    right:auto!important;
    bottom:132px!important;
    width:calc(100vw - 24px)!important;
    max-width:360px!important;
    height:245px!important;
    max-height:245px!important;
    transform:translateX(calc(-100% + 44px))!important;
  }
  body.viewer-body .minimap-card.point-card:hover,
  body.viewer-body .minimap-card.point-card.expanded{transform:translateX(0)!important;}
  body.viewer-body .minimap-card.point-card .minimap-head{display:flex!important;}
  body.viewer-body .minimap-card.point-card .di-switcher,
  body.viewer-body .minimap-card.point-card .point-search,
  body.viewer-body .minimap-card.point-card .point-filters,
  body.viewer-body .minimap-card.point-card .point-list{display:block!important;}
}
