:root{--primary-color: #1a365d;--primary-light: #2a4a7d;--primary-dark: #0a203d;--success-color: #2ecc71;--warning-color: #f39c12;--danger-color: #e74c3c;--info-color: #3498db;--bg-color: #f8f9fa;--card-bg: #ffffff;--text-primary: #2c3e50;--text-secondary: #7f8c8d;--border-color: #e0e0e0;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .15);--border-radius: 8px;--border-radius-sm: 4px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-xxl: 24px;--transition: all .3s ease;--header-height: 48px;--chart-foreground: #373d3f;--chart-background: transparent;--chart-axis-border: #e0e0e0;--chart-axis-ticks: #e0e0e0;--chart-grid-border: #e0e0e0;--chart-legend-color: inherit;--chart-data-label-color: #373d3f;--chart-tooltip-bg: #ffffff;--chart-tooltip-color: #373d3f}.dark-mode-toggle{position:fixed;top:10px;right:10px;z-index:10000;width:44px;height:44px;padding:0;border:1px solid var(--border-color);background:var(--card-bg);border-radius:50%;cursor:pointer;font-size:var(--font-size-lg);transition:var(--transition);box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center}.dark-mode-toggle:before{content:"🌙"}:root[data-theme=dark] .dark-mode-toggle:before{content:"☀️"}.dark-mode-toggle:hover{transform:scale(1.1);box-shadow:var(--shadow-lg)}:root[data-theme=dark] .dark-mode-toggle{background:var(--primary-color);color:var(--text-primary);border-color:var(--primary-color)}:root[data-theme=dark]{--primary-color: #3498db;--primary-light: #2980b9;--primary-dark: #2c3e50;--bg-color: #1a1a1a;--card-bg: #2c3e50;--text-primary: #ecf0f1;--text-secondary: #95a5a6;--border-color: #34495e;--success-color: #27ae60;--warning-color: #f39c12;--danger-color: #e74c3c;--info-color: #3498db;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .5);--chart-foreground: #ecf0f1;--chart-background: transparent;--chart-axis-border: #34495e;--chart-axis-ticks: #34495e;--chart-grid-border: #34495e;--chart-legend-color: #ecf0f1;--chart-data-label-color: #ecf0f1;--chart-tooltip-bg: #2c3e50;--chart-tooltip-color: #ecf0f1}:root[data-theme=dark] .scarcity-status.NEW,:root[data-theme=dark] .scarcity-status.open{background:#27ae60;color:#fff}:root[data-theme=dark] .scarcity-status.IN_PROGRESS,:root[data-theme=dark] .scarcity-status.in_progress{background:#f39c12;color:#fff}:root[data-theme=dark] .scarcity-status.FIXED,:root[data-theme=dark] .scarcity-status.fixed{background:#2980b9;color:#fff}:root[data-theme=dark] .scarcity-status.CLOSED,:root[data-theme=dark] .scarcity-status.closed{background:#e74c3c;color:#fff}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{color:var(--text-primary);background:var(--card-bg)}:root[data-theme=dark] .stats-table td{color:var(--text-primary)}:root[data-theme=dark] .bar-container{background:var(--primary-dark)}:root[data-theme=dark] .bar-label,:root[data-theme=dark] .bar-value{color:var(--text-primary)}:root[data-theme=dark] .radar-grid{stroke:var(--border-color)}:root[data-theme=dark] .radar-axis{stroke:var(--text-secondary)}:root[data-theme=dark] .radar-labels,:root[data-theme=dark] .radar-title{fill:var(--text-primary)}:root[data-theme=dark] .date-input input,:root[data-theme=dark] .search-box input{color:var(--text-primary);background:var(--card-bg)}:root[data-theme=dark] .filter-input{color:var(--text-primary);background:var(--card-bg)}:root[data-theme=dark] .search-reset-btn{background:var(--primary-dark);color:var(--text-secondary);border-color:var(--border-color)}:root[data-theme=dark] .search-reset-btn:hover{background:var(--danger-color);color:#fff}:root[data-theme=dark] .stats-header h2{color:var(--text-primary)}:root[data-theme=dark] .stats-filters{color:var(--text-primary)}:root[data-theme=dark] .chart-title{color:var(--text-primary)}:root[data-theme=dark] .filter-group label{color:var(--text-primary)}:root[data-theme=dark] .date-input label{color:var(--text-primary)}:root[data-theme=dark] .filter-panel-header h2{color:var(--text-primary)}:root[data-theme=dark] .view-toggle-btn{color:var(--text-primary);background:var(--card-bg);border-color:var(--border-color)}:root[data-theme=dark] .view-toggle-btn:hover{background:var(--primary-dark)}:root[data-theme=dark] .view-toggle-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}:root[data-theme=dark] .results-info{color:var(--text-secondary)}:root[data-theme=dark] .list-header{background:var(--primary-dark)}:root[data-theme=dark] .app-header{color:var(--text-primary)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:var(--bg-color);color:var(--text-primary);line-height:1.6;min-height:100vh}a{color:var(--primary-color);text-decoration:none}button{cursor:pointer;border:none;background:none;font-family:inherit}input,select,textarea{font-family:inherit;font-size:var(--font-size-md)}h1,h2,h3,h4,h5,h6{line-height:1.2;margin-bottom:var(--spacing-md)}h1{font-size:var(--font-size-xxl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}h4{font-size:var(--font-size-md)}code,.monospace{font-family:SF Mono,Monaco,Courier New,monospace;font-size:var(--font-size-sm);background:var(--bg-color);padding:2px 6px;border-radius:var(--border-radius-sm);color:var(--text-primary);border:1px solid var(--border-color)}.main-content{max-width:1400px;margin:0 auto;padding:var(--spacing-md);padding-bottom:calc(var(--spacing-md) + 40px)}.view{display:none}.view.active{display:block}.view-toggle{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.view-toggle-btn{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);background:var(--card-bg);border-radius:var(--border-radius-sm);cursor:pointer;font-size:var(--font-size-sm);transition:var(--transition)}.view-toggle-btn:hover{background:var(--bg-color)}.view-toggle-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.view-toggle-btn.filters-active{background:var(--success-color);color:#fff;border-color:var(--success-color)}.app-header{position:sticky;top:0;background:var(--card-bg);border-bottom:1px solid var(--border-color);padding:var(--spacing-sm) var(--spacing-md);padding-bottom:var(--spacing-sm);margin-bottom:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap;z-index:101;box-shadow:var(--shadow-sm);min-height:var(--header-height)}.header-left,.header-right{display:flex;gap:var(--spacing-sm);align-items:center}.header-center{flex:1;min-width:250px}.header-center .search-box{margin-bottom:0}.header-center .search-box input{width:100%;min-width:200px}.filter-panel{background:var(--card-bg);border-radius:var(--border-radius);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.filter-panel-bottom{position:fixed;bottom:0;left:0;right:0;background:var(--card-bg);border-top:1px solid var(--border-color);box-shadow:0 -4px 12px #00000026;z-index:1000;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);max-height:80vh;overflow-y:auto}.filter-panel-bottom.active{transform:translateY(0)}.filter-panel-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color);background:var(--bg-color);position:sticky;top:0;z-index:1}.filter-panel-header h2{color:var(--primary-color);font-size:var(--font-size-lg);margin:0}.filter-close-btn{background:var(--danger-color);color:#fff;border:none;border-radius:50%;width:32px;height:32px;cursor:pointer;font-size:var(--font-size-lg);display:flex;align-items:center;justify-content:center;transition:var(--transition);transform:rotate(45deg)}.filter-close-btn:hover{background:var(--primary-dark);transform:scale(1.1) rotate(45deg)}.filter-panel-content{padding:var(--spacing-lg)}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.filter-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.filter-group label{font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary)}.filter-input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--card-bg);transition:var(--transition)}.filter-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #1a365d1a}.filter-input[multiple]{min-height:80px;resize:vertical}.filter-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius);font-size:var(--font-size-md);font-weight:500;transition:var(--transition);min-width:100px}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-light)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--bg-color);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--border-color)}.btn-danger{background:var(--danger-color);color:#fff}.btn-danger:hover{background:var(--primary-dark)}.btn-success{background:var(--success-color);color:#fff}.btn-success:hover{background:#218838}.btn-pagination{background:var(--card-bg);color:var(--text-primary);border:1px solid var(--border-color)}.btn-pagination:hover:not(:disabled){background:var(--primary-color);color:#fff}.btn-pagination:disabled{opacity:.5;cursor:not-allowed}.map-container{background:var(--card-bg);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);overflow:hidden;margin-bottom:var(--spacing-lg)}.map-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-color);border-bottom:1px solid var(--border-color);flex-wrap:wrap;gap:var(--spacing-sm)}.map-header h3{color:var(--primary-color);font-size:var(--font-size-lg);margin:0}.map-coordinates{font-size:var(--font-size-sm);color:var(--text-secondary);font-family:monospace}.scarcity-map{width:100%;height:400px;border:none;display:block}.list-container{background:var(--card-bg);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);overflow:hidden}.list-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-color);border-bottom:1px solid var(--border-color);flex-wrap:wrap;gap:var(--spacing-md)}.results-info{font-size:var(--font-size-sm);color:var(--text-secondary)}#reload-list{min-width:auto;padding:var(--spacing-xs) var(--spacing-md)}.search-box{position:relative;display:flex;margin-bottom:var(--spacing-lg)}.search-box input{padding:var(--spacing-sm) var(--spacing-md);padding-right:var(--spacing-xl);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);min-width:250px;flex:1}.search-box input:focus{outline:none;border-color:var(--primary-color)}.search-reset-btn{position:absolute;right:calc(var(--spacing-md) - 2px);top:50%;transform:translateY(-50%);background:var(--border-color);border:none;border-radius:var(--border-radius-sm);width:24px;height:24px;font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);opacity:0;pointer-events:none}.search-box input:not(:placeholder-shown)+.search-reset-btn,.search-box input:focus+.search-reset-btn{opacity:1;pointer-events:auto}.search-reset-btn:hover{background:var(--danger-color);color:#fff}.scarcity-list{padding:var(--spacing-md)}.scarcity-item{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-md);margin-bottom:var(--spacing-sm);transition:var(--transition);cursor:pointer;scroll-margin-top:calc(var(--header-height) + var(--spacing-lg))}.scarcity-title{font-weight:700}.scarcity-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--primary-color)}.scarcity-item.last{margin-bottom:0}.scarcity-item.expanded{border-color:var(--primary-color);border-width:2px;box-shadow:var(--shadow-md);margin-bottom:var(--spacing-md)}.detail-content{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-color)}.detail-collapse{background:var(--primary-color);color:#fff;border:none;border-radius:50%;width:28px;height:28px;font-size:var(--font-size-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.detail-collapse:hover{background:var(--primary-light);transform:scale(1.1)}.share-btn{background:transparent;color:var(--primary-color);border:1px solid var(--primary-color);border-radius:50%;width:28px;height:28px;font-size:var(--font-size-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.share-btn:hover{background:var(--primary-color);color:#fff;transform:scale(1.1)}.scarcity-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:var(--spacing-sm);flex-wrap:wrap;gap:var(--spacing-sm)}.scarcity-header.expanded{align-items:center}.scarcity-id{font-weight:700;color:var(--primary-color);font-family:monospace}.scarcity-status{padding:2px 8px;border-radius:12px;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase}.scarcity-status.NEW,.scarcity-status.open{background:#d4edda;color:#155724}.scarcity-status.IN_PROGRESS,.scarcity-status.in_progress{background:#fff3cd;color:#856404}.scarcity-status.FIXED,.scarcity-status.fixed{background:#cce5ff;color:#004085}.scarcity-status.CLOSED,.scarcity-status.closed{background:#f8d7da;color:#721c24}.scarcity-description{color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:var(--font-size-md)}.scarcity-meta{display:flex;gap:var(--spacing-md);font-size:var(--font-size-sm);color:var(--text-secondary);flex-wrap:wrap}.scarcity-meta span{display:flex;align-items:center;gap:4px}.district-badge{background:var(--bg-color);padding:2px 8px;border-radius:var(--border-radius-sm);border:1px solid var(--border-color);font-size:var(--font-size-xs)}.scarcity-scores{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm);flex-wrap:wrap}.score-badge{font-size:var(--font-size-xs);padding:2px 6px;border-radius:4px;font-weight:600}.score-hoeflich{background:#2ecc7133;color:#2ecc71}.score-sachlich{background:#3498db33;color:#3498db}.score-emotional{background:#f39c1233;color:#f39c12}.score-von_oben_herab{background:#e74c3c33;color:#e74c3c}.score-geistreich{background:#9b59b633;color:#9b59b6}.score-genervt{background:#e91e6333;color:#e91e63}.score-passiv_aggressiv{background:#f1c40f33;color:#f1c40f}.ai-indicator{padding:2px 8px;font-size:var(--font-size-sm);color:var(--text-primary);font-weight:600;cursor:default}.ai-indicator:hover{opacity:.7}.ai-bar-container{height:12px}.ai-bar-fill{height:100%;border-radius:4px;transition:width .5s ease-out;will-change:width}.pagination{display:flex;justify-content:center;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-color);border-top:1px solid var(--border-color)}.page-info{font-size:var(--font-size-sm);color:var(--text-secondary)}.pagination .filter-group{display:flex;flex-direction:row;align-items:center;gap:var(--spacing-sm)}.pagination .filter-group label{font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);white-space:nowrap}.pagination .filter-input{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--card-bg);color:var(--text-primary);font-size:var(--font-size-sm)}.stats-header{margin-bottom:var(--spacing-lg)}.stats-header h2{color:var(--primary-color)}.stats-filters{display:flex;gap:var(--spacing-md);align-items:end;margin-bottom:var(--spacing-lg);flex-wrap:wrap}.date-range{display:flex;gap:var(--spacing-md)}.date-input{display:flex;flex-direction:column;gap:var(--spacing-xs)}.date-input label{font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary)}.date-input input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-sm)}.stats-content{background:var(--card-bg);border-radius:var(--border-radius);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.chart-container{margin-bottom:var(--spacing-lg);width:100%;min-height:400px;background:var(--card-bg)}.chart-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-md)}#category-chart-container,#ai-stats-chart-container{width:100%;min-height:400px}.chart-container,#category-distribution-chart-container,#ai-stats-chart-container,#ai-timeseries-chart-container,#category-timeseries-chart-container,#processing-time-stats-chart-container,#processing-time-timeseries-chart,#processing-time-categories-chart{background:var(--chart-background)!important}.chart-container svg text,#category-distribution-chart-container svg text,#ai-stats-chart-container svg text,#ai-timeseries-chart-container svg text,#category-timeseries-chart-container svg text,#processing-time-stats-chart-container svg text,#processing-time-timeseries-chart svg text,#processing-time-categories-chart svg text{fill:var(--chart-foreground)!important;color:var(--chart-foreground)!important}.chart-container svg line,#category-distribution-chart-container svg line,#ai-stats-chart-container svg line,#ai-timeseries-chart-container svg line,#category-timeseries-chart-container svg line,#processing-time-stats-chart-container svg line,#processing-time-timeseries-chart svg line,#processing-time-categories-chart svg line{stroke:var(--chart-grid-border)!important}.chart-container svg .apexcharts-xaxis line,.chart-container svg .apexcharts-yaxis line,#category-distribution-chart-container svg .apexcharts-xaxis line,#category-distribution-chart-container svg .apexcharts-yaxis line,#ai-stats-chart-container svg .apexcharts-xaxis line,#ai-stats-chart-container svg .apexcharts-yaxis line,#ai-timeseries-chart-container svg .apexcharts-xaxis line,#ai-timeseries-chart-container svg .apexcharts-yaxis line,#category-timeseries-chart-container svg .apexcharts-xaxis line,#category-timeseries-chart-container svg .apexcharts-yaxis line,#processing-time-stats-chart-container svg .apexcharts-xaxis line,#processing-time-stats-chart-container svg .apexcharts-yaxis line,#processing-time-timeseries-chart svg .apexcharts-xaxis line,#processing-time-timeseries-chart svg .apexcharts-yaxis line,#processing-time-categories-chart svg .apexcharts-xaxis line,#processing-time-categories-chart svg .apexcharts-yaxis line{stroke:var(--chart-axis-border)!important}.chart-container svg .apexcharts-xaxis-tick,.chart-container svg .apexcharts-yaxis-tick,#category-distribution-chart-container svg .apexcharts-xaxis-tick,#category-distribution-chart-container svg .apexcharts-yaxis-tick,#ai-stats-chart-container svg .apexcharts-xaxis-tick,#ai-stats-chart-container svg .apexcharts-yaxis-tick,#ai-timeseries-chart-container svg .apexcharts-xaxis-tick,#ai-timeseries-chart-container svg .apexcharts-yaxis-tick,#category-timeseries-chart-container svg .apexcharts-xaxis-tick,#category-timeseries-chart-container svg .apexcharts-yaxis-tick,#processing-time-stats-chart-container svg .apexcharts-xaxis-tick,#processing-time-stats-chart-container svg .apexcharts-yaxis-tick,#processing-time-timeseries-chart svg .apexcharts-xaxis-tick,#processing-time-timeseries-chart svg .apexcharts-yaxis-tick,#processing-time-categories-chart svg .apexcharts-xaxis-tick,#processing-time-categories-chart svg .apexcharts-yaxis-tick{stroke:var(--chart-axis-ticks)!important}.chart-container .apexcharts-legend-text,#category-distribution-chart-container .apexcharts-legend-text,#ai-stats-chart-container .apexcharts-legend-text,#ai-timeseries-chart-container .apexcharts-legend-text,#category-timeseries-chart-container .apexcharts-legend-text,#processing-time-stats-chart-container .apexcharts-legend-text,#processing-time-timeseries-chart .apexcharts-legend-text,#processing-time-categories-chart .apexcharts-legend-text{color:var(--chart-legend-color)!important}.chart-container .apexcharts-tooltip,#category-distribution-chart-container .apexcharts-tooltip,#ai-stats-chart-container .apexcharts-tooltip,#ai-timeseries-chart-container .apexcharts-tooltip,#category-timeseries-chart-container .apexcharts-tooltip,#processing-time-stats-chart-container .apexcharts-tooltip,#processing-time-timeseries-chart .apexcharts-tooltip,#processing-time-categories-chart .apexcharts-tooltip{background:var(--chart-tooltip-bg)!important;color:var(--chart-tooltip-color)!important;border-color:var(--chart-axis-border)!important}.chart-container .apexcharts-tooltip-text,#category-distribution-chart-container .apexcharts-tooltip-text,#ai-stats-chart-container .apexcharts-tooltip-text,#ai-timeseries-chart-container .apexcharts-tooltip-text,#category-timeseries-chart-container .apexcharts-tooltip-text,#processing-time-stats-chart-container .apexcharts-tooltip-text,#processing-time-timeseries-chart .apexcharts-tooltip-text,#processing-time-categories-chart .apexcharts-tooltip-text{color:var(--chart-tooltip-color)!important;fill:var(--chart-tooltip-color)!important}.chart-container .apexcharts-datalabel,#category-distribution-chart-container .apexcharts-datalabel,#ai-stats-chart-container .apexcharts-datalabel,#ai-timeseries-chart-container .apexcharts-datalabel,#category-timeseries-chart-container .apexcharts-datalabel,#processing-time-stats-chart-container .apexcharts-datalabel,#processing-time-timeseries-chart .apexcharts-datalabel,#processing-time-categories-chart .apexcharts-datalabel,.chart-container .apexcharts-datalabel-text,#category-distribution-chart-container .apexcharts-datalabel-text,#ai-stats-chart-container .apexcharts-datalabel-text,#ai-timeseries-chart-container .apexcharts-datalabel-text,#category-timeseries-chart-container .apexcharts-datalabel-text,#processing-time-stats-chart-container .apexcharts-datalabel-text,#processing-time-timeseries-chart .apexcharts-datalabel-text,#processing-time-categories-chart .apexcharts-datalabel-text,.chart-container .apexcharts-datalabel-value,#category-distribution-chart-container .apexcharts-datalabel-value,#ai-stats-chart-container .apexcharts-datalabel-value,#ai-timeseries-chart-container .apexcharts-datalabel-value,#category-timeseries-chart-container .apexcharts-datalabel-value,#processing-time-stats-chart-container .apexcharts-datalabel-value,#processing-time-timeseries-chart .apexcharts-datalabel-value,#processing-time-categories-chart .apexcharts-datalabel-value{fill:var(--chart-data-label-color)!important;color:var(--chart-data-label-color)!important}@media(max-width:768px){.stats-content{overflow-x:hidden}#category-chart-container,#ai-stats-chart-container,#ai-timeseries-chart-container,#category-timeseries-chart-container,#processing-time-stats-container,#processing-time-timeseries-chart-container,#processing-time-categories-chart-container{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%}#category-chart-container,#ai-stats-chart-container,#ai-timeseries-chart-container,#category-timeseries-chart-container,#processing-time-stats-chart-container,#processing-time-timeseries-chart,#processing-time-categories-chart{min-width:600px!important;width:100%!important}#category-chart-container svg,#ai-stats-chart-container svg,#ai-timeseries-chart-container svg,#category-timeseries-chart-container svg,#processing-time-stats-chart-container svg,#processing-time-timeseries-chart svg,#processing-time-categories-chart svg{min-width:600px!important;width:100%!important}}.stats-table{width:100%;border-collapse:collapse;margin-top:var(--spacing-md)}.stats-table th,.stats-table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--border-color)}.stats-table th{background:var(--bg-color);font-weight:600;color:var(--text-primary)}.stats-table tr:hover{background:var(--bg-color)}.bar-chart{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.bar-item{display:flex;align-items:center;gap:var(--spacing-sm)}.bar-label{min-width:100px;font-size:var(--font-size-sm)}.bar-container{flex:1;height:20px;background:var(--border-color);border-radius:var(--border-radius-sm);overflow:hidden}.bar-fill{height:100%;border-radius:var(--border-radius-sm);transition:width .5s ease}.bar-fill.primary{background:var(--primary-color)}.bar-fill.success{background:var(--success-color)}.bar-fill.warning{background:var(--warning-color)}.bar-fill.danger{background:var(--danger-color)}.bar-fill.info{background:var(--info-color)}.bar-value{min-width:50px;text-align:right;font-size:var(--font-size-sm);font-weight:600}.radar-chart-container{width:100%;max-width:400px;margin:var(--spacing-lg) auto}.radar-chart{width:100%;height:400px}.radar-chart svg{width:100%;height:100%}.radar-grid{fill:none;stroke:var(--border-color);stroke-width:1}.radar-axis{fill:none;stroke:var(--text-secondary);stroke-width:1}.radar-data{fill:#1a365d33;stroke:var(--primary-color);stroke-width:2}.radar-point{fill:var(--primary-color);stroke:#fff;stroke-width:2}.radar-labels{font-size:var(--font-size-xs);fill:var(--text-primary)}.radar-title{text-anchor:middle;font-size:var(--font-size-md);font-weight:600;fill:var(--text-primary)}.modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;display:none;align-items:center;justify-content:center}.modal.active{display:flex}.modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{position:relative;background:var(--card-bg);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);max-width:90vw;max-height:90vh;overflow-y:auto;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);font-size:var(--font-size-xl);color:var(--text-secondary);background:var(--bg-color);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.modal-close:hover{background:var(--danger-color);color:#fff}.image-modal .modal-overlay{background:#000000e6}.image-modal-content{max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;padding:20px;background:#fff;border-radius:var(--border-radius)}.modal-image{max-width:100%;max-height:80vh;display:block;margin:auto}.image-modal-close{position:absolute;top:10px;right:10px;background:#000000b3;color:#fff;border:none;border-radius:50%;width:40px;height:40px;font-size:24px;cursor:pointer;z-index:1000}.image-modal-close:hover{background:var(--danger-color)}.modal-nav{position:absolute;top:50%;transform:translateY(-50%);background:#00000080;color:#fff;border:none;width:40px;height:40px;border-radius:50%;font-size:1.5em;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:background .2s ease}.modal-nav:hover{background:#000c}.modal-nav-prev{left:16px}.modal-nav-next{right:16px}.image-counter{position:absolute;bottom:16px;left:50%;transform:translate(-50%);background:#000000b3;color:#fff;padding:8px 16px;border-radius:20px;font-size:.9em;z-index:10}.image-gallery{display:flex;flex-direction:column;gap:12px}.gallery-main{position:relative;cursor:pointer}.gallery-main img{width:100%;max-height:400px;object-fit:contain;border-radius:var(--border-radius)}.gallery-main .image-counter{position:absolute;bottom:8px;right:8px;background:#000000b3;color:#fff;padding:4px 8px;border-radius:4px;font-size:.9em;z-index:2}.gallery-thumbnails{display:flex;gap:8px;flex-wrap:wrap}.gallery-thumbnails .thumbnail{width:60px;height:60px;object-fit:cover;border:2px solid transparent;cursor:pointer;border-radius:var(--border-radius);transition:border-color .2s ease,transform .2s ease}.gallery-thumbnails .thumbnail:hover{border-color:var(--primary-color);transform:scale(1.05)}.gallery-thumbnails .thumbnail.active{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color)}.image-indicator,.image-count-indicator{display:inline-flex;align-items:center;gap:2px;background:var(--bg-color);padding:2px 6px;border-radius:4px;font-size:.85em;color:var(--text-secondary);border:1px solid var(--border-color)}.image-indicator:hover,.image-count-indicator:hover{background:var(--primary-light);color:var(--primary-color)}.modal-body{padding:var(--spacing-xl)}.modal-body h2{margin-top:0;color:var(--primary-color)}.detail-grid{display:grid;gap:var(--spacing-lg)}.detail-section{border-bottom:1px solid var(--border-color);padding-bottom:var(--spacing-lg)}.detail-section:last-child{border-bottom:none}.detail-section h3{color:var(--primary-color);margin-bottom:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm)}.detail-section h3 .section-toggle{cursor:pointer;font-size:.9em;padding:2px 6px;border-radius:var(--border-radius-sm);background:var(--card-bg);color:var(--text-secondary);border:1px solid var(--border-color);margin-left:auto}.detail-section h3 .section-toggle:hover{background:var(--bg-color)}.expandable-content{max-height:0;overflow:hidden;transition:max-height .3s ease-out}.expandable-content.expanded{max-height:2000px;transition:max-height .5s ease-in}.status-notes-content{white-space:pre-wrap;word-break:break-word;padding:var(--spacing-sm);background:var(--bg-color);border-radius:var(--border-radius-sm);border:1px solid var(--border-color)}.detail-row{display:grid;grid-template-columns:150px 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.detail-row dt{font-weight:600;color:var(--text-secondary)}.detail-row dd{color:var(--text-primary)}.detail-section-full{grid-column:1 / -1}.scarcity-image-container{max-width:100%;overflow:hidden;border-radius:var(--border-radius);border:1px solid var(--border-color)}.scarcity-image{max-width:100%;height:auto;display:block;border-radius:var(--border-radius-sm);cursor:pointer;transition:transform .2s ease}.scarcity-image:hover{transform:scale(1.02)}.export-content{max-width:400px;text-align:center}.export-content h3{margin-bottom:var(--spacing-lg);color:var(--primary-color)}.export-options{display:flex;flex-direction:column;gap:var(--spacing-md)}.loading-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);color:var(--text-secondary)}.spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--spacing-md)}.filter-loading-indicator{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10000;pointer-events:none;opacity:0;transition:opacity .2s ease}.filter-loading-indicator.active{opacity:1}.filter-loading-indicator .spinner{width:24px;height:24px;border-width:2px;margin-bottom:0}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--text-secondary)}.empty-state-icon{font-size:48px;margin-bottom:var(--spacing-md)}.empty-state-text{font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm)}.empty-state-subtext{font-size:var(--font-size-sm)}.map-link{color:var(--primary-color);word-break:break-all}.map-link:hover{text-decoration:underline}.media-preview{margin-top:var(--spacing-md)}.media-preview img{max-width:100%;border-radius:var(--border-radius);box-shadow:var(--shadow-sm)}.main-content-grid{display:grid;gap:var(--spacing-lg)}@media(min-width:1025px){.main-content-grid{grid-template-columns:400px 1fr;gap:var(--spacing-lg)}.map-container{grid-column:1;grid-row:1 / span 2;position:sticky;top:var(--header-height);align-self:start;z-index:99}.list-container{grid-column:2}.scarcity-map{height:calc(100vh - 250px - var(--header-height));min-height:350px;max-height:calc(100vh - 250px - var(--header-height))}.app-header{padding:var(--spacing-sm) var(--spacing-md)}}@media(max-width:1024px){.scarcity-map{height:300px}}@media(max-width:768px){.header-content{flex-direction:column;text-align:center}.nav-tabs{justify-content:center}.app-header{flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.header-left,.header-right{width:100%;justify-content:space-between}.header-center{order:-1;min-width:100%}.header-center .search-box input{min-width:100%}.filter-grid{grid-template-columns:1fr}.filter-actions{justify-content:stretch}.list-header{flex-direction:column;align-items:stretch}.search-box input{min-width:100%}.scarcity-header{flex-direction:column;align-items:flex-start}.pagination{flex-direction:column;gap:var(--spacing-sm)}.scarcity-map{height:300px}.scarcity-item.expanded .scarcity-header{align-items:center}.detail-grid{grid-template-columns:1fr}.stats-filters{flex-direction:column;align-items:stretch}.date-range{flex-direction:column}.modal-content{max-width:95vw;margin:var(--spacing-md)}.detail-row{grid-template-columns:1fr;gap:var(--spacing-xs)}.detail-row dt{margin-bottom:0}.filter-panel-bottom{border-radius:var(--border-radius) var(--border-radius) 0 0}.filter-panel-content{padding:var(--spacing-md)}.filter-panel-header{padding:var(--spacing-md) var(--spacing-lg);cursor:pointer}.filter-icon{margin-right:var(--spacing-sm)}.filter-panel-bottom:not(.active) .filter-panel-content{display:none}.filter-panel-bottom{transform:translateY(0)!important;max-height:none;overflow:visible}.filter-panel-bottom:not(.active){border-bottom:none;box-shadow:0 -4px 12px #00000026}body.filter-panel-open{overflow:hidden}.filter-panel-header{background:var(--primary-color);color:#fff;border-bottom:none}.filter-panel-header h2{color:#fff}.filter-panel-bottom:not(.active) .filter-close-btn{display:none}.filter-close-btn{background:#fff3;color:#fff}.filter-close-btn:hover{background:#ffffff4d}.filter-panel-bottom.active .filter-panel-header{background:var(--bg-color);border-bottom:1px solid var(--border-color)}.filter-panel-bottom.active .filter-panel-header h2{color:var(--primary-color)}.filter-panel-bottom.active .filter-close-btn{display:inline-block;background:var(--danger-color);color:#fff}.filter-panel-bottom.active{max-height:80vh;overflow-y:auto}}@media(max-width:480px){.main-content{padding:var(--spacing-md)}.app-title{font-size:var(--font-size-xl)}.btn{padding:var(--spacing-sm) var(--spacing-md);min-width:auto}.scarcity-scores{flex-direction:column;gap:var(--spacing-xs)}}@media print{.header,.filter-panel,.pagination,.modal,.btn{display:none!important}.main-content{padding:0}.scarcity-item{break-inside:avoid;page-break-inside:avoid}}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:var(--primary-color)}.text-success{color:var(--success-color)}.text-warning{color:var(--warning-color)}.text-danger{color:var(--danger-color)}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.hidden{display:none!important}.visible{display:block!important}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}::selection{background:var(--primary-color);color:#fff}.desktop-only{display:inline-block}@media(max-width:768px){.desktop-only{display:none!important}}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.websocket-notification{position:fixed;top:20px;right:20px;background:#fff;border:1px solid #ddd;border-radius:var(--border-radius);padding:var(--spacing-md);box-shadow:var(--shadow-lg);z-index:10000;max-width:400px;animation:slideIn .3s ease-out}.websocket-notification button{cursor:pointer;font-size:var(--font-size-sm);border-radius:var(--border-radius-sm);transition:var(--transition)}.websocket-notification button:hover{opacity:.9}.list-notification{background:#f8f9fa;padding:10px;border:1px solid #e9ecef;border-radius:var(--border-radius-sm);text-align:center;font-size:var(--font-size-sm);color:#666;margin-bottom:10px}
