@layer{:not([calcite-hydrated]):is(calcite-accordion,calcite-accordion-item,calcite-action,calcite-action-bar,calcite-action-group,calcite-action-menu,calcite-action-pad,calcite-alert,calcite-autocomplete,calcite-autocomplete-item,calcite-autocomplete-item-group,calcite-avatar,calcite-block,calcite-block-group,calcite-block-section,calcite-button,calcite-card,calcite-card-group,calcite-carousel,calcite-carousel-item,calcite-checkbox,calcite-chip,calcite-chip-group,calcite-color-picker,calcite-color-picker-hex-input,calcite-color-picker-swatch,calcite-combobox,calcite-combobox-item,calcite-combobox-item-group,calcite-date-picker,calcite-date-picker-day,calcite-date-picker-month,calcite-date-picker-month-header,calcite-dialog,calcite-dropdown,calcite-dropdown-group,calcite-dropdown-item,calcite-fab,calcite-filter,calcite-flow,calcite-flow-item,calcite-graph,calcite-handle,calcite-icon,calcite-inline-editable,calcite-input,calcite-input-date-picker,calcite-input-message,calcite-input-number,calcite-input-text,calcite-input-time-picker,calcite-input-time-zone,calcite-label,calcite-link,calcite-list,calcite-list-item,calcite-list-item-group,calcite-loader,calcite-menu,calcite-menu-item,calcite-meter,calcite-modal,calcite-navigation,calcite-navigation-logo,calcite-navigation-user,calcite-notice,calcite-option,calcite-option-group,calcite-pagination,calcite-panel,calcite-popover,calcite-progress,calcite-radio-button,calcite-radio-button-group,calcite-rating,calcite-scrim,calcite-segmented-control,calcite-segmented-control-item,calcite-select,calcite-sheet,calcite-shell,calcite-shell-center-row,calcite-shell-panel,calcite-slider,calcite-sort-handle,calcite-sortable-list,calcite-split-button,calcite-stack,calcite-stepper,calcite-stepper-item,calcite-swatch,calcite-swatch-group,calcite-switch,calcite-tab,calcite-tab-nav,calcite-tab-title,calcite-table,calcite-table-cell,calcite-table-header,calcite-table-row,calcite-tabs,calcite-text-area,calcite-tile,calcite-tile-group,calcite-tile-select,calcite-tile-select-group,calcite-time-picker,calcite-tip,calcite-tip-group,calcite-tip-manager,calcite-tooltip,calcite-tree,calcite-tree-item){visibility:hidden}:host{--calcite-internal-color-focus:var( --calcite-color-focus,var(--calcite-ui-focus-color,var(--calcite-color-brand)) )}:root{--calcite-border-width-none:0;--calcite-border-width-sm:1px;--calcite-border-width-md:2px;--calcite-border-width-lg:4px;--calcite-container-size-margin:24px;--calcite-container-size-gutter:16px;--calcite-container-size-content-fluid:100%;--calcite-container-size-content-fixed:1440px;--calcite-corner-radius-sharp:0;--calcite-corner-radius-none:0;--calcite-corner-radius-xs:2px;--calcite-corner-radius-sm:4px;--calcite-corner-radius-round:4px;--calcite-corner-radius-pill:100%;--calcite-font-family:"Avenir Next",Avenir,"Helvetica Neue",sans-serif;--calcite-font-family-code:Monaco,Consolas,"Andale Mono","Lucida Console",monospace;--calcite-font-weight-regular:400;--calcite-font-weight-semibold:600;--calcite-font-size-xs:10px;--calcite-font-size-sm:12px;--calcite-font-size:14px;--calcite-font-size-md:16px;--calcite-font-size-lg:18px;--calcite-font-size-xl:20px;--calcite-font-size-xxl:24px;--calcite-font-style-emphasis:italic;--calcite-font-line-height-fixed-sm:12px;--calcite-font-line-height-fixed-base:16px;--calcite-font-line-height-fixed-lg:20px;--calcite-font-line-height-fixed-xl:24px;--calcite-font-line-height-fixed-2xl:32px;--calcite-font-line-height-fixed-3xl:40px;--calcite-font-line-height-fixed-4xl:48px;--calcite-font-line-height-fixed-5xl:64px;--calcite-font-line-height-fixed-6xl:80px;--calcite-font-line-height-relative:normal;--calcite-font-line-height-relative-base:1;--calcite-font-line-height-relative-tight:1.25;--calcite-font-line-height-relative-snug:1.375;--calcite-font-line-height-relative-normal:1.5;--calcite-font-line-height-relative-relaxed:1.625;--calcite-font-line-height-relative-loose:2;--calcite-font-letter-spacing-tight:-.4px;--calcite-font-letter-spacing-normal:0;--calcite-font-letter-spacing-wide:.4px;--calcite-font-paragraph-spacing-normal:4px;--calcite-font-text-decoration-none:none;--calcite-font-text-decoration-underline:underline;--calcite-font-text-case-none:none;--calcite-font-text-case-uppercase:uppercase;--calcite-font-text-case-lowercase:lowercase;--calcite-font-text-case-capitalize:capitalize;--calcite-opacity-light:.4;--calcite-opacity-half:.5;--calcite-opacity-dark:.85;--calcite-opacity-full:1;--calcite-opacity-disabled:.5;--calcite-size-fixed-xxxs:2px;--calcite-size-fixed-xxs:4px;--calcite-size-fixed-xs:6px;--calcite-size-fixed-sm:8px;--calcite-size-fixed-sm-plus:10px;--calcite-size-fixed-md:12px;--calcite-size-fixed-md-plus:14px;--calcite-size-fixed-lg:16px;--calcite-size-fixed-xl:20px;--calcite-size-fixed-xxl:24px;--calcite-size-fixed-xxxl:32px;--calcite-size-px:1px;--calcite-size-xxxs:.75rem;--calcite-size-xxs:.875rem;--calcite-size-xs:1rem;--calcite-size-sm:1.5rem;--calcite-size-md:2rem;--calcite-size-lg:2.75rem;--calcite-size-xl:3rem;--calcite-size-xxl:4rem;--calcite-size-xxxl:6rem;--calcite-spacing-fixed-xxs:4px;--calcite-spacing-fixed-xs:6px;--calcite-spacing-fixed-sm:8px;--calcite-spacing-fixed-md:12px;--calcite-spacing-fixed-lg:14px;--calcite-spacing-fixed-xl:16px;--calcite-spacing-fixed-xxl:20px;--calcite-spacing-fixed-xxxl:32px;--calcite-spacing-none:0;--calcite-spacing-px:1px;--calcite-spacing-base:2px;--calcite-spacing-xxs:.25rem;--calcite-spacing-xs:.375rem;--calcite-spacing-sm:.5rem;--calcite-spacing-sm-plus:.625rem;--calcite-spacing-md:.75rem;--calcite-spacing-md-plus:.875rem;--calcite-spacing-lg:1rem;--calcite-spacing-xl:1.25rem;--calcite-spacing-xxl:1.5rem;--calcite-spacing-xxxl:2rem;--calcite-z-index-deep:-999999;--calcite-z-index:1;--calcite-z-index-sticky:300;--calcite-z-index-header:400;--calcite-z-index-toast:500;--calcite-z-index-dropdown:600;--calcite-z-index-overlay:700;--calcite-z-index-modal:800;--calcite-z-index-popup:900;--calcite-z-index-tooltip:901;--calcite-corner-radius:var(--calcite-corner-radius-none);--calcite-shadow-none:0 0 0 0 #0000;--calcite-shadow-sm:0 2px 8px 0 #0000000a,0 4px 16px 0 #00000014;--calcite-shadow-md:0 4px 20px 0 #00000014,0 12px 30px #0000001a}.calcite-typography{paragraph-spacing:var(--calcite-font-paragraph-spacing-normal);text-case:var(--calcite-font-text-case-none);font-family:var(--calcite-font-family);font-size:var(--calcite-font-size);font-weight:var(--calcite-font-weight-regular);letter-spacing:var(--calcite-font-letter-spacing-normal);line-height:var(--calcite-font-line-height-fixed-base);-webkit-text-decoration:var(--calcite-font-text-decoration-none);text-decoration:var(--calcite-font-text-decoration-none)}.calcite-typography-light-minus-3h{font-size:var(--calcite-font-size-xs);font-weight:var(--calcite-font-weight-light);line-height:var(--calcite-font-line-height-fixed-sm)}.calcite-typography-light-minus-2h{font-size:var(--calcite-font-size-sm)}.calcite-typography-light-0h,.calcite-typography-light-minus-1h,.calcite-typography-light-minus-2h{font-weight:var(--calcite-font-weight-light)}.calcite-typography-light-0h{font-size:var(--calcite-font-size-md);line-height:var(--calcite-font-line-height-fixed-lg)}.calcite-typography-light-1h{font-size:var(--calcite-font-size-lg);font-weight:var(--calcite-font-weight-light);line-height:var(--calcite-font-line-height-fixed-xl)}.calcite-typography-regular-minus-3h{font-size:var(--calcite-font-size-xs);line-height:var(--calcite-font-line-height-fixed-sm)}.calcite-typography-regular-minus-2h{font-size:var(--calcite-font-size-sm)}.calcite-typography-regular-minus-1h{paragraph-spacing:4px;text-case:none;font-family:Avenir Next,Avenir,Helvetica Neue,sans-serif;font-size:14px;font-weight:400;letter-spacing:0;line-height:16px;text-decoration:none}.calcite-typography-regular-0h{font-size:var(--calcite-font-size-md);line-height:var(--calcite-font-line-height-fixed-lg)}.calcite-typography-regular-1h{font-size:var(--calcite-font-size-lg);line-height:var(--calcite-font-line-height-fixed-xl)}.calcite-typography-medium-minus-3h{font-size:var(--calcite-font-size-xs);font-weight:var(--calcite-font-weight-medium);line-height:var(--calcite-font-line-height-fixed-sm)}.calcite-typography-medium-minus-2h{font-size:var(--calcite-font-size-sm)}.calcite-typography-medium-0h,.calcite-typography-medium-minus-1h,.calcite-typography-medium-minus-2h{font-weight:var(--calcite-font-weight-medium)}.calcite-typography-medium-0h{font-size:var(--calcite-font-size-md);line-height:var(--calcite-font-line-height-fixed-lg)}.calcite-typography-medium-1h{font-size:var(--calcite-font-size-lg);font-weight:var(--calcite-font-weight-medium);line-height:var(--calcite-font-line-height-fixed-xl)}.calcite-typography-bold-minus-3h{font-size:var(--calcite-font-size-xs);font-weight:var(--calcite-font-weight-semibold);line-height:var(--calcite-font-line-height-fixed-sm)}.calcite-typography-bold-minus-2h{font-size:var(--calcite-font-size-sm)}.calcite-typography-bold-0h,.calcite-typography-bold-minus-1h,.calcite-typography-bold-minus-2h{font-weight:var(--calcite-font-weight-semibold)}.calcite-typography-bold-0h{font-size:var(--calcite-font-size-md);line-height:var(--calcite-font-line-height-fixed-lg)}.calcite-typography-bold-1h{font-size:var(--calcite-font-size-lg);font-weight:var(--calcite-font-weight-semibold);line-height:var(--calcite-font-line-height-fixed-xl)}.calcite-typography-wrap-light-0{font-size:var(--calcite-font-size-md)}.calcite-typography-wrap-light-0,.calcite-typography-wrap-light-1{font-weight:var(--calcite-font-weight-light);line-height:var(--calcite-font-line-height-relative-snug)}.calcite-typography-wrap-light-1{font-size:var(--calcite-font-size-lg)}.calcite-typography-wrap-light-2{font-size:var(--calcite-font-size-xl);font-weight:var(--calcite-font-weight-light);line-height:var(--calcite-font-line-height-relative-snug)}.calcite-typography-wrap-light-3{font-size:var(--calcite-font-size-xxl);font-weight:var(--calcite-font-weight-light);line-height:var(--calcite-font-line-height-relative-tight)}.calcite-typography-wrap-light-minus-2{font-size:var(--calcite-font-size-sm)}.calcite-typography-wrap-light-minus-1,.calcite-typography-wrap-light-minus-2{font-weight:var(--calcite-font-weight-light);line-height:var(--calcite-font-line-height-relative-snug)}.calcite-typography-wrap-regular-0{font-size:var(--calcite-font-size-md);line-height:var(--calcite-font-line-height-relative-snug)}.calcite-typography-wrap-regular-1{font-size:var(--calcite-font-size-lg);line-height:var(--calcite-font-line-height-relative-snug)}.calcite-typography-wrap-regular-2{font-size:var(--calcite-font-size-xl);line-height:var(--calcite-font-line-height-relative-snug)}.calcite-typography-wrap-regular-3{font-size:var(--calcite-font-size-xxl);line-height:var(--calcite-font-line-height-relative-snug)}.calcite-typography-wrap-regular-minus-2{font-size:var(--calcite-font-size-sm)}.calcite-typography-wrap-regular-minus-1,.calcite-typography-wrap-regular-minus-2{line-height:var(--calcite-font-line-height-relative-snug)}.calcite-typography-wrap-medium-0{font-size:var(--calcite-font-size-md)}.calcite-typography-wrap-medium-0,.calcite-typography-wrap-medium-1{font-weight:var(--calcite-font-weight-medium);line-height:var(--calcite-font-line-height-relative-snug)}.calcite-typography-wrap-medium-1{font-size:var(--calcite-font-size-lg)}.calcite-typography-wrap-medium-2{font-size:var(--calcite-font-size-xl)}.calcite-typography-wrap-medium-2,.calcite-typography-wrap-medium-3{font-weight:var(--calcite-font-weight-medium);line-height:var(--calcite-font-line-height-relative-snug)}.calcite-typography-wrap-medium-3{font-size:var(--calcite-font-size-xxl)}.calcite-typography-wrap-medium-minus-2{font-size:var(--calcite-font-size-sm)}.calcite-typography-wrap-medium-minus-1,.calcite-typography-wrap-medium-minus-2{font-weight:var(--calcite-font-weight-medium);line-height:var(--calcite-font-line-height-relative-snug)}.calcite-typography-wrap-bold-0{font-size:var(--calcite-font-size-md)}.calcite-typography-wrap-bold-0,.calcite-typography-wrap-bold-1{font-weight:var(--calcite-font-weight-semibold);line-height:var(--calcite-font-line-height-relative-snug)}.calcite-typography-wrap-bold-1{font-size:var(--calcite-font-size-lg)}.calcite-typography-wrap-bold-2{font-size:var(--calcite-font-size-xl)}.calcite-typography-wrap-bold-2,.calcite-typography-wrap-bold-3{font-weight:var(--calcite-font-weight-semibold);line-height:var(--calcite-font-line-height-relative-snug)}.calcite-typography-wrap-bold-3{font-size:var(--calcite-font-size-xxl)}.calcite-typography-wrap-bold-minus-2{font-size:var(--calcite-font-size-sm)}.calcite-typography-wrap-bold-minus-1,.calcite-typography-wrap-bold-minus-2{font-weight:var(--calcite-font-weight-semibold);line-height:var(--calcite-font-line-height-relative-snug)}.calcite-typography-hierarchy-display-1{font-size:24px;font-weight:600;line-height:1.375}.calcite-typography-hierarchy-display-2{font-size:20px;font-weight:600;line-height:1.375}.calcite-typography-hierarchy-heading-1{font-size:24px;font-weight:500;line-height:1.375}.calcite-typography-hierarchy-heading-2{font-size:20px;font-weight:500;line-height:1.375}.calcite-typography-hierarchy-heading-3{font-size:18px;font-weight:500;line-height:1.375}.calcite-typography-hierarchy-heading-4{font-size:16px;font-weight:500;line-height:1.375}.calcite-typography-hierarchy-heading-5{font-weight:500;line-height:1.375}.calcite-typography-hierarchy-body-snug{line-height:1.375}.calcite-typography-hierarchy-body{paragraph-spacing:4px;text-case:none;font-family:Avenir Next,Avenir,Helvetica Neue,sans-serif;font-size:14px;font-weight:400;letter-spacing:0;line-height:16px;text-decoration:none}.calcite-typography-hierarchy-overline{text-case:var(--calcite-font-text-case-uppercase);font-weight:var(--calcite-font-weight-bold);line-height:var(--calcite-font-line-height-fixed-sm)}.calcite-typography-hierarchy-caption{font-size:12px;line-height:1.375}.calcite-mode-light,:root{--calcite-color-border-white:#fff;--calcite-color-border-ghost:#0000004d;--calcite-color-border-input:#949494;--calcite-color-border-3:#dedede;--calcite-color-border-2:#d4d4d4;--calcite-color-border-1:#c9c9c9;--calcite-color-text-link:#00619b;--calcite-color-text-inverse:#fff;--calcite-color-text-highlight:#004874;--calcite-color-text-3:#6b6b6b;--calcite-color-text-2:#4a4a4a;--calcite-color-text-1:#141414;--calcite-color-inverse-press:#212121;--calcite-color-inverse-hover:#2b2b2b;--calcite-color-inverse:#363636;--calcite-color-status-danger-press:#7c1d13;--calcite-color-status-danger-hover:#a82b1e;--calcite-color-status-danger:#d83020;--calcite-color-status-warning-press:#9a5b10;--calcite-color-status-warning-hover:#d17300;--calcite-color-status-warning:#f89927;--calcite-color-status-success-press:#1a6324;--calcite-color-status-success-hover:#288835;--calcite-color-status-success:#35ac46;--calcite-color-status-info-press:#00304d;--calcite-color-status-info-hover:#004874;--calcite-color-status-info:#00619b;--calcite-color-brand-underline:#00619b66;--calcite-color-brand-press:#004874;--calcite-color-brand-hover:#00619b;--calcite-color-brand:#007ac2;--calcite-color-transparent-tint:#fffc;--calcite-color-transparent-scrim:#ffffffd9;--calcite-color-transparent-inverse-press:#ffffff29;--calcite-color-transparent-inverse-hover:#ffffff1f;--calcite-color-transparent-press:#00000014;--calcite-color-transparent-hover:#0000000a;--calcite-color-transparent:#0000;--calcite-color-surface-highlight:#d6efff;--calcite-color-foreground-current:#d6efff;--calcite-color-foreground-3:#ebebeb;--calcite-color-foreground-2:#f2f2f2;--calcite-color-foreground-1:#fff;--calcite-color-background-none:#fff0;--calcite-color-background:#f7f7f7}.calcite-mode-dark{--calcite-color-border-white:#f7f7f7;--calcite-color-border-ghost:#7575754d;--calcite-color-border-input:#757575;--calcite-color-border-3:#404040;--calcite-color-border-2:#4a4a4a;--calcite-color-border-1:#545454;--calcite-color-text-link:#00a0ff;--calcite-color-text-inverse:#141414;--calcite-color-text-highlight:#d6efff;--calcite-color-text-3:#9e9e9e;--calcite-color-text-2:#bfbfbf;--calcite-color-text-1:#fff;--calcite-color-inverse-press:#f2f2f2;--calcite-color-inverse-hover:#fff;--calcite-color-inverse:#f7f7f7;--calcite-color-status-danger-press:#d90012;--calcite-color-status-danger-hover:#ff0015;--calcite-color-status-danger:#fe583e;--calcite-color-status-warning-press:#ff9500;--calcite-color-status-warning-hover:#ffb54d;--calcite-color-status-warning:#f89927;--calcite-color-status-success-press:#00b81b;--calcite-color-status-success-hover:#3bed52;--calcite-color-status-success:#36da43;--calcite-color-status-info-press:#009af2;--calcite-color-status-info-hover:#3db8ff;--calcite-color-status-info:#00a0ff;--calcite-color-brand-underline:#00a0ff66;--calcite-color-brand-press:#00619b;--calcite-color-brand-hover:#007ac2;--calcite-color-brand:#009af2;--calcite-color-transparent-tint:#2b2b2bcc;--calcite-color-transparent-scrim:#000000d9;--calcite-color-transparent-inverse-press:#00000014;--calcite-color-transparent-inverse-hover:#0000000a;--calcite-color-transparent-press:#ffffff29;--calcite-color-transparent-hover:#ffffff1f;--calcite-color-transparent:#fff0;--calcite-color-surface-highlight:#2b465f;--calcite-color-foreground-current:#2b465f;--calcite-color-foreground-3:#141414;--calcite-color-foreground-2:#212121;--calcite-color-foreground-1:#2b2b2b;--calcite-color-background-none:#fff0;--calcite-color-background:#363636}:root{--calcite-code-family:"Consolas","Andale Mono","Lucida Console","Monaco",monospace;--calcite-sans-family:"Avenir Next","Avenir","Helvetica Neue",sans-serif;--calcite-font-size--3:.625rem;--calcite-font-size--2:.75rem;--calcite-font-size--1:.875rem;--calcite-font-size-0:1rem;--calcite-font-size-1:1.125rem;--calcite-font-size-2:1.25rem;--calcite-font-size-3:1.625rem;--calcite-font-size-4:2rem;--calcite-font-size-5:2.5rem;--calcite-font-size-6:3rem;--calcite-font-size-7:3.5rem;--calcite-font-size-8:4rem;--calcite-font-weight-light:300;--calcite-font-weight-normal:400;--calcite-font-weight-medium:500;--calcite-font-weight-bold:600;--calcite-ui-brand:var(--calcite-color-brand);--calcite-ui-brand-hover:var(--calcite-color-brand-hover);--calcite-ui-brand-press:var(--calcite-color-brand-press);--calcite-ui-background:var(--calcite-color-background);--calcite-ui-foreground-1:var(--calcite-color-foreground-1);--calcite-ui-foreground-2:var(--calcite-color-foreground-2);--calcite-ui-foreground-3:var(--calcite-color-foreground-3);--calcite-ui-foreground-current:var(--calcite-color-foreground-current);--calcite-ui-focus-offset-invert:var(--calcite-offset-invert-focus);--calcite-semantic-ui-color-foreground-current:var(--calcite-color-foreground-current);--calcite-ui-text-1:var(--calcite-color-text-1);--calcite-ui-text-2:var(--calcite-color-text-2);--calcite-ui-text-3:var(--calcite-color-text-3);--calcite-ui-text-inverse:var(--calcite-color-text-inverse);--calcite-ui-text-link:var(--calcite-color-text-link);--calcite-ui-border-1:var(--calcite-color-border-1);--calcite-ui-border-2:var(--calcite-color-border-2);--calcite-ui-border-3:var(--calcite-color-border-3);--calcite-ui-border-input:var(--calcite-color-border-input);--calcite-ui-info:var(--calcite-color-status-info);--calcite-ui-info-hover:var(--calcite-color-status-info-hover);--calcite-ui-info-press:var(--calcite-color-status-info-press);--calcite-ui-success:var(--calcite-color-status-success);--calcite-ui-success-hover:var(--calcite-color-status-success-hover);--calcite-ui-success-press:var(--calcite-color-status-success-press);--calcite-ui-warning:var(--calcite-color-status-warning);--calcite-ui-warning-hover:var(--calcite-color-status-warning-hover);--calcite-ui-warning-press:var(--calcite-color-status-warning-press);--calcite-ui-danger:var(--calcite-color-status-danger);--calcite-ui-danger-hover:var(--calcite-color-status-danger-hover);--calcite-ui-danger-press:var(--calcite-color-status-danger-press);--calcite-ui-inverse:var(--calcite-color-inverse);--calcite-app-z-index:var(--calcite-z-index);--calcite-app-z-index-tooltip:var(--calcite-z-index-tooltip);--calcite-app-z-index-popup:var(--calcite-z-index-popup);--calcite-app-z-index-modal:var(--calcite-z-index-modal);--calcite-app-z-index-overlay:var(--calcite-z-index-overlay);--calcite-app-z-index-dropdown:var(--calcite-z-index-dropdown);--calcite-app-z-index-toast:var(--calcite-z-index-toast);--calcite-app-z-index-header:var(--calcite-z-index-header);--calcite-app-z-index-sticky:var(--calcite-z-index-sticky);--calcite-app-breakpoint-content-fixed:var(--calcite-container-size-content-fixed);--calcite-app-breakpoint-content-fluid:var(--calcite-container-size-content-fluid);--calcite-app-breakpoint-width-lg:var(--calcite-container-size-width-lg-max);--calcite-app-breakpoint-width-md:var(--calcite-container-size-width-md-max);--calcite-app-breakpoint-width-sm:var(--calcite-container-size-width-sm-max);--calcite-app-breakpoint-width-xs:var(--calcite-container-size-width-xs-max);--calcite-app-breakpoint-width-xxs:var(--calcite-container-size-width-xxs-max);--calcite-app-spacing-11:var(--calcite-spacing-xxxl);--calcite-app-spacing-8:var(--calcite-spacing-xl);--calcite-app-spacing-7:var(--calcite-spacing-lg);--calcite-app-spacing-6:var(--calcite-spacing-md-plus);--calcite-app-spacing-5:var(--calcite-spacing-md);--calcite-app-spacing-3:var(--calcite-spacing-sm);--calcite-app-spacing-2:var(--calcite-spacing-xs);--calcite-app-spacing-1:var(--calcite-spacing-xxs);--calcite-app-spacing-0:var(--calcite-spacing-base);--calcite-app-sizing-11:var(--calcite-size-md);--calcite-app-sizing-9:var(--calcite-size-sm);--calcite-app-sizing-8:var(--calcite-spacing-xl);--calcite-app-sizing-7:var(--calcite-size-xs);--calcite-app-sizing-6:var(--calcite-size-xxxs-plus);--calcite-app-sizing-5:var(--calcite-size-xxxs);--calcite-app-sizing-4:var(--calcite-spacing-sm-plus);--calcite-app-sizing-3:var(--calcite-spacing-sm);--calcite-app-sizing-2:var(--calcite-spacing-xs);--calcite-app-sizing-1:var(--calcite-spacing-xxs);--calcite-app-sizing-0:var(--calcite-spacing-base);--calcite-app-opacity-100:var(--calcite-app-opacity-full);--calcite-app-opacity-85:var(--calcite-app-opacity-dark);--calcite-app-opacity-50:var(--calcite-app-opacity-half);--calcite-app-opacity-40:var(--calcite-app-opacity-light);--calcite-app-border-width-none:var(--calcite-border-width-none);--calcite-app-border-width-2:var(--calcite-border-width-lg);--calcite-app-border-width-1:var(--calcite-border-width-md);--calcite-app-border-width-0:var(--calcite-border-width-sm);--calcite-app-border-radius-full:var(--calcite-corner-radius-pill);--calcite-app-border-radius-none:var(--calcite-corner-radius-sharp);--calcite-app-border-radius-1:var(--calcite-corner-radius-round);--calcite-app-border-radius-0:var(--calcite-corner-radius-0);--calcite-app-font-text-case-capitalize:var(--calcite-font-text-case-capitalize);--calcite-app-font-text-case-lowercase:var(--calcite-font-text-case-lowercase);--calcite-app-font-text-case-uppercase:var(--calcite-font-text-case-uppercase);--calcite-app-font-text-case-none:var(--calcite-font-text-case-none);--calcite-app-font-text-decoration-underline:var(--calcite-font-text-decoration-underline);--calcite-app-font-text-decoration-none:var(--calcite-font-text-decoration-none);--calcite-app-font-paragraph-spacing-normal:var(--calcite-font-paragraph-spacing-normal);--calcite-app-font-letter-spacing-wide:var(--calcite-font-letter-spacing-wide);--calcite-app-font-letter-spacing-normal:var(--calcite-font-letter-spacing-normal);--calcite-app-font-letter-spacing-tight:var(--calcite-font-letter-spacing-tight);--calcite-app-font-size-6:var(--calcite-font-size-xxl);--calcite-app-font-size-5:var(--calcite-font-size-xl);--calcite-app-font-size-4:var(--calcite-font-size-lg);--calcite-app-font-size-3:var(--calcite-font-size-md);--calcite-app-font-size-2:var(--calcite-font-size);--calcite-app-font-size-1:var(--calcite-font-size-sm);--calcite-app-font-size-0:var(--calcite-font-size-xs);--calcite-app-font-line-height-relative-loose:var(--calcite-font-line-height-relative-loose);--calcite-app-font-line-height-relative-relaxed:var(--calcite-font-line-height-relative-relaxed);--calcite-app-font-line-height-relative-normal:var(--calcite-font-line-height-relative-normal);--calcite-app-font-line-height-relative-snug:var(--calcite-font-line-height-relative-snug);--calcite-app-font-line-height-relative-tight:var(--calcite-font-line-height-relative-tight);--calcite-app-font-line-height-relative:var(--calcite-font-line-height-relative);--calcite-app-font-line-height-fixed-3:var(--calcite-font-line-height-fixed-xl);--calcite-app-font-line-height-fixed-2:var(--calcite-font-line-height-fixed-lg);--calcite-app-font-line-height-fixed:var(--calcite-font-line-height-fixed-sm);--calcite-app-font-weight-bold:var(--calcite-font-weight-bold);--calcite-app-font-weight-demi:var(--calcite-font-weight-semibold);--calcite-app-font-weight-medium:var(--calcite-font-weight-medium);--calcite-app-font-weight-regular:var(--calcite-font-weight-regular);--calcite-app-font-weight-light:var(--calcite-font-weight-light);--calcite-app-font-family-code:var(--calcite-font-family-code);--calcite-app-font-family-primary:var(--calcite-font-family-primary);--calcite-floating-ui-transition:var(--calcite-animation-timing);--calcite-floating-ui-z-index:var(--calcite-z-index-dropdown);--calcite-animation-timing:calc(0.15s*var(--calcite-internal-duration-factor));--calcite-internal-duration-factor:var(--calcite-duration-factor,1);--calcite-internal-animation-timing-fast:calc(0.1s*var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-medium:calc(0.2s*var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-slow:calc(0.3s*var(--calcite-internal-duration-factor));--calcite-popover-z-index:var(--calcite-z-index-popup);--calcite-border-radius:var(--calcite-border-radius-round,4px);--calcite-border-radius-base:0;--calcite-offset-invert-focus:0;--calcite-panel-width-multiplier:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--calcite-font-family);text-rendering:optimizeLegibility}@media (prefers-color-scheme:dark){.calcite-mode-auto{--calcite-color-border-white:#f7f7f7;--calcite-color-border-ghost:#7575754d;--calcite-color-border-input:#757575;--calcite-color-border-3:#404040;--calcite-color-border-2:#4a4a4a;--calcite-color-border-1:#545454;--calcite-color-text-link:#00a0ff;--calcite-color-text-inverse:#141414;--calcite-color-text-highlight:#d6efff;--calcite-color-text-3:#9e9e9e;--calcite-color-text-2:#bfbfbf;--calcite-color-text-1:#fff;--calcite-color-inverse-press:#f2f2f2;--calcite-color-inverse-hover:#fff;--calcite-color-inverse:#f7f7f7;--calcite-color-status-danger-press:#d90012;--calcite-color-status-danger-hover:#ff0015;--calcite-color-status-danger:#fe583e;--calcite-color-status-warning-press:#ff9500;--calcite-color-status-warning-hover:#ffb54d;--calcite-color-status-warning:#f89927;--calcite-color-status-success-press:#00b81b;--calcite-color-status-success-hover:#3bed52;--calcite-color-status-success:#36da43;--calcite-color-status-info-press:#009af2;--calcite-color-status-info-hover:#3db8ff;--calcite-color-status-info:#00a0ff;--calcite-color-brand-underline:#00a0ff66;--calcite-color-brand-press:#00619b;--calcite-color-brand-hover:#007ac2;--calcite-color-brand:#009af2;--calcite-color-transparent-tint:#2b2b2bcc;--calcite-color-transparent-scrim:#000000d9;--calcite-color-transparent-inverse-press:#00000014;--calcite-color-transparent-inverse-hover:#0000000a;--calcite-color-transparent-press:#ffffff29;--calcite-color-transparent-hover:#ffffff1f;--calcite-color-transparent:#fff0;--calcite-color-surface-highlight:#2b465f;--calcite-color-foreground-current:#2b465f;--calcite-color-foreground-3:#141414;--calcite-color-foreground-2:#212121;--calcite-color-foreground-1:#2b2b2b;--calcite-color-background-none:#fff0;--calcite-color-background:#363636}}@media (prefers-color-scheme:light){.calcite-mode-auto{--calcite-color-border-white:#fff;--calcite-color-border-ghost:#0000004d;--calcite-color-border-input:#949494;--calcite-color-border-3:#dedede;--calcite-color-border-2:#d4d4d4;--calcite-color-border-1:#c9c9c9;--calcite-color-text-link:#00619b;--calcite-color-text-inverse:#fff;--calcite-color-text-highlight:#004874;--calcite-color-text-3:#6b6b6b;--calcite-color-text-2:#4a4a4a;--calcite-color-text-1:#141414;--calcite-color-inverse-press:#212121;--calcite-color-inverse-hover:#2b2b2b;--calcite-color-inverse:#363636;--calcite-color-status-danger-press:#7c1d13;--calcite-color-status-danger-hover:#a82b1e;--calcite-color-status-danger:#d83020;--calcite-color-status-warning-press:#9a5b10;--calcite-color-status-warning-hover:#d17300;--calcite-color-status-warning:#f89927;--calcite-color-status-success-press:#1a6324;--calcite-color-status-success-hover:#288835;--calcite-color-status-success:#35ac46;--calcite-color-status-info-press:#00304d;--calcite-color-status-info-hover:#004874;--calcite-color-status-info:#00619b;--calcite-color-brand-underline:#00619b66;--calcite-color-brand-press:#004874;--calcite-color-brand-hover:#00619b;--calcite-color-brand:#007ac2;--calcite-color-transparent-tint:#fffc;--calcite-color-transparent-scrim:#ffffffd9;--calcite-color-transparent-inverse-press:#ffffff29;--calcite-color-transparent-inverse-hover:#ffffff1f;--calcite-color-transparent-press:#00000014;--calcite-color-transparent-hover:#0000000a;--calcite-color-transparent:#0000;--calcite-color-surface-highlight:#d6efff;--calcite-color-foreground-current:#d6efff;--calcite-color-foreground-3:#ebebeb;--calcite-color-foreground-2:#f2f2f2;--calcite-color-foreground-1:#fff;--calcite-color-background-none:#fff0;--calcite-color-background:#f7f7f7}}@media (prefers-reduced-motion:reduce){:root{--calcite-internal-duration-factor:0}}@keyframes in{0%{opacity:0}to{opacity:1}}@keyframes in-down{0%{opacity:0;transform:translate3D(0,-5px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes in-up{0%{opacity:0;transform:translate3D(0,5px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes in-right{0%{opacity:0;transform:translate3D(-5px,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes in-left{0%{opacity:0;transform:translate3D(5px,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes in-scale{0%{opacity:0;transform:scale3D(.95,.95,1)}to{opacity:1;transform:scaleZ(1)}}.calcite-animate{animation-duration:var(--calcite-animation-timing);animation-fill-mode:both;opacity:0}.calcite-animate__in{animation-name:in}.calcite-animate__in-down{animation-name:in-down}.calcite-animate__in-up{animation-name:in-up}.calcite-animate__in-right{animation-name:in-right}.calcite-animate__in-left{animation-name:in-left}.calcite-animate__in-scale{animation-name:in-scale}}.toast-container{display:flex;flex-direction:column;gap:10px;pointer-events:none;position:fixed;right:20px;top:20px;z-index:10000}.toast{align-items:center;animation:toast-slide-in .3s ease-out;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026,0 2px 6px #0000001a;display:flex;gap:12px;max-width:500px;min-width:300px;padding:16px 20px;pointer-events:auto;transition:all .3s ease}.toast:hover{box-shadow:0 6px 16px #0003,0 3px 8px #00000026;transform:translateX(-5px)}@keyframes toast-slide-in{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.toast-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:16px;font-weight:700;height:24px;justify-content:center;width:24px}.toast-message{word-wrap:break-word;color:#333;flex:1 1;font-size:14px;line-height:1.5}.toast-close{align-items:center;background:none;border:none;color:#999;cursor:pointer;display:flex;flex-shrink:0;font-size:24px;height:24px;justify-content:center;line-height:1;padding:0;transition:color .2s ease;width:24px}.toast-close:hover{color:#333}.toast-success{border-left:4px solid #10b981}.toast-success .toast-icon{background:#d1fae5;color:#10b981}.toast-error{border-left:4px solid #ef4444}.toast-error .toast-icon{background:#fee2e2;color:#ef4444}.toast-warning{border-left:4px solid #f59e0b}.toast-warning .toast-icon{background:#fef3c7;color:#f59e0b}.toast-info{border-left:4px solid #3b82f6}.toast-info .toast-icon{background:#dbeafe;color:#3b82f6}@media (max-width:768px){.toast-container{left:10px;right:10px;top:10px}.toast{max-width:none;min-width:0;min-width:auto;width:100%}}.map-view{height:100%;width:100%}.slpk-panel{background:#fffffff2;box-shadow:-2px 0 10px #0003;display:flex;flex-direction:row;height:100vh;position:fixed;right:0;top:0;transition:transform .3s ease;width:350px;z-index:1000}.slpk-panel.closed{transform:translateX(350px)}.slpk-panel.open{transform:translateX(0)}.slpk-panel-toggle{align-items:center;background:#fffffff2;border:1px solid #ccc;border-radius:8px 0 0 8px;border-right:none;box-shadow:-2px 0 5px #0000001a;color:#333;cursor:pointer;display:flex;font-size:24px;font-weight:700;height:80px;justify-content:center;left:-40px;position:absolute;top:50%;transform:translateY(-50%);transition:background .2s;width:40px}.slpk-panel-toggle:hover{background:#f0f0f0f2}.section-description{background:linear-gradient(135deg,#667eea,#764ba2);border-left:4px solid #5a67d8;border-radius:6px;margin:10px 0;padding:10px 12px}.section-description p{color:#fff;font-size:12px;font-weight:500;margin:0;text-shadow:0 1px 2px #0003}.slpk-panel-content{box-sizing:border-box;height:100%;overflow-y:auto;padding:20px;width:100%}.slpk-panel-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 15px #667eea4d;display:flex;justify-content:space-between;margin-bottom:20px;padding:15px}.slpk-panel-header h3{color:#fff;font-size:18px;font-weight:700;margin:0;text-shadow:0 2px 4px #0000001a}.header-buttons{display:flex;gap:8px}.bidi-edit-button{background:#fff3;border:2px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:18px;font-weight:700;padding:6px 12px;transition:all .3s ease}.bidi-edit-button:hover{background:#ffffff4d;border-color:#ffffff80;transform:scale(1.05)}.upload-button{background:#fff3;border:2px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:18px;font-weight:700;padding:6px 12px;transition:all .3s ease}.upload-button:hover{background:#ffffff4d;border-color:#ffffff80;transform:scale(1.05)}.refresh-button{font-size:18px}.refresh-button:hover:not(:disabled){background:#ffffff4d;border-color:#ffffff80;transform:rotate(180deg)}.refresh-button:disabled{opacity:.6}.slpk-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;margin-bottom:15px;padding:15px}.slpk-error p{margin:0 0 10px}.slpk-error button{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:6px 12px}.slpk-error button:hover{background:#c82333}.slpk-loading{color:#666}.slpk-empty,.slpk-loading{font-size:16px;padding:40px 20px;text-align:center}.slpk-empty{color:#999}.slpk-files-list{display:flex;flex-direction:column;gap:15px}.slpk-file-item{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:15px;transition:box-shadow .2s,transform .2s}.slpk-file-item:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.slpk-file-header{align-items:flex-start;display:flex;gap:10px;justify-content:space-between;margin-bottom:10px}.slpk-file-name{color:#333;flex:1 1;font-size:14px;font-weight:600;margin:0;word-break:break-word}.slpk-file-status{border-radius:12px;color:#fff;display:inline-block;font-size:11px;font-weight:600;padding:4px 8px;text-transform:uppercase;white-space:nowrap}.slpk-file-details{margin-bottom:12px}.slpk-file-date,.slpk-file-id{color:#666;font-size:11px;margin:4px 0;word-break:break-all}.slpk-add-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px;transition:all .3s ease;width:100%}.slpk-add-button:hover:not(:disabled){background:linear-gradient(135deg,#5a67d8,#6a3f92);box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.slpk-add-button:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.slpk-panel-content::-webkit-scrollbar{width:8px}.slpk-panel-content::-webkit-scrollbar-track{background:#f1f1f1}.slpk-panel-content::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.slpk-panel-content::-webkit-scrollbar-thumb:hover{background:#555}.panel-section{margin-bottom:30px}.elevation-section{border-top:2px solid #e0e0e0;padding-top:20px}.tiff-file-item{background:linear-gradient(135deg,#fff,#fef9f5);border-left:4px solid #8b4513}.tiff-badge{background:linear-gradient(135deg,#8b4513,sienna);border-radius:12px;box-shadow:0 2px 4px #8b45134d;color:#fff;display:inline-block;font-size:10px;font-weight:700;padding:4px 10px;text-transform:uppercase;white-space:nowrap}.elevation-add-button{background:linear-gradient(135deg,#8b4513,sienna)!important;box-shadow:0 2px 4px #8b45134d}.elevation-add-button:hover:not(:disabled){background:linear-gradient(135deg,#654321,#8b4513)!important;box-shadow:0 4px 8px #8b451366;transform:translateY(-1px)}.geojson-section{border-left:4px solid #9b59b6}.geojson-badge{background-color:#9b59b6;border-radius:12px;color:#fff;display:inline-block;font-size:11px;font-weight:600;padding:4px 8px;text-transform:uppercase;white-space:nowrap}.geojson-add-button{background:#9b59b6!important}.geojson-add-button:hover:not(:disabled){background:#8e44ad!important}.geojson-file-item{border-left:3px solid #9b59b6}.elevation-section{border-left:4px solid #2196f3;margin-top:15px}.elevation-layers-list{display:flex;flex-direction:column;gap:12px}.elevation-layer-item{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:12px}.elevation-layer-item .layer-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.elevation-layer-item .layer-name{color:#333;font-size:14px;font-weight:600;margin:0}.elevation-badge{background:#2196f3;border-radius:12px;color:#fff;display:inline-block;font-size:10px;font-weight:600;padding:3px 8px;text-transform:lowercase}.elevation-actions{display:flex;flex-direction:column;gap:8px}.elevation-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;justify-content:center;padding:10px 15px;transition:all .2s ease;width:100%}.elevation-btn:disabled{cursor:not-allowed;opacity:.6}.drape-btn{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.drape-btn:hover:not(:disabled){background:linear-gradient(135deg,#45a049,#3d8b40);box-shadow:0 4px 8px #4caf504d;transform:translateY(-1px)}.dem-btn{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff}.dem-btn:hover:not(:disabled){background:linear-gradient(135deg,#1976d2,#1565c0);box-shadow:0 4px 8px #2196f34d;transform:translateY(-1px)}.offset-presets{align-items:center;border-top:1px solid #e0e0e0;display:flex;gap:8px;padding-top:8px}.preset-label{color:#666;font-size:11px;white-space:nowrap}.preset-btn{background:#fff;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;flex:1 1;font-size:12px;font-weight:500;padding:6px 10px;transition:all .2s ease}.preset-btn:hover:not(:disabled){background:#f0f0f0;border-color:#ccc}.preset-btn:disabled{cursor:not-allowed;opacity:.5}.alignment-result{border-radius:6px;font-size:12px;margin-top:10px;padding:8px 12px}.alignment-result.success{background:#e8f5e9;border:1px solid #c8e6c9;color:#2e7d32}.alignment-result.error{background:#ffebee;border:1px solid #ffcdd2;color:#c62828}.alignment-result p{margin:0}.elevation-help{background:#e3f2fd;border-radius:6px;color:#1565c0;font-size:11px;margin-top:15px;padding:12px}.elevation-help p{margin:0 0 6px}.elevation-help p:last-child{margin-bottom:0}.elevation-source-section{border-left:4px solid #ff9800;margin-top:15px}.elevation-source-controls{padding:10px 0}.source-label{color:#555;font-size:12px;margin:0 0 10px}.source-buttons{display:flex;gap:8px;margin-bottom:12px}.source-btn{background:#fff;border:2px solid #ddd;border-radius:8px;color:#333;cursor:pointer;flex:1 1;font-size:12px;font-weight:500;padding:10px 8px;text-align:center;transition:all .2s ease}.source-btn:hover:not(:disabled){background:#fff8e1;border-color:#ff9800}.source-btn.active{background:linear-gradient(135deg,#ff9800,#f57c00);border-color:#ff9800;color:#fff}.source-btn:disabled{cursor:not-allowed;opacity:.5}.switching-indicator{background:#fff8e1;color:#f57c00;font-size:13px;text-align:center}.elevation-error,.switching-indicator{border-radius:6px;margin-bottom:10px;padding:10px}.elevation-error{background:#ffebee;color:#c62828;font-size:12px}.source-info{background:#f5f5f5;border-radius:6px;color:#333;font-size:12px;padding:10px}.source-info p{margin:0}.sample-buildings-section{border-top:1px solid #444;padding-top:12px}.sample-buildings-list{display:flex;flex-direction:column;gap:6px}.sample-building-item{align-items:center;background:#2a2a2a;border:1px solid #3a3a3a;border-radius:6px;display:flex;gap:8px;justify-content:space-between;padding:8px 10px}.sample-building-info{align-items:center;display:flex;flex:1 1;gap:8px;overflow:hidden}.sample-flag{flex-shrink:0;font-size:18px}.sample-name{color:#e0e0e0;font-size:12px;font-weight:600}.sample-name,.sample-note{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sample-note{color:#888;font-size:10px}.sample-add-btn{flex-shrink:0;font-size:11px!important;min-width:44px;padding:5px 10px!important}.georaster-section{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-top:20px;padding:15px}.georaster-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.georaster-header h3{color:#fff;font-size:18px;font-weight:600;margin:0}.upload-area{background:#fffffff2;border:2px dashed #667eea;border-radius:8px;cursor:pointer;margin-bottom:15px;padding:30px;text-align:center;transition:all .3s ease}.upload-area:hover{background:#fff;border-color:#764ba2;box-shadow:0 4px 12px #667eea33;transform:translateY(-2px)}.upload-area.drag-active{background:#667eea1a;border-color:#28a745;border-style:solid}.upload-area.uploading{cursor:not-allowed;opacity:.7}.upload-icon{font-size:48px;margin:0 0 10px}.upload-text{color:#333;font-size:16px;margin:0 0 5px}.upload-text strong{color:#667eea}.upload-hint{color:#666;font-size:13px;margin:0}.upload-progress{padding:10px 0}.upload-progress p{color:#667eea;font-weight:600;margin:0 0 10px}.progress-bar{background:#667eea33;border-radius:4px;height:8px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#667eea,#764ba2);height:100%;transition:width .3s ease}.empty-state,.error-message,.loading-state{background:#fffffff2;border-radius:8px;margin-bottom:10px;padding:15px;text-align:center}.error-message{border-left:4px solid #dc3545}.error-message p{color:#dc3545;margin:0 0 10px}.error-message button{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;padding:6px 15px}.error-message button:hover{background:#c82333}.empty-state p,.loading-state p{color:#666;margin:0}.raster-files-list{display:flex;flex-direction:column;gap:12px}.raster-file-item{background:#fffffff2;border-radius:8px;padding:15px;transition:all .3s ease}.raster-file-item:hover{background:#fff;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.raster-file-header{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:10px}.raster-file-name{color:#333;flex:1 1;font-size:15px;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.raster-file-status{border-radius:12px;color:#fff;font-size:11px;font-weight:600;padding:4px 10px;text-transform:uppercase;white-space:nowrap}.raster-file-details{color:#666;font-size:12px;margin-bottom:12px}.raster-file-details p{margin:4px 0}.raster-file-date,.raster-file-id{font-size:11px}.imageserver-url{border-top:1px solid #e0e0e0;margin-top:10px;padding-top:10px}.url-label{color:#667eea;font-size:12px;font-weight:600;margin:0 0 6px}.url-container{align-items:center;display:flex;gap:6px}.url-input{background:#f8f9fa;border:1px solid #ddd;border-radius:4px;color:#333;flex:1 1;font-family:monospace;font-size:11px;overflow:hidden;padding:8px 10px;text-overflow:ellipsis;white-space:nowrap}.url-input:focus{background:#fff;border-color:#667eea;outline:none}.copy-button{background:#667eea;border:none;border-radius:4px;color:#fff;cursor:pointer;flex-shrink:0;font-size:14px;padding:8px 12px;transition:all .2s ease}.copy-button:hover{background:#764ba2;transform:scale(1.05)}.raster-actions{display:flex;gap:8px}.raster-add-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px;transition:all .3s ease}.raster-add-button:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.raster-add-button:active{transform:translateY(0)}.raster-add-button:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.refresh-button{background:#fff3;border:2px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;padding:6px 12px;transition:all .3s ease}.refresh-button:hover{background:#ffffff4d;border-color:#ffffff80;transform:rotate(180deg)}.refresh-button:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.georaster-section{padding:12px}.upload-area{padding:20px}.upload-icon{font-size:36px}.raster-file-item{padding:12px}.url-container{flex-direction:column}.copy-button,.url-input{width:100%}}.modal-overlay{align-items:center;animation:fadeIn .2s ease-in-out;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.modal-content{animation:slideUp .3s ease-out;background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column;max-height:80vh;max-width:500px;width:90%}.modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px}.modal-header h3{color:#333;font-size:1.25rem;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;padding:0;transition:background-color .2s;width:30px}.modal-close:hover{background-color:#f0f0f0;color:#333}.modal-body{flex:1 1;overflow-y:auto;padding:20px}.file-info{background:#f8f9fa;border-radius:6px;margin-bottom:20px;padding:15px}.file-info p{color:#555;font-size:.9rem;margin:5px 0}.file-name{word-break:break-all}.groups-list{margin-top:15px}.section-title{color:#333;font-size:.9rem;font-weight:600;margin-bottom:10px}.group-item{align-items:center;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;display:flex;gap:10px;margin-bottom:8px;padding:12px;transition:all .2s}.group-item:hover{background-color:#f8f9fa;border-color:#007bff}.group-item input[type=checkbox]{cursor:pointer;flex-shrink:0;height:18px;margin:0;width:18px}.group-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.group-name{color:#333;font-size:.95rem;font-weight:500}.group-description{font-size:.85rem}.shared-badge{background-color:#28a745;border-radius:12px;color:#fff;flex-shrink:0;font-size:.75rem;font-weight:500;padding:4px 10px}.empty-state,.loading-state{color:#666;padding:40px 20px}.empty-state .hint{color:#999;font-size:.85rem;margin-top:5px}.modal-footer{border-top:1px solid #e0e0e0;display:flex;gap:10px;justify-content:flex-end;padding:15px 20px}.modal-footer button{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;padding:10px 20px;transition:all .2s}.btn-secondary:disabled{cursor:not-allowed;opacity:.5}@media (max-width:600px){.modal-content{max-height:90vh;width:95%}.modal-header h3{font-size:1.1rem}.group-item{padding:10px}}.attribute-table-container{background:#fff;bottom:0;box-shadow:0 -2px 10px #0003;display:flex;flex-direction:column;left:350px;position:fixed;right:350px;transition:height .3s ease,left .3s ease,right .3s ease;z-index:999}.attribute-table-container.collapsed{height:36px}.attribute-table-container.open{height:320px}.attribute-table-header{align-items:center;background:linear-gradient(135deg,#4a5568,#2d3748);box-sizing:border-box;color:#fff;cursor:pointer;display:flex;flex-shrink:0;justify-content:space-between;min-height:36px;padding:6px 14px;-webkit-user-select:none;user-select:none}.attribute-table-title{align-items:center;display:flex;font-size:13px;font-weight:600;gap:8px}.toggle-icon{font-size:10px;transition:transform .2s ease}.attribute-table-actions{display:flex;gap:6px}.attr-close-btn,.attr-refresh-btn{background:#ffffff26;border:1px solid #ffffff40;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:2px 8px;transition:background .2s}.attr-close-btn:hover,.attr-refresh-btn:hover{background:#ffffff4d}.attr-close-btn{background:#dc354580;border-color:#dc354599}.attr-close-btn:hover{background:#dc3545cc}.attribute-table-body{flex:1 1;min-height:0;overflow:auto}.attr-empty,.attr-error,.attr-loading{color:#666;font-size:14px;padding:20px;text-align:center}.attr-error{background:#f8d7da;color:#dc3545}.attr-table-wrapper{height:100%;overflow:auto;width:100%}.attr-table{border-collapse:collapse;font-size:12px;white-space:nowrap;width:100%}.attr-table thead{position:-webkit-sticky;position:sticky;top:0;z-index:2}.attr-table th{background:#e2e8f0;border-bottom:2px solid #cbd5e0;border-right:1px solid #cbd5e0;color:#2d3748;font-size:11px;font-weight:600;padding:6px 12px;text-align:left;text-transform:uppercase}.attr-table td{border-bottom:1px solid #e2e8f0;border-right:1px solid #e2e8f0;max-width:200px;overflow:hidden;padding:5px 12px;text-overflow:ellipsis}.attr-table tbody tr:hover{background:#ebf4ff}.attr-table tbody tr.selected{background:#bee3f8}.attr-table tbody tr:nth-child(2n){background:#f7fafc}.attr-table tbody tr:nth-child(2n):hover{background:#ebf4ff}.attr-table tbody tr.selected:nth-child(2n){background:#bee3f8}.editable-cell{cursor:text}.editable-cell:hover{background:#667eea14}.oid-cell{color:#718096;font-weight:600}.cell-value{display:block;overflow:hidden;text-overflow:ellipsis}.cell-edit-input{background:ivory;border:2px solid #667eea;border-radius:3px;box-sizing:border-box;font-size:12px;outline:none;padding:2px 4px;width:100%}.cell-edit-input:focus{box-shadow:0 0 0 2px #667eea4d}.elevation-control{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:10px 0;padding:15px}.elevation-header{align-items:center;border-bottom:2px solid #8b4513;display:flex;justify-content:space-between;margin-bottom:10px;padding-bottom:8px}.elevation-header h3{border-bottom:none;color:#333;font-size:16px;margin:0;padding-bottom:0}.elevation-header-buttons{display:flex;gap:8px}.elevation-upload-button{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:6px;box-shadow:0 2px 4px #10b9814d;color:#fff;cursor:pointer;display:flex;font-size:20px;font-weight:700;height:32px;justify-content:center;transition:all .2s ease;width:32px}.elevation-upload-button:hover{box-shadow:0 4px 8px #10b98166;transform:scale(1.1)}.elevation-refresh-button{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:6px;box-shadow:0 2px 4px #3b82f64d;color:#fff;cursor:pointer;display:flex;font-size:16px;height:32px;justify-content:center;transition:all .2s ease;width:32px}.elevation-refresh-button:hover:not(:disabled){box-shadow:0 4px 8px #3b82f666;transform:scale(1.1)}.elevation-refresh-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.elevation-control h3{border-bottom:2px solid #8b4513;color:#333;font-size:16px;margin:0 0 10px;padding-bottom:8px}.elevation-source-section{margin:10px 0 15px}.elevation-source-section label{color:#555;display:block;font-size:13px;font-weight:700;margin-bottom:8px}.elevation-dropdown-container{position:relative;width:100%}.elevation-dropdown{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:linear-gradient(135deg,#f8f9fa,#fff);border:2px solid #e5e7eb;border-radius:10px;box-shadow:0 2px 4px #0000000d;color:#333;cursor:pointer;font-size:14px;font-weight:500;padding:12px 40px 12px 16px;transition:all .3s ease;width:100%}.elevation-dropdown:hover:not(:disabled){border-color:#667eea;box-shadow:0 4px 12px #667eea26}.elevation-dropdown:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea33;outline:none}.elevation-dropdown:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.elevation-dropdown option{background:#fff;font-size:14px;padding:12px}.elevation-dropdown optgroup{background:#f0f4ff;color:#667eea;font-weight:600}.dropdown-arrow{color:#667eea;font-size:12px;pointer-events:none;position:absolute;right:14px;top:50%;transform:translateY(-50%);transition:transform .2s ease}.elevation-dropdown:focus+.dropdown-arrow{transform:translateY(-50%) rotate(180deg)}.elevation-source-info{color:#666;font-size:11px;font-style:italic;margin:8px 0 0;text-align:center}.elevation-divider{border:none;border-top:1px solid #dee2e6;margin:15px 0}.elevation-info{background:#fff3cd;border-left:4px solid #ffc107;border-radius:4px;margin:10px 0;padding:10px}.elevation-info p{color:#856404;font-size:13px;margin:0}.auto-adjust-section{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;margin:15px 0;padding:15px;text-align:center}.auto-adjust-button{background:#fff;border:none;border-radius:6px;box-shadow:0 2px 4px #0003;color:#667eea;cursor:pointer;font-size:14px;font-weight:700;padding:12px 20px;transition:all .3s;width:100%}.auto-adjust-button:hover:not(:disabled){background:#f0f0f0;box-shadow:0 4px 8px #0000004d;transform:translateY(-2px)}.auto-adjust-button:disabled{background:#ccc;color:#666;cursor:not-allowed;transform:none}.auto-adjust-hint{color:#fff;font-size:11px;margin:8px 0 0;opacity:.9}.elevation-mode-group{background:#f8f9fa;border:2px solid #dee2e6;border-radius:6px;display:flex;flex-direction:column;gap:8px;margin:15px 0;padding:12px}.elevation-mode-group label{color:#555;font-size:13px;font-weight:700}.mode-select{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;padding:8px}.mode-select:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea33;outline:none}.mode-hint{background:#fff;border-radius:4px;color:#666;font-size:11px;font-style:italic;margin:4px 0 0;padding:6px}.elevation-input-group{display:flex;flex-direction:column;gap:8px;margin:15px 0}.elevation-input-group label{color:#555;font-size:13px;font-weight:700}.elevation-input-group input{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px}.elevation-input-group input:focus{border-color:#8b4513;outline:none}.apply-button{background:#8b4513;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:700;padding:10px;transition:background .3s}.apply-button:hover:not(:disabled){background:#654321}.apply-button:disabled{background:#ccc;cursor:not-allowed}.elevation-presets{margin:15px 0}.elevation-presets p{color:#555;font-size:13px;font-weight:700;margin-bottom:8px}.preset-buttons{grid-gap:5px;gap:5px;grid-template-columns:repeat(5,1fr)}.preset-buttons button{background:#f0f0f0;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:12px;padding:8px 4px;transition:all .2s}.preset-buttons button:hover:not(:disabled){background:#8b4513;border-color:#8b4513;color:#fff}.preset-buttons button:disabled{cursor:not-allowed;opacity:.5}.elevation-instructions{background:#e7f3ff;border-left:4px solid #2196f3;border-radius:4px;margin:15px 0;padding:10px}.elevation-instructions h4{color:#1976d2;font-size:13px;margin:0 0 8px}.elevation-instructions ol{color:#555;font-size:12px;margin:0;padding-left:20px}.elevation-instructions li{margin:4px 0}.elevation-note{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;margin:15px 0 0;padding:10px}.elevation-note p{color:#666;font-size:11px;line-height:1.4;margin:0}.elevation-note strong{color:#333}.elevation-modal-overlay{align-items:center;animation:fadeIn .2s ease-in-out;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.elevation-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000004d;max-height:90vh;max-width:900px;overflow-y:auto;width:90%}.elevation-modal-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px 16px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 30px}.elevation-modal-header h2{font-size:24px;font-weight:600;margin:0}.modal-close-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:36px;justify-content:center;transition:all .2s;width:36px}.modal-close-btn:hover{background:#ffffff4d;transform:rotate(90deg)}.elevation-modal-info{background:#f8f9fa;border-bottom:1px solid #dee2e6;padding:20px 30px}.info-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:15px}.info-item{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;display:flex;justify-content:space-between;padding:12px 16px}.info-label{color:#666;font-size:13px;font-weight:500}.info-value{color:#333;font-size:16px;font-weight:700}.problem-alert{background:#fff3cd;border-left:4px solid #ffc107;border-radius:6px;padding:12px 16px}.problem-alert strong{color:#856404;display:block;margin-bottom:4px}.problem-alert p{color:#856404;font-size:13px;margin:0}.elevation-modal-body{padding:30px}.elevation-modal-body h3{color:#333;font-size:18px;font-weight:600;margin:0 0 20px}.mode-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.mode-option{background:#fff;border:2px solid #dee2e6;border-radius:12px;cursor:pointer;overflow:hidden;padding:20px;position:relative;text-align:center;transition:all .3s}.mode-option:hover{border-color:#667eea;box-shadow:0 8px 20px #667eea4d;transform:translateY(-4px)}.mode-option.recommended{background:linear-gradient(135deg,#f0fff4,#e8f5e9);border-color:#4caf50}.mode-option.recommended:hover{border-color:#2e7d32;box-shadow:0 8px 20px #4caf5066}.recommended-badge{background:linear-gradient(135deg,#4caf50,#2e7d32);box-shadow:0 2px 4px #0003;color:#fff;font-size:10px;font-weight:700;padding:4px 40px;position:absolute;right:-30px;top:10px;transform:rotate(45deg)}.mode-icon{font-size:48px;margin-bottom:12px}.mode-name{color:#333;font-size:16px;font-weight:700;margin-bottom:8px}.mode-description{color:#666;font-size:13px;font-weight:500;margin-bottom:8px}.mode-details{color:#888;font-size:12px;line-height:1.4;margin-bottom:12px;min-height:40px}.mode-offset{background:#667eea;border-radius:20px;color:#fff;display:inline-block;font-size:12px;font-weight:600;padding:6px 12px}.mode-option.recommended .mode-offset{background:#4caf50}.elevation-modal-footer{align-items:center;background:#f8f9fa;border-radius:0 0 16px 16px;border-top:1px solid #dee2e6;display:flex;justify-content:space-between;padding:20px 30px}.modal-hint{color:#666;flex:1 1;font-size:13px;margin:0}.modal-hint strong{color:#333}.modal-cancel-btn{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:10px 24px;transition:all .2s}.modal-cancel-btn:hover{background:#5a6268;box-shadow:0 4px 8px #0003;transform:translateY(-2px)}@media (max-width:768px){.elevation-modal{max-height:95vh;width:95%}.info-grid,.mode-grid{grid-template-columns:1fr}.elevation-modal-footer{flex-direction:column;gap:15px}.modal-hint{text-align:center}}.login-overlay{align-items:center;background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f3460);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.login-popup{animation:slideUp .4s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:400px;padding:40px;width:100%}.login-header{margin-bottom:30px;text-align:center}.login-logo{font-size:48px;margin-bottom:10px}.login-header h2{color:#1a1a2e;font-size:24px;font-weight:600;margin:0}.login-header p{color:#666;font-size:14px;margin:8px 0 0}.login-form{display:flex;flex-direction:column;gap:20px}.login-error{background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px;padding:12px 16px;text-align:center}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{color:#333;font-size:14px}.form-group input{border:2px solid #e5e7eb;border-radius:8px;font-size:16px;padding:12px 16px;transition:border-color .2s,box-shadow .2s}.form-group input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.login-type-toggle{align-items:center;display:flex;gap:12px;justify-content:center;padding:12px 0}.toggle-label{color:#9ca3af;font-size:14px;font-weight:500;transition:color .3s,transform .2s}.toggle-label.active{color:#1a1a2e;transform:scale(1.05)}.toggle-switch{display:inline-block;height:28px;position:relative;width:56px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:28px;bottom:0;box-shadow:inset 0 2px 4px #0000001a;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:background .3s,box-shadow .3s}.toggle-slider:before{background:#fff;border-radius:50%;bottom:3px;box-shadow:0 2px 4px #0003;content:"";height:22px;left:3px;position:absolute;transition:transform .3s cubic-bezier(.68,-.55,.265,1.55);width:22px}.toggle-switch input:checked+.toggle-slider{background:linear-gradient(135deg,#6366f1,#4f46e5)}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(28px)}.toggle-switch input:focus+.toggle-slider{box-shadow:inset 0 2px 4px #0000001a,0 0 0 3px #6366f133}.toggle-switch input:disabled+.toggle-slider{cursor:not-allowed;opacity:.6}.form-group input:disabled{background:#f3f4f6;cursor:not-allowed}.login-button{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;padding:14px 24px;transition:transform .2s,box-shadow .2s}.login-button:hover:not(:disabled){box-shadow:0 8px 20px #3b82f64d;transform:translateY(-2px)}.login-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:18px;width:18px}.login-footer{border-top:1px solid #e5e7eb;margin-top:30px;padding-top:20px;text-align:center}.login-footer p{color:#9ca3af;font-size:12px;margin:0}.admin-panel-overlay{align-items:center;animation:fadeIn .2s ease-in-out;background-color:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.admin-panel-container{animation:slideUp .3s ease-out;background:#fff;border-radius:10px;box-shadow:0 8px 30px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:1000px;width:90%}.admin-panel-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:2px solid #e0e0e0;border-radius:10px 10px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 25px}.admin-panel-header h2{font-size:1.5rem;margin:0}.close-button{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:2rem;height:40px;justify-content:center;transition:all .2s;width:40px}.close-button:hover{background:#ffffff4d;transform:rotate(90deg)}.admin-tabs{background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex}.tab-button{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;flex:1 1;font-size:1rem;font-weight:500;padding:15px 20px;transition:all .2s}.tab-button:hover{background:#e9ecef;color:#333}.tab-button.active{background:#fff;border-bottom-color:#667eea;color:#667eea}.admin-panel-content{flex:1 1;overflow-y:auto;padding:25px}.error-message{margin-bottom:20px;padding:12px 15px}.empty-state,.loading-state{color:#999;font-size:1.1rem;padding:60px 20px;text-align:center}.create-group-form{background:#f8f9fa;border-radius:8px;margin-bottom:30px;padding:20px}.create-group-form h3{color:#333;font-size:1.1rem;margin:0 0 15px}.create-group-form form{display:flex;flex-direction:column;gap:10px}.create-group-form input,.create-group-form textarea{border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:.95rem;padding:12px}.create-group-form input:focus,.create-group-form textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.groups-list h3{color:#333;font-size:1.1rem;margin:0 0 20px}.group-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 5px #0000000d;margin-bottom:15px;padding:20px;transition:all .2s}.group-card:hover{border-color:#667eea;box-shadow:0 4px 12px #0000001a}.group-info h4{color:#333;font-size:1.15rem;margin:0 0 10px}.group-description{color:#666;font-size:.9rem;margin:5px 0}.group-meta{color:#999;font-size:.85rem;margin:10px 0 0}.group-actions{display:flex;gap:10px;margin-top:15px}.edit-form{display:flex;flex-direction:column;gap:10px}.edit-form input,.edit-form textarea{border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:.9rem;padding:10px}.edit-actions{display:flex;gap:10px}.users-tab h3{color:#333;font-size:1.1rem;margin:0 0 20px}.users-list{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.user-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 5px #0000000d;padding:15px;transition:all .2s}.user-card:hover{border-color:#667eea;box-shadow:0 4px 12px #0000001a}.user-info h4{color:#333;font-size:1rem;margin:0 0 8px}.user-name{color:#666;display:block;font-size:.9rem;margin-bottom:5px}.user-meta{color:#999;font-size:.85rem;margin:5px 0 0}.files-tab h3{color:#333;font-size:1.1rem;margin:0 0 20px}.files-list{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.file-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 5px #0000000d;padding:15px;transition:all .2s}.file-card:hover{border-color:#667eea;box-shadow:0 4px 12px #0000001a}.file-info h4{color:#333;font-size:1rem;margin:0 0 10px;word-break:break-word}.file-details{display:flex;gap:8px;margin-bottom:10px}.file-badge{border-radius:12px;font-size:.75rem;font-weight:600;padding:4px 10px;text-transform:uppercase}.file-type{background-color:#007bff;color:#fff}.file-status{background-color:#28a745;color:#fff}.file-date,.file-owner{color:#666;font-size:.85rem;margin:5px 0}.btn-close-modal,.btn-delete,.btn-edit,.btn-manage,.btn-primary,.btn-secondary,.btn-success{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;padding:10px 18px;transition:all .2s}.btn-primary{background-color:#667eea}.btn-primary:hover{background-color:#5568d3}.btn-success{background-color:#28a745;color:#fff}.btn-success:hover{background-color:#218838}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#5a6268}.btn-manage{background-color:#17a2b8;color:#fff;flex:1 1}.btn-manage:hover{background-color:#138496}.btn-edit{background-color:#ffc107;color:#333}.btn-edit:hover{background-color:#e0a800}.btn-delete{background-color:#dc3545;color:#fff}.btn-delete:hover{background-color:#c82333}.btn-close-modal{background-color:#6c757d;color:#fff;margin-top:15px;width:100%}.btn-close-modal:hover{background-color:#5a6268}.modal-content-large{background:#fff;border-radius:10px;box-shadow:0 8px 30px #0000004d;max-height:80vh;max-width:700px;overflow-y:auto;padding:25px;width:90%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.admin-panel-content::-webkit-scrollbar,.modal-content-large::-webkit-scrollbar{width:10px}.admin-panel-content::-webkit-scrollbar-track,.modal-content-large::-webkit-scrollbar-track{background:#f1f1f1;border-radius:5px}.admin-panel-content::-webkit-scrollbar-thumb,.modal-content-large::-webkit-scrollbar-thumb{background:#888;border-radius:5px}.admin-panel-content::-webkit-scrollbar-thumb:hover,.modal-content-large::-webkit-scrollbar-thumb:hover{background:#555}@media (max-width:768px){.admin-panel-container{max-height:95vh;width:95%}.admin-panel-header h2{font-size:1.2rem}.tab-button{font-size:.85rem;padding:12px 10px}.files-list,.users-list{grid-template-columns:1fr}.edit-actions,.group-actions{flex-direction:column}}.group-member-selector{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:20px}.selector-header h4{color:#333;font-size:1.1rem;margin:0 0 20px}.error-message{background-color:#f8d7da;border-radius:6px;margin-bottom:15px}.loading-state{color:#666;padding:40px 20px;text-align:center}.empty-message{color:#999;font-style:italic;padding:20px;text-align:center}.add-members-section,.members-section{margin-bottom:30px}.add-members-section h5,.members-section h5{color:#555;font-size:1rem;font-weight:600;margin:0 0 15px}.search-input{border:1px solid #ddd;border-radius:6px;box-sizing:border-box;font-size:.9rem;margin-bottom:15px;padding:10px 15px;width:100%}.search-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.members-list,.users-list{display:flex;flex-direction:column;gap:10px;max-height:300px;overflow-y:auto}.member-item,.user-item{align-items:center;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;display:flex;justify-content:space-between;padding:12px;transition:all .2s}.member-item:hover,.user-item:hover{background:#e9ecef;border-color:#007bff}.member-info,.user-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.member-email,.user-email{color:#333;font-size:.95rem;font-weight:500}.member-name,.user-name{color:#666;font-size:.85rem}.member-date{color:#999;font-size:.8rem}.btn-add,.btn-remove{border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;padding:8px 16px;transition:all .2s;white-space:nowrap}.btn-add{background-color:#28a745;color:#fff}.btn-add:hover{background-color:#218838}.btn-remove{background-color:#dc3545;color:#fff}.btn-remove:hover{background-color:#c82333}.btn-add:disabled,.btn-remove:disabled{cursor:not-allowed;opacity:.5}.members-list::-webkit-scrollbar,.users-list::-webkit-scrollbar{width:8px}.members-list::-webkit-scrollbar-track,.users-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.members-list::-webkit-scrollbar-thumb,.users-list::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.members-list::-webkit-scrollbar-thumb:hover,.users-list::-webkit-scrollbar-thumb:hover{background:#555}@media (max-width:600px){.group-member-selector{padding:15px}.selector-header h4{font-size:1rem}.member-item,.user-item{align-items:flex-start;flex-direction:column;gap:10px}.btn-add,.btn-remove{width:100%}}.fm-overlay{background:#f0f2f7;inset:0;position:fixed;z-index:9000}.fm-overlay,.fm-page{display:flex;flex-direction:column;overflow:hidden}.fm-page{height:100%}.fm-header{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 3px 12px #00000040;color:#fff;flex-shrink:0;height:62px;justify-content:space-between;padding:0 28px}.fm-header,.fm-header-left{align-items:center;display:flex}.fm-header-left{gap:20px}.fm-header-title{font-size:1.25rem;font-weight:700;letter-spacing:.3px}.fm-back-btn{background:#ffffff2e;border:1px solid #fff6;border-radius:7px;color:#fff;cursor:pointer;font-size:.88rem;font-weight:500;padding:7px 18px;transition:background .2s,transform .1s;white-space:nowrap}.fm-back-btn:hover{background:#ffffff4d;transform:translateX(-2px)}.fm-header-right{align-items:center;display:flex;gap:14px}.fm-role-badge{border-radius:20px;font-size:.78rem;font-weight:700;letter-spacing:.3px;padding:5px 14px}.fm-role-badge.admin{background:#ffc83247;border:1px solid #ffc8328c;color:#ffe58f}.fm-role-badge.user{background:#ffffff2e;border:1px solid #ffffff59;color:#e8eeff}.fm-user-email{font-size:.82rem;max-width:240px;opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-tabs{background:#fff;border-bottom:2px solid #e5e7ef;box-shadow:0 2px 6px #0000000a;display:flex;flex-shrink:0;padding:0 28px}.fm-tab-btn{background:none;border:none;border-bottom:3px solid #0000;color:#888;cursor:pointer;font-size:.97rem;font-weight:500;margin-bottom:-2px;padding:15px 28px;transition:color .2s,background .2s,border-color .2s}.fm-tab-btn.active,.fm-tab-btn:hover{background:#f4f5ff;color:#667eea}.fm-tab-btn.active{border-bottom-color:#667eea;font-weight:600}.fm-global-error{background:#fff3cd;border-bottom:1px solid #ffc107;color:#856404;flex-shrink:0;font-size:.88rem;padding:10px 28px}.fm-section-error{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;color:#856404;font-size:.9rem;margin:24px;padding:20px 24px}.fm-content{flex:1 1;overflow-y:auto;padding:28px}.fm-content::-webkit-scrollbar{width:8px}.fm-content::-webkit-scrollbar-track{background:#eee;border-radius:4px}.fm-content::-webkit-scrollbar-thumb{background:#bbb;border-radius:4px}.fm-content::-webkit-scrollbar-thumb:hover{background:#999}.fm-section{margin-bottom:36px}.fm-section-header{flex-wrap:wrap;justify-content:space-between;margin-bottom:18px}.fm-section-header,.fm-section-title{align-items:center;display:flex;gap:10px}.fm-section-title{color:#333;font-size:1.05rem;font-weight:700;margin:0}.fm-count-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;font-size:.78rem;font-weight:700;padding:2px 10px}.fm-filter-bar{align-items:center;display:flex;gap:8px}.fm-filter-label{color:#666;font-size:.88rem;font-weight:500}.fm-select{background:#fff;border:1px solid #ddd;border-radius:7px;color:#333;cursor:pointer;font-size:.88rem;outline:none;padding:7px 12px;transition:border-color .2s}.fm-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.fm-loading{color:#aaa;font-size:1rem;padding:80px 20px;text-align:center}.fm-loading:before{animation:fm-spin .8s linear infinite;border:4px solid #667eea33;border-radius:50%;border-top-color:#667eea;content:"";display:block;height:36px;margin:0 auto 16px;width:36px}@keyframes fm-spin{to{transform:rotate(1turn)}}.fm-empty{background:#fff;border:2px dashed #ddd;border-radius:10px;color:#aaa;font-size:.92rem;line-height:1.6;padding:48px 20px;text-align:center}.fm-files-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(330px,1fr))}.fm-file-card{background:#fff;border:1px solid #e4e7ef;border-radius:12px;box-shadow:0 2px 8px #0000000a;display:flex;gap:14px;padding:18px;transition:box-shadow .2s,border-color .2s,transform .15s}.fm-file-card:hover{border-color:#667eea;box-shadow:0 6px 20px #667eea24;transform:translateY(-1px)}.fm-file-icon-box{align-items:center;background:linear-gradient(135deg,#eff2ff,#f5f0ff);border-radius:10px;display:flex;flex-shrink:0;height:50px;justify-content:center;width:50px}.fm-file-icon-emoji{font-size:1.6rem;line-height:1}.fm-file-info{flex:1 1;min-width:0}.fm-file-name{color:#2d3748;font-size:.93rem;font-weight:600;line-height:1.35;margin:0 0 8px;word-break:break-word}.fm-file-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:9px}.fm-badge{border-radius:10px;font-size:.7rem;font-weight:700;letter-spacing:.5px;padding:3px 9px;text-transform:uppercase}.badge-blue{background:#dbeafe;color:#1d4ed8}.badge-green{background:#dcfce7;color:#15803d}.badge-orange{background:#ffedd5;color:#c2410c}.badge-gray{background:#f1f5f9;color:#475569}.badge-success{background:#dcfce7;color:#15803d}.badge-warning{background:#fef3c7;color:#92400e}.fm-file-meta{color:#78828e;font-size:.8rem;line-height:1.4;margin:4px 0}.fm-meta-label{color:#aab0b8;font-weight:500}.fm-file-desc{color:#667;font-style:italic}.fm-file-actions{flex-shrink:0;justify-content:flex-start}.fm-file-actions,.fm-groups-list{display:flex;flex-direction:column}.fm-groups-list{gap:14px}.fm-group-card{background:#fff;border:1px solid #e4e7ef;border-radius:12px;box-shadow:0 2px 8px #0000000a;padding:20px 22px;transition:box-shadow .2s,border-color .2s,transform .15s}.fm-group-card:hover{border-color:#667eea;box-shadow:0 6px 20px #667eea24;transform:translateY(-1px)}.fm-group-body{align-items:flex-start;display:flex;gap:16px;margin-bottom:16px}.fm-group-icon-box{align-items:center;background:linear-gradient(135deg,#eff2ff,#f5f0ff);border-radius:10px;display:flex;flex-shrink:0;height:46px;justify-content:center;width:46px}.fm-group-icon-emoji{font-size:1.4rem;line-height:1}.fm-group-details{flex:1 1;min-width:0}.fm-group-name{color:#2d3748;font-size:1rem;font-weight:700;margin:0 0 5px}.fm-group-desc{color:#6b7280;font-size:.87rem;line-height:1.5;margin:0 0 10px}.fm-group-meta{display:flex;flex-wrap:wrap;gap:10px}.fm-meta-chip{background:#f1f3f9;border:1px solid #e4e7ef;border-radius:10px;color:#667;font-size:.78rem;font-weight:500;padding:3px 10px}.fm-group-actions{border-top:1px solid #f0f0f5;display:flex;flex-wrap:wrap;gap:8px;padding-top:14px}.fm-create-form{background:#fff;border:1px solid #e4e7ef;border-radius:12px;box-shadow:0 2px 8px #0000000a;margin-bottom:28px;padding:22px 26px}.fm-create-form-title{color:#333;font-size:1rem;font-weight:700;margin:0 0 16px}.fm-create-form-body{display:flex;flex-direction:column;gap:10px}.fm-input{background:#fafbfc;border:1px solid #ddd;border-radius:7px;box-sizing:border-box;color:#333;font-family:inherit;font-size:.9rem;outline:none;padding:10px 14px;transition:border-color .2s,box-shadow .2s;width:100%}.fm-input:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1f}.fm-textarea{background:#fafbfc;border:1px solid #ddd;border-radius:7px;box-sizing:border-box;color:#333;font-family:inherit;font-size:.9rem;outline:none;padding:10px 14px;resize:vertical;transition:border-color .2s,box-shadow .2s;width:100%}.fm-textarea:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1f}.fm-form-error{color:#dc3545;font-size:.84rem;margin:0;padding:6px 0}.fm-edit-form{display:flex;flex-direction:column;gap:10px}.fm-edit-actions{display:flex;gap:8px}.fm-btn{border:none;border-radius:7px;cursor:pointer;font-size:.87rem;font-weight:600;line-height:1;padding:8px 18px;transition:background .2s,transform .1s,box-shadow .2s;white-space:nowrap}.fm-btn:active{transform:scale(.97)}.fm-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.fm-btn-primary:hover{background:linear-gradient(135deg,#5568d3,#6a3f92);box-shadow:0 4px 12px #667eea59}.fm-btn-success{background:#28a745;color:#fff}.fm-btn-success:hover{background:#218838;box-shadow:0 3px 8px #28a7454d}.fm-btn-secondary{background:#6c757d;color:#fff}.fm-btn-secondary:hover{background:#5a6268}.fm-btn-share{background:linear-gradient(135deg,#17a2b8,#0d7a8e);color:#fff}.fm-btn-share:hover{background:linear-gradient(135deg,#138496,#0a5f6e);box-shadow:0 3px 8px #17a2b859}.fm-btn-manage{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.fm-btn-manage:hover{background:linear-gradient(135deg,#5568d3,#6a3f92);box-shadow:0 3px 8px #667eea59}.fm-btn-edit{background:#ffc107;color:#333}.fm-btn-edit:hover{background:#e0a800}.fm-btn-delete{background:#dc3545;color:#fff}.fm-btn-delete:hover{background:#c82333;box-shadow:0 3px 8px #dc35454d}.fm-modal-backdrop{align-items:center;animation:fm-fade-in .18s ease-out;background:#000000a6;display:flex;inset:0;justify-content:center;position:fixed;z-index:10000}@keyframes fm-fade-in{0%{opacity:0}to{opacity:1}}.fm-modal-box{animation:fm-slide-up .22s ease-out;background:#fff;border-radius:14px;box-shadow:0 12px 48px #00000047;max-height:82vh;max-width:680px;overflow-y:auto;padding:28px;width:92%}@keyframes fm-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fm-modal-box::-webkit-scrollbar{width:8px}.fm-modal-box::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.fm-modal-box::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.fm-modal-close-btn{margin-top:18px;width:100%}@media (max-width:768px){.fm-header{flex-wrap:wrap;gap:8px;height:auto;min-height:56px;padding:10px 16px}.fm-header-title{font-size:1rem}.fm-user-email{display:none}.fm-tabs{padding:0 16px}.fm-tab-btn{font-size:.9rem;padding:12px 18px}.fm-content{padding:16px}.fm-files-grid{grid-template-columns:1fr}.fm-group-actions{flex-direction:column}.fm-group-actions .fm-btn{text-align:center;width:100%}.fm-edit-actions{flex-direction:column}.fm-edit-actions .fm-btn{width:100%}.fm-file-card{flex-wrap:wrap}.fm-file-actions{flex-direction:row;width:100%}.fm-file-actions .fm-btn{flex:1 1}}@media (max-width:480px){.fm-back-btn{font-size:.82rem;padding:6px 12px}}.app-loading{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;flex-direction:column;height:100vh;justify-content:center}.app-loading .loading-spinner{animation:spin 1s ease-in-out infinite;border:5px solid #fff3;border-radius:50%;border-top-color:#fff;box-shadow:0 4px 20px #0003;height:60px;margin-bottom:20px;width:60px}@keyframes spin{to{transform:rotate(1turn)}}.app-loading p{font-size:20px;font-weight:500;margin:0;text-shadow:0 2px 4px #0003}.app{font-family:Avenir Next,Arial,sans-serif}.app,.sidebar{display:flex;height:100vh}.sidebar{background:linear-gradient(180deg,#f8f9fa,#e9ecef);border-right:2px solid #dee2e6;box-shadow:2px 0 10px #0000000d;flex-direction:row;left:0;position:fixed;top:0;transition:transform .3s ease;width:350px;z-index:1000}.sidebar.open{transform:translateX(0)}.sidebar.closed{transform:translateX(-350px)}.sidebar-content{flex:1 1;overflow-y:auto;padding:20px}.sidebar-toggle{align-items:center;background:#fffffff2;border:1px solid #ccc;border-left:none;border-radius:0 8px 8px 0;box-shadow:2px 0 5px #0000001a;color:#333;cursor:pointer;display:flex;font-size:24px;font-weight:700;height:80px;justify-content:center;position:absolute;right:-40px;top:50%;transform:translateY(-50%);transition:background .2s;width:40px;z-index:1001}.sidebar-toggle:hover{background:#f0f0f0f2}.sidebar-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 15px #667eea4d;display:flex;justify-content:space-between;margin-bottom:15px;padding:15px}.sidebar-header h2{border-bottom:none;color:#fff;font-size:18px;font-weight:700;margin:0;padding-bottom:0;text-shadow:0 2px 4px #0000001a}.header-actions{display:flex;gap:8px}.sidebar h2{border-bottom:2px solid #667eea4d;color:#667eea;margin-top:0;padding-bottom:10px}.pocketbase-button{background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;padding:8px 12px;transition:background .2s,transform .1s,box-shadow .2s}.pocketbase-button:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);box-shadow:0 4px 12px #6366f166;transform:scale(1.05)}.admin-button{background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;padding:8px 12px;transition:background .2s,transform .1s,box-shadow .2s}.admin-button:hover{background:linear-gradient(135deg,#d97706,#b45309);box-shadow:0 4px 12px #f59e0b66;transform:scale(1.05)}.files-button{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;padding:8px 12px;transition:background .2s,transform .1s,box-shadow .2s}.files-button:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b98166;transform:scale(1.05)}.logout-button{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;padding:8px 12px;transition:background .2s,transform .1s}.logout-button:hover{background:#c82333;transform:scale(1.05)}.map-container{flex:1 1;margin-left:350px;position:relative;transition:margin-left .3s ease}.panel-section{background:#fff;border:1px solid #667eea1a;border-radius:12px;box-shadow:0 4px 12px #00000014;margin-bottom:20px;padding:18px;transition:all .3s ease}.panel-section:hover{box-shadow:0 6px 20px #667eea26;transform:translateY(-2px)}.panel-section h3{border-bottom:2px solid #667eea33;color:#667eea;font-size:17px;font-weight:600;margin-top:0;padding-bottom:10px}.form-group{margin-bottom:15px}.form-group label{color:#555;display:block;font-weight:500;margin-bottom:5px}.form-group input,.form-group select{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px 12px;transition:all .2s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.btn{border:none;border-radius:4px;cursor:pointer;font-size:13px;min-width:0;overflow:hidden;padding:8px 12px;text-overflow:ellipsis;transition:background-color .2s;white-space:nowrap}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;transition:all .3s ease}.btn-primary:hover{background:linear-gradient(135deg,#5a67d8,#6a3f92);box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.btn-danger{background:#dc3545;color:#fff;font-size:12px;padding:6px 10px}.btn-danger:hover{background:#c82333}.btn-zoom{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:12px;padding:6px 10px;transition:all .3s ease}.btn-zoom:hover{background:linear-gradient(135deg,#5a67d8,#6a3f92);box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.layer-item{background:#f8f9fa;border-radius:4px;display:flex;flex-direction:column;gap:8px;margin-bottom:8px;padding:10px}.layer-info{flex:1 1;min-width:0}.layer-title{word-wrap:break-word;color:#333;font-weight:500;overflow-wrap:break-word}.layer-type{color:#666;font-size:12px}.layer-actions{display:flex;gap:5px;width:100%}.layer-actions button{flex:1 1;font-size:13px;min-width:0;overflow:hidden;padding:6px 8px;text-overflow:ellipsis;white-space:nowrap}.style-section{background:#f8f9fa;border-radius:4px;margin:10px 0;padding:12px}.style-section h4{border-bottom:1px solid #ddd;color:#333;font-size:14px;margin:0 0 10px;padding-bottom:5px}.preset-buttons{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.btn-preset{background:#6c757d;color:#fff;font-size:11px;min-width:0;overflow:hidden;padding:8px 6px;text-overflow:ellipsis;white-space:nowrap}.btn-preset:hover{background:#5a6268}input[type=range]{-webkit-appearance:none;background:#ddd;border-radius:3px;height:6px;outline:none;width:100%}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;cursor:pointer;height:16px;-webkit-transition:all .2s ease;transition:all .2s ease;width:16px}input[type=range]::-webkit-slider-thumb:hover{box-shadow:0 2px 8px #667eea66;transform:scale(1.2)}input[type=range]::-moz-range-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50%;cursor:pointer;height:16px;-moz-transition:all .2s ease;transition:all .2s ease;width:16px}input[type=range]::-moz-range-thumb:hover{box-shadow:0 2px 8px #667eea66;transform:scale(1.2)}input[type=color]{border:1px solid #ddd;border-radius:4px;cursor:pointer}input[type=checkbox]{cursor:pointer;margin-right:5px}.basemap-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.basemap-option{background:#fff;border:2px solid #ddd;border-radius:4px;cursor:pointer;padding:8px;text-align:center;transition:all .2s}.basemap-option:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea4d;transform:translateY(-2px)}.basemap-option.active{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-color:#667eea}.basemap-icon{font-size:24px;margin-bottom:4px}.basemap-name{color:#333;font-size:11px;font-weight:500}.error-message{background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;font-family:Courier New,monospace;font-size:13px;line-height:1.6;margin-top:10px;max-height:400px;overflow-y:auto;padding:12px;white-space:pre-wrap}@media (max-width:1200px){.sidebar{width:300px}.sidebar.closed{transform:translateX(-300px)}.btn{font-size:12px;padding:6px 10px}.layer-actions button{font-size:11px;padding:5px 6px}.preset-buttons{grid-template-columns:1fr}.btn-preset{font-size:12px;padding:8px 10px}}@media (max-width:768px){.app{flex-direction:column}.sidebar{border-bottom:1px solid #dee2e6;border-right:none;max-height:40vh;width:100%}.layer-item{align-items:flex-start;flex-direction:row}.layer-actions{flex-direction:column;min-width:80px;width:auto}.layer-actions button{width:100%}}*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{height:100vh;width:100vw}
/*# sourceMappingURL=main.f9be1ce8.css.map*/