.custom-pin-marker{background:transparent;border:none}.pin-marker{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#fff;border:2px solid #ffffff;border:2px solid var(--color-surface, #ffffff);border-radius:9999px;overflow:hidden;box-shadow:0 2px 4px #0003;transition:transform .15s ease,box-shadow .15s ease}.pin-marker:hover{transform:scale(1.08);box-shadow:0 4px 8px #0000004d}.pin-marker--selected{transform:scale(1.12);box-shadow:0 4px 12px #0006;border-color:#3b82f6;border-color:var(--color-interactive-primary, #3b82f6)}.pin-marker-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.pin-marker-fallback{font-size:14px;font-weight:700;color:#4b5563;color:var(--color-text-secondary, #4b5563)}.pin-marker-global-badge{position:absolute;top:-2px;right:-2px;width:10px;height:10px;background:#3b82f6;background:var(--color-interactive-primary, #3b82f6);border-radius:50%;font-size:8px;color:#fff;display:flex;align-items:center;justify-content:center}.leaflet-dragging .pin-marker{opacity:.8;transform:scale(1.1)}.custom-event-marker{background:transparent;border:none}.event-marker{display:flex;align-items:center;justify-content:center;position:relative;width:28px;height:28px;background:#3b82f6;background:var(--color-primary, #3b82f6);border:2px solid #ffffff;border:2px solid var(--color-surface, #ffffff);border-radius:6px;box-shadow:0 2px 4px #00000040;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s ease,border-color .28s ease,background-color .28s ease;will-change:transform}.event-marker:hover{transform:scale(1.15);box-shadow:0 4px 8px #00000059}.event-marker--image{width:34px;height:34px;padding:0;overflow:hidden;border-bottom:3px solid #3b82f6;border-bottom:3px solid var(--color-primary, #3b82f6)}.event-marker__img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:4px;display:block}.event-marker__type-badge{position:absolute;bottom:-5px;right:-5px;width:16px;height:16px;border-radius:9999px;background:#3b82f6;background:var(--color-primary, #3b82f6);border:1.5px solid #ffffff;border:1.5px solid var(--color-surface, #ffffff);display:flex;align-items:center;justify-content:center;font-size:8px;line-height:1;box-shadow:0 1px 3px #00000040;z-index:1}.event-marker--duration .event-marker__type-badge{background:#0d9488;background:var(--color-event-duration, #0d9488)}.event-marker--ongoing .event-marker__type-badge{background:#f59e0b;background:var(--color-warning, #f59e0b)}.event-marker--unknown .event-marker__type-badge{background:#94a3b8;background:var(--color-text-muted, #94a3b8)}.event-marker--active{transform:scale(1.45);border-color:#f59e0b;border-color:var(--color-warning, #f59e0b);box-shadow:0 0 0 4px #f59e0b80,0 0 16px 4px #f59e0b59,0 8px 18px #0006;animation:event-marker-active-pulse 1.6s ease-in-out infinite;z-index:500}.event-marker--active:hover{transform:scale(1.55)}@keyframes event-marker-active-pulse{0%,to{box-shadow:0 0 0 4px #f59e0b80,0 0 16px 4px #f59e0b59,0 8px 18px #0006}50%{box-shadow:0 0 0 9px #f59e0b26,0 0 22px 8px #f59e0b2e,0 8px 18px #0006}}.event-marker--duration{background:#0d9488;background:var(--color-event-duration, #0d9488);border:2px solid #ffffff;border:2px solid var(--color-surface, #ffffff);box-shadow:0 0 0 2px #0d9488,0 2px 4px #00000040;box-shadow:0 0 0 2px var(--color-event-duration, #0d9488),0 2px 4px #00000040}.event-marker--ongoing{background:#f59e0b;background:var(--color-warning, #f59e0b);animation:event-marker-pulse 2s ease-in-out infinite}@keyframes event-marker-pulse{0%,to{box-shadow:0 0 #f59e0b80,0 2px 4px #00000040}50%{box-shadow:0 0 0 6px #f59e0b00,0 2px 4px #00000040}}.event-marker--unknown{background:#94a3b8;background:var(--color-text-muted, #94a3b8);border:2px dashed #ffffff;border:2px dashed var(--color-surface, #ffffff)}.event-marker__icon{font-size:14px;line-height:1}.event-polyline-progress{animation:event-polyline-progress-pulse 1.4s ease-in-out infinite}.event-progress-marker-wrapper{background:transparent;border:none}.event-progress-marker{position:relative;height:28px}.event-progress-avatar{position:absolute;top:0;width:28px;height:28px;border-radius:9999px;border:2px solid #ffffff;border:2px solid var(--color-surface, #ffffff);background:#6366f1;background:var(--color-primary, #6366f1);color:#fff;color:var(--color-surface, #ffffff);display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;box-shadow:0 2px 6px #00000059;overflow:hidden}.event-progress-avatar--img img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.event-progress-avatar-count{position:absolute;right:-6px;bottom:-4px;min-width:20px;height:18px;border-radius:9999px;border:1px solid #ffffff;border:1px solid var(--color-surface, #ffffff);background:#0f172a;background:var(--color-bg-primary, #0f172a);color:#fff;color:var(--color-text-on-primary, #ffffff);display:inline-flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:700;line-height:1;padding:0 .25rem}.event-progress-popup{display:flex;flex-direction:column;gap:.5rem;min-width:240px}.event-progress-popup__header{display:flex;flex-direction:column;gap:.15rem}.event-progress-popup__title{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;color:var(--color-text-tertiary, #6b7280);font-weight:700}.event-progress-popup__subtitle{font-size:.72rem;color:#4b5563;color:var(--color-text-secondary, #4b5563)}.event-progress-popup__list{display:flex;flex-direction:column;gap:.35rem;max-height:240px;overflow-y:auto}.event-progress-popup__item{display:flex;align-items:center;gap:.55rem;text-decoration:none;color:#111827;color:var(--color-text-primary, #111827);background:#f3f4f6;background:var(--color-surface-muted, #f3f4f6);border:1px solid #e5e7eb;border:1px solid var(--color-border-primary, #e5e7eb);padding:.35rem .45rem;border-radius:var(--radius-card)}.event-progress-popup__item:hover{background:#eceff3;background:var(--color-bg-hover, #eceff3)}.event-progress-popup__avatar{width:36px;height:36px;border-radius:9999px;overflow:hidden;background:#6366f1;background:var(--color-primary, #6366f1);color:#fff;color:var(--color-surface, #ffffff);display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;flex-shrink:0}.event-progress-popup__content{display:flex;flex-direction:column;gap:.1rem;min-width:0}.event-progress-popup__avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.event-progress-popup__name{font-size:.78rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-progress-popup__meta{font-size:.68rem;color:#6b7280;color:var(--color-text-tertiary, #6b7280)}@keyframes event-polyline-progress-pulse{0%,to{filter:drop-shadow(0 0 0 rgba(245,158,11,.2))}50%{filter:drop-shadow(0 0 5px rgba(245,158,11,.6))}}.map-item-popup{display:flex;flex-direction:column;gap:.5rem;min-width:180px}.map-item-popup__header{display:flex;align-items:center}.map-item-popup__kind{font-size:.7rem;font-weight:600;color:#9ca3af;color:var(--color-text-tertiary, #9ca3af);text-transform:uppercase;letter-spacing:.04em}.map-item-popup__image-wrap{width:100%;height:80px;overflow:hidden;border:1px solid #d1d5db;border:1px solid var(--color-border, #d1d5db);background:var(--color-surface-subtle)}.map-item-popup__image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.map-item-popup__title{font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.map-item-popup__meta,.map-item-popup__description{font-size:.75rem;color:var(--color-text-secondary)}.map-item-popup__actions{display:flex;flex-direction:column;gap:.375rem}.map-item-popup__action{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;color:#2563eb;color:var(--color-interactive-primary, #2563eb);text-decoration:none}.map-item-popup__action:hover{text-decoration:underline}.map-item-popup__empty{font-size:.75rem;color:#9ca3af;color:var(--color-text-tertiary, #9ca3af)}.region-linked-events-indicator-wrapper{background:transparent;border:none}.region-linked-events-indicator{display:inline-flex;align-items:center;gap:.2rem;min-width:26px;height:26px;padding:0 .35rem;border-radius:9999px;border:2px solid #ffffff;border:2px solid var(--color-surface, #ffffff);background:#0f172a;background:var(--color-bg-primary, #0f172a);color:#fff;color:var(--color-text-on-primary, #ffffff);box-shadow:0 2px 6px #00000059;font-size:.66rem;font-weight:700}.region-linked-events-indicator--entity{background:#10b981;background:var(--color-primary, #10b981)}.region-linked-events-indicator--group{background:#6366f1;background:var(--color-secondary, #6366f1)}.region-linked-events-indicator__symbol,.region-linked-events-indicator__count{line-height:1}.region-linked-events-popup__list{display:flex;flex-direction:column;gap:.25rem;max-height:160px;overflow-y:auto}.region-linked-events-popup__item{display:flex;align-items:center;gap:.35rem;font-size:.72rem;color:#374151;color:var(--color-text-secondary, #374151)}.region-linked-events-popup__dot{width:.55rem;height:.55rem;border-radius:9999px;border:1px solid #ffffff;border:1px solid var(--color-surface, #ffffff);flex-shrink:0}.event-popup{display:flex;flex-direction:column;gap:.35rem;min-width:200px;max-width:280px}.event-popup__type-strip{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#3b82f6;color:var(--color-primary, #3b82f6);padding-bottom:.25rem;border-bottom:2px solid #3b82f6;border-bottom:2px solid var(--color-primary, #3b82f6)}.event-popup__image{width:100%;max-height:140px;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-thumbnail);margin-bottom:.15rem}.event-popup__header{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.event-popup__temporal-badge,.event-popup__cat-badge{display:inline-flex;align-items:center;gap:.2rem;font-size:.65rem;font-weight:600;padding:.1rem .4rem;border-radius:var(--radius-badge);line-height:1.3}.event-popup__temporal-badge{background:#f3f4f6;background:var(--color-surface-muted, #f3f4f6);color:#4b5563;color:var(--color-text-secondary, #4b5563)}.event-popup__cat-badge{background:#6366f11a;background:var(--color-primary-subtle, rgba(99, 102, 241, .1));color:#6366f1;color:var(--color-primary, #6366f1)}.event-popup__title{font-size:.9rem;font-weight:600;color:var(--color-text-primary);margin:0;line-height:1.3}.event-popup__date{font-size:.75rem;font-weight:500;color:#4b5563;color:var(--color-text-secondary, #4b5563)}.event-popup__desc{font-size:.75rem;color:var(--color-text-secondary);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.event-popup__meta{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.event-popup__group{display:inline-flex;align-items:center;gap:.2rem;font-size:.65rem;font-weight:600;padding:.1rem .4rem;border-radius:var(--radius-tag);background:#6366f1;background:var(--group-color, #6366f1);color:#fff}.event-popup__context{display:inline-flex;align-items:center;font-size:.65rem;font-weight:600;padding:.1rem .4rem;border-radius:var(--radius-badge);background:#f3f4f6;background:var(--color-surface-muted, #f3f4f6);color:#4b5563;color:var(--color-text-secondary, #4b5563);border:1px solid #d1d5db;border:1px solid var(--color-border, #d1d5db)}.event-popup__context--entity{border-color:#22c55e;border-color:var(--color-status-success, #22c55e)}.event-popup__context--group{border-color:#6366f1;border-color:var(--color-primary, #6366f1)}.event-popup__context--both{border-color:#d97706;border-color:var(--color-status-warning, #d97706)}.event-popup__loc-count{font-size:.7rem;color:#9ca3af;color:var(--color-text-tertiary, #9ca3af)}.event-popup__role{font-size:.7rem;font-style:italic;color:#94a3b8;color:var(--color-text-muted, #94a3b8)}.event-popup__notes{font-size:.7rem;color:var(--color-text-secondary);font-style:italic}.event-popup__actions{display:flex;gap:.35rem;margin-top:.25rem;padding-top:.35rem;border-top:1px solid #e5e7eb;border-top:1px solid var(--color-border, #e5e7eb)}.event-popup__action-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.25rem;font-size:.7rem;font-weight:500;padding:.3rem .5rem;border:1px solid #d1d5db;border:1px solid var(--color-border, #d1d5db);border-radius:var(--radius-button);background:#fff;background:var(--color-bg-primary, #fff);color:#4b5563;color:var(--color-text-secondary, #4b5563);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.event-popup__action-btn:hover{background:var(--color-surface-muted)}.event-popup__action-btn--edit:hover{color:#2563eb;color:var(--color-interactive-primary, #2563eb);border-color:#2563eb;border-color:var(--color-interactive-primary, #2563eb)}.event-popup__action-btn--move:hover{color:#d97706;color:var(--color-status-warning, #d97706);border-color:#d97706;border-color:var(--color-status-warning, #d97706)}.event-popup__action-btn--delete:hover{color:#ef4444;color:var(--color-status-error, #ef4444);border-color:#ef4444;border-color:var(--color-status-error, #ef4444)}.event-popup__action-btn--view{text-decoration:none;text-align:center}.event-popup__action-btn--view:hover{color:#2563eb;color:var(--color-interactive-primary, #2563eb);border-color:#2563eb;border-color:var(--color-interactive-primary, #2563eb)}.map-item-popup-container .leaflet-popup-content-wrapper,.event-popup-container .leaflet-popup-content-wrapper,.event-progress-popup-leaflet .leaflet-popup-content-wrapper{background:#fff;background:var(--color-bg-primary, #ffffff);color:#111827;color:var(--color-text-primary, #111827);border:1px solid #e5e7eb;border:1px solid var(--color-border-primary, #e5e7eb);box-shadow:0 8px 16px #0003;box-shadow:var(--shadow-md, 0 8px 16px rgba(0, 0, 0, .2));border-radius:var(--radius-popover)}.map-item-popup-container .leaflet-popup-tip,.event-popup-container .leaflet-popup-tip,.event-progress-popup-leaflet .leaflet-popup-tip{background:#fff;background:var(--color-bg-primary, #ffffff);border-radius:0}.event-progress-popup-leaflet .leaflet-popup-content{margin:.6rem}.region-presence-wrapper{background:transparent;border:none}.region-presence-marker{position:relative;height:28px}.region-presence-avatar{position:absolute;top:0;width:28px;height:28px;border-radius:9999px;border:2px solid #ffffff;border:2px solid var(--color-surface, #ffffff);background:#10b981;background:var(--color-primary, #10b981);color:#fff;color:var(--color-surface, #ffffff);display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;box-shadow:0 2px 6px #00000059;overflow:hidden}.region-presence-avatar--img img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.region-presence-avatar-count{position:absolute;right:-6px;bottom:-4px;min-width:20px;height:18px;border-radius:9999px;border:1px solid #ffffff;border:1px solid var(--color-surface, #ffffff);background:#0f172a;background:var(--color-neutral-900, #0f172a);color:#fff;color:var(--color-text-on-brand, #ffffff);display:inline-flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:700;line-height:1;padding:0 .25rem}.region-presence-popup__list{display:flex;flex-direction:column;gap:.35rem;max-height:200px;overflow-y:auto}.region-presence-popup__item{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:#374151;color:var(--color-text-secondary, #374151)}.region-presence-popup__avatar{width:22px;height:22px;border-radius:9999px;border:1.5px solid #ffffff;border:1.5px solid var(--color-surface, #ffffff);background:#10b981;background:var(--color-primary, #10b981);color:#fff;color:var(--color-surface, #ffffff);display:inline-flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700;overflow:hidden;flex-shrink:0}.region-presence-popup__avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.region-presence-popup__name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-drop-zone-active{background:#3b82f61a!important}.map-drop-zone-active:after{content:"";position:absolute;inset:0;border:2px dashed rgba(59,130,246,.5);pointer-events:none;z-index:1000}.bounds-corner-marker{background:#3b82f6;background:var(--color-interactive-primary, #3b82f6);border:2px solid white;box-shadow:0 2px 4px #0000004d}.map-status-message{position:absolute;top:1rem;left:50%;transform:translate(-50%);z-index:1000;background:#3b82f6;background:var(--color-interactive-primary, #3b82f6);color:#fff;padding:.5rem 1rem;border-radius:var(--radius-notification);box-shadow:0 4px 12px #0003;font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:.5rem}.map-marker-tooltip .leaflet-tooltip-content,.map-marker-tooltip{font-size:.72rem;font-weight:600;color:#111827;color:var(--color-text-primary, #111827);background:#fff;background:var(--color-surface-elevated, #ffffff);border:1px solid #d1d5db;border:1px solid var(--color-border, #d1d5db);box-shadow:0 2px 8px #00000026;border-radius:4px;border-radius:var(--radius-badge, 4px);padding:.2rem .45rem;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.map-marker-tooltip:before{border-top-color:#d1d5db!important;border-top-color:var(--color-border, #d1d5db)!important}.map-marker-tooltip--event{border-left:3px solid #3b82f6;border-left:3px solid var(--color-primary, #3b82f6)}.map-marker-tooltip--entity{border-left:3px solid #6b7280;border-left:3px solid var(--color-text-secondary, #6b7280)}.map-legend{position:absolute;top:.75rem;right:.75rem;z-index:800;display:flex;flex-direction:column;gap:0;pointer-events:auto}.map-legend__toggle{display:flex;align-items:center;gap:.3rem;background:#fff;background:var(--color-surface-elevated, #ffffff);border:1px solid #d1d5db;border:1px solid var(--color-border, #d1d5db);border-radius:8px 8px 0 0;border-radius:var(--radius-card, 8px) var(--radius-card, 8px) 0 0;padding:.3rem .5rem;font-size:.68rem;font-weight:700;color:#4b5563;color:var(--color-text-secondary, #4b5563);cursor:pointer;text-transform:uppercase;letter-spacing:.04em;transition:background .15s}.map-legend__toggle:hover{background:#f3f4f6;background:var(--color-surface-muted, #f3f4f6)}.map-legend__toggle-icon{font-size:.55rem;line-height:1}.map-legend__body{background:#fff;background:var(--color-surface-elevated, #ffffff);border:1px solid #d1d5db;border:1px solid var(--color-border, #d1d5db);border-top:none;border-radius:0 0 8px 8px;border-radius:0 0 var(--radius-card, 8px) var(--radius-card, 8px);padding:.45rem .6rem;display:flex;flex-direction:column;gap:.5rem;box-shadow:0 2px 8px #0000001a;min-width:130px}.map-legend__section{display:flex;flex-direction:column;gap:.25rem}.map-legend__item{display:flex;align-items:center;gap:.4rem}.map-legend__item--sub{padding-left:.2rem}.map-legend__label{font-size:.68rem;color:#4b5563;color:var(--color-text-secondary, #4b5563);white-space:nowrap}.map-legend__marker--entity{width:14px;height:14px;border-radius:9999px;background:#fff;background:var(--color-surface-elevated, #ffffff);border:2px solid #6b7280;border:2px solid var(--color-text-secondary, #6b7280);flex-shrink:0}.map-legend__marker--event{width:14px;height:14px;border-radius:3px;background:#3b82f6;background:var(--color-primary, #3b82f6);border:2px solid #ffffff;border:2px solid var(--color-surface, #ffffff);flex-shrink:0}.map-legend__icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:9999px;background:#3b82f6;background:var(--color-primary, #3b82f6);color:#fff;color:var(--color-surface, #ffffff);font-size:.5rem;flex-shrink:0;line-height:1}.map-legend__icon--duration{background:#0d9488;background:var(--color-event-duration, #0d9488)}.map-legend__icon--ongoing{background:#f59e0b;background:var(--color-warning, #f59e0b)}.map-legend__icon--unknown{background:#94a3b8;background:var(--color-text-muted, #94a3b8)}.map-legend__sub-items{display:flex;flex-direction:column;gap:.15rem;padding-left:1.1rem}.map-cluster-wrapper{background:transparent!important;border:none!important}.map-cluster{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:9999px;color:#fff;color:var(--color-text-on-brand, #fff);font-weight:700;font-weight:var(--font-weight-bold, 700);box-shadow:var(--shadow-md);transition:transform .15s ease;cursor:pointer}.map-cluster:hover,.map-cluster:focus-visible{transform:scale(1.15)}.map-cluster:focus-visible{outline:2px solid #3b82f6;outline:2px solid var(--color-primary, #3b82f6);outline-offset:2px}.map-cluster--event{background:#3b82f6;background:var(--color-primary, #3b82f6);border:2px solid rgba(255,255,255,.8)}.map-cluster--entity{background:#6b7280;background:var(--color-text-secondary, #6b7280);border:2px solid rgba(255,255,255,.8)}.map-cluster--medium{width:42px;height:42px;font-size:.875rem;font-size:var(--font-size-sm, .875rem)}.map-cluster--large{width:50px;height:50px;font-size:1rem;font-size:var(--font-size-base, 1rem)}.map-cluster__count{font-size:.75rem;font-size:var(--font-size-xs, .75rem);line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.3)}.map-container{position:relative;width:100%;height:100%;min-height:400px;background-color:#f5f5f5;background-color:var(--color-surface-subtle, #f5f5f5)}.map-container__leaflet{position:absolute;inset:0;width:100%;height:100%}.modal-overlay{position:fixed;inset:0;z-index:var(--z-index-modal-backdrop);display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto;transition:background-color .2s ease}.modal-overlay.dragging{background-color:#3b82f60d}.modal-backdrop{position:fixed;inset:0;background-color:#00000080;z-index:var(--z-index-modal-backdrop)}.modal{position:relative;background-color:#fff;border-radius:var(--radius-modal);width:100%;max-width:28rem;padding:24px;border:1px solid #e5e7eb;z-index:var(--z-index-modal);display:flex;flex-direction:column;margin:auto}.modal.sm{max-width:24rem}.modal.md{max-width:32rem}.modal.lg{max-width:42rem}.modal.xl{max-width:56rem}.modal-header{margin-bottom:24px;padding-right:32px}.modal-title{font-size:18px;font-weight:500;color:#111827;margin-bottom:8px}.modal-description{font-size:14px;color:#6b7280}.modal-content{margin-bottom:16px}.modal-footer{display:flex;gap:12px;flex-direction:column;flex-shrink:0;padding-top:16px;border-top:1px solid var(--color-border-subtle);margin-top:16px}.modal-btn{padding:12px 24px;border:2px solid transparent;border-radius:var(--radius-button);font-size:14px;font-weight:600;cursor:pointer;background-color:var(--color-interactive-primary);color:#fff;text-transform:uppercase;letter-spacing:.5px;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.modal-btn.primary{background-color:var(--color-interactive-primary);border-color:var(--color-interactive-primary)}.modal-btn.secondary{background-color:transparent;color:var(--color-text-secondary);border-color:var(--color-border-primary);box-shadow:none}.modal-btn.danger{background-color:var(--color-danger);border-color:var(--color-danger)}.modal-btn.warning{background-color:var(--color-warning);border-color:var(--color-warning)}.modal-btn.success{background-color:var(--color-success);border-color:var(--color-success)}.modal-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.modal-btn.secondary:hover:not(:disabled){background-color:var(--color-surface-muted);border-color:var(--color-interactive-primary);color:var(--color-interactive-primary)}.modal-btn.danger:hover:not(:disabled){background-color:#dc2626;box-shadow:0 4px 8px #dc26264d}.modal-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #0000001a}.modal-btn:disabled{background-color:#f3f4f6;color:#9ca3af;cursor:not-allowed;opacity:.6}.modal-link{display:inline-block;font-size:.85rem;color:var(--color-primary);text-decoration:none;padding:4px 0;margin-left:auto;align-self:center}.modal-link:hover{text-decoration:underline}.modal-icon{display:flex;align-items:center;justify-content:center;margin-bottom:12px}.modal-icon svg{width:48px;height:48px}.modal-icon.danger svg{color:var(--color-danger)}.modal-icon.warning svg{color:var(--color-warning)}.modal-icon.success svg{color:var(--color-success)}.modal-close-btn{position:absolute;top:16px;right:16px;background:none;border:none;color:#6b7280;font-size:1.5rem;cursor:pointer;padding:8px;border-radius:var(--radius-button);z-index:10;line-height:1;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem}.modal-close-btn:hover{background-color:#f3f4f6;color:#dc2626}.modal-close-btn:active{background-color:#dc2626;color:#fff}.modal-close-btn:focus{outline:2px solid #3b82f6;outline-offset:2px}.loading-text{display:flex;align-items:center;gap:8px}.loading-spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.modal form .form-group:last-child{margin-bottom:0}@media(min-width:480px){.modal-footer{flex-direction:row;justify-content:flex-end}}@media(max-width:768px){.modal-overlay{padding:8px;align-items:flex-start}.modal{padding:16px;margin-top:8px}.modal.lg,.modal.xl{max-width:100%}.modal-header{padding-right:40px}.modal-title{font-size:16px}.modal-description{font-size:13px}.modal-content{padding-right:4px}}[data-theme=dark] .modal-backdrop{background-color:#000000b3}[data-theme=dark] .modal{background-color:var(--color-surface);border-color:var(--color-border);color:var(--color-text-primary)}[data-theme=dark] .modal-title{color:var(--color-text-primary)}[data-theme=dark] .modal-description{color:var(--color-text-secondary)}[data-theme=dark] .modal-btn.secondary{background-color:var(--color-surface);color:var(--color-text-secondary);border-color:var(--color-border)}[data-theme=dark] .modal-btn.secondary:hover:not(:disabled){background-color:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-hover)}[data-theme=dark] .modal-btn.danger{background-color:var(--color-error);border-color:var(--color-error)}[data-theme=dark] .modal-btn.danger:hover:not(:disabled){background-color:var(--color-error-hover);border-color:var(--color-error-hover)}[data-theme=dark] .modal-btn.warning{background-color:var(--color-warning);border-color:var(--color-warning)}[data-theme=dark] .modal-btn.warning:hover:not(:disabled){background-color:var(--color-warning-hover);border-color:var(--color-warning-hover)}[data-theme=dark] .modal-btn.success{background-color:var(--color-success);border-color:var(--color-success)}[data-theme=dark] .modal-btn.success:hover:not(:disabled){background-color:var(--color-success-hover);border-color:var(--color-success-hover)}[data-theme=dark] .modal-close-btn{color:var(--color-text-tertiary)}[data-theme=dark] .modal-close-btn:hover{background-color:var(--color-surface-hover);color:var(--color-error)}[data-theme=dark] .modal-close-btn:active{background-color:var(--color-error);color:#fff}[data-theme=dark] .modal-close-btn:focus{outline:2px solid var(--color-primary);outline-offset:2px}[data-theme=dark] .modal input,[data-theme=dark] .modal textarea,[data-theme=dark] .modal select{background-color:var(--color-surface);border-color:var(--color-border);color:var(--color-text-primary)}[data-theme=dark] .modal input:focus,[data-theme=dark] .modal textarea:focus,[data-theme=dark] .modal select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.1)}[data-theme=dark] .modal input::-moz-placeholder,[data-theme=dark] .modal textarea::-moz-placeholder{color:var(--color-text-tertiary)}[data-theme=dark] .modal input::placeholder,[data-theme=dark] .modal textarea::placeholder{color:var(--color-text-tertiary)}[data-theme=dark] .modal label,[data-theme=dark] .modal .form-label{color:var(--color-text-primary)}[data-theme=dark] .modal .form-help,[data-theme=dark] .modal .help-text{color:var(--color-text-secondary)}[data-theme=dark] .modal .error,[data-theme=dark] .modal .error-message,[data-theme=dark] .modal .validation-error{color:var(--color-error);border-color:var(--color-error-border);background-color:var(--color-error-subtle)}[data-theme=dark] .modal .success,[data-theme=dark] .modal .success-message{color:var(--color-success);border-color:var(--color-success-border);background-color:var(--color-success-subtle)}[data-theme=dark] .modal .warning,[data-theme=dark] .modal .warning-message{color:var(--color-warning);border-color:var(--color-warning-border);background-color:var(--color-warning-subtle)}[data-theme=dark] .modal input.error,[data-theme=dark] .modal textarea.error,[data-theme=dark] .modal select.error{border-color:var(--color-error);background-color:var(--color-error-subtle)}[data-theme=dark] .modal input.error:focus,[data-theme=dark] .modal textarea.error:focus,[data-theme=dark] .modal select.error:focus{border-color:var(--color-error);box-shadow:0 0 0 2px rgba(var(--red-500),.2)}[data-theme=dark] .modal select option{background-color:var(--color-surface);color:var(--color-text-primary)}[data-theme=dark] .modal select::-ms-expand{display:none}[data-theme=dark] .modal select:disabled,[data-theme=dark] .language-dropdown:disabled{background-color:var(--color-surface-disabled);color:var(--color-text-disabled);cursor:not-allowed;opacity:.6}[data-theme=dark] .modal hr,[data-theme=dark] .modal .divider{border-color:var(--color-border)}.pin-toolbar{position:absolute;top:16px;right:16px;z-index:1000;width:180px;max-height:calc(100% - 32px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-panel);box-shadow:0 4px 12px #00000026;overflow:hidden;display:flex;flex-direction:column}.pin-toolbar-header{display:flex;align-items:center;justify-content:space-between;padding:12px;border-bottom:1px solid var(--color-border);background:var(--color-surface-subtle)}.pin-toolbar-title{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0}.pin-toolbar-close{background:none;border:none;padding:4px;cursor:pointer;color:var(--color-text-secondary);font-size:12px;border-radius:var(--radius-button);transition:background-color .15s,color .15s}.pin-toolbar-close{border-radius:var(--radius-button)}.pin-toolbar-close:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.pin-toolbar-hint{font-size:11px;color:var(--color-text-tertiary);padding:8px 12px;margin:0;border-bottom:1px solid var(--color-border)}.pin-toolbar-categories{flex:1;overflow-y:auto;padding:8px 0}.pin-toolbar-category{margin-bottom:4px}.pin-toolbar-category-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;background:none;border:none;cursor:pointer;text-align:left;color:var(--color-text-secondary);font-size:12px;font-weight:500;transition:background-color .15s}.pin-toolbar-category-header:hover{background:var(--color-surface-subtle)}.pin-toolbar-category-name{text-transform:uppercase;letter-spacing:.5px}.pin-toolbar-category-toggle{font-size:10px}.pin-toolbar-icons{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;padding:4px 8px 8px}.pin-toolbar-icon{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;background:var(--color-surface-subtle);border:1px solid transparent;border-radius:var(--radius-button);cursor:pointer;transition:all .15s}.pin-toolbar-icon:hover{background:var(--color-surface-hover);border-color:var(--color-border);transform:scale(1.05)}.pin-toolbar-icon:active{transform:scale(.95)}.pin-toolbar-icon--disabled{opacity:.5;cursor:not-allowed}.pin-toolbar-icon--disabled:hover{transform:none;background:var(--color-surface-subtle);border-color:transparent}.pin-toolbar-icon--selected{background:var(--color-interactive-primary);border-color:var(--color-interactive-primary)}.pin-toolbar-icon--selected .pin-toolbar-icon-name{color:#fff}.pin-toolbar-icon--selected:hover{background:var(--color-interactive-primary-hover);border-color:var(--color-interactive-primary-hover)}.pin-toolbar-icon-emoji{font-size:20px;line-height:1}.pin-toolbar-icon-name{font-size:10px;color:var(--color-text-secondary);text-align:center;line-height:1.2}.pin-toolbar-toggle{position:absolute;top:16px;right:16px;z-index:1000;width:44px;height:44px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-button);box-shadow:0 2px 8px #0000001a;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.pin-toolbar-toggle:hover{background:var(--color-surface-hover);transform:scale(1.05)}.pin-toolbar-toggle-icon{font-size:20px}.pin-toolbar-disabled-message{font-size:11px;color:var(--color-text-tertiary);padding:8px 12px;margin:0;text-align:center;background:var(--color-surface-subtle);border-top:1px solid var(--color-border)}.pin-drag-image{pointer-events:none}@media(max-width:768px){.pin-toolbar{top:8px;right:8px;width:160px;max-height:calc(100% - 16px);border-radius:var(--radius-panel)}.pin-toolbar-header{padding:10px}.pin-toolbar-title{font-size:13px}.pin-toolbar-hint{font-size:10px;padding:6px 10px}.pin-toolbar-category-header{padding:6px 10px;font-size:11px}.pin-toolbar-icons{gap:3px;padding:3px 6px 6px}.pin-toolbar-icon{padding:6px 3px;border-radius:var(--radius-button)}.pin-toolbar-icon-emoji{font-size:18px}.pin-toolbar-icon-name{font-size:9px}.pin-toolbar-toggle{top:8px;right:8px;width:40px;height:40px;border-radius:var(--radius-button)}.pin-toolbar-toggle-icon{font-size:18px}.pin-toolbar-disabled-message{font-size:10px;padding:6px 10px}}@media(max-width:480px){.pin-toolbar{top:4px;right:4px;width:140px;max-height:calc(100% - 8px)}.pin-toolbar-header{padding:8px}.pin-toolbar-title{font-size:12px}.pin-toolbar-close{font-size:10px;padding:2px}.pin-toolbar-hint{font-size:9px;padding:5px 8px}.pin-toolbar-category-header{padding:5px 8px;font-size:10px}.pin-toolbar-icons{gap:2px;padding:2px 4px 4px}.pin-toolbar-icon{padding:5px 2px}.pin-toolbar-icon-emoji{font-size:16px}.pin-toolbar-icon-name{font-size:8px}.pin-toolbar-toggle{top:4px;right:4px;width:36px;height:36px}.pin-toolbar-toggle-icon{font-size:16px}}.layer-multi-select{position:relative;width:100%}.layer-multi-select-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-component-padding-md);font-size:var(--typography-body-size);line-height:var(--typography-body-line-height);color:var(--color-text-primary);background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-input);cursor:pointer;transition:all var(--transition-fast);outline:none;text-align:left}.layer-multi-select-trigger:hover:not(.disabled){border-color:var(--color-border-secondary)}.layer-multi-select-trigger:focus,.layer-multi-select-trigger.open{border-color:var(--color-border-focus);box-shadow:0 0 0 var(--focus-ring-width) #3b82f61a}.layer-multi-select-trigger.disabled{background-color:var(--color-surface-muted);color:var(--color-text-tertiary);cursor:not-allowed;opacity:.6}.layer-multi-select-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-multi-select-text.highlighted{color:var(--color-interactive-primary);font-weight:var(--font-weight-medium)}.layer-multi-select-arrow{flex-shrink:0;color:var(--color-text-tertiary);transition:transform var(--transition-fast)}.layer-multi-select-arrow.open{transform:rotate(180deg)}.layer-multi-select-dropdown{position:absolute;z-index:1000;z-index:var(--z-index-dropdown, 1000);top:100%;left:0;right:0;margin-top:var(--space-1);background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-dropdown);box-shadow:var(--shadow-dropdown, var(--shadow-lg));overflow:hidden}.layer-multi-select-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3);border-bottom:1px solid var(--color-border-primary);background-color:var(--color-surface-muted)}.layer-multi-select-toggle-label{font-size:var(--typography-body-size);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.layer-toggle-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.layer-toggle-switch input{opacity:0;width:0;height:0}.layer-toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--color-border);transition:.2s;border-radius:var(--radius-full)}.layer-toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.2s;border-radius:50%;box-shadow:0 1px 3px #0000001a}.layer-toggle-switch input:checked+.layer-toggle-slider{background-color:var(--color-primary)}.layer-toggle-switch input:checked+.layer-toggle-slider:before{transform:translate(20px)}.layer-toggle-switch input:focus+.layer-toggle-slider{box-shadow:0 0 0 2px var(--focus-ring-color)}.layer-multi-select-actions{display:flex;padding:var(--space-2);gap:var(--space-1);border-bottom:1px solid var(--color-border-primary);background-color:var(--color-surface-subtle)}.layer-action-btn{flex:1;padding:var(--space-2) var(--space-3);font-size:var(--typography-label-size);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-button);cursor:pointer;transition:all var(--transition-fast);text-align:center}.layer-action-btn:hover{background-color:var(--color-surface-muted);border-color:var(--color-border-secondary);color:var(--color-text-primary)}.layer-action-btn.active{background-color:var(--color-interactive-primary);border-color:var(--color-interactive-primary);color:var(--color-text-inverse)}.layer-action-btn:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.layer-multi-select-list{max-height:200px;overflow-y:auto}.layer-multi-select-list.disabled{opacity:.5;pointer-events:none}.layer-multi-select-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);cursor:pointer;transition:background-color var(--transition-fast)}.layer-multi-select-item:hover{background-color:var(--color-surface-muted)}.layer-checkbox{width:18px;height:18px;flex-shrink:0;accent-color:var(--color-primary);cursor:pointer}.layer-item-name{flex:1;font-size:var(--typography-body-size);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-item-badge{flex-shrink:0;padding:var(--space-1) var(--space-2);font-size:var(--typography-caption-size);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);background-color:var(--color-surface-subtle);border-radius:var(--radius-badge)}.layer-multi-select-empty{padding:var(--space-4);text-align:center;font-size:var(--typography-body-size);color:var(--color-text-tertiary)}@media(max-width:640px){.layer-multi-select-trigger,.layer-multi-select-toggle-row,.layer-multi-select-item{padding:var(--space-3)}.layer-action-btn{padding:var(--space-2);font-size:var(--font-size-xs)}}.hierarchy-control{position:relative}.hierarchy-control-toggle{width:44px;height:44px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-button);box-shadow:0 2px 8px #0000001a;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;position:relative}.hierarchy-control-toggle:hover{background:var(--color-surface-hover);transform:scale(1.05)}.hierarchy-control-toggle--active{border-color:var(--color-interactive-primary)}.hierarchy-control-icon{font-size:20px}.hierarchy-control-indicator{position:absolute;top:6px;right:6px;width:8px;height:8px;background:var(--color-interactive-primary);border-radius:50%;border:2px solid var(--color-surface)}.hierarchy-control-dropdown{position:absolute;top:48px;right:0;z-index:1001;min-width:160px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-dropdown);box-shadow:0 4px 12px #00000026;overflow:hidden}.hierarchy-control-header{padding:10px 12px;border-bottom:1px solid var(--color-border);background:var(--color-surface-subtle)}.hierarchy-control-title{font-size:12px;font-weight:600;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px}.hierarchy-control-options{padding:4px 0;max-height:200px;overflow-y:auto}.hierarchy-control-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:none;border:none;cursor:pointer;text-align:left;color:var(--color-text-primary);font-size:13px;transition:background-color .15s}.hierarchy-control-option:hover{background:var(--color-surface-subtle)}.hierarchy-control-option--selected{background:var(--color-interactive-primary-subtle);color:var(--color-interactive-primary)}.hierarchy-control-option--selected:hover{background:var(--color-interactive-primary-subtle)}.hierarchy-control-option-name{flex:1}.hierarchy-control-option-count{font-size:11px;color:var(--color-text-tertiary);background:var(--color-surface-subtle);padding:2px 6px;border-radius:var(--radius-badge)}.hierarchy-control-check{color:var(--color-interactive-primary);font-size:12px;font-weight:700}.hierarchy-control-wrapper{position:absolute;top:68px;right:16px;z-index:1000}@media(max-width:640px){.hierarchy-control-toggle{width:40px;height:40px}.hierarchy-control-icon{font-size:18px}.hierarchy-control-dropdown{top:44px;min-width:140px}.hierarchy-control-header{padding:8px 10px}.hierarchy-control-title{font-size:11px}.hierarchy-control-option{padding:6px 10px;font-size:12px}.hierarchy-control-wrapper{top:56px;right:8px}}@media(max-width:480px){.hierarchy-control-toggle{width:36px;height:36px}.hierarchy-control-icon{font-size:16px}.hierarchy-control-indicator{top:4px;right:4px;width:6px;height:6px}.hierarchy-control-dropdown{top:40px;min-width:130px}.hierarchy-control-header{padding:6px 8px}.hierarchy-control-title{font-size:10px}.hierarchy-control-option{padding:5px 8px;font-size:11px;gap:6px}.hierarchy-control-option-count{font-size:9px;padding:1px 4px}.hierarchy-control-wrapper{top:48px;right:4px}}.bounds-display{margin-top:.75rem;border-radius:var(--radius-card);background:var(--color-surface-muted);border:1px solid var(--color-border-primary)}.bounds-display--free{display:flex;align-items:center;gap:.75rem;padding:1rem}.bounds-display__globe{font-size:2rem;line-height:1}.bounds-display__text{display:flex;flex-direction:column;gap:.125rem}.bounds-display__title{font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.bounds-display__subtitle{font-size:.75rem;color:var(--color-text-tertiary)}.bounds-display--compass{display:flex;flex-direction:column;align-items:center;padding:.75rem;gap:.25rem;position:relative}.bounds-display--drawing{border-color:var(--color-interactive-primary);background:#3b82f60d;background:var(--color-interactive-primary-subtle, rgba(59, 130, 246, .05))}.bounds-display--invalid{border-color:var(--color-feedback-error);background:#ef44440d}.bounds-display--invalid .bounds-compass__icon:after{background:var(--color-feedback-error)}.bounds-display--invalid .bounds-display__live{color:var(--color-feedback-error)}.bounds-display--invalid .bounds-display__live-dot{background:var(--color-feedback-error)}.bounds-compass__north,.bounds-compass__south{display:flex;flex-direction:column;align-items:center;gap:.125rem}.bounds-compass__middle{display:flex;align-items:center;justify-content:space-between;width:100%}.bounds-compass__west{display:flex;align-items:center;gap:.25rem;min-width:5.5rem}.bounds-compass__east{display:flex;align-items:center;gap:.25rem;min-width:5.5rem;flex-direction:row-reverse;text-align:right}.bounds-compass__center{display:flex;align-items:center;justify-content:center;flex-shrink:0}.bounds-compass__icon{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;position:relative}.bounds-compass__icon:before{content:"";position:absolute;width:1.25rem;height:1.25rem;border:2px solid var(--color-border-primary);border-radius:50%}.bounds-compass__icon:after{content:"";position:absolute;width:.5rem;height:.5rem;background:var(--color-interactive-primary);border-radius:50%}.bounds-compass__label{font-size:.625rem;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;width:.875rem}.bounds-compass__value{font-size:.75rem;font-weight:500;color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.bounds-display__live{position:absolute;top:.375rem;right:.5rem;display:flex;align-items:center;gap:.25rem;font-size:.625rem;color:var(--color-interactive-primary);text-transform:uppercase;letter-spacing:.03em}.bounds-display__live-dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--color-interactive-primary);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.map-config-layout{display:flex;flex-direction:column;height:calc(100vh - 4rem - 1px);height:calc(100vh - var(--header-height, 4rem) - 1px);overflow:hidden;background:var(--color-surface-muted)}.map-layout-body{display:flex;flex:1;overflow:hidden;min-height:0}.map-left-panel{width:30%;min-width:320px;max-width:450px;background:var(--color-bg-primary);border-right:1px solid var(--color-border-primary);display:flex;flex-direction:column;height:100%;overflow:hidden}.map-left-panel-header{padding:1rem;border-bottom:1px solid var(--color-border-primary);background:var(--color-bg-primary);flex-shrink:0;display:flex;justify-content:space-between;align-items:center}.map-left-panel-tabs{display:flex;flex-wrap:nowrap;border-bottom:1px solid var(--color-border-primary);flex-shrink:0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.map-left-panel-tabs::-webkit-scrollbar{display:none}.map-left-panel-tabs .map-tab-button{flex:1 1 0;min-width:0;white-space:nowrap}.map-tab-button{padding:.75rem .5rem;font-size:.75rem;font-weight:500;text-align:center;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;color:var(--color-text-secondary);transition:all .2s;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;justify-content:center;gap:.25rem}.map-tab-button:hover{background:var(--color-surface-subtle);color:var(--color-text-primary)}.map-tab-button.active{color:var(--color-primary-600);border-bottom-color:var(--color-primary-600);background:var(--color-surface-muted)}.map-left-panel-content{padding:1rem;display:flex;flex-direction:column;gap:1rem;flex:1;overflow-y:auto;min-height:0}.map-left-panel-footer{padding:1rem;border-top:1px solid var(--color-border-primary);background:var(--color-bg-primary);flex-shrink:0}.map-right-panel{flex:1;overflow:hidden;position:relative;background:var(--color-surface-muted);min-height:0;height:100%}@media(max-width:1024px){.map-config-layout{height:auto;min-height:calc(100vh - 4rem);min-height:calc(100vh - var(--header-height, 4rem));overflow:visible}.map-layout-body{flex-direction:column;overflow:visible;height:auto}.map-right-panel{order:-1;height:35vh;min-height:200px;flex:none;border-bottom:1px solid var(--color-border-primary)}.map-left-panel{order:1;width:100%;max-width:100%;min-width:100%;border-right:none;height:auto;overflow:visible;flex:1}.map-left-panel-content{overflow:visible;height:auto;flex:none}}.skeleton-box{background:linear-gradient(90deg,var(--color-surface-subtle) 25%,var(--color-surface-muted) 50%,var(--color-surface-subtle) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-card)}.skeleton-section{margin-bottom:1rem}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.map-skeleton-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-surface-subtle)}.map-skeleton-content{text-align:center;color:var(--color-text-secondary)}.map-skeleton-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.map-skeleton-text{font-size:1rem;margin-bottom:1rem}.map-skeleton-spinner{width:32px;height:32px;border:3px solid var(--color-border-primary);border-top-color:var(--color-primary-600);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}.map-left-panel-content .border{border-radius:var(--radius-card)}
