:root {
  --orange: #18b6d9;
  --orange-dark: #4f46e5;
  --charcoal: #17324d;
  --charcoal-dark: #071426;
  --ink: #10253a;
  --muted: #60758a;
  --line: #dce7ef;
  --surface: #ffffff;
  --background: #f3f8fb;
  --success: #16a66a;
  font-family: "Segoe UI", Arial, sans-serif;
  color: var(--ink);
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
img { max-width: 100%; }
.eyebrow { color: var(--orange-dark); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow.light { color: #e9fffa; }
.primary-button { border: 0; border-radius: 8px; background: var(--orange); color: white; font-weight: 750; padding: 11px 18px; }
.primary-button:hover { background: var(--orange-dark); }
.wide-button { width: 100%; }

.login-page {
  background: linear-gradient(120deg, var(--charcoal-dark) 0 48%, #eef8fb 48% 100%);
  display: grid;
  min-height: 100vh;
  place-items: center;
  padding: 30px;
}
.login-shell { display: grid; grid-template-columns: 1.1fr .9fr; width: min(1080px, 100%); min-height: 620px; background: white; box-shadow: 0 28px 80px rgba(0,0,0,.2); }
.login-brand { align-items: flex-end; background: var(--charcoal-dark); color: white; display: flex; flex-direction: column; justify-content: space-between; padding: 58px; position: relative; overflow: hidden; }
.login-brand::before { background: linear-gradient(135deg, rgba(22,199,132,.35), rgba(24,182,217,.08)); border: 1px solid rgba(24,182,217,.32); border-radius: 50%; content: ""; height: 520px; left: -250px; position: absolute; top: 170px; width: 520px; }
.login-brand::after { background: linear-gradient(135deg, var(--orange), var(--orange-dark)); border-radius: 50%; content: ""; height: 380px; opacity: .92; position: absolute; right: -210px; top: -170px; width: 380px; }
.login-brand img { align-self: flex-start; filter: drop-shadow(0 14px 28px rgba(0,0,0,.28)); position: relative; width: 142px; z-index: 1; }
.login-brand h1 { font-size: clamp(44px, 7vw, 84px); line-height: .95; margin: 10px 0 24px; }
.login-brand p { color: #c9ced0; font-size: 18px; line-height: 1.7; max-width: 510px; }
.login-card { align-self: center; padding: 60px; }
.login-card h2 { font-size: 34px; margin: 28px 0 8px; }
.login-card > p { color: var(--muted); margin-bottom: 34px; }
.official-mark { border-left: 5px solid var(--orange); color: var(--charcoal); font-size: 13px; font-weight: 800; letter-spacing: .1em; padding-left: 12px; text-transform: uppercase; }
.login-card form { display: grid; gap: 20px; }
.login-card label, .app-dialog label, .filter-group label { color: #414b50; display: grid; font-size: 13px; font-weight: 700; gap: 8px; }
input, select, textarea { background: white; border: 1px solid #cfd4d6; border-radius: 7px; color: var(--ink); min-width: 0; padding: 11px 12px; }
input:focus, select:focus, textarea:focus { border-color: var(--orange); box-shadow: 0 0 0 3px rgba(24,182,217,.16); outline: none; }
.password-field { display: flex; }
.password-field input { border-radius: 7px 0 0 7px; flex: 1; }
.password-field button { background: #edf0f1; border: 1px solid #cfd4d6; border-left: 0; border-radius: 0 7px 7px 0; color: var(--charcoal); font-weight: 700; padding: 0 13px; }
.form-error { color: #b42318 !important; font-size: 13px; margin: 0 !important; min-height: 19px; }
.login-card > small { color: #8a9296; display: block; margin-top: 25px; text-align: center; }
.apk-download-link { border: 1px solid var(--line); border-radius: 7px; color: var(--charcoal); display: block; font-size: 12px; font-weight: 800; margin-top: 16px; padding: 11px; text-align: center; text-decoration: none; }
.privacy-link { color: var(--orange-dark); display: block; font-size: 12px; font-weight: 800; margin-top: 13px; text-align: center; text-decoration: none; }

.privacy-page { background: #eef8fb; min-height: 100vh; padding: 32px; }
.privacy-shell { margin: 0 auto; max-width: 980px; }
.privacy-hero { align-items: center; background: linear-gradient(120deg, var(--charcoal-dark), var(--charcoal)); border-radius: 18px; color: white; display: flex; gap: 24px; margin-bottom: 18px; padding: 28px; }
.privacy-hero img { background: var(--charcoal-dark); border: 1px solid rgba(24,182,217,.32); border-radius: 18px; height: 96px; padding: 9px; width: 96px; }
.privacy-hero h1 { font-size: clamp(30px, 5vw, 48px); margin: 6px 0; }
.privacy-hero p { color: #cfe2eb; margin: 0; }
.privacy-card { background: white; border: 1px solid var(--line); border-left: 5px solid var(--orange); border-radius: 12px; box-shadow: 0 12px 30px rgba(7,20,38,.06); margin: 14px 0; padding: 24px; }
.privacy-card h2 { margin: 0 0 12px; }
.privacy-card p, .privacy-card li { color: #42586d; line-height: 1.7; }
.privacy-card a { color: var(--orange-dark); font-weight: 800; }

.dashboard-page { background: var(--background); display: flex; min-height: 100vh; overflow-x: hidden; }
.sidebar { background: linear-gradient(180deg, #071426, #0b2136); color: white; display: flex; flex-direction: column; flex: 0 0 270px; height: 100vh; padding: 24px 18px; position: sticky; top: 0; z-index: 1000; }
.sidebar-brand { align-items: center; border-bottom: 1px solid rgba(255,255,255,.12); display: flex; gap: 14px; padding: 4px 7px 25px; }
.sidebar-brand img { background: #071426; border: 1px solid rgba(24,182,217,.32); border-radius: 12px; object-fit: contain; padding: 6px; width: 74px; }
.sidebar-brand strong, .sidebar-brand span { display: block; }
.sidebar-brand strong { font-size: 20px; }
.sidebar-brand span { color: #aeb6ba; font-size: 11px; margin-top: 3px; }
.side-nav { display: grid; flex: 1; gap: 5px; margin-top: 28px; min-height: 0; overflow-y: auto; padding-right: 4px; scrollbar-width: none; -ms-overflow-style: none; }
.side-nav::-webkit-scrollbar { display: none; height: 0; width: 0; }
.nav-item { align-items: center; background: transparent; border: 0; border-left: 3px solid transparent; border-radius: 4px; color: #c9ced0; display: flex; gap: 14px; padding: 13px 12px; text-align: left; }
.side-nav a.nav-item { text-decoration: none; }
.nav-item span { color: #7e898f; font-size: 10px; font-weight: 800; }
.nav-item:hover, .nav-item.active { background: rgba(255,255,255,.08); border-left-color: var(--orange); color: white; }
.sidebar-user { align-items: center; border-top: 1px solid rgba(255,255,255,.12); display: grid; gap: 9px; grid-template-columns: 38px 1fr auto; margin-top: auto; padding: 20px 7px 4px; }
.sidebar-user strong, .sidebar-user span { display: block; font-size: 12px; }
.sidebar-user span { color: #9fa9ad; font-size: 10px; margin-top: 3px; text-transform: capitalize; }
.sidebar-user button { background: transparent; border: 0; color: #c9ced0; font-size: 11px; }
.avatar { background: var(--orange); border-radius: 50%; display: grid; font-size: 12px; font-weight: 800; height: 38px; place-items: center; width: 38px; }
.main-content { flex: 1; min-width: 0; padding: 0 38px 40px; }
.topbar { align-items: center; background: linear-gradient(90deg, var(--charcoal-dark), var(--charcoal)); border-bottom: 0; border-radius: 0 0 16px 16px; box-shadow: 0 12px 28px rgba(7,20,38,.12); color: white; display: flex; justify-content: space-between; margin: 0 -16px; min-height: 100px; padding: 0 16px; }
.topbar h1 { font-size: 26px; margin: 5px 0 0; }
.topbar .eyebrow { color: #58e1c1; }
.topbar h1 { color: white; }
.topbar-actions { align-items: center; color: #d8e7ee; display: flex; font-size: 12px; gap: 8px; }
.topbar-download { background: #18b6d9; border-radius: 6px; color: white; margin-left: 8px; padding: 8px 11px; text-decoration: none; }
.status-dot { background: var(--success); border-radius: 50%; height: 8px; width: 8px; }
.menu-button { align-items: center; background: rgba(255,255,255,.08); border: 1px solid rgba(88,225,193,.28); border-radius: 11px; color: white; display: none; flex: 0 0 42px; flex-direction: column; gap: 4px; height: 42px; justify-content: center; margin-right: 12px; padding: 0; width: 42px; }
.menu-button span { background: white; border-radius: 999px; display: block; height: 2px; width: 19px; }
.view { display: none; padding-top: 30px; }
.view.active { display: block; }
.hero-card { align-items: center; background: linear-gradient(120deg, #4f46e5, #18b6d9 58%, #16c784); border-radius: 12px; color: white; display: flex; justify-content: space-between; min-height: 200px; overflow: hidden; padding: 35px 42px; position: relative; }
.hero-card::after { border: 35px solid rgba(255,255,255,.12); border-radius: 50%; content: ""; height: 250px; position: absolute; right: 70px; top: -110px; width: 250px; }
.hero-card > * { position: relative; z-index: 1; }
.hero-card h2 { font-size: 34px; margin: 9px 0; }
.hero-card p { color: #e9fffa; line-height: 1.6; margin: 0; max-width: 650px; }
.light-button { background: white; border: 0; border-radius: 6px; color: var(--orange-dark); font-weight: 800; padding: 12px 20px; }
.stats-grid { display: grid; gap: 14px; grid-template-columns: repeat(6, minmax(0, 1fr)); margin: 20px 0; }
.stat-card, .panel-card { background: var(--surface); border: 1px solid var(--line); border-radius: 7px; }
.stat-card { border-top: 4px solid var(--orange); box-shadow: 0 10px 24px rgba(7,20,38,.05); padding: 19px; }
.stat-card span, .stat-card small { color: var(--muted); display: block; font-size: 11px; }
.stat-card span { font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.stat-card strong { color: var(--charcoal-dark); display: block; font-size: 34px; margin: 10px 0 5px; }
.executive-kpi-section { margin: 22px 0; }
.executive-kpi-grid { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.executive-kpi-card { align-items: stretch; background: white; border: 1px solid var(--line); border-left: 5px solid var(--kpi-color, var(--orange)); border-radius: 8px; box-shadow: 0 10px 24px rgba(7,20,38,.04); display: grid; gap: 12px; grid-template-columns: 44px 1fr; min-height: 118px; padding: 14px; }
.executive-kpi-icon { align-items: center; background: color-mix(in srgb, var(--kpi-color, var(--orange)) 12%, white); border-radius: 10px; display: flex; height: 44px; justify-content: center; width: 44px; }
.executive-kpi-icon img { height: 32px; object-fit: contain; width: 32px; }
.executive-kpi-icon span { background: var(--kpi-color, var(--orange)); border-radius: 50%; display: block; height: 18px; width: 18px; }
.executive-kpi-card span, .executive-kpi-card small, .executive-kpi-card em { display: block; }
.executive-kpi-card span { color: var(--muted); font-size: 10px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.executive-kpi-card strong { color: var(--charcoal-dark); display: block; font-size: 20px; line-height: 1.12; margin: 7px 0 5px; }
.executive-kpi-card small { color: var(--muted); font-size: 12px; }
.executive-kpi-card em { color: var(--charcoal); font-size: 11px; font-style: normal; font-weight: 800; margin-top: 6px; }
.animated-number { font: inherit; }
.executive-kpi-card .animated-number { color: inherit; display: inline; font: inherit; letter-spacing: normal; text-transform: none; }
.stat-card, .executive-kpi-card, .executive-type-card { animation: dashboard-rise .52s cubic-bezier(.2,.75,.3,1) both; }
.executive-history-section { margin: 24px 0; }
.executive-history-grid { display: grid; gap: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.history-chart-card { background: white; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 12px 28px rgba(7,20,38,.05); min-width: 0; overflow: hidden; padding: 17px; }
.history-chart-card header { align-items: flex-start; display: flex; gap: 12px; justify-content: space-between; }
.history-chart-card header > div:first-child > span { color: #4f46e5; font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.history-chart-card h4 { color: var(--charcoal-dark); font-size: 17px; margin: 5px 0; }
.history-chart-card header small { color: var(--muted); display: block; font-size: 10px; line-height: 1.4; }
.history-chart-totals { display: grid; flex: 0 0 auto; gap: 4px; text-align: right; }
.history-chart-totals b { color: var(--series-color); font-size: 15px; }
.history-chart-totals b small { color: var(--muted); display: inline; font-size: 9px; font-weight: 700; }
.history-chart-legend { display: flex; flex-wrap: wrap; gap: 12px; margin: 12px 0 7px; }
.history-chart-legend span { align-items: center; color: var(--muted); display: flex; font-size: 9px; font-weight: 800; gap: 5px; }
.history-chart-legend i { background: var(--series-color); border-radius: 3px; height: 7px; width: 14px; }
.history-chart-plot { align-items: end; border-bottom: 1px solid #d8e4eb; display: grid; gap: 4px; grid-template-columns: repeat(var(--history-columns), minmax(0, 1fr)); height: 170px; padding: 20px 2px 0; }
.history-chart-month { align-items: stretch; align-self: stretch; display: grid; grid-template-rows: minmax(0, 1fr) 22px; min-width: 0; }
.history-chart-bars { align-items: end; display: flex; gap: 2px; justify-content: center; min-height: 0; }
.history-chart-bars > i { background: linear-gradient(180deg, color-mix(in srgb, var(--series-color) 78%, white), var(--series-color)); border-radius: 5px 5px 1px 1px; box-shadow: 0 3px 8px color-mix(in srgb, var(--series-color) 20%, transparent); display: block; height: var(--bar-height); max-width: 15px; position: relative; transform: scaleY(0); transform-origin: bottom; transition: transform .75s cubic-bezier(.2,.78,.3,1); width: 42%; }
.executive-history-grid.is-visible .history-chart-bars > i { transform: scaleY(1); }
.productivity-section { background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 12px 30px rgba(7,20,38,.05); margin: 24px 0; padding: 20px; }
.productivity-filters { align-items: end; display: grid; gap: 10px; grid-template-columns: repeat(4, minmax(150px, 1fr)) auto auto; }
.productivity-filters label { color: var(--muted); display: grid; font-size: 11px; font-weight: 900; gap: 6px; letter-spacing: .04em; text-transform: uppercase; }
.productivity-filters input, .productivity-filters select { background: #fff; border: 1px solid var(--line); border-radius: 7px; color: var(--charcoal-dark); min-height: 42px; padding: 8px 10px; }
.productivity-filters button { min-height: 42px; }
.productivity-metrics { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 18px 0 14px; }
.productivity-metrics article { background: #f5fbfd; border-left: 4px solid var(--cyan); border-radius: 7px; padding: 13px 15px; }
.productivity-metrics span, .productivity-metrics small { color: var(--muted); display: block; }
.productivity-metrics span { font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.productivity-metrics strong { color: var(--charcoal-dark); display: block; font-size: 28px; margin: 5px 0 2px; }
.productivity-layout { display: grid; gap: 12px; grid-template-columns: minmax(0, 1.7fr) repeat(2, minmax(210px, .7fr)); }
.productivity-chart-card, .productivity-ranking-card { border: 1px solid var(--line); border-radius: 8px; min-width: 0; padding: 14px; }
.productivity-chart-card header, .productivity-ranking-card header { display: grid; gap: 3px; }
.productivity-chart-card header small, .productivity-ranking-card header small { color: var(--muted); }
.productivity-daily-chart { align-items: end; display: flex; gap: 7px; min-height: 210px; overflow-x: auto; padding: 20px 3px 2px; }
.productivity-day { align-items: center; display: grid; flex: 1 0 34px; gap: 4px; grid-template-rows: 20px 150px 24px; min-width: 34px; text-align: center; }
.productivity-day b { font-size: 10px; }
.productivity-day i { align-self: end; background: linear-gradient(180deg, var(--cyan), #4f46e5); border-radius: 5px 5px 1px 1px; display: block; height: var(--day-height); min-height: 3px; transform: scaleY(0); transform-origin: bottom; transition: transform .65s ease; }
.productivity-section.is-visible .productivity-day i { transform: scaleY(1); }
.productivity-day span { color: var(--muted); font-size: 9px; writing-mode: vertical-rl; }
.productivity-ranking { display: grid; gap: 9px; margin-top: 13px; }
.productivity-ranking-row { align-items: center; display: grid; gap: 8px; grid-template-columns: 22px minmax(0, 1fr) auto; }
.productivity-ranking-row > span { align-items: center; background: #eaf8fc; border-radius: 50%; color: #0c829c; display: flex; font-size: 10px; font-weight: 900; height: 22px; justify-content: center; }
.productivity-ranking-row div { min-width: 0; }
.productivity-ranking-row strong { display: block; font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.productivity-ranking-row i { background: #e7eef2; border-radius: 4px; display: block; height: 5px; margin-top: 4px; overflow: hidden; position: relative; }
.productivity-ranking-row i::after { background: var(--cyan); border-radius: inherit; content: ''; inset: 0 auto 0 0; position: absolute; width: var(--ranking-width); }
.productivity-ranking-row b { font-size: 13px; }
.productivity-activity-card { border: 1px solid var(--line); border-radius: 10px; margin-top: 16px; overflow: hidden; }
.productivity-activity-card > header { align-items: center; background: #071426; color: white; display: flex; justify-content: space-between; padding: 14px 16px; }
.productivity-activity-card > header span, .productivity-activity-card > header strong { display: block; }
.productivity-activity-card > header span { color: #58e1c1; font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.productivity-activity-card > header strong { font-size: 16px; margin-top: 3px; }
.productivity-activity-card > header small { color: #c9d9e4; }
.productivity-error { background: #fff7e8; border-bottom: 1px solid #f2d29a; color: #7a4b00; font-size: 11px; font-weight: 750; padding: 10px 16px; }
.productivity-activity-scroll { max-height: 430px; overflow: auto; }
.productivity-activity-table { border-collapse: collapse; min-width: 760px; width: 100%; }
.productivity-activity-table th { background: #edf7fa; color: #071426; font-size: 9px; letter-spacing: .06em; padding: 10px 12px; position: sticky; text-align: left; text-transform: uppercase; top: 0; z-index: 1; }
.productivity-activity-table td { border-top: 1px solid #e6eef1; color: #243b53; font-size: 11px; padding: 10px 12px; vertical-align: top; }
.productivity-activity-table td strong, .productivity-activity-table td small { display: block; }
.productivity-activity-table td small { color: var(--muted); margin-top: 3px; }
.productivity-code { background: #eaf8fc; border: 1px solid #8ed9e9; border-radius: 999px; color: #075c70; display: inline-block; font-weight: 900; padding: 4px 8px; }
@media (max-width: 1200px) { .productivity-filters { grid-template-columns: repeat(2, minmax(150px, 1fr)); } .productivity-layout { grid-template-columns: 1fr 1fr; } .productivity-chart-card { grid-column: 1 / -1; } }
@media (max-width: 700px) { .productivity-section { padding: 14px; } .productivity-filters, .productivity-metrics, .productivity-layout { grid-template-columns: 1fr; } .productivity-chart-card { grid-column: auto; } .productivity-activity-card > header { align-items: flex-start; flex-direction: column; gap: 5px; } }
.history-chart-bars > i span { color: var(--charcoal-dark); font-size: 7px; font-style: normal; font-weight: 900; left: 50%; position: absolute; top: -13px; transform: translateX(-50%); }
.history-chart-month > small { align-self: end; color: var(--muted); font-size: 7px; overflow: hidden; text-align: center; text-overflow: clip; text-transform: capitalize; white-space: nowrap; }
@keyframes dashboard-rise { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: translateY(0); } }
.dashboard-grid { display: grid; gap: 20px; grid-template-columns: 1.6fr .8fr; }
.panel-card { padding: 24px; }
.panel-heading { align-items: center; display: flex; justify-content: space-between; margin-bottom: 18px; }
.panel-heading h3 { margin: 5px 0 0; }
.recent-item { align-items: center; border-top: 1px solid var(--line); display: grid; gap: 12px; grid-template-columns: 10px 1fr auto; padding: 15px 4px; }
.recent-item:first-child { border-top: 0; }
.recent-item i { background: var(--orange); border-radius: 50%; height: 9px; width: 9px; }
.recent-item strong, .recent-item small { display: block; }
.recent-item small { color: var(--muted); margin-top: 4px; }
.recent-item time { color: var(--muted); font-size: 11px; }
.empty-state { color: var(--muted); font-size: 13px; }
.quick-panel > button { align-items: center; background: white; border: 0; border-top: 1px solid var(--line); display: flex; gap: 13px; padding: 15px 2px; text-align: left; width: 100%; }
.quick-panel > button b { background: #e8f8fc; border-radius: 5px; color: var(--orange-dark); display: grid; height: 36px; place-items: center; width: 36px; }
.quick-panel strong, .quick-panel small { display: block; }
.quick-panel small { color: var(--muted); margin-top: 3px; }
.executive-types-section { margin: 20px 0; }
.section-heading { align-items: end; display: flex; gap: 20px; justify-content: space-between; margin-bottom: 13px; }
.section-heading h3 { margin: 5px 0 0; }
.section-heading > small { color: var(--muted); max-width: 480px; text-align: right; }
.executive-type-grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.executive-type-card { background: white; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.executive-sector-card { color: inherit; display: block; text-decoration: none; transition: box-shadow .15s ease, transform .15s ease; }
.executive-sector-card:hover { box-shadow: 0 14px 28px rgba(7,20,38,.12); transform: translateY(-2px); }
.executive-type-main { align-items: center; border-top: 4px solid var(--type-color, var(--orange)); display: grid; gap: 13px; grid-template-columns: 58px 1fr auto; padding: 15px; }
.executive-type-main img, .executive-subtype-row img { height: 48px; object-fit: contain; width: 48px; }
.executive-type-main strong, .executive-type-main small { display: block; }
.executive-type-main small { color: var(--muted); margin-top: 4px; }
.executive-type-number { color: var(--charcoal-dark); font-size: 30px; font-weight: 850; }
.executive-subtypes { border-top: 1px solid var(--line); padding: 5px 15px; }
.executive-subtype-row { align-items: center; display: grid; gap: 10px; grid-template-columns: 34px 1fr auto; padding: 9px 0; }
.executive-subtype-row + .executive-subtype-row { border-top: 1px solid var(--line); }
.executive-subtype-row img { height: 32px; width: 32px; }
.executive-subtype-row small { color: var(--muted); }
.executive-incidence-total { align-items: center; background: #eaf9fc; color: #123e59; display: grid; font-size: 12px; font-weight: 800; gap: 9px; grid-template-columns: 28px 1fr auto; padding: 8px 15px; }
.executive-incidence-total img { height: 26px; object-fit: contain; width: 26px; }
.executive-sector-main { grid-template-columns: 58px 1fr auto; }
.sector-symbol { align-items: center; background: color-mix(in srgb, var(--sector-color) 16%, white); border: 2px solid var(--sector-color); border-radius: 7px; color: var(--sector-color); display: flex; font-size: 22px; font-weight: 900; height: 48px; justify-content: center; width: 48px; }
.executive-sector-description { border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; min-height: 65px; padding: 17px 18px; }
.executive-sector-total { align-items: center; background: #f4f5f5; color: var(--charcoal); display: flex; font-size: 12px; font-weight: 800; justify-content: space-between; padding: 10px 15px; }
.executive-sector-total strong { font-size: 14px; }
.territorial-summary-card { background: white; border: 1px solid var(--line); border-radius: 8px; margin: 20px 0; padding: 22px; }
.incidence-territory-card { border-top: 5px solid var(--orange); }
.territory-accordion { display: grid; gap: 9px; }
.territory-zone, .territory-sector { border: 1px solid var(--line); border-radius: 7px; overflow: hidden; }
.territory-zone > summary, .territory-sector > summary { align-items: center; cursor: pointer; display: flex; font-weight: 800; justify-content: space-between; list-style: none; padding: 13px 15px; }
.territory-zone > summary { background: var(--charcoal-dark); color: white; }
.territory-zone > summary b { background: var(--orange); border-radius: 18px; padding: 5px 9px; }
.territory-map-link { background: transparent; border: 0; color: inherit; cursor: pointer; font: inherit; padding: 0; text-align: left; }
.territory-map-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.territory-map-link-dark { color: var(--charcoal-dark); font-weight: 900; }
.territory-zone-body { display: grid; gap: 8px; padding: 10px; }
.territory-sector > summary { background: #f4f5f5; color: var(--charcoal); }
.territory-sector > summary b { color: var(--orange-dark); }
.territory-colonies { display: grid; gap: 8px; padding: 10px; }
.territory-colony { border-left: 4px solid var(--orange); padding: 8px 10px; }
.territory-colony header { align-items: center; display: flex; justify-content: space-between; }
.territory-colony header span { color: var(--orange-dark); font-weight: 900; }
.territory-colony > small { color: var(--muted); display: block; margin-top: 4px; }
.territory-classification { align-items: center; border-top: 1px solid var(--line); display: grid; gap: 9px; grid-template-columns: 30px 1fr auto; margin-top: 7px; padding-top: 7px; }
.territory-classification img { height: 28px; object-fit: contain; width: 28px; }
.incidence-map-links { display: flex; gap: 8px; }
.pwa-link.secondary { background: var(--charcoal); }

.complete-import-panel { display: grid; gap: 18px; }
.complete-import-grid { display: grid; gap: 18px; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
.complete-import-card { background: #f8fbfd; border: 1px solid var(--line); border-radius: 9px; display: grid; gap: 16px; padding: 18px; }
.complete-import-card label { color: var(--charcoal); display: grid; font-size: 13px; font-weight: 800; gap: 8px; }
.import-counters { display: grid; gap: 10px; grid-template-columns: repeat(3, 1fr); }
.import-counters div { background: white; border: 1px solid #d4e5ef; border-radius: 8px; padding: 13px; }
.import-counters strong, .import-counters span { display: block; }
.import-counters strong { color: var(--charcoal-dark); font-size: 26px; }
.import-counters span { color: var(--muted); font-size: 11px; margin-top: 2px; }
.checkbox-row { align-items: center !important; display: flex !important; flex-direction: row; gap: 10px !important; }
.checkbox-row input { min-width: auto; }
.complete-import-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.complete-import-actions > button:not(.primary-button) { background: white; border: 1px solid #cfd4d6; border-radius: 7px; font-weight: 800; padding: 10px 16px; }
.complete-import-panel progress { height: 13px; width: 100%; }
.import-result { background: #071426; border-radius: 8px; color: #dff7ff; font-size: 12px; line-height: 1.5; margin: 0; max-height: 240px; overflow: auto; padding: 15px; white-space: pre-wrap; }
.complete-import-preview { display: grid; gap: 8px; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); max-height: 420px; overflow: auto; padding-right: 4px; }
.complete-import-match { background: white; border: 1px solid var(--line); border-left: 4px solid var(--orange); border-radius: 7px; padding: 10px 12px; }
.complete-import-match strong, .complete-import-match span { display: block; }
.complete-import-match strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.complete-import-match span { color: var(--muted); font-size: 12px; margin-top: 4px; }

.map-toolbar { align-items: end; background: white; border: 1px solid var(--line); border-radius: 7px 7px 0 0; display: flex; gap: 15px; justify-content: space-between; padding: 15px; }
.filter-group, .map-actions { align-items: end; display: flex; flex-wrap: wrap; gap: 10px; }
.filter-group select { min-width: 130px; }
.map-actions input { min-width: 190px; }
.map-actions button { background: white; border: 1px solid #cfd4d6; border-radius: 6px; font-weight: 700; padding: 10px 13px; }
.map-actions .primary-button { background: var(--orange); border-color: var(--orange); color: white; }
.map-actions #coordinatePointButton { background: var(--charcoal); border-color: var(--charcoal); color: white; }
.map-actions #coordinatePointButton:hover { background: var(--charcoal-dark); }
.map-actions #movePointsButton.active { background: #13c8a3; border-color: #13c8a3; color: #071426; box-shadow: 0 0 0 3px rgba(19,200,163,.18); }
.point-move-mode { cursor: grab; }
.point-move-mode .leaflet-marker-icon { cursor: grab; filter: drop-shadow(0 0 5px rgba(19,200,163,.9)); }
.point-move-mode .leaflet-marker-icon:active { cursor: grabbing; }
.map-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; height: clamp(620px, calc(100vh - 245px), 840px); min-height: 0; overflow: hidden; }
#map { background: #dfe4e5; height: 100%; min-height: 0; }
.map-list-panel { background: white; border: 1px solid var(--line); border-top: 0; display: flex; flex-direction: column; min-height: 0; overflow: hidden; padding: 20px; }
.map-list-panel .panel-heading, .visible-point-summary, .map-inventory-tools { flex: 0 0 auto; }
.points-list { flex: 1 1 auto; min-height: 175px; overflow-y: auto; padding-right: 4px; }
.point-list-item { border-top: 1px solid var(--line); cursor: pointer; padding: 14px 0; }
.point-list-item:first-child { border-top: 0; }
.point-list-item strong, .point-list-item small { display: block; }
.point-list-item small { color: var(--muted); line-height: 1.5; margin-top: 4px; }
.visible-point-summary { background: #eaf9fc; border-left: 4px solid var(--orange); color: var(--charcoal); font-size: 11px; font-weight: 850; margin: -7px 0 10px; padding: 8px 10px; text-transform: uppercase; }
.map-inventory-tools { border-bottom: 1px solid var(--line); display: grid; gap: 9px; margin-bottom: 12px; padding-bottom: 12px; }
.map-inventory-tools label { color: var(--charcoal); display: grid; font-size: 11px; font-weight: 800; gap: 6px; }
.map-inventory-tools > button, .inline-search button { background: var(--charcoal); border: 0; border-radius: 6px; color: white; font-size: 11px; font-weight: 800; padding: 9px 10px; }
.map-inventory-tools small { color: var(--muted); min-height: 15px; }
.inline-search { display: grid; grid-template-columns: 1fr auto; }
.inline-search input { border-radius: 6px 0 0 6px; padding: 8px 9px; }
.inline-search button { border-radius: 0 6px 6px 0; }
.point-count-groups { display: grid; flex: 0 0 auto; gap: 6px; margin-bottom: 12px; max-height: min(32vh, 285px); overflow-y: auto; padding-right: 4px; }
.point-count-group { align-items: center; background: #f7fafc; border: 1px solid var(--line); border-left: 4px solid var(--group-color); border-radius: 6px; color: var(--ink); display: grid; gap: 8px; grid-template-columns: 1fr auto; padding: 8px 10px; text-align: left; }
.point-count-group span, .point-count-group small { display: block; }
.point-count-group small { color: var(--muted); font-size: 10px; margin-top: 2px; }
.point-count-group strong { font-size: 16px; }
.point-marker-shell { background: transparent; border: 0; }
.point-marker { align-items: center; background: var(--orange); border: 1.5px solid white; border-radius: 50% 50% 50% 0; box-shadow: 0 2px 5px rgba(0,0,0,.28); display: flex; height: var(--point-marker-size, 18px); justify-content: center; transform: rotate(-45deg); transition: transform .15s ease; width: var(--point-marker-size, 18px); }
.point-marker:hover { transform: rotate(-45deg) scale(1.45); }
.point-marker img { border-radius: 0; height: var(--point-marker-image-size, 10px); max-height: var(--point-marker-image-size, 10px); max-width: var(--point-marker-image-size, 10px); object-fit: contain; transform: rotate(45deg); width: var(--point-marker-image-size, 10px); }
.point-marker span { color: white; font-size: 7px; font-weight: 900; transform: rotate(45deg); }
.popup-actions { display: flex; gap: 6px; margin-top: 10px; }
.popup-actions a, .popup-actions button { background: var(--charcoal); border: 0; border-radius: 4px; color: white; font-size: 11px; padding: 7px 9px; text-decoration: none; }
.popup-actions .danger { background: #b42318; }
.lazy-image-button { background: var(--charcoal); border: 0; border-radius: 5px; color: white; cursor: pointer; font-size: 11px; font-weight: 800; margin-top: 8px; padding: 7px 10px; }
.lazy-image-slot:empty { display: none; }
.lazy-map-image { background: #eef2f4; border-radius: 7px; display: block; margin-top: 8px; max-height: 190px; max-width: 260px; object-fit: contain; width: 100%; }
.draw-notice { align-items: center; background: var(--charcoal-dark); bottom: 25px; box-shadow: 0 10px 30px rgba(0,0,0,.25); color: white; display: flex; gap: 20px; left: 50%; padding: 13px 18px; position: fixed; transform: translateX(-50%); z-index: 1200; }
.draw-notice button { background: transparent; border: 1px solid #8e999e; color: white; padding: 6px 10px; }
.hidden { display: none !important; }

.app-dialog { border: 0; border-radius: 8px; box-shadow: 0 28px 90px rgba(0,0,0,.3); max-width: 520px; padding: 0; width: calc(100% - 30px); }
.app-dialog::backdrop { background: rgba(25,32,36,.65); }
.app-dialog form { display: grid; gap: 16px; padding: 26px; }
.wide-dialog { max-width: 760px; }
.dialog-head { align-items: flex-start; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; margin: -3px 0 4px; padding-bottom: 17px; }
.dialog-head h2 { margin: 5px 0 0; }
.dialog-head > button { background: transparent; border: 0; color: var(--muted); font-size: 26px; }
.dialog-actions { display: flex; gap: 10px; justify-content: flex-end; margin-top: 5px; }
.dialog-actions > button:not(.primary-button) { background: white; border: 1px solid #cfd4d6; border-radius: 7px; padding: 10px 16px; }
.coordinate-helper-button { background: #edf9fc; border: 1px solid var(--cyan); border-radius: 7px; color: var(--charcoal); font-weight: 850; margin: 4px 0 8px; padding: 11px 14px; width: 100%; }
.coordinate-helper-button:hover { background: #dff5fa; }
.danger-button { background: #b42318 !important; border: 1px solid #b42318 !important; border-radius: 7px; color: white; font-weight: 850; padding: 10px 16px; }
.danger-button:disabled { cursor: wait; opacity: .72; }
.delete-warning { color: var(--charcoal); font-size: 15px; line-height: 1.5; margin: 0; }
.delete-impact { align-items: center; background: #fff4f2; border-left: 5px solid #b42318; border-radius: 8px; color: var(--charcoal); display: grid; gap: 4px; grid-template-columns: auto 1fr; padding: 13px 14px; }
.delete-impact strong { color: #b42318; font-size: 34px; line-height: 1; }
.delete-impact span { font-weight: 850; }
.delete-impact small { color: var(--muted); grid-column: 1 / -1; }
.shape-picker-dialog { max-width: min(1080px, calc(100vw - 28px)); }
.shape-picker-summary { background: #eefaff; border-left: 5px solid var(--blue); border-radius: 8px; color: var(--charcoal); font-weight: 850; margin: 12px 0; padding: 12px 14px; }
.shape-picker-layout { display: grid; gap: 18px; grid-template-columns: minmax(270px, .9fr) 1.4fr; }
.shape-picker-layout h3 { font-size: 13px; margin: 0 0 10px; }
.shape-picker-targets { border: 1px solid var(--line); border-radius: 10px; display: grid; gap: 8px; max-height: min(56vh, 520px); overflow-y: auto; padding: 10px; }
.shape-picker-targets button { align-items: center; background: #f8fafc; border: 1px solid var(--line); border-radius: 10px; display: grid; gap: 10px; grid-template-columns: 48px 1fr; padding: 9px; text-align: left; }
.shape-picker-targets button.active { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(24, 182, 217, .18); }
.shape-picker-targets b { color: var(--charcoal); display: block; font-size: 14px; }
.shape-picker-targets small { color: var(--muted); display: block; font-size: 11px; line-height: 1.35; margin-top: 2px; }
.shape-picker-palette { border: 1px solid var(--line); border-radius: 10px; display: grid; gap: 8px; grid-template-columns: repeat(auto-fill, minmax(54px, 1fr)); max-height: min(56vh, 520px); overflow-y: auto; padding: 10px; }
.shape-picker-palette button { align-items: center; background: #f3f8fb; border: 1px solid transparent; border-radius: 10px; display: flex; justify-content: center; min-height: 58px; padding: 5px; }
.shape-picker-palette button.selected { background: #071426; border-color: var(--blue); }
.shape-picker-palette button:disabled { cursor: not-allowed; opacity: .42; }
.shape-picker-svg { display: block; filter: drop-shadow(0 7px 12px rgba(7, 20, 38, .22)); overflow: visible; }
.form-grid { display: grid; gap: 13px; grid-template-columns: 1fr 1fr; }
.field-help { background: #eaf9fc; border-left: 3px solid var(--orange); color: #31566b; font-size: 12px; line-height: 1.5; margin: 0; padding: 10px 12px; }
.classifications-heading { gap: 18px; }
.classification-actions { display: flex; gap: 9px; }
.classification-actions button { background: white; border: 1px solid #cfd4d6; border-radius: 7px; font-weight: 750; padding: 10px 15px; }
.classification-actions .primary-button { background: var(--orange); border-color: var(--orange); color: white; }
.classification-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); }
.classification-card { border: 1px solid var(--line); border-radius: 7px; display: flex; flex-direction: column; min-height: 285px; padding: 18px; }
.classification-card header { align-items: flex-start; display: flex; gap: 12px; justify-content: space-between; }
.classification-card h4 { font-size: 18px; margin: 5px 0 0; }
.classification-card header i { background: var(--classification-color); border-radius: 50%; box-shadow: 0 0 0 4px #f1f3f3; flex: 0 0 14px; height: 14px; margin: 5px; width: 14px; }
.classification-kind { color: var(--orange-dark); font-size: 10px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.classification-card > p { color: var(--muted); font-size: 13px; line-height: 1.5; min-height: 39px; }
.classification-icons { display: grid; gap: 10px; grid-template-columns: 1fr 1fr; margin: 5px 0 18px; }
.classification-icons > div { align-items: center; background: #f6f7f7; border-radius: 6px; display: flex; flex-direction: column; min-height: 105px; padding: 10px; text-align: center; }
.classification-icons small { color: var(--muted); display: block; font-size: 10px; margin-bottom: 8px; }
.classification-icons img { height: 58px; object-fit: contain; width: 58px; }
.classification-icons span { color: #8a9296; font-size: 11px; padding-top: 18px; }
.classification-card-actions { display: grid; gap: 8px; grid-template-columns: 1fr 1fr; margin-top: auto; }
.classification-card-actions button { background: var(--charcoal); border: 0; border-radius: 6px; color: white; font-weight: 800; padding: 10px; width: 100%; }
.classification-card-actions .danger { background: #b42318; }
.boundary-manager-panel { padding: 24px; }
.boundary-manager-heading { align-items: flex-start; }
.boundary-manager-heading p { color: var(--muted); line-height: 1.5; margin: 8px 0 0; max-width: 720px; }
.boundary-manager-actions { display: flex; gap: 9px; }
.boundary-manager-actions button { border: 1px solid var(--line); border-radius: 7px; font-weight: 850; padding: 11px 15px; }
.boundary-overview-panel { background: #071426; border-radius: 12px; color: white; margin: 4px 0 20px; overflow: hidden; padding: 16px; }
.boundary-overview-heading { align-items: center; display: flex; gap: 18px; justify-content: space-between; margin-bottom: 13px; }
.boundary-overview-heading h4, .boundary-overview-heading p { margin: 0; }
.boundary-overview-heading h4 { font-size: 20px; margin-top: 4px; }
.boundary-overview-heading p { color: #b9ceda; font-size: 12px; line-height: 1.45; margin-top: 5px; }
.boundary-overview-heading button { background: white; border: 0; border-radius: 7px; color: var(--charcoal); font-weight: 850; padding: 10px 15px; }
.boundary-overview-layout { display: grid; gap: 14px; grid-template-columns: minmax(0, 1fr) 230px; }
#boundaryOverviewMap { background: #dfe4e5; border-radius: 9px; height: min(52vh, 520px); min-height: 390px; overflow: hidden; }
.boundary-overview-help { align-content: start; background: #10253a; border: 1px solid #244058; border-radius: 9px; display: grid; gap: 10px; padding: 16px; }
.boundary-overview-help strong { font-size: 15px; line-height: 1.45; }
.boundary-overview-help p { color: #b9ceda; font-size: 12px; line-height: 1.55; margin: 0; }
.boundary-overview-legend { align-items: center; border-top: 1px solid #294158; color: #d8e7ef; display: grid; font-size: 11px; gap: 8px; grid-template-columns: 22px 1fr; margin-top: 4px; padding-top: 12px; }
.boundary-overview-legend i { background: rgba(24,182,217,.16); border: 4px solid #18b6d9; height: 18px; width: 22px; }
.boundary-overview-legend i.sector { background: rgba(79,70,229,.28); border-color: #4f46e5; border-width: 2px; }
.boundary-manager-grid { display: grid; gap: 18px; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
.boundary-manager-column { background: #f4f9fb; border: 1px solid var(--line); border-radius: 10px; min-width: 0; padding: 16px; }
.boundary-manager-column > header { align-items: center; display: flex; justify-content: space-between; margin-bottom: 13px; }
.boundary-manager-column h4 { font-size: 20px; margin: 4px 0 0; }
.boundary-manager-column > header > b { align-items: center; background: var(--charcoal); border-radius: 999px; color: white; display: flex; height: 38px; justify-content: center; min-width: 38px; padding: 0 10px; }
.boundary-card-list { display: grid; gap: 10px; max-height: calc(100vh - 300px); min-height: 180px; overflow-y: auto; padding-right: 4px; }
.boundary-card { background: white; border: 1px solid var(--line); border-left: 6px solid var(--boundary-color); border-radius: 9px; box-shadow: 0 7px 20px rgba(7,20,38,.04); display: grid; gap: 12px; grid-template-columns: 1fr auto; padding: 14px; }
.boundary-card-main { align-items: center; color: var(--charcoal); display: grid; gap: 11px; grid-template-columns: 42px 1fr; min-width: 0; text-align: left; }
.boundary-card-symbol { align-items: center; background: color-mix(in srgb, var(--boundary-color) 14%, white); border: 2px solid var(--boundary-color); border-radius: 10px; color: var(--boundary-color); display: flex; font-size: 18px; font-weight: 950; height: 42px; justify-content: center; width: 42px; }
.boundary-card-main strong, .boundary-card-main small { display: block; }
.boundary-card-main strong { font-size: 16px; }
.boundary-card-main small { color: var(--muted); line-height: 1.4; margin-top: 3px; }
.boundary-card-actions { align-items: stretch; display: grid; gap: 7px; grid-template-columns: 1fr 1fr; }
.boundary-card-actions button { background: var(--charcoal); border: 0; border-radius: 6px; color: white; font-size: 11px; font-weight: 850; padding: 8px 11px; }
.boundary-card-actions .danger { background: #b42318; }
.boundary-editor-dialog { max-height: calc(100vh - 24px); max-width: min(1240px, calc(100vw - 24px)); width: 100%; }
.boundary-editor-dialog form { grid-template-rows: auto auto minmax(0, 1fr) auto; max-height: calc(100vh - 24px); }
.boundary-editor-fields { display: grid; gap: 12px; grid-template-columns: 1.2fr 1fr 110px 1.8fr; }
.boundary-editor-fields label { min-width: 0; }
.boundary-editor-layout { display: grid; gap: 14px; grid-template-columns: minmax(0, 1fr) 250px; min-height: 0; }
#boundaryEditorMap { background: #dfe4e5; border: 1px solid var(--line); border-radius: 9px; height: min(66vh, 680px); min-height: 480px; overflow: hidden; }
.boundary-editor-help { align-content: start; background: #f3f9fb; border: 1px solid var(--line); border-radius: 9px; display: grid; gap: 10px; padding: 17px; }
.boundary-editor-help h3, .boundary-editor-help p { margin: 0; }
.boundary-editor-help p { color: var(--muted); font-size: 12px; line-height: 1.55; }
.boundary-editor-help button { background: white; border: 1px solid var(--line); border-radius: 7px; color: var(--charcoal); font-weight: 850; margin-top: 5px; padding: 10px; }
.boundary-snap-status { background: var(--charcoal); border-left: 4px solid #58e1c1; border-radius: 7px; color: white; font-size: 12px; font-weight: 800; line-height: 1.45; padding: 11px; }
.boundary-snap-status.active { background: #0c604e; }
.boundary-vertex-icon { background: transparent; border: 0; }
.boundary-vertex-handle { background: white; border: 4px solid var(--vertex-color); border-radius: 50%; box-shadow: 0 2px 9px rgba(7,20,38,.45); height: 20px; transform: translate(-1px, -1px); width: 20px; }
.boundary-vertex-handle.snapped { background: #58e1c1; box-shadow: 0 0 0 5px rgba(88,225,193,.28), 0 2px 9px rgba(7,20,38,.45); }
.boundary-vertex-handle.outside { background: #fff1f0; border-color: #ef4444; box-shadow: 0 0 0 5px rgba(239,68,68,.22), 0 2px 9px rgba(7,20,38,.45); }
.boundary-insert-icon { background: transparent; border: 0; }
.boundary-insert-handle { align-items: center; background: #ffffff; border: 2px solid #173653; border-radius: 50%; box-shadow: 0 2px 8px rgba(7,20,38,.32); color: #173653; cursor: pointer; display: flex; font-size: 15px; font-weight: 950; height: 18px; justify-content: center; line-height: 1; transition: transform .15s ease, background .15s ease; width: 18px; }
.boundary-insert-handle:hover { background: #58e1c1; transform: scale(1.16); }
.current-icon { align-items: center; background: #f6f7f7; border: 1px solid var(--line); border-radius: 6px; display: flex; gap: 12px; margin-top: -8px; padding: 9px 12px; }
.current-icon span { color: var(--muted); font-size: 11px; }
.current-icon img { height: 44px; margin-left: auto; object-fit: contain; width: 44px; }
.history-layout { align-items: start; display: grid; gap: 20px; grid-template-columns: 330px minmax(0, 1fr); max-height: calc(100vh - 150px); min-height: 0; }
.history-type-panel { max-height: calc(100vh - 140px); overflow: auto; }
.history-layout > .panel-card { min-height: 0; max-height: calc(100vh - 150px); overflow: auto; }
.history-type-list { display: grid; gap: 8px; }
.history-type-button { align-items: center; background: white; border: 1px solid var(--line); border-radius: 7px; display: grid; gap: 11px; grid-template-columns: 48px 1fr; padding: 10px; text-align: left; width: 100%; }
.history-type-button:hover, .history-type-button.active { border-color: var(--orange); box-shadow: 0 0 0 2px rgba(24,182,217,.13); }
.history-type-button img { height: 44px; object-fit: contain; width: 44px; }
.history-type-button strong, .history-type-button small { display: block; }
.history-type-button small { color: var(--muted); margin-top: 3px; }
.history-header { align-items: center; display: flex; gap: 15px; }
.history-header img { height: 70px; object-fit: contain; width: 70px; }
.history-summary { display: grid; gap: 10px; grid-template-columns: repeat(3, 1fr); margin: 18px 0; }
.history-summary div { background: #f6f7f7; border-radius: 6px; padding: 13px; }
.history-summary strong, .history-summary small { display: block; }
.history-summary strong { font-size: 24px; }
.history-summary small { color: var(--muted); }
.history-incidence { border-top: 1px solid var(--line); padding: 15px 0; }
.history-incidence header { align-items: start; display: flex; justify-content: space-between; }
.history-incidence p, .history-incidence small { color: var(--muted); }
.evidence-pair { display: grid; gap: 10px; grid-template-columns: 1fr 1fr; margin-top: 10px; }
.evidence-pair div { background: #f6f7f7; border-radius: 6px; padding: 8px; }
.evidence-pair span { color: var(--muted); display: block; font-size: 10px; font-weight: 800; margin-bottom: 6px; text-transform: uppercase; }
.evidence-pair img { height: 140px; object-fit: cover; width: 100%; }
.work-order-grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.work-order-card { border: 1px solid var(--line); border-radius: 7px; padding: 16px; }
.work-order-card header { align-items: start; display: flex; justify-content: space-between; }
.work-order-card h4 { margin: 5px 0 0; }
.work-order-card p, .work-order-card small { color: var(--muted); }
.priority-badge, .status-badge { border-radius: 20px; display: inline-block; font-size: 10px; font-weight: 850; padding: 5px 8px; text-transform: uppercase; }
.priority-badge { background: #e8f8fc; color: var(--orange-dark); }
.status-badge { background: #edf0f1; color: var(--charcoal); }
.order-progress { background: #e8ebec; border-radius: 8px; height: 7px; margin: 14px 0 7px; overflow: hidden; }
.order-progress i { background: var(--orange); display: block; height: 100%; }
.work-order-card button { background: var(--charcoal); border: 0; border-radius: 6px; color: white; font-weight: 800; margin-top: 12px; padding: 9px; width: 100%; }
.users-layout { display: grid; gap: 20px; grid-template-columns: 1.2fr .8fr; }
.profile-panel { margin: 0 auto; max-width: 1050px; }
.profile-form { display: grid; gap: 22px; margin-top: 22px; }
.profile-form label, .profile-security-grid label { display: grid; font-size: 12px; font-weight: 800; gap: 7px; }
.profile-security-grid { background: #f3f8fb; border: 1px solid var(--line); border-radius: 8px; display: grid; gap: 13px; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 18px; }
.management-item { align-items: center; border-top: 1px solid var(--line); display: grid; gap: 12px; grid-template-columns: 42px 1fr auto; padding: 13px 0; }
.management-item:first-child { border-top: 0; }
.management-item .mini-avatar { background: var(--orange); border-radius: 50%; color: white; display: grid; font-size: 11px; font-weight: 900; height: 40px; place-items: center; width: 40px; }
.management-item strong, .management-item small { display: block; }
.management-item small { color: var(--muted); line-height: 1.45; margin-top: 3px; }
.management-item .count-pill { background: #edf0f1; border-radius: 20px; font-size: 11px; font-weight: 800; padding: 6px 9px; }
.user-role-editor { align-items: flex-end; color: var(--muted); display: grid; font-size: 10px; font-weight: 800; gap: 4px; min-width: 180px; text-transform: uppercase; }
.user-role-editor select { min-width: 180px; padding: 8px 10px; }
fieldset { border: 1px solid var(--line); border-radius: 7px; margin: 0; padding: 13px; }
legend { color: var(--charcoal); font-size: 12px; font-weight: 800; padding: 0 6px; }
.check-grid { display: grid; gap: 8px; grid-template-columns: 1fr 1fr; }
.check-grid label, .order-incidence-options label { align-items: center; background: #f7f8f8; border-radius: 5px; display: flex; font-size: 12px; gap: 8px; padding: 9px; }
.order-incidence-options { display: grid; gap: 8px; max-height: 260px; overflow: auto; }
.order-incidence-options label { align-items: flex-start; }
.order-incidence-options input { margin-top: 3px; }
.report-filter-grid { display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(150px, 1fr)); }
.report-filter-grid label { display: grid; font-size: 12px; font-weight: 800; gap: 6px; }
.report-multi-filters { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(220px, 1fr)); margin-top: 18px; }
.report-multi-filters label { display: grid; font-size: 12px; font-weight: 800; gap: 7px; }
.report-multi-filters select { min-height: 132px; }
.report-multi-filters small { color: var(--muted); font-size: 11px; font-weight: 600; line-height: 1.45; }
.report-content-options { display: grid; gap: 8px; grid-template-columns: repeat(5, minmax(150px, 1fr)); margin-top: 18px; }
.report-content-options label { align-items: center; background: #f3f8fb; border-radius: 6px; display: flex; font-size: 11px; gap: 7px; padding: 9px; }
.report-content-options .report-photo-limit { align-items: stretch; display: grid; font-weight: 850; gap: 6px; }
.report-content-options .report-photo-limit select { background: white; border: 1px solid #cfd4d6; border-radius: 6px; font-weight: 800; min-height: 34px; padding: 6px 8px; width: 100%; }
.report-package-options { align-items: center; display: grid; gap: 8px; grid-template-columns: repeat(3, minmax(180px, 1fr)); margin-top: 18px; }
.report-package-options label { align-items: center; background: #fff6e7; border-radius: 6px; display: flex; font-size: 11px; font-weight: 800; gap: 7px; padding: 10px; }
.report-package-options small { color: var(--muted); font-size: 11px; grid-column: 1 / -1; line-height: 1.45; }
.report-marked-points { display: grid; font-size: 12px; font-weight: 800; gap: 7px; margin: 18px 0; }
.report-options { display: grid; gap: 16px; grid-template-columns: repeat(3, 1fr); margin-top: 22px; }
.report-options article { background: #f6f7f7; border-top: 4px solid var(--orange); border-radius: 7px; padding: 20px; }
.report-options p { color: var(--muted); font-size: 13px; line-height: 1.55; min-height: 62px; }
.report-options button { background: var(--charcoal); border: 0; border-radius: 6px; color: white; font-weight: 800; padding: 10px; width: 100%; }
.photo-cards-density { align-items: stretch; border: 0; display: grid; gap: 6px; grid-template-columns: repeat(3, 1fr); margin: 0 0 12px; padding: 0; }
.photo-cards-density legend { color: var(--muted); font-size: 11px; font-weight: 850; margin-bottom: 6px; width: 100%; }
.photo-cards-density label { cursor: pointer; display: block; }
.photo-cards-density input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.photo-cards-density span { align-items: center; background: white; border: 1px solid #cfd4d6; border-radius: 6px; color: var(--charcoal); display: flex; font-size: 13px; font-weight: 900; justify-content: center; min-height: 34px; }
.photo-cards-density input:checked + span { background: var(--orange); border-color: var(--orange); color: #071426; }
.photo-cards-density input:focus-visible + span { outline: 3px solid rgba(24, 182, 217, .3); outline-offset: 2px; }
.qr-links-panel, .qr-scope-panel { margin-bottom: 22px; }
.qr-links-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); margin-top: 20px; }
.qr-link-card { align-items: center; background: #f7fbfd; border: 1px solid #d9e7ed; border-top: 4px solid var(--orange); border-radius: 12px; display: grid; gap: 16px; grid-template-columns: 126px minmax(0, 1fr); padding: 16px; }
.qr-link-card img { background: white; border: 1px solid #e1eaee; border-radius: 10px; display: block; height: 126px; padding: 8px; width: 126px; }
.qr-link-card h4 { font-size: 17px; margin: 0 0 5px; }
.qr-link-card p { color: var(--muted); font-size: 12px; line-height: 1.45; margin: 0 0 9px; min-height: 34px; }
.qr-link-card code { background: white; border: 1px solid #dce7ec; border-radius: 6px; color: #18344b; display: block; font-size: 10px; overflow: hidden; padding: 7px; text-overflow: ellipsis; white-space: nowrap; }
.qr-link-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.qr-link-actions button, .qr-link-actions a { background: var(--charcoal); border: 0; border-radius: 7px; color: white; font-size: 11px; font-weight: 800; padding: 8px 10px; text-decoration: none; }
.qr-link-actions a:last-child { background: var(--orange); }
.qr-scope-form { align-items: end; display: grid; gap: 14px; grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) auto; margin-top: 18px; }
.qr-scope-form label { color: var(--muted); display: grid; font-size: 11px; font-weight: 800; gap: 6px; text-transform: uppercase; }
.qr-scope-form select { border: 1px solid #d7e1e7; border-radius: 8px; color: var(--charcoal); padding: 11px; }
.qr-scoped-preview:empty { display: none; }
.dialog-content { padding: 26px; }
.order-detail-item { align-items: start; border-top: 1px solid var(--line); display: grid; gap: 10px; grid-template-columns: 35px 46px 1fr auto; padding: 13px 0; }
.order-detail-item img { height: 42px; object-fit: contain; width: 42px; }
.sequence-number { background: var(--orange); border-radius: 50%; color: white; display: grid; font-size: 11px; font-weight: 900; height: 30px; place-items: center; width: 30px; }
.toast { background: var(--charcoal-dark); border-left: 5px solid var(--orange); bottom: 24px; color: white; max-width: 390px; opacity: 0; padding: 14px 18px; pointer-events: none; position: fixed; right: 24px; transform: translateY(20px); transition: .2s; z-index: 2000; }
.toast.show { opacity: 1; transform: translateY(0); }
.toast.error { border-left-color: #d92d20; }
.incidence-admin-layout { display: grid; gap: 20px; grid-template-columns: minmax(0, 1.45fr) minmax(290px, .65fr) minmax(300px, .7fr); }
.incidence-map-card { min-width: 0; }
#incidenceMap { background: #dfe4e5; border-radius: 5px; height: calc(100vh - 225px); min-height: 560px; }
.incidence-list-card { max-height: calc(100vh - 130px); overflow: auto; }
.incidence-type-card { max-height: calc(100vh - 130px); overflow: auto; }
.incidence-type-cta { align-self: start; border-top: 5px solid var(--orange); }
.incidence-type-manager { display: grid; gap: 12px; }
.incidence-admin-item { border-top: 1px solid var(--line); padding: 16px 0; }
.incidence-admin-item:first-child { border-top: 0; }
.incidence-admin-item header { align-items: flex-start; display: flex; gap: 10px; justify-content: space-between; }
.incidence-admin-item strong, .incidence-admin-item small { display: block; }
.incidence-admin-item small { color: var(--muted); line-height: 1.5; margin-top: 4px; }
.incidence-admin-item p { color: #4e595e; font-size: 13px; line-height: 1.5; }
.incidence-admin-item img { border-radius: 6px; display: block; margin-top: 10px; max-height: 150px; object-fit: cover; width: 100%; }
.incidence-admin-item select { font-size: 12px; padding: 7px; }
.incidence-admin-item button { background: transparent; border: 0; color: var(--orange-dark); font-size: 12px; font-weight: 800; padding: 8px 0 0; }
.pwa-link { background: var(--orange); border-radius: 6px; color: white; font-size: 12px; font-weight: 800; padding: 9px 12px; text-decoration: none; }
.admin-incidence-marker { align-items: center; background: #d92d20; border: 2px solid white; border-radius: 50%; box-shadow: 0 2px 6px rgba(0,0,0,.3); color: white; display: flex; font-size: 10px; font-weight: 900; height: 22px; justify-content: center; width: 22px; }
.admin-incidence-icon { background: transparent; border: 0; }
.admin-incidence-icon img { background: transparent; border: 0; border-radius: 0; filter: drop-shadow(0 2px 2px rgba(0,0,0,.35)); height: 22px; max-height: 22px; max-width: 22px; object-fit: contain; width: 22px; }
.incidence-type-list { display: grid; gap: 10px; margin-top: 12px; }
.incidence-type-list-wide { grid-template-columns: repeat(auto-fit, minmax(310px, 1fr)); }
.incidence-type-item { align-items: center; border: 1px solid var(--line); border-left: 5px solid var(--incidence-type-color, #ef4444); border-radius: 8px; display: grid; gap: 10px; grid-template-columns: 46px 1fr; padding: 12px; }
.incidence-type-item img { background: #f3f8fb; border-radius: 12px; height: 42px; object-fit: contain; padding: 5px; width: 42px; }
.incidence-type-item strong, .incidence-type-item small { display: block; }
.incidence-type-item small { color: var(--muted); line-height: 1.4; margin-top: 3px; }
.incidence-type-actions { display: grid; gap: 7px; grid-column: 1 / -1; grid-template-columns: repeat(auto-fit, minmax(90px, 1fr)); }
.incidence-type-actions button { background: var(--charcoal); border: 0; border-radius: 6px; color: white; font-size: 12px; font-weight: 800; padding: 9px; }
.incidence-type-actions .danger { background: #b42318; }
.incidence-type-actions button:disabled { background: #e5edf2; color: #60758a; cursor: default; }
.incidence-replication-grid { display: grid; gap: 9px; grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: min(56vh, 520px); overflow-y: auto; padding: 3px; }
.incidence-replication-option { align-items: center; background: #f7fafc; border: 1px solid var(--line); border-radius: 8px; cursor: pointer; display: grid; gap: 10px; grid-template-columns: 20px 1fr; padding: 12px; }
.incidence-replication-option:hover { border-color: var(--orange); }
.incidence-replication-option input { height: 17px; margin: 0; width: 17px; }
.incidence-replication-option strong, .incidence-replication-option small { display: block; }
.incidence-replication-option small { color: var(--muted); font-size: 10px; margin-top: 4px; }
.incidence-replication-option.is-source { background: #edf2f6; cursor: default; opacity: .7; }
.standalone-page { background: var(--background); min-height: 100vh; }
.standalone-header { align-items: center; background: white; border-bottom: 1px solid var(--line); display: grid; gap: 18px; grid-template-columns: 150px 1fr auto; padding: 18px 5vw; }
.standalone-header img { width: 130px; }
.standalone-header h1 { margin: 5px 0 0; }
.standalone-header a { text-decoration: none; }
.standalone-content { display: grid; gap: 20px; grid-template-columns: 1.1fr .9fr; margin: 25px auto; max-width: 1250px; padding: 0 24px; }
.migration-layout { align-items: start; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
.migration-card { display: grid; gap: 14px; }
.migration-card > label { display: grid; font-size: 12px; font-weight: 800; gap: 7px; }
.migration-card textarea { font-family: Consolas, monospace; font-size: 11px; }
.migration-result { background: #071426; border-radius: 7px; color: #d9f7ff; margin: 0; min-height: 90px; overflow: auto; padding: 14px; white-space: pre-wrap; }
.migration-card progress { height: 12px; width: 100%; }
.migration-guide { grid-column: 1 / -1; }
.bulk-images-layout { align-items: start; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
.sector-points-layout { grid-template-columns: 1fr; max-width: 1500px; }
.sector-points-panel { min-width: 0; }
.sector-points-heading { align-items: end; gap: 16px; }
.sector-points-actions { align-items: end; display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.sector-points-actions input { min-width: min(360px, 100%); }
.sector-points-actions button { background: var(--charcoal); border: 0; border-radius: 7px; color: white; font-weight: 850; padding: 11px 14px; }
.sector-points-actions button:disabled { opacity: .55; }
.sector-point-summary { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 14px; }
.sector-point-summary span { background: #eaf9fc; border: 1px solid #d4e8ef; border-left: 4px solid var(--orange); border-radius: 8px; color: var(--muted); display: grid; font-size: 11px; gap: 2px; padding: 12px; text-transform: uppercase; }
.sector-point-summary strong { color: var(--charcoal-dark); font-size: 26px; line-height: 1; }
.sector-points-table-wrap { border: 1px solid var(--line); border-radius: 9px; max-height: 64vh; overflow: auto; }
.sector-points-table { border-collapse: separate; border-spacing: 0; font-size: 12px; min-width: 1160px; width: 100%; }
.sector-points-table th { background: var(--charcoal-dark); color: white; font-size: 10px; letter-spacing: .08em; position: sticky; text-align: left; text-transform: uppercase; top: 0; z-index: 1; }
.sector-points-table th, .sector-points-table td { border-bottom: 1px solid var(--line); padding: 10px 12px; vertical-align: middle; }
.sector-points-table tbody tr:nth-child(even) { background: #f8fbfd; }
.sector-point-name strong, .sector-point-name small { display: block; }
.sector-point-name small { color: var(--muted); margin-top: 3px; }
.sector-status-pill { background: #eef7fb; border-radius: 999px; color: var(--charcoal); display: inline-block; font-size: 10px; font-weight: 850; padding: 5px 8px; text-transform: uppercase; }
.sector-row-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.sector-row-actions a, .sector-row-actions button { background: var(--charcoal); border: 0; border-radius: 5px; color: white; font-size: 11px; font-weight: 850; padding: 7px 9px; text-decoration: none; }
.sector-row-actions .danger { background: #b42318; }
.bulk-image-summary { display: grid; gap: 10px; grid-template-columns: repeat(3, 1fr); }
.bulk-image-summary span { background: #eef7fb; border: 1px solid #d5e8ef; border-radius: 7px; display: grid; padding: 12px; }
.bulk-image-summary strong { color: var(--navy); font-size: 24px; }
.bulk-image-preview { display: grid; gap: 8px; max-height: 62vh; overflow: auto; }
.bulk-image-preview article { border: 1px solid #d9e4ea; border-left: 4px solid #13c8a3; border-radius: 6px; display: grid; gap: 3px; padding: 10px 12px; }
.bulk-image-preview article.unmatched { border-left-color: #ef4444; }
.bulk-image-preview span { color: var(--muted); font-size: 12px; }
.role-grid { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.role-card { border: 1px solid var(--line); border-radius: 7px; padding: 16px; }
.role-card h3 { margin: 6px 0; }
.role-card p { color: var(--muted); font-size: 13px; line-height: 1.5; }
.role-card div { display: flex; flex-wrap: wrap; gap: 5px; }
.role-card div span, .role-card div b { background: #e8f8fc; border-radius: 16px; color: var(--orange-dark); font-size: 9px; padding: 5px 7px; }
.role-form { display: grid; gap: 15px; }
.role-form > label { display: grid; font-size: 13px; font-weight: 700; gap: 7px; }
.permission-grid { display: grid; gap: 7px; grid-template-columns: 1fr 1fr; }
.permission-grid label { align-items: center; background: #f6f7f7; border-radius: 5px; display: flex; font-size: 11px; gap: 7px; padding: 8px; }
.report-map-page { background: white; margin: 0; }
.report-map-header { align-items: center; border-bottom: 4px solid var(--orange); display: grid; gap: 18px; grid-template-columns: 100px 1fr auto; min-height: 110px; padding: 14px 24px; }
.report-map-header img { width: 130px; }
.report-map-header h1 { font-size: 22px; margin: 4px 0; }
.report-map-header button { background: var(--charcoal); border: 0; border-radius: 6px; color: white; font-weight: 800; padding: 11px 15px; }
.report-map-header button:disabled { cursor: wait; opacity: .55; }
.report-map-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.report-map-actions button:first-child { background: #ffffff; border: 1px solid var(--line); color: var(--charcoal); }
.report-map-actions button:nth-child(2) { background: var(--orange); }
.report-map-page main { display: grid; grid-template-columns: minmax(0, 1fr) 390px; height: calc(100vh - 114px); }
.report-map-stage { background: #eaf3f8; min-width: 0; overflow: hidden; position: relative; }
#reportMap { height: 100%; min-height: 640px; }
.report-map-page aside { border-left: 1px solid var(--line); overflow: auto; padding: 18px; }
.report-map-page aside section + section { border-top: 1px solid var(--line); margin-top: 18px; padding-top: 16px; }
.report-map-page aside article { border-top: 1px solid var(--line); padding: 12px 0; }
.report-map-page aside strong, .report-map-page aside span { display: block; }
.report-map-page aside span { color: var(--muted); font-size: 12px; margin-top: 4px; }
.report-config-grid, .report-map-filter-grid { display: grid; gap: 9px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.report-config-grid label, .report-map-filter-grid label { color: var(--charcoal); display: grid; font-size: 11px; font-weight: 850; gap: 5px; }
.report-config-grid select, .report-map-filter-grid select { border: 1px solid var(--line); border-radius: 6px; padding: 8px; width: 100%; }
.report-config-grid label:has(input) { align-items: center; background: #f3f8fb; border-radius: 7px; display: flex; gap: 7px; padding: 8px; }
.report-config-grid button { background: var(--blue); border: 0; border-radius: 7px; color: #ffffff; font-weight: 900; grid-column: 1 / -1; padding: 10px; }
.zip-closeup-config { border-top: 1px solid var(--line); margin-top: 12px; padding-top: 12px; }
.zip-closeup-toggle { align-items: center; background: #eefaff; border: 1px solid #c9eaf3; border-radius: 9px; cursor: pointer; display: flex; gap: 9px; padding: 10px; }
.zip-closeup-toggle input { height: 18px; margin: 0; width: 18px; }
.zip-closeup-toggle span { display: grid !important; gap: 2px; }
.zip-closeup-toggle strong { color: var(--charcoal); font-size: 12px; }
.zip-closeup-toggle small { color: var(--muted); font-size: 10px; line-height: 1.35; }
.zip-closeup-panel { background: #f8fbfd; border: 1px solid var(--line); border-radius: 9px; display: grid; gap: 10px; margin-top: 8px; padding: 10px; }
.zip-closeup-panel[hidden] { display: none; }
.zip-closeup-panel > label { color: var(--charcoal); display: grid; font-size: 11px; font-weight: 850; gap: 5px; }
.zip-closeup-panel select, .zip-closeup-panel input[type="number"] { background: #ffffff; border: 1px solid var(--line); border-radius: 6px; padding: 8px; width: 100%; }
.zip-closeup-heading { align-items: center; display: flex; gap: 8px; justify-content: space-between; }
.zip-closeup-heading > strong { color: var(--charcoal); font-size: 11px; }
.zip-closeup-heading > span { display: flex !important; gap: 5px; margin: 0 !important; }
.zip-closeup-heading button { background: #ffffff; border: 1px solid var(--line); border-radius: 5px; color: var(--charcoal); font-size: 9px; font-weight: 850; padding: 5px 7px; }
.zip-closeup-sectors { background: #ffffff; border: 1px solid var(--line); border-radius: 7px; display: grid; gap: 2px; max-height: 190px; overflow: auto; padding: 5px; }
.zip-closeup-sectors label { align-items: center; border-radius: 5px; color: var(--charcoal); display: grid; font-size: 10px; font-weight: 750; gap: 7px; grid-template-columns: 16px 1fr auto; padding: 6px; }
.zip-closeup-sectors label:hover { background: #eefaff; }
.zip-closeup-sectors input { margin: 0; }
.zip-closeup-sectors small { color: var(--muted); font-size: 9px; }
.zip-closeup-summary { background: #071426; border-radius: 6px; color: #ffffff !important; font-size: 10px !important; line-height: 1.4; margin: 0 !important; padding: 8px; }
.report-map-status { background: #eefaff; border-left: 4px solid var(--blue); border-radius: 7px; color: var(--muted); font-size: 12px; line-height: 1.45; margin: 12px 0 0; padding: 10px; }
.report-map-icon { background: transparent; border: 0; }
.report-map-icon img { height: 40px; object-fit: contain; width: 40px; }
.report-numbered-point-icon { background: transparent; border: 0; }
.report-numbered-point-icon span { align-items: center; background: var(--point-color, var(--blue)); border: 2px solid #ffffff; border-radius: 50%; box-shadow: 0 8px 18px rgba(15, 23, 42, .34), 0 0 0 1px rgba(15, 23, 42, .24); color: #ffffff; display: flex; font-size: var(--point-font, max(8px, calc(var(--point-size, 24px) * .38))); font-weight: 950; height: var(--point-size, 24px); justify-content: center; letter-spacing: -.04em; line-height: 1; overflow: hidden; text-align: center; text-shadow: 0 1px 3px rgba(0, 0, 0, .72); width: var(--point-size, 24px); }
.report-shape-point-icon { background: transparent; border: 0; }
.report-shape-point-icon svg { display: block; filter: drop-shadow(0 7px 14px rgba(15, 23, 42, .34)); overflow: visible; }
.legend-shape-swatch { display: block; height: 13px; width: 13px; }
.report-map-watermark { color: rgba(24,182,217,.075); font-size: min(48vw, 520px); font-weight: 950; left: 50%; line-height: 1; pointer-events: none; position: absolute; top: 50%; transform: translate(-50%, -50%); z-index: 450; }
.active-colony-label { background: #071426; border-left: 5px solid var(--orange); border-radius: 7px; bottom: 25px; color: white; font-size: 12px; font-weight: 850; left: 25px; padding: 11px 16px; position: absolute; z-index: 500; }
.floating-map-legend { background: rgba(255,255,255,.94); border: 1px solid rgba(7,20,38,.12); border-radius: 10px; bottom: 20px; box-shadow: 0 14px 30px rgba(7,20,38,.18); max-height: min(42vh, 360px); overflow: hidden; padding: 10px; position: absolute; right: 20px; width: 230px; z-index: 500; }
.technical-legend { display: grid; gap: 10px; }
.technical-legend-group + .technical-legend-group { border-top: 1px solid var(--line); padding-top: 8px; }
.technical-legend-group > strong { color: var(--charcoal); font-size: 10px; letter-spacing: .08em; margin-bottom: 6px; text-transform: uppercase; }
.technical-legend-group button { align-items: center; background: transparent; border: 0; border-radius: 6px; display: grid; gap: 6px; grid-template-columns: 12px 1fr auto; padding: 4px; text-align: left; width: 100%; }
.technical-legend-group button.has-shape { grid-template-columns: 16px 1fr auto; }
.technical-legend-group button i { background: var(--legend-color); border-radius: 50%; box-shadow: 0 0 0 2px #fff, 0 0 0 3px rgba(7,20,38,.12); height: 9px; width: 9px; }
.technical-legend-group button span { color: #17324d; font-size: 9px; margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.technical-legend-group button b { color: var(--charcoal); font-size: 9px; text-align: right; }
.colony-legend { display: grid; gap: 7px; }
.colony-legend button { align-items: center; background: white; border: 1px solid var(--line); border-radius: 7px; display: grid; gap: 8px; grid-template-columns: 14px 1fr auto; padding: 9px; text-align: left; }
.colony-legend button i { background: var(--colony-color); border-radius: 50%; height: 12px; width: 12px; }
.colony-legend button.active { border-color: var(--colony-color); box-shadow: 0 0 0 2px color-mix(in srgb, var(--colony-color) 20%, transparent); }
.report-colony-marker { background: transparent; border: 0; }
.report-colony-marker > div { align-items: center; background: var(--colony-color); border: 2px solid white; border-radius: 50%; box-shadow: 0 2px 6px rgba(0,0,0,.3); display: flex; height: 20px; justify-content: center; width: 20px; }
.report-colony-marker img { height: 12px; max-height: 12px; max-width: 12px; object-fit: contain; width: 12px; }
.report-colony-marker b { color: white; }
.map-chart { margin-top: 15px; }
.map-chart > strong { display: block; font-size: 11px; margin-bottom: 8px; }
.map-chart > div { align-items: center; display: grid; gap: 6px; grid-template-columns: 92px 1fr 25px; margin: 6px 0; }
.map-chart span { color: var(--muted); font-size: 9px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.map-chart i { border-radius: 4px; height: 8px; }
.map-chart b { font-size: 9px; text-align: right; }

@media (max-width: 1250px) {
  .sidebar { flex-basis: 232px; padding-left: 13px; padding-right: 13px; }
  .main-content { padding-left: 24px; padding-right: 24px; }
  .sidebar-brand img { width: 60px; }
  .sidebar-brand strong { font-size: 18px; }
  .hero-card { min-height: 180px; padding: 30px; }
}

@media (max-width: 1050px) {
  .stats-grid { grid-template-columns: repeat(3, 1fr); }
  .executive-history-grid { grid-template-columns: 1fr 1fr; }
  .history-chart-card:last-child { grid-column: 1 / -1; }
  .map-layout { grid-template-columns: 1fr; height: auto; overflow: visible; }
  #map { height: min(64vh, 620px); min-height: 460px; }
  .map-list-panel { display: block; max-height: 360px; overflow-y: auto; }
  .point-count-groups { max-height: none; overflow: visible; }
  .points-list { min-height: 0; overflow: visible; }
  .map-toolbar { align-items: stretch; flex-direction: column; }
  .incidence-admin-layout { grid-template-columns: 1fr; }
  .complete-import-grid { grid-template-columns: 1fr; }
  .incidence-list-card { max-height: none; }
  .incidence-type-card { max-height: none; }
  .history-layout, .users-layout, .profile-security-grid { grid-template-columns: 1fr; }
  .history-layout { max-height: none; }
  .history-layout > .panel-card { max-height: none; overflow: visible; }
  .history-type-panel { max-height: none; }
  .report-options { grid-template-columns: 1fr; }
  .report-filter-grid { grid-template-columns: repeat(2, 1fr); }
  .report-content-options, .report-multi-filters, .report-package-options { grid-template-columns: repeat(2, 1fr); }
  .standalone-content { grid-template-columns: 1fr; }
  .executive-grid, .sector-executive-grid { grid-template-columns: 1fr; }
  .main-content { padding-left: 18px; padding-right: 18px; }
  .boundary-manager-grid { grid-template-columns: 1fr; }
  .boundary-card-list { max-height: 520px; }
  .boundary-editor-layout { grid-template-columns: 1fr; }
  .boundary-editor-help { grid-template-columns: 1fr auto; }
  .boundary-editor-help h3, .boundary-editor-help .eyebrow, .boundary-editor-help p { grid-column: 1 / -1; }
}
@media (max-width: 780px) {
  .qr-scope-form { grid-template-columns: 1fr; }
  .qr-link-card { grid-template-columns: 92px minmax(0, 1fr); padding: 12px; }
  .qr-link-card img { height: 92px; width: 92px; }
  .login-page { background: var(--charcoal-dark); padding: 0; }
  .login-shell { grid-template-columns: 1fr; min-height: 100vh; }
  .login-brand { min-height: 270px; padding: 35px; }
  .login-brand img { width: 180px; }
  .login-brand h1 { font-size: 44px; }
  .login-brand p { display: none; }
  .login-card { padding: 38px 30px; }
  .sidebar { box-shadow: 18px 0 45px rgba(7,20,38,.32); left: -290px; position: fixed; transition: left .24s ease; width: 270px; }
  .sidebar.open { left: 0; }
  .sidebar.open::after { background: rgba(7,20,38,.42); content: ""; inset: 0 0 0 270px; position: fixed; z-index: -1; }
  .main-content { padding: 0 12px 26px; width: 100%; }
  .menu-button { display: flex; }
  .topbar { background: linear-gradient(90deg, var(--charcoal-dark), var(--charcoal)); border-radius: 0 0 14px 14px; justify-content: flex-start; margin: 0 -12px 14px; min-height: 72px; position: sticky; top: 0; z-index: 800; }
  .topbar h1 { font-size: 20px; }
  .topbar-actions { display: none; }
  .hero-card { align-items: flex-start; border-radius: 10px; flex-direction: column; gap: 20px; min-height: 0; padding: 24px 20px; }
  .hero-card h2 { font-size: 28px; }
  .hero-card p { font-size: 14px; }
  .stats-grid, .dashboard-grid { grid-template-columns: 1fr; }
  .executive-history-grid { grid-template-columns: 1fr; }
  .history-chart-card:last-child { grid-column: auto; }
  .incidence-replication-grid { grid-template-columns: 1fr; }
  .import-counters { grid-template-columns: 1fr; }
  .bulk-images-layout, .bulk-image-summary { grid-template-columns: 1fr; }
  .stats-grid { gap: 10px; }
  .stat-card { min-height: 118px; padding: 18px; }
  .filter-group, .map-actions { align-items: stretch; flex-direction: column; }
  .filter-group select { width: 100%; }
  .classifications-heading { align-items: stretch; flex-direction: column; }
  .classification-actions { flex-direction: column; }
  .boundary-manager-panel { padding: 16px; }
  .boundary-manager-heading { align-items: stretch; flex-direction: column; }
  .boundary-manager-actions { display: grid; grid-template-columns: 1fr; width: 100%; }
  .boundary-overview-heading { align-items: stretch; flex-direction: column; }
  .boundary-overview-layout { grid-template-columns: 1fr; }
  #boundaryOverviewMap { height: 52dvh; min-height: 340px; }
  .boundary-overview-help { grid-template-columns: 1fr; }
  .boundary-card { grid-template-columns: 1fr; }
  .boundary-card-actions button { padding: 10px; }
  .boundary-editor-dialog { max-height: 100dvh; max-width: 100vw; width: 100vw; }
  .boundary-editor-dialog form { max-height: 100dvh; padding: 15px; }
  .boundary-editor-fields { grid-template-columns: 1fr 86px; }
  .boundary-editor-fields > label:first-of-type, .boundary-editor-description, #boundaryEditorZoneField { grid-column: 1 / -1; }
  #boundaryEditorMap { height: 48dvh; min-height: 320px; }
  .boundary-editor-help { display: grid; grid-template-columns: 1fr; padding: 12px; }
  .section-heading { align-items: flex-start; flex-direction: column; }
  .section-heading > small { text-align: left; }
  .history-summary, .check-grid { grid-template-columns: 1fr; }
  .evidence-pair { grid-template-columns: 1fr; }
  .standalone-header { grid-template-columns: 90px 1fr; }
  .standalone-header > .primary-button { grid-column: 1 / -1; text-align: center; }
  .sector-points-heading { align-items: stretch; flex-direction: column; }
  .sector-points-actions { justify-content: stretch; }
  .sector-points-actions input, .sector-points-actions select, .sector-points-actions button { width: 100%; }
  .sector-point-summary { grid-template-columns: 1fr; }
  .permission-grid { grid-template-columns: 1fr; }
  #map { min-height: 560px; }
  .form-grid { grid-template-columns: 1fr; }
  .report-filter-grid, .report-content-options, .report-multi-filters, .report-package-options { grid-template-columns: 1fr; }
  .panel, .catalog-panel, .history-panel, .users-panel, .reports-panel { padding: 16px; }
  .type-executive-card header { grid-template-columns: 58px 1fr auto; }
  .type-executive-card header img { height: 50px; width: 50px; }
  .classification-card header { align-items: stretch; flex-direction: column; }
  .classification-actions { width: 100%; }
  .classification-actions button { width: 100%; }
  .classification-card-actions { grid-template-columns: 1fr; }
  .table-wrap, .responsive-table, .orders-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  table { min-width: 720px; }
  dialog { max-height: calc(100vh - 18px); overflow-y: auto; width: calc(100% - 18px); }
  .dialog-content { padding: 18px; }
  .shape-picker-layout { grid-template-columns: 1fr; }
  .shape-picker-targets, .shape-picker-palette { max-height: 34vh; }
  .shape-picker-palette { grid-template-columns: repeat(auto-fill, minmax(50px, 1fr)); }
  .map-toolbar { padding: 11px; }
  .map-layout { gap: 10px; }
  .report-actions { display: grid; grid-template-columns: 1fr; }
  .report-actions button { width: 100%; }
}

.dashboard-page.mobile-embedded { background: var(--background); min-height: 100dvh; }
.dashboard-page.mobile-embedded .main-content { padding: 0 0 max(20px, env(safe-area-inset-bottom)); }
.dashboard-page.mobile-embedded .topbar { background: linear-gradient(90deg, var(--charcoal-dark), var(--charcoal)); border-bottom: 0; border-radius: 0 0 14px 14px; margin: 0 0 12px; min-height: 58px; padding: 8px 12px; top: 0; }
.dashboard-page.mobile-embedded .topbar h1 { font-size: 18px; }
.dashboard-page.mobile-embedded .hero-card { display: none; }
.dashboard-page.mobile-embedded .stats-grid,
.dashboard-page.mobile-embedded .executive-kpi-section,
.dashboard-page.mobile-embedded .executive-history-section,
.dashboard-page.mobile-embedded .executive-types-section,
.dashboard-page.mobile-embedded .territory-dashboard,
.dashboard-page.mobile-embedded .dashboard-grid,
.dashboard-page.mobile-embedded .view > .section-heading,
.dashboard-page.mobile-embedded .panel,
.dashboard-page.mobile-embedded .catalog-panel,
.dashboard-page.mobile-embedded .history-panel,
.dashboard-page.mobile-embedded .users-panel,
.dashboard-page.mobile-embedded .reports-panel { margin-left: 12px; margin-right: 12px; }
.dashboard-page.mobile-embedded .stats-grid { gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dashboard-page.mobile-embedded .stat-card { min-height: 94px; padding: 13px; }
.dashboard-page.mobile-embedded .stat-card strong { font-size: 28px; }
.dashboard-page.mobile-embedded .panel, .dashboard-page.mobile-embedded .catalog-panel,
.dashboard-page.mobile-embedded .history-panel, .dashboard-page.mobile-embedded .users-panel,
.dashboard-page.mobile-embedded .reports-panel { border-radius: 12px; padding: 14px; }
.dashboard-page.mobile-embedded .sidebar { height: 100dvh; left: -100vw; max-width: none; top: 0; width: min(88vw, 360px); }
.dashboard-page.mobile-embedded .sidebar.open { left: 0; }
.dashboard-page.mobile-embedded .sidebar.open::after { inset: 0 0 0 min(88vw, 360px); }
.dashboard-page.mobile-embedded .map-layout { height: auto; overflow: visible; }
.dashboard-page.mobile-embedded #map { min-height: 430px; }
.dashboard-page.mobile-embedded .section-heading { gap: 5px; margin-bottom: 10px; }
.dashboard-page.mobile-embedded .section-heading h2 { font-size: 20px; }
.dashboard-page.mobile-embedded .table-wrap, .dashboard-page.mobile-embedded .responsive-table,
.dashboard-page.mobile-embedded .orders-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }

@media print {
  @page { size: 17in 11in; margin: 0; }
  html, body, .report-map-page { height: 11in; min-height: 11in; overflow: hidden; width: 17in; }
  .report-map-page { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .report-map-header { gap: .14in; grid-template-columns: .68in 1fr auto; height: .82in; min-height: 0; padding: .08in .18in; }
  .report-map-header img { height: .62in; width: .62in; }
  .report-map-header h1 { font-size: 16px; margin: 1px 0; }
  .report-map-header small { font-size: 8px; }
  .report-map-header button { display: none; }
  .report-map-page main { break-inside: avoid; grid-template-columns: minmax(0, 1fr) 2.7in; height: 10.18in; page-break-inside: avoid; }
  .report-map-stage, #reportMap { height: 100% !important; min-height: 0 !important; }
  .report-map-page aside { overflow: hidden; padding: .1in .13in; }
  .report-map-config, .report-map-filter-grid, .report-map-status, .zip-closeup-config { display: none; }
  .report-map-page aside section + section { margin-top: .09in; padding-top: .08in; }
  .report-map-page aside h3 { font-size: 11px; margin: 2px 0 5px; }
  .report-map-page aside .eyebrow { font-size: 7px; }
  .report-map-page aside article { padding: 5px 0; }
  .colony-legend { gap: 3px; }
  .colony-legend button { gap: 4px; grid-template-columns: 9px 1fr auto; padding: 4px 5px; }
  .colony-legend button i { height: 7px; width: 7px; }
  .colony-legend button span, .colony-legend button b { font-size: 7px; }
  .map-chart { margin-top: 6px; }
  .map-chart > strong { font-size: 8px; margin-bottom: 3px; }
  .map-chart > div { gap: 3px; grid-template-columns: 65px 1fr 18px; margin: 3px 0; }
  .map-chart span, .map-chart b { font-size: 6px; }
  .map-chart i { height: 5px; }
  .active-colony-label { bottom: .14in; font-size: 8px; left: .14in; padding: 6px 9px; }
  .floating-map-legend { bottom: .15in; max-height: 3.9in; padding: .08in; right: .15in; width: 2.2in; }
  .report-map-watermark { font-size: 4.6in; }
}
.access-hidden {
  display: none !important;
}

.visibility-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0 18px 18px;
}

.visibility-badges span,
.package-status {
  border-radius: 999px;
  background: #e8f8fc;
  color: #087b96;
  font-size: 11px;
  font-weight: 800;
  padding: 6px 9px;
}

.classification-restricted {
  box-shadow: inset 0 0 0 2px #4f46e5;
}

.incidence-package-card {
  border: 1px solid #d8e3eb;
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
}

.incidence-package-card + .incidence-package-card {
  margin-top: 12px;
}

.incidence-package-card > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  cursor: pointer;
  list-style: none;
  background: #f7fbfd;
}

.incidence-package-card > summary::-webkit-details-marker {
  display: none;
}

.incidence-package-card > summary::after {
  align-items: center;
  background: #e8f8fc;
  border-radius: 50%;
  color: #087b96;
  content: '+';
  display: inline-flex;
  flex: 0 0 28px;
  font-size: 20px;
  font-weight: 900;
  height: 28px;
  justify-content: center;
}

.incidence-package-card[open] > summary::after {
  content: '-';
}

.package-status {
  margin-left: auto;
}

.incidence-package-identity {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.incidence-package-identity img,
.general-package-icon {
  width: 42px;
  height: 42px;
  object-fit: contain;
}

.general-package-icon {
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #071426;
  color: #fff;
  font-size: 24px;
}

.incidence-package-identity b {
  font-size: 17px;
}

.incidence-package-identity small {
  color: #66788a;
}

.package-status.off,
.disabled-note {
  background: #fff0f0;
  color: #b4232e;
}

.package-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  border-top: 1px solid #e6edf2;
  background: #f8fbfd;
}

.package-toolbar.is-off {
  background: #fff5f5;
}

.package-toolbar span,
.package-toolbar strong,
.package-toolbar small {
  display: block;
}

.package-toolbar strong {
  color: #071426;
  font-size: 13px;
}

.package-toolbar small {
  color: #66788a;
  margin-top: 3px;
}

.package-reporting-toggle {
  border: 0;
  border-radius: 10px;
  color: #fff;
  cursor: pointer;
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 900;
  padding: 11px 14px;
}

.package-reporting-toggle.danger {
  background: #b4232e;
}

.package-reporting-toggle.restore {
  background: #087b96;
}

.package-reporting-toggle:disabled {
  cursor: wait;
  opacity: .55;
}

.incidence-package-items {
  padding: 12px;
}

.visibility-switches,
.visibility-option-list {
  display: grid;
  gap: 10px;
}

.visibility-switches {
  margin: 18px 0;
  padding: 16px;
  border-radius: 14px;
  background: #f2f8fb;
}

.visibility-switches label,
.visibility-option-list label {
  display: flex;
  align-items: center;
  gap: 9px;
  font-weight: 700;
}

.visibility-audience-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.visibility-audience-grid fieldset {
  min-width: 0;
  max-height: 240px;
  overflow: auto;
  border: 1px solid #d8e3eb;
  border-radius: 14px;
  padding: 14px;
}

@media (max-width: 720px) {
  .visibility-audience-grid {
    grid-template-columns: 1fr;
  }
  .incidence-package-card > summary {
    align-items: flex-start;
  }
  .package-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
  .package-reporting-toggle {
    width: 100%;
  }
}
