.map-legend-control{z-index:var(--z-dropdown, 1000);pointer-events:auto}.leaflet-top.leaflet-right .map-legend-control{margin:12px 12px 0 0}.map-legend{width:244px;background:#fffffff0;border:1px solid var(--border-subtle, rgba(15, 23, 42, .12));border-radius:.875rem;box-shadow:0 8px 22px #0f172a24;overflow:hidden;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:width var(--transition-normal, .25s ease-in-out),box-shadow var(--transition-normal, .25s ease-in-out),background-color var(--transition-normal, .25s ease-in-out)}.map-legend__toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3, .75rem);padding:.625rem .75rem;background:transparent;border:none;cursor:pointer;text-align:left}.map-legend__toggle:hover{background:#0f172a0a}.map-legend__toggle:focus-visible{outline:2px solid var(--accent, #1a4d73);outline-offset:-2px}.map-legend__toggle-main{display:flex;align-items:center;gap:var(--space-2, .5rem);min-width:0}.map-legend__toggle-icon{color:var(--accent, #1a4d73);font-size:.875rem;flex-shrink:0}.map-legend__title{font-weight:var(--font-weight-semibold, 600);color:var(--text-primary, #212529);font-size:.875rem;line-height:1.2;margin:0;white-space:nowrap}.map-legend__toggle-chevron{font-size:.75rem;color:var(--text-secondary, #6c757d);flex-shrink:0}.map-legend__body{padding:0 .625rem .625rem;overflow-y:auto;overflow-x:hidden;max-height:min(52vh,340px);border-top:1px solid var(--border-subtle, rgba(15, 23, 42, .08));-webkit-overflow-scrolling:touch}.map-legend__body::-webkit-scrollbar{width:6px}.map-legend__body::-webkit-scrollbar-track{background:transparent}.map-legend__body::-webkit-scrollbar-thumb{background:var(--border-strong, rgba(15, 23, 42, .2));border-radius:var(--radius-full, 9999px)}.map-legend__body::-webkit-scrollbar-thumb:hover{background:var(--text-secondary, #6c757d)}.map-legend__section{padding-top:.625rem}.map-legend__section+.map-legend__section{margin-top:.5rem;border-top:1px solid var(--border-subtle, rgba(15, 23, 42, .08))}.map-legend__section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2, .5rem);margin-bottom:.375rem}.map-legend__section-title{font-size:.6875rem;font-weight:var(--font-weight-semibold, 600);color:var(--text-secondary, #6c757d);text-transform:uppercase;letter-spacing:.08em;margin:0}.map-legend__actions{display:flex;gap:.375rem}.map-legend__action-btn{padding:.1875rem .4375rem;font-size:.6875rem;background:transparent;border:1px solid var(--border-subtle, rgba(15, 23, 42, .12));border-radius:999px;color:var(--text-secondary, #6c757d);cursor:pointer;transition:all var(--transition-fast, .15s ease-in-out);font-weight:var(--font-weight-medium, 500)}.map-legend__action-btn:hover{background:var(--nav-hover, #f8f9fa);color:var(--text-primary, #212529);border-color:var(--border-strong, rgba(15, 23, 42, .2))}.map-legend__action-btn:focus{outline:2px solid var(--accent, #1a4d73);outline-offset:2px}.map-legend__options{display:flex;flex-direction:column;gap:.1875rem}.map-legend__options[role=radiogroup]{display:grid;grid-template-columns:1fr 1fr;gap:.375rem}.map-legend__option{display:flex;align-items:center;gap:.5rem;padding:.375rem;background:transparent;border:1px solid transparent;border-radius:.5rem;cursor:pointer;transition:all var(--transition-fast, .15s ease-in-out);min-height:2rem;user-select:none}.map-legend__option:hover{background:#1a4d730d;border-color:#1a4d7314}.map-legend__option:focus-within{outline:2px solid var(--accent, #1a4d73);outline-offset:1px}.map-legend__option--selected,.map-legend__option--checked{background:#1a4d7314;border-color:#1a4d732e}.map-legend__option--selected:hover,.map-legend__option--checked:hover{background:#1a4d731a;border-color:#1a4d733d}.map-legend__radio,.map-legend__checkbox{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.map-legend__radio-visual{width:.875rem;height:.875rem;border:1.5px solid var(--border-strong, rgba(15, 23, 42, .24));border-radius:var(--radius-full, 9999px);position:relative;flex-shrink:0;transition:all var(--transition-fast, .15s ease-in-out);background:var(--surface-2, #ffffff)}.map-legend__radio:checked+.map-legend__radio-visual{border-color:var(--accent, #1a4d73)}.map-legend__radio:checked+.map-legend__radio-visual:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:.4375rem;height:.4375rem;background:var(--accent, #1a4d73);border-radius:var(--radius-full, 9999px)}.map-legend__radio:focus+.map-legend__radio-visual{outline:2px solid var(--accent, #1a4d73);outline-offset:2px}.map-legend__checkbox-visual{width:1rem;height:1rem;border:1.5px solid var(--border-strong, rgba(15, 23, 42, .24));border-radius:var(--radius-sm, .25rem);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-fast, .15s ease-in-out);background:var(--surface-2, #ffffff)}.map-legend__checkbox:checked+.map-legend__checkbox-visual{background:var(--accent, #1a4d73);border-color:var(--accent, #1a4d73)}.map-legend__checkbox-visual i{color:var(--color-white, #ffffff);font-size:.625rem;opacity:0;transition:opacity var(--transition-fast, .15s ease-in-out)}.map-legend__checkbox:checked+.map-legend__checkbox-visual i{opacity:1}.map-legend__checkbox:focus+.map-legend__checkbox-visual{outline:2px solid var(--accent, #1a4d73);outline-offset:2px}.map-legend__icon{font-size:.875rem;flex-shrink:0;width:.875rem;text-align:center}.map-legend__label{flex:1;min-width:0}.map-legend__label-primary{font-weight:var(--font-weight-medium, 500);color:var(--text-primary, #212529);font-size:.8125rem;line-height:1.25}.map-legend__label-secondary{display:none}.map-legend__options[role=radiogroup] .map-legend__option{justify-content:center;padding:.375rem .5rem;min-height:1.875rem;gap:.375rem;border-color:var(--border-subtle, rgba(15, 23, 42, .12))}.map-legend__options[role=radiogroup] .map-legend__radio-visual{display:none}.map-legend__options[role=radiogroup] .map-legend__label-primary{font-size:.75rem;text-align:center}.map-legend.map-legend--collapsed{width:auto;width:fit-content;max-width:calc(100vw - 20px)}.map-legend--collapsed .map-legend__body{display:none}.map-legend--collapsed .map-legend__toggle{padding:.5625rem .625rem}@media(max-width:768px){.map-legend{width:220px}.leaflet-top.leaflet-right .map-legend-control{margin:10px 10px 0 0}.map-legend__toggle{padding:.5625rem .625rem}.map-legend__title{font-size:.8125rem}.map-legend__body{max-height:min(46vh,300px);padding:0 .5rem .5rem}.map-legend__section{padding-top:.5rem}.map-legend__option{padding:.3125rem .25rem;min-height:1.875rem}.map-legend__label-primary{font-size:.75rem}.map-legend__icon{font-size:.8125rem;width:.8125rem}.map-legend__checkbox-visual{width:.9375rem;height:.9375rem}.map-legend__checkbox-visual i{font-size:.5625rem}}@media(max-width:480px){.map-legend{width:min(210px,100vw - 20px)}.leaflet-top.leaflet-right .map-legend-control{margin:8px 8px 0 0}.map-legend__body{max-height:min(42vh,260px)}.map-legend__option{padding:.3125rem .25rem;min-height:1.75rem}.map-legend__options[role=radiogroup] .map-legend__option{min-height:1.75rem;padding:.3125rem .375rem}.map-legend--collapsed .map-legend__toggle{padding:.5rem .625rem}}[data-theme=dark] .map-legend{box-shadow:0 10px 26px #0206176b;background:#161a1feb;border-color:var(--border-subtle, rgba(255, 255, 255, .06))}[data-theme=dark] .map-legend__toggle:hover{background:#ffffff0a}[data-theme=dark] .map-legend__toggle-icon{color:var(--accent, #2b6ea8)}[data-theme=dark] .map-legend__title{color:var(--text-primary, #e7edf3)}[data-theme=dark] .map-legend__toggle-chevron{color:var(--text-secondary, #94a3b8)}[data-theme=dark] .map-legend__body{border-top-color:var(--border-subtle, rgba(255, 255, 255, .06))}[data-theme=dark] .map-legend__section+.map-legend__section{border-top-color:var(--border-subtle, rgba(255, 255, 255, .06))}[data-theme=dark] .map-legend__section-title{color:var(--text-secondary, #94a3b8)}[data-theme=dark] .map-legend__action-btn{border-color:var(--border-subtle, rgba(255, 255, 255, .06));color:var(--text-secondary, #94a3b8)}[data-theme=dark] .map-legend__action-btn:hover{background:var(--nav-hover, #232b36);color:var(--text-primary, #e7edf3);border-color:var(--border-strong, rgba(255, 255, 255, .12))}[data-theme=dark] .map-legend__option{background:transparent;border-color:transparent}[data-theme=dark] .map-legend__options[role=radiogroup] .map-legend__option{border-color:var(--border-subtle, rgba(255, 255, 255, .08))}[data-theme=dark] .map-legend__option:hover{background:#2b6ea814;border-color:#ffffff14}[data-theme=dark] .map-legend__option--selected,[data-theme=dark] .map-legend__option--checked{background:#2b6ea824;border-color:#2b6ea852}[data-theme=dark] .map-legend__radio-visual,[data-theme=dark] .map-legend__checkbox-visual{background:var(--surface-3, #232b36);border-color:var(--border-strong, rgba(255, 255, 255, .12))}[data-theme=dark] .map-legend__radio:checked+.map-legend__radio-visual{border-color:var(--accent, #2b6ea8)}[data-theme=dark] .map-legend__radio:checked+.map-legend__radio-visual:after{background:var(--accent, #2b6ea8)}[data-theme=dark] .map-legend__checkbox:checked+.map-legend__checkbox-visual{background:var(--accent, #2b6ea8);border-color:var(--accent, #2b6ea8)}[data-theme=dark] .map-legend__label-primary{color:var(--text-primary, #e7edf3)}[data-theme=dark] .map-legend__body::-webkit-scrollbar-thumb{background:var(--border-strong, rgba(255, 255, 255, .12))}[data-theme=dark] .map-legend__body::-webkit-scrollbar-thumb:hover{background:var(--text-secondary, #94a3b8)}@media(prefers-reduced-motion:reduce){.map-legend,.map-legend__option,.map-legend__toggle,.map-legend__action-btn,.map-legend__radio-visual,.map-legend__checkbox-visual,.map-legend__checkbox-visual i{transition-duration:.01ms!important}}@media print{.map-legend-control{display:none}}
