:root{--dc-bg: #FFFFFF;--dc-surface: #FAFBFB;--dc-text-primary: #1E555C;--dc-text-strong: #164349;--dc-text-secondary: #5A7F87;--dc-text-tertiary: #9DB5B2;--dc-divider: #E8ECEB;--dc-accent: #E09F3E;--dc-accent-hover: #D18F30;--dc-cta: #E09F3E;--dc-cta-hover: #D18F30;--dc-on-cta: #FFFFFF;--dc-input-bg: #F5F7F7;--dc-map-base: #1E555C;--dc-map-accent: #9DB5B2;--primary-color: var(--color-primary);--primary-hover: var(--color-primary-600);--primary-active: var(--color-primary-700);--primary-light: var(--color-primary-50);--primary-dark: var(--color-primary-700);--primary: var(--color-primary);--secondary: var(--color-secondary);--info: var(--color-info);--text-primary: var(--color-text-primary);--text-secondary: var(--color-text-secondary);--text-tertiary: var(--color-text-tertiary);--border-color: var(--color-border);--background: var(--color-background);--background-secondary: var(--color-background-secondary);--surface-primary: var(--color-surface);--surface-secondary: var(--color-background-secondary);--surface-tertiary: var(--color-background-tertiary);--card-background: var(--color-surface);--primary-50: var(--color-primary-50);--primary-100: var(--color-primary-100);--primary-200: var(--color-primary-200);--primary-300: var(--color-primary-300);--primary-400: var(--color-primary-400);--primary-500: var(--color-primary-500);--primary-600: var(--color-primary-600);--primary-700: var(--color-primary-700);--primary-800: var(--color-primary-800);--primary-900: var(--color-primary-900);--secondary-50: var(--color-secondary-50);--secondary-100: var(--color-secondary-100);--secondary-200: var(--color-secondary-200);--secondary-300: var(--color-secondary-300);--secondary-400: var(--color-secondary-400);--secondary-500: var(--color-secondary-500);--secondary-600: var(--color-secondary-600);--secondary-700: var(--color-secondary-700);--secondary-800: var(--color-secondary-800);--secondary-900: var(--color-secondary-900);--accent-50: var(--color-accent-50);--accent-100: var(--color-accent-100);--accent-200: var(--color-accent-200);--accent-300: var(--color-accent-300);--accent-400: var(--color-accent-400);--accent-500: var(--color-accent-500);--accent-600: var(--color-accent-600);--accent-700: var(--color-accent-700);--accent-800: var(--color-accent-800);--accent-900: var(--color-accent-900);--gray-50: var(--color-gray-50);--gray-100: var(--color-gray-100);--gray-200: var(--color-gray-200);--gray-300: var(--color-gray-300);--gray-400: var(--color-gray-400);--gray-500: var(--color-gray-500);--gray-600: var(--color-gray-600);--gray-700: var(--color-gray-700);--gray-800: var(--color-gray-800);--gray-900: var(--color-gray-900);--color-primary: #1E555C;--color-primary-rgb: 30, 85, 92;--color-primary-50: #F1F5F6;--color-primary-100: #E3EBED;--color-primary-200: #C5D6D9;--color-primary-300: #9AB8BE;--color-primary-400: #5E8A94;--color-primary-500: #1E555C;--color-primary-600: #164349;--color-primary-hover: #164349;--color-primary-700: #103236;--color-primary-800: #0A2024;--color-primary-900: #051012;--color-secondary: #9DB5B2;--color-secondary-rgb: 157, 181, 178;--color-secondary-50: #F8FAFA;--color-secondary-100: #EFF3F3;--color-secondary-200: #DFE7E6;--color-secondary-300: #C5D6D4;--color-secondary-400: #9DB5B2;--color-secondary-500: #7B9C99;--color-secondary-600: #5E7D7A;--color-secondary-700: #475E5C;--color-secondary-800: #2F3F3E;--color-secondary-900: #1A2221;--color-accent: #E09F3E;--color-accent-rgb: 224, 159, 62;--color-accent-50: #FEF9F3;--color-accent-100: #FDF2E5;--color-accent-200: #FBE4CA;--color-accent-300: #F7CF9F;--color-accent-400: #EDB86A;--color-accent-500: #E09F3E;--color-accent-600: #D18F30;--color-accent-700: #B47726;--color-accent-800: #8A5A1D;--color-accent-900: #5D3D13;--color-success: #6EB496;--color-success-rgb: 110, 180, 150;--color-success-light: #F0F9F5;--color-success-dark: #487764;--color-warning: #E09F3E;--color-warning-rgb: 224, 159, 62;--color-warning-light: #FEF9F3;--color-warning-dark: #B47726;--color-error: #D14343;--color-error-rgb: 209, 67, 67;--color-error-light: #FCEEED;--color-error-dark: #9F2424;--color-info: #5A7F87;--color-info-rgb: 90, 127, 135;--color-info-light: #F1F5F6;--color-info-dark: #1E555C;--color-gray-50: #FAFBFB;--color-gray-100: #F5F7F7;--color-gray-200: #E8ECEB;--color-gray-300: #D1D8D7;--color-gray-400: #A8B5B3;--color-gray-500: #7B8C8A;--color-gray-600: #5A6B69;--color-gray-700: #3F4D4C;--color-gray-800: #2A3534;--color-gray-900: #1A2221;--color-background: #FFFFFF;--color-background-secondary: #FAFBFB;--color-background-tertiary: #F5F7F7;--color-surface: #FFFFFF;--color-surface-raised: #FFFFFF;--color-surface-overlay: rgba(255, 255, 255, .98);--color-surface-sage: #F8FAFA;--color-border: #E8ECEB;--color-border-light: #E8ECEB;--color-border-hover: #D1D8D7;--color-border-focus: var(--color-accent);--color-divider: #E8ECEB;--color-text-primary: #1E555C;--color-text-secondary: #5A7F87;--color-text-tertiary: #9DB5B2;--color-text-disabled: #C5D6D4;--color-text-inverse: #FFFFFF;--color-text-on-accent: #FFFFFF;--font-sans: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--font-display: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif: "Georgia", "Times New Roman", serif;--font-mono: "SF Mono", "Monaco", "Cascadia Code", "Consolas", monospace;--font-size-xs: clamp(.75rem, .7rem + .15vw, .8125rem);--font-size-sm: clamp(.875rem, .825rem + .2vw, .9375rem);--font-size-base: clamp(1rem, .95rem + .25vw, 1.0625rem);--font-size-md: clamp(1.125rem, 1.05rem + .3vw, 1.25rem);--font-size-lg: clamp(1.25rem, 1.15rem + .4vw, 1.5rem);--font-size-xl: clamp(1.5rem, 1.35rem + .6vw, 1.875rem);--font-size-2xl: clamp(1.875rem, 1.65rem + .9vw, 2.25rem);--font-size-3xl: clamp(2.25rem, 1.95rem + 1.2vw, 3rem);--font-size-4xl: clamp(3rem, 2.5rem + 2vw, 4rem);--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--letter-spacing-tighter: -.05em;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--letter-spacing-widest: .1em;--space-0: 0;--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;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--spacing-xs: var(--space-2);--spacing-sm: var(--space-3);--spacing-md: var(--space-4);--spacing-lg: var(--space-6);--spacing-xl: var(--space-8);--spacing-2xl: var(--space-12);--radius-none: 0;--radius-xs: .25rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-3xl: 2rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgba(30, 85, 92, .04);--shadow-sm: 0 1px 3px 0 rgba(30, 85, 92, .06), 0 1px 2px -1px rgba(30, 85, 92, .04);--shadow-md: 0 4px 6px -1px rgba(30, 85, 92, .08), 0 2px 4px -2px rgba(30, 85, 92, .06);--shadow-lg: 0 10px 15px -3px rgba(30, 85, 92, .1), 0 4px 6px -4px rgba(30, 85, 92, .08);--shadow-xl: 0 20px 25px -5px rgba(30, 85, 92, .12), 0 8px 10px -6px rgba(30, 85, 92, .1);--shadow-2xl: 0 25px 50px -12px rgba(30, 85, 92, .15);--shadow-inner: inset 0 2px 4px 0 rgba(30, 85, 92, .06);--shadow-focus: 0 0 0 3px rgba(224, 159, 62, .3);--shadow-focus-error: 0 0 0 3px rgba(209, 67, 67, .3);--duration-instant: 0ms;--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .35s;--duration-slower: .5s;--ease-linear: linear;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ease-spring: cubic-bezier(.16, 1, .3, 1);--transition-base: all var(--duration-normal) var(--ease-out);--transition-fast: all var(--duration-fast) var(--ease-out);--transition-slow: all var(--duration-slow) var(--ease-out);--z-base: 0;--z-dropdown: 1000;--z-sticky: 1100;--z-fixed: 1200;--z-modal-backdrop: 1300;--z-modal: 1400;--z-popover: 1500;--z-tooltip: 1600;--z-toast: 1700;--z-max: 9999;--button-height-sm: 36px;--button-height-md: 44px;--button-height-lg: 52px;--button-padding-x-sm: var(--space-4);--button-padding-x-md: var(--space-6);--button-padding-x-lg: var(--space-8);--button-radius: var(--radius-lg);--button-primary-bg: var(--color-accent);--button-primary-bg-hover: var(--color-accent-600);--button-primary-text: var(--color-text-on-accent);--button-secondary-bg: transparent;--button-secondary-bg-hover: var(--color-primary-50);--button-secondary-border: var(--color-primary);--button-secondary-text: var(--color-primary);--button-tertiary-bg: transparent;--button-tertiary-bg-hover: var(--color-secondary-50);--button-tertiary-text: var(--color-secondary-600);--input-height-sm: 36px;--input-height-md: 44px;--input-height-lg: 52px;--input-padding-x: var(--space-4);--input-border-width: 1px;--input-radius: var(--radius-md);--input-bg: var(--dc-input-bg);--input-border: var(--color-border);--input-border-focus: var(--color-primary);--card-padding: var(--space-6);--card-radius: var(--radius-xl);--card-shadow: var(--shadow-sm);--card-bg: var(--color-surface);--nav-height: 64px;--nav-bg: var(--color-primary);--nav-text: #FFFFFF;--sidebar-width: 280px;--backdrop-blur-sm: 4px;--backdrop-blur-md: 8px;--backdrop-blur-lg: 12px;--backdrop-blur-xl: 16px}.text-disabled{color:var(--color-text-disabled)}.text-on-accent{color:var(--color-text-on-accent)}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-secondary)}.bg-accent{background-color:var(--color-accent)}.bg-surface{background-color:var(--color-surface)}.bg-background{background-color:var(--color-background)}.border-primary{border-color:var(--color-primary)}.border-secondary{border-color:var(--color-secondary)}.border-default{border-color:var(--color-border)}.p-0{padding:var(--space-0)}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.rounded-none{border-radius:var(--radius-none)}.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-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-xs{box-shadow:var(--shadow-xs)}.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)}.shadow-2xl{box-shadow:var(--shadow-2xl)}.font-sans{font-family:var(--font-sans)}.font-serif{font-family:var(--font-serif)}.font-mono{font-family:var(--font-mono)}.font-light{font-weight:var(--font-weight-light)}.font-normal{font-weight:var(--font-weight-normal)}.transition-base{transition:var(--transition-base)}.transition-fast{transition:var(--transition-fast)}.transition-slow{transition:var(--transition-slow)}.ease-in{transition-timing-function:var(--ease-in)}.ease-out{transition-timing-function:var(--ease-out)}.ease-in-out{transition-timing-function:var(--ease-in-out)}.ease-spring{transition-timing-function:var(--ease-spring)}*:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{box-shadow:var(--shadow-focus)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--animation-fast: .15s;--animation-normal: .25s;--animation-slow: .35s;--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--distance-xs: 2px;--distance-sm: 4px;--distance-md: 8px;--distance-lg: 16px}@media(prefers-reduced-motion:reduce){:root{--animation-fast: 0ms;--animation-normal: 0ms;--animation-slow: 0ms}*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.animate-fade-in{animation:fadeIn var(--animation-normal) var(--ease-out) forwards}.animate-fade-out{animation:fadeOut var(--animation-normal) var(--ease-in) forwards}.animate-slide-in-down{animation:slideInDown var(--animation-normal) var(--ease-out) forwards}.animate-slide-in-up{animation:slideInUp var(--animation-normal) var(--ease-out) forwards}.animate-slide-in-left{animation:slideInLeft var(--animation-normal) var(--ease-out) forwards}.animate-slide-in-right{animation:slideInRight var(--animation-normal) var(--ease-out) forwards}.animate-scale-in{animation:scaleIn var(--animation-normal) var(--ease-bounce) forwards}.animate-pulse{animation:pulse 2s var(--ease-in-out) infinite}.animate-bounce{animation:bounce 1s var(--ease-bounce) infinite}.animate-spin{animation:spin 1.5s linear infinite}@keyframes slideInDown{0%{opacity:0;transform:translateY(calc(-1 * var(--distance-md)))}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(var(--distance-md))}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(var(--distance-md))}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(calc(-1 * var(--distance-md)))}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}to{transform:scale(1);opacity:1}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(var(--distance-sm))}}.interactive-element{transition:background-color var(--animation-fast) var(--ease-out),color var(--animation-fast) var(--ease-out),border-color var(--animation-fast) var(--ease-out),box-shadow var(--animation-fast) var(--ease-out),transform var(--animation-fast) var(--ease-out)}.interactive-element:hover{transform:translateY(calc(-1 * var(--distance-xs)))}.interactive-element:active{transform:translateY(0)}button.enhanced,.button.enhanced{position:relative;overflow:hidden}button.enhanced:after,.button.enhanced:after{content:"";position:absolute;top:50%;left:50%;width:5px;height:5px;background:#ffffff80;opacity:0;border-radius:100%;transform:scale(1) translate(-50%,-50%);transform-origin:50% 50%}button.enhanced:focus:not(:active):after,.button.enhanced:focus:not(:active):after{animation:ripple var(--animation-slow) var(--ease-out)}@keyframes ripple{0%{transform:scale(0);opacity:.5}to{transform:scale(30);opacity:0}}:focus-visible{outline:2px solid rgba(var(--color-primary-rgb),.5);outline-offset:2px}.transition-group-item{transition:all var(--animation-normal) var(--ease-out)}.transition-group-item-enter{opacity:0;transform:translateY(var(--distance-sm))}.transition-group-item-enter-active{opacity:1;transform:translateY(0)}.transition-group-item-exit{opacity:1}.transition-group-item-exit-active{opacity:0;transform:translateY(var(--distance-sm))}.loading-skeleton{animation:pulse 2s infinite ease-in-out;background:#e5e6e8b3}.interactive-card{transition:transform var(--animation-normal) var(--ease-out),box-shadow var(--animation-normal) var(--ease-out)}.interactive-card:hover{transform:translateY(calc(-1 * var(--distance-xs)));box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.page-transition-enter{opacity:0;transform:translateY(var(--distance-md))}.page-transition-enter-active{opacity:1;transform:translateY(0);transition:opacity var(--animation-normal) var(--ease-out),transform var(--animation-normal) var(--ease-out)}.page-transition-exit{opacity:1}.page-transition-exit-active{opacity:0;transition:opacity var(--animation-normal) var(--ease-in)}.toast-container{position:fixed;top:var(--spacing-6);right:var(--spacing-6);z-index:var(--z-toast, 9999);display:flex;flex-direction:column;gap:var(--spacing-3);max-width:400px;pointer-events:none}.toast{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-4) var(--spacing-5);background:var(--color-background, #ffffff);border:1px solid var(--color-border, var(--color-border));border-radius:var(--radius-lg, .75rem);box-shadow:var(--shadow-xl, 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04));min-width:320px;max-width:400px;pointer-events:auto;animation:toast-slide-in .3s ease-out}.toast-success{border-left:4px solid var(--success-500, #22C55E)}.toast-success .toast-icon{color:var(--success-500, #22C55E)}.toast-error{border-left:4px solid var(--error-500, #EF4444)}.toast-error .toast-icon{color:var(--error-500, #EF4444)}.toast-info{border-left:4px solid var(--primary-500, var(--color-primary-700))}.toast-info .toast-icon{color:var(--primary-500, #1E555C)}.toast-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center}.toast-message{flex:1;font-size:var(--font-size-sm, .875rem);line-height:1.5;color:var(--color-text-primary, #1E555C);font-weight:var(--font-weight-medium, 500)}.toast-dismiss{flex-shrink:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:var(--spacing-1);cursor:pointer;color:var(--color-text-secondary, #5A7F87);border-radius:var(--radius-sm, .375rem);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast, .15s ease)}.toast-dismiss:hover{background:var(--color-secondary-100, #E6ECEB);color:var(--color-text-primary, #1E555C)}.toast-dismiss:active{transform:scale(.95)}@keyframes toast-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toast-slide-out{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.toast.toast-exiting{animation:toast-slide-out .2s ease-in forwards}@media(max-width:767px){.toast-container{top:var(--spacing-4);right:var(--spacing-4);left:var(--spacing-4);max-width:none}.toast{min-width:auto;max-width:none;width:100%}}@media(prefers-reduced-motion:reduce){.toast{animation:none}.toast.toast-exiting{animation:none;opacity:0}}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:1.5;text-align:center;text-decoration:none;border-radius:var(--radius-lg);transition:all var(--transition-base);position:relative;overflow:hidden;user-select:none;-webkit-user-select:none}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-sm{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm);border-radius:var(--radius-md)}.btn-lg{padding:var(--spacing-4) var(--spacing-8);font-size:var(--font-size-lg);border-radius:var(--radius-xl)}.btn-xl{padding:var(--spacing-5) var(--spacing-10);font-size:var(--font-size-xl);border-radius:var(--radius-xl)}.btn-block{width:100%;display:flex}.btn-primary{background:var(--button-primary-bg);color:var(--button-primary-text);border-radius:var(--button-radius);box-shadow:0 2px 4px #e09f3e33;min-height:var(--button-height-md);font-weight:var(--font-weight-semibold)}.btn-primary:hover:not(:disabled){background:var(--button-primary-bg-hover);transform:translateY(-1px);box-shadow:0 4px 8px #e09f3e4d}.btn-primary:active:not(:disabled){background:var(--color-accent-700);transform:translateY(0)}.btn-primary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;box-shadow:var(--shadow-focus)}.btn-primary:disabled{background:var(--color-text-disabled);color:var(--color-text-inverse);opacity:1}.btn.btn-teal-filled.btn-secondary{background-color:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.btn.btn-teal-filled.btn-secondary:hover:not(:disabled){background-color:var(--color-primary-hover, #164349);border-color:var(--color-primary-hover, #164349);color:var(--color-text-inverse);transform:translateY(-1px);box-shadow:0 2px 8px rgba(var(--color-primary-rgb),.3)}.btn.btn-teal-filled.btn-secondary:active:not(:disabled){transform:translateY(0);background-color:var(--color-primary-700, #103236);border-color:var(--color-primary-700, #103236);color:var(--color-text-inverse)}.btn-secondary{background-color:var(--button-secondary-bg);color:var(--button-secondary-text);border:2px solid var(--button-secondary-border);box-shadow:none;min-height:var(--button-height-md)}.btn-secondary:hover:not(:disabled){background-color:var(--button-secondary-bg-hover);border-color:var(--color-primary-600);transform:translateY(-1px);box-shadow:0 2px 4px #1e555c1a}.btn-secondary:active:not(:disabled){transform:translateY(0);background-color:var(--color-primary-100)}.btn-secondary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;box-shadow:var(--shadow-focus)}.btn-tertiary{background-color:transparent;color:var(--color-secondary);padding:var(--spacing-2) var(--spacing-4)}.btn-tertiary:hover:not(:disabled){background-color:var(--color-secondary-50);color:var(--color-secondary-600)}.btn-tertiary:active:not(:disabled){background-color:var(--color-secondary-100)}.btn-danger{background-color:var(--error-500);color:var(--color-text-inverse);box-shadow:0 2px 4px #dc4c6433}.btn-danger:hover:not(:disabled){background-color:var(--error-600);transform:translateY(-1px);box-shadow:0 4px 8px #dc4c644d}.btn-danger:active:not(:disabled){transform:translateY(0)}.btn-success{background-color:var(--success-500);color:var(--color-text-inverse);box-shadow:0 2px 4px #76a97833}.btn-success:hover:not(:disabled){background-color:var(--success-600);transform:translateY(-1px);box-shadow:0 4px 8px #76a9784d}.btn-outline-primary{background-color:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-outline-primary:hover:not(:disabled){background-color:var(--color-primary);color:var(--color-text-inverse);transform:translateY(-1px);box-shadow:0 2px 4px #1e555c26}.btn-outline-secondary{background-color:transparent;color:var(--color-secondary);border:2px solid var(--color-secondary)}.btn-outline-secondary:hover:not(:disabled){background-color:var(--color-secondary);color:var(--color-text-inverse);transform:translateY(-1px);box-shadow:0 2px 4px #9db5b226}.btn-icon{padding:var(--spacing-3);border-radius:var(--radius-full);background:var(--color-secondary-50);color:var(--color-primary);width:40px;height:40px;min-width:40px;min-height:40px;box-shadow:0 1px 3px #1e555c14}.btn-icon:hover:not(:disabled){background:var(--color-secondary-100);color:var(--color-primary-600)}.btn-icon-sm{padding:var(--spacing-2);width:36px;height:36px;min-width:36px;min-height:36px}.btn-icon-lg{padding:var(--spacing-4);width:48px;height:48px;min-width:48px;min-height:48px}.btn-with-icon{display:inline-flex;align-items:center;gap:var(--spacing-2)}.btn-with-icon svg,.btn-with-icon .icon{width:20px;height:20px;flex-shrink:0}.btn-with-icon.btn-sm svg,.btn-with-icon.btn-sm .icon{width:16px;height:16px}.btn-with-icon.btn-lg svg,.btn-with-icon.btn-lg .icon{width:24px;height:24px}.btn-loading{position:relative;color:transparent!important;pointer-events:none}.btn-loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite}.btn-loading.btn-primary:after,.btn-loading.btn-success:after,.btn-loading.btn-danger:after{border-top-color:var(--color-text-inverse)}.btn-loading.btn-secondary:after{border-top-color:var(--color-primary)}.btn-loading.btn-sm:after{width:14px;height:14px;margin-left:-7px;margin-top:-7px}.btn-loading.btn-lg:after{width:20px;height:20px;margin-left:-10px;margin-top:-10px}.btn-success-state{position:relative}.btn-success-state .checkmark{display:none;position:absolute;width:20px;height:20px;top:50%;left:50%;margin-left:-10px;margin-top:-10px}.btn-success-state.is-success .checkmark{display:block;animation:checkmark .3s ease-out}@keyframes checkmark{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.btn-group{display:inline-flex;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.btn-group .btn{border-radius:0;border-right:1px solid var(--color-border)}.btn-group .btn:first-child{border-top-left-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.btn-group .btn:last-child{border-top-right-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg);border-right:none}.btn-group .btn:hover{z-index:1}.btn-fab{position:fixed;bottom:var(--spacing-8);right:var(--spacing-8);width:56px;height:56px;border-radius:var(--radius-full);padding:0;box-shadow:var(--shadow-xl);z-index:var(--z-fixed)}.btn-fab:hover{transform:scale(1.1);box-shadow:var(--shadow-2xl)}.btn-chip{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm);border-radius:var(--radius-md);background-color:var(--color-secondary-50);color:var(--color-text-secondary);border:1px solid var(--color-secondary-200)}.btn-chip:hover:not(:disabled){background-color:var(--color-secondary-100);border-color:var(--color-secondary-300)}.btn-chip.is-active{background-color:var(--color-primary-50);color:var(--color-primary);border-color:var(--color-primary)}.btn-chip.is-removable{padding-right:var(--spacing-2)}.btn-chip .remove-icon{margin-left:var(--spacing-1);cursor:pointer;opacity:.6;transition:opacity var(--transition-fast)}.btn-chip .remove-icon:hover{opacity:1}.btn-google{background-color:#fff;color:var(--color-text-secondary);border:1px solid var(--color-secondary-200);box-shadow:var(--shadow-sm)}.btn-google:hover:not(:disabled){background-color:var(--color-secondary-50);box-shadow:var(--shadow-md);border-color:var(--color-secondary-300)}.btn-facebook{background-color:var(--color-primary-700);color:#fff}.btn-facebook:hover:not(:disabled){background-color:var(--color-primary-800)}.btn-twitter{background-color:var(--color-secondary-400);color:#fff}.btn-twitter:hover:not(:disabled){background-color:var(--color-secondary-500)}@media(max-width:767px){.btn{padding:var(--spacing-3) var(--spacing-5)}.btn-lg,.btn-xl{padding:var(--spacing-4) var(--spacing-6);font-size:var(--font-size-base)}.btn-fab{bottom:var(--spacing-4);right:var(--spacing-4);width:48px;height:48px}.btn-group{flex-direction:column;width:100%}.btn-group .btn{border-radius:0;border-right:none;border-bottom:1px solid var(--color-border);width:100%}.btn-group .btn:first-child{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);border-bottom-left-radius:0}.btn-group .btn:last-child{border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg);border-top-right-radius:0;border-bottom:none}}@media(hover:none)and (pointer:coarse){.btn{min-height:44px;min-width:44px}.btn-sm{min-height:44px}.btn-lg,.btn-xl{min-height:52px}.btn-icon,.btn-icon-sm{min-height:44px;min-width:44px;width:44px;height:44px}.btn-icon-lg{min-height:48px;min-width:48px}.btn:hover{transform:none}.btn:active:not(:disabled){transform:scale(.95)}}.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;font-family:Poppins,sans-serif;width:100%;padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-base);line-height:1.5;color:var(--color-text-primary);background-color:var(--color-secondary-50);border:1px solid var(--color-secondary-200);border-radius:12px;transition:all var(--transition-base)}.input::placeholder{color:var(--color-text-tertiary)}.input:hover:not(:disabled){border-color:var(--color-secondary-300)}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #1e555c26}.input:disabled{background-color:var(--color-secondary-100);color:var(--color-text-tertiary);cursor:not-allowed;opacity:.6}.input.is-error{border-color:var(--error-500)}.input.is-error:focus{box-shadow:0 0 0 3px var(--error-50)}.input.is-success{border-color:var(--success-500)}.input.is-success:focus{box-shadow:0 0 0 3px var(--success-50)}.input-sm{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm);border-radius:var(--radius-md)}.input-lg{padding:var(--spacing-4) var(--spacing-5);font-size:var(--font-size-lg);border-radius:var(--radius-xl)}.input-group{position:relative;display:flex;align-items:stretch;width:100%}.input-group .input{flex:1}.input-group-prepend,.input-group-append{display:flex;align-items:center}.input-with-icon-left{padding-left:var(--spacing-12)}.input-icon-left{position:absolute;left:var(--spacing-4);top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);pointer-events:none;display:flex;align-items:center;justify-content:center}.input-icon-left svg{width:20px;height:20px}.input-with-icon-right{padding-right:var(--spacing-10)}.input-icon-right{position:absolute;right:var(--spacing-4);top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);display:flex;align-items:center;justify-content:center}.input-icon-right button{background:none;border:none;cursor:pointer;padding:var(--spacing-1);color:inherit;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.input-icon-right button:hover{background-color:var(--gray-100)}.input-icon-right svg{width:20px;height:20px}.input-floating{position:relative;margin-top:var(--spacing-5)}.input-floating .input{padding-top:var(--spacing-5);padding-bottom:var(--spacing-2)}.input-floating-label{position:absolute;left:var(--spacing-4);top:50%;transform:translateY(-50%);font-size:var(--font-size-base);color:var(--color-text-tertiary);pointer-events:none;transition:all var(--transition-base);background-color:var(--color-background);padding:0 var(--spacing-1)}.input-floating .input:focus~.input-floating-label,.input-floating .input:not(:placeholder-shown)~.input-floating-label{top:0;font-size:var(--font-size-sm);color:var(--color-primary);transform:translateY(0)}.input-floating .input.is-error:focus~.input-floating-label,.input-floating .input.is-error:not(:placeholder-shown)~.input-floating-label{color:var(--error-500)}.input-search{position:relative}.input-search .input{padding-left:var(--spacing-12);padding-right:var(--spacing-10);border-radius:var(--radius-full)}.input-search .search-icon{position:absolute;left:var(--spacing-4);top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);pointer-events:none}.input-search .clear-button{position:absolute;right:var(--spacing-4);top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:var(--spacing-1);color:var(--color-text-tertiary);display:flex;align-items:center;border-radius:var(--radius-full);transition:all var(--transition-fast)}.input-search .clear-button:hover{background-color:var(--gray-100);color:var(--color-text-secondary)}.textarea{min-height:120px;resize:vertical;padding:var(--spacing-4);line-height:1.6}.textarea-auto-resize{resize:none;overflow:hidden}.select{cursor:pointer;padding-right:var(--spacing-10);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-4) center;background-size:20px}.select:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")}.checkbox-wrapper{display:flex;align-items:center;gap:var(--spacing-2);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border:2px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-background);cursor:pointer;transition:all var(--transition-fast);position:relative;flex-shrink:0}.checkbox:hover:not(:disabled){border-color:var(--color-primary)}.checkbox:checked{background-color:var(--color-primary);border-color:var(--color-primary)}.checkbox:checked:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox:focus-visible{outline:2px solid var(--primary-300);outline-offset:2px}.checkbox:disabled{opacity:.5;cursor:not-allowed}.checkbox-label{color:var(--color-text-primary);cursor:pointer}.radio-wrapper{display:flex;align-items:center;gap:var(--spacing-2);cursor:pointer;-webkit-user-select:none;user-select:none}.radio{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border:2px solid var(--color-border);border-radius:var(--radius-full);background-color:var(--color-background);cursor:pointer;transition:all var(--transition-fast);position:relative;flex-shrink:0}.radio:hover:not(:disabled){border-color:var(--color-primary)}.radio:checked{border-color:var(--color-primary)}.radio:checked:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:var(--radius-full);background-color:var(--color-primary)}.radio:focus-visible{outline:2px solid var(--primary-300);outline-offset:2px}.radio:disabled{opacity:.5;cursor:not-allowed}.radio-label{color:var(--color-text-primary);cursor:pointer}.toggle-wrapper{display:flex;align-items:center;gap:var(--spacing-3);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:44px;height:24px;border-radius:var(--radius-full);background-color:var(--color-secondary-200);cursor:pointer;transition:all var(--transition-base);position:relative;flex-shrink:0}.toggle:after{content:"";position:absolute;left:2px;top:2px;width:20px;height:20px;border-radius:var(--radius-full);background-color:#fff;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.toggle:checked{background-color:var(--color-primary)}.toggle:checked:after{left:22px}.toggle:focus-visible{outline:2px solid var(--primary-300);outline-offset:2px}.toggle:disabled{opacity:.5;cursor:not-allowed}.toggle-label{color:var(--color-text-primary);cursor:pointer}.form-group{margin-bottom:var(--spacing-6)}.form-label{display:block;margin-bottom:var(--spacing-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.form-label.is-required:after{content:" *";color:var(--error-500)}.form-hint{display:block;margin-top:var(--spacing-1);font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.form-error{display:flex;align-items:center;gap:var(--spacing-1);margin-top:var(--spacing-2);font-size:var(--font-size-sm);color:var(--error-500);animation:slideDown var(--transition-base)}.form-error svg{width:16px;height:16px;flex-shrink:0}.form-success{display:flex;align-items:center;gap:var(--spacing-1);margin-top:var(--spacing-2);font-size:var(--font-size-sm);color:var(--success-500)}.form-success svg{width:16px;height:16px;flex-shrink:0}.file-input-wrapper{position:relative;overflow:hidden;display:inline-block}.file-input{position:absolute;left:-9999px;opacity:0}.file-input-label{display:inline-flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);background-color:var(--color-background);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base)}.file-input-label:hover{border-color:var(--color-primary);background-color:var(--primary-50)}.file-input:focus+.file-input-label{outline:2px solid var(--primary-300);outline-offset:2px}.file-input-text{margin-top:var(--spacing-2);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.range-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:var(--radius-full);background:var(--color-secondary-200);outline:none;transition:all var(--transition-base)}.range-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:var(--radius-full);background-color:var(--color-primary);cursor:pointer;box-shadow:var(--shadow-md);transition:all var(--transition-base)}.range-slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:var(--shadow-lg)}.range-slider::-moz-range-thumb{width:20px;height:20px;border-radius:var(--radius-full);background-color:var(--color-primary);cursor:pointer;box-shadow:var(--shadow-md);border:none;transition:all var(--transition-base)}.range-slider::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:var(--shadow-lg)}.input-wrapper{position:relative}.input-validation-icon{position:absolute;right:var(--spacing-4);top:50%;transform:translateY(-50%);pointer-events:none}.input-validation-icon svg{width:20px;height:20px}.input.is-error~.input-validation-icon{color:var(--error-500)}.input.is-success~.input-validation-icon{color:var(--success-500)}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.input.is-error.shake{animation:shake .3s ease-in-out}.input-autosave-indicator{position:absolute;right:var(--spacing-4);top:50%;transform:translateY(-50%);font-size:var(--font-size-sm);color:var(--success-500);opacity:0;transition:opacity var(--transition-base);pointer-events:none}.input-autosave-indicator.is-visible{opacity:1;animation:fadeInOut 2s ease-in-out}@keyframes fadeInOut{0%,to{opacity:0}20%,80%{opacity:1}}@media(max-width:767px){.input,.textarea,.select{font-size:16px;min-height:44px;padding:.625rem 1rem}.input-sm{min-height:44px;padding:.625rem .75rem}.input-lg{min-height:48px;padding:.75rem 1.25rem;font-size:16px}.input:focus,.textarea:focus,.select:focus{box-shadow:0 0 0 3px #1e555c33;outline:2px solid var(--color-primary);outline-offset:1px}}@media(hover:none)and (pointer:coarse){.checkbox,.radio{width:24px;height:24px}.checkbox:checked:after{left:7px;top:3px}.toggle{width:52px;height:28px}.toggle:after{width:24px;height:24px}.toggle:checked:after{left:26px}}.skeleton{background:var(--color-secondary-50);animation:pulse 1.5s ease-in-out infinite;border-radius:var(--radius-md);box-shadow:0 2px 8px rgba(var(--color-primary-rgb),.04)}.skeleton-pulse{animation:pulse 1.5s ease-in-out infinite}.skeleton-text{height:1rem;margin-bottom:var(--spacing-2);border-radius:var(--radius-sm)}.skeleton-text-sm{height:.875rem}.skeleton-text-lg{height:1.25rem}.skeleton-text-xl{height:1.5rem}.skeleton-heading{height:2rem;margin-bottom:var(--spacing-4);border-radius:var(--radius-md)}.skeleton-heading-lg{height:3rem}.skeleton-avatar{width:40px;height:40px;border-radius:var(--radius-full);flex-shrink:0}.skeleton-avatar-sm{width:32px;height:32px}.skeleton-avatar-lg{width:64px;height:64px}.skeleton-avatar-xl{width:96px;height:96px}.skeleton-image{width:100%;height:200px;border-radius:var(--radius-lg)}.skeleton-image-sm{height:120px}.skeleton-image-lg{height:300px}.skeleton-image-xl{height:400px}.skeleton-square{aspect-ratio:1/1;width:100%}.skeleton-16-9{aspect-ratio:16/9;width:100%}.skeleton-4-3{aspect-ratio:4/3;width:100%}.skeleton-button{height:40px;width:120px;border-radius:var(--radius-lg)}.skeleton-button-sm{height:32px;width:100px}.skeleton-button-lg{height:48px;width:160px}.skeleton-button-block{width:100%}.skeleton-icon{width:20px;height:20px;border-radius:var(--radius-sm);flex-shrink:0}.skeleton-icon-sm{width:16px;height:16px}.skeleton-icon-lg{width:24px;height:24px}.skeleton-badge{height:24px;width:80px;border-radius:var(--radius-full)}.skeleton-card{padding:var(--spacing-6);background-color:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.skeleton-card-header{display:flex;align-items:center;gap:var(--spacing-3);margin-bottom:var(--spacing-4)}.skeleton-card-body{display:flex;flex-direction:column;gap:var(--spacing-2)}.skeleton-card-footer{margin-top:var(--spacing-4);padding-top:var(--spacing-4);border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-3)}.skeleton-list-item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-4);background-color:var(--color-surface);border-radius:var(--radius-lg);margin-bottom:var(--spacing-3)}.skeleton-list-item-content{flex:1;display:flex;flex-direction:column;gap:var(--spacing-2)}.skeleton-table-row{display:flex;gap:var(--spacing-4);padding:var(--spacing-4);border-bottom:1px solid var(--color-border)}.skeleton-table-cell{flex:1}.skeleton-search-card{display:flex;flex-direction:column;background-color:var(--color-surface);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-sm)}.skeleton-search-card-image{width:100%;height:200px}.skeleton-search-card-content{padding:var(--spacing-6);display:flex;flex-direction:column;gap:var(--spacing-3)}.skeleton-search-card-title{height:1.5rem;width:80%}.skeleton-search-card-meta{display:flex;gap:var(--spacing-3);align-items:center}.skeleton-search-card-description{display:flex;flex-direction:column;gap:var(--spacing-2)}.skeleton-search-card-actions{display:flex;gap:var(--spacing-3);margin-top:var(--spacing-4)}.skeleton-planner-card{background-color:var(--color-surface);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-sm)}.skeleton-planner-card-image{width:100%;height:160px}.skeleton-planner-card-content{padding:var(--spacing-5);display:flex;flex-direction:column;gap:var(--spacing-3)}.skeleton-planner-card-title{height:1.25rem;width:70%}.skeleton-planner-card-info{display:flex;gap:var(--spacing-4)}.skeleton-planner-card-info-item{height:.875rem;width:80px}.skeleton-profile-card{display:flex;gap:var(--spacing-4);padding:var(--spacing-6);background-color:var(--color-surface);border-radius:var(--radius-xl)}.skeleton-profile-info{flex:1;display:flex;flex-direction:column;gap:var(--spacing-2)}.skeleton-profile-name{height:1.5rem;width:150px}.skeleton-profile-email{height:1rem;width:200px}.skeleton-timeline-item{display:flex;gap:var(--spacing-4);padding:var(--spacing-4);background-color:var(--color-surface);border-radius:var(--radius-lg);margin-bottom:var(--spacing-3)}.skeleton-timeline-marker{width:40px;height:40px;border-radius:var(--radius-full);flex-shrink:0}.skeleton-timeline-content{flex:1;display:flex;flex-direction:column;gap:var(--spacing-2)}.skeleton-timeline-time{height:.875rem;width:80px}.skeleton-timeline-title{height:1.25rem;width:60%}.skeleton-timeline-description{height:1rem;width:90%}.skeleton-nav{display:flex;gap:var(--spacing-6);padding:var(--spacing-4)}.skeleton-nav-item{height:40px;width:80px;border-radius:var(--radius-md)}.skeleton-stats-card{padding:var(--spacing-6);background-color:var(--color-surface);border-radius:var(--radius-xl);display:flex;flex-direction:column;gap:var(--spacing-3)}.skeleton-stats-value{height:2.5rem;width:100px}.skeleton-stats-label{height:1rem;width:120px}.skeleton-grid{display:grid;gap:var(--spacing-6)}.skeleton-grid-2{grid-template-columns:repeat(2,1fr)}.skeleton-grid-3{grid-template-columns:repeat(3,1fr)}.skeleton-grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1024px){.skeleton-grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:767px){.skeleton-grid-2,.skeleton-grid-3,.skeleton-grid-4{grid-template-columns:1fr}}.skeleton-w-25{width:25%}.skeleton-w-50{width:50%}.skeleton-w-75{width:75%}.skeleton-w-full{width:100%}.skeleton-h-2{height:var(--spacing-2)}.skeleton-h-4{height:var(--spacing-4)}.skeleton-h-8{height:var(--spacing-8)}.skeleton-h-12{height:var(--spacing-12)}.skeleton-group{display:flex;flex-direction:column;gap:var(--spacing-2)}.skeleton-group-sm{gap:var(--spacing-1)}.skeleton-group-lg{gap:var(--spacing-4)}.skeleton-container{padding:var(--spacing-6)}.skeleton-container-full{min-height:400px;display:flex;align-items:center;justify-content:center}@media(prefers-reduced-motion:reduce){.skeleton,.skeleton-pulse{animation:none;opacity:.6}}.skeleton-page{padding:var(--spacing-8)}.skeleton-page-header{margin-bottom:var(--spacing-8)}.skeleton-page-title{height:3rem;width:300px;margin-bottom:var(--spacing-4)}.skeleton-page-subtitle{height:1rem;width:400px}.skeleton-page-content{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-6)}@media(max-width:1024px){.skeleton-page-content{grid-template-columns:repeat(2,1fr)}}@media(max-width:767px){.skeleton-page-content{grid-template-columns:1fr}.skeleton-page-title{width:200px}.skeleton-page-subtitle{width:280px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;min-height:100vh;min-height:100dvh;background:rgba(var(--color-primary-rgb),.75);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop, 1400);padding:1rem;overflow-y:auto;animation:modalOverlayFadeIn .2s ease-out}@keyframes modalOverlayFadeIn{0%{opacity:0}to{opacity:1}}.modal-container{background:#fff;border-radius:1rem;box-shadow:0 20px 60px #0000004d;width:100%;max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);overflow:hidden;display:flex;flex-direction:column;animation:modalSlideUp .3s ease-out;position:relative;z-index:var(--z-modal, 1500)}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-sm{max-width:400px}.modal-md{max-width:600px}.modal-lg{max-width:800px}.modal-xl{max-width:1200px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--color-border);gap:1rem}.modal-header h3{margin:0;font-size:1.25rem;font-weight:700;color:var(--color-text-primary);letter-spacing:-.025em;flex:1}.modal-close{flex-shrink:0;margin-left:auto}.modal-content{flex:1;overflow-y:auto;padding:1.5rem}.modal-content form>*+*{margin-top:1rem}.modal-footer{padding:1.5rem;border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:flex-end;gap:.75rem}@media(max-width:768px){.modal-overlay{padding:.5rem}.modal-container{max-height:calc(100vh - 1rem);border-radius:.75rem}.modal-header{padding:1rem}.modal-header h3{font-size:1.125rem}.modal-content{padding:1rem}.modal-footer{padding:1rem;flex-direction:column-reverse;gap:.5rem}.modal-footer>*{width:100%}.modal-sm,.modal-md{max-width:100%}}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:var(--color-secondary-50);border-radius:4px}.modal-content::-webkit-scrollbar-thumb{background:var(--color-secondary-300);border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:var(--color-secondary-400)}.alert{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;border-radius:.75rem;border:1px solid;animation:alertSlideIn .3s ease-out}@keyframes alertSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert-inline{padding:.75rem 1rem}.alert-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center}.alert-content{flex:1;min-width:0}.alert-title{font-weight:600;font-size:.9375rem;margin-bottom:.25rem;line-height:1.4}.alert-message{font-size:.875rem;line-height:1.5}.alert-dismiss{flex-shrink:0;background:none;border:none;padding:.25rem;cursor:pointer;border-radius:.375rem;display:flex;align-items:center;justify-content:center;opacity:.6;transition:all .2s ease;margin-left:.5rem}.alert-dismiss:hover{opacity:1;background:#0000000d}.alert-dismiss:focus-visible{outline:2px solid currentColor;outline-offset:2px}.alert-error{background:var(--error-50, #FEF2F2);border-color:rgba(var(--color-error-rgb, 239, 68, 68),.35);color:var(--color-text-primary, #1E555C)}.alert-error .alert-icon{color:var(--error-600, #DC2626)}.alert-error .alert-dismiss:hover{background:rgba(var(--color-error-rgb, 239, 68, 68),.12)}.alert-success{background:var(--success-50, #F0FDF4);border-color:rgba(var(--color-success-rgb, 34, 197, 94),.35);color:var(--color-text-primary, #1E555C)}.alert-success .alert-icon{color:var(--success-600, #16A34A)}.alert-success .alert-dismiss:hover{background:rgba(var(--color-success-rgb, 34, 197, 94),.12)}.alert-warning{background:var(--warning-50, #FFFBEB);border-color:rgba(var(--color-warning-rgb, 245, 158, 11),.35);color:var(--color-text-primary, #1E555C)}.alert-warning .alert-icon{color:var(--warning-600, #D97706)}.alert-warning .alert-dismiss:hover{background:rgba(var(--color-warning-rgb, 245, 158, 11),.12)}.alert-info{background:var(--color-secondary-100);border-color:var(--color-border);color:var(--color-text-primary)}.alert-info .alert-icon{color:var(--color-text-secondary)}.alert-info .alert-dismiss:hover{background:rgba(var(--color-primary-rgb),.1)}@media(max-width:768px){.alert{padding:.875rem 1rem}.alert-inline{padding:.625rem .875rem}.alert-title{font-size:.875rem}.alert-message{font-size:.8125rem}}.tooltip-wrapper{position:relative;display:inline-flex;align-items:center}.tooltip-trigger-icon{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:0;cursor:help;color:var(--color-text-secondary);display:inline-flex;align-items:center;justify-content:center;transition:color .2s ease}.tooltip-trigger-icon:hover,.tooltip-trigger-icon:focus{color:var(--color-text-primary);outline:none}.tooltip-content{position:absolute;z-index:1000;background:var(--color-primary-700);color:#fff;padding:8px 12px;border-radius:6px;font-size:.875rem;line-height:1.4;max-width:250px;box-shadow:0 4px 12px #00000026;pointer-events:none;white-space:normal}.tooltip-top{bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.tooltip-bottom{top:calc(100% + 8px);left:50%;transform:translate(-50%)}.tooltip-left{right:calc(100% + 8px);top:50%;transform:translateY(-50%)}.tooltip-right{left:calc(100% + 8px);top:50%;transform:translateY(-50%)}.tooltip-arrow{position:absolute;width:0;height:0;border-style:solid}.tooltip-top .tooltip-arrow{bottom:-4px;left:50%;transform:translate(-50%);border-width:4px 4px 0 4px;border-color:var(--color-text-primary) transparent transparent transparent}.tooltip-bottom .tooltip-arrow{top:-4px;left:50%;transform:translate(-50%);border-width:0 4px 4px 4px;border-color:transparent transparent var(--color-primary-700) transparent}.tooltip-left .tooltip-arrow{right:-4px;top:50%;transform:translateY(-50%);border-width:4px 0 4px 4px;border-color:transparent transparent transparent var(--color-primary-700)}.tooltip-right .tooltip-arrow{left:-4px;top:50%;transform:translateY(-50%);border-width:4px 4px 4px 0;border-color:transparent var(--color-primary-700) transparent transparent}@media(max-width:767px){.tooltip-content{max-width:200px;font-size:.8125rem}.tooltip-top{bottom:auto;top:calc(100% + 8px)}.tooltip-top .tooltip-arrow{bottom:auto;top:-4px;border-width:0 4px 4px 4px;border-color:transparent transparent var(--color-primary-700) transparent}}@media(prefers-reduced-motion:reduce){.tooltip-content{transition:none}}.planner-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal, 1400);padding:var(--spacing-4)}.planner-modal-content{background:var(--surface-primary);border-radius:var(--radius-lg);box-shadow:0 20px 40px #1e555c26;max-width:500px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.planner-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-5) var(--spacing-6);border-bottom:1px solid var(--color-secondary-200)}.planner-modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.planner-modal-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:var(--spacing-2);cursor:pointer;color:var(--color-text-secondary);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;transition:all .2s ease}.planner-modal-close:hover{background:var(--color-secondary-50);color:var(--color-primary)}.planner-modal-subtitle{padding:var(--spacing-4) var(--spacing-6);margin:0;font-size:.875rem;color:var(--color-text-secondary);border-bottom:1px solid var(--color-secondary-200)}.planner-modal-subtitle strong{color:var(--color-primary)}.planner-modal-body{padding:var(--spacing-6);overflow-y:auto;flex:1}.planner-list-modal{display:flex;flex-direction:column;gap:var(--spacing-3);margin-bottom:var(--spacing-4);max-height:300px;overflow-y:auto}.planner-item-modal{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-secondary-50);border:1px solid var(--color-secondary-200);border-radius:var(--radius-md);padding:var(--spacing-4);display:flex;align-items:center;gap:var(--spacing-3);cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.planner-item-modal:hover{background:var(--color-secondary-100);border-color:var(--color-primary);transform:translateY(-1px)}.planner-item-modal:active{transform:translateY(0)}.planner-item-icon{color:var(--color-primary);flex-shrink:0}.planner-item-details{flex:1}.planner-item-name{font-weight:600;color:var(--color-text-primary);margin-bottom:2px}.planner-item-meta{font-size:.8125rem;color:var(--color-text-secondary)}.no-planners-message{text-align:center;padding:var(--spacing-8) var(--spacing-4);color:var(--color-text-secondary)}.no-planners-message p{margin:0 0 var(--spacing-2)}.no-planners-hint{font-size:.875rem;color:var(--color-text-tertiary)}.create-planner-form{display:flex;flex-direction:column;gap:var(--spacing-4)}.create-planner-actions{display:flex;gap:var(--spacing-3);margin-top:var(--spacing-2)}.create-planner-actions button{flex:1}@media(max-width:767px){.planner-modal-overlay{padding:0;align-items:stretch;background:#000000b3}.planner-modal-content{max-width:100%;width:100%;height:100vh;max-height:100vh;border-radius:0;animation:slideUpMobile .3s ease-out}@keyframes slideUpMobile{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.planner-modal-header{padding:max(var(--spacing-5),env(safe-area-inset-top)) var(--spacing-4) var(--spacing-5);background:var(--color-secondary-50);border-bottom:1px solid var(--color-secondary-200)}.planner-modal-subtitle{padding:var(--spacing-3) var(--spacing-4);background:var(--surface-secondary)}.planner-modal-body{padding:var(--spacing-5) var(--spacing-4) max(var(--spacing-5),env(safe-area-inset-bottom));background:var(--surface-primary)}.planner-item-modal{min-height:60px}.create-planner-actions{flex-direction:column}.create-planner-actions button{width:100%}}@media(hover:none)and (pointer:coarse){.planner-item-modal{min-height:56px;padding:var(--spacing-4) var(--spacing-5)}.planner-modal-close{min-width:44px;min-height:44px}}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal-backdrop, 1300);animation:fadeIn .2s ease-out}.save-search-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:90%;max-width:540px;max-height:90vh;overflow:hidden;z-index:var(--z-modal, 1400);animation:slideUp .3s ease-out;display:flex;flex-direction:column}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:24px;border-bottom:1px solid var(--color-border);background:#f8fafc}.modal-title-section{display:flex;gap:12px;align-items:flex-start}.modal-icon{color:var(--color-text-secondary);flex-shrink:0;margin-top:2px}.modal-title{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0 0 4px}.modal-subtitle{font-size:14px;color:var(--color-text-secondary);margin:0}.modal-close-btn{background:transparent;border:none;cursor:pointer;padding:6px;border-radius:6px;color:var(--color-text-secondary);transition:all .2s;flex-shrink:0}.modal-close-btn:hover{background:var(--color-secondary-100);color:var(--color-text-primary)}.modal-content{padding:24px;overflow-y:auto;flex:1}.search-preview{background:var(--color-secondary-100);border:1px solid var(--color-border);border-radius:12px;padding:16px;margin-bottom:24px}.search-preview-title{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0 0 12px}.search-preview-grid{display:flex;flex-direction:column;gap:8px}.search-preview-item{display:flex;align-items:baseline;gap:8px}.preview-label{font-size:13px;color:var(--color-text-secondary);font-weight:500;min-width:80px}.preview-value{font-size:13px;color:var(--color-text-primary);font-weight:400}.form-section{margin-bottom:20px}.custom-name-toggle{display:flex;align-items:center;gap:8px;margin-bottom:12px}.custom-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--color-text-secondary)}.checkbox-label{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--color-text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label svg{color:var(--color-text-secondary)}.default-name-display{background:var(--color-secondary-100);border:1px solid var(--color-border);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:4px}.default-name-label{font-size:12px;color:var(--color-text-secondary);font-weight:500}.default-name-value{font-size:14px;color:var(--color-text-primary);font-weight:500}.form-label{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:var(--color-text-primary);margin-bottom:8px}.form-label svg{color:var(--color-text-secondary)}.search-notes-textarea{width:100%;padding:12px;border:1px solid var(--color-border);border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;transition:all .2s}.search-notes-textarea:focus{outline:none;border-color:var(--color-text-secondary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.search-notes-textarea::placeholder{color:var(--color-text-tertiary)}.char-count{display:block;text-align:right;font-size:12px;color:var(--color-text-secondary);margin-top:4px}.already-saved-notice{display:flex;align-items:center;gap:8px;background:var(--color-secondary-50);border:1px solid var(--color-border);border-radius:8px;padding:12px;color:var(--color-text-secondary);font-size:14px;font-weight:500}.already-saved-notice svg{color:var(--color-text-primary);flex-shrink:0}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--color-border);background:var(--color-secondary-100)}@media(max-width:640px){.save-search-modal{width:95%;max-height:95vh}.modal-header,.modal-content{padding:20px}.modal-title{font-size:18px}.modal-subtitle{font-size:13px}.modal-footer{flex-direction:column-reverse}.modal-footer button{width:100%}}.share-results-modal{max-width:480px;padding:0;overflow:hidden}.share-modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--color-border)}.share-modal-title-row{display:flex;align-items:flex-start;gap:12px}.share-modal-icon{color:var(--color-primary);flex-shrink:0;margin-top:2px}.share-modal-title{margin:0 0 2px;font-size:16px;font-weight:600;color:var(--color-text-primary);line-height:1.3}.share-modal-subtitle{margin:0;font-size:13px;color:var(--color-text-secondary);line-height:1.4}.share-modal-content{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.share-native-section{padding-bottom:16px;border-bottom:1px solid var(--color-border)}.share-options-list{display:flex;flex-direction:column;gap:8px}.share-option-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1.5px solid var(--color-border);border-radius:10px;background:transparent;cursor:pointer;text-align:left;width:100%;transition:border-color .15s ease,background-color .15s ease}.share-option-row:hover{background-color:var(--color-secondary-100);border-color:var(--color-border-hover, var(--color-secondary-300))}.share-option-row:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.share-option-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background-color:var(--color-secondary-100);color:var(--color-primary);flex-shrink:0;transition:background-color .15s ease}.share-option-row:hover .share-option-icon{background-color:rgba(var(--color-primary-rgb),.1)}.share-option-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.share-option-label{font-size:14px;font-weight:600;color:var(--color-text-primary);line-height:1.2}.share-option-desc{font-size:12px;color:var(--color-text-secondary);line-height:1.4}.share-option-check{color:var(--color-primary);flex-shrink:0}.share-modal-footer{display:flex;justify-content:flex-end;padding:14px 24px;border-top:1px solid var(--color-border)}@media(max-width:600px){.share-modal-header,.share-modal-content{padding-left:20px;padding-right:20px}.share-modal-footer{padding:12px 20px}}.cookie-banner-overlay{position:fixed;bottom:0;left:0;right:0;z-index:9999;display:flex;justify-content:center;padding:20px;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .3s ease-out}.cookie-banner{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:800px;width:100%;animation:slideUp .4s ease-out;overflow:hidden}@keyframes slideUp{0%{transform:translateY(100px);opacity:0}to{transform:translateY(0);opacity:1}}.cookie-banner-main{padding:32px}.cookie-banner-header{display:flex;align-items:center;gap:16px;margin-bottom:16px}.cookie-icon-wrapper{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:12px;background:var(--color-primary);color:#fff;flex-shrink:0}.cookie-banner-header h3{margin:0;font-size:24px;font-weight:700;color:var(--color-text-primary)}.cookie-banner-text{margin:0 0 24px;line-height:1.6;color:var(--color-text-secondary);font-size:15px}.cookie-banner-actions{display:flex;gap:12px;flex-wrap:wrap}.cookie-action-btn{flex:1;min-width:120px}.cookie-action-btn--accept{border-color:var(--color-primary, #1E555C);color:var(--color-primary, #1E555C)}.cookie-banner-footer{margin-top:20px;padding-top:20px;border-top:1px solid var(--color-border);text-align:center}.cookie-policy-link{color:var(--color-text-secondary);text-decoration:underline;font-size:14px;font-weight:500;transition:color .2s}.cookie-policy-link:hover{color:var(--color-text-primary)}.cookie-settings{padding:32px;max-height:80vh;overflow-y:auto}.cookie-settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.cookie-settings-header h3{margin:0;font-size:22px;font-weight:700;color:var(--color-text-primary)}.cookie-settings-description{margin:0 0 24px;color:var(--color-text-secondary);line-height:1.5;font-size:14px}.cookie-preference-list{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.cookie-preference-item{padding:20px;border:2px solid var(--color-border);border-radius:12px;transition:border-color .2s,background-color .2s}.cookie-preference-item:hover{border-color:var(--color-text-secondary);background-color:rgba(var(--color-primary-rgb),.04)}.preference-header{margin-bottom:8px}.preference-label{display:flex;align-items:center;gap:12px;cursor:pointer}.preference-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--color-text-secondary);flex-shrink:0}.preference-label input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.preference-info{display:flex;align-items:center;gap:8px;flex:1}.preference-info strong{font-size:16px;color:var(--color-text-primary)}.required-badge,.ai-badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.required-badge{background:var(--color-secondary-100);color:var(--color-text-primary)}.ai-badge{background:var(--color-secondary-100);color:var(--color-text-secondary)}.partner-badge,.compliance-badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;background:var(--color-secondary-100);color:var(--color-text-secondary)}.preference-description{margin:0;padding-left:32px;font-size:13px;color:var(--color-text-secondary);line-height:1.5}.ai-info-link{display:inline-block;margin-left:8px;color:var(--color-text-secondary);text-decoration:underline;font-weight:500}.ai-info-link:hover{color:var(--color-text-primary)}.cookie-settings-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:20px;border-top:1px solid var(--color-border)}@media(max-width:768px){.cookie-banner-overlay{padding:0;align-items:flex-end}.cookie-banner{border-radius:16px 16px 0 0;max-height:90vh;overflow-y:auto}.cookie-banner-main,.cookie-settings{padding:24px 20px}.cookie-banner-header{flex-direction:column;align-items:flex-start}.cookie-banner-actions{flex-direction:column}.cookie-action-btn{width:100%}.cookie-settings-actions{flex-direction:column-reverse}.cookie-settings-actions button{width:100%}}.cookie-banner button:focus-visible,.preference-label input:focus-visible,.cookie-policy-link:focus-visible,.ai-info-link:focus-visible{outline:3px solid var(--color-border-focus);outline-offset:2px;border-radius:4px}@media(prefers-contrast:high){.cookie-banner{border:3px solid currentColor}.cookie-preference-item{border-width:3px}}@media(prefers-reduced-motion:reduce){.cookie-banner-overlay,.cookie-banner{animation:none}.cookie-preference-item{transition:none}}.progress-indicator{font-family:Poppins,-apple-system,sans-serif}.progress-indicator.linear{width:100%;padding:16px;background:#fff;border-radius:8px;border:1px solid var(--color-border);box-shadow:0 1px 3px #0000001a}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.progress-message{font-size:14px;font-weight:500;color:var(--color-text-primary)}.progress-percentage{font-size:14px;font-weight:600;color:var(--color-text-secondary)}.progress-bar-container{width:100%;height:8px;background:var(--color-secondary-100);border-radius:4px;overflow:hidden;position:relative}.progress-bar-fill{height:100%;background:var(--color-primary);border-radius:4px;transition:width .3s ease;position:relative;overflow:hidden}.progress-bar-fill:after{content:"";position:absolute;top:0;left:0;bottom:0;right:0;background:#ffffff59;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.progress-time{display:flex;gap:16px;font-size:12px;color:var(--color-text-secondary)}.progress-cancel{padding:4px 12px;font-size:12px;color:var(--color-text-secondary);background:transparent;border:1px solid var(--color-primary);border-radius:4px;cursor:pointer;transition:all .2s}.progress-cancel:hover{background:var(--color-primary);color:#fff}.progress-indicator.circular{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;background:#fff;border-radius:8px;border:1px solid var(--color-border)}.progress-circle{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.progress-circle-bg{stroke:var(--color-secondary-100)}.progress-circle-fill{stroke:var(--color-primary);transition:stroke-dashoffset .3s ease}.progress-circle-text{font-size:18px;font-weight:600;fill:var(--color-primary-700)}.progress-circular-message{margin-top:16px;font-size:14px;font-weight:500;color:var(--color-text-primary);text-align:center}.progress-circular-time{margin-top:8px;font-size:12px;color:var(--color-text-secondary)}.progress-indicator.steps{padding:24px;background:#fff;border-radius:8px;border:1px solid var(--color-border)}.progress-steps-container{display:flex;flex-direction:column;gap:0}.progress-step{display:flex;align-items:flex-start;gap:12px;padding:16px 0}.progress-step-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-secondary-100);color:var(--color-text-tertiary);transition:all .3s}.progress-step.completed .progress-step-icon,.progress-step.active .progress-step-icon,.progress-step.error .progress-step-icon{background:var(--color-primary);color:#fff}.progress-step.pending .progress-step-icon{background:var(--color-secondary-100);color:var(--color-text-tertiary)}.step-number{font-size:14px;font-weight:600}.spinning{animation:spin 1s linear infinite}.progress-step-content{flex:1}.progress-step-label{font-size:14px;font-weight:500;color:var(--color-text-primary);margin-bottom:4px}.progress-step.completed .progress-step-label{color:var(--color-text-secondary)}.progress-step.active .progress-step-label{color:var(--color-text-secondary);font-weight:600}.progress-step.error .progress-step-label{color:var(--color-text-secondary)}.progress-step-message{font-size:12px;color:var(--color-text-secondary);margin-top:4px}.progress-step-connector{width:2px;height:16px;background:var(--color-secondary-200);margin-left:15px;transition:background .3s}.progress-step-connector.completed{background:var(--color-primary)}.progress-steps-overall-message{margin-top:16px;padding:12px;background:var(--color-secondary-100);border-radius:6px;font-size:13px;color:var(--color-text-secondary);text-align:center}@media(max-width:768px){.progress-indicator.linear,.progress-indicator.steps{padding:12px}.progress-footer{flex-direction:column;align-items:flex-start;gap:8px}.progress-time{flex-direction:column;gap:4px}.progress-step{padding:12px 0}}.progress-cancel:focus{outline:2px solid var(--color-border-focus);outline-offset:2px}@media(prefers-reduced-motion:reduce){.progress-bar-fill,.progress-circle-fill,.progress-step-icon,.progress-step-connector{transition:none}.progress-bar-fill:after,.spinning{animation:none}}.command-palette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:9998}.command-palette{position:fixed;top:20vh;left:50%;transform:translate(-50%);width:min(640px,calc(100vw - 32px));max-height:min(480px,calc(80vh - 64px));background:#fffffffa;border-radius:16px;box-shadow:0 0 0 1px #0000000d,0 10px 40px #00000026,0 20px 60px #0000001a;overflow:hidden;display:flex;flex-direction:column;z-index:9999}@media(prefers-color-scheme:dark){.command-palette{background:#1c1c1efa;box-shadow:0 0 0 1px #ffffff14,0 10px 40px #0006,0 20px 60px #0000004d}.command-palette-backdrop{background:#0009}}.command-palette-search{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid rgba(0,0,0,.08);background:transparent}@media(prefers-color-scheme:dark){.command-palette-search{border-bottom-color:#ffffff14}}.command-palette-search .search-icon{color:#0006;flex-shrink:0}@media(prefers-color-scheme:dark){.command-palette-search .search-icon{color:#fff6}}.command-palette-search .search-input{flex:1;font-size:16px;font-weight:400;line-height:24px;color:#000000e6;background:transparent;border:none;outline:none;padding:0}@media(prefers-color-scheme:dark){.command-palette-search .search-input{color:#ffffffe6}}.command-palette-search .search-input::placeholder{color:#0006}@media(prefers-color-scheme:dark){.command-palette-search .search-input::placeholder{color:#fff6}}.command-palette-search .shortcut-hint{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;font-size:11px;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:#00000080;background:#0000000a;border:1px solid rgba(0,0,0,.1);border-radius:5px;box-shadow:0 1px 2px #0000000d;text-transform:uppercase}@media(prefers-color-scheme:dark){.command-palette-search .shortcut-hint{color:#fff9;background:#ffffff14;border-color:#ffffff1f}}.command-palette-results{flex:1;overflow-y:auto;padding:8px;overscroll-behavior:contain}.command-palette-results::-webkit-scrollbar{width:8px}.command-palette-results::-webkit-scrollbar-track{background:transparent}.command-palette-results::-webkit-scrollbar-thumb{background:#00000026;border-radius:4px}@media(prefers-color-scheme:dark){.command-palette-results::-webkit-scrollbar-thumb{background:#ffffff26}}.no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:#0006}@media(prefers-color-scheme:dark){.no-results{color:#fff6}}.no-results p{margin:0 0 4px;font-size:15px;font-weight:500;color:#0009}@media(prefers-color-scheme:dark){.no-results p{color:#fff9}}.no-results span{font-size:13px}.command-group{margin-bottom:12px}.command-group:last-child{margin-bottom:0}.group-label{padding:8px 12px 6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#0006}@media(prefers-color-scheme:dark){.group-label{color:#fff6}}.command-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 12px;margin-bottom:2px;font-size:14px;font-weight:400;color:#000000d9;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .1s cubic-bezier(.16,1,.3,1);text-align:left}@media(prefers-color-scheme:dark){.command-item{color:#ffffffd9}}.command-item:hover,.command-item.selected{background:rgba(var(--color-primary-rgb, 91, 90, 101),.08);color:#000000f2}@media(prefers-color-scheme:dark){.command-item:hover,.command-item.selected{background:rgba(var(--color-primary-rgb, 91, 90, 101),.15);color:#fffffff2}}.command-item.selected{box-shadow:0 0 0 2px rgba(var(--color-primary-rgb, 91, 90, 101),.2)}.command-main{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.command-icon{flex-shrink:0;color:#00000080}@media(prefers-color-scheme:dark){.command-icon{color:#ffffff80}}.command-item.selected .command-icon{color:rgb(var(--color-primary-rgb, 91, 90, 101))}.command-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-shortcut{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:#0006;background:#0000000a;border:1px solid rgba(0,0,0,.08);border-radius:5px;box-shadow:0 1px 2px #0000000d}@media(prefers-color-scheme:dark){.command-shortcut{color:#ffffff80;background:#ffffff14;border-color:#ffffff1f}}.command-palette-footer{padding:12px 16px;border-top:1px solid rgba(0,0,0,.08);background:#00000005}@media(prefers-color-scheme:dark){.command-palette-footer{border-top-color:#ffffff14;background:#ffffff08}}.footer-shortcuts{display:flex;align-items:center;gap:16px}.footer-hint{display:flex;align-items:center;gap:6px;font-size:12px;color:#00000080}@media(prefers-color-scheme:dark){.footer-hint{color:#ffffff80}}.footer-hint kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 4px;font-size:10px;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:#0009;background:#fffc;border:1px solid rgba(0,0,0,.1);border-radius:4px;box-shadow:0 1px 2px #0000000d}@media(prefers-color-scheme:dark){.footer-hint kbd{color:#ffffffb3;background:#ffffff1a;border-color:#ffffff26}}@media(max-width:640px){.command-palette{top:10vh;max-height:calc(90vh - 32px)}.footer-shortcuts{gap:12px}.footer-hint{font-size:11px}}.command-palette *{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.command-item:focus-visible{outline:2px solid rgb(var(--color-primary-rgb, 91, 90, 101));outline-offset:2px}@media(prefers-reduced-motion:reduce){.command-item,.command-palette-backdrop,.command-palette{transition:none}}.ai-assistant-fab{position:fixed;bottom:24px;right:24px;width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:var(--color-primary);border:none;border-radius:50%;box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.3),0 8px 24px rgba(var(--color-primary-rgb),.2);cursor:pointer;z-index:9000;transition:all .3s cubic-bezier(.16,1,.3,1)}.ai-assistant-fab:hover{box-shadow:0 6px 16px rgba(var(--color-primary-rgb),.4),0 12px 32px rgba(var(--color-primary-rgb),.3)}.ai-assistant-fab .fab-icon{color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.fab-badge{position:absolute;top:-2px;right:-2px;min-width:24px;height:24px;display:flex;align-items:center;justify-content:center;padding:0 6px;font-size:10px;font-weight:700;color:#fff;background:var(--color-primary);border:2px solid #fff;border-radius:12px;box-shadow:0 2px 8px rgba(var(--color-primary-rgb),.4)}.ai-assistant-window{position:fixed;bottom:24px;right:24px;width:min(420px,calc(100vw - 48px));height:min(650px,calc(100vh - 100px));display:flex;flex-direction:column;background:#fff;border-radius:20px;box-shadow:0 0 0 1px #0000000d,0 12px 40px #00000026,0 24px 60px #0000001a;overflow:hidden;z-index:9000}.ai-assistant-window.minimized{height:auto}@media(prefers-color-scheme:dark){.ai-assistant-window{background:#1a1a1c;box-shadow:0 0 0 1px #ffffff14,0 12px 40px #0006,0 24px 60px #0000004d}}.ai-assistant-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--color-primary);color:#fff}.header-left{display:flex;align-items:center;gap:12px}.header-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffffff26;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-info{display:flex;flex-direction:column;gap:2px}.header-title{margin:0;font-size:15px;font-weight:600;color:#fff}.header-status{display:flex;align-items:center;gap:6px;font-size:12px;color:#ffffffd9}.status-dot{width:6px;height:6px;background:var(--color-primary);border-radius:50%;box-shadow:0 0 8px rgba(var(--color-primary-rgb),.6);animation:pulse 2s ease-in-out infinite}.header-actions{display:flex;align-items:center;gap:8px}.header-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:none;border-radius:8px;color:#fff;cursor:pointer;transition:all .2s ease}.header-btn:hover{background:#fff3}.ai-assistant-body{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--color-secondary-100)}@media(prefers-color-scheme:dark){.ai-assistant-body{background:#111113}}.messages-container{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px;overscroll-behavior:contain}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-track{background:transparent}.messages-container::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}@media(prefers-color-scheme:dark){.messages-container::-webkit-scrollbar-thumb{background:#ffffff26}}.message{display:flex;gap:10px;animation:messageSlideIn .3s ease}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{flex-direction:row-reverse}.message-avatar{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--color-primary);border-radius:50%;color:#fff}.message-content{display:flex;flex-direction:column;gap:4px;max-width:75%}.message.user .message-content{align-items:flex-end}.message-bubble{padding:12px 16px;font-size:14px;line-height:1.5;color:#000000e6;background:#fff;border-radius:16px;box-shadow:0 1px 3px #00000014;word-wrap:break-word;white-space:pre-wrap}@media(prefers-color-scheme:dark){.message-bubble{color:#ffffffe6;background:#1e1e20}}.message.user .message-bubble{background:var(--color-primary);color:#fff}.message-time{font-size:11px;color:#0006;padding:0 4px}@media(prefers-color-scheme:dark){.message-time{color:#fff6}}.typing-indicator{display:flex;align-items:center;gap:4px;padding:16px}.typing-indicator span{width:8px;height:8px;background:#0000004d;border-radius:50%;animation:typingBounce 1.4s infinite ease-in-out}@media(prefers-color-scheme:dark){.typing-indicator span{background:#ffffff4d}}.typing-indicator span:nth-child(1){animation-delay:0s}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-8px)}}.suggestions-container{padding:0 20px 20px}.suggestions-label{margin:0 0 12px;font-size:12px;font-weight:600;color:#00000080;text-transform:uppercase;letter-spacing:.05em}@media(prefers-color-scheme:dark){.suggestions-label{color:#ffffff80}}.suggestions-grid{display:grid;grid-template-columns:1fr;gap:8px}.suggestion-chip{display:flex;align-items:center;gap:10px;padding:12px 14px;font-size:13px;font-weight:500;color:#000000bf;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:12px;cursor:pointer;transition:all .2s ease;text-align:left}@media(prefers-color-scheme:dark){.suggestion-chip{color:#ffffffbf;background:#1e1e20;border-color:#ffffff1a}}.suggestion-chip:hover{background:rgba(var(--color-primary-rgb),.08);border-color:rgba(var(--color-primary-rgb),.4);color:var(--color-text-primary)}@media(prefers-color-scheme:dark){.suggestion-chip:hover{background:rgba(var(--color-primary-rgb),.18)}}.suggestion-icon{flex-shrink:0}.ai-assistant-footer{padding:16px;background:#fff;border-top:1px solid rgba(0,0,0,.08)}@media(prefers-color-scheme:dark){.ai-assistant-footer{background:#1a1a1c;border-top-color:#ffffff14}}.input-form{display:flex;align-items:center;gap:8px;margin-bottom:8px}.message-input{flex:1;padding:12px 16px;font-size:14px;color:#000000e6;background:var(--color-secondary-100);border:1px solid transparent;border-radius:12px;outline:none;transition:all .2s ease}@media(prefers-color-scheme:dark){.message-input{color:#ffffffe6;background:#111113}}.message-input:focus{background:#fff;border-color:var(--color-text-secondary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.12)}@media(prefers-color-scheme:dark){.message-input:focus{background:#1e1e20}}.message-input::placeholder{color:#0006}@media(prefers-color-scheme:dark){.message-input::placeholder{color:#fff6}}.send-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--color-primary);border:none;border-radius:12px;color:#fff;cursor:pointer;transition:all .2s ease}.send-btn:disabled{opacity:.5;cursor:not-allowed}.send-btn:not(:disabled):hover{transform:scale(1.05);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.35)}.send-btn .spinner{animation:spin 1s linear infinite}.footer-hint{margin:0;font-size:11px;color:#0006;text-align:center}@media(prefers-color-scheme:dark){.footer-hint{color:#fff6}}.footer-hint kbd{padding:2px 6px;font-size:10px;font-weight:600;background:#0000000d;border:1px solid rgba(0,0,0,.1);border-radius:4px}@media(prefers-color-scheme:dark){.footer-hint kbd{background:#ffffff14;border-color:#ffffff1f}}@media(max-width:480px){.ai-assistant-window{width:calc(100vw - 32px);height:calc(100vh - 80px);bottom:16px;right:16px;border-radius:16px}.ai-assistant-fab{bottom:16px;right:16px;width:56px;height:56px}}@media(prefers-reduced-motion:reduce){.ai-assistant-fab,.message,.suggestion-chip,.send-btn{transition:none;animation:none}.typing-indicator span{animation:none}}.presence-indicators{display:flex;flex-direction:column;gap:var(--space-3, .75rem)}.presence-indicators.compact{flex-direction:row;align-items:center}.active-users{display:flex;align-items:center;gap:var(--space-2, .5rem)}.user-avatar{position:relative;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid var(--color-background, #fff);box-shadow:var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .1));transition:transform var(--duration-fast, .15s) var(--ease-out, cubic-bezier(0, 0, .2, 1));cursor:pointer;margin-left:-8px}.user-avatar:first-child{margin-left:0}.user-avatar:hover{transform:scale(1.1);z-index:100!important}.avatar-image{width:100%;height:100%;border-radius:50%;object-fit:cover}.avatar-initials{font-size:12px;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.editing-indicator{position:absolute;bottom:-2px;right:-2px;width:12px;height:12px;background:var(--color-primary);border:2px solid var(--color-background, #fff);border-radius:50%;box-shadow:0 0 8px rgba(var(--color-primary-rgb),.6)}.editing-pulse{width:100%;height:100%;border-radius:50%;background:var(--color-primary);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.9)}}.user-count{display:flex;align-items:center;gap:4px;padding:4px 8px;background:var(--color-gray-100, #EFF3F3);border-radius:12px;font-size:11px;font-weight:600;color:var(--color-text-secondary, rgba(0, 0, 0, .6));margin-left:4px}@media(prefers-color-scheme:dark){.user-count{background:#ffffff1a;color:#ffffffb3}}.recent-activity{display:flex;flex-direction:column;gap:var(--space-2, .5rem);padding:var(--space-3, .75rem);background:var(--color-background, #fff);border:1px solid var(--color-border, rgba(0, 0, 0, .1));border-radius:var(--radius-md, 8px);box-shadow:var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .05));max-width:320px}@media(prefers-color-scheme:dark){.recent-activity{background:#ffffff0d;border-color:#ffffff1a}}.activity-item{display:flex;align-items:center;gap:var(--space-2, .5rem);padding:var(--space-2, .5rem);background:var(--color-gray-50, #EFF3F3);border-radius:var(--radius-sm, 6px);font-size:13px;color:var(--color-text, rgba(0, 0, 0, .85))}@media(prefers-color-scheme:dark){.activity-item{background:#ffffff08;color:#ffffffd9}}.activity-icon{flex-shrink:0;color:var(--color-primary, #5A7F87)}.activity-text{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-text strong{font-weight:600;color:var(--color-text-primary, rgba(0, 0, 0, .95))}@media(prefers-color-scheme:dark){.activity-text strong{color:#fffffff2}}.activity-time{flex-shrink:0;font-size:11px;color:var(--color-text-tertiary, rgba(0, 0, 0, .4))}@media(prefers-color-scheme:dark){.activity-time{color:#fff6}}.presence-indicators.compact .recent-activity{display:none}.presence-indicators.compact .active-users{gap:0}@media(max-width:768px){.user-avatar{width:28px;height:28px;margin-left:-6px}.avatar-initials{font-size:11px}.recent-activity{max-width:100%}}@media(prefers-color-scheme:dark){.user-avatar,.editing-indicator{border-color:#1a1a1c}}@media(prefers-reduced-motion:reduce){.user-avatar,.editing-pulse,.activity-item{transition:none;animation:none}}.offline-banner{position:fixed;top:0;left:0;right:0;z-index:9999;padding:var(--space-3, .75rem) var(--space-4, 1rem);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 12px #0000001a}.offline-banner.offline{background:rgba(var(--color-warning-rgb, 245, 158, 11),.95);color:#fff}.offline-banner.online{background:rgba(var(--color-success-rgb, 34, 197, 94),.95);color:#fff}.offline-banner-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:var(--space-3, .75rem)}.offline-banner-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#fff3;border-radius:50%;flex-shrink:0}.offline-banner-message{display:flex;flex-direction:column;gap:var(--space-1, .25rem)}.offline-banner-message strong{font-size:14px;font-weight:600}.offline-banner-message span{font-size:12px;opacity:.9}@media(max-width:768px){.offline-banner{padding:var(--space-2, .5rem) var(--space-3, .75rem)}.offline-banner-icon{width:32px;height:32px}.offline-banner-message strong{font-size:13px}.offline-banner-message span{font-size:11px}}@media(prefers-reduced-motion:reduce){.offline-banner{transition:none}}.guest-limit-warning-container{position:fixed;top:70px;left:50%;transform:translate(-50%);width:90%;max-width:600px;z-index:1000;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.guest-limit-warning-content{display:flex;flex-direction:column;gap:12px}.guest-limit-warning-content strong{font-size:16px;color:var(--color-warning-dark, #856404)}.guest-limit-warning-content p{margin:0;font-size:14px;color:var(--color-warning-dark, #856404);line-height:1.5}.guest-warning-signup-btn{align-self:flex-start;padding:8px 16px;background-color:var(--color-primary, #007bff);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.guest-warning-signup-btn:hover{background-color:var(--color-primary-dark, #0056b3);transform:translateY(-1px);box-shadow:0 4px 8px #007bff4d}.guest-warning-signup-btn:active{transform:translateY(0)}@media(max-width:768px){.guest-limit-warning-container{top:60px;width:95%}.guest-limit-warning-content strong{font-size:15px}.guest-limit-warning-content p{font-size:13px}.guest-warning-signup-btn{width:100%;text-align:center}}.guest-upgrade-prompt-content{display:flex;flex-direction:column;align-items:center;padding:20px;text-align:center}.upgrade-icon{margin-bottom:20px;color:var(--color-primary, #007bff)}.guest-upgrade-prompt-content h3{margin:0 0 16px;font-size:24px;font-weight:700;color:var(--color-text-primary, #212529)}.upgrade-description{margin:0 0 24px;font-size:16px;color:var(--color-text-secondary, #6c757d)}.upgrade-benefits{width:100%;display:flex;flex-direction:column;gap:16px;margin-bottom:32px;text-align:left}.benefit-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background-color:var(--color-background-light, #F8FAFA);border-radius:8px;transition:all .2s ease}.benefit-item:hover{background-color:var(--color-background-hover, #e9ecef);transform:translate(4px)}.benefit-icon{flex-shrink:0;margin-top:2px;color:var(--color-success, #28a745)}.benefit-item span{font-size:15px;line-height:1.5;color:var(--color-text-primary, #212529)}.benefit-item strong{color:var(--color-text-primary, #212529)}.upgrade-actions{width:100%;display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.upgrade-signup-btn{width:100%;padding:14px 24px;font-size:16px;font-weight:600;border-radius:8px;transition:all .2s ease;background:var(--color-accent);color:var(--color-primary);border:none}.upgrade-signup-btn:hover{transform:translateY(-2px);background:var(--color-accent-600);color:var(--color-primary);box-shadow:0 6px 12px #e09f3e4d}.upgrade-dismiss-btn{width:100%;padding:12px 24px;font-size:14px;border-radius:8px;background:var(--color-secondary-100);color:var(--color-text-secondary);border:1px solid var(--color-border);transition:all .2s ease}.upgrade-dismiss-btn:hover{background:var(--color-secondary-200);color:var(--color-text-primary)}.upgrade-footer{margin:0;font-size:13px;color:var(--color-text-tertiary, #868e96);font-style:italic}@media(max-width:768px){.guest-upgrade-prompt-content{padding:16px}.guest-upgrade-prompt-content h3{font-size:20px}.upgrade-description{font-size:15px}.benefit-item{padding:10px}.benefit-item span{font-size:14px}.upgrade-signup-btn{padding:12px 20px;font-size:15px}}.guest-signup-prompt-content{display:flex;flex-direction:column;align-items:center;padding:32px 28px;text-align:center;background:var(--dc-surface, #FFFFFF)}.signup-prompt-icon{margin-bottom:20px;width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:50%;animation:scaleIn .5s cubic-bezier(.34,1.56,.64,1);box-shadow:0 8px 24px #22c55e40}.signup-prompt-icon svg{color:#fff}@keyframes scaleIn{0%{transform:scale(0) rotate(-180deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.guest-signup-prompt-content h3{margin:0 0 16px;font-size:26px;font-weight:700;color:var(--dc-text-strong, #0A2024);letter-spacing:-.02em}.signup-prompt-message{margin:0 0 32px;font-size:16px;line-height:1.7;color:var(--dc-text-secondary, #5A7F87);max-width:480px}.signup-prompt-message strong{color:var(--dc-text-primary, var(--color-primary));font-weight:600;background:linear-gradient(135deg,#22c55e,#16a34a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.signup-benefits-compact{width:100%;display:flex;flex-direction:column;gap:12px;margin-bottom:28px;text-align:left}.benefit-compact{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--dc-surface-secondary, #F5F5F7);border-radius:10px;border:1px solid var(--dc-border-subtle, #E5E5EA);transition:all .25s cubic-bezier(.4,0,.2,1)}.benefit-compact:hover{background:var(--dc-surface-hover, #EBEBF0);border-color:var(--dc-border, #D1D1D6);transform:translate(6px);box-shadow:0 2px 8px #00000014}.benefit-icon-small{flex-shrink:0;width:20px;height:20px;color:var(--dc-accent, #22C55E);opacity:.9}.benefit-compact span{font-size:14px;line-height:1.6;color:var(--dc-text-primary, var(--color-primary))}.benefit-compact strong{color:var(--dc-text-strong, #0A2024);font-weight:600}.signup-prompt-actions{width:100%;display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.signup-cta-btn{width:100%;padding:16px 32px;font-size:16px;font-weight:600;color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:10px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #22c55e40}.signup-cta-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #22c55e59;background:linear-gradient(135deg,#16a34a,#15803d)}.signup-cta-btn:active{transform:translateY(0);box-shadow:0 2px 8px #22c55e40}.continue-btn{width:100%;padding:12px 20px;font-size:14px;font-weight:500;color:var(--dc-text-secondary, #5A7F87);background:transparent;border:none;cursor:pointer;transition:all .2s ease}.continue-btn:hover{color:var(--dc-text-primary, var(--color-primary));text-decoration:underline}.signup-prompt-footer{margin:0;padding-top:8px;font-size:12px;line-height:1.5;color:var(--dc-text-tertiary, #86868B);font-style:italic}@media(max-width:768px){.guest-signup-prompt-content{padding:24px 20px}.signup-prompt-icon{width:56px;height:56px;margin-bottom:16px}.guest-signup-prompt-content h3{font-size:22px;margin-bottom:12px}.signup-prompt-message{font-size:15px;margin-bottom:24px;line-height:1.6}.signup-benefits-compact{gap:10px;margin-bottom:24px}.benefit-compact{padding:10px 14px}.benefit-compact span{font-size:13px}.benefit-icon-small{width:18px;height:18px}.signup-cta-btn{padding:14px 28px;font-size:15px}.continue-btn{padding:10px 16px;font-size:13px}}.photo-gallery-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;flex-direction:column;background:#000000eb;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.gallery-close-btn{position:absolute;top:16px;right:16px;z-index:3;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:9999px;background:#ffffff1f;color:#fff;cursor:pointer;transition:background .15s ease}.gallery-close-btn:hover{background:#ffffff3d}.gallery-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 72px 12px 24px;color:#fff}.gallery-location-info{min-width:0}.gallery-location-name{margin:0;font-size:1.1rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-location-city{margin:2px 0 0;font-size:.85rem;color:#ffffffb3}.gallery-counter{flex-shrink:0;font-size:.85rem;color:#ffffffb3;font-variant-numeric:tabular-nums}.gallery-content{position:relative;flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:0 24px}.gallery-nav-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:2;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:none;border-radius:9999px;background:#ffffff1f;color:#fff;cursor:pointer;transition:background .15s ease}.gallery-nav-btn:hover{background:#ffffff3d}.gallery-prev-btn{left:16px}.gallery-next-btn{right:16px}.gallery-image-wrapper{position:relative;display:flex;align-items:center;justify-content:center;max-width:100%;max-height:100%}.gallery-image{max-width:100%;max-height:78vh;object-fit:contain;border-radius:6px;cursor:zoom-in;-webkit-user-select:none;user-select:none}.gallery-image-wrapper.zoomed{overflow:auto}.gallery-image-wrapper.zoomed .gallery-image{max-height:none;max-width:none;transform:scale(1.6);cursor:zoom-out}.gallery-image-loader{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.loader-spinner{width:36px;height:36px;border:3px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:9999px;animation:lightbox-spin .8s linear infinite}@keyframes lightbox-spin{to{transform:rotate(360deg)}}.gallery-caption{position:absolute;left:0;right:0;bottom:0;padding:12px 16px;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);color:#fff;font-size:.9rem;border-radius:0 0 6px 6px}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;color:#fff}.gallery-toolbar-left,.gallery-toolbar-right{display:flex;align-items:center;gap:8px}.gallery-tool-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:none;border-radius:8px;background:#ffffff1f;color:#fff;font-size:.85rem;cursor:pointer;text-decoration:none;transition:background .15s ease}.gallery-tool-btn:hover{background:#ffffff3d}.gallery-thumbnails{display:flex;gap:8px;overflow-x:auto;padding:8px 24px 18px;justify-content:center}.gallery-thumbnail{flex-shrink:0;width:64px;height:48px;padding:0;border:2px solid transparent;border-radius:6px;overflow:hidden;background:none;cursor:pointer;opacity:.6;transition:opacity .15s ease,border-color .15s ease}.gallery-thumbnail:hover{opacity:.85}.gallery-thumbnail.active{opacity:1;border-color:#fff}.gallery-thumbnail img{width:100%;height:100%;object-fit:cover;display:block}@media(max-width:640px){.gallery-header{padding:14px 60px 10px 16px}.gallery-content{padding:0 12px}.gallery-nav-btn{width:40px;height:40px}.gallery-prev-btn{left:8px}.gallery-next-btn{right:8px}.gallery-tool-btn span{display:none}.gallery-image{max-height:68vh}}.shimmer-container{display:flex;flex-direction:column;gap:var(--spacing-4, 1rem)}.shimmer-wrapper{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.shimmer-line,.shimmer-image,.shimmer-avatar,.shimmer-button,.shimmer-circle,.shimmer-badge{background:var(--color-secondary-50);animation:pulse 2s ease-in-out infinite;border-radius:var(--radius-md, .5rem)}.shimmer-line{height:16px;margin-bottom:var(--spacing-2, .5rem)}.shimmer-line.shimmer-title{height:24px;width:70%;margin-bottom:var(--spacing-3, .75rem)}.shimmer-line.shimmer-subtitle{height:18px;width:50%;margin-bottom:var(--spacing-2, .5rem)}.shimmer-line.shimmer-text{height:14px;width:100%;margin-bottom:var(--spacing-2, .5rem)}.shimmer-line.shimmer-text.short{width:60%}.shimmer-line.shimmer-stat-value{height:32px;width:80px;margin-bottom:var(--spacing-2, .5rem)}.shimmer-image{width:100%;height:200px;border-radius:var(--radius-xl, 1rem);margin-bottom:var(--spacing-3, .75rem)}.shimmer-image.large{height:300px}.shimmer-avatar{width:48px;height:48px;border-radius:var(--radius-full, 9999px)}.shimmer-circle{border-radius:var(--radius-full, 9999px)}.shimmer-circle.small{width:40px;height:40px}.shimmer-circle.medium{width:60px;height:60px}.shimmer-button{height:40px;width:120px;border-radius:var(--radius-lg, .75rem)}.shimmer-button.small{height:32px;width:80px}.shimmer-badge{height:24px;width:60px;border-radius:var(--radius-full, 9999px)}.shimmer-card{background:#fff;border-radius:var(--radius-2xl, 1.5rem);padding:var(--spacing-5, 1.25rem);box-shadow:0 4px 16px #0000000d;border:1px solid rgba(0,0,0,.05)}.shimmer-content{margin-top:var(--spacing-4, 1rem)}.shimmer-timeline-item{display:flex;gap:var(--spacing-4, 1rem);padding:var(--spacing-5, 1.25rem);background:#fff;border-radius:var(--radius-xl, 1rem);box-shadow:0 2px 8px #0000000d}.shimmer-timeline-dot{width:16px;height:16px;border-radius:var(--radius-full, 9999px);background:var(--color-secondary-200);animation:pulse 2s ease-in-out infinite;flex-shrink:0;margin-top:4px}.shimmer-timeline-content{flex:1}.shimmer-timeline-footer{display:flex;gap:var(--spacing-2, .5rem);margin-top:var(--spacing-3, .75rem)}.shimmer-planner{background:#fff;border-radius:var(--radius-2xl, 1.5rem);padding:var(--spacing-6, 1.5rem);box-shadow:0 8px 24px #00000014}.shimmer-planner-header{margin-bottom:var(--spacing-5, 1.25rem)}.shimmer-planner-actions{display:flex;gap:var(--spacing-3, .75rem);margin-bottom:var(--spacing-6, 1.5rem)}.shimmer-planner-content{margin-top:var(--spacing-5, 1.25rem)}.shimmer-text-block{padding:var(--spacing-4, 1rem)}.shimmer-stat-card{display:flex;gap:var(--spacing-4, 1rem);padding:var(--spacing-5, 1.25rem);background:#fff;border-radius:var(--radius-xl, 1rem);box-shadow:0 2px 8px #0000000d;border:1px solid rgba(var(--color-primary-rgb),.12)}.shimmer-stat-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-lg, .75rem);background:var(--color-secondary-100)}.shimmer-stat-content{flex:1}.shimmer-progress-card{background:#fff;border-radius:var(--radius-2xl, 1.5rem);padding:var(--spacing-6, 1.5rem);box-shadow:0 8px 24px rgba(var(--color-primary-rgb),.08);border:1px solid rgba(var(--color-primary-rgb),.12)}.shimmer-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-6, 1.5rem)}.shimmer-progress-items{display:flex;flex-direction:column;gap:var(--spacing-4, 1rem)}.shimmer-progress-item{display:flex;align-items:center;gap:var(--spacing-3, .75rem)}.shimmer-location{display:flex;gap:var(--spacing-4, 1rem);align-items:center;padding:var(--spacing-4, 1rem);background:#fff;border-radius:var(--radius-xl, 1rem);box-shadow:0 2px 8px #0000000d;border:1px solid rgba(0,0,0,.05)}.shimmer-location-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.shimmer-location-content{flex:1}.shimmer-location-meta{display:flex;gap:var(--spacing-2, .5rem);margin-top:var(--spacing-2, .5rem)}@media(max-width:768px){.shimmer-card,.shimmer-planner{padding:var(--spacing-4, 1rem)}.shimmer-planner-actions{flex-wrap:wrap}.shimmer-image{height:160px}.shimmer-image.large{height:220px}}@media(prefers-reduced-motion:reduce){.shimmer-line,.shimmer-image,.shimmer-avatar,.shimmer-button,.shimmer-circle,.shimmer-badge,.shimmer-timeline-dot{animation:none;background:var(--color-secondary-100)}.shimmer-wrapper{animation:none;opacity:.7}}.page-transition-wrapper{width:100%;min-height:100%}.staggered-list{display:flex;flex-direction:column;gap:var(--spacing-4, 1rem)}.animated-card{cursor:pointer;transform-origin:center;will-change:transform}.collapse-transition{transform-origin:top}.fade-in-when-visible{will-change:transform,opacity}.scale-on-hover{cursor:pointer;will-change:transform}.pulse-animation,.slide-in-from-side{will-change:transform,opacity}.number-counter{display:inline-block;font-variant-numeric:tabular-nums;will-change:transform,opacity}.page-transition-wrapper,.animated-card,.scale-on-hover,.pulse-animation,.slide-in-from-side{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}@media(prefers-reduced-motion:reduce){.page-transition-wrapper,.staggered-list,.animated-card,.collapse-transition,.fade-in-when-visible,.scale-on-hover,.pulse-animation,.slide-in-from-side,.number-counter{animation:none!important;transition:none!important}.animated-card:hover,.scale-on-hover:hover{transform:none!important}}@supports (backdrop-filter: blur(10px)){.page-transition-wrapper{will-change:transform,opacity}}@media print{.page-transition-wrapper,.animated-card,.scale-on-hover{animation:none;transition:none;transform:none}}:root{--category-restaurant: var(--color-primary, var(--color-primary));--category-cafe: var(--color-secondary-400, var(--color-secondary));--category-museum: var(--color-secondary, #5A7F87);--category-attraction: var(--color-primary, var(--color-primary));--category-park: var(--color-secondary-500, #7B9C99);--category-shopping: var(--color-primary-700, #103236);--category-nightlife: var(--color-primary-800, #0A2024);--category-default: var(--color-primary, var(--color-primary));--map-control-bg: rgba(255, 255, 255, .95);--map-control-shadow: 0 2px 8px rgba(0, 0, 0, .1);--map-control-radius: var(--radius-md, 8px)}.search-map-container{position:relative;width:100%;height:100%;background:var(--bg-secondary, #EFF3F3)}.search-marker{width:36px;height:36px;min-width:36px;min-height:36px;cursor:pointer;-webkit-user-select:none;user-select:none}.search-marker__pin{width:100%;height:100%;border-radius:50%;background:var(--color-primary);color:#fff;font-weight:700;font-size:var(--font-size-sm, .875rem);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md, 0 2px 8px rgba(0, 0, 0, .3));border:2px solid white;transition:transform .2s ease,box-shadow .2s ease;will-change:transform}.search-marker[data-category=restaurant] .search-marker__pin{background:var(--category-restaurant)}.search-marker[data-category=cafe] .search-marker__pin{background:var(--category-cafe)}.search-marker[data-category=museum] .search-marker__pin{background:var(--category-museum)}.search-marker[data-category=attraction] .search-marker__pin{background:var(--category-attraction)}.search-marker[data-category=park] .search-marker__pin{background:var(--category-park)}.search-marker[data-category=shopping] .search-marker__pin{background:var(--category-shopping)}.search-marker[data-category=nightlife] .search-marker__pin{background:var(--category-nightlife)}.search-marker[data-category=default] .search-marker__pin,.search-marker:not([data-category]) .search-marker__pin{background:var(--category-default)}.search-marker:hover,.search-marker.hovered{z-index:999}.search-marker:hover .search-marker__pin,.search-marker.hovered .search-marker__pin{transform:scale(1.15);box-shadow:var(--shadow-lg, 0 4px 12px rgba(0, 0, 0, .4))}.search-marker.selected{z-index:1001}.search-marker.selected .search-marker__pin{transform:scale(1.2);box-shadow:var(--shadow-xl, 0 6px 16px rgba(0, 0, 0, .5))}.search-marker:focus{outline:2px solid var(--primary-500, var(--color-border-focus));outline-offset:2px}.search-marker:focus-visible{outline:3px solid var(--primary-500, var(--color-border-focus));outline-offset:3px}@media(max-width:768px){.search-marker{width:40px;height:40px;min-width:40px;min-height:40px}.search-marker__pin{font-size:var(--font-size-base, 1rem)}}.search-map-popup .mapboxgl-popup-content{padding:0!important;width:310px;max-width:min(310px,calc(100vw - 24px));border-radius:14px;overflow:hidden;box-shadow:0 12px 40px #00000038;border:none}.search-map-popup .mapboxgl-popup-close-button{right:6px;top:6px;color:#fff;font-size:16px;line-height:1;width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:#00000059;border-radius:50%;border:none;cursor:pointer;z-index:2;transition:background .15s}.search-map-popup .mapboxgl-popup-close-button:hover{background:#0000008c}.search-popup-container{display:flex;flex-direction:column;overflow:hidden;border-radius:14px;background:#fff}.search-popup-image-header{position:relative;width:100%;height:130px;overflow:hidden;flex-shrink:0}.search-popup-hero{width:100%;height:100%;object-fit:cover;display:block}.search-popup-image-overlay{position:absolute;bottom:0;left:0;right:0;padding:20px 10px 8px;background:linear-gradient(transparent,#000000a6);display:flex;align-items:center;gap:6px}.search-popup-color-bar{height:48px;padding:0 12px;display:flex;align-items:center;gap:8px;background:var(--color-primary, var(--color-primary))}.search-popup-color-bar[data-category=restaurant]{background:var(--color-primary)}.search-popup-color-bar[data-category=cafe]{background:#3d6e75}.search-popup-color-bar[data-category=museum]{background:#2d636e}.search-popup-color-bar[data-category=attraction]{background:var(--color-primary)}.search-popup-color-bar[data-category=park]{background:#2a7d4f}.search-popup-color-bar[data-category=shopping]{background:#103236}.search-popup-color-bar[data-category=nightlife]{background:#0a2024}.search-popup-cat-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:600;text-transform:capitalize;color:#fff;background:#ffffff38;border:1px solid rgba(255,255,255,.35);white-space:nowrap}.search-popup-rating-badge{margin-left:auto;font-size:12px;font-weight:600;color:gold;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.5)}.search-popup-body{padding:12px 14px 8px;display:flex;flex-direction:column;gap:5px}.search-popup-name{font-size:15px;font-weight:700;color:var(--color-primary, var(--color-primary));margin:0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.search-popup-address{font-size:11px;color:#7b9c99;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-popup-status-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.search-popup-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:500;white-space:nowrap}.search-popup-chip.chip-open{background:#e8f5e9;color:#2e7d32}.search-popup-chip.chip-closed{background:#fdecea;color:#c62828}.search-popup-chip.chip-neutral{background:#eff3f3;color:#5a7f87}.search-popup-description{font-size:12px;color:#7b9c99;line-height:1.5;margin:2px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.search-popup-actions{padding:8px 12px 12px;border-top:1px solid #EFF3F3;display:flex;flex-direction:column;gap:6px}.search-popup-btn-primary{width:100%;padding:9px 14px;background:var(--color-primary, var(--color-primary));color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,transform .1s ease;text-align:center;letter-spacing:.01em}.search-popup-btn-primary:hover{background:#155059;transform:translateY(-1px)}.search-popup-btn-primary:active{transform:translateY(0)}.search-popup-btn-primary:focus-visible{outline:2px solid var(--color-primary, var(--color-primary));outline-offset:2px}.search-popup-secondary-row{display:flex;gap:6px}.search-popup-btn-secondary{flex:1;padding:7px 10px;background:#eff3f3;color:var(--color-primary, var(--color-primary));border:none;border-radius:8px;font-size:12px;font-weight:500;cursor:pointer;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:4px;transition:background .15s ease;white-space:nowrap}.search-popup-btn-secondary:hover{background:#dde8e8;color:var(--color-primary)}.search-popup-btn-secondary:focus-visible{outline:2px solid var(--color-primary, var(--color-primary));outline-offset:2px}.search-map-controls{position:absolute;top:var(--spacing-4, 1rem);left:var(--spacing-4, 1rem);display:flex;flex-direction:column;gap:var(--spacing-2, .5rem);z-index:10}.search-map-badge{padding:var(--spacing-2, .5rem) var(--spacing-4, 1rem);background:var(--map-control-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--map-control-radius);box-shadow:var(--map-control-shadow);font-weight:600;font-size:var(--font-size-sm, .875rem);color:var(--text-primary, var(--color-primary));display:flex;align-items:center;gap:var(--spacing-2, .5rem)}.search-map-toggle-button{padding:var(--spacing-2, .5rem) var(--spacing-3, .75rem);background:var(--map-control-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:none;border-radius:var(--map-control-radius);box-shadow:var(--map-control-shadow);cursor:pointer;font-weight:600;font-size:var(--font-size-xs, .75rem);color:var(--text-primary, var(--color-primary));transition:all .2s ease}.search-map-toggle-button:hover{background:#fff;box-shadow:0 4px 12px #00000026}.search-map-toggle-button:focus{outline:2px solid var(--primary-500, var(--color-border-focus));outline-offset:2px}.search-map-recenter-button{padding:var(--spacing-2, .5rem);background:var(--map-control-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:none;border-radius:var(--map-control-radius);box-shadow:var(--map-control-shadow);cursor:pointer;display:flex;align-items:center;justify-content:center;width:40px;height:40px;transition:all .2s ease}.search-map-recenter-button:hover{background:#fff;box-shadow:0 4px 12px #00000026}.search-map-recenter-button:focus{outline:2px solid var(--primary-500, var(--color-border-focus));outline-offset:2px}.search-map-legend{position:absolute;bottom:var(--spacing-4, 1rem);left:var(--spacing-4, 1rem);padding:var(--spacing-3, .75rem);background:var(--map-control-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--map-control-radius);box-shadow:var(--map-control-shadow);font-size:var(--font-size-xs, .75rem);color:var(--text-secondary, #5A7F87);z-index:10;max-width:calc(100vw - var(--spacing-8, 2rem))}.search-map-legend-title{font-weight:600;margin-bottom:var(--spacing-2, .5rem);color:var(--text-primary, var(--color-primary));font-size:var(--font-size-sm, .875rem)}.search-map-legend-items{display:flex;flex-wrap:wrap;gap:var(--spacing-2, .5rem)}.search-map-legend-item{display:flex;align-items:center;gap:var(--spacing-1, .25rem)}.search-map-legend-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.search-map-legend-dot[data-category=restaurant]{background:var(--category-restaurant)}.search-map-legend-dot[data-category=cafe]{background:var(--category-cafe)}.search-map-legend-dot[data-category=museum]{background:var(--category-museum)}.search-map-legend-dot[data-category=attraction]{background:var(--category-attraction)}.search-map-legend-dot[data-category=park]{background:var(--category-park)}.search-map-legend-dot[data-category=shopping]{background:var(--category-shopping)}.search-map-legend-dot[data-category=nightlife]{background:var(--category-nightlife)}.search-map-legend-label{text-transform:capitalize;white-space:nowrap}@media(max-width:768px){.search-map-controls{top:var(--spacing-2, .5rem);left:var(--spacing-2, .5rem)}.search-map-badge{font-size:var(--font-size-xs, .75rem);padding:var(--spacing-1, .25rem) var(--spacing-3, .75rem)}.search-map-legend{bottom:var(--spacing-2, .5rem);left:var(--spacing-2, .5rem);padding:var(--spacing-2, .5rem);max-width:calc(100vw - var(--spacing-4, 1rem))}.search-map-legend-items{gap:var(--spacing-1, .25rem)}.search-map-recenter-button{width:36px;height:36px}}.search-map-loading{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--bg-secondary, #EFF3F3)}.search-map-loading:after{content:"Loading map...";font-size:var(--font-size-sm, .875rem);color:var(--text-tertiary, var(--color-secondary));animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.search-marker__pin,.search-map-toggle-button,.search-map-recenter-button,.search-popup-btn-primary,.search-popup-btn-secondary{transition:none}.search-map-loading:after{animation:none}}@media(prefers-contrast:high){.search-marker__pin{border-width:3px}.search-marker:focus{outline-width:3px}}.nav-bar{background:var(--nav-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid rgba(30,85,92,.3);box-shadow:0 4px 24px #1e555c26,0 1px 2px #1e555c14;padding:0;position:sticky;top:0;z-index:var(--z-fixed);transition:all .3s ease}.nav-bar.scrolled{background:var(--color-primary-600);backdrop-filter:blur(24px) saturate(200%);-webkit-backdrop-filter:blur(24px) saturate(200%);box-shadow:0 8px 32px #1e555c33,0 2px 4px #1e555c1a}.nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:var(--z-modal-backdrop);opacity:0;animation:fadeInOverlay .35s cubic-bezier(.25,.46,.45,.94) forwards;-webkit-tap-highlight-color:transparent}.nav-container{max-width:1600px;margin:0 auto;padding:.85rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.nav-logo{display:flex;align-items:center;gap:.75rem;font-weight:700;font-size:1.25rem;color:var(--nav-text);text-decoration:none;position:relative;overflow:hidden}.nav-logo-icon{font-size:1.5rem;color:var(--nav-text)}.nav-right{display:flex;align-items:center;gap:2rem;transition:transform .3s ease,opacity .3s ease,max-height .3s ease;transform:translateY(0);overflow:visible;z-index:105}.nav-links{list-style:none;display:flex;gap:1.5rem;margin:0;padding:0}.nav-link{display:flex;align-items:center;gap:.5rem;color:var(--nav-text);text-decoration:none;font-weight:500;padding:.5rem .75rem;border-radius:.375rem;transition:all .2s ease;min-width:6.5rem;justify-content:center;text-align:center;background:transparent;border:none;cursor:pointer;min-height:44px}.nav-logo-text{transition:color .2s ease,transform .2s ease;color:var(--nav-text)}.nav-logo:hover .nav-logo-text{color:var(--color-accent);transform:translateY(-1px)}.nav-link:hover{color:var(--nav-text);background-color:#ffffff26;text-decoration:none}.nav-link.active{color:var(--color-accent);background-color:#fff3}.dropdown{position:relative}.dropdown-toggle{background:none;border:none;font-family:inherit;font-size:inherit;cursor:pointer;display:flex;align-items:center;gap:.5rem;min-width:6.5rem;justify-content:center}.dropdown-arrow{transition:transform .2s ease;margin-left:.25rem}.dropdown-arrow.open{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:calc(100% + 5px);left:0;background:#ffffffe6;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:.75rem;box-shadow:0 20px 40px #0000001a,0 8px 16px #0000000f,inset 0 1px #ffffff80;border:1px solid rgba(255,255,255,.3);min-width:260px;padding:.5rem 0;z-index:100;animation:dropdownFadeIn .2s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:var(--color-text-secondary);text-decoration:none;font-weight:500;transition:all .2s ease;width:100%;background:transparent;border:none;text-align:left}.dropdown-item:hover{background-color:var(--color-secondary-50);color:var(--color-primary)}.dropdown-item:active{background-color:var(--color-secondary-100)}.nav-upgrade-btn{font-size:.8rem!important;padding:.35rem .9rem!important;border-radius:999px!important;background:#ffffff26!important;border:1px solid rgba(255,255,255,.4)!important;color:#fff!important;font-weight:600!important;letter-spacing:.02em;transition:background .15s,border-color .15s}.nav-upgrade-btn:hover{background:#ffffff40!important;border-color:#fff9!important}.user-menu{display:flex;align-items:center;gap:1rem}.avatar-menu{position:relative;display:flex;align-items:center}.avatar-trigger{border-radius:999px;padding:.35rem .75rem}.avatar-circle{width:32px;height:32px;border-radius:999px;background:var(--color-accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700}.avatar-dropdown{position:absolute;top:52px;right:0;min-width:180px;background:#ffffffe6;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:14px;box-shadow:0 24px 48px rgba(var(--color-primary-rgb),.15),0 8px 16px rgba(var(--color-primary-rgb),.08),inset 0 1px #ffffff80;border:1px solid rgba(255,255,255,.3);padding:6px 0;animation:dropdownFadeIn .18s ease-out;z-index:110}.avatar-dropdown__header{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--color-secondary-200)}.avatar-circle.sm{width:32px;height:32px;font-size:.9rem}.avatar-dropdown__meta{display:flex;flex-direction:column;gap:2px}.meta-name{font-weight:700;color:var(--color-text-primary)}.meta-email{font-size:.8rem;color:var(--color-text-secondary)}.mobile-menu-toggle{display:none}.mobile-menu-toggle.burger{width:44px;height:44px;display:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:#ffffff26;box-shadow:0 4px 12px #1e555c26;transition:transform .25s ease,box-shadow .25s ease,background .25s ease;position:relative;z-index:var(--z-max)}.mobile-menu-toggle.burger:hover{background:#ffffff40;box-shadow:0 6px 16px #1e555c33}.mobile-menu-toggle.burger:active{transform:scale(.95);box-shadow:0 2px 8px #1e555c26}.mobile-menu-toggle.burger.open{background:#fff;border-color:var(--error-200)}.mobile-menu-toggle.burger.open:hover{background:var(--error-50);border-color:var(--error-300)}.burger-line{width:20px;height:2px;background:#fff;border-radius:2px;transition:transform .25s ease,opacity .2s ease,width .2s ease}.mobile-menu-toggle.burger.open .burger-line{background:var(--error-500)}.mobile-menu-toggle.burger.open .burger-line:nth-child(1){transform:translateY(8px) rotate(45deg)}.mobile-menu-toggle.burger.open .burger-line:nth-child(2){opacity:0;transform:scale(0)}.mobile-menu-toggle.burger.open .burger-line:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.quick-search-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;align-items:flex-start;justify-content:center;padding:80px 16px 24px;pointer-events:none}.quick-search-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(var(--color-primary-rgb),.45);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.quick-search-card{position:relative;width:min(720px,100%);background:#fffffff2;backdrop-filter:blur(24px) saturate(200%);-webkit-backdrop-filter:blur(24px) saturate(200%);border-radius:18px;padding:20px;box-shadow:0 32px 72px rgba(var(--color-primary-rgb),.25),0 12px 24px rgba(var(--color-primary-rgb),.12),inset 0 1px #fff9;border:1px solid rgba(255,255,255,.4);pointer-events:all;animation:dropdownFadeIn .25s ease}.quick-search-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.quick-search-input-row{display:flex;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--color-secondary-200);border-radius:12px;background:var(--surface-secondary)}.quick-search-icon{color:var(--color-primary)}.quick-search-input{flex:1;border:none;background:transparent;font-size:1rem;outline:none;color:var(--color-text-primary)}.quick-search-input::placeholder{color:var(--color-text-tertiary)}.quick-search-hints{margin-top:10px;color:var(--color-text-secondary);font-size:.9rem}@media(max-width:768px){.nav-container{padding:.75rem 1rem;max-width:100%}.nav-right{position:fixed;top:0;left:0;right:0;height:auto;max-height:85vh;background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 8px 32px #0000001f,0 2px 8px #00000014;border-bottom-left-radius:16px;border-bottom-right-radius:16px;flex-direction:column;align-items:flex-start;padding:60px 0 16px;opacity:0;pointer-events:none;transform:translateY(-100%);gap:0;border:none;overflow-y:auto;overflow-x:hidden;z-index:var(--z-modal);transition:transform .35s cubic-bezier(.25,.46,.45,.94),opacity .35s cubic-bezier(.25,.46,.45,.94);padding-top:calc(60px + env(safe-area-inset-top,0px));-webkit-overflow-scrolling:touch}.nav-right.open{opacity:1;pointer-events:all;transform:translateY(0)}.nav-links{display:none}.nav-link{padding:1.5rem;justify-content:flex-start;width:100%;font-size:1.1875rem;font-weight:400;min-height:72px;line-height:1.35;min-width:unset;border-radius:0;background:transparent;border:none;border-bottom:1px solid var(--color-secondary-200);color:var(--color-text-primary);transition:background-color .2s ease}.nav-link:active{background:var(--color-secondary-50)}.nav-link svg{width:22px;height:22px}.nav-link.active{background:transparent;color:var(--color-accent);font-weight:600}.nav-link:last-of-type{border-bottom:none}.user-menu{width:100%;flex-direction:column;gap:0}.mobile-user-header{display:flex;align-items:center;gap:16px;padding:1.25rem 1.5rem;border:none;border-radius:0;margin-bottom:0;min-height:80px}.mobile-user-header .user-avatar,.mobile-user-header .avatar-circle{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-700) 100%);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.25rem;color:#fff;flex-shrink:0;box-shadow:0 2px 8px #1e555c4d}.mobile-user-meta{display:flex;flex-direction:column;gap:4px;flex:1}.mobile-meta-name{font-weight:600;color:var(--color-text-primary);font-size:1.0625rem;line-height:1.3}.mobile-meta-email{font-size:.875rem;color:var(--color-text-secondary);line-height:1.3}.mobile-user-menu{display:flex;flex-direction:column;gap:0;width:100%}.nav-link--mobile-menu{padding:1.25rem 1.5rem;justify-content:flex-start;width:100%;font-size:1.0625rem;font-weight:500;min-height:64px;border-radius:0;background:transparent;border:none;border-bottom:1px solid var(--color-secondary-100);color:var(--color-text-primary);transition:all .2s ease;display:flex;align-items:center;gap:14px}.nav-link--mobile-menu:hover{background:var(--color-secondary-50)}.nav-link--mobile-menu:active{background:var(--color-secondary-100);transform:scale(.98)}.nav-link--mobile-menu svg{color:var(--color-secondary);flex-shrink:0;width:22px;height:22px}.nav-link--logout{color:var(--error-500);font-weight:500;border-top:2px solid var(--color-secondary-100);margin-top:8px;padding-top:1.5rem;border-bottom:none;background:var(--surface-secondary)}.nav-link--logout:hover{background:var(--error-50)}.nav-link--logout:active{background:var(--error-100);transform:scale(.98)}.nav-link--logout svg{color:var(--error-500)}.login-button{width:100%;min-height:64px;font-size:1.125rem;padding:1.25rem 1.5rem}.nav-link--profile{order:-1}.avatar-menu{width:100%}.avatar-trigger{width:100%;height:auto;padding:1rem 1.25rem;border-radius:12px;background:#fff9;border:1px solid rgba(0,0,0,.05);justify-content:flex-start;gap:12px}.avatar-dropdown{position:static;width:100%;margin-top:8px;box-shadow:none;border:1px solid rgba(0,0,0,.08)}.dropdown-menu{right:0;left:auto;min-width:240px}.mobile-menu-toggle,.mobile-menu-toggle.burger{display:inline-flex}}@media(min-width:769px)and (max-width:1024px){.nav-link,.dropdown-toggle{min-width:5.5rem}.user-profile-link,.logout-button,.login-button{min-width:5rem}}.error-boundary-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-6);background:var(--color-primary-100, #E3EBED)}.error-boundary-card{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);box-shadow:var(--glass-shadow);padding:var(--spacing-12);max-width:600px;width:100%;text-align:center}.error-icon{display:flex;justify-content:center;margin-bottom:var(--spacing-6);color:var(--color-error);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.error-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-4);line-height:var(--line-height-tight)}.error-message{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--spacing-8);line-height:var(--line-height-relaxed)}.error-details{background:var(--color-background-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-4);margin-bottom:var(--spacing-6);text-align:left}.error-details summary{cursor:pointer;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-2);-webkit-user-select:none;user-select:none}.error-details summary:hover{color:var(--color-primary)}.error-stack{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-4);margin-top:var(--spacing-3);font-family:var(--font-family-mono, "Courier New", monospace);font-size:var(--font-size-sm);color:var(--color-error);overflow-x:auto;white-space:pre-wrap;word-break:break-all}.error-actions{display:flex;gap:var(--spacing-4);justify-content:center;margin-bottom:var(--spacing-6)}.error-warning{background:#c7c8cd1a;border:1px solid rgba(199,200,205,.3);border-radius:var(--radius-lg);padding:var(--spacing-4);margin-top:var(--spacing-6)}.error-warning p{font-size:var(--font-size-sm);color:var(--color-warning);margin:0;line-height:var(--line-height-relaxed)}@media(max-width:768px){.error-boundary-container{padding:var(--spacing-4)}.error-boundary-card{padding:var(--spacing-8)}.error-icon svg{width:48px;height:48px}.error-title{font-size:var(--font-size-2xl)}.error-message{font-size:var(--font-size-base)}.error-actions{flex-direction:column;gap:var(--spacing-3)}.error-actions button{width:100%}.error-stack{font-size:var(--font-size-xs)}}@media(max-width:480px){.error-boundary-card{padding:var(--spacing-6)}.error-title{font-size:var(--font-size-xl)}.error-icon svg{width:40px;height:40px}}:root{--primary-50: #F1F5F6;--primary-100: #E3EBED;--primary-200: #C5D6D9;--primary-300: #9AB8BE;--primary-400: #5E8A94;--primary-500: #1E555C;--primary-600: #164349;--primary-700: #103236;--primary-800: #0A2024;--primary-900: #051012;--secondary-50: #F8FAFA;--secondary-100: #EFF3F3;--secondary-200: #DFE7E6;--secondary-300: #C5D6D4;--secondary-400: #9DB5B2;--secondary-500: #7B9C99;--secondary-600: #5E7D7A;--secondary-700: #475E5C;--secondary-800: #2F3F3E;--secondary-900: #1A2221;--accent-50: #FEF9F3;--accent-100: #FDF2E5;--accent-200: #FBE4CA;--accent-300: #F7CF9F;--accent-400: #EDB86A;--accent-500: #E09F3E;--accent-600: #D18F30;--accent-700: #B47726;--accent-800: #8A5A1D;--accent-900: #5D3D13;--success-50: #F0FDF4;--success-100: #DCFCE7;--success-200: #BBF7D0;--success-500: #22C55E;--success-600: #16A34A;--success-700: #15803D;--warning-50: #FFFBEB;--warning-100: #FEF3C7;--warning-200: #FDE68A;--warning-500: #F59E0B;--warning-600: #D97706;--warning-700: #B45309;--error-50: #FEF2F2;--error-100: #FEE2E2;--error-200: #FECACA;--error-500: #EF4444;--error-600: #DC2626;--error-700: #B91C1C;--info-50: #F1F5F6;--info-500: #5A7F87;--info-600: #1E555C;--info-700: #164349;--gray-50: #FAFBFB;--gray-100: #F5F7F7;--gray-200: #E8ECEB;--gray-300: #D1D8D7;--gray-400: #A8B5B3;--gray-500: #7B8C8A;--gray-600: #5A6B69;--gray-700: #3F4D4C;--gray-800: #2A3534;--gray-900: #1A2221;--color-primary: var(--primary-500);--color-primary-hover: var(--primary-600);--color-primary-active: var(--primary-700);--color-secondary: var(--secondary-400);--color-secondary-hover: var(--secondary-500);--color-accent: var(--accent-500);--color-accent-hover: var(--accent-600);--color-background: #FFFFFF;--color-surface: #FFFFFF;--color-surface-elevated: #FFFFFF;--color-text-primary: #1E555C;--color-text-secondary: #5A7F87;--color-text-tertiary: #9DB5B2;--color-text-inverse: #FFFFFF;--color-border: #E8ECEB;--color-border-hover: #D1D8D7;--color-divider: #E8ECEB;--gradient-primary: var(--color-primary);--gradient-secondary: var(--color-secondary);--gradient-accent: var(--color-accent);--gradient-sunset: var(--color-accent);--gradient-ocean: var(--color-primary);--gradient-forest: var(--color-secondary);--gradient-terracotta: var(--color-accent);--gradient-vibrant: var(--color-primary);--gradient-mediterranean: var(--color-primary);--gradient-alpine: var(--color-secondary);--gradient-urban: var(--color-primary);--gradient-coastal: var(--color-primary);--gradient-text-primary: var(--color-primary);--gradient-text-vibrant: var(--color-accent);--font-sans: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--font-display: "Poppins", sans-serif;--font-mono: "SF Mono", "Monaco", "Courier New", monospace;--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: 2rem;--font-size-4xl: 2.5rem;--font-size-5xl: 3rem;--font-size-6xl: 3.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-24: 6rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .03);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .06), 0 1px 2px -1px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -2px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .08);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .12), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .2);--shadow-primary: var(--shadow-md);--shadow-primary-lg: var(--shadow-lg);--shadow-secondary: var(--shadow-md);--shadow-accent: var(--shadow-md);--transition-fast: .15s ease-out;--transition-base: .2s ease-out;--transition-slow: .3s ease-out;--transition-slower: .5s ease-out;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--z-notification: 1080;--glass-bg: rgba(255, 255, 255, .85);--glass-bg-subtle: rgba(255, 255, 255, .7);--glass-bg-strong: rgba(255, 255, 255, .95);--glass-border: rgba(255, 255, 255, .18);--glass-blur: blur(20px) saturate(180%);--glass-blur-subtle: blur(12px);--glass-blur-strong: blur(30px) saturate(200%);--glass-shadow: 0 8px 32px 0 rgba(var(--color-primary-rgb), .12);--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-background);transition:background-color var(--transition-base),color var(--transition-base)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary);margin-bottom:var(--spacing-4);letter-spacing:-.02em}h1{font-size:var(--font-size-6xl)}h2{font-size:var(--font-size-4xl)}h3{font-size:var(--font-size-3xl)}h4{font-size:var(--font-size-2xl)}h5{font-size:var(--font-size-xl)}h6{font-size:var(--font-size-lg)}p{margin-bottom:var(--spacing-4);color:var(--color-text-secondary)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--color-primary-hover);text-decoration:underline}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background-color:var(--primary-200);color:var(--gray-900)}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 var(--spacing-4)}@media(min-width:768px){.container{padding:0 var(--spacing-8)}}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-center{text-align:center}.text-right{text-align:right}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--spacing-2)}.gap-4{gap:var(--spacing-4)}.gap-6{gap:var(--spacing-6)}.gap-8{gap:var(--spacing-8)}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}@media(max-width:767px){.grid-cols-2,.grid-cols-3{grid-template-columns:1fr}}.m-0{margin:0}.mt-2{margin-top:var(--spacing-2)}.mt-4{margin-top:var(--spacing-4)}.mt-6{margin-top:var(--spacing-6)}.mt-8{margin-top:var(--spacing-8)}.mb-2{margin-bottom:var(--spacing-2)}.mb-4{margin-bottom:var(--spacing-4)}.mb-6{margin-bottom:var(--spacing-6)}.mb-8{margin-bottom:var(--spacing-8)}.p-0{padding:0}.p-2{padding:var(--spacing-2)}.p-4{padding:var(--spacing-4)}.p-6{padding:var(--spacing-6)}.p-8{padding:var(--spacing-8)}.transition{transition:all var(--transition-base)}.transition-fast{transition:all var(--transition-fast)}.transition-slow{transition:all var(--transition-slow)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fadeIn{animation:fadeIn var(--transition-base)}.animate-slideUp{animation:slideUp var(--transition-slow)}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.skip-to-main{position:absolute;left:-9999px;z-index:999;padding:var(--spacing-4);background-color:var(--color-primary);color:var(--color-text-inverse);text-decoration:none;border-radius:var(--radius-md)}.skip-to-main:focus{left:var(--spacing-4);top:var(--spacing-4)}.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}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(prefers-contrast:high){:root{--color-border: var(--gray-900);--shadow-sm: 0 0 0 1px var(--gray-900)}}.glass-card{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);box-shadow:var(--glass-shadow);position:relative;overflow:hidden;transition:all var(--transition-base)}.glass-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.glass-card-subtle{background:var(--glass-bg-subtle);backdrop-filter:var(--glass-blur-subtle);-webkit-backdrop-filter:var(--glass-blur-subtle);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.glass-card-strong{background:var(--glass-bg-strong);backdrop-filter:var(--glass-blur-strong);-webkit-backdrop-filter:var(--glass-blur-strong);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl)}.glass-container{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);padding:var(--spacing-8);box-shadow:var(--glass-shadow)}@media(prefers-reduced-motion:reduce){.glass-card,.glass-card-subtle,.glass-card-strong,.glass-container{backdrop-filter:none;-webkit-backdrop-filter:none}}:root{--bp-xs: 380px;--bp-sm: 480px;--bp-md: 768px;--bp-lg: 1024px;--bp-xl: 1280px;--bp-xxl: 1440px;--container-xs: 100%;--container-sm: 540px;--container-md: 720px;--container-lg: 960px;--container-xl: 1140px;--container-xxl: 1320px;--mobile-padding: 16px;--mobile-padding-sm: 12px;--mobile-padding-lg: 20px;--touch-target-min: 44px;--touch-target-comfortable: 48px;--touch-target-large: 56px;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--z-mobile-header: 1000;--z-mobile-nav: 1010;--z-mobile-bottom-sheet: 1020;--z-mobile-modal: 1030;--z-mobile-toast: 1040;--font-xs-mobile: clamp(.75rem, 3vw, .875rem);--font-sm-mobile: clamp(.875rem, 3.5vw, 1rem);--font-base-mobile: clamp(1rem, 4vw, 1.125rem);--font-lg-mobile: clamp(1.125rem, 4.5vw, 1.25rem);--font-xl-mobile: clamp(1.25rem, 5vw, 1.5rem);--font-2xl-mobile: clamp(1.5rem, 6vw, 1.875rem);--font-3xl-mobile: clamp(1.875rem, 7vw, 2.25rem);--space-xs-mobile: clamp(.25rem, 1vw, .5rem);--space-sm-mobile: clamp(.5rem, 2vw, .75rem);--space-md-mobile: clamp(.75rem, 3vw, 1rem);--space-lg-mobile: clamp(1rem, 4vw, 1.5rem);--space-xl-mobile: clamp(1.5rem, 5vw, 2rem);--space-2xl-mobile: clamp(2rem, 6vw, 3rem);--scroll-indicator-size: 8px;--scroll-indicator-color: rgba(0, 0, 0, .3);--scroll-indicator-active-color: rgba(0, 0, 0, .6)}@media(max-width:768px){.hide-on-mobile{display:none!important}}.show-on-mobile{display:none!important}@media(max-width:768px){.show-on-mobile{display:block!important}.show-on-mobile-flex{display:flex!important}.show-on-mobile-grid{display:grid!important}}@media(min-width:769px)and (max-width:1024px){.hide-on-tablet{display:none!important}}.show-on-tablet{display:none!important}@media(min-width:769px)and (max-width:1024px){.show-on-tablet{display:block!important}}@media(min-width:1025px){.hide-on-desktop{display:none!important}}@media(max-width:1024px){.show-on-desktop{display:none!important}}@media(min-width:1025px){.show-on-desktop{display:block!important}}@media(hover:none){.hover-effect:hover{transform:none!important;box-shadow:none!important}}@media(hover:none){button,a,.clickable{min-height:var(--touch-target-min);min-width:var(--touch-target-min);padding:12px 16px}}.safe-area-top{padding-top:var(--safe-area-top)}.safe-area-right{padding-right:var(--safe-area-right)}.safe-area-bottom{padding-bottom:var(--safe-area-bottom)}.safe-area-left{padding-left:var(--safe-area-left)}.safe-area-inset{padding-top:var(--safe-area-top);padding-right:var(--safe-area-right);padding-bottom:var(--safe-area-bottom);padding-left:var(--safe-area-left)}.container-mobile{width:100%;max-width:var(--container-md);margin:0 auto;padding:0 var(--mobile-padding)}@media(min-width:769px){.container-mobile{padding:0 var(--mobile-padding-lg)}}@media(min-width:1025px){.container-mobile{max-width:var(--container-lg)}}.horizontal-scroll-container{position:relative;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none}.horizontal-scroll-container::-webkit-scrollbar{display:none}.scroll-indicators{display:flex;gap:8px;justify-content:center;margin-top:12px}.scroll-indicator-dot{width:var(--scroll-indicator-size);height:var(--scroll-indicator-size);border-radius:50%;background-color:var(--scroll-indicator-color);transition:all .3s ease}.scroll-indicator-dot.active{background-color:var(--scroll-indicator-active-color);transform:scale(1.2)}.horizontal-scroll-container:before,.horizontal-scroll-container:after{content:"";position:absolute;top:0;bottom:0;width:40px;pointer-events:none;z-index:10;transition:opacity .3s ease}.horizontal-scroll-container:before{left:0;background:linear-gradient(to right,rgba(255,255,255,.9),transparent);opacity:0}.horizontal-scroll-container:after{right:0;background:linear-gradient(to left,rgba(255,255,255,.9),transparent);opacity:1}.horizontal-scroll-container.scrolled-start:before{opacity:0}.horizontal-scroll-container.scrolled-middle:before,.horizontal-scroll-container.scrolled-middle:after{opacity:1}.horizontal-scroll-container.scrolled-end:after{opacity:0}@media(max-width:768px){input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],input[type=search],input[type=url],textarea,select{font-size:16px;padding:12px 16px;min-height:var(--touch-target-min)}}@media(orientation:landscape)and (max-height:600px){.landscape-compact{padding-top:var(--space-sm-mobile);padding-bottom:var(--space-sm-mobile)}h1,.h1{font-size:var(--font-xl-mobile)}h2,.h2{font-size:var(--font-lg-mobile)}}@media(max-width:380px){:root{--mobile-padding: 12px;--mobile-padding-sm: 8px}body{font-size:var(--font-sm-mobile)}h1,.h1{font-size:var(--font-xl-mobile)}h2,.h2{font-size:var(--font-lg-mobile)}h3,.h3{font-size:var(--font-base-mobile)}.grid-auto-fit{grid-template-columns:1fr}.button-group{flex-direction:column;width:100%}.button-group button{width:100%}}@media(min-width:769px)and (max-width:1024px){.container-mobile{max-width:var(--container-md);padding:0 24px}.grid-auto-fit-tablet{grid-template-columns:repeat(2,1fr)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.scroll-indicator-dot{transition:none}}@media(prefers-contrast:high){.scroll-indicator-dot{border:2px solid currentColor}.scroll-indicator-dot.active{background-color:currentColor}}:root{--primary: #1E555C;--primary-dark: #164349;--primary-light: #F1F5F6;--secondary: #9DB5B2;--success: #22C55E;--danger: #EF4444;--warning: #E09F3E;--info: #5A7F87;--gray-100: #F5F7F7;--gray-200: #E8ECEB;--gray-300: #D1D8D7;--gray-400: #A8B5B3;--gray-500: #7B8C8A;--gray-600: #5A6B69;--gray-700: #3F4D4C;--gray-800: #2A3534;--gray-900: #1A2221;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .06), 0 1px 2px -1px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -2px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .08);--transition-fast: .15s ease-out;--transition-normal: .25s ease-out}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:#fff;color:var(--color-primary);line-height:1.5}.container{max-width:1600px;margin:0 auto;padding:var(--spacing-lg)}h1,h2,h3,h4,h5,h6{color:var(--color-primary);font-family:Poppins,sans-serif;font-weight:600;line-height:1.25;margin-bottom:var(--spacing-md)}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}p{margin-bottom:var(--spacing-md)}input[type=text]{width:100%;padding:.65rem .75rem;border:1px solid var(--gray-300);border-radius:var(--radius-md);background-color:#fff;color:var(--gray-900);font-size:.875rem;transition:border-color var(--transition-fast)}input[type=text]:focus{outline:none;border-color:var(--warning);box-shadow:0 0 0 3px #e09f3e33}input[type=text]::placeholder{color:var(--gray-400)}
