:root{--color-primary-400: #E3B23C;--color-primary-500: #E3B23C;--color-primary-600: #D46A2C;--color-secondary-400: #5CA5A1;--color-secondary-500: #5CA5A1;--color-secondary-600: #D46A2C;--color-neutral-parchment: #f2edef;--color-neutral-ivory: #f9f5ee;--color-neutral-paper: #fffcf7;--color-neutral-ink: #33412e;--color-neutral-muted-ink: #6e7865;--color-neutral-track: #e8ddcd;--color-gray-50: #fffcf7;--color-gray-100: #f9f5ee;--color-gray-200: #f2edef;--color-gray-300: #e8ddcd;--color-gray-400: #b8ad9b;--color-gray-500: #6e7865;--color-gray-600: #556051;--color-gray-700: #3e4b37;--color-gray-800: #33412e;--color-gray-900: #253024;--color-background: var(--color-neutral-parchment);--color-surface: var(--color-neutral-ivory);--color-surface-elevated: var(--color-neutral-paper);--color-border: var(--color-gray-500);--color-border-focus: var(--color-primary-400);--color-text-primary: var(--color-gray-900);--color-text-secondary: var(--color-gray-700);--color-text-muted: var(--color-gray-600);--color-text-on-primary: var(--color-gray-900);--color-success: var(--color-secondary-400);--color-warning: var(--color-primary-600);--color-error: var(--color-secondary-600);--color-info: var(--color-secondary-500);--color-action: #4E6B4F;--color-action-dark: #3a5040;--color-on-action: var(--color-neutral-ivory);--color-action-alpha: rgba(78, 107, 79, .18);--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-family-display: Georgia, "Times New Roman", serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 2px 4px 0 rgba(0, 0, 0, .4);--shadow-lg: 0 4px 6px -1px rgba(0, 0, 0, .5);--radius-card: .75rem;--radius-pill: 1.375rem;--radius-control: .625rem;--shadow-cta-hard: 0 6px 14px rgba(0, 0, 0, .16);--shadow-card-retro: 0 10px 22px rgba(212, 106, 44, .13), 0 2px 0 rgba(227, 178, 60, .14);--shadow-elevated-retro: 0 18px 36px rgba(212, 106, 44, .18), 0 3px 0 rgba(227, 178, 60, .16);--color-sidebar-surface: var(--color-surface);--color-sidebar-border: rgba(184, 173, 155, .42);--color-sidebar-surface-active: rgba(227, 178, 60, .28);--color-sidebar-provider-bg: rgba(92, 165, 161, .12);--color-sidebar-provider-border: rgba(92, 165, 161, .28);--color-sidebar-provider-accent: #3f817d;--color-sidebar-destination-bg: rgba(227, 178, 60, .12);--color-sidebar-destination-border: rgba(212, 106, 44, .22);--color-sidebar-destination-accent: #c56d25;--color-sidebar-account-bg: rgba(78, 107, 79, .1);--color-sidebar-account-border: rgba(78, 107, 79, .22);--color-sidebar-account-accent: #4e6b4f;--color-field-surface: var(--color-neutral-paper);--color-field-border: var(--color-gray-400);--color-field-border-focus: var(--color-primary-500);--color-success-bg: rgba(92, 165, 161, .16);--color-success-border: rgba(92, 165, 161, .32);--color-info-bg: rgba(92, 165, 161, .12);--color-info-border: rgba(92, 165, 161, .28);--spacing-1: var(--space-1);--spacing-2: var(--space-2);--spacing-3: var(--space-3);--spacing-4: var(--space-4);--spacing-5: var(--space-5);--spacing-6: var(--space-6);--spacing-8: var(--space-8);--spacing-10: var(--space-10);--spacing-12: var(--space-12);--spacing-16: var(--space-16);--color-primary: var(--color-primary-500);--color-primary-dark: var(--color-primary-600);--color-primary-alpha: rgba(227, 178, 60, .18);--color-on-primary: var(--color-text-on-primary);--color-on-error: var(--color-gray-50);--color-text: var(--color-text-primary);--color-background-hover: var(--color-gray-300);--color-error-bg: rgba(212, 106, 44, .15);--color-error-dark: var(--color-secondary-600);--color-error-alpha: rgba(212, 106, 44, .24);--color-accent: var(--color-primary-500);--color-backdrop: rgba(0, 0, 0, .5);--color-on-map-marker: var(--color-gray-50);--color-on-warning: var(--color-gray-50);--color-shadow: rgba(0, 0, 0, .3);--color-danger: var(--color-primary-600);--color-danger-bg: rgba(212, 106, 44, .14);--color-danger-border: rgba(212, 106, 44, .35);--color-warning-bg: rgba(227, 178, 60, .16);--color-warning-border: rgba(227, 178, 60, .32);--color-surface-overlay-weak: rgba(62, 75, 55, .16);--color-surface-overlay-strong: rgba(62, 75, 55, .28);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--z-dropdown: 1000;--z-modal: 2000;--z-toast: 3000;--z-app-header: 2400;--z-app-sidebar: 2500}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*{margin:0;padding:0;box-sizing:border-box}dialog{margin:auto}html{font-family:var(--font-family);font-size:16px;line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;margin:0;font-family:var(--font-family);color:var(--color-text-primary);background-color:var(--color-background)}input,textarea,select,button,label{font-family:var(--font-family)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary)}h1,h2,h3{font-family:var(--font-family-display)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin-bottom:var(--space-4)}a{color:var(--color-primary-500);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-600);text-decoration:underline}a:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px;border-radius:var(--radius-sm)}*:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.skip-link{position:absolute;top:-40px;left:0;background:var(--color-primary-500);color:var(--color-text-on-primary);padding:var(--space-2) var(--space-4);text-decoration:none;z-index:var(--z-toast)}.skip-link:focus{top:0}.app-layout{--sidebar-width: 250px;min-height:100vh;margin-left:250px;background:var(--color-background);transition:margin-left .2s}.app-layout.sidebar-collapsed{--sidebar-width: 60px;margin-left:60px}@media(max-width:1024px){.app-layout{--sidebar-width: 60px;margin-left:60px}}.main-content{padding:var(--spacing-6);min-height:100vh;background:var(--color-background)}.app-menu{width:250px;height:100vh;background:var(--color-sidebar-surface);border-right:1px solid var(--color-sidebar-border);box-shadow:var(--shadow-card-retro);display:flex;flex-direction:column;position:fixed;left:0;top:0;transition:width .2s;z-index:var(--z-app-sidebar)}.app-menu.collapsed{width:60px}.app-menu .menu-header{display:flex;align-items:center;padding:var(--spacing-3);border-bottom:1px solid var(--color-sidebar-border);gap:var(--spacing-2)}.app-menu .toggle-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0}.app-menu .toggle-icon{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center}.app-menu .toggle-icon svg{width:100%;height:100%;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.app-menu .brand{overflow:hidden}.app-menu .logo{font-size:var(--font-size-xl);font-weight:700;color:var(--color-primary);margin:0}.app-menu .tenant-name{font-size:var(--font-size-sm);color:var(--color-text-muted);display:block}.app-menu .menu-nav{flex:1;min-height:0;padding:0;overflow-y:auto;display:flex;flex-direction:column;gap:0}.app-menu .nav-workspace{border:1px solid var(--color-sidebar-border);border-radius:0;background:#fffcf76b;padding:var(--spacing-2)}.app-menu.collapsed .nav-workspace{padding:var(--spacing-1)}.app-menu .nav-workspace-provider{background:var(--color-sidebar-provider-bg);border-color:var(--color-sidebar-provider-border)}.app-menu .nav-workspace-destination{flex:1;background:var(--color-sidebar-destination-bg);border-color:var(--color-sidebar-destination-border)}.app-menu .nav-workspace-account{background:var(--color-sidebar-account-bg);border-color:var(--color-sidebar-account-border)}.app-menu .workspace-label{display:block;padding:var(--space-1) var(--space-2) var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);text-transform:uppercase;color:var(--color-text-muted)}.app-menu.collapsed .workspace-label{display:none}.app-menu .menu-nav .studio-menu-nav-item{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-3) var(--spacing-3) 2.5em;border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-text);text-decoration:none;box-shadow:none;transform:translateY(0);transition:background-color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base),color var(--transition-base),transform var(--transition-fast);justify-content:flex-start;width:100%}.app-menu .nav-scope{display:flex;flex-direction:column}.app-menu .nav-scope-header{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--space-2);margin-bottom:var(--space-1);background:#e3b23c2e;border:1px solid rgba(212,106,44,.26);border-radius:var(--radius-md);box-shadow:inset 0 1px #fffcf7b8}.app-menu.collapsed .nav-scope-header{justify-content:center;padding:var(--space-2)}.app-menu .nav-scope-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border-radius:var(--radius-md);background:#d46a2c1f;color:var(--color-sidebar-destination-accent);box-shadow:inset 0 0 0 1px #d46a2c33}.app-menu .nav-scope-badge .nav-icon{width:16px;height:16px}.app-menu .nav-scope-empty .nav-scope-badge{background:transparent;color:var(--color-text-muted);box-shadow:inset 0 0 0 1px var(--color-sidebar-border)}.app-menu .nav-scope-text{display:flex;flex-direction:column;min-width:0}.app-menu .nav-scope-eyebrow{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-sidebar-destination-accent);text-transform:uppercase;letter-spacing:0;line-height:var(--line-height-tight)}.app-menu .nav-scope-name{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-primary);line-height:var(--line-height-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-menu .nav-scope-empty .nav-scope-name{font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.app-menu .nav-scope-groups{position:relative;display:flex;flex-direction:column}.app-menu .nav-group{display:flex;flex-direction:column}.app-menu .nav-group-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-sidebar-destination-accent);text-transform:uppercase;letter-spacing:0;line-height:var(--line-height-tight);padding:var(--space-3) var(--space-3) var(--space-2) 2.5em}.app-menu.collapsed .nav-group-label{display:none}.app-menu .nav-group-items-disabled{pointer-events:none;opacity:.45}.app-menu .nav-group-divider{height:1px;background:var(--color-sidebar-destination-border);margin:var(--space-2) 0}.app-menu .hint-text{font-size:var(--font-size-xs);color:var(--color-text-muted);padding:var(--space-1) var(--space-3) var(--space-2)}.app-menu .nav-icon{width:20px;height:20px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.app-menu .nav-icon svg{width:100%;height:100%;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.app-menu.collapsed .studio-menu-nav-item{justify-content:center;padding:var(--spacing-3);min-width:2.5rem}.app-menu .studio-menu-nav-item:hover{background:#fffcf7b3;border-color:var(--color-sidebar-border);color:var(--color-text-primary)}.app-menu .studio-menu-nav-item.active{background:#fffcf7c7;border-color:var(--color-sidebar-border);color:var(--color-text-primary);box-shadow:inset 3px 0 0 var(--color-primary-600)}.app-menu .nav-workspace-provider .studio-menu-nav-item.active{box-shadow:inset 3px 0 0 var(--color-sidebar-provider-accent)}.app-menu .nav-workspace-destination .studio-menu-nav-item.active{box-shadow:inset 3px 0 0 var(--color-sidebar-destination-accent)}.app-menu .nav-workspace-account .studio-menu-nav-item.active{box-shadow:inset 3px 0 0 var(--color-sidebar-account-accent)}.app-menu .studio-menu-nav-item.active:hover{background:#fffcf7db;transform:translateY(-1px)}.app-menu .menu-footer{padding:0;border-top:1px solid var(--color-sidebar-border);border-right:0;border-left:0;border-bottom:0;border-radius:0}.app-menu .footer-identity{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3);background:transparent;border:0;border-radius:0;margin-bottom:var(--spacing-2)}.app-menu.collapsed .footer-identity{background:transparent;border:none;padding:var(--spacing-2);justify-content:center}.app-menu .identity-avatar{width:36px;height:36px;border-radius:50%;background:#4e6b4f33;color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.app-menu .identity-details{display:flex;flex-direction:column;gap:2px;min-width:0}.app-menu .identity-label{font-size:var(--font-size-xs);color:var(--color-gray-600);text-transform:uppercase;letter-spacing:.04em;font-weight:500}.app-menu .identity-email{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-menu .footer-actions{display:flex;flex-direction:column;gap:var(--spacing-2);padding:var(--spacing-2)}.app-menu .footer-actions .studio-menu-nav-item{display:flex;align-items:center;justify-content:center;width:100%;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-sidebar-account-border);border-radius:var(--radius-md);background:#4e6b4f24}.app-menu.collapsed .footer-actions .studio-menu-nav-item{justify-content:center;width:40px;height:40px;padding:0;border-radius:50%}.app-menu .footer-actions .logout-btn.button{display:flex;width:100%;text-align:center;justify-content:center;padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-md);box-shadow:none;gap:var(--spacing-2)}.app-menu.collapsed .footer-actions .logout-btn.button{width:40px;height:40px;padding:0;border-radius:50%;justify-content:center}.app-menu .logout-btn.button.variant-secondary{background:#fffcf794;border:1px solid var(--color-sidebar-account-border);color:var(--color-text);transition:background-color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base),color var(--transition-base),transform var(--transition-fast)}.app-menu .logout-btn.button.variant-secondary:hover:not(:disabled){background:#fffcf7b8;border-color:var(--color-sidebar-account-border);color:var(--color-text-primary);box-shadow:inset 0 0 0 1px #4e6b4f1f;transform:translateY(-1px)}.app-menu .logout-btn.button.variant-secondary:active:not(:disabled){transform:translateY(0);background:var(--color-sidebar-surface-active)}.app-menu .logout-btn.button.variant-secondary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.app-menu .footer-actions form{margin:0;width:100%}.maplibregl-map{height:100%;width:100%;font-family:var(--font-family)}.maplibregl-ctrl-attrib{color:var(--color-text-muted)}.maplibregl-ctrl-attrib a{color:var(--color-primary-600)}
