@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&display=swap";:root{--bg: #f5f8fc;--surface: #ffffff;--surface-soft: #f0f5fb;--line: #d8e2ef;--text: #1f2f44;--muted: #62748b;--accent: #205fa8;--accent-strong: #1a4f8b;--accent-soft: #e8f0fb;--critical: #c94f52;--high: #d27a44;--medium: #4d6c95;--ok: #5c7d5f;--shadow: 0 10px 32px rgba(26, 56, 93, .08);--radius: 14px;--sidebar-width: 260px}[data-theme=dark]{--bg: #0f1723;--surface: #172131;--surface-soft: #202c3f;--line: #2f4059;--text: #e1e9f5;--muted: #98abc5;--accent: #3d79c2;--accent-strong: #2d659f;--accent-soft: #20324a;--shadow: 0 10px 30px rgba(6, 10, 16, .5)}*,*:before,*:after{box-sizing:border-box}html,body,#root{width:100%;min-height:100%}body{margin:0;font-family:IBM Plex Sans,Segoe UI,sans-serif;color:var(--text);background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 88%,#ffffff 12%) 0%,var(--bg) 100%)}button,input,select,textarea{font:inherit;color:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-width) 1fr}.workspace{min-width:0}.workspace-main{padding:22px 24px 28px}.sidebar{background:color-mix(in srgb,var(--surface-soft) 75%,#f4f8fd 25%);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:12px;padding:18px 14px;position:sticky;inset:0 auto 0 0;height:100vh;z-index:30}.sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:6px 4px 14px}.sidebar-nav{display:grid;gap:3px;overflow-y:auto;padding-right:2px}.sidebar-link{border:1px solid transparent;background:transparent;color:#2d435e;display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 11px;border-radius:10px;cursor:pointer;transition:all .2s ease}.sidebar-link:hover{border-color:#d4dfec;background:#eef4fc}.sidebar-link.active{border-color:#c2d6eb;background:#e8f0fb;color:#1f5086}.sidebar-icon{width:17px;height:17px;flex:0 0 17px}.sidebar-foot{margin-top:auto;border:1px solid var(--line);border-radius:12px;padding:12px;background:color-mix(in srgb,var(--surface) 92%,transparent 8%)}.sidebar-foot p{margin:0;color:var(--muted);font-size:12px}.sidebar-foot strong{display:block;margin-top:4px;font-size:14px}.sidebar-update{display:block;margin-top:8px;font-size:12px;color:var(--muted)}.sidebar-close,.menu-toggle,.sidebar-backdrop{display:none}.topbar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px;background:color-mix(in srgb,var(--surface) 88%,transparent 12%);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:10px 24px}.topbar-left{display:flex;align-items:center;gap:12px}.topbar-context strong{display:block;font-size:13px;line-height:1.2}.topbar-context span{color:var(--muted);font-size:12px}.topbar-search{position:relative}.topbar-meta{border:1px dashed var(--line);border-radius:12px;padding:9px 12px;color:var(--muted);font-size:12px;background:color-mix(in srgb,var(--surface-soft) 70%,white 30%)}.topbar-search input{width:100%;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:10px 36px 10px 12px;color:var(--text)}.topbar-search input:focus{border-color:color-mix(in srgb,var(--accent) 62%,white 38%);box-shadow:0 0 0 3px #c9dcef59;outline:none}.clear-search{position:absolute;top:50%;right:6px;transform:translateY(-50%)}.signal-logo{display:inline-flex;align-items:center;gap:10px}.signal-emblem{display:block;flex:0 0 auto;filter:drop-shadow(0 1px 1.5px rgba(41,74,111,.15))}.signal-logo.compact{gap:8px}.signal-logo-text strong{display:block;font-size:17px;font-weight:700;letter-spacing:.01em;line-height:1.1}.signal-logo.compact .signal-logo-text strong{font-size:16px}.signal-logo-text span{display:block;margin-top:1px;font-size:11px;color:var(--muted)}.page{display:grid;gap:16px;animation:fade-in .32s ease}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.animate-in{animation:rise-in .35s ease both}.pilot-banner{border:1px solid #d2dfef;border-radius:12px;background:#edf4fb;color:#385a7f;padding:10px 12px;font-size:14px}.icon-button{border:0;background:transparent;color:#4b617b;width:30px;height:30px;border-radius:8px;cursor:pointer}.icon-button:hover{background:#e8eff8}.primary-button,.secondary-button,.ghost-button{border-radius:10px;border:1px solid transparent;padding:8px 12px;cursor:pointer;transition:.2s ease}.primary-button{background:var(--accent);color:#fff}.primary-button:hover{background:var(--accent-strong)}.secondary-button{background:var(--accent-soft);color:#244d78;border-color:#ccddf0}.secondary-button:hover{background:#dfeafb}.ghost-button{background:transparent;border-color:#cfdeef;color:#3a5878}.ghost-button:hover{background:#f4f8fd}.segmented{display:inline-flex;border:1px solid #d2dfef;border-radius:9px;overflow:hidden}.segmented button{border:0;background:transparent;padding:6px 10px;color:#4c6280;cursor:pointer}.segmented button.active{background:#e9f1fb;color:#194a7f}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.kpi-card span{color:var(--muted);font-size:12px}.kpi-card strong{display:block;margin-top:9px;font-size:27px;font-weight:700}.overview-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:12px}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:12px}.section-head h2,.section-head h3{margin:0;font-size:18px}.section-head span{color:var(--muted);font-size:12px}.top-list{display:grid;gap:8px}.top-item{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:10px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:9px 10px;text-align:left;cursor:pointer;transition:.2s ease}.top-item:hover{border-color:#bfd3ea;transform:translateY(-1px)}.top-rank{width:24px;height:24px;border-radius:50%;background:#e7eff9;color:#24548a;display:grid;place-items:center;font-weight:600;font-size:12px}.top-item strong{display:block;font-size:14px}.top-item small{color:var(--muted)}.mini-chart-wrap h3{margin:10px 0 8px;font-size:14px;color:color-mix(in srgb,var(--text) 82%,var(--muted) 18%)}.line-chart svg{width:100%;height:120px;display:block}.line-chart-grid{fill:none;stroke:#dbe6f3;stroke-width:1.2}.line-chart-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.line-chart-labels{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));font-size:11px;color:#6f8094}.plain-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}.plain-list li{border:1px solid var(--line);border-radius:9px;padding:9px 10px;display:flex;justify-content:space-between;gap:10px;align-items:center}.plain-list strong{display:block;font-size:14px}.plain-list small{color:var(--muted)}.signal-meta{text-align:right}.municipality-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.municipality-grid.large{grid-template-columns:repeat(4,minmax(0,1fr))}.municipality-cell{border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,#ecf4ff calc(var(--level, .4) * 100%),white);color:#214767;padding:10px;text-align:left}button.municipality-cell{cursor:pointer;transition:.2s ease}button.municipality-cell:hover{transform:translateY(-1px)}button.municipality-cell.active{border-color:#a7c2e1;box-shadow:inset 0 0 0 1px #bdd3ea}.municipality-cell strong{display:block;font-size:13px}.municipality-cell small{color:#4f739a}.toolbar{display:grid;gap:12px}.toolbar h2{margin:0}.overview-search-input{width:min(640px,100%);min-height:44px;border:1px solid color-mix(in srgb,var(--line) 64%,#9fbbda 36%);border-radius:13px;background:radial-gradient(circle at 18px 50%,color-mix(in srgb,var(--accent) 24%,transparent 76%) 0 2px,transparent 3px),linear-gradient(180deg,color-mix(in srgb,var(--surface) 93%,#edf5ff 7%) 0%,var(--surface) 100%);box-shadow:inset 0 1px #ffffffc7,0 4px 14px #1b4a7c1a;padding:10px 14px 10px 36px;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.overview-search-input::placeholder{color:color-mix(in srgb,var(--muted) 78%,#8ea5bf 22%)}.overview-search-input:hover{border-color:color-mix(in srgb,var(--accent) 42%,var(--line) 58%);box-shadow:inset 0 1px #fffc,0 6px 16px #1b4a7c1f}.overview-search-input:focus{border-color:color-mix(in srgb,var(--accent) 66%,white 34%);outline:none;transform:translateY(-1px);box-shadow:inset 0 1px #ffffffd6,0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent 78%),0 10px 22px #1c528c29}.filters-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.topics-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.filters-grid label{display:grid;gap:5px;font-size:12px;color:var(--muted)}.filters-grid input,.filters-grid .select-field-trigger,.settings-grid input,.settings-grid .select-field-trigger,.region-select-card .select-field-trigger,.note-box .select-field-trigger,.note-box textarea{min-height:40px;border:1px solid color-mix(in srgb,var(--line) 70%,#acc4df 30%);border-radius:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 95%,#f4f8fd 5%) 0%,var(--surface) 100%);color:var(--text);padding:8px 12px;box-shadow:inset 0 1px #ffffffb3,0 1px 2px #22487014;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.filters-grid input:hover,.filters-grid .select-field-trigger:hover,.settings-grid input:hover,.settings-grid .select-field-trigger:hover,.region-select-card .select-field-trigger:hover,.note-box .select-field-trigger:hover,.note-box textarea:hover{border-color:color-mix(in srgb,var(--accent) 34%,var(--line) 66%)}.filters-grid input:focus,.filters-grid .select-field-trigger:focus,.settings-grid input:focus,.settings-grid .select-field-trigger:focus,.region-select-card .select-field-trigger:focus,.note-box .select-field-trigger:focus,.note-box textarea:focus{border-color:color-mix(in srgb,var(--accent) 64%,white 36%);outline:none;box-shadow:inset 0 1px #fffc,0 0 0 3px color-mix(in srgb,var(--accent) 24%,transparent 76%),0 8px 16px #205fa824}.select-field{position:relative;width:100%}.select-field-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;cursor:pointer;padding-right:34px}.select-field.disabled .select-field-trigger{cursor:default;opacity:.66}.select-field-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-field-chevron{position:absolute;right:14px;top:50%;width:8px;height:8px;border-right:2px solid #5b7695;border-bottom:2px solid #5b7695;transform:translateY(-58%) rotate(45deg);transition:transform .2s ease;pointer-events:none}.select-field.open .select-field-chevron{transform:translateY(-40%) rotate(-135deg)}.select-field-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:25;border:1px solid color-mix(in srgb,var(--line) 60%,#9eb9d9 40%);border-radius:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 97%,#edf5ff 3%) 0%,var(--surface) 100%);box-shadow:0 10px 26px #18416d2e,0 2px 6px #193e681a;max-height:238px;overflow-y:auto;padding:6px}.select-field-option{width:100%;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text);text-align:left;padding:8px 10px;cursor:pointer;transition:.18s ease}.select-field-option:hover{border-color:color-mix(in srgb,var(--accent) 30%,transparent 70%);background:color-mix(in srgb,var(--accent-soft) 64%,white 36%)}.select-field-option.active{border-color:color-mix(in srgb,var(--accent) 46%,#b8d0eb 54%);background:color-mix(in srgb,var(--accent-soft) 72%,white 28%);color:color-mix(in srgb,var(--accent-strong) 78%,var(--text) 22%)}.filters-grid .page-search-input{min-height:40px;border-radius:12px;border-color:color-mix(in srgb,var(--line) 70%,#acc4df 30%);background:radial-gradient(circle at 18px 50%,color-mix(in srgb,var(--accent) 20%,transparent 80%) 0 2px,transparent 3px),linear-gradient(180deg,color-mix(in srgb,var(--surface) 94%,#f4f8fd 6%) 0%,var(--surface) 100%);box-shadow:inset 0 1px #ffffffb3,0 1px 2px #22487014;padding:8px 12px 8px 34px;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.filters-grid .page-filter-control{min-height:40px;border-radius:12px}.filters-grid .page-compact-control{min-height:36px;border-radius:11px;padding-top:6px;padding-bottom:6px}.filters-grid .page-search-input::placeholder{color:color-mix(in srgb,var(--muted) 78%,#8ea5bf 22%)}.filters-grid .page-search-input:hover{border-color:color-mix(in srgb,var(--accent) 34%,var(--line) 66%)}.filters-grid .page-search-input:focus{border-color:color-mix(in srgb,var(--accent) 64%,white 36%);outline:none;box-shadow:inset 0 1px #fffc,0 0 0 3px color-mix(in srgb,var(--accent) 24%,transparent 76%),0 8px 16px #205fa824}[data-theme=dark] .filters-grid .page-search-input{border-color:#4a5f79;background:radial-gradient(circle at 18px 50%,rgba(127,174,228,.5) 0 2px,transparent 3px),linear-gradient(180deg,#1b2a3d,#1a2738);box-shadow:inset 0 1px #d8e8fc14,0 1px 2px #050a128c}[data-theme=dark] .filters-grid input,[data-theme=dark] .filters-grid .select-field-trigger,[data-theme=dark] .settings-grid input,[data-theme=dark] .settings-grid .select-field-trigger,[data-theme=dark] .region-select-card .select-field-trigger,[data-theme=dark] .note-box .select-field-trigger,[data-theme=dark] .note-box textarea{border-color:#4a5f79;background:linear-gradient(180deg,#1b2a3d,#1a2738);box-shadow:inset 0 1px #d8e8fc14,0 1px 2px #050a128c}[data-theme=dark] .overview-search-input{border-color:#4d6480;background:radial-gradient(circle at 18px 50%,rgba(127,174,228,.52) 0 2px,transparent 3px),linear-gradient(180deg,#1b2a3d,#1a2738);box-shadow:inset 0 1px #d8e8fc14,0 4px 12px #050c1661}[data-theme=dark] .overview-search-input:hover{border-color:#688eb8}[data-theme=dark] .overview-search-input:focus{border-color:#85add9;box-shadow:inset 0 1px #daeaff1f,0 0 0 3px #598ecc52,0 12px 24px #050c167a}[data-theme=dark] .select-field-chevron{border-right-color:#9cb9d8;border-bottom-color:#9cb9d8}[data-theme=dark] .select-field-menu{border-color:#4f6a88;background:linear-gradient(180deg,#1c2b3f,#182536);box-shadow:0 14px 30px #050c1685,0 2px 6px #03080f66}[data-theme=dark] .select-field-option{color:#dbe7f6}[data-theme=dark] .select-field-option:hover{border-color:#7aa2cd94;background:#3d5c835c}[data-theme=dark] .select-field-option.active{border-color:#81acdbb8;background:#4e729f66;color:#eef4ff}[data-theme=dark] .filters-grid input:hover,[data-theme=dark] .filters-grid .select-field-trigger:hover,[data-theme=dark] .settings-grid input:hover,[data-theme=dark] .settings-grid .select-field-trigger:hover,[data-theme=dark] .region-select-card .select-field-trigger:hover,[data-theme=dark] .note-box .select-field-trigger:hover,[data-theme=dark] .note-box textarea:hover{border-color:#6488b1}[data-theme=dark] .filters-grid input:focus,[data-theme=dark] .filters-grid .select-field-trigger:focus,[data-theme=dark] .settings-grid input:focus,[data-theme=dark] .settings-grid .select-field-trigger:focus,[data-theme=dark] .region-select-card .select-field-trigger:focus,[data-theme=dark] .note-box .select-field-trigger:focus,[data-theme=dark] .note-box textarea:focus{border-color:#7fa5d2;box-shadow:inset 0 1px #daeaff1f,0 0 0 3px #598ecc52,0 10px 20px #050c166b}[data-theme=dark] .filters-grid .page-search-input:hover{border-color:#6488b1}[data-theme=dark] .filters-grid .page-search-input:focus{border-color:#7fa5d2;box-shadow:inset 0 1px #daeaff1f,0 0 0 3px #598ecc52,0 10px 20px #050c166b}.filter-counter{border:1px dashed #cad9ea;border-radius:10px;display:grid;place-items:center;color:#4f6988;font-size:13px;min-height:39px}.filters-actions{display:flex;justify-content:flex-end;margin-top:-2px}.cards-stack,.problem-card{display:grid;gap:10px}.problem-main{display:grid;grid-template-columns:40px 1fr;gap:12px}.rank-badge{width:34px;height:34px;border-radius:50%;background:#e8eff9;color:#23558b;display:grid;place-items:center;font-weight:700}.problem-title-row{display:flex;justify-content:space-between;gap:10px;align-items:center}.problem-title-row h3,.topic-card h3,.source-card h3{margin:0;font-size:17px}.problem-text p,.topic-card p{margin:8px 0;color:color-mix(in srgb,var(--text) 86%,var(--muted) 14%)}.problem-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--muted)}.problem-extra h4{margin:0 0 6px;font-size:14px}.factor-inline-list{display:grid;gap:8px}.factor-inline-item{display:grid;grid-template-columns:90px 1fr;gap:8px;align-items:center}.factor-track{width:100%;height:8px;border-radius:999px;background:#e8eff8;overflow:hidden}.factor-fill{height:100%;background:linear-gradient(90deg,#5e8fbf,#2f6ba6)}.problem-actions{display:flex;flex-wrap:wrap;gap:8px}.topic-open-button{padding:6px 10px;font-size:13px}.toolbar-end{display:flex;justify-content:space-between;align-items:center}.topic-card-main,.source-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th,td{border-bottom:1px solid #e0e9f4;padding:9px 8px;text-align:left;vertical-align:middle;font-size:14px}th{color:#506883;font-weight:600;background:#f8fbff}.trends-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.growth-indicator{color:#2f689f;font-weight:600;font-size:13px}.sector-bars{display:grid;gap:8px}.sector-row{border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:8px;display:grid;grid-template-columns:140px 1fr auto;gap:8px;align-items:center;text-align:left;cursor:pointer}.sector-row.active{border-color:#bfd6ee;background:#f4f8fd}.sector-bar-track{height:8px;border-radius:999px;background:#e7eef7;overflow:hidden}.sector-bar-fill{height:100%;background:linear-gradient(90deg,#8bb0d8,#4f83bb)}.trend-stat-card strong{display:block;margin:3px 0;font-size:34px;color:#2f669a}.source-card{display:grid;gap:8px}.source-meta{display:flex;flex-wrap:wrap;gap:6px 14px;color:var(--muted);font-size:12px}.progress-line{height:8px;border-radius:999px;background:#e9f0f8;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#5b8fc4,#3c74ae)}.source-foot{display:flex;justify-content:space-between;color:color-mix(in srgb,var(--text) 80%,var(--muted) 20%)}.geography-grid{align-items:start}.geo-map-card{display:grid;gap:12px}.geo-map-card-premium{background:linear-gradient(180deg,#fff,#f7fbff)}.geo-map-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.geo-map-toolbar .geo-map-hint{margin:0;flex:1 1 280px}.geo-hover-chip{border:1px solid #c8d9ec;border-radius:999px;padding:5px 10px;background:#f4f9ff;color:#325777;font-size:12px;white-space:nowrap}.geo-view-switch button:disabled{opacity:.5;cursor:not-allowed}.geo-zoom-controls{display:inline-flex;align-items:center;gap:6px}.geo-zoom-controls span{border:1px solid #cfdeef;border-radius:8px;min-width:62px;text-align:center;font-size:12px;color:#3a5c82;background:#f8fbff;padding:6px 8px}.geo-zoom-controls .ghost-button{width:34px;height:34px;border-radius:10px;padding:0;font-size:18px;line-height:1}.geo-heat-legend{display:inline-flex;align-items:center;gap:8px;color:#476383;font-size:11px;white-space:nowrap}.geo-heat-bar{width:132px;height:8px;border-radius:999px;border:1px solid #c9d8ea;background:linear-gradient(90deg,#d1e1f5,#dc7d60);box-shadow:inset 0 1px #ffffffb3}.geo-map-hint{margin:0;color:#58708d;font-size:13px}.geo-attribution{margin:-4px 0 2px;color:#6d829b;font-size:11px;letter-spacing:.01em}.geo-focus-banner{border:1px solid #d3e1f1;border-radius:12px;background:linear-gradient(180deg,#f8fbff,#eef5fd);padding:12px;animation:geo-banner-in .35s ease}.geo-focus-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.geo-focus-head h3{margin:0;font-size:17px}.geo-focus-banner p{margin:8px 0 0;color:#385674;line-height:1.4}.geo-focus-meta{margin-top:10px;display:flex;flex-wrap:wrap;gap:7px}.geo-focus-meta span{border:1px solid #d5e3f2;border-radius:999px;padding:4px 8px;font-size:12px;color:#3a597b;background:#f7fbff}.geo-map-stage{border:1px solid #d6e3f2;border-radius:14px;background:radial-gradient(circle at 50% 18%,#f7fbff,#eef5fd 48%,#e5eef8);padding:10px;overflow:hidden;position:relative;cursor:grab;-webkit-user-select:none;user-select:none}.geo-map-stage.dragging,.geo-map-stage.dragging .map-zone-wrap,.geo-map-stage.dragging .map-zone{cursor:grabbing}.geo-map-stage-premium:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(transparent 0 96%,#d8e4f25a 96%,#d8e4f25a),linear-gradient(90deg,transparent 0 96%,#d8e4f25a 96% 100%);background-size:28px 28px;pointer-events:none;opacity:.36}.geo-map{display:block;width:100%;height:auto;max-height:540px;position:relative;z-index:1;shape-rendering:geometricPrecision;touch-action:none}.geo-map.is-dragging{cursor:grabbing}.geo-region-outline{fill:#e8f1fb;stroke:#b9cee6;stroke-width:1.2;stroke-linejoin:round;vector-effect:non-scaling-stroke}.district-outline{fill:#f0f6ff;stroke:#afc7e1}.map-zone-wrap{cursor:pointer}.map-zone{fill:#e8f1fb;stroke:#6f8eaf;stroke-width:1.05;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:visiblePainted;transform-box:fill-box;transform-origin:center;transition:transform .48s cubic-bezier(.22,1,.36,1),fill .42s ease,stroke .36s ease,filter .44s cubic-bezier(.22,1,.36,1),opacity .3s ease;will-change:transform;outline:none}.map-zone:focus,.map-zone:focus-visible{outline:none}.map-zone-district{stroke-width:2.1}.map-zone-wrap.hovered .map-zone{transform:translateY(-2.4px) scale(1.012);stroke:#3f6e9f;stroke-width:1.55;filter:drop-shadow(0 10px 12px rgba(65,100,141,.24))}.map-zone-wrap.active .map-zone{transform:translateY(-4.4px) scale(1.02);stroke:#2f5f92;stroke-width:1.85;filter:drop-shadow(0 14px 18px rgba(50,91,133,.3))}.map-zone-wrap.no-data{cursor:not-allowed}.map-zone-wrap.no-data .map-zone{fill:#eff3f8;stroke:#b8c5d5;opacity:.78}.map-zone-wrap.no-data.hovered .map-zone,.map-zone-wrap.no-data.active .map-zone{transform:none;stroke:#b8c5d5;stroke-width:1.05;filter:none}.map-zone-label{font-size:10px;font-weight:600;text-anchor:middle;fill:#335a84;stroke:#f7fbffd1;stroke-width:3px;paint-order:stroke fill;pointer-events:none;opacity:.92}.map-zone-wrap.active .map-zone-label{fill:#1d4f83}.map-label-layer{pointer-events:none}.map-zone-label-overlay{font-size:10.5px}.geo-zone-strip{display:flex;gap:8px;flex-wrap:wrap}.geo-zone-chip{border:1px solid #d3e2f2;border-radius:999px;background:#f8fbff;color:#345577;display:inline-flex;align-items:center;gap:7px;padding:6px 10px;cursor:pointer;transition:.2s ease}.geo-zone-chip small{color:#5f7c9f;font-weight:600;font-size:12px}.geo-zone-chip:hover{border-color:#b9d0e7;background:#eff6ff}.geo-zone-chip.active{border-color:#9fbfe0;background:linear-gradient(180deg,#edf5ff,#dfebf9);color:#224f7f}.geo-zone-chip.no-data,.geo-zone-chip:disabled{border-color:#d7e1ee;background:#f4f7fb;color:#7b8fa6;cursor:not-allowed;opacity:.9}.geo-zone-chip.no-data small,.geo-zone-chip:disabled small{color:#8da0b5}.geo-problem.disabled{cursor:default;opacity:.9}.geo-profile{display:grid;gap:10px}.geo-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.geo-stats article{border:1px solid #d9e5f2;border-radius:10px;padding:10px;background:#f8fbff}.geo-stats span{display:block;color:#5e7490;font-size:12px}.geo-stats strong{display:block;margin-top:5px}.geo-problem{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:10px;display:grid;gap:10px;text-align:left}.geo-problem-main{display:grid;gap:6px}.geo-problem-main p{margin:0;font-size:13px;line-height:1.35;color:#355574}.geo-problem-actions{display:flex;gap:8px 12px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap}.geo-problem-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}.geo-problem-action{padding:6px 10px;font-size:12px}.geo-problem-areas{max-height:0;opacity:0;overflow:hidden;transform:translateY(-4px);transition:max-height .32s ease,opacity .26s ease,transform .26s ease}.geo-problem.expanded .geo-problem-areas{max-height:420px;opacity:1;transform:translateY(0)}.geo-problem-area-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}.geo-problem-area-list li{border:1px solid #d4e2f2;border-radius:10px;background:#f7fbff;padding:9px 10px;display:grid;gap:5px}.geo-problem-area-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.geo-problem-area-head strong{font-size:13px}.geo-problem-area-list p{margin:0;font-size:13px;line-height:1.35;color:#365676}.geo-problem-area-meta{display:flex;flex-wrap:wrap;gap:6px}.geo-problem-area-meta span{border:1px solid #d4e1f1;border-radius:999px;background:#eef5ff;color:#3d607f;font-size:11px;padding:3px 7px}.geo-problem-area-link{justify-self:flex-start;padding:5px 10px;font-size:12px}.geo-problem-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.geo-problem-districts{display:block;margin-top:4px;color:#4f7398;font-size:12px}.report-actions{display:flex;gap:8px;flex-wrap:wrap}.report-preview p{white-space:pre-line;margin:0;color:color-mix(in srgb,var(--text) 88%,var(--muted) 12%)}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-list{display:grid;gap:10px}.profile-list div{border:1px solid #d8e4f2;border-radius:10px;padding:10px}.profile-list span{color:#5a718d;font-size:12px}.profile-list strong{display:block;margin-top:4px}.switch-list{display:grid;gap:8px;margin-bottom:12px}.switch-list label{display:flex;align-items:center;gap:8px}.settings-card{display:grid;gap:14px}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.settings-grid label{display:grid;gap:6px;color:#617a96;font-size:13px}.single-check{display:flex!important;align-items:center;gap:8px;border:1px dashed #cad9ea;border-radius:10px;padding:8px 10px}.chip-grid{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid #cad9ea;background:#fff;color:#335273;border-radius:999px;padding:6px 11px;cursor:pointer}.chip.active{background:#e7f0fb;border-color:#b4cde6;color:#24558a}.form-actions{display:flex;justify-content:flex-end}.region-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.region-card{text-align:left;cursor:pointer;transition:.2s ease}.region-card:hover{transform:translateY(-1px)}.region-card.active{border-color:#aac7e4;box-shadow:inset 0 0 0 1px #c1d8ef}.region-head{display:flex;justify-content:space-between;align-items:center}.region-head h3{margin:0 0 8px}.region-head span{font-size:12px;color:#335c87}.muted{color:#5d748f}.region-actions{display:flex;align-items:center;justify-content:space-between}.badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;line-height:1;border-radius:999px;padding:5px 9px}.badge-neutral{background:#edf2f8;color:#4e6785}.badge-medium{background:#e4edf8;color:#2f5e91}.badge-high{background:#f8ece2;color:#9b4f21}.badge-critical{background:#f9e8e9;color:#b13a40}.badge-outlined{background:transparent;border:1px solid #d4e1ef}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#14243b7d;z-index:50;display:grid;place-items:center;padding:24px}.modal-card{width:min(1000px,95vw);max-height:min(92vh,900px);overflow:auto;border-radius:18px;border:1px solid var(--line);background:var(--surface);box-shadow:0 24px 44px #12294533;padding:20px;position:relative}.close-button{position:absolute;top:10px;right:10px}.modal-header h3{margin:0;font-size:22px;padding-right:32px}.modal-meta{margin-top:9px;display:flex;flex-wrap:wrap;gap:8px 12px;color:var(--muted);font-size:12px}.modal-grid{margin-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.modal-section{border:1px solid var(--line);border-radius:12px;padding:12px}.modal-section h4{margin:0 0 8px;font-size:14px}.modal-section p{margin:0;color:color-mix(in srgb,var(--text) 88%,var(--muted) 12%)}.topic-meta-grid{margin-top:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.topic-meta-grid div{border:1px solid #d8e4f1;border-radius:8px;padding:7px 8px}.topic-meta-grid span{color:var(--muted);font-size:12px}.topic-meta-grid strong{display:block;margin-top:4px;font-size:14px}.factor-list{margin-top:10px;display:grid;gap:8px}.factor-item{display:grid;grid-template-columns:1fr 120px 26px;gap:8px;align-items:center;font-size:12px}.snippet-list{margin:0;padding-left:18px;display:grid;gap:8px;color:color-mix(in srgb,var(--text) 86%,var(--muted) 14%)}.status-pair{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}.modal-full{grid-column:1 / -1}.timeline{margin:0;padding:0;list-style:none;border-left:2px solid #d3e0ee}.timeline li{padding-left:12px;margin-bottom:10px}.timeline span{font-size:12px;color:var(--muted)}.timeline p{margin-top:2px}.empty-state{color:#667e99}.toast{position:fixed;right:22px;bottom:20px;z-index:80;background:#1f5b97;color:#fff;padding:10px 14px;border-radius:10px;box-shadow:0 10px 24px #1432563d}.note-button{margin-left:auto}.note-box{margin-top:12px;border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--surface-soft);display:grid;gap:8px}.note-box label{display:grid;gap:6px;color:var(--muted);font-size:12px}.note-box textarea{resize:vertical}.region-select-card{display:grid;gap:10px}.region-select-card label{display:grid;gap:6px;font-size:13px;color:var(--muted)}.region-selected-line{display:flex;align-items:center;gap:8px}.report-admin-only{display:grid;place-items:center;color:var(--muted);grid-column:span 3;min-height:44px}.auth-card{max-width:640px}.auth-card p{color:var(--muted)}.auth-modal-card{width:min(460px,95vw);max-height:min(88vh,680px)}.auth-mode-switch{margin-top:12px}.auth-form{margin-top:14px;display:grid;gap:10px}.auth-form input{min-height:40px;border:1px solid color-mix(in srgb,var(--line) 70%,#acc4df 30%);border-radius:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 95%,#f4f8fd 5%) 0%,var(--surface) 100%);color:var(--text);padding:8px 12px}.auth-form input:focus{border-color:color-mix(in srgb,var(--accent) 64%,white 36%);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 24%,transparent 76%),0 8px 16px #205fa824}.auth-error{margin:0;font-size:13px;color:#b14143}.auth-submit{display:flex;justify-content:flex-end}.notebook-note{display:grid;gap:8px}.notebook-toolbar-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;grid-column:3 / -1}.notebook-modal-card{width:min(760px,95vw);max-height:min(90vh,760px)}.notebook-modal-head h3{margin:0}.notebook-modal-head p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.4}.notebook-modal-form{margin-top:12px;display:grid;gap:10px}.notebook-modal-filters{grid-template-columns:2fr 1fr;align-items:start}.notebook-news-picker{position:relative;width:100%}.notebook-news-picker .page-compact-control{width:100%}.notebook-news-list{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:25;max-height:200px;overflow:auto;border:1px solid color-mix(in srgb,var(--line) 78%,#b7cde5 22%);border-radius:12px;background:linear-gradient(180deg,#f8fbff,#eef5fd);box-shadow:inset 0 1px #ffffffd9,0 8px 16px #1f4e8114;padding:6px;display:grid;gap:5px}.notebook-news-item{border:1px solid #d8e6f4;background:#fff;color:var(--text);text-align:left;border-radius:10px;padding:8px 10px;cursor:pointer;font-size:13px;line-height:1.3;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.notebook-news-item:hover{background:#eef5ff;border-color:#b8d1eb;box-shadow:0 6px 12px #1d49781a;transform:translateY(-1px)}.notebook-news-item.active{background:linear-gradient(180deg,#edf5ff,#dfebf9);border-color:#9fbfe0;color:#1f4f84;box-shadow:0 8px 14px #1a4c7e24}.notebook-news-empty{border:1px dashed #c4d6ea;border-radius:10px;color:var(--muted);font-size:12px;padding:10px;background:color-mix(in srgb,var(--surface-soft) 72%,white 28%)}.notebook-news-list::-webkit-scrollbar{width:8px}.notebook-news-list::-webkit-scrollbar-track{background:transparent}.notebook-news-list::-webkit-scrollbar-thumb{border-radius:999px;background:#c7d8ea}.notebook-modal-label{display:grid;gap:6px;color:var(--muted);font-size:13px}.notebook-modal-label textarea{min-height:112px}.notebook-create-actions{margin-top:10px;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.note-head{display:flex;justify-content:space-between;align-items:center}.note-head span{font-size:12px;color:#295f96;border:1px solid color-mix(in srgb,var(--line) 85%,#8ab1d8 15%);border-radius:999px;padding:4px 8px}[data-theme=dark] .sidebar-link{color:#c6d6ea}[data-theme=dark] .sidebar-link:hover,[data-theme=dark] .sidebar-link.active{background:#1f2d42;border-color:#40546f;color:#dce8f7}[data-theme=dark] .sidebar-foot{background:#1a2738;border-color:#3c506a}[data-theme=dark] .sidebar-foot p{color:#b6c9e1}[data-theme=dark] .sidebar-foot strong{color:#e6f0ff}[data-theme=dark] .sidebar-update{color:#c7d8ee}[data-theme=dark] .signal-emblem{filter:drop-shadow(0 1px 2px rgba(6,16,28,.65))}[data-theme=dark] .modal-card{border-color:transparent}[data-theme=dark] .top-item{background:#1a2738;border-color:#3b4f69;color:#e8f1ff}[data-theme=dark] .top-item small{color:#bfd0e6}[data-theme=dark] .top-rank{background:#2b4565;color:#edf4ff}[data-theme=dark] .top-item:hover,[data-theme=dark] .municipality-cell,[data-theme=dark] .filter-counter,[data-theme=dark] .single-check,[data-theme=dark] .geo-stats article{background:#1d2b3f;border-color:#3a4f6a}[data-theme=dark] .municipality-cell{color:#e8f1ff}[data-theme=dark] .municipality-cell small{color:#c6d8ee}[data-theme=dark] .geo-map-stage{border-color:#3d516c;background:radial-gradient(circle at 50% 20%,#26384f,#1d2d42 52%,#182638)}[data-theme=dark] .geo-map-card-premium{background:linear-gradient(180deg,#1b2a3d,#162334)}[data-theme=dark] .geo-map-stage-premium:before{background:linear-gradient(transparent 0 96%,#3a506c4b 96%,#3a506c4b),linear-gradient(90deg,transparent 0 96%,#3a506c4b 96% 100%);opacity:.32}[data-theme=dark] .geo-focus-banner{border-color:#3d526f;background:linear-gradient(180deg,#23354c,#1d2d42)}[data-theme=dark] .geo-map-hint{color:#bad0ea}[data-theme=dark] .geo-hover-chip{border-color:#496686;background:#203249;color:#d8e8fd}[data-theme=dark] .geo-attribution{color:#b7cae3}[data-theme=dark] .geo-zoom-controls span{border-color:#43607f;color:#d8e8fe;background:#1d2d42}[data-theme=dark] .geo-heat-legend{color:#bdd2eb}[data-theme=dark] .geo-heat-bar{border-color:#466180;background:linear-gradient(90deg,#31527c,#ac4b35);box-shadow:inset 0 1px #e3efff14}[data-theme=dark] .geo-focus-head h3,[data-theme=dark] .geo-focus-banner p{color:#e6f1ff}[data-theme=dark] .geo-focus-meta span{border-color:#445b77;color:#d6e6fb;background:#1c2b3f}[data-theme=dark] .map-zone{fill:#334b67;stroke:#6f90b5}[data-theme=dark] .geo-region-outline{fill:#334b67;stroke:#4b6686}[data-theme=dark] .district-outline{fill:#2a3f57;stroke:#57769b}[data-theme=dark] .map-zone-wrap.active .map-zone{stroke:#9ec0e4;filter:drop-shadow(0 16px 20px rgba(8,16,27,.58))}[data-theme=dark] .map-zone-wrap.no-data .map-zone{fill:#2a3950;stroke:#5c738f;opacity:.62}[data-theme=dark] .map-zone-wrap.no-data.hovered .map-zone,[data-theme=dark] .map-zone-wrap.no-data.active .map-zone{stroke:#5c738f;filter:none}[data-theme=dark] .map-zone-wrap.hovered .map-zone{stroke:#8eb2d8;filter:drop-shadow(0 12px 14px rgba(8,17,29,.48))}[data-theme=dark] .map-zone-label{fill:#d8e8fd;stroke:#09121db8}[data-theme=dark] .map-zone-wrap.active .map-zone-label{fill:#f2f8ff}[data-theme=dark] .district-hatch{opacity:.31}[data-theme=dark] .geo-problem-districts{color:#bfd3ea}[data-theme=dark] .geo-problem-main p{color:#d7e7fb}[data-theme=dark] .geo-problem-area-list li{border-color:#415873;background:#203146}[data-theme=dark] .geo-problem-area-list p{color:#dbe9fb}[data-theme=dark] .geo-problem-area-meta span{border-color:#476281;background:#1b2d41;color:#cfe2fa}[data-theme=dark] .geo-zone-chip{border-color:#415975;background:#1c2b3f;color:#d8e8fe}[data-theme=dark] .geo-zone-chip small{color:#aec7e6}[data-theme=dark] .geo-zone-chip:hover{border-color:#557599;background:#22344b}[data-theme=dark] .geo-zone-chip.active{border-color:#6f94be;background:linear-gradient(180deg,#29425f,#22364e);color:#eef5ff}[data-theme=dark] .geo-zone-chip.no-data,[data-theme=dark] .geo-zone-chip:disabled{border-color:#445972;background:#1a2a3d;color:#8ea8c5}[data-theme=dark] .geo-zone-chip.no-data small,[data-theme=dark] .geo-zone-chip:disabled small{color:#7e99b7}[data-theme=dark] .problem-text p,[data-theme=dark] .topic-card p,[data-theme=dark] .problem-extra p,[data-theme=dark] .modal-section p,[data-theme=dark] .snippet-list,[data-theme=dark] .timeline p,[data-theme=dark] .report-preview p{color:#e5efff}[data-theme=dark] .problem-meta,[data-theme=dark] .modal-meta,[data-theme=dark] .topic-meta-grid span,[data-theme=dark] .source-meta,[data-theme=dark] .timeline span,[data-theme=dark] .section-head span{color:#c6d8ee}[data-theme=dark] .top-item strong,[data-theme=dark] .geo-problem strong,[data-theme=dark] .topic-card h3,[data-theme=dark] .problem-title-row h3,[data-theme=dark] .source-card h3,[data-theme=dark] .modal-header h3,[data-theme=dark] .modal-section h4,[data-theme=dark] .geo-stats strong{color:#f0f6ff}[data-theme=dark] .topic-meta-grid div{border-color:#415974;background:#1a2a3d}[data-theme=dark] .topic-meta-grid strong{color:#ebf4ff}[data-theme=dark] .problem-card,[data-theme=dark] .topic-card,[data-theme=dark] .source-card,[data-theme=dark] .modal-section,[data-theme=dark] .geo-problem{background:#1a2738;border-color:#3b4f69}[data-theme=dark] .source-foot{color:#d7e6fa}[data-theme=dark] .secondary-button,[data-theme=dark] .ghost-button{color:#d7e8ff}[data-theme=dark] .secondary-button:hover,[data-theme=dark] .ghost-button:hover{color:#f0f6ff}[data-theme=dark] .auth-form input{border-color:#4a5f79;background:linear-gradient(180deg,#1b2a3d,#1a2738);box-shadow:inset 0 1px #d8e8fc14,0 1px 2px #050a128c}[data-theme=dark] .auth-form input:focus{border-color:#7fa5d2;box-shadow:0 0 0 3px #598ecc52,0 10px 20px #050c166b}[data-theme=dark] .auth-error{color:#f3a0a2}[data-theme=dark] .notebook-modal-head p{color:#c6d8ee}[data-theme=dark] .notebook-news-list{border-color:#425b78;background:linear-gradient(180deg,#1f3046,#1a2a3d);box-shadow:inset 0 1px #dcebff14,0 10px 18px #050c1670}[data-theme=dark] .notebook-news-item{color:#dbe9fb;border-color:#415872;background:#1d2f44}[data-theme=dark] .notebook-news-item:hover{background:#243a53;border-color:#6488b1;box-shadow:0 8px 12px #050e1975}[data-theme=dark] .notebook-news-item.active{background:linear-gradient(180deg,#304f71,#284462);border-color:#6f94be;color:#eef5ff}[data-theme=dark] .notebook-news-empty{border-color:#445b77;color:#bcd1e9;background:#213247}[data-theme=dark] .notebook-news-list::-webkit-scrollbar-thumb{background:#5c7798}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:.4}to{opacity:1}}@keyframes geo-hatch-pulse{0%{opacity:.16}to{opacity:.34}}@keyframes geo-banner-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.chat-shell{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;min-height:72vh}.chat-sidebar{border-right:1px solid var(--line);padding-right:18px;display:flex;flex-direction:column;gap:14px}.chat-new-session{width:100%}.chat-session-list{display:grid;gap:10px;overflow-y:auto;padding-right:4px}.chat-session-item{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;padding:12px 14px;display:grid;gap:4px;text-align:left;cursor:pointer;transition:border-color .2s ease,transform .2s ease,background .2s ease}.chat-session-item:hover{border-color:color-mix(in srgb,var(--accent) 28%,var(--line) 72%);transform:translateY(-1px)}.chat-session-item.active{border-color:color-mix(in srgb,var(--accent) 46%,var(--line) 54%);background:color-mix(in srgb,var(--accent-soft) 80%,var(--surface) 20%)}.chat-session-item strong,.chat-citation strong{font-size:14px}.chat-session-item small,.chat-session-item span,.chat-citation span,.chat-citation small{color:var(--muted)}.chat-session-placeholder,.chat-empty-placeholder{border:1px dashed var(--line);border-radius:14px;padding:18px;color:var(--muted);background:color-mix(in srgb,var(--surface-soft) 72%,transparent 28%)}.chat-main{display:grid;grid-template-rows:auto 1fr auto;gap:16px;min-width:0}.chat-status-banner{border:1px solid var(--line);border-radius:16px;padding:14px 16px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-soft) 78%,var(--surface) 22%) 0%,var(--surface) 100%);display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.chat-status-banner strong,.chat-status-banner span{display:block}.chat-status-banner span{margin-top:6px;color:var(--muted)}.chat-mode-badge{border-radius:999px;padding:7px 11px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.chat-mode-badge.live{background:#358a5c24;color:#23724a}.chat-mode-badge.fallback{background:#205fa81f;color:var(--accent)}.chat-message-list{display:grid;gap:14px;align-content:start;overflow-y:auto;padding-right:4px}.chat-message{border:1px solid var(--line);border-radius:18px;padding:14px 16px;background:var(--surface);box-shadow:var(--shadow)}.chat-message.user{background:color-mix(in srgb,var(--accent-soft) 74%,var(--surface) 26%)}.chat-message-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.chat-message-meta span{color:var(--muted);font-size:12px}.chat-message p{margin:0;white-space:pre-wrap;line-height:1.6}.chat-citations{margin-top:14px;display:grid;gap:10px}.chat-citations h4{margin:0;font-size:13px}.chat-citation{border:1px solid var(--line);border-radius:14px;padding:12px 13px;background:color-mix(in srgb,var(--surface-soft) 76%,var(--surface) 24%);display:grid;gap:4px;text-decoration:none;color:inherit}.chat-citation:hover{border-color:color-mix(in srgb,var(--accent) 32%,var(--line) 68%)}.chat-compose{border-top:1px solid var(--line);padding-top:16px;display:grid;gap:12px}.chat-compose textarea{width:100%;resize:vertical;min-height:118px;border:1px solid var(--line);border-radius:16px;padding:14px 16px;background:var(--surface)}.chat-compose textarea:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 62%,white 38%);box-shadow:0 0 0 3px #c9dcef59}.chat-compose-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.chat-compose-hint{color:var(--muted);font-size:13px}.chat-empty-state{max-width:760px}.chat-error{margin-top:4px}[data-theme=dark] .chat-session-item,[data-theme=dark] .chat-citation,[data-theme=dark] .chat-status-banner,[data-theme=dark] .chat-message.user{box-shadow:none}@media (max-width: 1160px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-grid,.trends-grid,.profile-grid,.region-grid{grid-template-columns:1fr}.filters-grid,.topics-filters,.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.geo-focus-meta{gap:6px}.geo-map-toolbar{align-items:flex-start}.chat-shell{grid-template-columns:1fr}.chat-sidebar{border-right:0;border-bottom:1px solid var(--line);padding-right:0;padding-bottom:16px}}@media (max-width: 980px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;transform:translate(-102%);transition:transform .25s ease;width:min(88vw,320px);box-shadow:10px 0 34px #142a452e}.sidebar.open{transform:translate(0)}.sidebar-backdrop.show{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#121f3059;z-index:25}.sidebar-close,.menu-toggle{display:inline-grid;place-items:center}.topbar{grid-template-columns:1fr;gap:8px;padding:10px 14px}.workspace-main{padding:14px}}@media (max-width: 700px){.kpi-grid,.filters-grid,.topics-filters,.notebook-modal-filters,.settings-grid,.municipality-grid.large,.municipality-grid,.geo-stats,.modal-grid{grid-template-columns:1fr}.topbar-context{display:none}.line-chart-labels{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.region-actions{flex-direction:column;align-items:flex-start;gap:8px}.geo-map-stage{padding:8px}.geo-zone-strip{gap:6px}.geo-zone-chip{width:100%;justify-content:space-between}.notebook-toolbar-actions{grid-column:auto;justify-content:stretch;flex-direction:column;align-items:stretch}.map-zone-label{display:none}.chat-compose-actions{flex-direction:column;align-items:stretch}}
