:root{--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--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-size-5xl: 3rem;--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;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-light: #dbeafe;--color-primary-dark: #1e40af;--color-secondary: #7c3aed;--color-secondary-hover: #6d28d9;--color-secondary-light: #ede9fe;--color-success: #059669;--color-success-light: #d1fae5;--color-warning: #d97706;--color-warning-light: #fef3c7;--color-error: #dc2626;--color-error-light: #fee2e2;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-text-primary: #1c1b1f;--color-text-secondary: #49454f;--color-text-tertiary: #6b7280;--color-text-muted: #6b7280;--color-text-disabled: #9ca3af;--color-surface: #ffffff;--color-surface-variant: #f5f5f5;--color-surface-elevated: #ffffff;--color-border: #e0e0e0;--color-border-light: #f0f0f0;--color-border-dark: #d1d5db;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.25rem;--radius-full: 9999px;--md-sys-elevation-level0: none;--md-sys-elevation-level1: 0 1px 2px 0 rgba(0, 0, 0, .3), 0 1px 3px 1px rgba(0, 0, 0, .15);--md-sys-elevation-level2: 0 1px 2px 0 rgba(0, 0, 0, .3), 0 2px 6px 2px rgba(0, 0, 0, .15);--md-sys-elevation-level3: 0 1px 3px 0 rgba(0, 0, 0, .3), 0 4px 8px 3px rgba(0, 0, 0, .15);--md-sys-elevation-level4: 0 2px 3px 0 rgba(0, 0, 0, .3), 0 6px 10px 4px rgba(0, 0, 0, .15);--md-sys-elevation-level5: 0 4px 4px 0 rgba(0, 0, 0, .3), 0 8px 12px 6px rgba(0, 0, 0, .15);--shadow-sm: var(--md-sys-elevation-level1);--shadow-md: var(--md-sys-elevation-level2);--shadow-lg: var(--md-sys-elevation-level3);--shadow-xl: var(--md-sys-elevation-level5);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--z-index-dropdown: 1000;--z-index-sticky: 1020;--z-index-fixed: 1030;--z-index-modal-backdrop: 1040;--z-index-modal: 1050;--z-index-popover: 1060;--z-index-tooltip: 1070;--z-index-notification: 1080;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px}@media(prefers-color-scheme:dark){:root{--color-text-primary: #f3f4f6;--color-text-secondary: #d1d5db;--color-text-tertiary: #9ca3af;--color-surface: #1f2937;--color-surface-variant: #374151;--color-surface-elevated: #111827;--color-border: #4b5563;--color-border-light: #374151;--color-border-dark: #6b7280}}.m-0{margin:0}.m-xs{margin:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.m-xl{margin:var(--spacing-xl)}.m-2xl{margin:var(--spacing-2xl)}.m-3xl{margin:var(--spacing-3xl)}.mt-0{margin-top:0}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mt-2xl{margin-top:var(--spacing-2xl)}.mt-3xl{margin-top:var(--spacing-3xl)}.mr-0{margin-right:0}.mr-xs{margin-right:var(--spacing-xs)}.mr-sm{margin-right:var(--spacing-sm)}.mr-md{margin-right:var(--spacing-md)}.mr-lg{margin-right:var(--spacing-lg)}.mr-xl{margin-right:var(--spacing-xl)}.mr-2xl{margin-right:var(--spacing-2xl)}.mr-3xl{margin-right:var(--spacing-3xl)}.mb-0{margin-bottom:0}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.mb-2xl{margin-bottom:var(--spacing-2xl)}.mb-3xl{margin-bottom:var(--spacing-3xl)}.ml-0{margin-left:0}.ml-xs{margin-left:var(--spacing-xs)}.ml-sm{margin-left:var(--spacing-sm)}.ml-md{margin-left:var(--spacing-md)}.ml-lg{margin-left:var(--spacing-lg)}.ml-xl{margin-left:var(--spacing-xl)}.ml-2xl{margin-left:var(--spacing-2xl)}.ml-3xl{margin-left:var(--spacing-3xl)}.mx-0{margin-left:0;margin-right:0}.mx-xs{margin-left:var(--spacing-xs);margin-right:var(--spacing-xs)}.mx-sm{margin-left:var(--spacing-sm);margin-right:var(--spacing-sm)}.mx-md{margin-left:var(--spacing-md);margin-right:var(--spacing-md)}.mx-lg{margin-left:var(--spacing-lg);margin-right:var(--spacing-lg)}.mx-xl{margin-left:var(--spacing-xl);margin-right:var(--spacing-xl)}.mx-2xl{margin-left:var(--spacing-2xl);margin-right:var(--spacing-2xl)}.mx-3xl{margin-left:var(--spacing-3xl);margin-right:var(--spacing-3xl)}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-xs{margin-top:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.my-sm{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.my-md{margin-top:var(--spacing-md);margin-bottom:var(--spacing-md)}.my-lg{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.my-xl{margin-top:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.my-2xl{margin-top:var(--spacing-2xl);margin-bottom:var(--spacing-2xl)}.my-3xl{margin-top:var(--spacing-3xl);margin-bottom:var(--spacing-3xl)}.p-0{padding:0}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.p-2xl{padding:var(--spacing-2xl)}.p-3xl{padding:var(--spacing-3xl)}.pt-0{padding-top:0}.pt-xs{padding-top:var(--spacing-xs)}.pt-sm{padding-top:var(--spacing-sm)}.pt-md{padding-top:var(--spacing-md)}.pt-lg{padding-top:var(--spacing-lg)}.pt-xl{padding-top:var(--spacing-xl)}.pt-2xl{padding-top:var(--spacing-2xl)}.pt-3xl{padding-top:var(--spacing-3xl)}.pr-0{padding-right:0}.pr-xs{padding-right:var(--spacing-xs)}.pr-sm{padding-right:var(--spacing-sm)}.pr-md{padding-right:var(--spacing-md)}.pr-lg{padding-right:var(--spacing-lg)}.pr-xl{padding-right:var(--spacing-xl)}.pr-2xl{padding-right:var(--spacing-2xl)}.pr-3xl{padding-right:var(--spacing-3xl)}.pb-0{padding-bottom:0}.pb-xs{padding-bottom:var(--spacing-xs)}.pb-sm{padding-bottom:var(--spacing-sm)}.pb-md{padding-bottom:var(--spacing-md)}.pb-lg{padding-bottom:var(--spacing-lg)}.pb-xl{padding-bottom:var(--spacing-xl)}.pb-2xl{padding-bottom:var(--spacing-2xl)}.pb-3xl{padding-bottom:var(--spacing-3xl)}.pl-0{padding-left:0}.pl-xs{padding-left:var(--spacing-xs)}.pl-sm{padding-left:var(--spacing-sm)}.pl-md{padding-left:var(--spacing-md)}.pl-lg{padding-left:var(--spacing-lg)}.pl-xl{padding-left:var(--spacing-xl)}.pl-2xl{padding-left:var(--spacing-2xl)}.pl-3xl{padding-left:var(--spacing-3xl)}.px-0{padding-left:0;padding-right:0}.px-xs{padding-left:var(--spacing-xs);padding-right:var(--spacing-xs)}.px-sm{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.px-md{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.px-lg{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.px-xl{padding-left:var(--spacing-xl);padding-right:var(--spacing-xl)}.px-2xl{padding-left:var(--spacing-2xl);padding-right:var(--spacing-2xl)}.px-3xl{padding-left:var(--spacing-3xl);padding-right:var(--spacing-3xl)}.py-0{padding-top:0;padding-bottom:0}.py-xs{padding-top:var(--spacing-xs);padding-bottom:var(--spacing-xs)}.py-sm{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.py-md{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.py-lg{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.py-xl{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}.py-2xl{padding-top:var(--spacing-2xl);padding-bottom:var(--spacing-2xl)}.py-3xl{padding-top:var(--spacing-3xl);padding-bottom:var(--spacing-3xl)}.gap-0{gap:0}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.gap-2xl{gap:var(--spacing-2xl)}.gap-3xl{gap:var(--spacing-3xl)}.row-gap-0{row-gap:0}.row-gap-xs{row-gap:var(--spacing-xs)}.row-gap-sm{row-gap:var(--spacing-sm)}.row-gap-md{row-gap:var(--spacing-md)}.row-gap-lg{row-gap:var(--spacing-lg)}.row-gap-xl{row-gap:var(--spacing-xl)}.row-gap-2xl{row-gap:var(--spacing-2xl)}.row-gap-3xl{row-gap:var(--spacing-3xl)}.column-gap-0{column-gap:0}.column-gap-xs{column-gap:var(--spacing-xs)}.column-gap-sm{column-gap:var(--spacing-sm)}.column-gap-md{column-gap:var(--spacing-md)}.column-gap-lg{column-gap:var(--spacing-lg)}.column-gap-xl{column-gap:var(--spacing-xl)}.column-gap-2xl{column-gap:var(--spacing-2xl)}.column-gap-3xl{column-gap:var(--spacing-3xl)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.elevation-0{box-shadow:var(--md-sys-elevation-level0)}.elevation-1{box-shadow:var(--md-sys-elevation-level1)}.elevation-2{box-shadow:var(--md-sys-elevation-level2)}.elevation-3{box-shadow:var(--md-sys-elevation-level3)}.elevation-4{box-shadow:var(--md-sys-elevation-level4)}.elevation-5{box-shadow:var(--md-sys-elevation-level5)}.elevation-1-hover{box-shadow:var(--md-sys-elevation-level1);transition:box-shadow var(--transition-base)}.elevation-1-hover:hover{box-shadow:var(--md-sys-elevation-level2)}.elevation-2-hover{box-shadow:var(--md-sys-elevation-level2);transition:box-shadow var(--transition-base)}.elevation-2-hover:hover{box-shadow:var(--md-sys-elevation-level3)}.elevation-3-hover{box-shadow:var(--md-sys-elevation-level3);transition:box-shadow var(--transition-base)}.elevation-3-hover:hover{box-shadow:var(--md-sys-elevation-level4)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.hidden{display:none!important}.skip-link{position:absolute;top:-40px;left:0;background:var(--md-sys-color-primary, #1976d2);color:var(--md-sys-color-on-primary, #ffffff);padding:8px 16px;text-decoration:none;font-weight:500;border-radius:0 0 4px;z-index:10000;transition:top .2s ease-in-out}.skip-link:focus{top:0;outline:2px solid var(--md-sys-color-on-primary, #ffffff);outline-offset:2px}:root{--md-sys-typescale-display-large: 57px;--md-sys-typescale-display-large-weight: 400;--md-sys-typescale-display-large-line-height: 1.12;--md-sys-typescale-display-medium: 45px;--md-sys-typescale-display-medium-weight: 400;--md-sys-typescale-display-medium-line-height: 1.16;--md-sys-typescale-display-small: 36px;--md-sys-typescale-display-small-weight: 400;--md-sys-typescale-display-small-line-height: 1.22;--md-sys-typescale-headline-large: 32px;--md-sys-typescale-headline-large-weight: 400;--md-sys-typescale-headline-large-line-height: 1.25;--md-sys-typescale-headline-medium: 28px;--md-sys-typescale-headline-medium-weight: 400;--md-sys-typescale-headline-medium-line-height: 1.29;--md-sys-typescale-headline-small: 24px;--md-sys-typescale-headline-small-weight: 400;--md-sys-typescale-headline-small-line-height: 1.33;--md-sys-typescale-title-large: 22px;--md-sys-typescale-title-large-weight: 400;--md-sys-typescale-title-large-line-height: 1.27;--md-sys-typescale-title-medium: 16px;--md-sys-typescale-title-medium-weight: 500;--md-sys-typescale-title-medium-line-height: 1.5;--md-sys-typescale-title-small: 14px;--md-sys-typescale-title-small-weight: 500;--md-sys-typescale-title-small-line-height: 1.43;--md-sys-typescale-body-large: 16px;--md-sys-typescale-body-large-weight: 400;--md-sys-typescale-body-large-line-height: 1.5;--md-sys-typescale-body-medium: 14px;--md-sys-typescale-body-medium-weight: 400;--md-sys-typescale-body-medium-line-height: 1.43;--md-sys-typescale-body-small: 12px;--md-sys-typescale-body-small-weight: 400;--md-sys-typescale-body-small-line-height: 1.33;--md-sys-typescale-label-large: 14px;--md-sys-typescale-label-large-weight: 500;--md-sys-typescale-label-large-line-height: 1.43;--md-sys-typescale-label-large-tracking: .1px;--md-sys-typescale-label-medium: 12px;--md-sys-typescale-label-medium-weight: 500;--md-sys-typescale-label-medium-line-height: 1.33;--md-sys-typescale-label-medium-tracking: .5px;--md-sys-typescale-label-small: 11px;--md-sys-typescale-label-small-weight: 500;--md-sys-typescale-label-small-line-height: 1.45;--md-sys-typescale-label-small-tracking: .5px}body{font-family:Roboto,Segoe UI,Helvetica Neue,Arial,sans-serif;font-size:var(--md-sys-typescale-body-large);font-weight:var(--md-sys-typescale-body-large-weight);line-height:var(--md-sys-typescale-body-large-line-height);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1{font-size:var(--md-sys-typescale-headline-large);font-weight:var(--md-sys-typescale-headline-large-weight);line-height:var(--md-sys-typescale-headline-large-line-height);margin:0 0 1rem}h2{font-size:var(--md-sys-typescale-headline-medium);font-weight:var(--md-sys-typescale-headline-medium-weight);line-height:var(--md-sys-typescale-headline-medium-line-height);margin:0 0 .875rem}h3{font-size:var(--md-sys-typescale-headline-small);font-weight:var(--md-sys-typescale-headline-small-weight);line-height:var(--md-sys-typescale-headline-small-line-height);margin:0 0 .75rem}h4{font-size:var(--md-sys-typescale-title-large);font-weight:var(--md-sys-typescale-title-large-weight);line-height:var(--md-sys-typescale-title-large-line-height);margin:0 0 .625rem}h5{font-size:var(--md-sys-typescale-title-medium);font-weight:var(--md-sys-typescale-title-medium-weight);line-height:var(--md-sys-typescale-title-medium-line-height);margin:0 0 .5rem}h6{font-size:var(--md-sys-typescale-title-small);font-weight:var(--md-sys-typescale-title-small-weight);line-height:var(--md-sys-typescale-title-small-line-height);margin:0 0 .5rem}p{font-size:var(--md-sys-typescale-body-medium);font-weight:var(--md-sys-typescale-body-medium-weight);line-height:var(--md-sys-typescale-body-medium-line-height);margin:0 0 1rem}.text-display-large{font-size:var(--md-sys-typescale-display-large);font-weight:var(--md-sys-typescale-display-large-weight);line-height:var(--md-sys-typescale-display-large-line-height)}.text-display-medium{font-size:var(--md-sys-typescale-display-medium);font-weight:var(--md-sys-typescale-display-medium-weight);line-height:var(--md-sys-typescale-display-medium-line-height)}.text-display-small{font-size:var(--md-sys-typescale-display-small);font-weight:var(--md-sys-typescale-display-small-weight);line-height:var(--md-sys-typescale-display-small-line-height)}.text-headline-large{font-size:var(--md-sys-typescale-headline-large);font-weight:var(--md-sys-typescale-headline-large-weight);line-height:var(--md-sys-typescale-headline-large-line-height)}.text-headline-medium{font-size:var(--md-sys-typescale-headline-medium);font-weight:var(--md-sys-typescale-headline-medium-weight);line-height:var(--md-sys-typescale-headline-medium-line-height)}.text-headline-small{font-size:var(--md-sys-typescale-headline-small);font-weight:var(--md-sys-typescale-headline-small-weight);line-height:var(--md-sys-typescale-headline-small-line-height)}.text-title-large,.title-large{font-size:var(--md-sys-typescale-title-large);font-weight:var(--md-sys-typescale-title-large-weight);line-height:var(--md-sys-typescale-title-large-line-height)}.text-title-medium{font-size:var(--md-sys-typescale-title-medium);font-weight:var(--md-sys-typescale-title-medium-weight);line-height:var(--md-sys-typescale-title-medium-line-height)}.text-title-small{font-size:var(--md-sys-typescale-title-small);font-weight:var(--md-sys-typescale-title-small-weight);line-height:var(--md-sys-typescale-title-small-line-height)}.text-body-large,.body-large{font-size:var(--md-sys-typescale-body-large);font-weight:var(--md-sys-typescale-body-large-weight);line-height:var(--md-sys-typescale-body-large-line-height)}.text-body-medium{font-size:var(--md-sys-typescale-body-medium);font-weight:var(--md-sys-typescale-body-medium-weight);line-height:var(--md-sys-typescale-body-medium-line-height)}.text-body-small{font-size:var(--md-sys-typescale-body-small);font-weight:var(--md-sys-typescale-body-small-weight);line-height:var(--md-sys-typescale-body-small-line-height)}.text-label-large,.label-large{font-size:var(--md-sys-typescale-label-large);font-weight:var(--md-sys-typescale-label-large-weight);line-height:var(--md-sys-typescale-label-large-line-height);letter-spacing:var(--md-sys-typescale-label-large-tracking)}.text-label-medium{font-size:var(--md-sys-typescale-label-medium);font-weight:var(--md-sys-typescale-label-medium-weight);line-height:var(--md-sys-typescale-label-medium-line-height);letter-spacing:var(--md-sys-typescale-label-medium-tracking)}.text-label-small{font-size:var(--md-sys-typescale-label-small);font-weight:var(--md-sys-typescale-label-small-weight);line-height:var(--md-sys-typescale-label-small-line-height);letter-spacing:var(--md-sys-typescale-label-small-tracking)}@media(max-width:768px){:root{--md-sys-typescale-display-large: 45px;--md-sys-typescale-display-medium: 36px;--md-sys-typescale-display-small: 32px;--md-sys-typescale-headline-large: 28px;--md-sys-typescale-headline-medium: 24px}}@media(max-width:480px){:root{--md-sys-typescale-display-large: 36px;--md-sys-typescale-display-medium: 32px;--md-sys-typescale-display-small: 28px;--md-sys-typescale-headline-large: 24px;--md-sys-typescale-headline-medium: 20px}}.title-large{font-size:var(--md-sys-typescale-title-large);font-weight:var(--md-sys-typescale-title-large-weight);line-height:var(--md-sys-typescale-title-large-line-height)}.body-large{font-size:var(--md-sys-typescale-body-large);font-weight:var(--md-sys-typescale-body-large-weight);line-height:var(--md-sys-typescale-body-large-line-height)}.label-large{font-size:var(--md-sys-typescale-label-large);font-weight:var(--md-sys-typescale-label-large-weight);line-height:var(--md-sys-typescale-label-large-line-height);letter-spacing:var(--md-sys-typescale-label-large-tracking)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(prefers-reduced-motion:no-preference){.route-loading .loading-spinner{animation:pulse 1.5s ease-in-out infinite}.navigation-progress-bar{transition:width .3s ease}}.loading{color:#4a4a4a;font-style:italic}.app-loading{position:fixed;inset:0;background:var(--md-sys-color-surface, #ffffff);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease-in}.app-loading.hidden{animation:fadeOut .3s ease-out forwards;pointer-events:none}.app-loading-content{text-align:center;padding:32px}.app-loading-spinner{width:64px;height:64px;margin:0 auto 24px}.spinner{animation:rotate 2s linear infinite;width:100%;height:100%}.spinner-path{stroke:var(--md-sys-color-primary, #2563eb);stroke-linecap:round;animation:dash 1.5s ease-in-out infinite}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.app-loading-title{font-size:1.5rem;font-weight:600;color:var(--md-sys-color-on-surface, #1c1b1f);margin:0 0 8px}.app-loading-message{font-size:1rem;color:var(--md-sys-color-on-surface-variant, #49454f);margin:0}.loading-spinner{display:inline-block;font-size:2rem;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.skeleton-loader{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes skeleton-shimmer{0%{background-position:-468px 0}to{background-position:468px 0}}.skeleton{background:linear-gradient(90deg,#f0f0f0,#e0e0e0 20%,#f0f0f0 40% 100%);background-size:468px 100%;animation:skeleton-shimmer 1.2s ease-in-out infinite;border-radius:4px;display:inline-block;position:relative;overflow:hidden}.skeleton-text{height:16px;margin-bottom:8px;width:100%}.skeleton-heading{height:24px;margin-bottom:12px;width:100%}.skeleton-circle{border-radius:50%;width:48px;height:48px}.skeleton-rect{width:100%;height:120px}.skeleton-multiline{display:block}.skeleton-line{height:16px;margin-bottom:8px;background:inherit;animation:inherit}.skeleton-line:last-child{margin-bottom:0}.skeleton-card{display:flex;flex-direction:column;padding:16px;min-height:100px}.skeleton-card-label{margin-bottom:12px}.skeleton-card-value{margin-bottom:0}.skeleton-address{display:flex;flex-direction:column;gap:8px}.skeleton-coordinates{display:flex;align-items:center}@media(prefers-color-scheme:dark){.skeleton{background:linear-gradient(90deg,#2d3748,#4a5568 20%,#2d3748 40% 100%)}}@media(prefers-reduced-motion:reduce){.skeleton{animation:pulse 2s ease-in-out infinite}}.loading-overlay{position:fixed;inset:0;background:#ffffffe6;display:flex;align-items:center;justify-content:center;z-index:9999}.loading-overlay .loading-spinner{font-size:3rem}a,button,input,select,textarea{touch-action:manipulation}@media(pointer:coarse){button,a,input[type=button],input[type=submit],input[type=reset]{min-height:48px;min-width:48px;padding:12px 24px}nav a,nav button{margin:8px 4px}}*{-webkit-tap-highlight-color:transparent}button:active,a:active{background-color:#0000000d}button{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body{-webkit-overflow-scrolling:touch}@supports (-webkit-touch-callout: none){body{min-height:-webkit-fill-available}}.md3-card{background:var(--md-sys-color-surface, #ffffff);border-radius:12px;padding:16px;box-shadow:var(--md-sys-elevation-level1, 0 1px 2px 0 rgba(0, 0, 0, .3), 0 1px 3px 1px rgba(0, 0, 0, .15));transition:box-shadow .2s ease-in-out}.md3-card:hover{box-shadow:var(--md-sys-elevation-level2, 0 1px 2px 0 rgba(0, 0, 0, .3), 0 2px 6px 2px rgba(0, 0, 0, .15))}.md3-card-elevated{background:var(--md-sys-color-surface-variant, #f9f9f9);box-shadow:var(--md-sys-elevation-level2)}.container{max-width:1200px;margin:0 auto;padding:16px}@media(min-width:600px){.container{padding:24px}}@media(min-width:900px){.container{padding:32px}}.section-divider{height:1px;background:#0000001f;margin:24px 0;border:none}.md3-chip{display:inline-flex;align-items:center;padding:6px 16px;background:var(--md-sys-color-surface-variant, #f9f9f9);border-radius:8px;font-size:14px;font-weight:500;transition:background .2s}.md3-chip:hover{background:#00000014}.md3-list-item{display:flex;align-items:center;padding:12px 16px;min-height:56px;transition:background .2s;cursor:pointer}.md3-list-item:hover{background:#0000000a}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.text-center{text-align:center}.text-error{color:var(--md-sys-color-error, #ba1a1a)}*:focus{outline:2px solid var(--md-sys-color-primary, #1976d2);outline-offset:2px}*:focus:not(:focus-visible){outline:none}*:focus-visible{outline:2px solid var(--md-sys-color-primary, #1976d2);outline-offset:2px}@media(prefers-contrast:high){*:focus-visible{outline:3px solid currentColor;outline-offset:3px}}.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}:root{--color-text-primary: #1c1b1f;--color-text-secondary: #49454f;--color-text-disabled: rgba(0, 0, 0, .38)}body{color:var(--color-text-primary)}a{color:var(--md-sys-color-primary, #1976d2);text-decoration:underline;text-underline-offset:2px}a:hover{text-decoration-thickness:2px}a:visited{color:#6a1b9a}button,a,input[type=button],input[type=submit],input[type=checkbox],input[type=radio]{min-height:44px;min-width:44px}label{display:block;margin-bottom:4px;font-weight:500}.required:after{content:" *";color:var(--md-sys-color-error, #ba1a1a)}.error-message{color:var(--md-sys-color-error, #ba1a1a);font-size:12px;margin-top:4px;display:flex;align-items:center;gap:4px}.error-message:before{content:"⚠️";font-size:14px}[aria-live=polite],[aria-live=assertive]{position:relative}@media(prefers-contrast:high){button{border:2px solid currentColor}.md3-card{border:1px solid rgba(0,0,0,.2)}}details summary{cursor:pointer;padding:8px;border-radius:4px;transition:background-color .2s}details summary:focus-visible{outline:2px solid var(--md-sys-color-primary, #1976d2);outline-offset:2px;background-color:#1976d20d}details summary:hover{background-color:#0000000a}.skip-link{position:absolute;left:-9999px;z-index:10000;padding:12px 16px;background:var(--md-sys-color-primary, #1976d2);color:#fff;text-decoration:none;font-weight:500;border-radius:0 0 4px;transition:left .2s}.skip-link:focus{left:0;top:0;clip:auto;clip-path:none;width:auto;height:auto;outline:2px solid white;outline-offset:-4px}.will-transform{will-change:transform}.will-opacity{will-change:opacity}@media(prefers-reduced-motion:no-preference){.animate-transform{transform:translateZ(0);backface-visibility:hidden}}.lazy-load-item{content-visibility:auto;contain-intrinsic-size:0 200px}@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-display:swap;src:local("Roboto"),local("Roboto-Regular")}.no-repaint{contain:layout style paint}img{content-visibility:auto}img[loading=lazy]{background:#f0f0f0}.aspect-ratio-16-9{aspect-ratio:16 / 9}.aspect-ratio-4-3{aspect-ratio:4 / 3}.aspect-ratio-1-1{aspect-ratio:1 / 1}.scroll-container{overflow-y:auto;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.isolate{isolation:isolate}.above-fold{contain:layout style}.app-footer{background:var(--md-sys-color-surface, #f5f5f5);border-top:1px solid rgba(0,0,0,.12);padding:16px;text-align:center;margin-top:24px}.app-footer p{margin:0;font-size:14px}.app-footer a{color:var(--md-sys-color-primary, #1976d2);text-decoration:none;font-weight:500;padding:8px 16px;border-radius:4px;display:inline-block;transition:background .2s,color .2s}.app-footer a:hover{background:#1976d214;text-decoration:underline}.app-footer a:focus{outline:2px solid var(--md-sys-color-primary, #1976d2);outline-offset:2px}@media(max-width:600px){.app-footer{padding:12px}.app-footer a{font-size:13px;padding:6px 12px}}.navigation-progress{position:fixed;top:0;left:0;right:0;height:3px;background:#0000000d;z-index:10001;opacity:0;transition:opacity .3s}.navigation-progress[aria-valuenow]{opacity:1}.navigation-progress-bar{height:100%;background:var(--md-sys-color-primary, #1976d2);width:0;transition:width .3s ease}@media(max-width:600px){.app-navigation{padding:8px 12px}.app-navigation a{padding:8px 16px;font-size:13px}}.breadcrumb{display:flex;align-items:center;gap:8px;padding:12px 16px;font-size:14px}.breadcrumb a{color:var(--md-sys-color-primary, #1976d2);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.breadcrumb-separator{color:#0009}.breadcrumb-current{color:#000000de;font-weight:500}.app-hero-header{position:relative;width:100%;padding:2.5rem 1.5rem 2rem;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:1rem;text-align:left;overflow:hidden;isolation:isolate;background:linear-gradient(135deg,#1565c0,#1976d2 20%,#7c3aed 55%,#0891b2);background-size:300% 300%;animation:heroGradientShift 12s ease infinite}@keyframes heroGradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.app-hero-header:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.07;background:radial-gradient(ellipse 80px 40px at center,transparent 68%,rgba(255,255,255,.8) 69%,transparent 72%),radial-gradient(ellipse 140px 70px at center,transparent 68%,rgba(255,255,255,.6) 69%,transparent 72%),radial-gradient(ellipse 200px 100px at center,transparent 68%,rgba(255,255,255,.4) 69%,transparent 72%),radial-gradient(ellipse 260px 130px at center,transparent 68%,rgba(255,255,255,.3) 69%,transparent 72%);background-repeat:no-repeat;background-position:center}.app-hero-header:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.04;background-image:linear-gradient(rgba(255,255,255,.9) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.9) 1px,transparent 1px);background-size:48px 48px}.hero-pin-wrapper{position:relative;z-index:1;width:48px;height:48px;margin-bottom:0;display:flex;align-items:center;justify-content:center}.hero-pin-svg{width:32px;height:32px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.4));animation:heroPinPulse 2.4s ease-in-out infinite}@keyframes heroPinPulse{0%,to{transform:translateY(0) scale(1);filter:drop-shadow(0 2px 8px rgba(0,0,0,.4))}40%{transform:translateY(-4px) scale(1.08);filter:drop-shadow(0 6px 14px rgba(0,0,0,.5))}}.hero-pin-ripple{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(255,255,255,.5);animation:heroPinRipple 2.4s ease-out infinite}@keyframes heroPinRipple{0%{transform:scale(.7);opacity:.8}to{transform:scale(2.2);opacity:0}}.hero-title{position:relative;z-index:1;margin:0;line-height:1.1;user-select:none}.hero-title-onde{display:block;font-size:clamp(1rem,4vw,1.5rem);font-weight:300;letter-spacing:.3em;text-transform:uppercase;color:#ffffffbf}.hero-title-estou{display:block;font-size:clamp(2.25rem,8vw,4rem);font-weight:800;letter-spacing:-.02em;background:linear-gradient(135deg,#fff 30%,#b2ebf2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:#fff}.hero-location-text{position:relative;z-index:1;margin:.75rem 0 0;font-size:clamp(.85rem,2.5vw,1rem);font-weight:500;letter-spacing:.05em;color:#ffffffe0;min-height:1.5em;transition:opacity .4s ease}.hero-location-text[data-pending=true]{opacity:.5;font-style:italic}@media(max-width:600px){.app-hero-header{padding:1.75rem 1rem 1.5rem}.hero-pin-wrapper{width:40px;height:40px;margin-bottom:.5rem}.hero-pin-svg{width:26px;height:26px}}@media(prefers-reduced-motion:reduce){.app-hero-header{animation:none;background-position:0% 50%}.hero-pin-svg{animation:none}.hero-pin-ripple{animation:none;display:none}}.onboarding-card{background:#4557c0;background:linear-gradient(135deg,#3848a8,#6a4291);border-radius:16px;padding:32px;margin:24px 0;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;animation:slideInUp .4s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.onboarding-card.hidden{display:none}.onboarding-content{text-align:center;color:#fff}.onboarding-icon{font-size:4rem;margin-bottom:16px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.onboarding-title{font-size:1.75rem;font-weight:700;margin:0 0 16px;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.2)}.onboarding-description{font-size:1.125rem;line-height:1.6;color:#fffffff2;max-width:500px;margin:0 auto 24px;text-shadow:0 1px 4px rgba(0,0,0,.2)}.onboarding-cta{background:#fff;color:#667eea;font-size:1.125rem;font-weight:600;padding:16px 32px;border:none;border-radius:12px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;box-shadow:0 4px 12px #00000026;transition:transform .2s ease,box-shadow .2s ease}.onboarding-cta:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0003}.onboarding-cta:active{transform:translateY(0)}.onboarding-cta:focus-visible{outline:3px solid #ffffff;outline-offset:3px}.onboarding-cta .button-icon{font-size:1.5rem}.onboarding-details{margin-top:24px;text-align:left;background:#ffffff1a;border-radius:8px;padding:16px;backdrop-filter:blur(10px)}.onboarding-details summary{cursor:pointer;font-weight:600;color:#fff;list-style:none;display:flex;align-items:center;gap:8px;user-select:none}.onboarding-details summary::-webkit-details-marker{display:none}.onboarding-details summary:before{content:"▶";font-size:.75rem;transition:transform .2s ease}.onboarding-details[open] summary:before{transform:rotate(90deg)}.onboarding-details summary:hover{color:#ffffffe6}.onboarding-details summary:focus-visible{outline:2px solid #ffffff;outline-offset:2px;border-radius:4px}.onboarding-details-content{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.2)}.onboarding-details-content p{margin:0 0 12px;color:#ffffffe6;line-height:1.6}.onboarding-details-content ul{margin:12px 0;padding-left:24px;color:#ffffffe6}.onboarding-details-content li{margin:8px 0;line-height:1.5}.onboarding-privacy{font-size:.875rem;margin-top:16px!important;padding-top:12px;border-top:1px solid rgba(255,255,255,.2);color:#ffffffd9}@media(max-width:600px){.onboarding-card{padding:24px 16px;margin:16px 0;border-radius:12px}.onboarding-icon{font-size:3rem}.onboarding-title{font-size:1.5rem}.onboarding-description{font-size:1rem}.onboarding-cta{font-size:1rem;padding:14px 24px}.onboarding-details{padding:12px}}@media(prefers-color-scheme:dark){.onboarding-card{background:#3848a8;background:linear-gradient(135deg,#3848a8,#5f3a82)}}.feature-discovery{padding:0 16px;max-width:800px;margin:32px auto 24px}.feature-discovery-title{font-size:1.25rem;font-weight:600;color:var(--md-sys-color-on-surface, #1c1b1f);margin:0 0 16px;text-align:center}.feature-card{background:var(--md-sys-color-surface, #ffffff);border:1px solid var(--md-sys-color-outline, #e0e0e0);border-radius:12px;overflow:hidden;transition:box-shadow .2s ease,transform .2s ease}.feature-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.feature-link{display:flex;align-items:center;gap:16px;padding:20px;text-decoration:none;color:inherit}.feature-link:focus-visible{outline:3px solid var(--md-sys-color-primary, #2563eb);outline-offset:2px}.feature-icon{font-size:2.5rem;flex-shrink:0}.feature-content{flex:1;min-width:0}.feature-title{font-size:1.125rem;font-weight:600;color:var(--md-sys-color-primary, #2563eb);margin:0 0 4px}.feature-description{font-size:.875rem;color:var(--md-sys-color-on-surface-variant, #49454f);margin:0;line-height:1.5}.feature-arrow{font-size:1.5rem;color:var(--md-sys-color-primary, #2563eb);flex-shrink:0;transition:transform .2s ease}.feature-link:hover .feature-arrow{transform:translate(4px)}@media(max-width:600px){.feature-discovery{margin:24px 0 16px}.feature-icon{font-size:2rem}.feature-title{font-size:1rem}.feature-description{font-size:.8125rem}.feature-arrow{font-size:1.25rem}}.converter-fallback-link{display:inline-block;margin-top:16px;padding:12px 24px;background:#fff;color:#667eea;text-decoration:none;border-radius:8px;font-weight:600;border:2px solid #667eea;transition:all .2s ease;font-size:1rem}.converter-fallback-link:hover{background:#667eea;color:#fff;transform:translateY(-2px);box-shadow:0 4px 8px #667eea4d}.converter-fallback-link:focus{outline:3px solid rgba(255,255,255,.5);outline-offset:2px}.converter-fallback-link:active{transform:translateY(0)}.onboarding-description ul{text-align:left;margin:16px auto;padding-left:24px;max-width:500px;list-style-type:disc}.onboarding-description ul li{margin-bottom:8px;line-height:1.5}.onboarding-description strong{font-weight:700}.advanced-controls{margin:32px 0;border:1px solid #e0e0e0;border-radius:12px;background:var(--md-sys-color-surface, #ffffff);overflow:hidden}.advanced-controls-summary{padding:16px 20px;cursor:pointer;user-select:none;list-style:none;display:flex;align-items:center;gap:12px;background:#f9f9f9;transition:background-color .2s ease;font-weight:600;color:var(--md-sys-color-on-surface, #1c1b1f)}.advanced-controls-summary::-webkit-details-marker{display:none}.advanced-controls-summary:before{content:"▶";font-size:.875rem;transition:transform .2s ease;color:var(--md-sys-color-primary, #2563eb)}.advanced-controls[open] .advanced-controls-summary:before{transform:rotate(90deg)}.advanced-controls-summary:hover{background:#f0f0f0}.advanced-controls-summary:focus-visible{outline:3px solid var(--md-sys-color-primary, #2563eb);outline-offset:-3px}.summary-icon{font-size:1.25rem}.summary-text{flex:1}.advanced-controls-content{padding:24px;border-top:1px solid #e0e0e0;animation:slideDown .3s ease-out}.advanced-control-group{margin:16px 0}.advanced-control-group label{display:block;font-weight:600;margin-bottom:8px;color:var(--md-sys-color-on-surface, #1c1b1f)}.speech-input-textarea{width:100%;min-height:60px;margin:var(--spacing-sm) 0;padding:var(--spacing-sm);border-radius:var(--radius-sm);border:1px solid var(--color-border, #ccc);font-family:inherit;font-size:var(--font-size-base);resize:vertical}.navigation-log{width:100%;min-height:96px;margin:var(--spacing-sm) 0;padding:var(--spacing-sm);border-radius:var(--radius-sm);border:1px solid var(--color-border, #ccc);background:var(--color-surface-variant, #f5f5f5);display:block;overflow-y:auto;font-family:Courier New,monospace;white-space:pre-wrap;font-size:var(--font-size-sm)}#tracking-controls{margin-bottom:16px}@media(max-width:600px){.advanced-controls-summary{padding:12px 16px}.advanced-controls-content{padding:16px}.summary-icon{font-size:1rem}}@media print{.advanced-controls{display:none}}.geolocation-banner{position:fixed;bottom:0;left:0;right:0;background:var(--md-sys-color-surface-variant, #f9f9f9);padding:16px;box-shadow:0 -2px 8px #00000026;z-index:1000;display:flex;align-items:center;gap:16px;animation:slide-up .3s ease-out}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.geolocation-banner.hidden{display:none}.geolocation-banner-content{flex:1}.geolocation-banner-title{font-weight:500;font-size:16px;margin:0 0 4px;color:var(--md-sys-color-on-surface, #1c1b1f)}.geolocation-banner-message{font-size:14px;margin:0;color:var(--md-sys-color-on-surface-variant, #49454f)}.geolocation-banner-actions{display:flex;gap:8px;flex-shrink:0}.geolocation-banner button{padding:8px 16px;min-width:auto;min-height:40px;font-size:14px}.geolocation-banner .btn-primary{background:var(--md-sys-color-primary, #1976d2);color:var(--md-sys-color-on-primary, #ffffff)}.geolocation-banner .btn-secondary{background:transparent;color:var(--md-sys-color-primary, #1976d2);border:1px solid var(--md-sys-color-primary, #1976d2)}@media(max-width:600px){.geolocation-banner{flex-direction:column;align-items:stretch;gap:12px}.geolocation-banner-actions{width:100%}.geolocation-banner button{flex:1}}.geolocation-status{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;border-radius:16px;font-size:12px;font-weight:500}.geolocation-status.granted{background:#e8f5e9;color:#2e7d32}.geolocation-status.denied{background:#ffebee;color:#c62828}.geolocation-status.prompt{background:#fff3e0;color:#ef6c00}.geolocation-status-icon{font-size:14px}.app-version{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;margin:12px auto;background:var(--md-sys-color-surface-variant, #e7e0ec);border:1px solid var(--md-sys-color-outline-variant, #cac4d0);border-radius:16px;font-family:Consolas,Monaco,Courier New,monospace;font-size:12px;font-weight:500;color:var(--md-sys-color-on-surface-variant, #49454f);text-align:center;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);user-select:none}.app-version:hover{background:var(--md-sys-color-secondary-container, #e8def8);border-color:var(--md-sys-color-outline, #79747e);box-shadow:0 1px 3px #0000001f;transform:translateY(-1px)}.app-version:focus{outline:2px solid var(--md-sys-color-primary, #6750a4);outline-offset:2px}.app-version:active{transform:translateY(0);box-shadow:0 1px 2px #00000014}.app-version:before{content:"ℹ️";font-size:14px;line-height:1}.version-modal-overlay{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease-out}.version-modal-overlay.visible{display:flex}.version-modal{background:var(--md-sys-color-surface, #fff);border-radius:16px;padding:24px;max-width:480px;width:90%;box-shadow:0 8px 24px #00000026;animation:slideUp .3s cubic-bezier(.4,0,.2,1)}.version-modal-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--md-sys-color-outline-variant, #cac4d0)}.version-modal-header h3{margin:0;font-size:20px;font-weight:600;color:var(--md-sys-color-on-surface, #1d1b20)}.version-modal-icon{font-size:24px}.version-modal-body{margin:16px 0}.version-info-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--md-sys-color-surface-variant, #e7e0ec)}.version-info-row:last-child{border-bottom:none}.version-info-label{font-weight:500;color:var(--md-sys-color-on-surface-variant, #49454f);font-size:14px}.version-info-value{font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;font-weight:600;color:var(--md-sys-color-on-surface, #1d1b20)}.version-changelog-link{display:inline-flex;align-items:center;gap:6px;color:var(--md-sys-color-primary, #6750a4);text-decoration:none;font-size:14px;font-weight:500;margin-top:12px;padding:8px 12px;border-radius:8px;transition:background .2s}.version-changelog-link:hover{background:var(--md-sys-color-primary-container, #eaddff)}.version-changelog-link:after{content:"→";font-size:16px}.version-modal-close{display:block;margin:20px auto 0;padding:10px 24px;background:var(--md-sys-color-primary, #6750a4);color:var(--md-sys-color-on-primary, #fff);border:none;border-radius:20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.version-modal-close:hover{background:var(--md-sys-color-primary-hover, #7965af);box-shadow:0 2px 8px #6750a44d}.version-modal-close:focus{outline:2px solid var(--md-sys-color-primary, #6750a4);outline-offset:2px}@media(max-width:600px){.app-version{font-size:11px;padding:5px 10px;gap:4px}.app-version:before{font-size:12px}.version-modal{padding:20px;max-width:95%}.version-modal-header h3{font-size:18px}.version-info-row{flex-direction:column;align-items:flex-start;gap:4px}.version-info-value{font-size:13px}}@media print{.app-version,.version-modal-overlay{display:none!important}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.app-version,.version-modal,.version-modal-overlay{animation:none;transition:none}.app-version:hover{transform:none}}.lbs-provider-indicator{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:8px;padding:4px 12px;font-size:11px;color:#6b7280;background:transparent;border-top:1px solid rgba(0,0,0,.06)}.lbs-provider-icon{font-size:12px}.lbs-provider-name{font-family:monospace;letter-spacing:.02em}.lbs-provider-indicator[data-provider=aws] .lbs-provider-name{color:#f59e0b}.lbs-provider-indicator[data-provider=nominatim] .lbs-provider-name{color:#10b981}@media(prefers-color-scheme:dark){.lbs-provider-indicator{color:#9ca3af;border-top-color:#ffffff14}}.version-info-user-agent{font-size:11px;word-break:break-word}.maps-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;padding:12px;background:var(--md-sys-color-surface-variant, #f5f5f5);border-radius:12px;border:1px solid var(--md-sys-color-outline-variant, #e0e0e0)}.maps-action-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border:none;border-radius:20px;font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);user-select:none;text-decoration:none;line-height:1;white-space:nowrap}.maps-action-primary{background:var(--md-sys-color-primary, #6750a4);color:var(--md-sys-color-on-primary, #fff);box-shadow:0 1px 3px #6750a433}.maps-action-primary:hover{background:var(--md-sys-color-primary-hover, #7965af);box-shadow:0 2px 6px #6750a44d;transform:translateY(-1px)}.maps-action-primary:active{transform:translateY(0);box-shadow:0 1px 2px #6750a433}.maps-action-primary:focus{outline:2px solid var(--md-sys-color-primary, #6750a4);outline-offset:2px}.maps-action-secondary{background:var(--md-sys-color-surface, #fff);color:var(--md-sys-color-primary, #6750a4);border:1px solid var(--md-sys-color-outline, #79747e)}.maps-action-secondary:hover{background:var(--md-sys-color-secondary-container, #e8def8);border-color:var(--md-sys-color-primary, #6750a4);transform:translateY(-1px);box-shadow:0 1px 3px #0000001a}.maps-action-secondary:active{transform:translateY(0);box-shadow:none}.maps-action-secondary:focus{outline:2px solid var(--md-sys-color-primary, #6750a4);outline-offset:2px}.maps-action-btn .btn-icon{font-size:18px;line-height:1}.maps-action-btn .btn-text{font-size:var(--md-sys-typescale-body-medium);font-weight:500}.maps-actions-placeholder{margin:0;padding:8px 0;color:var(--md-sys-color-on-surface-variant, #49454f);font-size:var(--md-sys-typescale-body-medium);font-style:italic}@media(max-width:768px){.maps-actions{padding:10px;gap:6px}.maps-action-btn{padding:8px 14px}.maps-action-btn .btn-icon{font-size:16px}}@media(max-width:480px){.maps-actions{flex-direction:column}.maps-action-btn{width:100%;justify-content:center}.maps-action-primary{padding:12px 16px}}@media(min-width:481px)and (max-width:768px){.maps-actions{display:grid;grid-template-columns:1fr 1fr}.maps-action-primary{grid-column:1 / -1}}@media(min-width:769px){.maps-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.maps-action-btn{justify-content:center}}.maps-actions.loading{opacity:.6;pointer-events:none}.maps-actions.loading .maps-action-btn{cursor:wait}.maps-action-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}@media(prefers-contrast:high){.maps-action-btn{border-width:2px}.maps-action-primary{border:2px solid transparent}.maps-action-secondary{border-width:2px}}@media(prefers-reduced-motion:reduce){.maps-action-btn{transition:none}.maps-action-btn:hover,.maps-action-btn:active{transform:none}}@media print{.maps-actions{display:none!important}}@media(prefers-color-scheme:dark){.maps-actions{background:#ffffff0d;border-color:#ffffff1a}.maps-action-secondary{background:#ffffff14;border-color:#fff3}.maps-action-secondary:hover{background:#ffffff1f}}.maps-action-btn:focus-visible{outline:3px solid var(--md-sys-color-primary, #6750a4);outline-offset:3px}@media(hover:none)and (pointer:coarse){.maps-action-btn:active{transform:scale(.98);transition:transform .1s ease-out}}.ibge-data-formatted{padding:12px;background:var(--md-sys-color-surface-variant, #f9fafb);border-radius:12px;border:1px solid var(--md-sys-color-outline-variant, #e5e7eb)}.ibge-primary{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:var(--md-sys-typescale-body-large);font-weight:var(--md-sys-typescale-body-large-weight);line-height:var(--md-sys-typescale-body-large-line-height);color:var(--md-sys-color-on-surface, #1d1b20)}.ibge-icon{font-size:var(--md-sys-typescale-headline-small);line-height:1}.ibge-primary-text{font-weight:400}.ibge-primary-text strong{font-weight:600;color:var(--md-sys-color-primary, #6750a4)}.ibge-classification{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#eee7f9;background:linear-gradient(135deg,#e8def8,#f5f0fa);border-radius:20px;border:1px solid var(--md-sys-color-outline, #79747e);margin-bottom:12px}.classification-icon{font-size:20px;line-height:1}.classification-label{font-weight:600;font-size:var(--md-sys-typescale-title-small);color:var(--md-sys-color-primary, #6750a4);text-shadow:0 1px 2px rgba(255,255,255,.5)}.classification-description{font-size:var(--md-sys-typescale-body-small);font-weight:var(--md-sys-typescale-body-small-weight);line-height:var(--md-sys-typescale-body-small-line-height);color:var(--md-sys-color-on-surface-variant, #49454f);font-style:italic}.ibge-details{margin-top:12px}.ibge-summary{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--md-sys-color-surface, #fff);border-radius:8px;cursor:pointer;font-size:var(--md-sys-typescale-label-large);font-weight:var(--md-sys-typescale-label-large-weight);line-height:var(--md-sys-typescale-label-large-line-height);letter-spacing:var(--md-sys-typescale-label-large-tracking);color:var(--md-sys-color-primary, #6750a4);transition:background .2s;user-select:none}.ibge-summary:hover{background:var(--md-sys-color-secondary-container, #e8def8)}.ibge-summary:focus{outline:2px solid var(--md-sys-color-primary, #6750a4);outline-offset:2px}.summary-icon{font-size:16px;line-height:1}.summary-text{font-size:var(--md-sys-typescale-body-medium)}.ibge-details-content{padding:12px;margin-top:8px;background:var(--md-sys-color-surface, #fff);border-radius:8px;border:1px solid var(--md-sys-color-outline-variant, #e5e7eb)}.ibge-detail-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--md-sys-color-surface-variant, #f5f5f5)}.ibge-detail-row:last-child{border-bottom:none;padding-bottom:0}.detail-label{font-size:var(--md-sys-typescale-body-small);font-weight:var(--md-sys-typescale-body-small-weight);line-height:var(--md-sys-typescale-body-small-line-height);color:var(--md-sys-color-on-surface-variant, #49454f)}.detail-value{font-weight:600;font-size:var(--md-sys-typescale-body-medium);line-height:var(--md-sys-typescale-body-medium-line-height);color:var(--md-sys-color-on-surface, #1d1b20);text-align:right}.ibge-source{margin-top:12px;padding-top:12px;border-top:1px solid var(--md-sys-color-outline-variant, #e5e7eb);font-size:var(--md-sys-typescale-label-small);font-weight:var(--md-sys-typescale-label-small-weight);line-height:var(--md-sys-typescale-label-small-line-height);letter-spacing:var(--md-sys-typescale-label-small-tracking);color:var(--md-sys-color-on-surface-variant, #49454f);text-align:center}.ibge-source a{color:var(--md-sys-color-primary, #6750a4);text-decoration:none;font-weight:500}.ibge-source a:hover{text-decoration:underline}.ibge-loading,.ibge-no-data,.ibge-unavailable,.ibge-error{display:flex;align-items:center;gap:8px;padding:12px;font-size:var(--md-sys-typescale-body-medium);font-weight:var(--md-sys-typescale-body-medium-weight);line-height:var(--md-sys-typescale-body-medium-line-height);border-radius:8px}.ibge-loading{background:var(--md-sys-color-primary-container, #eaddff);color:var(--md-sys-color-on-primary-container, #21005e)}.ibge-no-data,.ibge-unavailable{background:var(--md-sys-color-tertiary-container, #ffd8e4);color:var(--md-sys-color-on-tertiary-container, #31111d)}.ibge-error{background:var(--md-sys-color-error-container, #ffdad6);color:var(--md-sys-color-on-error-container, #410002)}.ibge-loading .icon,.ibge-no-data .icon,.ibge-unavailable .icon,.ibge-error .icon{font-size:20px;line-height:1}@media(max-width:768px){.ibge-data-formatted{padding:10px}.ibge-primary{gap:8px}.ibge-icon{font-size:20px}.ibge-classification{padding:6px 12px;gap:6px}.classification-icon{font-size:18px}.ibge-detail-row{flex-direction:column;align-items:flex-start;gap:4px}.detail-value{text-align:left}}@media(max-width:480px){.ibge-classification{flex-direction:column;align-items:flex-start;gap:4px}}@media print{.ibge-data-formatted{background:none;border:1px solid #ccc}.ibge-details{display:block!important}.ibge-summary{display:none}.ibge-details-content{padding:0;border:none}}@media(prefers-color-scheme:dark){.ibge-data-formatted{background:#ffffff0d;border-color:#ffffff1a}.ibge-classification{background:linear-gradient(135deg,#e8def81a,#f5f0fa0d);border-color:#fff3}.ibge-summary,.ibge-details-content{background:#ffffff14;border-color:#ffffff1a}.ibge-summary:hover{background:#ffffff1f}}@media(prefers-reduced-motion:reduce){.ibge-summary{transition:none}}@media(prefers-contrast:high){.ibge-data-formatted,.ibge-classification,.ibge-details-content{border-width:2px}.detail-label,.detail-value{font-weight:700}}.ibge-summary:focus-visible{outline:3px solid var(--md-sys-color-primary, #6750a4);outline-offset:3px}.ibge-details[open] .ibge-details-content{animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.ibge-details[open] .ibge-details-content{animation:none}}.tooltip{position:relative;display:inline-block}.tooltip-content{visibility:hidden;opacity:0;position:absolute;bottom:125%;left:50%;transform:translate(-50%);background:#000000e6;color:#fff;text-align:center;padding:8px 12px;border-radius:6px;font-size:12px;white-space:nowrap;z-index:10000;transition:opacity .3s,visibility .3s;pointer-events:none}.tooltip-content:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:rgba(0,0,0,.9) transparent transparent transparent}.tooltip:hover .tooltip-content,.tooltip:focus .tooltip-content{visibility:visible;opacity:1}.tooltip-content.tooltip-top{bottom:125%;top:auto}.tooltip-content.tooltip-bottom{top:125%;bottom:auto}.tooltip-content.tooltip-bottom:after{top:auto;bottom:100%;border-color:transparent transparent rgba(0,0,0,.9) transparent}.tooltip-content.tooltip-left{left:auto;right:125%;top:50%;transform:translateY(-50%)}.tooltip-content.tooltip-left:after{left:100%;top:50%;margin-top:-5px;margin-left:0;border-color:transparent transparent transparent rgba(0,0,0,.9)}.tooltip-content.tooltip-right{left:125%;right:auto;top:50%;transform:translateY(-50%)}.tooltip-content.tooltip-right:after{right:100%;left:auto;top:50%;margin-top:-5px;margin-left:0;border-color:transparent rgba(0,0,0,.9) transparent transparent}[data-tooltip]:focus:after{content:attr(data-tooltip);position:absolute;bottom:125%;left:50%;transform:translate(-50%);background:#000000e6;color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;white-space:nowrap;z-index:10000}@media(hover:none)and (pointer:coarse){.tooltip-content{display:none}.tooltip[data-tooltip]:active:after{content:attr(data-tooltip);display:block}}.noscript-banner{background:#fff3cd;border:2px solid #ffc107;border-radius:8px;padding:24px;margin:20px;text-align:center}.noscript-banner h2{color:#856404;margin-top:0;font-size:24px}.noscript-banner p{color:#856404;font-size:16px;margin:12px 0}.noscript-instructions{max-width:800px;margin:20px auto;padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.noscript-instructions h3{color:#1976d2;border-bottom:2px solid #1976d2;padding-bottom:8px;margin-top:0}.browser-help{margin:24px 0;padding:16px;background:#f9f9f9;border-left:4px solid #1976d2;border-radius:4px}.browser-help h4{color:#1565c0;margin-top:0;font-size:18px}.browser-help ol{margin:12px 0;padding-left:24px}.browser-help li{margin:8px 0;line-height:1.6}.browser-help code{background:#e0e0e0;padding:2px 6px;border-radius:3px;font-family:Consolas,Monaco,Courier New,monospace;font-size:14px}.browser-help strong{color:#1976d2;font-weight:600}.noscript-alternatives{max-width:800px;margin:20px auto;padding:20px;background:#e3f2fd;border-radius:8px;border:1px solid #90caf9}.noscript-alternatives h4{color:#1565c0;margin-top:0}.noscript-alternatives ul{list-style:none;padding:0}.noscript-alternatives li{margin:16px 0;padding:12px;background:#fff;border-radius:4px;box-shadow:0 1px 3px #0000001a}.noscript-alternatives strong{color:#1976d2;font-size:16px;display:block;margin-bottom:4px}.noscript-alternatives a{color:#1565c0;text-decoration:none;font-weight:500}.noscript-alternatives a:hover{text-decoration:underline}@media(max-width:600px){.noscript-banner,.noscript-instructions,.noscript-alternatives{margin:12px;padding:16px}.noscript-banner h2{font-size:20px}.browser-help{padding:12px}}.fade-enter{opacity:0}.fade-enter-active{opacity:1;transition:opacity .3s ease-in}.fade-exit{opacity:1}.fade-exit-active{opacity:0;transition:opacity .3s ease-out}.slide-enter{transform:translate(100%)}.slide-enter-active{transform:translate(0);transition:transform .3s ease-out}.slide-exit{transform:translate(0)}.slide-exit-active{transform:translate(-100%);transition:transform .3s ease-in}.scale-enter{transform:scale(.9);opacity:0}.scale-enter-active{transform:scale(1);opacity:1;transition:transform .3s ease-out,opacity .3s ease-out}.scale-exit{transform:scale(1);opacity:1}.scale-exit-active{transform:scale(.9);opacity:0;transition:transform .3s ease-in,opacity .3s ease-in}.toast-container{position:fixed;top:80px;right:16px;z-index:10000;display:flex;flex-direction:column;gap:8px;max-width:400px}.toast{background:#000000e6;color:#fff;padding:12px 16px;border-radius:8px;box-shadow:0 4px 12px #0000004d;animation:toast-slide-in .3s ease-out;display:flex;align-items:center;gap:12px}@keyframes toast-slide-in{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.toast.toast-exit{animation:toast-slide-out .3s ease-in forwards}@keyframes toast-slide-out{0%{transform:translate(0);opacity:1}to{transform:translate(400px);opacity:0}}.toast.success{background:#2e7d32}.toast.error{background:#c62828}.toast.warning{background:#ef6c00}.toast.info{background:#1565c0}.shimmer{background:linear-gradient(90deg,#f0f0f0,#e0e0e0 20%,#f0f0f0 40% 100%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.bounce{animation:bounce 1s ease-in-out infinite}.error-panel{position:fixed;top:0;right:-500px;width:500px;height:100vh;background:#1e1e1e;color:#fff;box-shadow:-4px 0 20px #00000080;z-index:10001;display:flex;flex-direction:column;transition:right .3s ease-out}.error-panel-visible{right:0}.error-panel-header{background:#c62828;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #b71c1c}.error-panel-header h2{margin:0;font-size:18px;font-weight:600}.error-panel-actions{display:flex;gap:8px}.error-panel-clear,.error-panel-close{background:#fff3;border:none;color:#fff;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:14px;transition:background .2s}.error-panel-clear:hover,.error-panel-close:hover{background:#ffffff4d}.error-panel-content{flex:1;overflow-y:auto;padding:16px}.error-panel-footer{background:#252525;padding:12px 20px;border-top:1px solid #333;text-align:center}.error-panel-footer small{color:#b3b3b3;font-size:12px}.error-panel-footer kbd{background:#3a3a3a;color:#fff;padding:2px 6px;border-radius:3px;font-family:monospace;font-size:11px;border:1px solid #555}.error-panel-empty{text-align:center;color:#b3b3b3;padding:40px 20px;font-style:italic}.error-item{background:#2d2d2d;border-left:4px solid #c62828;padding:12px;margin-bottom:12px;border-radius:4px}.error-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.error-item-type{background:#c62828;color:#fff;padding:2px 8px;border-radius:3px;font-size:12px;font-weight:600}.error-item-time{color:#b3b3b3;font-size:12px}.error-item-message{color:#ff5252;font-weight:500;margin-bottom:8px;word-break:break-word}.error-item-location{color:#aaa;font-size:12px;font-family:monospace;margin-bottom:8px}.error-item-stack{margin-top:8px}.error-item-stack summary{cursor:pointer;color:#64b5f6;font-size:13px;padding:4px 0}.error-item-stack summary:hover{color:#90caf9}.error-item-stack pre{background:#1a1a1a;color:#ccc;padding:12px;border-radius:4px;font-size:11px;line-height:1.5;overflow-x:auto;margin:8px 0 0;white-space:pre-wrap;word-break:break-all}.toast-details-btn{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:4px 10px;border-radius:4px;cursor:pointer;font-size:12px;margin-top:6px;transition:background .2s}.toast-details-btn:hover{background:#ffffff4d}.error-fab{position:fixed;bottom:20px;right:20px;width:56px;height:56px;border-radius:50%;background:#c62828;color:#fff;border:none;font-size:24px;cursor:pointer;box-shadow:0 4px 8px #0000004d,0 2px 4px #0003;z-index:9999;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.error-fab:hover{background:#b71c1c;box-shadow:0 6px 12px #0006,0 3px 6px #0000004d;transform:scale(1.05)}.error-fab:active{transform:scale(.95)}.error-fab-badge{position:absolute;top:-4px;right:-4px;background:#ff5252;color:#fff;border-radius:12px;min-width:24px;height:24px;padding:0 6px;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid #ffffff;box-shadow:0 2px 4px #0000004d}@media(min-width:768px)and (pointer:fine){.error-fab{display:none}}@media(max-width:600px){.toast-container{right:8px;left:8px;top:60px;max-width:none}.toast{padding:10px 12px;font-size:14px}.error-panel{width:100%;right:-100%}.error-panel-visible{right:0}}.location-highlights{display:flex;flex-wrap:wrap;gap:24px;margin:32px 0;justify-content:center}.highlight-card{background:#dce1fb;background:linear-gradient(135deg,var(--md-sys-color-primary-container, #d1e4ff) 0%,var(--md-sys-color-secondary-container, #e8def8) 100%);border-radius:20px;padding:32px 24px;min-width:280px;flex:1;max-width:400px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f,0 0 0 1px #0000000d;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.highlight-card.empty{border:2px dashed #e0e0e0;background:#f9f9f9;box-shadow:none;opacity:.7}.highlight-card.skeleton-loading{background:linear-gradient(90deg,#f0f0f0,#f8f8f8,#f0f0f0)!important;background-size:200% 100%!important;animation:skeleton-shimmer 1.5s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.highlight-card.loaded{transform:scale(1)}.highlight-card.loaded:not(.empty){box-shadow:0 6px 8px -1px #667eea26,0 4px 6px -1px #667eea1a}.highlight-card-label{font-size:var(--md-sys-typescale-title-medium);font-weight:600;color:var(--md-sys-color-on-surface, #1c1b1f);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:16px;opacity:.85;text-shadow:0 1px 2px rgba(255,255,255,.5)}.highlight-card-value{font-size:var(--md-sys-typescale-display-medium);font-weight:700;color:var(--md-sys-color-primary, #1976d2);line-height:1.2;word-wrap:break-word;min-height:60px;display:flex;align-items:center;justify-content:center;text-shadow:0 1px 3px rgba(255,255,255,.6)}.metropolitan-region-value{font-size:var(--md-sys-typescale-body-medium);font-weight:500;color:#4a4952;text-shadow:0 0 2px rgba(255,255,255,.8);margin-top:8px;margin-bottom:12px;line-height:1.4;word-wrap:break-word;text-align:center;min-height:0}.secondary-actions{margin-top:48px;padding-top:24px;border-top:1px solid rgba(0,0,0,.08)}.secondary-actions .button-container{margin:16px 0;opacity:.85;transition:opacity .2s ease}.secondary-actions .button-container:hover{opacity:1}.secondary-actions .md3-button-outlined{font-size:var(--md-sys-typescale-body-medium);padding:10px 20px;min-height:40px}.secondary-actions .button-status{font-size:var(--md-sys-typescale-body-small);color:#595959}@media(max-width:640px){.location-highlights{flex-direction:column;gap:16px}.highlight-card{min-width:100%;padding:24px 20px}.highlight-card-value{font-size:2rem}}@media(min-width:900px){.highlight-card-value{font-size:3rem}.highlight-card{padding:40px 32px}}.highlight-card-empty-icon{font-size:3rem;opacity:.3;margin-bottom:8px}.highlight-card-empty-text{font-size:.875rem;color:#595959;font-style:italic}.skeleton-card-label{height:20px;width:120px;margin:0 auto 16px;background:#0000001a;border-radius:4px}.skeleton-card-value{height:48px;width:200px;margin:0 auto;background:#00000014;border-radius:8px}.error-boundary-fallback{padding:2rem;margin:2rem auto;max-width:600px;background:var(--md-sys-color-error-container, #fef2f2);border:2px solid var(--md-sys-color-error, #dc2626);border-radius:12px;text-align:center}.error-boundary-fallback .error-icon{font-size:4rem;margin-bottom:1rem;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-10px)}20%,40%,60%,80%{transform:translate(10px)}}.error-boundary-fallback h2{color:var(--md-sys-color-error, #dc2626);margin-bottom:1rem;font-size:1.5rem}.error-boundary-fallback p{color:var(--md-sys-color-on-error-container, #7f1d1d);margin-bottom:1.5rem;line-height:1.6}.error-boundary-fallback details{text-align:left;background:var(--md-sys-color-surface, white);border:1px solid var(--md-sys-color-outline, #e5e7eb);border-radius:8px;padding:1rem;margin:1rem 0}.error-boundary-fallback summary{cursor:pointer;font-weight:600;color:var(--md-sys-color-error, #dc2626);user-select:none}.error-boundary-fallback summary:hover{text-decoration:underline}.error-boundary-fallback pre{margin-top:.5rem;padding:1rem;background:var(--md-sys-color-surface-variant, #f9fafb);border-radius:4px;overflow-x:auto;font-size:.875rem;line-height:1.5;color:var(--md-sys-color-on-surface-variant, #374151)}.error-boundary-fallback .error-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:1.5rem}.route-error,.component-error,.fetch-error{padding:2rem;margin:1rem auto;max-width:700px;background:var(--md-sys-color-error-container, #fef2f2);border-left:4px solid var(--md-sys-color-error, #dc2626);border-radius:8px}.route-error h2,.component-error h2,.fetch-error h2{color:var(--md-sys-color-error, #dc2626);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.route-error h2:before,.component-error h2:before,.fetch-error h2:before{content:"⚠️";font-size:1.5rem}.error-toast{position:fixed;bottom:2rem;right:2rem;background:var(--md-sys-color-error, #dc2626);color:var(--md-sys-color-on-error, white);padding:1rem 1.5rem;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;gap:1rem;max-width:400px;animation:slideIn .3s ease-out;z-index:9999}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.error-toast.dismissing{animation:slideOut .3s ease-out forwards}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.error-toast-icon{font-size:1.5rem;flex-shrink:0}.error-toast-content{flex:1}.error-toast-title{font-weight:600;margin-bottom:.25rem}.error-toast-message{font-size:.875rem;opacity:.9}.error-toast-close{background:none;border:none;color:inherit;font-size:1.5rem;cursor:pointer;padding:.25rem;opacity:.7;transition:opacity .2s}.error-toast-close:hover{opacity:1}.error-boundary-fallback:focus-within,.route-error:focus-within,.component-error:focus-within{outline:2px solid var(--md-sys-color-primary, #2563eb);outline-offset:2px}@media(prefers-color-scheme:dark){.error-boundary-fallback{background:#dc26261a;border-color:#dc2626}.error-boundary-fallback p{color:#fca5a5}.error-boundary-fallback details{background:#ffffff0d;border-color:#ffffff1a}.error-boundary-fallback pre{background:#ffffff0d;color:#e5e7eb}.route-error,.component-error,.fetch-error{background:#dc26261a}}@media(max-width:640px){.error-boundary-fallback,.route-error,.component-error,.fetch-error{margin:1rem;padding:1.5rem}.error-toast{right:1rem;left:1rem;bottom:1rem;max-width:none}.error-boundary-fallback .error-actions{flex-direction:column}.error-boundary-fallback .error-actions button{width:100%}}@media(prefers-reduced-motion:reduce){.error-boundary-fallback .error-icon,.error-toast{animation:none}.error-toast.dismissing{animation:none;opacity:0}}#map-section{margin-top:.75rem}#map-toggle-btn{width:100%;justify-content:center}.maplibre-map-container{width:100%;height:300px;margin-top:.5rem;border-radius:.5rem;overflow:hidden;border:1px solid var(--color-border, #e2e8f0)}.maplibre-map-container .maplibregl-map{width:100%;height:100%}
