:root{--dc-bg: #EDEDEE;--dc-surface: #FFFFFF;--dc-text-primary: #2C2D2D;--dc-text-strong: #141516;--dc-text-secondary: #5B5A65;--dc-text-tertiary: #9C9B9E;--dc-divider: #E5E6E8;--dc-accent: #5B5A65;--dc-cta: #2C2D2D;--dc-on-cta: #FFFFFF;--dc-input-bg: #F4F4F6;--dc-map-line: #5B5A65;--dc-map-label: #9C9B9E;--color-primary: #5B5A65;--color-primary-rgb: 91, 90, 101;--color-primary-50: #f9f9f9;--color-primary-100: #f4f4f6;--color-primary-200: #e5e6e8;--color-primary-300: #c7c8cd;--color-primary-400: #9c9b9e;--color-primary-500: #5b5a65;--color-primary-600: #2c2d2d;--color-primary-700: #1f2020;--color-primary-800: #141516;--color-primary-900: #0a0a0a;--color-secondary: #2C2D2D;--color-secondary-rgb: 44, 45, 45;--color-secondary-50: #f9f9f9;--color-secondary-100: #f4f4f6;--color-secondary-200: #e5e6e8;--color-secondary-300: #c7c8cd;--color-secondary-400: #9c9b9e;--color-secondary-500: #5b5a65;--color-secondary-600: #2C2D2D;--color-secondary-700: #1f2020;--color-secondary-800: #141516;--color-secondary-900: #0a0a0a;--color-success: #22C55E;--color-success-rgb: 34, 197, 94;--color-success-light: #F0FDF4;--color-success-dark: #15803D;--color-warning: #F59E0B;--color-warning-rgb: 245, 158, 11;--color-warning-light: #FFFBEB;--color-warning-dark: #B45309;--color-error: #EF4444;--color-error-rgb: 239, 68, 68;--color-error-light: #FEF2F2;--color-error-dark: #B91C1C;--color-info: #5B5A65;--color-info-rgb: 91, 90, 101;--color-info-light: #F4F4F6;--color-info-dark: #2C2D2D;--color-pink: #5B5A65;--color-pink-rgb: 91, 90, 101;--color-pink-light: #F4F4F6;--color-pink-dark: #2C2D2D;--color-slate: #5B5A65;--color-slate-rgb: 91, 90, 101;--color-slate-light: #F4F4F6;--color-slate-dark: #2C2D2D;--color-gray-50: #f9f9f9;--color-gray-100: #f4f4f6;--color-gray-200: #e5e6e8;--color-gray-300: #c7c8cd;--color-gray-400: #9c9b9e;--color-gray-500: #5b5a65;--color-gray-600: #2c2d2d;--color-gray-700: #1f2020;--color-gray-800: #141516;--color-gray-900: #0a0a0a;--color-background: #EDEDEE;--color-background-secondary: #f4f4f6;--color-background-tertiary: #e9eaec;--color-surface: #FFFFFF;--color-surface-raised: #FFFFFF;--color-surface-overlay: rgba(255, 255, 255, .98);--color-border: #E5E6E8;--color-border-hover: #c7c8cd;--color-border-focus: var(--dc-accent);--color-divider: #E5E6E8;--color-text-primary: #2C2D2D;--color-text-secondary: #5B5A65;--color-text-tertiary: #9C9B9E;--color-text-disabled: #c7c8cd;--color-text-inverse: #FFFFFF;--font-sans: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--font-display: "Poppins", 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;--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(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-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .03);--shadow-focus: 0 0 0 2px rgba(91, 90, 101, .2);--shadow-focus-error: 0 0 0 3px rgba(var(--color-error-rgb), .1);--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);--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: 32px;--button-height-md: 40px;--button-height-lg: 48px;--button-padding-x-sm: var(--space-3);--button-padding-x-md: var(--space-4);--button-padding-x-lg: var(--space-6);--input-height-sm: 32px;--input-height-md: 40px;--input-height-lg: 48px;--input-padding-x: var(--space-3);--input-border-width: 1px;--card-padding: var(--space-6);--card-radius: var(--radius-xl);--card-shadow: var(--shadow-md);--nav-height: 64px;--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)}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-secondary)}.bg-surface{background-color:var(--color-surface)}.bg-background{background-color:var(--color-background)}.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-fast{transition-duration:var(--duration-fast)}.transition-normal{transition-duration:var(--duration-normal)}.transition-slow{transition-duration:var(--duration-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(--dc-accent);outline-offset:2px}@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 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(91,90,101,.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, #E5E6E8);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, #2C2D2D)}.toast-info .toast-icon{color:var(--primary-500, #2C2D2D)}.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, #2C2D2D);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, #5B5A65);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(--gray-100, #F4F4F6);color:var(--color-text-primary, #2C2D2D)}.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}}:root{--primary-gradient: #5B5A65;--primary-color: #5B5A65;--primary-hover: #2C2D2D;--primary-active: #2C2D2D;--accent-color: #1f2020;--accent-hover: #141516;--mediterranean-color: #2C2D2D;--mediterranean-gradient: #2C2D2D;--alpine-color: #2C2D2D;--alpine-gradient: #2C2D2D;--urban-color: #2C2D2D;--urban-gradient: #2C2D2D;--glass-bg: rgba(255, 255, 255, .95);--glass-border: rgba(156, 155, 158, .2);--glass-shadow: 0 4px 16px 0 rgba(0, 0, 0, .08);--glass-blur: blur(8px);--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--text-primary: #141516;--text-secondary: #5B5A65;--text-muted: #5B5A65;--border-color: #E5E6E8;--border-hover: #C7C8CD;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 4px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .08);--shadow-xl: 0 8px 16px rgba(0, 0, 0, .1);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .625rem;--radius-xl: .75rem;--radius-2xl: .875rem;--radius-full: 9999px}.wizard-container{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-2xl);padding:3rem 2.5rem;margin:2rem auto;max-width:960px;box-shadow:var(--shadow-md);position:relative;animation:containerFadeIn .5s ease-out}.wizard-title{text-align:center;margin-bottom:1rem;font-size:1.875rem;font-weight:700;letter-spacing:-.02em;color:var(--primary-color);line-height:1.2}.privacy-badges{display:flex;justify-content:center;align-items:center;gap:1rem;margin-bottom:2rem;animation:fadeIn 1s ease-out .3s backwards}.privacy-badge{display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.8125rem;font-weight:500;color:var(--text-secondary);white-space:nowrap;transition:all var(--transition-base)}.privacy-badge:hover{background:var(--bg-tertiary);border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.privacy-badge svg{flex-shrink:0}@media(max-width:768px){.privacy-badges{flex-wrap:wrap;gap:.6rem}.privacy-badge{font-size:.75rem;padding:.35rem .75rem}}.wizard-step-container{position:relative;min-height:400px;perspective:1000px}.quick-start-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1rem 1.25rem;margin:0 0 1.5rem}.quick-start-copy{display:flex;flex-direction:column;gap:4px}.quick-title{margin:0;font-weight:700;color:#2c2d2d}.quick-subtitle{margin:0;color:#5b5a65;font-size:14px}.quick-error{margin:0;color:var(--error-600, #DC2626);font-size:13px}.quick-start-button{display:inline-flex;align-items:center;gap:.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);padding:.625rem 1rem;cursor:pointer;font-weight:600;font-size:.9375rem;transition:all var(--transition-base)}.quick-start-button:hover{background:var(--gradient-primary);transform:translateY(-2px) scale(1.02);box-shadow:0 8px 16px #5b5a6566}.quick-start-button:disabled{opacity:.6;cursor:not-allowed}.wizard-step{transition:all var(--transition-base);animation:stepFadeIn .5s ease-out;transform-style:preserve-3d}.wizard-progress{display:flex;justify-content:space-between;align-items:center;margin:0 auto 2.5rem;position:relative;max-width:720px;gap:1rem;padding:1.25rem 1.5rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.wizard-progress:hover{box-shadow:var(--shadow-md)}.progress-track{position:absolute;top:calc(50% + 6px);left:24px;right:24px;height:3px;background:var(--border-color);border-radius:var(--radius-sm);transform:translateY(-50%);z-index:1}.progress-fill{height:100%;background:var(--gradient-accent);border-radius:var(--radius-sm);transition:width var(--transition-slow);position:relative;box-shadow:0 2px 8px #5b5a654d}.wizard-step-indicator{display:flex;flex-direction:column;align-items:center;position:relative;z-index:5;cursor:pointer;transition:transform var(--transition-base);flex:1 1 0;min-width:0}.wizard-step-indicator:hover{transform:translateY(-2px)}.wizard-step-indicator.enhanced{position:relative;z-index:5;display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:all var(--transition-base);padding:8px 12px;border-radius:var(--radius-lg);min-width:90px;text-align:center}.wizard-step-indicator.enhanced.clickable{cursor:pointer}.wizard-step-indicator.enhanced.clickable:hover{transform:translateY(-4px);background:#5b5a6514;box-shadow:0 12px 24px #5b5a6533,0 6px 12px #5b5a651f,inset 0 1px #ffffff80}.wizard-step-indicator.enhanced.animating{animation:stepPulse .3s ease-out}@keyframes stepPulse{0%,to{transform:scale(1)}50%{transform:scale(.95)}}.step-number{width:2.75rem;height:2.75rem;border-radius:var(--radius-md);background:var(--bg-secondary);border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9375rem;color:var(--text-muted);margin-bottom:.5rem;transition:all var(--transition-base);position:relative;z-index:2;box-shadow:var(--shadow-sm)}.step-circle{position:relative;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition-base);z-index:2;box-shadow:var(--shadow-sm)}.wizard-step-indicator.active .step-number,.wizard-step-indicator.enhanced.active .step-circle{background:var(--gradient-primary);border-color:var(--primary-color);color:#fff;box-shadow:0 8px 16px #5b5a6566;transform:translateY(-2px) scale(1.05)}.wizard-step-indicator.completed .step-number,.wizard-step-indicator.enhanced.completed .step-circle{background:var(--gradient-accent);border-color:var(--accent-color);color:#fff;box-shadow:0 6px 12px #5b5a654d}.step-connector{position:absolute;top:50%;left:55%;right:-55%;height:2px;background:var(--border-color);transform:translateY(-50%);z-index:1}.step-connector.completed{background:var(--accent-color)}.step-icon{color:var(--gray-500);transition:all var(--transition-base);filter:drop-shadow(0 1px 2px rgba(0,0,0,.05))}.step-icon.completed,.wizard-step-indicator.enhanced.active .step-icon{color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.wizard-step-indicator.enhanced.pending .step-icon{color:var(--gray-400);opacity:.6}.pulse-ring{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border:2px solid var(--primary-color);border-radius:50%;animation:pulseRing 2s ease-in-out infinite}.step-label-container{margin-top:.5rem;text-align:center}.step-label{font-size:.8125rem;font-weight:var(--font-weight-semibold);color:var(--gray-600);transition:all var(--transition-base);letter-spacing:.01em}.wizard-step-indicator.enhanced.active .step-label{color:var(--primary-600);font-weight:var(--font-weight-bold)}.wizard-step-indicator.enhanced.completed .step-label{color:var(--success-600);font-weight:var(--font-weight-semibold)}.wizard-step-indicator.enhanced.pending .step-label{color:var(--gray-500);opacity:.7}.step-number-label{display:block;font-size:.625rem;color:var(--text-muted);margin-top:.125rem}.step-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#141516f2;backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%);color:#fff;padding:.5rem .875rem;border-radius:var(--radius-md);font-size:.75rem;font-weight:var(--font-weight-medium);white-space:nowrap;margin-bottom:.625rem;animation:tooltipIn .2s ease-out;box-shadow:0 8px 16px #0003,0 4px 8px #00000026,inset 0 1px #ffffff1a;border:1px solid rgba(255,255,255,.1)}.step-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid rgba(20,21,22,.95)}@keyframes tooltipIn{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.step-time{position:absolute;top:-4px;right:-4px;width:16px;height:16px;background:#5b5a65;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px}.step-title{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;font-weight:700;font-size:1.5rem;letter-spacing:-.025em;color:var(--primary-color)}.step-title svg{color:var(--primary-color);animation:iconFloat 3s ease-in-out infinite;filter:drop-shadow(0 2px 4px rgba(91,90,101,.3))}.step-description{color:var(--text-secondary);margin-bottom:2rem;font-size:1.125rem;line-height:1.6}.popular-searches-section{margin-bottom:2rem;padding:1.25rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.popular-searches-label{font-size:.8125rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.875rem}.popular-searches-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.popular-search-card{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);text-align:left;justify-content:flex-start}.popular-search-card:hover{background:var(--bg-tertiary);border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.popular-search-card .search-emoji{font-size:1.5rem;flex-shrink:0}.popular-search-card .search-label{font-size:.9rem;font-weight:500;color:var(--text-primary);line-height:1.3}@media(max-width:768px){.popular-searches-grid{grid-template-columns:1fr}.popular-search-card{padding:var(--spacing-3) var(--spacing-4)}}.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.category-grid.enhanced{animation:gridFadeIn .6s ease-out}.category-card{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);padding:1.5rem 1.25rem;display:flex;flex-direction:column;align-items:center;text-align:center;cursor:pointer;transition:all var(--transition-base);position:relative}.category-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px -8px #5b5a654d;border-color:var(--primary-color);background:#5b5a650f}.category-card.selected{border-color:var(--primary-color);background:#5b5a651f;box-shadow:0 0 0 3px #5b5a6533,0 12px 24px -8px #5b5a6566}.category-check{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .625rem;border-radius:var(--radius-sm);background:var(--primary-color);color:#fff;font-weight:600;font-size:.75rem;box-shadow:var(--shadow-sm)}.category-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--primary-color);margin-bottom:1rem;transition:all var(--transition-base)}.category-card:hover .category-icon{background:var(--bg-tertiary)}.category-card.selected .category-icon{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 12px #5b5a6566}.category-card h4{font-weight:700;color:var(--text-primary);margin:0 0 .5rem;font-size:1.125rem;letter-spacing:-.025em}.category-card p{font-size:.875rem;color:var(--text-secondary);margin:0;line-height:1.5}.trending-badge,.recommended-badge{position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:#fff;border-radius:var(--radius-sm);font-size:.625rem;font-weight:600;box-shadow:var(--shadow-sm);z-index:2}.trending-badge{color:#5b5a65;border:1px solid #5B5A65}.recommended-badge{background:var(--primary-gradient);color:#fff;border:none}.popularity-indicator{position:relative;width:100%;height:4px;background:var(--border-color);border-radius:var(--radius-full);margin-top:1rem;overflow:hidden}.popularity-bar{height:100%;background:var(--primary-gradient);border-radius:var(--radius-full);transition:width var(--transition-slow)}.category-insights{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:var(--text-primary);color:#fff;padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.75rem;white-space:nowrap;margin-bottom:.5rem;animation:tooltipIn .3s ease-out}.category-insights:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid var(--text-primary)}.time-recommendation{display:flex;align-items:center;gap:.25rem;margin-left:.5rem;color:var(--primary-color);font-weight:500}.country-selection{margin-top:1.5rem}.last-search-banner{background:#f4f4f6;border:2px solid #F4F4F6;border-radius:var(--radius-md);padding:1rem 1.25rem;margin-bottom:1.5rem;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.last-search-content{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:center}.last-search-label{font-size:.875rem;color:var(--gray-700);font-weight:500}.last-search-country{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:2px solid var(--primary-color);border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;font-weight:600;color:var(--primary-color);transition:all .2s}.last-search-country:hover{background:var(--primary-color);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.last-search-country img{border-radius:2px;box-shadow:0 1px 2px #0000001a}.last-search-or{font-size:.875rem;color:var(--gray-600)}.country-controls{display:flex;gap:1rem;align-items:center;margin:1.5rem 0;flex-wrap:wrap}.country-search-wrapper{flex:1;min-width:250px;position:relative}.country-search-input{width:100%}.search-clear-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:4px;color:var(--gray-500);border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center}.search-clear-btn:hover{background:var(--gray-100);color:var(--gray-700)}.country-sort-controls{display:flex;gap:.5rem;background:var(--bg-secondary);padding:4px;border-radius:var(--radius-md)}.sort-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;background:transparent;border-radius:calc(var(--radius-md) - 2px);cursor:pointer;font-size:.875rem;font-weight:500;color:var(--gray-600);transition:all .2s}.sort-btn:hover{background:var(--bg-primary);color:var(--gray-800)}.sort-btn.active{background:#fff;color:var(--primary-color);box-shadow:var(--shadow-sm)}.sort-btn svg{width:16px;height:16px}.search-results-count{margin:.75rem 0;font-size:.875rem;color:var(--gray-600)}.search-results-count .no-results{color:var(--gray-500);font-style:italic}.search-results-count .results-count{color:var(--gray-700);font-weight:500}.location-search-option{margin:2rem 0;text-align:center}.use-location-btn{width:100%;max-width:400px;margin:1rem auto;display:flex;justify-content:center;padding:1rem 1.5rem;font-size:1rem}.use-location-btn .spinning{animation:spin 1s linear infinite}.location-help-text{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.875rem;color:var(--gray-600);margin-top:.5rem}.divider-with-text{position:relative;display:flex;align-items:center;text-align:center;margin:2rem 0 1.5rem}.divider-with-text:before,.divider-with-text:after{content:"";flex:1;border-bottom:2px solid var(--border-color)}.divider-with-text span{padding:0 1rem;font-size:.875rem;font-weight:600;color:var(--gray-600);text-transform:uppercase;letter-spacing:.05em}.country-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;margin-top:1rem}.show-all-countries-wrapper{text-align:center;margin-top:1.5rem}.show-all-countries-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;font-weight:500;color:var(--gray-700);transition:all .2s}.show-all-countries-btn:hover{background:#fff;border-color:var(--primary-color);color:var(--primary-color);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.show-all-countries-btn svg{transition:transform .2s}.show-all-countries-btn:hover svg{transform:translateY(2px)}.location-link-wrapper{text-align:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.subtle-location-link{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--gray-600);transition:all .2s;border-radius:var(--radius-sm)}.subtle-location-link:hover:not(:disabled){color:var(--primary-color);background:var(--bg-secondary)}.subtle-location-link:disabled{cursor:not-allowed;opacity:.6}.subtle-location-link svg{flex-shrink:0}.subtle-location-link .spinning{animation:spin 1s linear infinite}.country-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.25rem 1rem;border-radius:var(--radius-md);border:2px solid var(--border-color);cursor:pointer;transition:all var(--transition-base);background:var(--bg-primary);position:relative;min-height:120px}.country-card:hover{border-color:var(--primary-color);transform:translateY(-4px);box-shadow:0 12px 24px -8px #5b5a654d;background:#5b5a650f}.country-card.selected{border-color:var(--primary-color);background:#5b5a651f;box-shadow:0 0 0 3px #5b5a6533,0 12px 24px -8px #5b5a6566}.country-flag{display:flex;align-items:center;justify-content:center;width:52px;height:39px;margin-bottom:.625rem;position:relative;filter:drop-shadow(0 1px 2px rgba(0,0,0,.08));transition:transform var(--transition-base)}.country-card:hover .country-flag{transform:scale(1.05)}.country-flag img{object-fit:cover;border:1px solid rgba(0,0,0,.1);border-radius:4px}.country-name{font-size:.875rem;font-weight:600;text-align:center;color:var(--text-primary);line-height:1.2;letter-spacing:-.025em}.destination-insights{position:absolute;top:-3rem;left:50%;transform:translate(-50%);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:.75rem 1rem;font-size:.875rem;white-space:nowrap;box-shadow:var(--shadow-lg);z-index:10;animation:fadeInScale .3s ease-out}.popular-indicator{position:absolute;top:.5rem;right:.5rem;color:var(--primary-color);animation:bounce 2s ease-in-out infinite}.city-selection-wrapper{margin-top:2rem;padding-top:2rem;border-top:2px solid var(--border-color);animation:expandIn .4s ease-out}.selected-country-summary{margin-bottom:2rem;padding:1.25rem;background:#f8f9fa;border-radius:var(--radius-md);border:2px solid var(--border-color)}.summary-header{display:flex;align-items:center;gap:1rem}.summary-flag{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:48px;height:36px;border-radius:4px;overflow:hidden;box-shadow:var(--shadow-sm)}.summary-flag img{width:100%;height:100%;object-fit:cover}.summary-content{flex:1}.summary-title{font-size:1.125rem;font-weight:700;color:var(--text-primary);margin:0 0 .25rem}.summary-subtitle{font-size:.875rem;color:var(--gray-600);margin:0}.change-country-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:2px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;font-weight:500;color:var(--gray-700);transition:all .2s}.change-country-btn:hover{background:var(--bg-secondary);border-color:var(--gray-400);color:var(--gray-900)}.popular-cities-label{display:block;font-size:.875rem;font-weight:600;color:var(--gray-700);margin-bottom:1rem;text-transform:uppercase;letter-spacing:.05em}.popular-cities{margin-bottom:2rem}.popular-cities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.popular-city-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;text-align:center;animation:fadeIn .3s ease-out}.popular-city-card .city-icon{font-size:2rem;line-height:1}.popular-city-card .city-name{font-size:.875rem;font-weight:600;color:var(--text-primary)}.city-selection-wrapper.loading{opacity:.7;pointer-events:none}.city-selection-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.city-selection-header h4{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.popular-badge{padding:.25rem .75rem;background:var(--primary-color);color:#fff;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.popular-cities{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:2rem}.popular-city-card{background:#fff;border:2px solid var(--border-color);border-radius:var(--radius-lg);padding:1.25rem;text-align:center;cursor:pointer;transition:all var(--transition-base);animation:slideInBottom .5s ease-out backwards}.popular-city-card:hover{transform:translateY(-4px);border-color:var(--primary-color);box-shadow:var(--shadow-lg)}.city-icon{font-size:2rem;margin-bottom:.5rem;animation:float 3s ease-in-out infinite}.city-name{display:block;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.city-tagline{font-size:.75rem;color:var(--text-secondary)}.city-suggestions.enhanced{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:1.5rem;margin-top:1.5rem;box-shadow:var(--shadow-md)}.suggestions-header{margin-bottom:1rem}.suggestion-reason{font-size:.875rem;color:var(--text-secondary);margin-top:.25rem}.smart-city-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.smart-city-card{background:#fff;border:2px solid var(--border-color);border-radius:var(--radius-lg);padding:1.25rem;cursor:pointer;transition:all var(--transition-base);animation:fadeInScale .4s ease-out backwards;text-align:left;width:100%}.smart-city-card:hover{transform:translateY(-4px);border-color:var(--primary-color);box-shadow:var(--shadow-lg)}.smart-city-card.active{border-color:var(--primary-color);background:#f4f4f6}.city-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.city-visitors{display:flex;align-items:center;gap:.25rem;font-size:.625rem;color:var(--text-muted);background:var(--bg-secondary);padding:.25rem .5rem;border-radius:var(--radius-sm)}.city-tags{display:flex;gap:.5rem;flex-wrap:wrap}.city-tag-chip{font-size:.625rem;padding:.25rem .5rem;background:var(--bg-secondary);border-radius:var(--radius-sm);color:var(--text-secondary)}.all-cities-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.all-cities-dropdown{width:100%}.all-cities-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.75rem 1rem;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;font-weight:500;color:var(--text-primary);transition:all var(--transition-base)}.all-cities-toggle:hover{background:var(--bg-secondary);border-color:var(--primary-color)}.all-cities-toggle svg{transition:transform var(--transition-base)}details[open] .all-cities-toggle svg{transform:rotate(90deg)}.all-cities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;margin-top:1rem;padding:1rem;background:var(--bg-secondary);border-radius:var(--radius-md)}.city-option{padding:.5rem 1rem;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.875rem;cursor:pointer;transition:all var(--transition-fast);text-align:center}.city-option:hover{border-color:var(--primary-color);transform:translateY(-1px)}.city-option.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.selected-city-preview{margin-top:1.5rem;padding:1.25rem;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--primary-color);animation:expandIn .3s ease-out}.preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.preview-header h4{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.125rem;color:var(--text-primary)}.preview-icon{font-size:1.5rem}.preview-badge{padding:.25rem .75rem;background:var(--primary-color);color:#fff;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.preview-content{display:flex;gap:1.5rem;margin-bottom:1rem}.preview-stat{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary)}.preview-tags{display:flex;gap:.5rem;flex-wrap:wrap}.preview-tag{font-size:.75rem;color:var(--primary-color);opacity:.8}.search-input-container,.location-input-container{position:relative;margin-bottom:1.25rem}.search-input-container.enhanced,.location-input-container.enhanced{position:relative;display:flex;align-items:center;margin-bottom:.5rem}.search-input-container .search-icon,.location-input-container .location-icon{position:absolute;left:1.25rem;top:50%;transform:translateY(-50%);color:var(--text-muted);transition:color var(--transition-base)}.search-input,.location-input{width:100%;padding:1.25rem 1.25rem 1.25rem 3.5rem;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;transition:all var(--transition-base);background:#fff;color:var(--text-primary)}.search-input:focus,.location-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px #5b5a6526;transform:translateY(-1px)}.search-input-container .search-input:focus~.search-icon,.location-input-container .location-input:focus~.location-icon{color:var(--primary-color)}.geolocation-btn{position:absolute;right:1rem;top:50%;transform:translateY(-50%);padding:.5rem;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base);border-radius:var(--radius-sm)}.geolocation-btn:hover:not(:disabled){background:var(--bg-secondary);color:var(--primary-color)}.geolocation-btn:disabled{opacity:.5;cursor:not-allowed}.geolocation-btn .spinning{animation:spin 1s linear infinite}.input-help-text,.search-help-text{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.875rem;color:var(--text-secondary)}.typing-indicator{position:absolute;right:1rem;top:50%;transform:translateY(-50%);display:flex;gap:.25rem}.typing-indicator span{width:4px;height:4px;background:var(--primary-color);border-radius:50%;animation:typingDot 1.4s ease-in-out infinite}.query-insights{position:absolute;right:1rem;top:50%;transform:translateY(-50%);display:flex;gap:.5rem}.insight-tag{padding:.25rem .5rem;background:var(--bg-secondary);border-radius:var(--radius-sm);font-size:.625rem;display:flex;align-items:center;gap:.25rem;animation:tagAppear .3s ease-out}.filtered-suggestions,.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-md);margin-top:.5rem;box-shadow:var(--shadow-lg);z-index:100;max-height:300px;overflow-y:auto;animation:dropdownSlide .2s ease-out}.filtered-suggestion,.autocomplete-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;cursor:pointer;transition:background-color var(--transition-fast);border:none;background:none;width:100%;text-align:left}.filtered-suggestion:hover,.autocomplete-item:hover,.autocomplete-item.selected{background:var(--bg-secondary)}.city-meta{margin-left:auto;font-size:.75rem;color:var(--text-muted)}.suggestion-tags,.city-tags{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.suggestion-tag,.city-tag{padding:.625rem 1.25rem;background:#fff;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:.875rem;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);position:relative;overflow:hidden}.suggestion-tag:before,.city-tag:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:var(--primary-gradient);border-radius:50%;transform:translate(-50%,-50%);transition:width var(--transition-base),height var(--transition-base)}.suggestion-tag:hover,.city-tag:hover{border-color:var(--primary-color);transform:translateY(-3px) scale(1.02);box-shadow:0 8px 16px -4px #5b5a654d;background:#5b5a650f}.suggestion-tag.active,.city-tag.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color);animation:tagSelect .3s ease-out;box-shadow:0 8px 16px -4px #5b5a6566}.suggestion-tag.natural{background:var(--bg-tertiary);border-color:var(--border-hover);color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.suggestion-toggle{display:flex;gap:.5rem;margin:1rem 0}.toggle-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base)}.toggle-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.toggle-btn.active{background:var(--primary-gradient);border-color:transparent;color:#fff}.preferences-container{display:flex;flex-direction:column;gap:2rem;margin-bottom:2rem}.preferences-container.enhanced{animation:fadeInUp .5s ease-out}.preference-group{margin-bottom:1.5rem}.preference-label{display:block;font-weight:600;color:var(--text-primary);margin-bottom:.75rem;font-size:1rem;letter-spacing:-.025em}.preference-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.preference-input{width:100%;padding:1rem 1.25rem;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;transition:all var(--transition-base);background:#fff;color:var(--text-primary)}.preference-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px #5b5a6526}.price-range-buttons{display:flex;gap:1rem;margin-top:.75rem}.price-button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.375rem;padding:1rem;border:2px solid var(--border-color);border-radius:var(--radius-md);background:#fff;cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden}.price-button.enhanced{border-radius:var(--radius-lg);min-height:120px;animation:fadeInScale .4s ease-out backwards}.price-button:before,.price-bg-gradient{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--primary-gradient);opacity:0;transition:opacity var(--transition-base)}.price-button.enhanced .price-bg-gradient{background:var(--price-color)}.price-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary-color)}.price-button:hover:before,.price-button.enhanced:hover .price-bg-gradient{opacity:.1}.price-button.active{border-color:transparent}.price-button.active:before,.price-button.enhanced.active .price-bg-gradient{opacity:1}.price-button.active .price-symbol,.price-button.active .price-label,.price-button.enhanced.active .price-content{color:#fff;position:relative;z-index:1}.price-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.25rem;width:100%}.price-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.price-symbol{font-size:1.125rem;font-weight:700;color:var(--text-primary);transition:color var(--transition-base)}.price-label{font-size:.75rem;font-weight:600;color:var(--text-secondary);transition:color var(--transition-base)}.price-selector-enhanced{margin-bottom:1.5rem}.price-context-badge{margin-left:.5rem;padding:.125rem .5rem;background:var(--bg-secondary);border-radius:var(--radius-sm);font-size:.75rem;font-weight:400;color:var(--text-secondary)}.price-info-btn{padding:.25rem;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:color var(--transition-base);position:relative}.price-info-btn:hover{color:var(--primary-color)}.price-tooltip{position:absolute;top:100%;right:0;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.75rem 1rem;box-shadow:var(--shadow-lg);font-size:.75rem;width:200px;margin-top:.5rem;z-index:100;animation:dropdownSlide .2s ease-out}.price-range-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin-bottom:1rem}.price-selected-indicator{position:absolute;top:.5rem;right:.5rem;padding:.125rem .375rem;background:#ffffffe6;border-radius:var(--radius-sm);font-size:.625rem;font-weight:600;color:var(--price-color)}.price-details{position:absolute;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--border-color);padding:.75rem;transform:translateY(100%);transition:transform var(--transition-base)}.price-button.enhanced:hover .price-details,.price-button.enhanced.active .price-details{transform:translateY(0)}.price-button.enhanced.active .price-details{background:#ffffff1a;border-color:#fff3}.price-description{font-size:.75rem;margin-bottom:.5rem;font-weight:500}.price-examples{display:flex;flex-wrap:wrap;gap:.25rem}.price-example{font-size:.625rem;padding:.125rem .375rem;background:var(--bg-secondary);border-radius:var(--radius-sm);opacity:.8}.price-select-effect{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--price-color);opacity:0;animation:priceSelectPulse .6s ease-out}.price-distribution{margin-top:1rem}.distribution-bar{display:flex;height:8px;background:var(--bg-secondary);border-radius:var(--radius-full);overflow:hidden;margin-bottom:.5rem}.distribution-segment{position:relative;transition:all var(--transition-base)}.segment-fill{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--segment-color);opacity:.3;transition:opacity var(--transition-base)}.distribution-segment.active .segment-fill{opacity:1}.distribution-label{font-size:.75rem;text-align:center;color:var(--text-secondary)}.price-recommendation{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-secondary);border-radius:var(--radius-md);font-size:.875rem;color:var(--text-secondary);margin-top:1rem}.price-recommendation-btn{padding:.25rem .5rem;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color var(--transition-base);margin:0 .25rem}.price-recommendation-btn:hover{background:var(--primary-hover)}.atmosphere-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.875rem}.atmosphere-option{padding:.875rem;background:#fff;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base);text-align:center;position:relative;overflow:hidden}.atmosphere-option:after{content:"";position:absolute;bottom:0;left:0;right:0;height:0;background:var(--primary-gradient);transition:height var(--transition-base)}.atmosphere-option:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary-color)}.atmosphere-option.selected{background:var(--primary-gradient);color:#fff;border-color:transparent;animation:optionSelect .3s ease-out}.atmosphere-grid.enhanced{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.atmosphere-option.enhanced{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#fff;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden}.atmosphere-option.enhanced:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent-color);opacity:0;transition:opacity var(--transition-base)}.atmosphere-option.enhanced:hover{border-color:var(--accent-color);transform:translateY(-2px);box-shadow:var(--shadow-md)}.atmosphere-option.enhanced.selected{border-color:var(--accent-color);color:#fff}.atmosphere-option.enhanced.selected:before{opacity:1}.atmosphere-option.enhanced svg,.atmosphere-option.enhanced span{position:relative;z-index:1}.time-preference-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;margin-top:.75rem}.time-option{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1rem .75rem;background:#fff;border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}.time-option:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:var(--shadow-md)}.time-option.selected{background:var(--primary-gradient);border-color:transparent;color:#fff}.time-option.selected svg{color:#fff}.time-label{font-weight:600;font-size:.875rem}.time-range{font-size:.625rem;opacity:.8}.distance-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-top:.75rem}.distance-option{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:#fff;border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}.distance-option:hover{border-color:var(--primary-color);transform:translate(4px)}.distance-option.selected{background:var(--bg-secondary);border-color:var(--primary-color)}.distance-label{font-weight:600;font-size:.875rem;display:block}.distance-value{font-size:.75rem;color:var(--text-secondary);display:block}.checkbox-options{display:flex;flex-direction:column;gap:1rem}.checkbox-option{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:.75rem;border-radius:var(--radius-md);transition:background-color var(--transition-base)}.checkbox-option:hover{background-color:var(--bg-secondary)}.checkbox-option.enhanced{background:var(--bg-secondary);border-radius:var(--radius-md);padding:1rem;margin-bottom:.5rem}.checkbox-option input[type=checkbox]{width:1.5rem;height:1.5rem;border-radius:.375rem;border:2px solid var(--border-color);cursor:pointer;position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:all var(--transition-base)}.checkbox-option input[type=checkbox]:checked{background:var(--primary-gradient);border-color:transparent}.checkbox-option input[type=checkbox]:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-weight:700;font-size:.875rem}.checkbox-option label{font-size:.9375rem;color:var(--text-primary);cursor:pointer;font-weight:500}.checkbox-option.enhanced label{display:flex;align-items:center;gap:.75rem;width:100%}.advanced-toggle{display:flex;align-items:center;gap:.5rem;margin:1.5rem 0;padding:.75rem 1rem;background:transparent;border:2px dashed var(--border-color);border-radius:var(--radius-md);color:var(--primary-color);font-weight:500;cursor:pointer;transition:all var(--transition-base);width:100%}.advanced-toggle:hover{border-color:var(--primary-color);background:#5b5a650f}.advanced-preferences{animation:expandIn .3s ease-out;margin-top:1rem}.summary-card{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:2rem;margin-bottom:2rem;border:1px solid var(--border-color);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.summary-card:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:none;animation:none}.summary-card.enhanced{border:none;box-shadow:var(--shadow-lg)}.summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.summary-header h4{margin:0;color:var(--text-primary);font-size:1.125rem;font-weight:600}.summary-item{display:flex;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color);position:relative;z-index:1}.summary-item.enhanced{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;border-bottom:1px solid rgba(0,0,0,.05)}.summary-label{font-weight:600;color:var(--text-secondary);width:40%}.summary-value{color:var(--text-primary);flex:1;font-weight:500}.summary-icon{color:var(--primary-color)}.summary-quick-prefs{display:flex;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,.05)}.quick-pref{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;color:var(--text-secondary)}.quick-pref input[type=checkbox]{width:1.125rem;height:1.125rem}.quick-pref:hover{color:var(--primary-color)}.results-section{margin-top:3rem;padding-top:3rem;border-top:2px solid var(--border-color);animation:resultsFadeIn .8s ease-out}.results-section.enhanced{margin-top:3rem;padding-top:3rem;border-top:2px solid var(--border-color);animation:resultsFadeIn .8s ease-out;display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:1.5rem}.results-section.enhanced.no-results{text-align:center;padding:4rem 2rem;background:#f8fafc;border-radius:var(--radius-lg);box-shadow:0 20px 50px #1415161f}.results-grid{grid-column:1 / -1}.no-results-container{max-width:500px;margin:0 auto}.no-results-actions .btn-primary{background:#5b5a65;color:#fff;border:none}.no-results-message{font-size:.95rem;color:#5b5a65}.upgrade-banner{margin-top:1.5rem;padding:1rem 1.25rem;border-radius:var(--radius-md);background:#f4f4f6;color:#2c2d2d;display:inline-flex;gap:.75rem;align-items:center;text-align:left;box-shadow:0 12px 32px #5b5a652e}.no-results-icon{margin-bottom:1.5rem;color:var(--text-muted);animation:float 3s ease-in-out infinite}.no-results-reasons{text-align:left;margin:1.5rem 0;padding:1rem 1.5rem;background:var(--bg-secondary);border-radius:var(--radius-md);list-style:none}.no-results-reasons li{position:relative;padding-left:1.5rem;margin-bottom:.5rem;color:var(--text-secondary)}.no-results-reasons li:before{content:"•";position:absolute;left:0;color:var(--primary-color)}.no-results-actions{margin-top:2rem}.results-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.results-title-section{flex:1}.results-title{text-align:center;margin-bottom:1.5rem;color:var(--text-primary);font-size:1.75rem;font-weight:700;letter-spacing:-.025em}.results-title:not(:only-child){display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;text-align:left}.result-quality-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-secondary);border-radius:var(--radius-full);font-size:.875rem}.quality-bar{width:60px;height:6px;background:var(--border-color);border-radius:var(--radius-full);overflow:hidden}.quality-fill{height:100%;background:var(--primary-gradient);transition:width var(--transition-slow)}.quality-label{font-weight:500;color:var(--text-secondary)}.results-actions-top{display:flex;gap:.5rem}.action-btn{padding:.5rem;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);color:var(--text-secondary)}.action-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.action-btn.saved{background:var(--primary-color);color:#fff;border-color:var(--primary-color);animation:saveSuccess .4s ease-out}.search-insights{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.insight-chip{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.75rem;color:var(--text-secondary);animation:chipAppear .3s ease-out backwards}.insight-chip.personalization{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff;font-weight:500;cursor:help;transition:all .2s ease}.insight-chip.personalization:hover{transform:translateY(-1px);box-shadow:0 2px 8px #667eea4d}.insight-chip.personalization svg{color:#fff}.results-meta{display:flex;justify-content:center;gap:2rem;margin-bottom:2rem;font-size:.875rem;color:var(--text-secondary)}.results-meta span{display:flex;align-items:center;gap:.5rem}.results-meta.enhanced{justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid var(--border-color);margin-bottom:1.5rem}.results-toolbar{width:100%;display:flex;flex-direction:column;gap:.75rem;position:sticky;top:64px;z-index:5;background:#fffffff5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:.5rem 0}.results-controls{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.sort-select{display:flex;align-items:center;gap:.35rem;padding:.35rem .6rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:#fff}.sort-select label{font-size:.75rem;font-weight:600;color:var(--text-secondary)}.sort-select select{border:none;background:transparent;font-weight:600;color:var(--text-primary);font-size:.875rem;outline:none}.map-toggle{border-radius:var(--radius-md)}.results-map{margin-bottom:1rem}.results-map-canvas{width:100%;height:320px;border-radius:var(--radius-lg);border:1px solid var(--border-color);overflow:hidden}.result-marker{width:12px;height:12px;background:#5b5a65;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 8px #00000040}.map-placeholder{display:flex;gap:.75rem;align-items:center;padding:.75rem 1rem;border:1px dashed var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-secondary)}.meta-stats{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary)}.results-separator{color:var(--text-muted)}.filter-toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all var(--transition-base)}.filter-toggle:hover{border-color:var(--primary-color);background:var(--bg-secondary)}.filters-panel{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem;animation:expandIn .3s ease-out}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.filter-group label{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.filter-select{width:100%;padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:#fff;font-size:.875rem;color:var(--text-primary);cursor:pointer;transition:all var(--transition-base)}.filter-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #5b5a6526}.active-filters{display:flex;align-items:center;gap:.5rem;padding-top:1rem;border-top:1px solid var(--border-color);font-size:.875rem}.filter-tag{padding:.25rem .75rem;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-weight:500}.clear-filters{margin-left:auto;padding:.25rem .75rem;background:transparent;border:none;color:var(--primary-color);font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity var(--transition-base)}.clear-filters:hover{opacity:.8}.ai-search-tip{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;background:#f4f4f6;border:1px solid rgba(91,90,101,.2);border-radius:var(--radius-md);margin-bottom:1.5rem;font-size:.875rem;color:var(--text-secondary)}.ai-search-tip strong{color:var(--text-primary)}.search-metrics{margin-top:2rem;padding:1rem;background:var(--bg-secondary);border-radius:var(--radius-md);font-family:monospace;font-size:.75rem}.step-nav{display:flex;justify-content:space-between;margin-top:2.5rem;gap:1rem}.step-nav .selected-chip{margin-right:auto;font-size:.9rem;font-weight:600;color:var(--text-secondary);padding:8px 12px;border-radius:var(--radius-md);background:var(--bg-secondary);border:1px solid var(--border-color)}.step-nav .selected-chip span{color:var(--primary-color);margin-left:4px}.btn-primary,.btn-secondary{padding:1rem 2rem;border-radius:var(--radius-md);font-weight:600;font-size:1rem;display:flex;align-items:center;gap:.5rem;transition:all var(--transition-base);border:none;cursor:pointer;position:relative;overflow:hidden;letter-spacing:-.025em}.btn-primary{background:var(--primary-gradient);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff4d;border-radius:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-primary:hover:not(:disabled):before{width:300px;height:300px}.btn-primary:disabled{background:#c7c8cd;cursor:not-allowed;opacity:.7}.btn-primary.enhanced{background:var(--primary-gradient);position:relative;overflow:hidden}.btn-primary.enhanced:after{content:"";position:absolute;top:50%;left:50%;width:100%;height:100%;background:#fff3;transform:translate(-50%,-50%) scale(0);border-radius:50%;transition:transform .6s ease-out}.btn-primary.enhanced:hover:after{transform:translate(-50%,-50%) scale(2)}.btn-secondary{background:#fff;color:var(--text-primary);border:2px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-secondary);border-color:var(--primary-color);transform:translateY(-2px);box-shadow:var(--shadow-md)}.search-btn{background:var(--primary-gradient);padding:1rem 2.5rem;box-shadow:0 4px 15px #5b5a654d}.search-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 25px #5b5a6566}.btn-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .8s linear infinite}.loading-indicator{display:flex;flex-direction:column;align-items:center;margin:3rem 0;gap:1.25rem}.loading-indicator.enhanced{padding:2rem;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.loading-spinner{width:4rem;height:4rem;border:4px solid rgba(91,90,101,.1);border-radius:50%;border-top-color:var(--primary-color);border-right-color:#2c2d2d;animation:spinGradient 1s linear infinite}.loading-spinner-container{position:relative;width:80px;height:80px;margin:0 auto 2rem}.loading-spinner.enhanced{position:relative;width:100%;height:100%}.spinner-ring{position:absolute;top:0;right:0;bottom:0;left:0;border:4px solid rgba(91,90,101,.2);border-radius:50%;border-top-color:var(--primary-color);border-right-color:#2c2d2d;animation:spinGradient 1s linear infinite}.spinner-icon{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--primary-color);animation:pulse 2s ease-in-out infinite}.loading-indicator p{color:var(--text-primary);font-weight:500}.loading-subtext{color:var(--text-secondary);font-size:.875rem}.loading-stages{display:flex;justify-content:center;gap:2rem;margin-bottom:2rem}.loading-stage{display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:.4;transition:opacity var(--transition-base)}.loading-stage.active{opacity:1}.loading-stage.complete{opacity:.7}.stage-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid var(--border-color);border-radius:50%;color:var(--text-secondary);transition:all var(--transition-base)}.loading-stage.active .stage-icon{background:var(--primary-gradient);border-color:transparent;color:#fff;animation:pulse 1s ease-in-out infinite}.loading-stage.complete .stage-icon{background:#5b5a65;border-color:transparent;color:#fff}.stage-label{font-size:.75rem;color:var(--text-secondary);text-align:center;max-width:100px}.stage-progress-bar{width:80px;height:3px;background:var(--border-color);border-radius:var(--radius-full);overflow:hidden;margin-top:.25rem}.stage-progress-fill{height:100%;background:var(--primary-gradient);transition:width var(--transition-fast)}.loading-text{text-align:center;margin-bottom:1.5rem}.loading-primary{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.loading-tip{font-size:.875rem;color:var(--text-secondary);animation:fadeInOut 3s ease-in-out infinite}.loading-fun-fact{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1.5rem;padding:.75rem 1rem;background:#5b5a651a;border-radius:var(--radius-md);font-size:.875rem;color:var(--primary-color);animation:slideInBottom .5s ease-out}.loading-progress-container{width:100%;max-width:300px;margin:1rem auto}.loading-progress-bar{height:8px;background:var(--border-color);border-radius:var(--radius-full);overflow:hidden;position:relative}.loading-progress-fill{height:100%;background:var(--primary-gradient);transition:width var(--transition-base);position:relative;display:flex;align-items:center;justify-content:flex-end;padding-right:.5rem}.progress-percentage{font-size:.625rem;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.loading-estimate{text-align:center;font-size:.875rem;color:var(--text-secondary);margin-top:1rem}.error-message{background:var(--error-50, #FEF2F2);border-left:4px solid var(--error-500, #EF4444);color:var(--error-700, #B91C1C);padding:1.25rem 1.5rem;border-radius:var(--radius-md);margin:1.5rem 0;display:flex;align-items:flex-start;gap:.875rem;box-shadow:var(--shadow-md);animation:errorShake .3s ease-out}.success-message{background:var(--success-50, #F0FDF4);border-left:4px solid var(--success-500, #22C55E);color:var(--success-700, #15803D);padding:1.25rem 1.5rem;border-radius:var(--radius-md);margin:1.5rem 0;display:flex;align-items:center;gap:.875rem;box-shadow:var(--shadow-md);animation:successBounce .4s ease-out;position:fixed;top:2rem;right:2rem;z-index:1000;max-width:400px}.auth-required-message{background:var(--bg-secondary);border:2px solid var(--primary-color);border-radius:var(--radius-lg);padding:2rem;margin:2rem 0;text-align:center;box-shadow:var(--shadow-lg);animation:authMessageSlide .5s ease-out}.auth-required-message.enhanced{border-radius:var(--radius-xl);padding:2.5rem;box-shadow:var(--shadow-xl);position:relative;overflow:hidden}.auth-required-message.enhanced:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:none;animation:none}.auth-message-content{margin:1rem 0;color:var(--text-secondary);line-height:1.6}.auth-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem;position:relative;z-index:1}.auth-icon-container{position:relative;width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:var(--primary-gradient);border-radius:50%;color:#fff}.icon-pulse{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border:2px solid var(--primary-color);border-radius:50%;animation:pulseRing 2s ease-in-out infinite}.auth-title-section{flex:1}.auth-title{display:flex;align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:1.5rem;font-weight:700;color:var(--text-primary)}.auth-subtitle{font-size:1rem;color:var(--text-secondary)}.auth-content{position:relative;z-index:1}.auth-main-message{margin-bottom:2rem;font-size:1rem;line-height:1.6;color:var(--text-primary)}.benefits-section{margin-bottom:2rem}.benefits-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.benefits-carousel{position:relative;margin-bottom:1rem}.benefit-card{background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;text-align:center;min-height:140px;transition:all var(--transition-base)}.benefit-card.animating{animation:benefitChange .6s ease-in-out}.benefit-icon{color:var(--primary-color);margin-bottom:.75rem}.benefit-card h5{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:var(--text-primary)}.benefit-card p{margin:0;font-size:.875rem;color:var(--text-secondary);line-height:1.4}.benefit-indicators{display:flex;justify-content:center;gap:.5rem;margin-top:1rem}.indicator{width:8px;height:8px;background:var(--border-color);border-radius:50%;transition:all var(--transition-base)}.indicator.active{background:var(--primary-color);transform:scale(1.3)}.all-benefits-dropdown{margin-top:1rem}.all-benefits-toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:1px dashed var(--border-color);border-radius:var(--radius-md);color:var(--primary-color);font-weight:500;cursor:pointer;transition:all var(--transition-base);width:100%}.all-benefits-toggle:hover{background:#5b5a650d;border-color:var(--primary-color)}.all-benefits-grid{display:grid;gap:1rem;margin-top:1rem;padding:1rem;background:#fff;border-radius:var(--radius-md)}.benefit-item{display:flex;gap:.75rem;padding:.75rem;border-radius:var(--radius-md);transition:background-color var(--transition-base)}.benefit-item:hover{background:var(--bg-secondary)}.benefit-item svg{color:var(--primary-color);flex-shrink:0}.benefit-item h6{margin:0 0 .25rem;font-size:.875rem;font-weight:600;color:var(--text-primary)}.benefit-item p{margin:0;font-size:.75rem;color:var(--text-secondary);line-height:1.3}.platform-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:1.5rem;background:#fff;border-radius:var(--radius-lg);margin-bottom:1.5rem;position:relative;align-items:center}.stat-item{text-align:center}.stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--primary-color);margin-bottom:.25rem}.stat-label{font-size:.75rem;color:var(--text-secondary)}.stat-separator{width:1px;height:40px;background:var(--border-color)}.security-badge{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background:#5b5a651a;border:1px solid rgba(91,90,101,.3);border-radius:var(--radius-md);font-size:.875rem;color:#2c2d2d;margin-bottom:2rem}.auth-actions{display:flex;gap:1rem;margin-bottom:1.5rem}.login-prompt-btn{background:var(--primary-gradient);color:#fff;border:none;border-radius:var(--radius-md);padding:.875rem 2rem;font-weight:600;font-size:1rem;cursor:pointer;transition:all var(--transition-base);margin-top:1.5rem;display:inline-flex;align-items:center;gap:.5rem;box-shadow:var(--shadow-md)}.login-prompt-btn:not(:only-child){flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 1.5rem;margin-top:0}.login-prompt-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.login-prompt-btn.primary{background:var(--primary-gradient);color:#fff;box-shadow:var(--shadow-md)}.login-prompt-btn.primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.login-prompt-btn.secondary{background:#fff;color:var(--primary-color);border:2px solid var(--primary-color)}.login-prompt-btn.secondary:hover{background:var(--bg-secondary)}.quick-login-section{background:#fff;border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem;animation:expandIn .3s ease-out}.quick-login-section h4{margin:0 0 1rem;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.quick-login-form{display:flex;gap:.75rem;margin-bottom:.75rem}.quick-input{flex:1;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;transition:all var(--transition-base)}.quick-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #5b5a6526}.quick-submit{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--primary-gradient);color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--transition-base)}.quick-submit:hover{transform:translate(2px)}.quick-login-note{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--text-secondary)}.social-proof{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem}.testimonial{position:relative}.testimonial-text{font-style:italic;color:var(--text-primary);margin-bottom:1rem;line-height:1.5}.testimonial-text:before{content:'"';position:absolute;top:-.5rem;left:-.5rem;font-size:3rem;color:var(--primary-color);opacity:.2}.testimonial-author{display:flex;align-items:center;gap:.75rem}.author-avatar{width:40px;height:40px;background:var(--primary-gradient);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}.author-name{margin:0;font-weight:600;color:var(--text-primary);font-size:.875rem}.author-location{margin:0;font-size:.75rem;color:var(--text-secondary)}.alternative-action{text-align:center;padding-top:1rem;border-top:1px solid var(--border-color);font-size:.875rem;color:var(--text-secondary)}.link-btn{padding:0;background:none;border:none;color:var(--primary-color);font-weight:500;cursor:pointer;text-decoration:underline;transition:opacity var(--transition-base)}.link-btn:hover{opacity:.8}.privacy-notice{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#5b5a651a;border:1px solid rgba(91,90,101,.3);border-radius:var(--radius-md);margin-bottom:1.5rem;font-size:.875rem;color:var(--primary-color);animation:slideInTop .5s ease-out}.privacy-notice button{padding:.25rem .75rem;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;cursor:pointer;transition:background-color var(--transition-base)}.privacy-notice button:hover{background:var(--primary-hover)}.guest-search-notice.enhanced{display:flex;align-items:flex-start;gap:1rem;background:#5b5a651f;border:2px solid var(--primary-color);padding:1.25rem;border-radius:var(--radius-lg);margin:1.5rem 0}.guest-search-notice.enhanced strong{display:block;margin-bottom:.25rem;font-size:1rem}.guest-search-notice.enhanced p{margin:0;font-size:.875rem;color:var(--text-secondary)}.notice-icon{color:var(--primary-color);flex-shrink:0}.location-indicator{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:1rem;font-size:.875rem;color:var(--text-secondary);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.location-indicator.excellent,.location-indicator.good,.location-indicator.fair,.location-indicator.poor,.location-indicator.very_poor{background:var(--bg-secondary);border-color:var(--border-color)}.location-text{font-weight:500}.accuracy-warning{font-size:.75rem;color:var(--warning-600, #D97706);font-style:italic}.ai-indicator{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#f4f4f6;border:1px solid #F4F4F6;border-radius:var(--radius-md);margin-bottom:1rem;font-size:.875rem;color:#2c2d2d;font-weight:500}.ai-indicator svg{color:#5b5a65;animation:sparkle 2s ease-in-out infinite}.ai-indicator.disabled{background:#f4f4f6;border:1px solid #C7C8CD;color:#2c2d2d}.ai-indicator.disabled svg{color:#5b5a65;animation:none}@keyframes sparkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.ai-enhancement-badge{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-md);margin-bottom:1rem;color:var(--primary-color);font-weight:500;animation:slideInTop .5s ease-out}@keyframes containerFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes floatPattern{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.1)}}@keyframes titleSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes stepFadeIn{0%{opacity:0;transform:translateY(20px) rotateX(-5deg)}to{opacity:1;transform:translateY(0) rotateX(0)}}@keyframes slideLeftOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(-30px) scale(.95)}}@keyframes slideRightOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(30px) scale(.95)}}@keyframes iconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes iconBounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@keyframes pulseRing{0%{box-shadow:0 0 0 6px #5b5a6526,var(--shadow-md)}50%{box-shadow:0 0 0 10px #5b5a650d,var(--shadow-md)}to{box-shadow:0 0 0 6px #5b5a6526,var(--shadow-md)}}@keyframes checkmarkPop{0%{transform:scale(.8)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes flagWave{0%,to{transform:scale(1.1) rotate(0)}25%{transform:scale(1.1) rotate(-3deg)}75%{transform:scale(1.1) rotate(3deg)}}@keyframes tagSelect{0%{transform:scale(.95)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes optionSelect{0%{transform:scale(.95)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes spinGradient{to{transform:rotate(360deg)}}@keyframes errorShake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes successBounce{0%{transform:scale(.8) translateY(-20px);opacity:0}50%{transform:scale(1.05) translateY(0)}to{transform:scale(1) translateY(0);opacity:1}}@keyframes resultsFadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes authMessageSlide{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes aiGlow{0%,to{box-shadow:0 0 10px #5b5a6533}50%{box-shadow:0 0 20px #5b5a6566}}@keyframes gridFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes expandIn{0%{opacity:0;max-height:0}to{opacity:1;max-height:1000px}}@keyframes slideInBottom{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInTop{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes tooltipIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes tagAppear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes fadeInOut{0%,to{opacity:.5}50%{opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes typingDot{0%,60%,to{opacity:.3;transform:scale(1)}30%{opacity:1;transform:scale(1.3)}}@keyframes priceSelectPulse{0%{opacity:.5;transform:scale(0)}to{opacity:0;transform:scale(2)}}@keyframes chipAppear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes saveSuccess{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes benefitChange{0%,to{opacity:1;transform:scale(1)}50%{opacity:0;transform:scale(.95)}}@media(max-width:768px){.wizard-container{padding:2rem 1.5rem;margin:1rem;border-radius:var(--radius-lg)}.wizard-title{font-size:1.75rem}.step-title{font-size:1.25rem}.category-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.country-controls{flex-direction:column;gap:.75rem}.country-search-wrapper{min-width:100%}.country-sort-controls{width:100%;justify-content:center}.sort-btn{flex:1;justify-content:center}.country-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.75rem}.last-search-banner{padding:.875rem 1rem;margin-bottom:1rem}.last-search-content{flex-direction:column;align-items:center;gap:.625rem}.last-search-label,.last-search-or{font-size:.875rem}.last-search-country{padding:.625rem 1rem;width:100%;justify-content:center;max-width:280px}.last-search-country img{width:28px;height:21px}.show-all-countries-btn{padding:.875rem 1.25rem;font-size:.9375rem;width:100%;max-width:320px;justify-content:center}.subtle-location-link{padding:.875rem 1.25rem;font-size:.9375rem;width:100%;max-width:280px}.location-link-wrapper{margin-top:1.5rem;padding-top:1.25rem}.country-card,.category-card,.sort-btn,.last-search-country{min-height:44px;touch-action:manipulation}.show-all-countries-btn,.subtle-location-link{min-height:48px;touch-action:manipulation}.country-grid{gap:.875rem}.country-search-wrapper input,.search-input{font-size:16px}.price-range-buttons{flex-wrap:wrap}.price-button{flex:1 1 calc(50% - .5rem);min-width:140px}.step-nav{flex-direction:column-reverse;gap:.75rem}.btn-primary,.btn-secondary{width:100%;justify-content:center}.smart-city-grid{grid-template-columns:1fr}.selected-country-summary{padding:1rem}.summary-header{flex-wrap:wrap}.change-country-btn{width:100%;justify-content:center;margin-top:.75rem}.popular-cities-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.wizard-progress.enhanced{padding:0 .5rem}.price-range-grid{grid-template-columns:repeat(2,1fr)}.filters-grid{grid-template-columns:1fr}.platform-stats{grid-template-columns:repeat(2,1fr);gap:.5rem}.stat-separator:nth-child(3){display:none}.auth-actions,.quick-login-form{flex-direction:column}.popular-cities{grid-template-columns:1fr}.time-preference-grid{grid-template-columns:repeat(2,1fr)}.loading-stages{flex-wrap:wrap;gap:1rem}.distance-options{grid-template-columns:1fr}.summary-quick-prefs{flex-direction:column;gap:.5rem}}@media(max-width:480px){.wizard-container{padding:2rem 1.25rem;margin:.75rem;border-radius:var(--radius-lg)}.wizard-title{font-size:1.5rem;margin-bottom:.875rem}.wizard-progress{margin-bottom:2rem;padding:1rem}.step-number{width:2.5rem;height:2.5rem;font-size:.875rem}.category-grid{grid-template-columns:1fr;gap:.875rem}.country-grid{grid-template-columns:repeat(3,1fr);gap:.625rem}.country-card{padding:1rem .5rem;min-height:100px}.country-flag{width:48px;height:36px}.country-name{font-size:.75rem}.last-search-banner{padding:.75rem .875rem;margin-bottom:.875rem}.last-search-content{gap:.5rem}.last-search-label,.last-search-or{font-size:.8125rem;text-align:center}.last-search-country{padding:.625rem .875rem;font-size:.9375rem}.last-search-country img{width:24px;height:18px}.show-all-countries-btn,.subtle-location-link{padding:.75rem 1rem;font-size:.875rem}.location-link-wrapper{margin-top:1.25rem;padding-top:1rem}.atmosphere-options{grid-template-columns:1fr 1fr}.atmosphere-grid.enhanced{grid-template-columns:repeat(2,1fr)}.success-message{position:relative;top:auto;right:auto;margin:1rem 0;max-width:100%}.results-header{flex-direction:column;gap:1rem}.results-actions-top{width:100%;justify-content:flex-end}.results-controls{width:100%;flex-direction:column;align-items:stretch}.results-toolbar{top:58px}.sort-select{width:100%;justify-content:space-between}.meta-stats{flex-wrap:wrap}.auth-header{flex-direction:column;text-align:center}.auth-icon-container{margin:0 auto}.loading-stage{font-size:.625rem}.stage-icon{width:28px;height:28px}.ai-indicator{font-size:.75rem;padding:.375rem .75rem}}@media(hover:none){.category-card:active,.country-card:active,.suggestion-tag:active,.city-tag:active,.atmosphere-option:active{transform:scale(.98)}}@media(prefers-contrast:high){.wizard-container{border-width:3px}.btn-primary,.btn-secondary{font-weight:700}.step-number{border-width:4px}}@media(display-mode:standalone){.wizard-container{margin-top:1rem}}@media print{.wizard-container{box-shadow:none;border:1px solid #000}.step-nav,.loading-indicator,.auth-required-message,.filters-panel,.results-actions,.filter-toggle{display:none}.results-section{border:none;margin:0;padding:0}}.anchor-card{margin-top:16px;padding:14px;border:1px dashed var(--border-color);border-radius:var(--radius-md);background:#f8fafc}.anchor-header{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--text-primary);margin-bottom:10px}.anchor-fields{display:flex;gap:10px;flex-wrap:wrap}.anchor-fields input{flex:1;min-width:240px;padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm)}.anchor-geo-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 12px;background:#f4f4f6;color:#141516;border:1px solid #F4F4F6;border-radius:var(--radius-sm);cursor:pointer}.anchor-geo-btn:disabled{opacity:.6;cursor:not-allowed}.anchor-error{margin-top:8px;color:var(--error-600, #DC2626);font-size:13px}.anchor-meta{margin-top:6px;color:var(--text-secondary);font-size:13px}.results-subtitle{margin:4px 0 0;color:#5b5a65;font-size:14px}.results-guest-note{margin:6px 0 0;color:#5b5a65;font-size:13px}.filtered-empty-state{padding:var(--spacing-12) var(--spacing-6);text-align:center;background:#f4f4f6;border-radius:var(--radius-lg);margin:var(--spacing-6) 0}.empty-state-icon{width:80px;height:80px;margin:0 auto var(--spacing-4);display:flex;align-items:center;justify-content:center;background:#e5e6e8;border-radius:var(--radius-full);color:#5b5a65}.empty-state-title{font-size:1.5rem;font-weight:600;color:#2c2d2d;margin-bottom:var(--spacing-2)}.empty-state-message{font-size:1rem;color:#5b5a65;margin-bottom:var(--spacing-4)}.empty-state-suggestions{list-style:none;padding:0;margin:0 auto var(--spacing-6);max-width:400px;text-align:left}.empty-state-suggestions li{padding:var(--spacing-2) var(--spacing-4);margin-bottom:var(--spacing-2);background:#fff;border-radius:var(--radius-md);border-left:3px solid #2C2D2D;color:#2c2d2d;font-size:.875rem}.empty-state-actions{display:flex;gap:var(--spacing-3);justify-content:center;flex-wrap:wrap}.next-steps-section{margin-top:var(--spacing-8);padding:var(--spacing-6);background:#f4f4f6;border-radius:var(--radius-lg);border:1px solid #E5E6E8}.next-steps-title{font-size:1.25rem;font-weight:600;color:#2c2d2d;margin-bottom:var(--spacing-2);text-align:center}.next-steps-subtitle{font-size:.875rem;color:#5b5a65;margin-bottom:var(--spacing-4);text-align:center}.next-steps-section .results-actions{justify-content:center}@media(max-width:767px){.empty-state-icon{width:64px;height:64px}.empty-state-title{font-size:1.25rem}.empty-state-suggestions{max-width:100%}.next-steps-section .results-actions{flex-direction:column}.next-steps-section .results-actions button{width:100%}}.load-more-container{padding:var(--spacing-6);text-align:center;background:#f4f4f6;border-radius:var(--radius-lg);margin:var(--spacing-4) 0}.load-more-hint{margin-top:var(--spacing-2);font-size:.875rem;color:#5b5a65}@media(max-width:767px){.results-controls .btn-chip,.results-controls button{min-height:44px;min-width:44px;padding:var(--spacing-3) var(--spacing-4);font-size:.9375rem}.results-controls{flex-direction:column;gap:var(--spacing-3);width:100%}.results-controls>*{width:100%;justify-content:center}.sort-select{width:100%}.sort-select select{min-height:44px;font-size:1rem;padding:var(--spacing-3) var(--spacing-4)}.results-toolbar{flex-direction:column;gap:var(--spacing-4)}.meta-stats{width:100%;justify-content:center;flex-wrap:wrap}.results-actions button,.results-actions-top button{min-height:44px;min-width:44px}.results-actions{flex-direction:column;gap:var(--spacing-3)}.results-actions button{width:100%}.result-quality-badge{padding:var(--spacing-3)}.quality-label{font-size:.875rem;display:flex;align-items:center;gap:var(--spacing-2)}.search-insights{gap:var(--spacing-2)}.insight-chip{padding:var(--spacing-2) var(--spacing-3);font-size:.8125rem}.filtered-empty-state{padding:var(--spacing-8) var(--spacing-4)}.load-more-container button{width:100%;min-height:48px}}@media(hover:none)and (pointer:coarse){button,a,.btn,.btn-chip,select,input[type=checkbox],input[type=radio]{min-height:44px;min-width:44px}.results-controls{gap:var(--spacing-4)}.btn:hover,.btn-chip:hover{transform:none}.btn:active,.btn-chip:active{transform:scale(.98);opacity:.9}}@media(min-width:768px)and (max-width:1024px){.results-toolbar{flex-wrap:wrap}.results-controls{width:100%;justify-content:flex-start;gap:var(--spacing-3)}.btn-chip{min-height:40px;padding:var(--spacing-2) var(--spacing-4)}}.split-view-container{display:flex;flex-direction:row;gap:0;width:100%;height:calc(100vh - var(--nav-height, 64px));background:var(--bg-secondary)}.wizard-panel{flex:0 1 60%;min-width:500px;max-width:720px;overflow-y:auto;overflow-x:hidden;background:#ffffffeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:var(--spacing-6, 1.5rem);box-shadow:0 0 40px #0000000a;margin:0 auto}.split-view-container:has(.wizard-panel):not(:has(.map-panel)) .wizard-panel{flex:1 1 auto;max-width:960px}.map-panel{flex:1 1 40%;min-width:400px;height:100%;background:var(--bg-secondary, #F4F4F6);border-left:1px solid var(--border-color, #E5E6E8)}.map-panel .search-map-container{width:100%;height:100%}@media(min-width:961px)and (max-width:1280px){.wizard-panel{min-width:450px;max-width:55%}.map-panel{min-width:350px}}@media(max-width:960px){.split-view-container{flex-direction:column;height:auto;min-height:100vh}.wizard-panel{flex:1 1 auto;max-width:100%;min-width:100%;overflow-y:visible;height:auto;padding:var(--spacing-4, 1rem)}.map-panel{flex:0 0 auto;width:100%;min-width:100%;height:60vh;min-height:450px;border-left:none;border-top:1px solid var(--border-color, #E5E6E8)}}@media(max-width:640px){.wizard-panel{padding:var(--spacing-3, .75rem)}.map-panel{height:40vh;min-height:300px}}.map-toggle-button{position:fixed;bottom:24px;right:24px;z-index:100;padding:12px 20px;background:var(--primary-color, #5B5A65);color:#fff;border:none;border-radius:24px;font-weight:600;font-size:14px;box-shadow:0 4px 12px #00000026;cursor:pointer;transition:all .2s ease;display:none}.map-toggle-button:hover{background:var(--primary-hover, #5B5A65);transform:translateY(-2px);box-shadow:0 6px 16px #0003}@media(max-width:1024px){.map-toggle-button{display:flex;align-items:center;gap:8px}}.search-marker.highlighted{transform:scale(1.2)!important;box-shadow:0 6px 16px #00000080!important;z-index:1001!important}.search-results-section{scroll-behavior:smooth}.result-card.marker-hovered{box-shadow:0 8px 24px #5b5a654d;transform:translateY(-4px);border-color:var(--primary-color, #5B5A65)}@media(min-width:1440px){.wizard-panel{max-width:55%}.map-panel{min-width:45%}}@media(min-width:1920px){.wizard-panel{max-width:50%}.map-panel{min-width:50%}}.map-panel.loading{display:flex;align-items:center;justify-content:center;background:var(--bg-secondary, #F4F4F6)}.map-panel.loading:after{content:"Loading map...";font-size:14px;color:var(--text-secondary, #5B5A65);animation:pulse 1.5s ease-in-out infinite}.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:#2c2d2d;color:#fff;border-radius:9999px;box-shadow:0 4px 6px -1px #00000014,0 2px 4px -2px #0000000f;min-height:48px}.btn-primary:hover:not(:disabled){background:#1f2020;transform:translateY(-1px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #00000014}.btn-primary:active:not(:disabled){background:#141516;transform:translateY(0)}.btn-primary:focus-visible{outline:2px solid #5B5A65;outline-offset:2px}.btn-primary:disabled{background:#c7c8cd;color:#fff;opacity:1}.btn-secondary{background-color:var(--color-background);color:var(--color-text-primary);border:2px solid var(--color-border);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background-color:var(--color-surface);border-color:var(--color-border-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-secondary:focus-visible{outline:2px solid var(--primary-300);outline-offset:2px}.btn-tertiary{background-color:transparent;color:var(--color-primary);padding:var(--spacing-2) var(--spacing-4)}.btn-tertiary:hover:not(:disabled){background-color:var(--primary-50);color:var(--color-primary-hover)}.btn-tertiary:active:not(:disabled){background-color:var(--primary-100)}.btn-danger{background-color:var(--error-500);color:var(--color-text-inverse);box-shadow:0 4px 6px -1px #5b5a654d}.btn-danger:hover:not(:disabled){background-color:var(--error-600);transform:translateY(-2px);box-shadow:0 10px 25px -5px #5b5a6566}.btn-danger:active:not(:disabled){transform:translateY(0) scale(.98)}.btn-success{background-color:var(--success-500);color:var(--color-text-inverse);box-shadow:0 4px 6px -1px #5b5a654d}.btn-success:hover:not(:disabled){background-color:var(--success-600);transform:translateY(-2px);box-shadow:0 10px 25px -5px #5b5a6566}.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)}.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)}.btn-icon{padding:var(--spacing-3);border-radius:var(--radius-full);background:#f4f4f6;color:#2c2d2d;width:40px;height:40px;min-width:40px;min-height:40px;box-shadow:0 1px 3px #0000000f}.btn-icon:hover:not(:disabled){background:#e5e6e8}.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(--gray-100);color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-chip:hover:not(:disabled){background-color:var(--gray-200);border-color:var(--gray-300)}.btn-chip.is-active{background-color:var(--primary-100);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:#757575;border:1px solid #dadce0;box-shadow:var(--shadow-sm)}.btn-google:hover:not(:disabled){background-color:#f8f9fa;box-shadow:var(--shadow-md)}.btn-facebook{background-color:#5b5a65;color:#fff}.btn-facebook:hover:not(:disabled){background-color:#5b5a65}.btn-twitter{background-color:#9c9b9e;color:#fff}.btn-twitter:hover:not(:disabled){background-color:#9c9b9e}@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:40px}.btn-lg,.btn-xl{min-height:52px}.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:#2c2d2d;background-color:#f4f4f6;border:1px solid #E5E6E8;border-radius:12px;transition:all var(--transition-base)}.input::placeholder{color:#9c9b9e}.input:hover:not(:disabled){border-color:#c7c8cd}.input:focus{outline:none;border-color:#5b5a65;box-shadow:0 0 0 2px #5b5a6533}.input:disabled{background-color:#e5e6e8;color:#9c9b9e;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(--gray-300);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(--gray-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}.input-lg{padding:var(--spacing-3) var(--spacing-4);font-size:16px}}@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:#f1f5f9;animation:pulse 1.5s ease-in-out infinite;border-radius:var(--radius-md);box-shadow:0 2px 8px #1415160a}.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:#141516bf;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 #E5E6E8;gap:1rem}.modal-header h3{margin:0;font-size:1.25rem;font-weight:700;color:#141516;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 #E5E6E8;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:#f1f5f9;border-radius:4px}.modal-content::-webkit-scrollbar-thumb{background:#c7c8cd;border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:#9c9b9e}.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, #2C2D2D)}.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, #2C2D2D)}.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, #2C2D2D)}.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:#f4f4f6;border-color:#e5e6e8;color:#2c2d2d}.alert-info .alert-icon{color:#5b5a65}.alert-info .alert-dismiss:hover{background:#5b5a651a}@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:#5b5a65;display:inline-flex;align-items:center;justify-content:center;transition:color .2s ease}.tooltip-trigger-icon:hover,.tooltip-trigger-icon:focus{color:#2c2d2d;outline:none}.tooltip-content{position:absolute;z-index:1000;background:#2c2d2d;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:#2C2D2D transparent transparent transparent}.tooltip-bottom .tooltip-arrow{top:-4px;left:50%;transform:translate(-50%);border-width:0 4px 4px 4px;border-color:transparent transparent #2C2D2D transparent}.tooltip-left .tooltip-arrow{right:-4px;top:50%;transform:translateY(-50%);border-width:4px 0 4px 4px;border-color:transparent transparent transparent #2C2D2D}.tooltip-right .tooltip-arrow{left:-4px;top:50%;transform:translateY(-50%);border-width:4px 4px 4px 0;border-color:transparent #2C2D2D 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 #2C2D2D 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:9999;padding:var(--spacing-4)}.planner-modal-content{background:#fff;border-radius:var(--radius-lg);box-shadow:0 20px 40px #0003;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 #E5E6E8}.planner-modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#2c2d2d}.planner-modal-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:var(--spacing-2);cursor:pointer;color:#5b5a65;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;transition:all .2s ease}.planner-modal-close:hover{background:#f4f4f6;color:#2c2d2d}.planner-modal-subtitle{padding:var(--spacing-4) var(--spacing-6);margin:0;font-size:.875rem;color:#5b5a65;border-bottom:1px solid #E5E6E8}.planner-modal-subtitle strong{color:#2c2d2d}.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:#f4f4f6;border:1px solid #E5E6E8;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:#f4f4f6;border-color:#2c2d2d;transform:translateY(-1px)}.planner-item-modal:active{transform:translateY(0)}.planner-item-icon{color:#2c2d2d;flex-shrink:0}.planner-item-details{flex:1}.planner-item-name{font-weight:600;color:#2c2d2d;margin-bottom:2px}.planner-item-meta{font-size:.8125rem;color:#5b5a65}.no-planners-message{text-align:center;padding:var(--spacing-8) var(--spacing-4);color:#5b5a65}.no-planners-message p{margin:0 0 var(--spacing-2)}.no-planners-hint{font-size:.875rem;color:#9c9b9e}.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:flex-end}.planner-modal-content{max-width:100%;max-height:85vh;border-bottom-left-radius:0;border-bottom-right-radius:0}.planner-modal-header{padding:var(--spacing-4)}.planner-modal-subtitle{padding:var(--spacing-3) var(--spacing-4)}.planner-modal-body{padding:var(--spacing-4)}.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:999;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:1000;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 #E5E6E8;background:#f8fafc}.modal-title-section{display:flex;gap:12px;align-items:flex-start}.modal-icon{color:#5b5a65;flex-shrink:0;margin-top:2px}.modal-title{font-size:20px;font-weight:600;color:#141516;margin:0 0 4px}.modal-subtitle{font-size:14px;color:#5b5a65;margin:0}.modal-close-btn{background:transparent;border:none;cursor:pointer;padding:6px;border-radius:6px;color:#5b5a65;transition:all .2s;flex-shrink:0}.modal-close-btn:hover{background:#f4f4f6;color:#141516}.modal-content{padding:24px;overflow-y:auto;flex:1}.search-preview{background:#f4f4f6;border:1px solid #E5E6E8;border-radius:12px;padding:16px;margin-bottom:24px}.search-preview-title{font-size:14px;font-weight:600;color:#2c2d2d;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:#5b5a65;font-weight:500;min-width:80px}.preview-value{font-size:13px;color:#141516;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:#5B5A65}.checkbox-label{display:flex;align-items:center;gap:6px;font-size:14px;color:#2c2d2d;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label svg{color:#5b5a65}.default-name-display{background:#f4f4f6;border:1px solid #E5E6E8;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:4px}.default-name-label{font-size:12px;color:#5b5a65;font-weight:500}.default-name-value{font-size:14px;color:#141516;font-weight:500}.form-label{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:#2c2d2d;margin-bottom:8px}.form-label svg{color:#5b5a65}.search-notes-textarea{width:100%;padding:12px;border:1px solid #E5E6E8;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;transition:all .2s}.search-notes-textarea:focus{outline:none;border-color:#5b5a65;box-shadow:0 0 0 3px #5b5a651a}.search-notes-textarea::placeholder{color:#9c9b9e}.char-count{display:block;text-align:right;font-size:12px;color:#5b5a65;margin-top:4px}.already-saved-notice{display:flex;align-items:center;gap:8px;background:#f8f9fa;border:1px solid #E5E6E8;border-radius:8px;padding:12px;color:#5b5a65;font-size:14px;font-weight:500}.already-saved-notice svg{color:#2c2d2d;flex-shrink:0}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #E5E6E8;background:#f4f4f6}@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{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:600px;max-height:90vh;overflow:hidden;z-index:1000;animation:slideUp .3s ease-out;display:flex;flex-direction:column}.native-share-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #E5E6E8}.native-share-btn{width:100%;justify-content:center}.share-options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px}.share-option-card{background:#f4f4f6;border:2px solid #E5E6E8;border-radius:12px;padding:16px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;position:relative;overflow:hidden}.share-option-card:hover{background:#fff;border-color:#5b5a65;transform:translateY(-2px);box-shadow:0 4px 12px #5b5a6526}.share-option-card:active{transform:translateY(0)}.share-option-card.primary{background:#f4f4f6;border-color:#5b5a65}.share-option-card.primary:hover{background:#f4f4f6;border-color:#2c2d2d}.option-icon{width:48px;height:48px;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;color:#5b5a65;box-shadow:0 2px 8px #5b5a651a}.share-option-card:hover .option-icon{transform:scale(1.1);box-shadow:0 4px 12px #5b5a6533}.option-content{flex:1}.option-title{font-size:15px;font-weight:600;color:#141516;margin:0 0 4px}.option-description{font-size:13px;color:#5b5a65;margin:0;line-height:1.4}.results-preview{background:#f4f4f6;border:1px solid #E5E6E8;border-radius:12px;padding:16px}.preview-title{font-size:14px;font-weight:600;color:#2c2d2d;margin:0 0 12px}.preview-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.preview-list li{font-size:13px;color:#5b5a65;padding-left:20px;position:relative}.preview-list li:before{content:"✓";position:absolute;left:0;color:#5b5a65;font-weight:700}@media(max-width:640px){.share-results-modal{width:95%}.share-options-grid{grid-template-columns:1fr}.native-share-section{margin-bottom:20px;padding-bottom:20px}}@media(max-width:480px){.option-icon{width:40px;height:40px}.option-title{font-size:14px}.option-description{font-size:12px}}.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:#5b5a65;color:#fff;flex-shrink:0}.cookie-banner-header h3{margin:0;font-size:24px;font-weight:700;color:#2c2d2d}.cookie-banner-text{margin:0 0 24px;line-height:1.6;color:#5b5a65;font-size:15px}.cookie-banner-actions{display:flex;gap:12px;flex-wrap:wrap}.cookie-action-btn{flex:1;min-width:140px}.cookie-banner-footer{margin-top:20px;padding-top:20px;border-top:1px solid #E5E6E8;text-align:center}.cookie-policy-link{color:#5b5a65;text-decoration:underline;font-size:14px;font-weight:500;transition:color .2s}.cookie-policy-link:hover{color:#2c2d2d}.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:#2c2d2d}.cookie-settings-description{margin:0 0 24px;color:#5b5a65;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 #E5E6E8;border-radius:12px;transition:border-color .2s,background-color .2s}.cookie-preference-item:hover{border-color:#5b5a65;background-color:#5b5a650a}.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:#5B5A65;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:#2c2d2d}.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:#f4f4f6;color:#2c2d2d}.ai-badge{background:#f4f4f6;color:#5b5a65}.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:#f4f4f6;color:#5b5a65}.preference-description{margin:0;padding-left:32px;font-size:13px;color:#5b5a65;line-height:1.5}.ai-info-link{display:inline-block;margin-left:8px;color:#5b5a65;text-decoration:underline;font-weight:500}.ai-info-link:hover{color:#2c2d2d}.cookie-settings-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:20px;border-top:1px solid #E5E6E8}@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 #5B5A65;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 #E5E6E8;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:#2c2d2d}.progress-percentage{font-size:14px;font-weight:600;color:#5b5a65}.progress-bar-container{width:100%;height:8px;background:#f4f4f6;border-radius:4px;overflow:hidden;position:relative}.progress-bar-fill{height:100%;background:#5b5a65;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:#5b5a65}.progress-cancel{padding:4px 12px;font-size:12px;color:#5b5a65;background:transparent;border:1px solid #5B5A65;border-radius:4px;cursor:pointer;transition:all .2s}.progress-cancel:hover{background:#5b5a65;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 #E5E6E8}.progress-circle{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.progress-circle-bg{stroke:#f4f4f6}.progress-circle-fill{stroke:#5b5a65;transition:stroke-dashoffset .3s ease}.progress-circle-text{font-size:18px;font-weight:600;fill:#2c2d2d}.progress-circular-message{margin-top:16px;font-size:14px;font-weight:500;color:#2c2d2d;text-align:center}.progress-circular-time{margin-top:8px;font-size:12px;color:#5b5a65}.progress-indicator.steps{padding:24px;background:#fff;border-radius:8px;border:1px solid #E5E6E8}.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:#f4f4f6;color:#9c9b9e;transition:all .3s}.progress-step.completed .progress-step-icon,.progress-step.active .progress-step-icon,.progress-step.error .progress-step-icon{background:#5b5a65;color:#fff}.progress-step.pending .progress-step-icon{background:#f4f4f6;color:#9c9b9e}.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:#2c2d2d;margin-bottom:4px}.progress-step.completed .progress-step-label{color:#5b5a65}.progress-step.active .progress-step-label{color:#5b5a65;font-weight:600}.progress-step.error .progress-step-label{color:#5b5a65}.progress-step-message{font-size:12px;color:#5b5a65;margin-top:4px}.progress-step-connector{width:2px;height:16px;background:#e5e6e8;margin-left:15px;transition:background .3s}.progress-step-connector.completed{background:#5b5a65}.progress-steps-overall-message{margin-top:16px;padding:12px;background:#f4f4f6;border-radius:6px;font-size:13px;color:#5b5a65;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 #5B5A65;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:#5b5a65;border:none;border-radius:50%;box-shadow:0 4px 12px #5b5a654d,0 8px 24px #5b5a6533;cursor:pointer;z-index:9000;transition:all .3s cubic-bezier(.16,1,.3,1)}.ai-assistant-fab:hover{box-shadow:0 6px 16px #5b5a6566,0 12px 32px #5b5a654d}.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:#5b5a65;border:2px solid #fff;border-radius:12px;box-shadow:0 2px 8px #5b5a6566}.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:#5b5a65;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:#5b5a65;border-radius:50%;box-shadow:0 0 8px #5b5a6599;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:#f4f4f6}@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:#5b5a65;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:#5b5a65;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:#5b5a6514;border-color:#5b5a6566;color:#2c2d2d}@media(prefers-color-scheme:dark){.suggestion-chip:hover{background:#5b5a652e}}.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:#f4f4f6;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:#5b5a65;box-shadow:0 0 0 3px #5b5a651f}@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:#5b5a65;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 #5b5a6559}.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:#5b5a65;border:2px solid var(--color-background, #fff);border-radius:50%;box-shadow:0 0 8px #5b5a6599}.editing-pulse{width:100%;height:100%;border-radius:50%;background:#5b5a65;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, #F4F4F6);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, #F4F4F6);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, #5B5A65)}.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, #f8f9fa);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}.upgrade-signup-btn:hover{transform:translateY(-2px);box-shadow:0 6px 12px #007bff4d}.upgrade-dismiss-btn{width:100%;padding:12px 24px;font-size:14px;border-radius:8px}.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}}@media(prefers-color-scheme:dark){.guest-upgrade-prompt-content h3{color:var(--color-text-primary-dark, #f8f9fa)}.upgrade-description{color:var(--color-text-secondary-dark, #adb5bd)}.benefit-item{background-color:var(--color-background-dark, #343a40)}.benefit-item:hover{background-color:var(--color-background-hover-dark, #495057)}.benefit-item span{color:var(--color-text-primary-dark, #f8f9fa)}.upgrade-footer{color:var(--color-text-tertiary-dark, #6c757d)}}.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, #141516);letter-spacing:-.02em}.signup-prompt-message{margin:0 0 32px;font-size:16px;line-height:1.7;color:var(--dc-text-secondary, #5B5A65);max-width:480px}.signup-prompt-message strong{color:var(--dc-text-primary, #2C2D2D);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, #2C2D2D)}.benefit-compact strong{color:var(--dc-text-strong, #141516);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, #5B5A65);background:transparent;border:none;cursor:pointer;transition:all .2s ease}.continue-btn:hover{color:var(--dc-text-primary, #2C2D2D);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;left:0;right:0;bottom:0;background:#000000f2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:9999;display:flex;flex-direction:column;overflow:hidden}.gallery-close-btn{position:absolute;top:var(--spacing-4, 1rem);right:var(--spacing-4, 1rem);width:48px;height:48px;border-radius:var(--radius-full, 9999px);background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-base, .2s);z-index:10001}.gallery-close-btn:hover{background:#fff3;transform:scale(1.1)}.gallery-close-btn:active{transform:scale(.95)}.gallery-header{position:absolute;top:var(--spacing-4, 1rem);left:var(--spacing-4, 1rem);right:calc(var(--spacing-4, 1rem) + 64px);display:flex;justify-content:space-between;align-items:flex-start;z-index:10000;pointer-events:none}.gallery-location-info{background:#0009;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:var(--spacing-4, 1rem) var(--spacing-5, 1.25rem);border-radius:var(--radius-xl, 1rem);border:1px solid rgba(255,255,255,.1);max-width:60%}.gallery-location-name{font-size:1.25rem;font-weight:700;color:#fff;margin:0;font-family:var(--font-display, "Poppins", sans-serif);line-height:1.3}.gallery-location-city{font-size:.875rem;color:#fffc;margin:.25rem 0 0}.gallery-counter{background:#0009;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:var(--spacing-3, .75rem) var(--spacing-4, 1rem);border-radius:var(--radius-full, 9999px);border:1px solid rgba(255,255,255,.1);color:#fff;font-size:.875rem;font-weight:600;font-family:var(--font-display, "Poppins", sans-serif)}.gallery-content{flex:1;display:flex;align-items:center;justify-content:center;position:relative;padding:6rem 5rem 10rem;overflow:hidden}.gallery-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:64px;height:64px;border-radius:var(--radius-full, 9999px);background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-base, .2s);z-index:10000}.gallery-nav-btn:hover{background:#fff3;transform:translateY(-50%) scale(1.1)}.gallery-nav-btn:active{transform:translateY(-50%) scale(.95)}.gallery-prev-btn{left:var(--spacing-6, 1.5rem)}.gallery-next-btn{right:var(--spacing-6, 1.5rem)}.gallery-image-wrapper{position:relative;max-width:90%;max-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.gallery-image-wrapper.zoomed{max-width:none;max-height:none;cursor:zoom-out}.gallery-image-wrapper:not(.zoomed){cursor:zoom-in}.gallery-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-xl, 1rem);box-shadow:0 20px 60px #00000080;transition:all .3s cubic-bezier(.4,0,.2,1)}.gallery-image-wrapper.zoomed .gallery-image{max-width:none;max-height:none;width:auto;height:auto;max-width:150%;max-height:150%;border-radius:var(--radius-2xl, 1.5rem)}.gallery-image-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1}.loader-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.gallery-caption{margin-top:var(--spacing-4, 1rem);padding:var(--spacing-3, .75rem) var(--spacing-5, 1.25rem);background:#000000b3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg, .75rem);border:1px solid rgba(255,255,255,.1);color:#fff;font-size:.9375rem;text-align:center;max-width:600px}.gallery-toolbar{position:absolute;bottom:calc(var(--spacing-4, 1rem) + 80px);left:50%;transform:translate(-50%);display:flex;gap:var(--spacing-6, 1.5rem);padding:var(--spacing-3, .75rem);background:#0009;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-full, 9999px);border:1px solid rgba(255,255,255,.1);z-index:10000}.gallery-toolbar-left,.gallery-toolbar-right{display:flex;gap:var(--spacing-2, .5rem)}.gallery-tool-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem var(--spacing-4, 1rem);background:transparent;border:none;border-radius:var(--radius-full, 9999px);color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-base, .2s);white-space:nowrap;text-decoration:none}.gallery-tool-btn:hover{background:#ffffff26}.gallery-tool-btn:active{transform:scale(.95)}.gallery-tool-btn span{display:none}.gallery-thumbnails{position:absolute;bottom:var(--spacing-4, 1rem);left:50%;transform:translate(-50%);display:flex;gap:var(--spacing-2, .5rem);padding:var(--spacing-3, .75rem);background:#0009;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-full, 9999px);border:1px solid rgba(255,255,255,.1);max-width:90%;overflow-x:auto;z-index:10000;scrollbar-width:none;-ms-overflow-style:none}.gallery-thumbnails::-webkit-scrollbar{display:none}.gallery-thumbnail{width:60px;height:60px;border-radius:var(--radius-lg, .75rem);overflow:hidden;border:2px solid transparent;cursor:pointer;flex-shrink:0;transition:all var(--transition-base, .2s);background:#ffffff1a}.gallery-thumbnail:hover{transform:scale(1.1);border-color:#ffffff4d}.gallery-thumbnail.active{border-color:#fff;box-shadow:0 4px 12px #ffffff4d}.gallery-thumbnail img{width:100%;height:100%;object-fit:cover}@media(max-width:1024px){.gallery-content{padding:5rem 3rem 9rem}.gallery-nav-btn{width:48px;height:48px}.gallery-prev-btn{left:var(--spacing-4, 1rem)}.gallery-next-btn{right:var(--spacing-4, 1rem)}}@media(max-width:768px){.gallery-header{flex-direction:column;gap:var(--spacing-3, .75rem);right:calc(var(--spacing-3, .75rem) + 56px)}.gallery-location-info{max-width:100%;padding:var(--spacing-3, .75rem) var(--spacing-4, 1rem)}.gallery-location-name{font-size:1rem}.gallery-location-city{font-size:.8125rem}.gallery-close-btn{width:40px;height:40px;top:var(--spacing-3, .75rem);right:var(--spacing-3, .75rem)}.gallery-content{padding:4.5rem 1rem 8rem}.gallery-nav-btn{width:40px;height:40px}.gallery-prev-btn{left:var(--spacing-2, .5rem)}.gallery-next-btn{right:var(--spacing-2, .5rem)}.gallery-toolbar{bottom:calc(var(--spacing-3, .75rem) + 70px);padding:var(--spacing-2, .5rem);gap:var(--spacing-2, .5rem)}.gallery-tool-btn{padding:.5rem}.gallery-tool-btn span{display:none}.gallery-thumbnails{bottom:var(--spacing-3, .75rem);padding:var(--spacing-2, .5rem);gap:var(--spacing-1, .25rem)}.gallery-thumbnail{width:48px;height:48px}.gallery-caption{font-size:.875rem;padding:var(--spacing-2, .5rem) var(--spacing-4, 1rem)}}@media(min-width:769px){.gallery-tool-btn span{display:inline}}@media(prefers-reduced-motion:reduce){.photo-gallery-overlay,.gallery-image-wrapper,.gallery-image,.gallery-nav-btn,.gallery-thumbnail{transition:none;animation:none}}@media(hover:none)and (pointer:coarse){.gallery-nav-btn,.gallery-close-btn,.gallery-tool-btn,.gallery-thumbnail{min-width:44px;min-height:44px}}.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:#f1f5f9;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:#e5e6e8;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(91,90,101,.12)}.shimmer-stat-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-lg, .75rem);background:#f4f4f6}.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 #14151614;border:1px solid rgba(91,90,101,.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:#f0f0f0}.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: #2C2D2D;--category-cafe: #2C2D2D;--category-museum: var(--color-secondary, #5B5A65);--category-attraction: #2C2D2D;--category-park: #2C2D2D;--category-shopping: #2C2D2D;--category-nightlife: var(--color-primary, #2C2D2D);--category-default: #2C2D2D;--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, #F4F4F6)}.search-marker{width:36px;height:36px;border-radius:50%;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));cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;border:2px solid white;-webkit-user-select:none;user-select:none;min-width:36px;min-height:36px}.search-marker[data-category=restaurant]{background:var(--category-restaurant)}.search-marker[data-category=cafe]{background:var(--category-cafe)}.search-marker[data-category=museum]{background:var(--category-museum)}.search-marker[data-category=attraction]{background:var(--category-attraction)}.search-marker[data-category=park]{background:var(--category-park)}.search-marker[data-category=shopping]{background:var(--category-shopping)}.search-marker[data-category=nightlife]{background:var(--category-nightlife)}.search-marker[data-category=default],.search-marker:not([data-category]){background:var(--category-default)}.search-marker:hover,.search-marker.hovered{transform:scale(1.15);box-shadow:var(--shadow-lg, 0 4px 12px rgba(0, 0, 0, .4));z-index:999}.search-marker.selected{transform:scale(1.2);box-shadow:var(--shadow-xl, 0 6px 16px rgba(0, 0, 0, .5));z-index:1001}.search-marker:focus{outline:2px solid var(--primary-500, #5B5A65);outline-offset:2px}.search-marker:focus-visible{outline:3px solid var(--primary-500, #5B5A65);outline-offset:3px}@media(max-width:768px){.search-marker{width:40px;height:40px;min-width:40px;min-height:40px;font-size:var(--font-size-base, 1rem)}}.mapboxgl-popup-content{padding:var(--spacing-3, .75rem)!important;min-width:220px;max-width:min(300px,calc(100vw - 32px));border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-xl, 0 8px 24px rgba(0, 0, 0, .15))}.search-popup-container{display:flex;flex-direction:column;gap:var(--spacing-2, .5rem)}.search-popup-title{font-weight:700;font-size:var(--font-size-lg, 1.125rem);color:var(--text-primary, #2C2D2D);margin:0;line-height:1.3}.search-popup-category-badge{display:inline-block;padding:var(--spacing-1, .25rem) var(--spacing-2, .5rem);border-radius:var(--radius-full, 9999px);font-size:var(--font-size-xs, .75rem);font-weight:600;color:#fff;align-self:flex-start}.search-popup-rating{color:var(--text-secondary, #5B5A65);font-size:var(--font-size-sm, .875rem);display:flex;align-items:center;gap:var(--spacing-1, .25rem)}.search-popup-image{width:100%;height:120px;object-fit:cover;border-radius:var(--radius-md, 8px)}.search-popup-description{color:var(--text-secondary, #5B5A65);font-size:var(--font-size-sm, .875rem);line-height:1.4;margin:0}.search-popup-button{width:100%;padding:var(--spacing-2, .5rem) var(--spacing-4, 1rem);background:var(--primary-500, #5B5A65);color:#fff;border:none;border-radius:var(--radius-md, 6px);font-weight:600;font-size:var(--font-size-sm, .875rem);cursor:pointer;transition:background .2s ease,transform .1s ease}.search-popup-button:hover{background:var(--primary-600, #5B5A65);transform:translateY(-1px)}.search-popup-button:active{transform:translateY(0)}.search-popup-button:focus{outline:2px solid var(--primary-500, #5B5A65);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, #2C2D2D);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, #2C2D2D);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, #5B5A65);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, #5B5A65);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, #5B5A65);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, #2C2D2D);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, #F4F4F6)}.search-map-loading:after{content:"Loading map...";font-size:var(--font-size-sm, .875rem);color:var(--text-tertiary, #9C9B9E);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.search-marker,.search-map-toggle-button,.search-map-recenter-button,.search-popup-button{transition:none}.search-map-loading:after{animation:none}}@media(prefers-contrast:high){.search-marker{border-width:3px}.search-marker:focus{outline-width:3px}}.search-result-card{background:#fffffff2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--radius-lg);box-shadow:0 2px 4px #0000000a,0 1px 2px #00000005;border:1px solid rgba(0,0,0,.06);margin-bottom:var(--spacing-8);overflow:hidden;transition:box-shadow .2s ease,border-color .2s ease;break-inside:avoid}.search-result-card:hover{box-shadow:0 12px 24px -8px #5b5a6526,0 4px 8px #0000000a;border-color:#5b5a6533;transform:translateY(-2px)}.search-result-header{padding:var(--spacing-4);border-bottom:1px solid #E5E6E8;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-3);background:#f4f4f6}.location-info{display:flex;align-items:center;font-weight:500;color:var(--color-text-secondary, #5B5A65)}.location-icon{color:#5b5a65;margin-right:8px;filter:drop-shadow(0 2px 4px rgba(91,90,101,.3))}.result-tabs{display:flex;gap:8px}.tab-btn{padding:6px 12px;border-radius:6px;border:1px solid #E5E6E8;background-color:var(--color-surface, #ffffff);color:var(--color-text-secondary, #5B5A65);font-size:14px;cursor:pointer;transition:all .2s ease}.tab-btn:hover{background-color:#f4f4f6}.tab-btn.active{background:#5b5a651f;color:#5b5a65;border-color:#5b5a65;box-shadow:0 2px 8px #5b5a6533}.search-result-content{padding:0}.intro-section{padding:var(--spacing-4, 16px);border-bottom:1px solid #E5E6E8;color:var(--color-text-secondary, #5B5A65);font-size:15px;line-height:1.6}.location-section{padding:var(--spacing-6);border-bottom:1px solid #E5E6E8;position:relative;background:#fff;transition:all var(--transition-base)}.location-section:hover{background:#5b5a650a;box-shadow:0 8px 16px #5b5a6514,0 2px 4px #00000005}.location-hero{position:relative;overflow:hidden;border-radius:var(--radius-xl);margin-bottom:var(--spacing-4);min-height:180px;max-height:260px;background:#f4f4f6;aspect-ratio:16 / 9;box-shadow:var(--shadow-md);transition:all var(--transition-base)}.location-hero:hover{box-shadow:var(--shadow-lg)}.location-hero-image{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;filter:saturate(1.05);background-color:#f4f4f6}.location-hero-image.placeholder{background:#e5e6e8;opacity:.9}.location-hero-image.clickable{cursor:pointer;transition:transform var(--transition-base, .2s),filter var(--transition-base, .2s)}.location-hero-image.clickable:hover{transform:scale(1.02);filter:saturate(1.15) brightness(1.05)}.location-photo-count{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:6px;padding:6px 12px;background:#000000b3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--radius-full, 9999px);color:#fff;font-size:.875rem;font-weight:600;border:1px solid rgba(255,255,255,.2);z-index:2;pointer-events:none}.location-photo-count svg{flex-shrink:0}.location-hero-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073;pointer-events:none}.location-hero-content{position:relative;padding:16px;color:#fff;display:flex;flex-direction:column;gap:8px}.location-hero-badges{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:space-between}.hero-badge{display:inline-flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background:#fffffff2;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--gray-900);box-shadow:0 4px 8px #0000001a,inset 0 1px #ffffff80;transition:all var(--transition-fast)}.hero-badge:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 8px 16px #5b5a6533,inset 0 1px #fff9}.hero-badge.pill{background:#00000026;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-color:#0003;color:#fff;text-transform:capitalize}.hero-badge.subtle{background:#0000001a;border-color:#0003;color:#fff}.hero-badge.rating{background:#5b5a6533;border-color:#5b5a654d;color:#fff}.hero-badge.insight{background:#00000026;border-color:#00000040;color:#fff}.hero-save-btn{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;border:1px solid rgba(20,21,22,.08);background:#ffffffeb;color:#5b5a65;transition:background .2s ease}.hero-save-btn:hover{background:#fff}.location-hero-title{font-size:1.25rem;font-weight:700;letter-spacing:-.01em;text-shadow:0 8px 30px rgba(0,0,0,.25)}.location-hero-subtitle{display:inline-flex;align-items:center;gap:6px;font-size:.95rem;opacity:.95}.location-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px;position:relative}.location-name{font-size:18px;font-weight:600;color:var(--color-text-primary, #141516);margin:0;flex:1;padding-right:16px}.trip-badges{display:flex;gap:8px;flex-wrap:wrap;margin-right:8px}.trip-badge{display:inline-flex;align-items:center;gap:6px;background:#f4f4f6;color:var(--color-text-secondary, #2C2D2D);padding:6px 10px;border-radius:999px;font-size:12px;font-weight:600;box-shadow:var(--shadow-xs, 0 1px 2px rgba(0, 0, 0, .05))}.trip-badge.open{background:#f4f4f6;color:#2c2d2d}.trip-badge.closed{background:#f4f4f6;color:#5b5a65}.planner-dropdown-container{position:absolute;top:calc(100% + 10px);left:0;z-index:999;width:min(360px,calc(100% - 8px));will-change:transform,opacity}.planner-dropdown{background:#fffffff2;backdrop-filter:blur(24px) saturate(200%);-webkit-backdrop-filter:blur(24px) saturate(200%);border-radius:var(--radius-2xl);box-shadow:0 24px 48px #5b5a6526,0 12px 24px #5b5a6514,inset 0 1px #fff9;border:1px solid rgba(255,255,255,.4);transition:opacity .2s ease;padding:var(--spacing-4);display:flex;flex-direction:column;gap:var(--spacing-3);scroll-behavior:smooth;scrollbar-gutter:stable;max-height:min(500px,calc(100vh - 160px));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}@media(min-width:768px){.planner-dropdown-container{width:380px;left:auto;right:0}.planner-dropdown{max-height:min(600px,calc(100vh - 180px))}}@media(max-width:767px){.planner-dropdown-container{width:calc(100vw - 32px);max-width:340px}@media(max-width:360px){.planner-dropdown-container{width:calc(100vw - 24px)}}}.planner-dropdown::-webkit-scrollbar{width:6px}.planner-dropdown::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.planner-dropdown::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.planner-dropdown::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.dropdown-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:6px;border-bottom:1px solid #E5E6E8;position:sticky;top:0;background:#fff;z-index:2}.dropdown-header h4{font-size:1rem;font-weight:600;color:#141516;margin:0}.dropdown-controls button{background:none;border:none;color:#5b5a65;cursor:pointer;margin:auto}.planner-list-header{font-weight:700;font-size:.95rem;color:#141516;margin:2px 0 8px}.planner-option{background-color:#f4f4f6;border:1px solid #E5E6E8;border-radius:12px;padding:12px 14px;margin-bottom:8px;display:grid!important;grid-template-columns:1fr auto;gap:10px;align-items:center;font-size:.9rem;color:#141516;cursor:pointer;transition:background-color .18s ease,border-color .18s ease}.planner-option:hover{background:#f4f4f6;border-color:#5b5a65;transform:translate(4px);box-shadow:0 2px 8px #5b5a6526}.planner-option:focus-visible{outline:2px solid #1f2020;outline-offset:2px;box-shadow:0 0 0 4px #5b5a6526}.planner-option-main{display:flex;flex-direction:column;gap:6px}.planner-name-row{display:flex;align-items:center;gap:8px;font-weight:700;color:#141516}.planner-icon{color:#1f2020}.planner-pill{margin-left:auto;padding:4px 10px;border-radius:999px;background:#5b5a651f;color:#2c2d2d;font-size:.75rem;font-weight:700}.planner-meta-row{display:flex;align-items:center;gap:10px;font-size:.85rem;color:#5b5a65}.planner-date{display:inline-flex;align-items:center;gap:6px}.planner-status-badge{padding:4px 8px;border-radius:10px;background:#f8f9fa;color:#5b5a65;font-weight:700;font-size:.75rem}.planner-action{font-weight:700;color:#1f2020;font-size:.9rem}.new-planner-btn.enhanced{width:100%;justify-content:center;font-size:.95rem;padding:12px 16px;font-weight:600;background:#2c2d2d;color:#fff;border-radius:12px;border:none;margin-top:8px;box-shadow:0 4px 8px #0000001a;transition:background-color .18s ease}.new-planner-btn.enhanced:hover{background:#5b5a65;transform:translateY(-2px);box-shadow:0 8px 16px #5b5a6566}.new-planner-btn,.create-first-planner-btn{background-color:#2c2d2d;color:#fff;padding:10px 12px;border-radius:8px;font-size:.875rem;border:none;cursor:pointer;display:flex;align-items:center;gap:6px}.new-planner-btn:hover,.create-first-planner-btn:hover{background-color:#1f2020}.new-planner-form{display:flex;flex-direction:column;gap:12px}.form-input-group{display:flex;flex-direction:column}.form-input-group label{font-size:.75rem;font-weight:500;color:#5b5a65;margin-bottom:4px}.new-planner-input{padding:8px 10px;border:1px solid #E5E6E8;border-radius:6px;font-size:.875rem}.form-actions{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.cancel-btn{background:transparent;border:none;color:#5b5a65;font-size:.875rem;cursor:pointer}.create-btn{background-color:#5b5a65;color:#fff;padding:8px 14px;font-size:.875rem;border:none;border-radius:6px;cursor:pointer;transition:background .2s ease}.create-btn:hover{background:#2c2d2d;transform:translateY(-1px);box-shadow:0 4px 12px #5b5a654d}.adding-indicator{display:flex;align-items:center;gap:6px;font-size:.875rem;color:#5b5a65}.add-to-planner-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:6px;border:1px solid #E5E6E8;background-color:#f4f4f6;color:#5b5a65;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.add-to-planner-btn:hover{background:#5b5a651a;border-color:#5b5a65;transform:translateY(-2px) scale(1.02);box-shadow:0 4px 12px #5b5a6533}.add-to-planner-btn.active{background-color:#f4f4f6;border-color:#f4f4f6;color:#2c2d2d;border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:1px solid #F4F4F6;position:relative;z-index:1000}.add-to-planner-btn.added{background-color:#f4f4f6;color:#5b5a65;border-color:#e5e6e8;cursor:default}.location-cta-row .btn.saved{background-color:#f4f4f6;border-color:#f4f4f6;color:#141516}.location-cta-row .btn:hover{transform:translateY(-1px);box-shadow:0 10px 20px #1415161f}.add-to-planner-btn:disabled{opacity:.7;cursor:default}.btn-icon{flex-shrink:0}.dropdown-arrow{transition:transform .2s ease}.close-dropdown{background:none;border:none;color:#5b5a65;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px}.close-dropdown:hover{background-color:#f4f4f6;color:#2c2d2d}.no-planners{padding:16px;text-align:center}.no-planners p{margin:0 0 12px;color:#5b5a65}.create-first-planner-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;background-color:#5b5a65;color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;width:100%;transition:background-color .2s}.create-first-planner-btn:hover{background-color:#2c2d2d}.planner-list{max-height:220px;overflow-y:auto;padding:12px 0}.planner-name{font-weight:500;color:#2c2d2d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.planner-date{display:flex;align-items:center;gap:4px;font-size:12px;color:#5b5a65}.new-planner-input:focus{outline:none;border-color:#c7c8cd;box-shadow:0 0 0 2px #5b5a6533}.cancel-btn:hover{background-color:#e5e6e8}.create-btn:hover:not(:disabled){background-color:#2c2d2d}.create-btn:disabled{opacity:.6;cursor:not-allowed}.spinner{animation:spin 1s linear infinite}.location-description{margin-bottom:12px;font-size:15px;line-height:1.5;color:var(--color-text-secondary, #5B5A65)}.location-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 14px;margin-bottom:16px}.detail-item{display:flex;align-items:flex-start;gap:8px;font-size:14px;color:var(--color-text-secondary, #5B5A65)}.detail-icon{margin-top:2px;flex-shrink:0}.detail-text{line-height:1.5}.location-cta-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:4px}.cta-with-dropdown{position:relative;display:flex;flex-direction:column;gap:10px}@media(max-width:768px){.location-hero{aspect-ratio:4 / 3;min-height:140px}.location-cta-row{flex-direction:column;align-items:stretch}}.website-link{display:inline-flex;align-items:center;gap:4px;color:#5b5a65;text-decoration:none}.website-link:hover{text-decoration:underline}.external-icon{flex-shrink:0}.location-highlights{border-top:1px solid #E5E6E8;padding-top:16px}.highlights-title{font-size:14px;font-weight:700;color:var(--color-text-primary, #141516);margin:0 0 8px;letter-spacing:-.01em}.highlight-chips{display:flex;gap:8px;flex-wrap:wrap}.highlight-chip{padding:6px 10px;background:#5b5a651f;border:1px solid rgba(91,90,101,.2);border-radius:999px;font-size:13px;color:#2c2d2d;box-shadow:var(--shadow-xs, 0 1px 2px rgba(0, 0, 0, .05))}.info-section{padding:16px;background-color:#f4f4f6;border-bottom:1px solid #E5E6E8}.info-header{margin-bottom:12px}.info-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#2c2d2d;margin:0}.info-icon{color:#5b5a65}.info-description{margin-bottom:12px;font-size:15px;line-height:1.5;color:#5b5a65}.info-content{margin-bottom:0}.info-list{margin:0;padding:0 0 0 20px}.info-item{margin-bottom:6px;font-size:14px;line-height:1.5;color:#5b5a65}.info-item:last-child{margin-bottom:0}.location-header{flex-direction:column;align-items:flex-start;gap:12px}.location-name{padding-right:0}.add-to-planner-btn{align-self:flex-start}.planner-list{max-height:40vh}.journey-preview{background-color:#f4f4f6;border-top:1px solid #E5E6E8;border-bottom:1px solid #E5E6E8;overflow:hidden}.preview-header{padding:.75rem 1rem;background-color:#f4f4f6;border-bottom:1px solid #F4F4F6}.preview-header h5{font-size:.875rem;font-weight:600;color:#2c2d2d;margin:0;display:flex;align-items:center;gap:.5rem}.preview-content{padding:1rem}.preview-timeline{position:relative;padding-left:1.25rem;margin-bottom:.75rem}.preview-timeline-marker{position:absolute;left:0;top:0;bottom:0;width:2px;background-color:#e5e6e8;border-radius:1px}.preview-stop{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.5rem;position:relative}.preview-stop:before{content:"";position:absolute;left:-1.25rem;top:.5rem;width:.625rem;height:.625rem;border-radius:50%;background-color:#1f2020;border:2px solid white;box-shadow:0 0 0 1px #5b5a654d}.preview-stop-icon{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.375rem;background-color:#f4f4f6;color:#1f2020;flex-shrink:0}.preview-stop-details{flex:1}.preview-stop-time{display:flex;align-items:center;gap:.25rem;color:#5b5a65;font-size:.75rem;margin-bottom:.25rem}.preview-stop-time .time-icon{color:#1f2020}.preview-stop-name{font-size:.875rem;font-weight:600;color:#2c2d2d;margin:0 0 .25rem}.preview-stop-duration{font-size:.75rem;color:#5b5a65}.preview-highlights{margin-top:.5rem;padding-left:1.25rem}.preview-highlight{display:flex;align-items:flex-start;gap:.5rem;background-color:#f4f4f6;padding:.5rem .75rem;border-radius:.375rem;margin-bottom:.5rem}.preview-highlight .highlight-icon{color:#5b5a65;flex-shrink:0;margin-top:.125rem}.preview-highlight span{font-size:.75rem;color:#2c2d2d;line-height:1.4}.preview-note{font-size:.75rem;color:#5b5a65;margin:.5rem 0 0;font-style:italic}.preview-toggle.enhanced{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:.8rem;font-weight:500;color:#5b5a65;background-color:#f4f4f6;border:1px solid #E5E6E8;border-radius:6px;cursor:pointer;transition:background .2s ease}.preview-toggle.enhanced:hover{background-color:#e5e6e8}.preview-toggle.enhanced.active{background-color:#f4f4f6;color:#2c2d2d;border-color:#f4f4f6}.location-type-restaurant{background-color:#f4f4f6;color:#2c2d2d}.location-type-cafe{background-color:#f4f4f6;color:#5b5a65}.location-type-attraction,.location-type-shop{background-color:#f4f4f6;color:#2c2d2d}.location-type-event,.location-type-service{background-color:#f4f4f6;color:#5b5a65}.location-type-other{background-color:#e5e6e8;color:#2c2d2d}.journey-preview{animation:slideDown .3s ease-in-out}.preview-stop{flex-direction:column;gap:.5rem}.preview-stop-icon{width:1.75rem;height:1.75rem}.preview-highlight{padding:.375rem .5rem}.itinerary-text{font-size:.9375rem;color:#2c2d2d;line-height:1.6}@media(max-width:768px){.location-header{flex-direction:column;align-items:flex-start;gap:12px}.location-name{padding-right:0}}@media(max-width:480px){.preview-stop{flex-direction:column;gap:.5rem}.preview-stop-icon{width:1.75rem;height:1.75rem}}@keyframes cardStaggerGlow{0%{box-shadow:0 10px 25px #5b5a6500}60%{box-shadow:0 14px 30px #5b5a651f}to{box-shadow:0 10px 25px #5b5a6500}}.location-section:hover .hero-badge,.location-section:hover .trip-badge{transform:translateY(-1px)}@media(max-width:1024px){.search-result-card{margin-bottom:var(--spacing-6)}.location-section{padding:var(--spacing-5)}.location-details-grid{gap:var(--spacing-4)}}@media(max-width:768px){.search-result-card{border-radius:var(--radius-xl);margin-bottom:var(--spacing-5)}.search-result-card:hover{transform:translateY(-2px)}.search-result-header{padding:var(--spacing-3);flex-direction:column;align-items:flex-start}.location-info{font-size:var(--font-size-sm)}.result-tabs{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.result-tabs::-webkit-scrollbar{display:none}.tab-btn{flex-shrink:0;padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm)}.intro-section{padding:var(--spacing-3);font-size:var(--font-size-sm)}.location-section{padding:var(--spacing-4)}.location-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-2)}.location-title{font-size:var(--font-size-xl)}.location-badges{width:100%;justify-content:flex-start;flex-wrap:wrap}.location-details-grid{grid-template-columns:1fr;gap:var(--spacing-3)}.location-detail{padding:var(--spacing-3)}.detail-value{font-size:var(--font-size-base)}.location-description{font-size:var(--font-size-sm)}.actions-container{flex-direction:column;gap:var(--spacing-2)}.action-button,.primary-action-button{width:100%;justify-content:center}.price-display{width:100%;justify-content:center;margin-bottom:var(--spacing-3)}}@media(max-width:480px){.search-result-card{border-radius:var(--radius-lg);margin-bottom:var(--spacing-4)}.search-result-header,.intro-section,.location-section{padding:var(--spacing-3)}.location-title{font-size:var(--font-size-lg)}.tab-btn{font-size:.8125rem;padding:.375rem .625rem}.location-detail{padding:var(--spacing-2)}.detail-label{font-size:.8125rem}.detail-value{font-size:var(--font-size-sm)}.badge,.hero-badge,.trip-badge,.category-badge{font-size:.75rem;padding:.25rem .5rem}}@media(max-width:767px){.location-cta-row button{min-height:48px;font-size:1rem;padding:var(--spacing-3) var(--spacing-5)}.location-cta-row{flex-direction:column;gap:var(--spacing-3)}.location-cta-row button{width:100%}.location-hero-badges{flex-wrap:wrap;gap:var(--spacing-2)}.hero-badge{font-size:.75rem;padding:4px 8px}.hero-save-btn{width:36px;height:36px}.location-details{gap:var(--spacing-3)}.detail-item{padding:var(--spacing-2);font-size:.875rem}.location-highlights{padding:var(--spacing-3)}.highlight-item{padding:var(--spacing-2) var(--spacing-3);font-size:.875rem}}@media(hover:none)and (pointer:coarse){.location-cta-row button,.hero-save-btn,.planner-option{min-height:44px;min-width:44px}.location-section:hover{transform:none;box-shadow:none}.search-result-card:hover{transform:none}.location-cta-row button:active{transform:scale(.98);opacity:.9}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease}.modal-container{background-color:#fff;border-radius:.75rem;width:100%;max-width:450px;padding:2rem;position:relative;box-shadow:0 25px 50px -12px #00000040;animation:slideIn .3s ease}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:#5b5a65;cursor:pointer;padding:.5rem;border-radius:9999px;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease}.modal-close:hover{background-color:#f4f4f6;color:#2c2d2d}.modal-header{text-align:center;margin-bottom:1.5rem}.modal-header h2{font-size:1.5rem;font-weight:600;color:#2c2d2d;margin-bottom:.5rem}.modal-header p{color:#5b5a65;font-size:.875rem}.auth-error{background-color:var(--error-50, #FEF2F2);color:var(--error-700, #B91C1C);padding:.75rem;border-radius:.375rem;margin-bottom:1.5rem;font-size:.875rem}.auth-success{background-color:var(--success-50, #F0FDF4);color:var(--success-700, #15803D);padding:.75rem;border-radius:.375rem;margin-bottom:1.5rem;font-size:.875rem}.auth-form{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:1.5rem}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-group label{font-size:.875rem;font-weight:500;color:#5b5a65}.form-group input{padding:.75rem;border:1px solid #E5E6E8;border-radius:.375rem;font-size:.875rem;transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus{outline:none;border-color:#5b5a65;box-shadow:0 0 0 2px #5b5a6533}.auth-submit-btn{background-color:#5b5a65;color:#fff;padding:.75rem 1rem;border-radius:.375rem;font-weight:500;border:none;cursor:pointer;transition:background-color .2s ease;display:flex;align-items:center;justify-content:center;height:2.75rem}.auth-submit-btn:hover{background-color:#5b5a65}.auth-submit-btn:disabled{background-color:#c7c8cd;cursor:not-allowed}.auth-toggle{text-align:center;color:#5b5a65;font-size:.875rem}.auth-toggle-btn{background:none;border:none;color:#5b5a65;font-weight:500;cursor:pointer;margin-left:.25rem}.password-toggle-btn:focus{outline:none;color:#5b5a65}.forgot-password-link{background:none;border:none;color:#5b5a65;font-size:.875rem;cursor:pointer;margin-top:.5rem;padding:0;text-align:right;width:100%;display:block}.google-login-btn{width:100%;padding:.75rem 1rem;background-color:#fff;color:#2c2d2d;border:1px solid #E5E6E8;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1rem}.auth-divider{display:flex;align-items:center;text-align:center;margin:1rem 0 1.5rem;color:#9c9b9e;font-size:.875rem}.remember-me-container{margin-bottom:1rem}.remember-me-checkbox{width:1rem;height:1rem;cursor:pointer;accent-color:#5B5A65}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.privacy-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-out}.privacy-modal{background:#fff;border-radius:var(--radius-lg);max-width:800px;width:90%;max-height:90vh;overflow:hidden;animation:slideInUp .3s ease-out}.privacy-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--border-color)}.privacy-modal-tabs{display:flex;border-bottom:1px solid var(--border-color)}.privacy-tab{flex:1;display:flex;align-items:center;gap:.5rem;padding:1rem;background:none;border:none;cursor:pointer;transition:all var(--transition-base)}.privacy-tab.active{background:var(--bg-secondary);border-bottom:2px solid var(--primary-color)}.privacy-modal-content{padding:2rem;max-height:60vh;overflow-y:auto}.privacy-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:1.5rem 0}.privacy-card{padding:1.5rem;border:1px solid var(--border-color);border-radius:var(--radius-md);text-align:center}.consent-controls{margin:1.5rem 0}.consent-item{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem;border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:1rem;transition:all .2s ease}.consent-item:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #0000000d}.consent-info{flex:1;padding-right:1rem}.consent-info h4{margin:0 0 .5rem;color:var(--text-primary);font-size:1rem}.consent-info p{margin:.5rem 0;color:var(--text-secondary);font-size:.875rem;line-height:1.5}.consent-details-list{margin:.75rem 0 .75rem 1.25rem;padding:0;list-style:disc}.consent-details-list li{color:var(--text-secondary);font-size:.813rem;line-height:1.6;margin-bottom:.25rem}.consent-note{margin-top:1rem;padding:.75rem;background:var(--bg-secondary);border-left:3px solid var(--primary-color);font-size:.813rem;color:var(--text-secondary)}.consent-note strong{color:var(--text-primary)}.consent-toggle{display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:80px}.consent-checkbox{width:20px;height:20px;cursor:pointer;accent-color:var(--primary-color)}.consent-checkbox:disabled{cursor:not-allowed;opacity:.5}.consent-toggle label{font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.privacy-modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem 2rem;border-top:1px solid var(--border-color)}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pricing-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;overflow-y:auto}.pricing-modal{background:#fff;border-radius:16px;max-width:1600px;width:100%;max-height:90vh;overflow-y:auto;position:relative;padding:40px;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.pricing-modal-close{position:absolute;top:20px;right:20px;background:none;border:none;font-size:32px;color:#666;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.pricing-modal-close:hover{background-color:#f0f0f0;color:#000}.pricing-header{text-align:center;margin-bottom:40px}.pricing-header h2{font-size:36px;font-weight:700;margin-bottom:10px;color:#1a1a1a}.pricing-header p{font-size:18px;color:#666}.pricing-error{background-color:var(--error-50, #FEF2F2);border:1px solid var(--error-200, #FECACA);border-radius:8px;padding:12px 16px;margin-bottom:20px;text-align:center}.pricing-error p{color:var(--error-700, #B91C1C);margin:0}.pricing-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;margin-bottom:40px}.pricing-tier{background:#f9f9f9;border:2px solid #e0e0e0;border-radius:12px;padding:30px;position:relative;transition:all .3s;display:flex;flex-direction:column}.pricing-tier:hover{transform:translateY(-5px);box-shadow:0 10px 30px #0000001a}.pricing-tier.popular{background:#5b5a65;color:#fff;border-color:#5b5a65}.pricing-tier.popular .price .amount,.pricing-tier.popular .price .period,.pricing-tier.popular h3,.pricing-tier.popular .features li{color:#fff}.pricing-tier.highlighted{border-color:#9c9b9e;border-width:3px}.popular-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:#9c9b9e;color:#fff;padding:6px 16px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.pricing-tier h3{font-size:24px;font-weight:700;margin-bottom:10px;color:#1a1a1a}.price{margin-bottom:30px}.price .amount{font-size:48px;font-weight:700;color:#1a1a1a}.price .period{font-size:16px;color:#666;margin-left:8px}.features{list-style:none;padding:0;margin:0 0 30px;flex-grow:1}.features li{display:flex;align-items:flex-start;margin-bottom:12px;font-size:15px;color:#333}.features .checkmark{color:#9c9b9e;font-weight:700;margin-right:10px;font-size:18px}.pricing-tier.popular .features .checkmark{color:#c7c8cd}.pricing-test-actions{border:1px dashed #C7C8CD;background:#f4f4f6;padding:16px;border-radius:12px;margin-bottom:24px}.pricing-test-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.pricing-test-header p{margin:0;color:#5b5a65;font-size:14px}.test-pill{background:#f4f4f6;color:#2c2d2d;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.pricing-test-buttons{display:flex;flex-wrap:wrap;gap:10px}.test-tier-button{background:#141516;color:#fff;border:none;border-radius:8px;padding:10px 14px;font-weight:600;cursor:pointer;transition:all .2s ease}.test-tier-button:hover{opacity:.9;transform:translateY(-1px)}.test-tier-button.ghost{background:transparent;color:#141516;border:1px dashed #141516}.test-tier-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.cta-button{width:100%;padding:16px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;background:#5b5a65;color:#fff;display:flex;align-items:center;justify-content:center;gap:8px}.cta-button:hover:not(.disabled):not(.processing){transform:translateY(-2px);box-shadow:0 6px 20px #5b5a6559}.cta-button.disabled{background:#ccc;cursor:not-allowed;opacity:.6}.cta-button.processing{cursor:wait;opacity:.8}.pricing-tier.popular .cta-button{background:#fff;color:#2c2d2d}.pricing-tier.popular .cta-button:hover:not(.disabled):not(.processing){background:#f0f0f0}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.pricing-footer{text-align:center;padding-top:30px;border-top:1px solid #e0e0e0}.pricing-footer p{color:#666;margin:5px 0}.pricing-footer small{color:#999;font-size:13px}@media(max-width:768px){.pricing-modal{padding:30px 20px}.pricing-header h2{font-size:28px}.pricing-tiers{grid-template-columns:1fr;gap:20px}.price .amount{font-size:36px}}.location-confirmation-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}.location-confirmation-modal{background:#fff;border-radius:1rem;padding:2rem;max-width:500px;width:100%;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;position:relative;animation:slideUp .3s ease-out}.modal-close-button{position:absolute;top:1rem;right:1rem;background:none;border:none;color:#5b5a65;cursor:pointer;padding:.5rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.modal-close-button:hover{background:#f4f4f6;color:#2c2d2d}.location-header{text-align:center;margin-bottom:1.5rem}.location-icon-wrapper{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background:#5b5a65;border-radius:50%;margin-bottom:1rem;box-shadow:0 4px 6px -1px #5b5a654d}.location-icon-wrapper .location-icon{color:#fff}.location-header h3{font-size:1.5rem;font-weight:700;color:#141516;margin:0 0 .5rem}.location-subtitle{font-size:.875rem;color:#5b5a65;margin:0}.detected-location{background:#f4f4f6;border:2px solid #E5E6E8;border-radius:.75rem;padding:1.5rem;margin-bottom:1.5rem;text-align:center}.location-name-wrapper{margin-bottom:1rem}.location-name{font-size:1.5rem;font-weight:700;color:#141516;margin:0 0 .25rem}.location-country{font-size:1rem;color:#5b5a65;margin:0}.accuracy-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:9999px;font-size:.875rem;font-weight:600;margin-bottom:.75rem;transition:all .2s}.accuracy-badge.excellent{background:#5b5a651a;color:#2c2d2d;border:1px solid rgba(91,90,101,.3)}.accuracy-badge.good{background:#9c9b9e1a;color:#9c9b9e;border:1px solid rgba(156,155,158,.3)}.accuracy-badge.fair{background:#c7c8cd1a;color:#5b5a65;border:1px solid rgba(199,200,205,.3)}.accuracy-badge.poor{background:#9c9b9e1a;color:#2c2d2d;border:1px solid rgba(156,155,158,.3)}.accuracy-badge.very_poor{background:#5b5a651a;color:#5b5a65;border:1px solid rgba(91,90,101,.3)}.accuracy-icon{font-size:1rem}.provider-badge{display:inline-block;padding:.375rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:600;border:1px solid;background:#fff;margin-bottom:.75rem}.location-warning{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;background:var(--warning-50, #FFFBEB);border:1px solid var(--warning-100, #FEF3C7);border-radius:.5rem;color:var(--warning-700, #B45309);font-size:.875rem}.warning-icon{font-size:1rem;color:var(--warning-600, #D97706)}.location-actions{display:flex;gap:.75rem;margin-bottom:1rem}.confirm-button,.edit-button{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;border:none;transition:all .2s}.confirm-button{background:#5b5a65;color:#fff;box-shadow:0 4px 6px -1px #5b5a654d}.confirm-button:hover{transform:translateY(-2px);box-shadow:0 6px 12px -2px #5b5a6566}.edit-button{background:#fff;color:#5b5a65;border:2px solid #E5E6E8}.edit-button:hover{background:#f4f4f6;border-color:#e5e6e8;color:#2c2d2d}.location-helper{text-align:center;font-size:.875rem;color:#5b5a65;margin:0}.radius-info{font-weight:600;color:#5b5a65}@media(max-width:640px){.location-confirmation-modal{padding:1.5rem}.location-header h3,.location-name{font-size:1.25rem}.location-actions{flex-direction:column}.confirm-button,.edit-button{width:100%}}.persona-card{background:#fff;border-radius:var(--radius-lg);padding:2rem;box-shadow:0 2px 8px #0000001a;border:2px solid var(--persona-color, var(--border-color));transition:all .3s ease}.persona-card:hover{box-shadow:0 4px 16px #00000026}.persona-card.loading,.persona-card.error{border-color:var(--border-color)}.persona-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.persona-title{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.persona-title svg{color:var(--primary-color)}.persona-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 0;color:var(--text-secondary)}.persona-loading .spinner{animation:spin 1s linear infinite;margin-bottom:1rem;color:var(--primary-color)}.persona-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 0;color:var(--text-secondary)}.persona-error svg{color:var(--error-500, #EF4444);margin-bottom:1rem}.persona-error p{margin-bottom:1rem}.persona-main{display:flex;gap:1.5rem;align-items:flex-start;margin-bottom:1.5rem}.persona-icon-wrapper{flex-shrink:0;width:80px;height:80px;border-radius:50%;background:var(--persona-color);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000026;opacity:.9}.persona-icon{color:#fff}.persona-info{flex:1}.persona-name{font-size:1.5rem;font-weight:700;color:var(--persona-color);margin:0 0 .75rem}.persona-confidence{margin-bottom:1rem}.confidence-bar{width:100%;height:6px;background:var(--bg-secondary);border-radius:3px;overflow:hidden;margin-bottom:.5rem}.confidence-fill{height:100%;background:var(--persona-color);border-radius:3px;transition:width .6s ease}.confidence-text{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.persona-description{color:var(--text-secondary);line-height:1.6;margin:0;font-size:.938rem}.persona-progress{background:var(--bg-secondary);border-radius:var(--radius-md);padding:1.5rem;margin-top:1.5rem}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.progress-label{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--text-primary);font-size:.875rem}.progress-count{font-size:.875rem;font-weight:600;color:var(--primary-color)}.progress-bar{width:100%;height:8px;background:#fff;border-radius:4px;overflow:hidden;margin-bottom:.75rem}.progress-fill{height:100%;background:var(--primary-color);border-radius:4px;transition:width .6s ease}.progress-help{color:var(--text-secondary);font-size:.813rem;margin:0;line-height:1.5}.persona-secondary{border-top:1px solid var(--border-color);padding-top:1.5rem;margin-top:1.5rem}.secondary-title{font-size:.875rem;font-weight:600;color:var(--text-secondary);margin:0 0 1rem;text-transform:uppercase;letter-spacing:.5px}.secondary-list{display:flex;flex-direction:column;gap:.75rem}.secondary-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-secondary);border-radius:var(--radius-sm);transition:background .2s ease}.secondary-item:hover{background:var(--bg-tertiary)}.secondary-icon{color:var(--text-secondary);flex-shrink:0}.secondary-name{flex:1;font-size:.875rem;font-weight:500;color:var(--text-primary)}.secondary-score{font-size:.813rem;font-weight:600;color:var(--text-secondary);background:#fff;padding:.25rem .5rem;border-radius:var(--radius-sm)}.persona-footer{border-top:1px solid var(--border-color);padding-top:1rem;margin-top:1.5rem}.persona-stats{display:flex;gap:1.5rem;flex-wrap:wrap}.stat-item{display:flex;align-items:center;gap:.5rem;font-size:.813rem;color:var(--text-secondary)}.stat-item svg{color:var(--primary-color)}@media(max-width:768px){.persona-card{padding:1.5rem}.persona-main{flex-direction:column;text-align:center}.persona-icon-wrapper{margin:0 auto}.persona-stats{flex-direction:column;gap:.75rem}}.persona-header-actions{display:flex;gap:.5rem;align-items:center}.persona-override{margin-top:1.5rem;padding:1.5rem;background:var(--background-light, #f8f9fa);border-radius:var(--radius-md);border:1px solid var(--border-color)}.persona-override-title{font-size:1rem;font-weight:600;margin:0 0 .5rem;color:var(--text-primary)}.persona-override-description{font-size:.875rem;color:var(--text-secondary);margin:0 0 1rem}.persona-override-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;margin-bottom:1rem}.persona-override-option{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:#fff;border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;position:relative}.persona-override-option:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #0000001a}.persona-override-option.selected{border-color:var(--primary-color);background:var(--primary-light, #e3f2fd)}.persona-override-option.current{border-color:var(--success-color, #4caf50)}.persona-override-option:disabled{opacity:.5;cursor:not-allowed}.persona-override-name{font-size:.875rem;font-weight:500;text-align:center;color:var(--text-primary)}.current-badge{position:absolute;top:.25rem;right:.25rem;font-size:.625rem;padding:.125rem .375rem;background:var(--success-color, #4caf50);color:#fff;border-radius:var(--radius-sm);font-weight:600}.persona-override-actions{display:flex;gap:.75rem;justify-content:flex-end}.persona-feedback{margin-top:1rem;padding:1rem;background:var(--background-light, #f8f9fa);border-radius:var(--radius-md);border:1px solid var(--border-color)}.persona-feedback-title{font-size:.875rem;font-weight:600;margin:0 0 .75rem;color:var(--text-primary)}.persona-feedback-actions{display:flex;gap:.5rem;align-items:center}.persona-feedback-actions p{font-size:.875rem;color:var(--text-secondary);margin:0;flex:1}.feedback-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;border:1px solid var(--border-color);background:#fff;border-radius:var(--radius-sm);font-size:.875rem;cursor:pointer;transition:all .2s ease}.feedback-btn:hover{background:var(--background-light);border-color:var(--primary-color)}.feedback-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.feedback-btn:disabled{opacity:.5;cursor:not-allowed}.personalization-control-card{background:#fff;border-radius:var(--radius-lg);padding:2rem;box-shadow:0 2px 8px #0000001a;border:2px solid var(--border-color);transition:all .3s ease}.personalization-control-card:hover{box-shadow:0 4px 16px #00000026}.control-header{margin-bottom:1.5rem}.control-title{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.control-title svg{color:var(--primary-color)}.control-content{display:flex;flex-direction:column;gap:1.5rem}.control-description p{color:var(--text-secondary);line-height:1.6;margin:0;font-size:.938rem}.control-toggle-section{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:var(--bg-secondary);border-radius:var(--radius-md);gap:1rem}.toggle-info{flex:1}.toggle-label{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.toggle-icon{flex-shrink:0}.toggle-icon.enabled{color:var(--success-color, #4caf50)}.toggle-icon.disabled{color:var(--text-tertiary)}.toggle-status{font-size:1rem;font-weight:600}.toggle-status.enabled{color:var(--success-color, #4caf50)}.toggle-status.disabled{color:var(--text-secondary)}.toggle-description{font-size:.875rem;color:var(--text-secondary);margin:0;line-height:1.5}.control-notice{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:var(--info-light, #e3f2fd);border-left:3px solid var(--info-color, #2196f3);border-radius:var(--radius-sm);font-size:.875rem;color:var(--text-secondary)}.control-notice svg{flex-shrink:0;color:var(--info-color, #2196f3);margin-top:2px}.confirmation-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.confirmation-modal{background:#fff;border-radius:var(--radius-lg);max-width:500px;width:100%;box-shadow:0 10px 40px #0000004d;animation:slideIn .2s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.confirmation-header{display:flex;align-items:center;gap:.75rem;padding:1.5rem;border-bottom:1px solid var(--border-color)}.confirmation-header h4{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.warning-icon{color:var(--warning-color, #ff9800);flex-shrink:0}.confirmation-body{padding:1.5rem}.confirmation-body p{margin:0 0 1rem;color:var(--text-secondary);line-height:1.6}.confirmation-body p:last-of-type{margin-top:1rem;margin-bottom:0;font-weight:500;color:var(--text-primary)}.confirmation-body ul{margin:0;padding-left:1.5rem;list-style-type:disc}.confirmation-body li{margin:.5rem 0;color:var(--text-secondary);line-height:1.5}.confirmation-actions{display:flex;gap:.75rem;justify-content:flex-end;padding:1.5rem;border-top:1px solid var(--border-color)}@media(max-width:768px){.personalization-control-card{padding:1.5rem}.control-toggle-section{flex-direction:column;align-items:flex-start}.confirmation-modal{margin:1rem}}.learned-preferences-card{background:var(--surface-primary, #fff);border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014;margin-bottom:24px}.learned-preferences-card h3{margin:0 0 20px;font-size:1.5rem;font-weight:600;color:var(--text-primary, #1a1a1a)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.lookback-selector{display:flex;align-items:center;gap:8px}.lookback-selector label{font-size:.9rem;color:var(--text-secondary, #666)}.lookback-selector select{padding:6px 12px;border:1px solid var(--border-primary, #ddd);border-radius:6px;font-size:.9rem;background:#fff;cursor:pointer}.lookback-selector select:focus{outline:none;border-color:var(--primary-color, #4a90e2)}.stats-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-bottom:24px;padding:20px;background:var(--surface-secondary, #f8f9fa);border-radius:8px}.stat-item{display:flex;flex-direction:column;align-items:center;text-align:center}.stat-value{font-size:1.8rem;font-weight:700;color:var(--primary-color, #4a90e2);margin-bottom:4px}.stat-label{font-size:.85rem;color:var(--text-secondary, #666)}.loading-message{text-align:center;padding:40px;color:var(--text-secondary, #666)}.insufficient-data{padding:32px;text-align:center;background:var(--surface-secondary, #f8f9fa);border-radius:8px}.insufficient-data p{margin:8px 0;color:var(--text-secondary, #666)}.data-requirement{font-weight:600;color:var(--text-primary, #1a1a1a)}.encouragement{font-style:italic;color:var(--primary-color, #4a90e2)}.source-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.source-badge-explicit{background:#e3f2fd;color:#1976d2;border:1px solid #1976d2}.source-badge-implicit{background:#f3e5f5;color:#7b1fa2;border:1px solid #7b1fa2}.learned-sections{display:flex;flex-direction:column;gap:24px}.learned-section{padding:20px;background:var(--surface-secondary, #f8f9fa);border-radius:8px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:8px}.section-header h4{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary, #1a1a1a)}.no-data{color:var(--text-secondary, #666);font-style:italic;margin:12px 0}.confidence-indicator{display:flex;align-items:center;gap:12px;margin-bottom:16px}.confidence-bar{flex:1;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}.confidence-fill{height:100%;border-radius:4px;transition:width .3s ease}.confidence-high{background:linear-gradient(90deg,#4caf50,#66bb6a)}.confidence-medium{background:linear-gradient(90deg,#ff9800,#ffb74d)}.confidence-low{background:linear-gradient(90deg,#f44336,#ef5350)}.confidence-label{font-size:.85rem;font-weight:500;color:var(--text-secondary, #666);white-space:nowrap}.category-list{display:flex;flex-direction:column;gap:12px}.category-item{display:grid;grid-template-columns:140px 1fr auto;align-items:center;gap:12px}.category-name{font-weight:500;color:var(--text-primary, #1a1a1a);text-transform:capitalize}.interest-bar{height:6px;background:#e0e0e0;border-radius:3px;overflow:hidden}.interest-fill{height:100%;background:linear-gradient(90deg,var(--primary-color, #4a90e2),#5ca3f5);border-radius:3px;transition:width .3s ease}.interaction-count{font-size:.8rem;color:var(--text-secondary, #666);white-space:nowrap}.price-preference{display:flex;flex-direction:column;gap:8px}.preference-label{font-size:1.1rem;font-weight:600;color:var(--text-primary, #1a1a1a)}.preference-detail{color:var(--text-secondary, #666)}.sample-size{font-size:.85rem;color:var(--text-tertiary, #999)}.cuisine-tags{display:flex;flex-wrap:wrap;gap:8px}.cuisine-tag{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:#fff;border:1px solid var(--border-primary, #ddd);border-radius:20px;font-size:.9rem;color:var(--text-primary, #1a1a1a);text-transform:capitalize;transition:all .2s ease}.cuisine-tag:hover{border-color:var(--primary-color, #4a90e2);background:#f0f7ff}.cuisine-score{font-size:.75rem;font-weight:600;color:var(--primary-color, #4a90e2)}.activity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.activity-item{display:flex;flex-direction:column;gap:8px}.activity-label{font-size:.9rem;font-weight:500;color:var(--text-primary, #1a1a1a)}.activity-score-bar{position:relative;height:24px;background:#e0e0e0;border-radius:4px;overflow:hidden}.activity-score-fill{height:100%;background:linear-gradient(90deg,var(--primary-color, #4a90e2),#5ca3f5);border-radius:4px;transition:width .3s ease}.activity-score-value{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:.8rem;font-weight:600;color:var(--text-primary, #1a1a1a)}.time-details{display:flex;flex-direction:column;gap:8px}.time-details p{margin:0;color:var(--text-secondary, #666)}.time-details strong{color:var(--text-primary, #1a1a1a)}.geo-details{display:flex;flex-direction:column;gap:16px}.geo-subsection h5{margin:0 0 8px;font-size:.95rem;font-weight:600;color:var(--text-primary, #1a1a1a)}.geo-tags{display:flex;flex-wrap:wrap;gap:8px}.geo-tag{display:inline-block;padding:6px 12px;background:#fff;border:1px solid var(--border-primary, #ddd);border-radius:16px;font-size:.85rem;color:var(--text-secondary, #666)}.card-actions{margin-top:24px;padding-top:24px;border-top:1px solid var(--border-primary, #ddd);text-align:center}.apply-preferences-btn{padding:12px 32px;background:var(--primary-color, #4a90e2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-bottom:12px}.apply-preferences-btn:hover:not(:disabled){background:var(--primary-dark, #357abd);transform:translateY(-1px);box-shadow:0 4px 12px #4a90e24d}.apply-preferences-btn:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.apply-note{margin:8px 0 0;font-size:.85rem;color:var(--text-secondary, #666);font-style:italic}@media(max-width:768px){.learned-preferences-card{padding:16px}.card-header{flex-direction:column;align-items:flex-start}.stats-summary{grid-template-columns:repeat(2,1fr)}.category-item{grid-template-columns:1fr;gap:8px}.activity-grid{grid-template-columns:1fr}.geo-tags{flex-direction:column}.geo-tag{text-align:center}}.exploration-stats-card{background:#fff;border-radius:var(--radius-2xl, 1.5rem);padding:var(--spacing-8, 2rem);box-shadow:0 4px 16px #14151614,0 2px 8px #0000000d;border:1px solid rgba(91,90,101,.12);position:relative;overflow:hidden}.exploration-stats-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:#5b5a65}.stats-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-8, 2rem);gap:var(--spacing-4, 1rem)}.stats-header-content{flex:1}.stats-title{font-size:1.5rem;font-weight:700;margin:0 0 var(--spacing-2, .5rem) 0;color:#2c2d2d;font-family:var(--font-display, "Poppins", sans-serif)}.stats-subtitle{font-size:.9375rem;color:var(--color-text-secondary, #5B5A65);margin:0}.stats-completion-badge{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2, .5rem)}.completion-circle{position:relative;width:60px;height:60px}.completion-svg{width:100%;height:100%;transform:rotate(-90deg)}.completion-value{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.875rem;font-weight:700;color:#5b5a65;font-family:var(--font-display, "Poppins", sans-serif)}.completion-label{font-size:.75rem;color:var(--color-text-secondary, #5B5A65);text-align:center}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-4, 1rem);margin-bottom:var(--spacing-6, 1.5rem)}.stat-card{display:flex;gap:var(--spacing-4, 1rem);padding:var(--spacing-5, 1.25rem);border-radius:var(--radius-xl, 1rem);border:1px solid rgba(91,90,101,.12);background:#f9f9f9;transition:all var(--transition-base, .2s);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;transition:width var(--transition-base, .2s)}.stat-card.stat-purple:before{background:#5b5a65}.stat-card.stat-blue:before{background:#1f2020}.stat-card.stat-amber:before{background:#5b5a65}.stat-card.stat-green:before{background:#5b5a65}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #5b5a6529;border-color:#5b5a653d}.stat-card:hover:before{width:100%;opacity:.05}.stat-icon-wrapper{width:48px;height:48px;border-radius:var(--radius-lg, .75rem);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-base, .2s)}.stat-card.stat-purple .stat-icon-wrapper,.stat-card.stat-blue .stat-icon-wrapper,.stat-card.stat-amber .stat-icon-wrapper,.stat-card.stat-green .stat-icon-wrapper{background:#5b5a651f}.stat-card:hover .stat-icon-wrapper{transform:scale(1.1)}.stat-icon{color:inherit}.stat-card.stat-purple .stat-icon,.stat-card.stat-blue .stat-icon,.stat-card.stat-amber .stat-icon,.stat-card.stat-green .stat-icon{color:#5b5a65}.stat-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.stat-value{font-size:2rem;font-weight:700;line-height:1;font-family:var(--font-display, "Poppins", sans-serif)}.stat-card.stat-purple .stat-value{color:#2c2d2d}.stat-card.stat-blue .stat-value,.stat-card.stat-amber .stat-value,.stat-card.stat-green .stat-value{color:#5b5a65}.stat-label{font-size:.875rem;font-weight:600;color:var(--color-text-primary, #141516);margin-bottom:.125rem}.stat-detail{font-size:.8125rem;color:var(--color-text-secondary, #5B5A65)}.stats-insights{margin-top:var(--spacing-6, 1.5rem);padding-top:var(--spacing-6, 1.5rem);border-top:1px solid rgba(91,90,101,.12)}.insights-title{font-size:1rem;font-weight:600;margin:0 0 var(--spacing-4, 1rem) 0;color:var(--color-text-primary, #141516);font-family:var(--font-display, "Poppins", sans-serif)}.insights-list{display:flex;flex-direction:column;gap:var(--spacing-3, .75rem)}.insight-item{display:flex;align-items:center;gap:var(--spacing-3, .75rem);padding:var(--spacing-3, .75rem) var(--spacing-4, 1rem);border-radius:var(--radius-lg, .75rem);font-size:.9375rem;transition:all var(--transition-base, .2s)}.insight-item svg{flex-shrink:0}.insight-success{background:var(--success-50, #F0FDF4);color:var(--success-700, #15803D);border-left:3px solid var(--success-500, #22C55E)}.insight-info{background:#5b5a651f;color:#1f2020;border-left:3px solid #1f2020}.insight-neutral{background:#5b5a651f;color:#2c2d2d;border-left:3px solid #5B5A65}.insight-item:hover{transform:translate(4px)}@media(max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.exploration-stats-card{padding:var(--spacing-6, 1.5rem)}.stats-header{flex-direction:column}.stats-completion-badge{align-self:flex-end}.stats-grid{grid-template-columns:1fr}.stat-value{font-size:1.75rem}}.preferences-card{background:var(--card-background, #ffffff);border-radius:12px;box-shadow:var(--card-shadow, 0 2px 8px rgba(0, 0, 0, .1));margin-bottom:24px;overflow:hidden}.preferences-card-header{padding:24px;border-bottom:1px solid var(--border-color, #e5e7eb)}.preferences-card-title{display:flex;align-items:center;gap:12px;margin-bottom:8px}.preferences-card-title h3{font-size:20px;font-weight:600;margin:0;color:var(--text-primary, #1f2937)}.preferences-card-subtitle{margin:0;color:var(--text-secondary, #6b7280);font-size:14px;line-height:1.5}.preferences-card-content{padding:24px}.preferences-card-actions{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;background:var(--background-secondary, #f9fafb);border-top:1px solid var(--border-color, #e5e7eb)}.preference-section{margin-bottom:32px}.preference-section:last-child{margin-bottom:0}.preference-section-title{font-size:16px;font-weight:600;margin-bottom:8px;color:var(--text-primary, #1f2937);display:flex;align-items:center;gap:8px}.preference-section-description{font-size:14px;color:var(--text-secondary, #6b7280);margin-bottom:16px;line-height:1.5}.dietary-restrictions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.dietary-chip{display:flex;align-items:center;gap:8px;padding:12px 16px;border:2px solid var(--border-color, #e5e7eb);border-radius:8px;background:var(--background, #ffffff);cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:500}.dietary-chip:hover:not(:disabled){border-color:var(--primary-color, #3b82f6);background:var(--primary-light, #eff6ff)}.dietary-chip.active{border-color:var(--primary-color, #3b82f6);background:var(--primary-color, #3b82f6);color:#fff}.dietary-chip:disabled{opacity:.5;cursor:not-allowed}.dietary-chip-icon{font-size:20px}.dietary-chip-label{flex:1}.selected-items{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.selected-item{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:var(--background-secondary, #f3f4f6);border-radius:6px;font-size:14px;color:var(--text-primary, #1f2937)}.selected-item.allergy-item{background:#fef2f2;color:#991b1b;border:1px solid #fca5a5}.warning-icon{color:#ef4444}.remove-item-btn{background:none;border:none;padding:2px;cursor:pointer;color:inherit;opacity:.6;transition:opacity .2s}.remove-item-btn:hover{opacity:1}.quick-add-section{margin-bottom:12px}.quick-add-label{display:block;font-size:13px;color:var(--text-secondary, #6b7280);margin-bottom:8px}.quick-add-buttons{display:flex;flex-wrap:wrap;gap:8px}.quick-add-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border:1px solid var(--border-color, #e5e7eb);border-radius:6px;background:#fff;font-size:13px;cursor:pointer;transition:all .2s;color:var(--text-primary, #374151)}.quick-add-btn:hover:not(:disabled){border-color:var(--primary-color, #3b82f6);background:var(--primary-light, #eff6ff);color:var(--primary-color, #3b82f6)}.quick-add-btn:disabled{opacity:.5;cursor:not-allowed}.custom-input-group{display:flex;gap:8px}.custom-input{flex:1;padding:10px 14px;border:1px solid var(--border-color, #e5e7eb);border-radius:6px;font-size:14px;transition:border-color .2s}.custom-input:focus{outline:none;border-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.custom-input:disabled{background:var(--background-secondary, #f9fafb);cursor:not-allowed}.accessibility-options-list{display:flex;flex-direction:column;gap:12px}.accessibility-option{border:1px solid var(--border-color, #e5e7eb);border-radius:8px;padding:16px;transition:all .2s}.accessibility-option:hover{border-color:var(--primary-color, #3b82f6);background:var(--primary-light, #eff6ff)}.accessibility-option-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;width:100%}.accessibility-checkbox{margin-top:4px;width:18px;height:18px;cursor:pointer}.accessibility-option-content{flex:1}.accessibility-option-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.accessibility-icon{font-size:20px}.accessibility-option-title{font-size:15px;font-weight:500;color:var(--text-primary, #1f2937)}.accessibility-option-description{font-size:13px;color:var(--text-secondary, #6b7280);margin:0;line-height:1.5}.accessibility-notes-textarea{width:100%;padding:12px;border:1px solid var(--border-color, #e5e7eb);border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;min-height:80px;transition:border-color .2s}.accessibility-notes-textarea:focus{outline:none;border-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.accessibility-summary{padding:16px;background:var(--primary-light, #eff6ff);border-radius:8px;margin-top:16px}.accessibility-summary-title{font-size:14px;font-weight:600;margin-bottom:12px;color:var(--text-primary, #1f2937)}.accessibility-summary-tags{display:flex;flex-wrap:wrap;gap:8px}.accessibility-tag{display:inline-block;padding:6px 12px;background:#fff;border-radius:6px;font-size:13px;color:var(--primary-color, #3b82f6);font-weight:500}.budget-input-group{display:flex;gap:12px;align-items:stretch}.budget-input-wrapper{position:relative;flex:1}.budget-currency-symbol{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:16px;font-weight:600;color:var(--text-secondary, #6b7280);pointer-events:none}.budget-input{width:100%;padding:10px 14px 10px 36px;border:1px solid var(--border-color, #e5e7eb);border-radius:8px;font-size:16px;font-weight:500;transition:border-color .2s}.budget-input:focus{outline:none;border-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.budget-input:disabled{background:var(--background-secondary, #f9fafb);cursor:not-allowed}.currency-select{padding:10px 14px;border:1px solid var(--border-color, #e5e7eb);border-radius:8px;font-size:14px;cursor:pointer;background:#fff;min-width:140px}.currency-select:focus{outline:none;border-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.budget-helper-text{font-size:13px;color:var(--text-secondary, #6b7280);margin-top:8px;font-style:italic}.budget-level-options{display:grid;gap:12px}.budget-level-btn{display:flex;align-items:center;gap:12px;padding:16px;border:2px solid var(--border-color, #e5e7eb);border-radius:8px;background:#fff;cursor:pointer;transition:all .2s;text-align:left}.budget-level-btn:hover:not(:disabled){border-color:var(--primary-color, #3b82f6);background:var(--primary-light, #eff6ff)}.budget-level-btn.active{border-color:var(--primary-color, #3b82f6);background:var(--primary-color, #3b82f6);color:#fff}.budget-level-btn:disabled{opacity:.5;cursor:not-allowed}.budget-level-icon{font-size:24px;min-width:40px;text-align:center}.budget-level-content{display:flex;flex-direction:column;gap:4px}.budget-level-label{font-size:15px;font-weight:600}.budget-level-description{font-size:13px;opacity:.8}.price-limits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.price-limit-input label{display:block;font-size:14px;font-weight:500;margin-bottom:8px;color:var(--text-primary, #1f2937)}.splurge-categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.splurge-chip{display:flex;align-items:center;gap:8px;padding:12px 16px;border:2px solid var(--border-color, #e5e7eb);border-radius:8px;background:#fff;cursor:pointer;transition:all .2s;font-size:14px}.splurge-chip:hover:not(:disabled){border-color:#10b981;background:#ecfdf5}.splurge-chip.active{border-color:#10b981;background:#10b981;color:#fff}.splurge-chip-icon{font-size:18px}.budget-summary{padding:16px;background:var(--background-secondary, #f9fafb);border-radius:8px;margin-top:16px}.budget-summary-title{font-size:14px;font-weight:600;margin-bottom:12px}.budget-summary-content{display:flex;flex-direction:column;gap:8px}.budget-summary-item{display:flex;justify-content:space-between;font-size:14px}.budget-summary-label{color:var(--text-secondary, #6b7280)}.budget-summary-value{font-weight:600;color:var(--text-primary, #1f2937)}.activity-sliders-grid{display:grid;gap:24px}.activity-slider-item{display:flex;flex-direction:column;gap:8px}.activity-slider-header{display:flex;align-items:center;gap:8px}.activity-icon{font-size:18px}.activity-label{flex:1;font-size:14px;font-weight:500;color:var(--text-primary, #1f2937)}.activity-value{font-size:14px;font-weight:700;min-width:40px;text-align:right}.activity-slider{width:100%;height:6px;border-radius:3px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(to right,var(--slider-color, #3b82f6) 0%,var(--slider-color, #3b82f6) var(--slider-value, 50%),#e5e7eb var(--slider-value, 50%),#e5e7eb 100%);outline:none;cursor:pointer}.activity-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--slider-color, #3b82f6);cursor:pointer;box-shadow:0 2px 4px #0003}.activity-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--slider-color, #3b82f6);cursor:pointer;border:none;box-shadow:0 2px 4px #0003}.activity-slider:disabled{opacity:.5;cursor:not-allowed}.activity-slider-labels{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary, #6b7280)}.interest-level-label{font-weight:500}.level-buttons-grid{display:grid;gap:12px}.level-btn{display:flex;align-items:center;gap:12px;padding:14px;border:2px solid var(--border-color, #e5e7eb);border-radius:8px;background:#fff;cursor:pointer;transition:all .2s;text-align:left}.level-btn:hover:not(:disabled){border-color:var(--primary-color, #3b82f6);background:var(--primary-light, #eff6ff)}.level-btn.active{border-color:var(--primary-color, #3b82f6);background:var(--primary-color, #3b82f6);color:#fff}.level-btn:disabled{opacity:.5;cursor:not-allowed}.level-icon{font-size:28px;min-width:40px;text-align:center}.level-content{display:flex;flex-direction:column;gap:4px;flex:1}.level-label{font-size:15px;font-weight:600}.level-description{font-size:13px;opacity:.85}.activity-summary{padding:16px;background:var(--primary-light, #eff6ff);border-radius:8px;margin-top:16px}.activity-summary-title{font-size:14px;font-weight:600;margin-bottom:12px;color:var(--text-primary, #1f2937)}.activity-summary-tags{display:flex;flex-wrap:wrap;gap:8px}.activity-tag{display:inline-block;padding:6px 12px;background:#fff;border-radius:6px;font-size:13px;color:var(--primary-color, #3b82f6);font-weight:500}.category-icon{font-size:18px;margin-right:4px}:root{--color-low: #ef4444;--color-neutral: #6b7280;--color-medium: #f59e0b;--color-high: #10b981}@media(max-width:768px){.dietary-restrictions-grid,.splurge-categories-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.budget-input-group{flex-direction:column}.price-limits-grid{grid-template-columns:1fr}.preferences-card-content,.preferences-card-header{padding:16px}}.error-boundary-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-6);background:var(--color-primary-100, #F4F4F6)}.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}}.profile-page-container{max-width:1600px;margin:0 auto;padding:32px 24px 48px}.profile-header{background:#5b5a65;border-radius:18px;padding:40px;margin-bottom:32px;color:#fff;position:relative;overflow:hidden;box-shadow:0 18px 40px #5b5a6540}.profile-header-content{display:flex;align-items:center;gap:28px}.profile-avatar{width:80px;height:80px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:600;border:3px solid white}.profile-header-info h1{margin:0 0 8px;font-size:30px}.profile-email{margin:0 0 12px;opacity:.9;font-size:16px}.profile-tier-badge{display:inline-block;background:#ffffff2e;padding:8px 18px;border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.01em}.legal-links-container{display:flex;align-items:center;justify-content:center;gap:16px;padding:18px;margin-bottom:20px;background:#f4f4f6;border-radius:12px;border:1px solid #E5E6E8}.legal-link{display:inline-flex;align-items:center;gap:4px;color:#5b5a65;text-decoration:none;font-size:13px;font-weight:500;transition:color .2s,transform .2s}.legal-link:hover{color:#2c2d2d;text-decoration:underline;transform:translate(2px)}.legal-link:focus-visible{outline:2px solid #5B5A65;outline-offset:2px;border-radius:4px}.legal-divider{color:#e5e6e8;font-size:12px}.profile-tabs{display:flex;gap:16px;margin-bottom:28px;overflow-x:auto;padding:12px;border:1px solid #E5E6E8;border-radius:14px;background:#fff;box-shadow:0 8px 24px #1415160d}.profile-tab{white-space:nowrap;min-height:44px}.profile-content{display:flex;flex-direction:column;gap:24px;animation:fadeIn .3s}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.profile-content>div>.persona-card{margin-bottom:0}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:28px}.account-settings-container{display:flex;flex-direction:column;gap:28px}.subscription-card,.usage-stats-card,.gdpr-section,.settings-section{background:#fff;border-radius:16px;padding:28px;border:1px solid #E5E6E8;box-shadow:0 18px 36px #14151614;transition:transform .18s ease,box-shadow .18s ease}.settings-section{display:flex;flex-direction:column;gap:20px}.settings-section>h3{margin:0}.settings-section>.section-description{margin-bottom:0}.subscription-card:hover,.usage-stats-card:hover,.gdpr-section:hover,.settings-section:hover{transform:translateY(-2px);box-shadow:0 20px 40px #1415161f}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.card-header h3{margin:0;font-size:20px;font-weight:600}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.status-badge.active{background:var(--success-50, #F0FDF4);color:var(--success-700, #15803D)}.status-badge.canceled{background:var(--error-50, #FEF2F2);color:var(--error-700, #B91C1C)}.subscription-info{margin-bottom:24px}.info-row{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #f0f0f0}.info-label{color:#666;font-size:14px}.info-value{font-weight:600;margin-left:auto}.usage-progress{margin-top:20px;padding:16px;background:#f8f9fa;border-radius:8px}.usage-label{display:flex;justify-content:space-between;margin-bottom:8px;font-size:14px;font-weight:500}.progress-bar{height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:#5b5a65;transition:width .3s}.reset-date{margin-top:8px;font-size:12px;color:#666}.features-list{margin:24px 0}.features-list h4{margin-bottom:12px;font-size:16px}.features-list ul{list-style:none;padding:0;margin:0}.features-list li{display:flex;align-items:center;gap:12px;padding:8px 0;font-size:14px}.feature-icon{flex-shrink:0}.features-list li.included{color:#5b5a65}.features-list li.included .feature-icon{color:#9c9b9e}.features-list li.excluded{color:#999}.features-list li.excluded .feature-icon{color:#ccc}.subscription-actions{display:flex;gap:16px;margin-top:24px}.upgrade-button,.manage-button{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.upgrade-button.primary{background:#5b5a65;color:#fff}.upgrade-button.primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #5b5a6559}.manage-button{background:#f0f0f0;color:#333}.manage-button:hover{background:#e0e0e0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:24px}.stat-item{display:flex;gap:12px;padding:16px;border-radius:8px;background:#f8f9fa}.stat-item.blue{border-left:4px solid #1f2020}.stat-item.green{border-left:4px solid #9C9B9E}.stat-item.purple{border-left:4px solid #2C2D2D}.stat-item.orange{border-left:4px solid #5B5A65}.stat-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background:#fff}.stat-content{flex:1}.stat-label{margin:0 0 4px;font-size:12px;color:#666}.stat-value{margin:0;font-size:20px;font-weight:700}.last-activity{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid #e0e0e0;font-size:14px}.activity-label{color:#666}.activity-value{font-weight:600}.gdpr-management-container{display:flex;flex-direction:column;gap:28px}.gdpr-section{margin-bottom:0}.section-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.section-header h3{margin:0;font-size:18px}.section-description{margin-bottom:20px;color:#666;line-height:1.5}.section-description .inline-legal-link{color:#5b5a65;text-decoration:underline;font-weight:500;transition:color .2s}.section-description .inline-legal-link:hover{color:#2c2d2d}.consent-options{display:flex;flex-direction:column;gap:20px}.consent-option{display:flex;gap:12px;padding:20px;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s}.consent-option:hover{border-color:#5b5a65;background:#5b5a650d}.consent-option input[type=checkbox]{margin-top:2px;width:18px;height:18px;cursor:pointer}.consent-details strong{display:block;margin-bottom:4px;font-size:15px}.consent-details p{margin:0;font-size:13px;color:#666}.export-button{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:#5b5a65;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.export-button:hover{background:#2c2d2d;transform:translateY(-2px)}.export-button:disabled{background:#ccc;cursor:not-allowed;transform:none}.danger-zone{border:2px solid var(--error-500, #EF4444)}.danger-zone .section-header{color:var(--error-700, #B91C1C)}.delete-button,.confirm-delete-button{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:#5b5a65;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.delete-button:hover,.confirm-delete-button:hover{background:#5b5a65}.delete-confirm{padding:20px;background:var(--warning-50, #FFFBEB);border-radius:8px}.delete-confirm h4{margin-top:0;color:#2c2d2d}.delete-confirm textarea{width:100%;padding:12px;border:1px solid var(--warning-200, #FDE68A);border-radius:6px;font-family:inherit;margin:16px 0;resize:vertical}.delete-actions{display:flex;gap:16px}.cancel-button{padding:10px 20px;background:#5b5a65;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600}.cancel-button:hover{background:#5b5a65}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}.info-item{display:flex;gap:16px;padding:18px;background:#f4f4f6;border-radius:12px;border:1px solid #E5E6E8}.info-item.editable .info-content{display:flex;flex-direction:column;gap:10px}.home-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.account-settings-container .success-message,.account-settings-container .error-message{padding:12px 16px;border-radius:10px;margin:0;font-size:14px;line-height:1.5}.info-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background:#fff;color:#5b5a65}.info-content{flex:1}.info-content .info-label{margin:0 0 4px;font-size:12px;color:#666}.info-content .info-value{margin:0;font-size:14px;font-weight:600;color:#333;word-break:break-all}.status-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;background:#f8f9fa;border-radius:8px;flex-wrap:wrap}.status-label{font-weight:600;margin:0}.save-row{display:flex;justify-content:flex-end;margin-top:16px}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:60px;font-size:18px;color:#666}.error-message{display:flex;flex-direction:column;align-items:center;gap:16px;padding:60px;text-align:center;background:var(--error-50, #FEF2F2);border-radius:12px;color:var(--error-700, #B91C1C)}.retry-button{padding:10px 20px;background:#5b5a65;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600}@media(max-width:768px){.overview-grid{grid-template-columns:1fr}.profile-header{padding:28px 20px}.profile-tabs{padding:8px;gap:8px}.stats-grid{grid-template-columns:1fr}.profile-header-content{flex-direction:column;text-align:center}.info-grid{grid-template-columns:1fr}.profile-tabs{flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.subscription-actions{flex-direction:column}}.delete-confirm-modal{display:flex;flex-direction:column;gap:28px}.delete-confirm-modal .warning-message{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:20px;background:var(--warning-50, #FFFBEB);border-radius:12px;border:2px solid var(--warning-100, #FEF3C7)}.delete-confirm-modal .warning-message h4{margin:0;font-size:20px;color:var(--warning-700, #B45309)}.delete-confirm-modal .warning-message p{margin:0;color:var(--warning-700, #B45309);font-size:14px}.delete-confirm-modal .deletion-details{padding:16px;background:#f4f4f6;border-radius:8px;border:1px solid #E5E6E8}.delete-confirm-modal .deletion-details h5{margin:0 0 12px;font-size:14px;font-weight:600;color:#2c2d2d}.delete-confirm-modal .deletion-checklist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.delete-confirm-modal .deletion-checklist li{display:flex;align-items:center;gap:8px;font-size:13px;color:#5b5a65}.delete-confirm-modal .grace-period-info{padding:12px 16px;background:var(--warning-50, #FFFBEB);border-left:4px solid var(--warning-500, #F59E0B);border-radius:4px}.delete-confirm-modal .grace-period-info p{margin:0;font-size:13px;color:var(--warning-700, #B45309)}.delete-confirm-modal .delete-reason-textarea{width:100%;padding:12px;border:1px solid #E5E6E8;border-radius:8px;font-family:inherit;font-size:14px;resize:vertical;transition:border-color .2s}.delete-confirm-modal .delete-reason-textarea:focus{outline:none;border-color:#5b5a65;box-shadow:0 0 0 3px #5b5a651f}.delete-confirm-modal .modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:12px}.ai-transparency-card{background:#fff;border-radius:16px;padding:28px;border:1px solid #E5E6E8;box-shadow:0 18px 36px #14151614}.ai-transparency-card .card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px;gap:20px}.ai-transparency-card .header-content{display:flex;align-items:flex-start;gap:12px;flex:1}.ai-transparency-card .header-content h3{margin:0 0 4px;font-size:20px;font-weight:700;color:#2c2d2d}.ai-transparency-card .card-subtitle{margin:0;font-size:14px;color:#5b5a65}.ai-transparency-card .external-link{display:inline-flex;align-items:center;gap:4px;color:#5b5a65;text-decoration:none;font-size:14px;font-weight:500;white-space:nowrap;transition:color .2s}.ai-transparency-card .external-link:hover{color:#2c2d2d;text-decoration:underline}.ai-intro-section{margin-bottom:28px}.ai-intro-section .info-banner{display:flex;gap:12px;padding:16px;background:#f4f4f6;border-left:4px solid #5B5A65;border-radius:8px}.ai-intro-section .info-banner p{margin:0;font-size:14px;color:#2c2d2d;line-height:1.5}.ai-systems-list{display:flex;flex-direction:column;gap:20px;margin-bottom:28px}.ai-system-item{border:2px solid #E5E6E8;border-radius:12px;overflow:hidden;transition:border-color .2s,box-shadow .2s}.ai-system-item:hover{border-color:#5b5a65;box-shadow:0 4px 12px #5b5a651a}.system-header{padding:20px;cursor:pointer;transition:background-color .2s}.system-header:hover{background-color:#f4f4f6}.system-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.system-title-row h4{margin:0;font-size:18px;font-weight:600;color:#2c2d2d}.system-badges{display:flex;align-items:center;gap:12px}.risk-badge{padding:4px 12px;border-radius:6px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.system-purpose{margin:0;font-size:14px;color:#5b5a65;line-height:1.5}.system-details{padding:0 20px 20px;border-top:1px solid #E5E6E8;animation:expandIn .3s ease-out}@keyframes expandIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.detail-section{padding:16px 0;border-bottom:1px solid #F4F4F6}.detail-section:last-of-type{border-bottom:none}.detail-section h5{margin:0 0 12px;font-size:14px;font-weight:600;color:#2c2d2d;display:flex;align-items:center;gap:8px}.detail-section p{margin:0;font-size:13px;color:#5b5a65;line-height:1.6}.detail-section ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.detail-section li{font-size:13px;color:#5b5a65;padding-left:20px;position:relative}.detail-section li:before{content:"•";position:absolute;left:8px;color:#5b5a65;font-weight:700}.detail-section.highlight{background:#f4f4f6;padding:16px;border-radius:8px;border:1px solid #F4F4F6;border-bottom:1px solid #F4F4F6}.detail-section.highlight h5{color:#5b5a65}.detail-section.highlight p{color:#2c2d2d}.system-actions{margin-top:16px;padding-top:16px;border-top:1px solid #F4F4F6}.ai-controls-section{padding:20px;background:#f4f4f6;border-radius:12px;border:1px solid #E5E6E8}.ai-controls-section h4{margin:0 0 8px;font-size:16px;font-weight:600;color:#2c2d2d}.ai-controls-section p{margin:0;font-size:14px;color:#5b5a65;line-height:1.5}.ai-controls-section .inline-link{color:#5b5a65;text-decoration:underline;font-weight:500}.ai-controls-section .inline-link:hover{color:#2c2d2d}.ai-controls-section .inline-link-button{background:none;border:none;color:#5b5a65;text-decoration:underline;font-weight:500;cursor:pointer;padding:0;font-size:inherit}.ai-controls-section .inline-link-button:hover{color:#2c2d2d}.ai-explanation-content{display:flex;flex-direction:column;gap:24px}.explanation-intro{margin:0;font-size:15px;color:#5b5a65;line-height:1.6}.explanation-steps{display:flex;flex-direction:column;gap:20px}.explanation-step{display:flex;gap:16px}.step-number{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#5b5a65;color:#fff;font-weight:700;font-size:16px;flex-shrink:0}.step-content{flex:1}.step-content h5{margin:0 0 8px;font-size:16px;font-weight:600;color:#2c2d2d}.step-content p{margin:0;font-size:14px;color:#5b5a65;line-height:1.6}.ai-model-metadata{padding:20px;background:#f4f4f6;border-radius:12px;border:1px solid #E5E6E8}.ai-model-metadata h5{margin:0 0 16px;font-size:16px;font-weight:600;color:#2c2d2d}.metadata-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.metadata-item{font-size:13px;color:#5b5a65}.metadata-item strong{display:block;margin-bottom:4px;color:#2c2d2d;font-weight:600}.explanation-footer{padding:16px;background:#f4f4f6;border-left:4px solid #5B5A65;border-radius:8px}.explanation-footer p{margin:0;font-size:14px;color:#2c2d2d;line-height:1.5}.explanation-footer strong{font-weight:600}@media(max-width:768px){.ai-transparency-card .card-header{flex-direction:column}.metadata-grid{grid-template-columns:1fr}.explanation-step{flex-direction:column}.step-number{width:32px;height:32px;font-size:14px}}.ai-preferences-section{border:2px solid #F4F4F6;background:#f4f4f6}.section-header-with-icon{display:flex;align-items:flex-start;gap:20px;margin-bottom:0}.section-header-with-icon h3{margin:0 0 8px;font-size:20px;font-weight:600;color:#2c2d2d}.ai-preferences-list{display:flex;flex-direction:column;gap:20px;margin-bottom:0}.ai-preferences-list .preference-item{padding:24px;border:2px solid #E5E6E8;border-radius:12px;background:#fff;transition:border-color .2s,box-shadow .2s}.ai-preferences-list .preference-item:hover{border-color:#5b5a65;box-shadow:0 2px 8px #5b5a651a}.ai-preferences-list .preference-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.ai-preferences-list .preference-info{flex:1}.ai-preferences-list .preference-info strong{display:block;font-size:16px;font-weight:600;color:#2c2d2d;margin-bottom:10px}.ai-preferences-list .preference-description{margin:0 0 14px;font-size:14px;color:#5b5a65;line-height:1.5}.ai-provider-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.provider-tag{display:inline-block;padding:4px 10px;background:#f4f4f6;color:#2c2d2d;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.ai-info-box{display:flex;gap:12px;padding:18px;background:#f4f4f6;border-left:4px solid #5B5A65;border-radius:8px}.ai-info-box strong{display:block;margin-bottom:4px;color:#5b5a65;font-size:14px}.ai-info-box p{margin:0;font-size:13px;color:#2c2d2d;line-height:1.5}@media(max-width:768px){.ai-preferences-list .preference-header{flex-direction:column;gap:12px}.ai-provider-tags,.section-header-with-icon{flex-direction:column}}.pending-deletion-notice{border:2px solid #2C2D2D!important;background:#f9f9f9!important}.pending-deletion-notice .section-header{color:#2c2d2d}.deletion-timeline{display:flex;flex-direction:column;gap:24px;margin:24px 0;padding-left:12px}.timeline-item{display:flex;gap:16px;position:relative}.timeline-item:not(:last-child):before{content:"";position:absolute;left:15px;top:40px;width:2px;height:calc(100% + 8px);background:#e5e6e8}.timeline-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;flex-shrink:0;z-index:1}.timeline-icon.completed{background:#f4f4f6;color:#5b5a65;border:2px solid #9C9B9E}.timeline-icon.pending{background:#f4f4f6;color:#5b5a65;border:2px solid #5B5A65;animation:pulse 2s ease-in-out infinite}.timeline-icon.future{background:#f4f4f6;color:#5b5a65;border:2px solid #E5E6E8}@keyframes pulse{0%,to{box-shadow:0 0 #5b5a6566}50%{box-shadow:0 0 0 8px #5b5a6500}}.timeline-content{flex:1;padding-top:4px}.timeline-content strong{display:block;font-size:15px;font-weight:600;color:#2c2d2d;margin-bottom:4px}.timeline-content p{margin:0;font-size:13px;color:#5b5a65;line-height:1.5}.deletion-reason{font-style:italic;color:#9c9b9e}.deletion-warning{display:flex;gap:12px;padding:16px;background:var(--warning-50, #FFFBEB);border:2px solid var(--warning-200, #FDE68A);border-radius:8px;margin:20px 0}.deletion-warning p{margin:0;font-size:14px;color:var(--warning-700, #B45309);line-height:1.6}.deletion-warning strong{font-weight:700}.deletion-actions{display:flex;justify-content:center;margin-top:24px}.password-section{border:2px solid #C7C8CD;background:#f4f4f6}.password-form{display:flex;flex-direction:column;gap:28px;margin-top:0}.password-input-group{display:flex;flex-direction:column;gap:10px}.password-input-group label{font-size:14px;font-weight:600;color:#2c2d2d}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input{width:100%;padding:12px 44px 12px 16px;border:2px solid #E5E6E8;border-radius:8px;font-size:14px;color:#2c2d2d;background:#fff;transition:all .2s}.password-input:focus{outline:none;border-color:#5b5a65;box-shadow:0 0 0 3px #5b5a651f}.password-input::placeholder{color:#9c9b9e}.password-toggle{position:absolute;right:12px;background:none;border:none;cursor:pointer;color:#5b5a65;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s}.password-toggle:hover{color:#2c2d2d}.password-toggle:focus{outline:2px solid #5B5A65;outline-offset:2px;border-radius:4px}.password-requirements{margin-top:4px}.password-requirements small{font-size:12px;color:#5b5a65;line-height:1.5}.password-form-actions{display:flex;justify-content:flex-start;padding-top:12px}.security-notice{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#f4f4f6;border:1px solid #F4F4F6;border-radius:8px;margin-top:0}.security-notice span{font-size:13px;color:#5b5a65;line-height:1.6}.security-notice svg{flex-shrink:0;margin-top:2px;color:#5b5a65}@media(max-width:768px){.password-form{gap:20px}.password-input{font-size:16px}.password-form-actions{justify-content:stretch}.password-form-actions button{width:100%}}.search-history-container{max-width:900px;margin:2rem auto;background-color:#fff;border-radius:.75rem;box-shadow:0 4px 12px #0000001a;overflow:hidden}.history-header{padding:1.5rem 2rem;border-bottom:1px solid var(--gray-200);display:flex;align-items:center;justify-content:space-between;gap:1rem}.back-button{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:var(--gray-600);font-size:.95rem;font-weight:500;cursor:pointer;padding:.5rem .75rem;margin-right:1rem;border-radius:.375rem;transition:all .2s ease}.back-button:hover{background-color:var(--gray-100);color:var(--gray-900)}.history-header h1{margin:0;font-size:1.5rem;color:var(--gray-900)}.history-filters{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:.35rem}.filter-group label{font-size:.85rem;color:var(--gray-600);font-weight:600}.filter-group input,.filter-group select{padding:.5rem .75rem;border:1px solid var(--gray-200);border-radius:8px;min-width:200px}.pause-toggle{padding:.55rem .9rem;border-radius:10px;border:1px solid var(--gray-200);background:#fff;cursor:pointer}.pause-toggle.paused{background:#f4f4f6;border-color:#5b5a65}.loading-history{padding:4rem 2rem;display:flex;flex-direction:column;align-items:center}.loading-history .loading-spinner{width:40px;height:40px;border:3px solid rgba(156,155,158,.2);border-radius:50%;border-top-color:var(--primary);animation:spin 1s linear infinite;margin-bottom:1rem}.loading-history p{color:var(--gray-600)}.history-error{padding:3rem 2rem;display:flex;flex-direction:column;align-items:center;text-align:center}.history-error svg{color:var(--danger);margin-bottom:1rem}.history-error p{color:var(--gray-700)}.empty-history{padding:4rem 2rem;display:flex;flex-direction:column;align-items:center;text-align:center}.empty-history svg{color:var(--gray-400);margin-bottom:1.5rem}.empty-history h2{margin-bottom:.75rem;color:var(--gray-800)}.empty-history p{color:var(--gray-600);margin-bottom:1.5rem;max-width:400px}.start-search-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background-color:var(--primary);color:#fff;border-radius:.5rem;text-decoration:none;font-weight:500;transition:all .2s ease}.start-search-button:hover{background-color:var(--primary-dark)}.history-list{padding:1.5rem}.history-item{background-color:#fff;border-radius:.75rem;box-shadow:0 2px 8px #0000000d;padding:1.25rem;margin-bottom:1.25rem;border:1px solid var(--gray-200);transition:all .2s ease}.history-item:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.history-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.history-item-category{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;color:var(--gray-700);text-transform:capitalize}.history-item-time{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--gray-500)}.history-item-query{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.75rem}.history-item-query svg{margin-top:.25rem;color:var(--gray-600)}.history-item-query h3{margin:0;font-size:1.125rem;color:var(--gray-900);font-weight:600}.history-item-details{display:flex;gap:1.5rem;margin-bottom:1rem}.history-detail{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--gray-700)}.history-detail svg{color:var(--gray-500)}.history-result-snippet{margin-top:.5rem;padding:.75rem;background-color:var(--gray-50);border-radius:.5rem;font-size:.85rem;color:var(--gray-700);margin-bottom:1rem}.history-result-snippet p{margin:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.history-item-actions{display:flex;justify-content:flex-end;gap:.75rem}.repeat-search-button{padding:.5rem 1rem;background-color:var(--primary-light);color:var(--primary);border:none;border-radius:.375rem;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.repeat-search-button:hover{background-color:var(--primary);color:#fff}.delete-search-button{padding:.5rem .9rem;background-color:#f1f5f9;color:#141516;border:1px solid #E5E6E8;border-radius:.375rem;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.delete-search-button:hover{background-color:#e5e6e8}.history-undo-banner{margin:1rem 2rem 0;display:flex;justify-content:flex-end;gap:.75rem;align-items:center;font-size:.9rem}.history-undo-banner button{background:#5b5a65;color:#fff;border:none;padding:.35rem .75rem;border-radius:8px;cursor:pointer}.login-required{padding:3rem 2rem;display:flex;flex-direction:column;align-items:center;text-align:center}.login-required svg{color:var(--gray-400);margin-bottom:1.5rem}.login-required h2{margin-bottom:.75rem;color:var(--gray-900)}.login-required p{color:var(--gray-600);margin-bottom:1.5rem}.login-button{display:inline-block;padding:.75rem 1.5rem;background-color:var(--primary);color:#fff;border-radius:.5rem;text-decoration:none;font-weight:500;transition:all .2s ease}.login-button:hover{background-color:var(--primary-dark)}.bulk-actions-bar{padding:1rem 2rem;background:#f4f4f6;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;align-items:center;gap:1rem}.bulk-actions-info{display:flex;align-items:center;gap:1rem;font-size:.9rem;color:var(--gray-700)}.text-link{background:none;border:none;color:#5b5a65;text-decoration:underline;cursor:pointer;font-size:.875rem;padding:0}.text-link:hover{color:#2c2d2d}.bulk-actions-buttons{display:flex;gap:.75rem}.history-item.selection-mode{display:flex;gap:1rem;align-items:flex-start;cursor:pointer;transition:all .2s}.history-item.selection-mode:hover{background:#f4f4f6}.history-item.selected{background:#f4f4f6;border-color:#5b5a65}.history-item-checkbox{display:flex;align-items:center;padding-top:1rem}.checkbox-button{background:none;border:none;cursor:pointer;color:var(--gray-500);padding:0;display:flex;align-items:center;transition:color .2s}.checkbox-button:hover,.history-item.selected .checkbox-button{color:#5b5a65}.history-item-content{flex:1}@media(max-width:768px){.bulk-actions-bar{flex-direction:column;align-items:stretch;gap:.75rem}.bulk-actions-buttons{justify-content:stretch}.bulk-actions-buttons button{flex:1}.history-item.selection-mode{gap:.75rem}}.login-page{display:flex;justify-content:center;align-items:center;min-height:80vh;padding:2rem;background-color:#f7f9fc}.login-card{width:100%;max-width:450px;background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #0000001a;padding:2rem}.login-card h1{margin-bottom:.5rem;color:#2c2d2d;font-size:1.75rem}.auth-subtitle{color:#5b5a65;margin-bottom:1.5rem;font-size:.95rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#2c2d2d}.form-group input{width:100%;padding:.75rem 1rem;border:1px solid #E5E6E8;border-radius:6px;font-size:1rem;transition:border-color .2s ease}.form-group input:focus{outline:none;border-color:#2c2d2d;box-shadow:0 0 0 2px #5b5a6526}.password-input-wrapper{position:relative;width:100%}.password-input-wrapper input{padding-right:3rem}.password-toggle-btn{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;color:#5b5a65;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.password-toggle-btn:hover{color:#2c2d2d}.password-toggle-btn:focus{outline:none;color:#1f2020}.error-message{background-color:var(--error-50, #FEF2F2);color:var(--error-700, #B91C1C);padding:.75rem 1rem;border-radius:6px;margin-bottom:1.5rem;font-size:.9rem}.success-message{background-color:var(--success-50, #F0FDF4);color:var(--success-700, #15803D);padding:.75rem 1rem;border-radius:6px;margin-bottom:1.5rem;font-size:.9rem}.forgot-password-link{background:none;border:none;color:#1f2020;font-size:.875rem;cursor:pointer;margin-top:.5rem;padding:0;text-align:right;width:100%;display:block}.forgot-password-link:hover{text-decoration:underline}.login-button{width:100%;padding:.75rem 1rem;background-color:#1f2020;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.login-button:hover{background-color:#141516}.login-button:disabled{background-color:#9c9b9e;cursor:not-allowed}.auth-toggle{margin-top:1.5rem;text-align:center;color:#5b5a65;font-size:.9rem}.auth-toggle-btn{background:none;border:none;color:#1f2020;font-weight:500;cursor:pointer;margin-left:.5rem}.auth-toggle-btn:hover{text-decoration:underline}.password-strength-indicator{margin-top:.75rem}.strength-bar-container{width:100%;height:4px;background-color:#e5e6e8;border-radius:2px;overflow:hidden;margin-bottom:.5rem}.strength-bar{height:100%;transition:all .3s ease;border-radius:2px}.strength-bar[data-strength=weak]{width:33%;background-color:#5b5a65}.strength-bar[data-strength=medium]{width:66%;background-color:#5b5a65}.strength-bar[data-strength=strong]{width:100%;background-color:#5b5a65}.strength-text{font-size:.875rem;margin:0;color:#5b5a65}.strength-level{font-weight:600;text-transform:capitalize}.password-strength-indicator.weak .strength-level,.password-strength-indicator.medium .strength-level,.password-strength-indicator.strong .strength-level{color:#5b5a65}.google-login-btn{width:100%;padding:.75rem 1rem;background-color:#fff;color:#2c2d2d;border:1px solid #E5E6E8;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.75rem}.google-login-btn:hover{background-color:#f4f4f6;border-color:#9c9b9e;box-shadow:0 1px 3px #0000001a}.google-login-btn:disabled{background-color:#f4f4f6;border-color:#e5e6e8;color:#9c9b9e;cursor:not-allowed}.google-icon{width:20px;height:20px}.auth-divider{display:flex;align-items:center;text-align:center;margin:1.5rem 0;color:#9c9b9e;font-size:.875rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid #E5E6E8}.auth-divider span{padding:0 1rem;font-weight:500}.remember-me-container{margin-bottom:1.25rem}.remember-me-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;color:#5b5a65;-webkit-user-select:none;user-select:none}.remember-me-checkbox{width:1rem;height:1rem;cursor:pointer;accent-color:#1f2020}.remember-me-label:hover{color:#2c2d2d}.button-spinner{display:inline-block;width:1rem;height:1rem;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spinner-rotate .6s linear infinite;margin-right:.5rem}@keyframes spinner-rotate{to{transform:rotate(360deg)}}@media(max-width:640px){.login-card{padding:1.5rem}}.split-pane{display:flex;width:100%;height:100%;position:relative;overflow:hidden}.split-pane-vertical{flex-direction:row}.split-pane-horizontal{flex-direction:column}.split-pane-primary,.split-pane-secondary{overflow:auto;position:relative;min-width:0;min-height:0}.split-pane-primary{flex-shrink:0}.split-pane-secondary{flex-grow:1}.split-pane-divider{flex-shrink:0;position:relative;z-index:var(--z-overlay);transition:background-color var(--transition-base);cursor:col-resize;background:var(--color-border)}.split-pane-vertical .split-pane-divider{width:8px;cursor:col-resize;border-left:1px solid var(--color-border);border-right:1px solid var(--color-border)}.split-pane-horizontal .split-pane-divider{height:8px;cursor:row-resize;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.split-pane-divider:hover,.split-pane-divider:focus{background:var(--primary-200);outline:none}.split-pane-divider:focus{box-shadow:0 0 0 2px var(--primary-300)}.split-pane-divider.active,.split-pane.dragging .split-pane-divider{background:var(--color-primary)}.divider-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;pointer-events:none}.split-pane-vertical .divider-handle{width:100%;height:60px}.split-pane-horizontal .divider-handle{width:60px;height:100%}.divider-grip{background:var(--glass-bg);backdrop-filter:var(--glass-blur-subtle);-webkit-backdrop-filter:var(--glass-blur-subtle);border:1px solid var(--glass-border);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg);color:var(--color-text-tertiary);transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.split-pane-vertical .divider-grip{width:24px;height:48px;padding:var(--spacing-2) var(--spacing-1)}.split-pane-horizontal .divider-grip{width:48px;height:24px;padding:var(--spacing-1) var(--spacing-2)}.split-pane-divider:hover .divider-grip,.split-pane-divider:focus .divider-grip{background:var(--primary-50);color:var(--color-primary);border-color:var(--primary-200);box-shadow:var(--shadow-md)}.split-pane-divider.active .divider-grip,.split-pane.dragging .divider-grip{background:var(--primary-100);color:var(--color-primary);border-color:var(--color-primary);box-shadow:var(--shadow-lg)}.split-pane.dragging{cursor:col-resize}.split-pane-horizontal.dragging{cursor:row-resize}.split-pane.dragging *{cursor:inherit!important;-webkit-user-select:none!important;user-select:none!important}.split-pane.dragging iframe,.split-pane.dragging embed,.split-pane.dragging object{pointer-events:none}@media(max-width:768px){.split-pane-vertical{flex-direction:column}.split-pane-primary,.split-pane-secondary{width:100%!important;height:auto!important}.split-pane-divider{display:none}}.split-pane-divider:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}@media(prefers-contrast:high){.split-pane-divider,.divider-grip{border-width:2px}}@media(prefers-reduced-motion:reduce){.split-pane-divider,.divider-grip{transition:none}}.split-pane.minimal .split-pane-divider{background:transparent;border:none}.split-pane.minimal .divider-grip{display:none}.split-pane.minimal .split-pane-divider{width:2px}.split-pane.minimal.split-pane-horizontal .split-pane-divider{height:2px}.split-pane.emphasized .split-pane-divider{width:12px;background:var(--gray-100)}.split-pane.emphasized.split-pane-horizontal .split-pane-divider{height:12px}.split-pane.emphasized .divider-grip{width:32px;height:56px}.split-pane.emphasized.split-pane-horizontal .divider-grip{width:56px;height:32px}@media(hover:none){.split-pane-divider:hover{background:var(--gray-200)}.divider-grip:hover{transform:none;background:var(--gray-300)}}@media(max-width:768px){.split-pane-divider{width:16px}.split-pane-horizontal .split-pane-divider{height:16px}.divider-grip,.split-pane-horizontal .divider-grip{width:48px;height:48px}}.split-pane-divider:active .divider-grip{transform:scale(1.1);background:var(--color-primary);transition:all .1s ease}.split-pane-divider,.divider-grip{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.split-pane-divider{touch-action:none}.split-pane-divider:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}@supports (padding: max(0px)){.split-pane{padding-left:max(env(safe-area-inset-left),0px);padding-right:max(env(safe-area-inset-right),0px)}}.bottom-sheet-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:var(--z-modal);pointer-events:none}.bottom-sheet-overlay>*{pointer-events:auto}.bottom-sheet-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:#0000;transition:background var(--transition-base)}.bottom-sheet-backdrop.active{background:#00000080}.bottom-sheet{position:absolute;bottom:0;left:0;right:0;background:var(--color-surface);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;box-shadow:0 -8px 32px #00000026;display:flex;flex-direction:column;max-height:95vh;overflow:hidden;transform:translateZ(0);will-change:height}.bottom-sheet.dragging{box-shadow:0 -12px 48px #00000040}.bottom-sheet-handle{padding:var(--spacing-3) 0 var(--spacing-2);display:flex;justify-content:center;cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent}.bottom-sheet.dragging .bottom-sheet-handle{cursor:grabbing}.handle-bar{width:40px;height:4px;background:var(--gray-300);border-radius:var(--radius-full);transition:all var(--transition-base)}.bottom-sheet-handle:hover .handle-bar,.bottom-sheet-handle:active .handle-bar{width:48px;background:var(--gray-400)}.bottom-sheet.dragging .handle-bar{background:var(--color-primary)}.bottom-sheet-header{padding:0 var(--spacing-6) var(--spacing-4);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-4);flex-shrink:0}.bottom-sheet-header h3{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);flex:1}.header-actions{display:flex;gap:var(--spacing-2);flex-shrink:0}.expand-button,.close-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base);-webkit-tap-highlight-color:transparent}.expand-button:hover,.close-button:hover{background:var(--gray-100);color:var(--color-text-primary)}.expand-button:active,.close-button:active{background:var(--gray-200);transform:scale(.95)}.bottom-sheet-content{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.bottom-sheet-content::-webkit-scrollbar{width:6px}.bottom-sheet-content::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-full)}.bottom-sheet-content::-webkit-scrollbar-track{background:transparent}.bottom-sheet-content *{touch-action:pan-y}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.bottom-sheet{animation:slideUp .3s cubic-bezier(.4,0,.2,1)}.bottom-sheet-backdrop{animation:fadeIn .3s ease-out}.expand-button:focus-visible,.close-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){.bottom-sheet,.bottom-sheet-backdrop,.handle-bar,.expand-button,.close-button{animation:none;transition:none}.bottom-sheet{transition:height .01s}}@media(prefers-contrast:high){.bottom-sheet{border:2px solid currentColor}.handle-bar{background:currentColor}}@supports (padding: max(0px)){.bottom-sheet-content{padding-bottom:max(env(safe-area-inset-bottom),var(--spacing-4))}.bottom-sheet-header{padding-left:max(env(safe-area-inset-left),var(--spacing-6));padding-right:max(env(safe-area-inset-right),var(--spacing-6))}}@media(orientation:landscape)and (max-height:600px){.bottom-sheet{max-height:90vh}.bottom-sheet-header{padding-top:var(--spacing-2);padding-bottom:var(--spacing-2)}.bottom-sheet-header h3{font-size:var(--font-size-base)}}@media(min-width:769px){.bottom-sheet-overlay{display:none}}@media(hover:none){.expand-button:hover,.close-button:hover{background:transparent;transform:none}.bottom-sheet-handle:hover .handle-bar{width:40px;background:var(--gray-300)}}.expand-button,.close-button{min-width:44px;min-height:44px}.bottom-sheet-handle{min-height:44px}.expand-button:active,.close-button:active{transform:scale(.92);transition:transform .1s ease}.bottom-sheet-handle:focus-visible{outline:3px solid var(--color-primary);outline-offset:-3px;border-radius:var(--radius-2xl) var(--radius-2xl) 0 0}.export-modal{max-width:550px;width:90%}.export-description{color:#5b5a65;margin-bottom:20px;text-align:center}.format-options{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.format-option{display:flex;align-items:center;padding:12px 16px;border:1px solid #E5E6E8;border-radius:8px;cursor:pointer;transition:all .2s ease}.format-option:hover{background-color:#f4f4f6}.format-option.selected{border-color:#5b5a65;background-color:#5b5a650d}.format-icon-container{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background-color:#f4f4f6;color:#5b5a65;margin-right:16px;flex-shrink:0}.format-details{flex:1}.format-label{margin:0 0 4px;font-weight:600;color:#2c2d2d}.format-description{margin:0;font-size:14px;color:#5b5a65}.format-selector{width:20px;height:20px;border:2px solid #E5E6E8;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-left:12px}.format-option.selected .format-selector{border-color:#5b5a65}.selector-circle{width:12px;height:12px;border-radius:50%;background-color:#5b5a65;display:none}.format-option.selected .selector-circle{display:block}.format-preview{background-color:#f4f4f6;border-radius:8px;padding:16px;margin-top:20px}.preview-title{margin:0 0 12px;font-weight:600;color:#2c2d2d;font-size:16px}.preview-content{font-size:14px;color:#5b5a65}.preview-content p{margin-top:0}.preview-content ul{margin:8px 0;padding-left:24px}.preview-content li{margin-bottom:6px}.export-error{background-color:var(--error-50, #FEF2F2);color:var(--error-700, #B91C1C);padding:10px 14px;border-radius:6px;font-size:14px;margin:12px 0}.export-btn{display:flex;align-items:center;gap:8px;background-color:#5b5a65;color:#fff;border:none;border-radius:6px;padding:8px 16px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.export-btn:hover:not(:disabled){background-color:#2c2d2d}.export-btn:disabled{background-color:#c7c8cd;cursor:not-allowed}.cancel-btn{background-color:#f4f4f6;color:#5b5a65;border:none;border-radius:6px;padding:8px 16px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.cancel-btn:hover:not(:disabled){background-color:#e5e6e8}.cancel-btn:disabled{opacity:.7;cursor:not-allowed}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.spin-icon{animation:spin 1s linear infinite}.success-icon{color:var(--success-500, #22C55E)}@media(max-width:480px){.format-description{display:none}.format-option{padding:10px 12px}.format-icon-container{width:32px;height:32px;margin-right:12px}.preview-content ul{padding-left:20px}}:root{--stop-primary: #1f2020;--stop-primary-light: #F4F4F6;--stop-primary-dark: #2C2D2D;--stop-success: var(--success-500, #22C55E);--stop-warning: var(--warning-500, #F59E0B);--stop-error: var(--error-500, #EF4444);--stop-info: var(--info-500, #5B5A65);--stop-gray-50: #F4F4F6;--stop-gray-100: #F4F4F6;--stop-gray-200: #E5E6E8;--stop-gray-300: #E5E6E8;--stop-gray-400: #9C9B9E;--stop-gray-500: #5B5A65;--stop-gray-600: #5B5A65;--stop-gray-700: #2C2D2D;--stop-gray-800: #2C2D2D;--stop-gray-900: #141516;--stop-restaurant: #C7C8CD;--stop-cafe: #C7C8CD;--stop-attraction: #C7C8CD;--stop-shop: #F4F4F6;--stop-event: #C7C8CD;--stop-space-1: .25rem;--stop-space-2: .5rem;--stop-space-3: .75rem;--stop-space-4: 1rem;--stop-space-5: 1.25rem;--stop-space-6: 1.5rem;--stop-font-xs: .75rem;--stop-font-sm: .875rem;--stop-font-base: 1rem;--stop-font-lg: 1.125rem;--stop-radius-sm: .25rem;--stop-radius-md: .5rem;--stop-radius-lg: .75rem;--stop-shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--stop-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--stop-transition-fast: .15s ease;--stop-transition-normal: .25s ease;--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(.175, .885, .32, 1.275);--animation-fast: .15s;--animation-normal: .25s;--animation-slow: .35s}.timeline-stop{display:flex;position:relative;margin-bottom:var(--stop-space-5);animation:stopAppear var(--animation-slow) var(--ease-out) both}.timeline-stop-marker{position:absolute;left:calc(-1 * var(--stop-space-6));top:var(--stop-space-4);transform:translateY(-50%);z-index:1}.timeline-stop-dot{width:12px;height:12px;border-radius:50%;background-color:var(--stop-primary);border:2px solid white;box-shadow:0 0 0 2px #5b5a654d;transition:all var(--stop-transition-fast)}.timeline-stop.important .timeline-stop-dot{background-color:var(--stop-warning);box-shadow:0 0 0 2px rgba(var(--color-warning-rgb, 245, 158, 11),.3);animation:importantPulse 2s infinite}.timeline-stop.warning .timeline-stop-dot{background-color:var(--stop-warning);box-shadow:0 0 0 2px rgba(var(--color-warning-rgb, 245, 158, 11),.3)}.timeline-stop.error .timeline-stop-dot{background-color:var(--stop-error);box-shadow:0 0 0 2px rgba(var(--color-error-rgb, 239, 68, 68),.3);animation:errorPulse 2s infinite}.timeline-stop-content{flex:1;background-color:#fff;border-radius:var(--stop-radius-lg);overflow:hidden;box-shadow:var(--stop-shadow-sm);border:1px solid var(--stop-gray-200);display:flex;flex-direction:column;transition:transform var(--animation-normal) var(--ease-out),box-shadow var(--animation-normal) var(--ease-out),border-color var(--animation-normal) var(--ease-out)}.timeline-stop:hover .timeline-stop-content{box-shadow:var(--stop-shadow-md);transform:translateY(-3px);border-color:var(--stop-gray-300)}.stop-header{padding:var(--stop-space-5);display:flex;align-items:center;gap:var(--stop-space-4);background-color:var(--stop-gray-50);border-bottom:1px solid var(--stop-gray-100)}.stop-time-info{display:flex;align-items:center;gap:var(--stop-space-2)}.editable-time-display{display:flex;align-items:center;gap:var(--stop-space-1);padding:var(--stop-space-1) var(--stop-space-2);border-radius:var(--stop-radius-sm);cursor:pointer;transition:background-color var(--animation-fast) var(--ease-out),transform var(--animation-fast) var(--ease-out);position:relative}.editable-time-display:hover{background-color:var(--stop-gray-200)}.stop-time{font-weight:500;color:var(--stop-gray-700);font-size:var(--stop-font-sm)}.edit-icon{color:var(--stop-gray-400);opacity:0;transition:opacity var(--animation-fast) var(--ease-out),transform var(--animation-fast) var(--ease-out)}.editable-time-display:hover .edit-icon{opacity:1;transform:rotate(15deg)}.static-duration-display{color:var(--stop-gray-400);font-size:var(--stop-font-xs)}.stop-duration{font-size:var(--stop-font-xs)}.editable-time-container{display:flex;align-items:center;gap:var(--stop-space-2)}.editable-time-input{padding:var(--stop-space-1) var(--stop-space-2);border:1px solid var(--stop-gray-300);border-radius:var(--stop-radius-sm);font-size:var(--stop-font-sm);width:80px}.edit-actions{display:flex;gap:var(--stop-space-1)}.edit-save,.edit-cancel{background:none;border:none;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;cursor:pointer;transition:background-color var(--animation-fast) var(--ease-out),transform var(--animation-fast) var(--ease-out)}.edit-save{background-color:#f4f4f6;color:#5b5a65}.edit-save:hover{background-color:#e5e6e8;transform:scale(1.1)}.edit-cancel{background-color:#f4f4f6;color:#5b5a65}.edit-cancel:hover{background-color:#c7c8cd;transform:scale(1.1)}.stop-main-info{display:flex;align-items:center;gap:var(--stop-space-3);flex:1}.stop-category-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:var(--stop-radius-md);color:var(--stop-gray-800);flex-shrink:0;transition:transform var(--animation-normal) var(--ease-bounce)}.timeline-stop:hover .stop-category-icon{transform:scale(1.05)}.stop-category-icon.bg-orange-100{background-color:#f4f4f6;color:#2c2d2d}.stop-category-icon.bg-green-100{background-color:#f4f4f6;color:#5b5a65}.stop-category-icon.bg-blue-100,.stop-category-icon.bg-purple-100{background-color:#f4f4f6;color:#2c2d2d}.stop-category-icon.bg-red-100{background-color:#f4f4f6;color:#5b5a65}.stop-category-icon.bg-gray-100{background-color:var(--stop-gray-100);color:var(--stop-gray-700)}.stop-name-container{display:flex;flex-direction:column}.stop-name{font-weight:600;color:var(--stop-gray-900);margin:0;font-size:var(--stop-font-base);display:flex;align-items:center}.liked-icon{margin-left:var(--stop-space-2)}.stop-category{font-size:var(--stop-font-xs);color:var(--stop-gray-500);text-transform:capitalize}.stop-meta-inline{display:flex;gap:var(--stop-space-2);align-items:center;flex-wrap:wrap}.stop-weather-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:var(--stop-radius-md);font-size:var(--stop-font-xs);font-weight:500;border:1px solid;transition:all .2s ease;position:relative;white-space:nowrap}.stop-weather-badge:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.stop-weather-badge.favorable{background:#f4f4f6;color:#9c9b9e;border-color:#c7c8cd}.stop-weather-badge.moderate{background:#f4f4f6;color:#5b5a65;border-color:#e5e6e8}.stop-weather-badge.rainy{background:#f4f4f6;color:#5b5a65;border-color:#c7c8cd}.stop-weather-badge.warning{background:#f4f4f6;color:#2c2d2d;border-color:#c7c8cd}.stop-weather-badge svg{flex-shrink:0;animation:weather-pulse 3s ease-in-out infinite}@keyframes weather-pulse{0%,to{opacity:1}50%{opacity:.7}}.stop-weather-badge.rainy svg{animation:rain-drop 1.5s ease-in-out infinite}@keyframes rain-drop{0%,to{transform:translateY(0)}50%{transform:translateY(2px)}}.weather-temp{font-weight:600;white-space:nowrap;display:inline-flex;align-items:baseline;gap:2px}.weather-feels-like{font-weight:400;color:currentColor}.weather-precip{opacity:.9;font-size:11px;white-space:nowrap;font-weight:600}.weather-wind{opacity:.9;font-weight:500;white-space:nowrap;margin-left:2px}.stop-weather-badge[style*=border-left]{padding-left:6px}.stop-options{position:relative}.options-button{background:none;border:none;color:var(--stop-gray-400);cursor:pointer;padding:var(--stop-space-1);display:flex;align-items:center;justify-content:center;border-radius:var(--stop-radius-sm);transition:all var(--stop-transition-fast)}.options-button:hover{background-color:var(--stop-gray-200);color:var(--stop-gray-700);transform:rotate(90deg)}.options-menu{position:absolute;top:100%;right:0;background-color:#fff;border-radius:var(--stop-radius-md);box-shadow:var(--stop-shadow-md);border:1px solid var(--stop-gray-200);z-index:10;min-width:150px;overflow:hidden;animation:scaleIn var(--animation-fast) var(--ease-bounce) forwards;transform-origin:top right}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.menu-item{display:flex;align-items:center;gap:var(--stop-space-2);padding:var(--stop-space-2) var(--stop-space-3);width:100%;background:none;border:none;text-align:left;font-size:var(--stop-font-sm);color:var(--stop-gray-700);cursor:pointer;transition:background-color var(--animation-fast) var(--ease-out),transform var(--animation-fast) var(--ease-out)}.menu-item:hover{background-color:var(--stop-gray-100);transform:translate(4px)}.menu-item.remove-item{color:var(--stop-error)}.menu-item.remove-item:hover{background-color:#f4f4f6}.stop-details{padding:var(--stop-space-5);background-color:#fff;display:flex;flex-direction:column;gap:var(--stop-space-4)}.stop-quick-actions{display:flex;flex-wrap:wrap;gap:var(--stop-space-2);margin-bottom:var(--stop-space-3)}.stop-core-info{margin-bottom:var(--stop-space-5)}.stop-primary-details{display:flex;flex-direction:column;gap:var(--stop-space-4);margin:var(--stop-space-4) 0}.stop-secondary-content{margin-top:var(--stop-space-5);padding-top:var(--stop-space-4);border-top:1px dashed var(--stop-gray-200);animation:slideDown var(--animation-normal) var(--ease-out)}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px);max-height:0}to{opacity:1;transform:translateY(0);max-height:1000px}}.website-item{margin-bottom:var(--stop-space-3)}.toggle-details-button{display:flex;align-items:center;justify-content:center;gap:var(--stop-space-2);padding:var(--stop-space-2) var(--stop-space-3);margin-top:var(--stop-space-3);background-color:var(--stop-gray-100);border:1px solid var(--stop-gray-200);border-radius:var(--stop-radius-md);color:var(--stop-gray-600);font-size:var(--stop-font-sm);cursor:pointer;transition:all var(--stop-transition-fast);width:100%}.toggle-details-button:hover{background-color:var(--stop-gray-200);transform:translateY(-1px)}.action-button{display:flex;align-items:center;gap:var(--stop-space-1);padding:var(--stop-space-1) var(--stop-space-3);background-color:var(--stop-gray-100);border:1px solid var(--stop-gray-200);border-radius:var(--stop-radius-md);font-size:var(--stop-font-xs);color:var(--stop-gray-700);cursor:pointer;transition:background-color var(--animation-fast) var(--ease-out),transform var(--animation-fast) var(--ease-out),box-shadow var(--animation-fast) var(--ease-out)}.action-button:hover{background-color:var(--stop-gray-200);transform:translateY(-2px);box-shadow:0 2px 4px #0000000d}.action-button:active{transform:translateY(0)}.action-button.active{background-color:#f4f4f6;border-color:#c7c8cd;color:#5b5a65;animation:activePulse 2s infinite}@keyframes activePulse{0%{box-shadow:0 0 #5b5a654d}70%{box-shadow:0 0 0 6px #5b5a6500}to{box-shadow:0 0 #5b5a6500}}.action-button.remove-item{color:var(--stop-error)}.action-button.remove-item:hover{background-color:#f4f4f6}.justification-panel{background-color:#f8f9fa;padding:var(--stop-space-3);border-radius:var(--stop-radius-md);margin-bottom:var(--stop-space-3);border:1px solid #EDEDEE;animation:panelSlideDown var(--animation-normal) var(--ease-out)}@keyframes panelSlideDown{0%{opacity:0;transform:translateY(-8px);max-height:0}to{opacity:1;transform:translateY(0);max-height:200px}}.justification-panel p{font-size:var(--stop-font-sm);color:#5b5a65;margin:0;display:flex;align-items:center}.justification-panel p svg{margin-right:var(--stop-space-2);color:#2c2d2d}.note-editor{margin:var(--stop-space-3) 0;animation:fadeSlideUp var(--animation-normal) var(--ease-out)}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.note-input{width:100%;padding:var(--stop-space-3);border:1px solid var(--stop-gray-200);border-radius:var(--stop-radius-md);font-size:var(--stop-font-sm);resize:vertical}.note-input:focus{box-shadow:0 0 0 2px #5b5a6533;border-color:var(--stop-primary);outline:none}.note-actions{display:flex;justify-content:flex-end;gap:var(--stop-space-2);margin-top:var(--stop-space-2)}.note-cancel,.note-save{padding:var(--stop-space-1) var(--stop-space-3);border-radius:var(--stop-radius-md);font-size:var(--stop-font-xs);cursor:pointer;transition:background-color var(--animation-fast) var(--ease-out),transform var(--animation-fast) var(--ease-out)}.note-cancel{background-color:var(--stop-gray-100);border:1px solid var(--stop-gray-200);color:var(--stop-gray-700)}.note-cancel:hover{background-color:var(--stop-gray-200);transform:translateY(-1px)}.note-save{background-color:var(--stop-primary);border:none;color:#fff}.note-save:hover{background-color:var(--stop-primary-dark);transform:translateY(-1px)}.user-note{background-color:#f4f4f6;padding:var(--stop-space-3);border-radius:var(--stop-radius-md);margin:var(--stop-space-3) 0;position:relative;transition:box-shadow var(--animation-normal) var(--ease-out),transform var(--animation-normal) var(--ease-out)}.user-note:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(-2px)}.note-content{font-size:var(--stop-font-sm);color:#5b5a65;margin:0;padding-right:3rem}.edit-note{position:absolute;right:var(--stop-space-3);top:var(--stop-space-3);background:none;border:none;color:#5b5a65;font-size:var(--stop-font-xs);text-decoration:underline;cursor:pointer;transition:opacity var(--animation-fast) var(--ease-out);opacity:.7}.user-note:hover .edit-note{opacity:1}.stop-description{font-size:var(--stop-font-sm);color:var(--stop-gray-700);margin:var(--stop-space-3) 0;line-height:1.5}.stop-ai-summary{margin:var(--stop-space-3) 0;padding:var(--stop-space-3);border-radius:var(--stop-radius-md);border:1px solid var(--stop-gray-200);background:#f4f4f6}.ai-summary-label{display:inline-flex;align-items:center;gap:var(--stop-space-1);font-size:var(--stop-font-xs);font-weight:600;color:var(--stop-gray-700);text-transform:uppercase;letter-spacing:.04em}.ai-summary-text{margin:var(--stop-space-2) 0 0 0;font-size:var(--stop-font-sm);color:var(--stop-gray-700);line-height:1.5}.ai-reasons{margin:var(--stop-space-2) 0 0 0;padding-left:var(--stop-space-4);color:var(--stop-gray-600);font-size:var(--stop-font-xs)}.detail-section-title{font-size:var(--stop-font-xs);font-weight:600;color:var(--stop-gray-700);text-transform:uppercase;letter-spacing:.04em;margin:0 0 var(--stop-space-2) 0}.detail-list{margin:0;padding-left:var(--stop-space-4);color:var(--stop-gray-600);font-size:var(--stop-font-xs);line-height:1.5}.detail-block{margin-bottom:var(--stop-space-3)}.detail-label{display:block;font-size:var(--stop-font-xs);font-weight:600;color:var(--stop-gray-600);margin-bottom:var(--stop-space-1)}.stop-tags{margin-bottom:var(--stop-space-3)}.tag-list{display:flex;flex-wrap:wrap;gap:var(--stop-space-2)}.tag-chip{padding:.2rem .55rem;border-radius:999px;background:#f4f4f6;border:1px solid var(--stop-gray-200);font-size:var(--stop-font-xs);color:var(--stop-gray-600)}.stop-highlights,.stop-visit-plan,.stop-hours{margin-bottom:var(--stop-space-3)}.hours-list{display:grid;gap:var(--stop-space-1)}.hours-row{display:flex;justify-content:space-between;gap:var(--stop-space-2);font-size:var(--stop-font-xs);color:var(--stop-gray-600)}.hours-day{text-transform:uppercase;font-weight:600;color:var(--stop-gray-500)}.detail-item{display:flex;align-items:center;gap:var(--stop-space-2);color:var(--stop-gray-600);font-size:var(--stop-font-sm);padding:var(--stop-space-2) 0;border-bottom:1px solid var(--stop-gray-100);transition:transform var(--animation-fast) var(--ease-out)}.detail-item:hover{transform:translateY(-1px)}.detail-item:last-child{border-bottom:none}.detail-icon{color:var(--stop-gray-500);flex-shrink:0;transition:transform var(--animation-normal) var(--ease-bounce)}.detail-item:hover .detail-icon{transform:scale(1.1)}.detail-text.clickable{color:var(--stop-primary);cursor:pointer;position:relative}.detail-text.clickable:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:1px;background-color:currentColor;transform:scaleX(.3);opacity:.7;transform-origin:left;transition:transform var(--animation-normal) var(--ease-out),opacity var(--animation-normal) var(--ease-out)}.detail-text.clickable:hover:after{transform:scaleX(1);opacity:1}.photo-opportunity{display:flex;align-items:flex-start;gap:var(--stop-space-2);background-color:#f4f4f6;padding:var(--stop-space-3);border-radius:var(--stop-radius-md);margin:var(--stop-space-3) 0;position:relative;transition:transform var(--animation-normal) var(--ease-out)}.photo-opportunity:hover{transform:translateY(-2px)}.photo-icon{color:#5b5a65;margin-top:var(--stop-space-1);flex-shrink:0;transition:transform var(--animation-normal) var(--ease-bounce)}.photo-opportunity:hover .photo-icon{transform:rotate(-15deg) scale(1.2)}.photo-text{font-size:var(--stop-font-sm);color:#2c2d2d;margin:0;line-height:1.5}.photo-badge{display:inline-block;background-color:#5b5a65;color:#fff;font-size:.6875rem;padding:.125rem .375rem;border-radius:var(--stop-radius-sm);margin-right:var(--stop-space-2);font-weight:500}.photo-tooltip{position:absolute;right:var(--stop-space-3);top:var(--stop-space-3);background-color:#2c2d2d;color:#fff;padding:var(--stop-space-2);border-radius:var(--stop-radius-md);font-size:var(--stop-font-xs);max-width:12rem;z-index:10;box-shadow:var(--stop-shadow-md);animation:tooltipFade var(--animation-normal) var(--ease-out)}@keyframes tooltipFade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.location-tips{margin:var(--stop-space-3) 0 0}.tips-title{font-size:var(--stop-font-sm);font-weight:500;color:var(--stop-gray-700);margin:0 0 var(--stop-space-2)}.location-tips-list{list-style:none;padding:0;margin:0}.location-tip-item{display:flex;align-items:flex-start;gap:var(--stop-space-2);font-size:var(--stop-font-sm);color:var(--stop-gray-600);margin-bottom:var(--stop-space-2);line-height:1.4;transition:transform var(--animation-fast) var(--ease-out)}.location-tip-item:hover{transform:translate(4px)}.location-tip-item svg{flex-shrink:0;margin-top:.125rem;color:var(--stop-gray-400);transition:transform var(--animation-normal) var(--ease-bounce)}.location-tip-item:hover svg{transform:scale(1.2)}@keyframes importantPulse{0%{box-shadow:0 0 #5b5a6599}70%{box-shadow:0 0 0 8px #5b5a6500}to{box-shadow:0 0 #5b5a6500}}@keyframes errorPulse{0%{box-shadow:0 0 #5b5a6599}70%{box-shadow:0 0 0 8px #5b5a6500}to{box-shadow:0 0 #5b5a6500}}@keyframes stopAppear{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.timeline-stop:nth-child(1){animation-delay:.1s}.timeline-stop:nth-child(2){animation-delay:.15s}.timeline-stop:nth-child(3){animation-delay:.2s}.timeline-stop:nth-child(4){animation-delay:.25s}.timeline-stop:nth-child(5){animation-delay:.3s}.timeline-stop:nth-child(6){animation-delay:.35s}.timeline-stop:nth-child(7){animation-delay:.4s}.timeline-stop:nth-child(8){animation-delay:.45s}@media(max-width:768px){.stop-header{flex-direction:column;align-items:flex-start;gap:var(--stop-space-3)}.stop-time-info{width:100%}.stop-primary-details{gap:var(--stop-space-2)}}@media(max-width:480px){.stop-quick-actions{flex-direction:column;width:100%}.action-button{width:100%}}.time-of-day-header{display:flex;align-items:center;gap:var(--spacing-5, 1.25rem);padding:var(--spacing-6, 1.5rem);border-radius:var(--radius-2xl, 1.5rem);margin-bottom:var(--spacing-5, 1.25rem);box-shadow:0 8px 24px #0000001a;position:relative;overflow:hidden}.time-of-day-header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#ffffff26;pointer-events:none}.time-of-day-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:var(--radius-xl, 1rem);background:#ffffffe6;box-shadow:0 4px 12px #0000001a;flex-shrink:0;position:relative;z-index:1}.time-of-day-content{flex:1;position:relative;z-index:1}.time-of-day-title{font-size:1.5rem;font-weight:700;margin:0 0 .25rem;color:#000000e6;font-family:var(--font-display, "Poppins", sans-serif);text-shadow:0 2px 4px rgba(255,255,255,.5)}.time-of-day-description{font-size:.9375rem;color:#000000b3;margin:0 0 .5rem;font-weight:500}.time-of-day-meta{display:flex;align-items:center;gap:var(--spacing-2, .5rem);font-size:.875rem;color:#0009;font-weight:600}.time-range{font-family:var(--font-mono, "Courier New", monospace)}.meta-divider,.stat-divider,.transit-divider{color:#0000004d}.item-count{display:inline-flex;align-items:center;padding:.25rem .75rem;background:#fff9;border-radius:var(--radius-full, 9999px);font-weight:700}.timeline-connector{display:flex;align-items:center;justify-content:center;position:relative;height:40px;margin:var(--spacing-2, .5rem) 0}.connector-line{width:4px;height:100%;border-radius:var(--radius-full, 9999px);position:relative}.connector-pulse{position:absolute;width:12px;height:12px;border-radius:var(--radius-full, 9999px);left:50%;top:50%;transform:translate(-50%,-50%)}.timeline-dot{width:20px;height:20px;border-radius:var(--radius-full, 9999px);cursor:pointer;position:relative;transition:all var(--transition-base, .2s);flex-shrink:0}.timeline-dot.active{width:28px;height:28px}.dot-pulse{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-full, 9999px);pointer-events:none}.timeline-card{position:relative;border-radius:var(--radius-xl, 1rem);padding:var(--spacing-5, 1.25rem);border-left:4px solid;box-shadow:0 4px 12px #00000014;transition:all var(--transition-base, .2s);overflow:hidden}.timeline-card:hover{box-shadow:0 8px 24px #0000001f}.timeline-card-accent{position:absolute;top:0;left:0;width:4px;height:100%}.transit-indicator{display:inline-flex;align-items:center;gap:var(--spacing-2, .5rem);padding:var(--spacing-2, .5rem) var(--spacing-4, 1rem);border-radius:var(--radius-full, 9999px);border:2px solid;margin:var(--spacing-3, .75rem) 0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:.875rem;font-weight:600}.transit-icon{font-size:1.25rem;line-height:1}.transit-details{display:flex;align-items:center;gap:.375rem}.transit-duration,.transit-distance{font-family:var(--font-display, "Poppins", sans-serif)}.period-summary{display:flex;align-items:center;gap:var(--spacing-4, 1rem);padding:var(--spacing-4, 1rem) var(--spacing-5, 1.25rem);border-radius:var(--radius-xl, 1rem);border:2px solid;margin-top:var(--spacing-4, 1rem);box-shadow:0 4px 12px #0000001a;position:relative;overflow:hidden}.period-summary:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#fff3;pointer-events:none}.period-summary-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-lg, .75rem);background:#ffffffe6;color:inherit;flex-shrink:0;position:relative;z-index:1}.period-summary-content{flex:1;position:relative;z-index:1}.period-summary-title{font-size:1.125rem;font-weight:700;margin:0 0 .25rem;color:#000000e6;font-family:var(--font-display, "Poppins", sans-serif)}.period-summary-stats{display:flex;align-items:center;gap:var(--spacing-2, .5rem);font-size:.875rem;color:#000000b3;font-weight:600}.summary-stat{display:inline-flex;align-items:center}@media(max-width:768px){.time-of-day-header{flex-direction:column;align-items:flex-start;padding:var(--spacing-5, 1.25rem);gap:var(--spacing-4, 1rem)}.time-of-day-icon{width:56px;height:56px}.time-of-day-title{font-size:1.25rem}.time-of-day-description{font-size:.875rem}.time-of-day-meta{flex-wrap:wrap}.timeline-card{padding:var(--spacing-4, 1rem)}.period-summary{padding:var(--spacing-3, .75rem) var(--spacing-4, 1rem)}.period-summary-icon{width:40px;height:40px}.period-summary-title{font-size:1rem}.period-summary-stats{flex-wrap:wrap}.transit-indicator{padding:var(--spacing-2, .5rem) var(--spacing-3, .75rem);font-size:.8125rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.timeline-connector,.timeline-dot,.timeline-card,.transit-indicator,.period-summary,.time-of-day-header,.connector-pulse,.dot-pulse{animation:none;transition:none}}@media print{.time-of-day-header,.period-summary{break-inside:avoid;page-break-inside:avoid}.timeline-card{break-inside:avoid;page-break-inside:avoid;box-shadow:none;border:1px solid #ddd}.connector-pulse,.dot-pulse{display:none}}:root{--timeline-primary: #1f2020;--timeline-primary-light: #F4F4F6;--timeline-primary-dark: #2C2D2D;--timeline-morning: #ecf0f1;--timeline-midday: #ecf0f1;--timeline-afternoon: #ecf0f1;--timeline-evening: #ecf0f1;--timeline-gray-50: #F4F4F6;--timeline-gray-100: #F4F4F6;--timeline-gray-200: #E5E6E8;--timeline-gray-300: #E5E6E8;--timeline-gray-400: #9C9B9E;--timeline-gray-500: #5B5A65;--timeline-gray-600: #5B5A65;--timeline-gray-700: #2C2D2D;--timeline-gray-800: #2C2D2D;--timeline-gray-900: #141516;--timeline-space-1: .25rem;--timeline-space-2: .5rem;--timeline-space-3: .75rem;--timeline-space-4: 1rem;--timeline-space-5: 1.25rem;--timeline-space-6: 1.5rem;--timeline-space-8: 2rem;--timeline-space-10: 2.5rem;--timeline-font-xs: .75rem;--timeline-font-sm: .875rem;--timeline-font-base: 1rem;--timeline-font-lg: 1.125rem;--timeline-font-xl: 1.25rem;--timeline-shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--timeline-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--timeline-radius-sm: .25rem;--timeline-radius-md: .5rem;--timeline-radius-lg: .75rem;--timeline-radius-full: 9999px;--timeline-transition-fast: .15s ease;--timeline-transition-normal: .25s ease;--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(.175, .885, .32, 1.275);--animation-fast: .15s;--animation-normal: .25s;--animation-slow: .35s}.journey-timeline{background:#fffffff2;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:var(--radius-2xl, 1.5rem);overflow:hidden;box-shadow:0 20px 40px #5b5a6514,0 8px 16px #5b5a650a,inset 0 1px #ffffff80;border:1px solid rgba(255,255,255,.3);font-family:var(--font-sans),Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;animation:timelineAppear var(--animation-slow) var(--ease-out);transition:all var(--transition-base, .2s ease)}.journey-timeline:hover{box-shadow:0 24px 48px #5b5a651f,0 12px 24px #5b5a650f,inset 0 1px #fff9}@keyframes timelineAppear{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.journey-header{padding:var(--spacing-5, 1.25rem) var(--spacing-6, 1.5rem);border-bottom:1px solid rgba(91,90,101,.1);display:flex;justify-content:space-between;align-items:center;gap:var(--timeline-space-4);flex-wrap:wrap;background:#fffffff2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.journey-title-container{display:flex;flex-direction:column}.journey-title h3{font-size:var(--timeline-font-xl);font-weight:600;color:var(--timeline-gray-900);margin:0 0 var(--timeline-space-2) 0}.journey-date,.journey-location{display:flex;align-items:center;gap:var(--timeline-space-2);color:var(--timeline-gray-600);font-size:var(--timeline-font-sm);margin-bottom:var(--timeline-space-1)}.ai-badge{display:inline-flex;align-items:center;gap:var(--spacing-1, .25rem);background:#5b5a651f;backdrop-filter:blur(8px) saturate(150%);-webkit-backdrop-filter:blur(8px) saturate(150%);color:#2c2d2d;font-size:var(--font-size-xs, .75rem);font-weight:var(--font-weight-semibold, 600);padding:var(--spacing-1, .25rem) var(--spacing-3, .75rem);border-radius:var(--radius-full, 9999px);border:1px solid rgba(91,90,101,.3);margin-top:var(--spacing-2, .5rem);box-shadow:0 2px 4px #5b5a651f,inset 0 1px #ffffff4d}.journey-actions{display:flex;align-items:center;gap:var(--timeline-space-4);flex-wrap:wrap;justify-content:flex-end}.view-mode-toggle{display:flex;gap:var(--timeline-space-1);background-color:var(--timeline-gray-100);border-radius:var(--timeline-radius-full);padding:var(--timeline-space-1)}.view-mode-btn{display:flex;align-items:center;gap:var(--timeline-space-2);padding:var(--timeline-space-2) var(--timeline-space-3);border-radius:var(--timeline-radius-md);background:none;border:none;font-size:var(--timeline-font-sm);color:var(--timeline-gray-600);cursor:pointer;transition:all var(--timeline-transition-fast)}.view-mode-btn:hover{background-color:var(--timeline-gray-200)}.view-mode-btn.active{background-color:#fff;color:var(--timeline-gray-900);box-shadow:var(--timeline-shadow-sm)}.journey-stats{display:flex;justify-content:space-around;padding:var(--timeline-space-4);border-bottom:1px solid var(--timeline-gray-200);background-color:#fff}.journey-stat{display:flex;flex-direction:column;align-items:center;padding:var(--timeline-space-2) var(--timeline-space-4);animation:statAppear var(--animation-normal) var(--ease-bounce);animation-fill-mode:both}@keyframes statAppear{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.journey-stat:nth-child(1){animation-delay:.1s}.journey-stat:nth-child(2){animation-delay:.2s}.journey-stat:nth-child(3){animation-delay:.3s}.journey-stat:nth-child(4){animation-delay:.4s}.stat-value{font-size:var(--timeline-font-xl);font-weight:600;color:var(--timeline-primary)}.stat-label{font-size:var(--timeline-font-xs);color:var(--timeline-gray-500);text-transform:uppercase;letter-spacing:.05em;margin-top:var(--timeline-space-1);font-weight:500}.journey-content{padding:var(--timeline-space-6);padding-bottom:calc(var(--timeline-space-6) + var(--timeline-space-4))}.itinerary-overview{background-color:#fff;border-radius:var(--timeline-radius-lg);overflow:hidden;border:1px solid var(--timeline-gray-200);margin-bottom:var(--timeline-space-4);animation:fadeIn var(--animation-normal) var(--ease-out)}.overview-title{font-size:var(--timeline-font-lg);font-weight:600;color:var(--timeline-gray-900);padding:var(--timeline-space-4) var(--timeline-space-6);margin:0;border-bottom:1px solid var(--timeline-gray-200)}.overview-sections{padding:var(--timeline-space-4);display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--timeline-space-4)}.overview-section{background-color:var(--timeline-gray-50);border-radius:var(--timeline-radius-md);border:1px solid var(--timeline-gray-200);overflow:hidden;cursor:pointer;transition:all var(--timeline-transition-fast)}.overview-section:hover{transform:translateY(-2px);box-shadow:var(--timeline-shadow-md)}.overview-section-header{display:flex;align-items:center;gap:var(--timeline-space-2);padding:var(--timeline-space-3) var(--timeline-space-4);background-color:var(--timeline-gray-100);border-bottom:1px solid var(--timeline-gray-200)}.overview-section.morning-section .overview-section-header{background-color:var(--timeline-morning)}.overview-section.midday-section .overview-section-header{background-color:var(--timeline-midday)}.overview-section.afternoon-section .overview-section-header{background-color:var(--timeline-afternoon)}.overview-section.evening-section .overview-section-header{background-color:var(--timeline-evening)}.overview-section-icon{display:flex;align-items:center;justify-content:center;color:var(--timeline-gray-700)}.overview-section-title{font-size:var(--timeline-font-base);font-weight:600;color:var(--timeline-gray-900);margin:0}.overview-section-stops{padding:var(--timeline-space-3);display:flex;flex-direction:column;gap:var(--timeline-space-2)}.overview-stop{display:flex;justify-content:space-between;padding:var(--timeline-space-2) var(--timeline-space-3);border-radius:var(--timeline-radius-sm);transition:all var(--timeline-transition-fast)}.overview-stop:hover{background-color:var(--timeline-gray-100)}.overview-stop-time{font-size:var(--timeline-font-sm);font-weight:500;color:var(--timeline-gray-600);min-width:60px}.overview-stop-name{font-size:var(--timeline-font-sm);color:var(--timeline-gray-900);text-align:left;flex:1}.timeline-track{position:relative;padding-left:var(--timeline-space-6);margin-left:var(--timeline-space-4)}.timeline-track:before{content:"";position:absolute;top:0;bottom:0;left:0;width:2px;background:var(--timeline-primary);border-radius:1px}.timeline-section{margin-bottom:var(--timeline-space-6);transition:all var(--timeline-transition-normal);animation:sectionAppear var(--animation-normal) var(--ease-out)}@keyframes sectionAppear{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.section-header{display:flex;justify-content:space-between;align-items:center;padding:var(--timeline-space-3) var(--timeline-space-4);cursor:pointer;border-radius:var(--timeline-radius-md);margin-bottom:var(--timeline-space-3);background-color:var(--timeline-gray-50);border:1px solid var(--timeline-gray-200);transition:background-color var(--animation-fast) var(--ease-out),transform var(--animation-fast) var(--ease-out),box-shadow var(--animation-fast) var(--ease-out)}.section-header:hover{transform:translateY(-2px);box-shadow:0 2px 4px #0000000d;background-color:var(--timeline-gray-100)}.section-header:active{transform:translateY(0)}.section-header.morning-section{background-color:var(--timeline-morning)}.section-header.midday-section{background-color:var(--timeline-midday)}.section-header.afternoon-section{background-color:var(--timeline-afternoon)}.section-header.evening-section{background-color:var(--timeline-evening)}.section-title{display:flex;align-items:center;gap:var(--timeline-space-3)}.section-icon{color:var(--timeline-gray-600);transition:transform var(--animation-normal) var(--ease-bounce)}.section-header:hover .section-icon{transform:scale(1.1)}.section-title h4{font-weight:600;color:var(--timeline-gray-900);margin:0;font-size:var(--timeline-font-base)}.section-right{display:flex;align-items:center;gap:var(--timeline-space-3)}.section-time{display:flex;align-items:center;gap:var(--timeline-space-2);color:var(--timeline-gray-500);font-size:var(--timeline-font-sm)}.expand-button{background:none;border:none;color:var(--timeline-gray-400);cursor:pointer;padding:var(--timeline-space-1);display:flex;align-items:center;justify-content:center;border-radius:var(--timeline-radius-sm);transition:all var(--timeline-transition-fast)}.expand-button:hover{background-color:var(--timeline-gray-200);color:var(--timeline-gray-700)}.expand-button svg{transition:transform var(--animation-normal) var(--ease-bounce)}.timeline-section.expanded .expand-button svg{transform:rotate(180deg)}.section-content{overflow:hidden;transition:max-height var(--animation-slow) var(--ease-out),opacity var(--animation-normal) var(--ease-out),transform var(--animation-normal) var(--ease-out),padding var(--animation-normal) var(--ease-out)}.timeline-item{scroll-margin-top:var(--timeline-space-6)}.timeline-item.is-selected .timeline-stop-content{border-color:var(--color-primary, #5B5A65);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb, 91, 90, 101),.2),var(--timeline-shadow-md)}.timeline-section.expanded .section-content{max-height:10000px;opacity:1;transform:translateY(0);transition-delay:.05s;overflow:visible}.timeline-section.collapsed .section-content{max-height:0;opacity:0;transform:translateY(-8px);padding-top:0;padding-bottom:0}.section-connector{position:relative;height:24px;margin-left:calc(-1 * var(--timeline-space-6));padding-left:var(--timeline-space-6);display:flex;align-items:center;justify-content:center}.connector-line{position:absolute;top:0;bottom:0;left:0;width:2px;background-color:var(--timeline-gray-300)}.connector-icon{position:relative;background-color:#fff;color:var(--timeline-gray-400);padding:0 var(--timeline-space-2);font-size:var(--timeline-font-base);transition:transform var(--animation-normal) var(--ease-in-out)}.section-connector:hover .connector-icon{transform:translateY(-2px)}.journey-tips{margin-top:var(--timeline-space-8);background-color:#f8f9fa;border-radius:var(--timeline-radius-md);padding:var(--timeline-space-5);border:1px solid #EDEDEE}.tips-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background-color var(--animation-fast) var(--ease-out),transform var(--animation-fast) var(--ease-out)}.tips-header:hover{background-color:#ededee80;transform:translateY(-1px)}.tips-title{display:flex;align-items:center;gap:var(--timeline-space-2)}.tips-title h4{margin:0;font-size:var(--timeline-font-base);font-weight:600;color:#5b5a65}.expand-tips-button{background:none;border:none;color:#5b5a65;cursor:pointer;padding:var(--timeline-space-1);display:flex;align-items:center;justify-content:center;border-radius:var(--timeline-radius-sm);transition:all var(--timeline-transition-fast)}.expand-tips-button:hover{background-color:#ededee}.expand-tips-button svg{transition:transform var(--animation-normal) var(--ease-bounce)}.journey-tips.expanded .expand-tips-button svg{transform:rotate(180deg)}.tips-list{margin-top:var(--timeline-space-3);padding-left:var(--timeline-space-6);animation:tipListAppear var(--animation-normal) var(--ease-out);opacity:1;transform:translateY(0)}@keyframes tipListAppear{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.tip-item{margin-bottom:var(--timeline-space-2);font-size:var(--timeline-font-sm);color:#2c2d2d;animation:tipAppear var(--animation-normal) var(--ease-out) forwards;opacity:.5;transform:translateY(4px)}@keyframes tipAppear{to{opacity:1;transform:translateY(0)}}.tips-preview{margin-top:var(--timeline-space-3);max-height:none;overflow:visible}.tips-preview p{font-size:var(--timeline-font-sm);color:#2c2d2d;margin-top:0;margin-bottom:var(--timeline-space-2)}.show-more-tips{background:none;border:none;color:#5b5a65;font-size:var(--timeline-font-sm);padding:0;cursor:pointer;text-decoration:underline;transition:color var(--animation-fast) var(--ease-out);position:relative}.show-more-tips:hover{color:var(--timeline-primary-dark)}.regenerate-itinerary-button{display:flex;align-items:center;gap:var(--timeline-space-2);padding:var(--timeline-space-2) var(--timeline-space-3);border-radius:var(--timeline-radius-md);font-size:var(--timeline-font-sm);font-weight:500;background-color:var(--timeline-gray-100);border:1px solid var(--timeline-gray-200);color:var(--timeline-gray-700);cursor:pointer;transition:background-color var(--animation-fast) var(--ease-out),transform var(--animation-fast) var(--ease-out),box-shadow var(--animation-fast) var(--ease-out);position:relative;overflow:hidden}.regenerate-itinerary-button:hover:not(.regenerating){background-color:var(--timeline-gray-200);transform:translateY(-2px);box-shadow:0 2px 4px #0000001a}.regenerate-itinerary-button:active:not(.regenerating){transform:translateY(0)}.regenerate-itinerary-button.regenerating{opacity:.7;cursor:not-allowed}.spinning{animation:spin 1.5s linear infinite}.journey-timeline.loading{position:relative}.journey-timeline.loading:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#ffffffb3;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:10}.journey-timeline.loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;border:3px solid var(--timeline-gray-200);border-top-color:var(--timeline-primary);animation:spin 1s linear infinite;z-index:11}@media(max-width:768px){.journey-header{flex-direction:column;align-items:flex-start;gap:var(--timeline-space-4)}.journey-actions{width:100%;justify-content:space-between}.journey-stats{width:100%;justify-content:space-around}.journey-content{padding:var(--timeline-space-4)}.timeline-track{margin-left:var(--timeline-space-2)}.overview-sections{grid-template-columns:1fr}}@media(max-width:480px){.journey-content{padding:var(--timeline-space-3);max-width:100vw;overflow-x:hidden}.section-right{flex-direction:column;align-items:flex-start;gap:var(--timeline-space-1)}.view-mode-toggle{width:100%;justify-content:space-between}.view-mode-btn{flex:1;justify-content:center}.timeline-container,.timeline-section{max-width:100%;overflow-x:hidden}.timeline-stop{max-width:100%;padding:var(--timeline-space-3)}.stop-content{max-width:100%}.stop-details{max-width:100%;word-break:break-word}.stop-title{font-size:var(--timeline-font-base);word-break:break-word}.stop-description{font-size:var(--timeline-font-sm)}.transit-segment{padding:var(--timeline-space-2) var(--timeline-space-3);margin-left:var(--timeline-space-2)}.transit-details{font-size:var(--timeline-font-xs)}}/*!* Map Toggle Button *!*//*!* Map wrapper styling *!*//*!* Map toggle container for when header is hidden *!*/.itinerary-actions .view-option.view-map-btn{display:flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:6px;font-size:14px;font-weight:500;background-color:#f5f5f5;border:1px solid #e0e0e0;color:#555;cursor:pointer;transition:all .2s ease;margin:0 8px}.itinerary-actions .view-option.view-map-btn:hover{background-color:#e9e9e9}.itinerary-actions .view-option.view-map-btn.active{background-color:#f4f4f6;border-color:#e5e6e8;color:#5b5a65}.itinerary-actions .view-option.view-map-btn svg{margin-right:6px}@media(max-width:768px){.itinerary-actions{flex-wrap:wrap;justify-content:center}.view-map-btn,.itinerary-actions .view-option.view-map-btn{margin-top:8px}.map-wrapper-in-journey{height:300px}}.density-toggle,.detail-toggle{display:flex;align-items:center;gap:4px;padding:4px;background:var(--color-background-secondary, #F4F4F6);border-radius:var(--radius-md, .5rem);border:1px solid var(--color-border, rgba(0, 0, 0, .08))}.density-btn{min-width:40px;transition:all var(--duration-fast, .15s) var(--ease-spring, cubic-bezier(.16, 1, .3, 1))}.detail-btn{min-width:90px;transition:all var(--duration-fast, .15s) var(--ease-spring, cubic-bezier(.16, 1, .3, 1))}.density-btn.active,.detail-btn.active{background:var(--color-primary, #2C2D2D)!important;color:#fff!important;box-shadow:var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .1))}.timeline-track{transition:all var(--duration-normal, .25s) var(--ease-spring, cubic-bezier(.16, 1, .3, 1))}.timeline-track.density-compact .timeline-section{margin-bottom:var(--space-3, .75rem)}.timeline-track.density-compact .section-header{padding:var(--space-3, .75rem) var(--space-4, 1rem)}.timeline-track.density-compact .section-header h4{font-size:var(--font-size-sm, .875rem)}.timeline-track.density-compact .section-content{padding:var(--space-2, .5rem) var(--space-4, 1rem);gap:var(--space-3, .75rem)}.timeline-track.density-compact .journey-stop{padding:var(--space-3, .75rem);gap:var(--space-2, .5rem)}.timeline-track.density-compact .stop-time{font-size:var(--font-size-xs, .75rem)}.timeline-track.density-compact .stop-name{font-size:var(--font-size-sm, .875rem)}.timeline-track.density-compact .stop-details{font-size:var(--font-size-xs, .75rem);gap:var(--space-2, .5rem)}.timeline-track.density-compact .transit-segment{padding:var(--space-2, .5rem);margin:var(--space-2, .5rem) 0}.timeline-track.density-compact .section-connector{margin:var(--space-2, .5rem) 0}.timeline-track.density-comfortable .timeline-section{margin-bottom:var(--space-6, 1.5rem)}.timeline-track.density-comfortable .section-header{padding:var(--space-4, 1rem) var(--space-5, 1.25rem)}.timeline-track.density-comfortable .section-header h4{font-size:var(--font-size-base, 1rem)}.timeline-track.density-comfortable .section-content{padding:var(--space-4, 1rem) var(--space-5, 1.25rem);gap:var(--space-4, 1rem)}.timeline-track.density-comfortable .journey-stop{padding:var(--space-4, 1rem);gap:var(--space-3, .75rem)}.timeline-track.density-comfortable .stop-time{font-size:var(--font-size-sm, .875rem)}.timeline-track.density-comfortable .stop-name{font-size:var(--font-size-base, 1rem)}.timeline-track.density-comfortable .stop-details{font-size:var(--font-size-sm, .875rem);gap:var(--space-3, .75rem)}.timeline-track.density-comfortable .transit-segment{padding:var(--space-3, .75rem);margin:var(--space-3, .75rem) 0}.timeline-track.density-comfortable .section-connector{margin:var(--space-4, 1rem) 0}.timeline-track.density-spacious .timeline-section{margin-bottom:var(--space-8, 2rem)}.timeline-track.density-spacious .section-header{padding:var(--space-6, 1.5rem) var(--space-6, 1.5rem)}.timeline-track.density-spacious .section-header h4{font-size:var(--font-size-lg, 1.125rem)}.timeline-track.density-spacious .section-content{padding:var(--space-6, 1.5rem) var(--space-6, 1.5rem);gap:var(--space-6, 1.5rem)}.timeline-track.density-spacious .journey-stop{padding:var(--space-6, 1.5rem);gap:var(--space-4, 1rem)}.timeline-track.density-spacious .stop-time{font-size:var(--font-size-base, 1rem)}.timeline-track.density-spacious .stop-name{font-size:var(--font-size-lg, 1.125rem);font-weight:var(--font-weight-semibold, 600)}.timeline-track.density-spacious .stop-details{font-size:var(--font-size-base, 1rem);gap:var(--space-4, 1rem)}.timeline-track.density-spacious .transit-segment{padding:var(--space-5, 1.25rem);margin:var(--space-5, 1.25rem) 0}.timeline-track.density-spacious .section-connector{margin:var(--space-6, 1.5rem) 0}@media(max-width:768px){.density-toggle{gap:2px;padding:2px}.density-btn{min-width:36px;padding:6px}.detail-toggle{gap:2px;padding:2px}.detail-btn{min-width:72px;padding:6px}}.timeline-track *{transition:padding var(--duration-normal, .25s) var(--ease-out, cubic-bezier(0, 0, .2, 1)),margin var(--duration-normal, .25s) var(--ease-out, cubic-bezier(0, 0, .2, 1)),font-size var(--duration-normal, .25s) var(--ease-out, cubic-bezier(0, 0, .2, 1)),gap var(--duration-normal, .25s) var(--ease-out, cubic-bezier(0, 0, .2, 1))}@media(prefers-reduced-motion:reduce){.timeline-track *,.density-btn{transition:none}}.enhanced-section-header{position:relative;cursor:pointer;margin-bottom:var(--timeline-space-4, 1rem);border-radius:var(--timeline-radius-lg, .75rem);overflow:hidden;transition:all .3s ease}.enhanced-section-header:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0000001a}.expand-button-overlay{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;background:#fffffff2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;box-shadow:0 4px 12px #00000026;transition:all .2s ease}.expand-button-overlay:hover{background:#fff;box-shadow:0 6px 16px #0003}.expand-button-overlay:active{transform:scale(.95)}.expand-button-overlay svg{color:var(--timeline-gray-700, #2C2D2D)}.timeline-section.has-enhanced-header .section-header{display:none}.enhanced-section-header .time-of-day-header{margin:0;border-radius:0}@media(max-width:768px){.expand-button-overlay{width:36px;height:36px;top:12px;right:12px}.expand-button-overlay svg{width:18px;height:18px}.enhanced-section-header:hover{transform:none}}.expand-button-overlay:focus{outline:none;box-shadow:0 0 0 3px #5b5a6580}.expand-button-overlay:focus-visible{outline:2px solid var(--timeline-primary, #1f2020);outline-offset:2px}.timeline-section.expanded .expand-button-overlay svg{transform:rotate(180deg);transition:transform .3s ease}.timeline-section.collapsed .expand-button-overlay svg{transform:rotate(0);transition:transform .3s ease}.weather-strip{background:#fff;border:1px solid #E5E6E8;border-left:4px solid;border-radius:12px;padding:0;margin:16px 0;box-shadow:0 2px 8px #0000000f;transition:all .3s ease}.weather-strip:hover{box-shadow:0 4px 12px #0000001a}.weather-strip-header{padding:16px 20px;border-bottom:1px solid #E5E6E8}.weather-context{display:flex;justify-content:space-between;align-items:center;gap:16px}.weather-title{display:flex;align-items:center;gap:10px;font-weight:600;font-size:15px;color:#2c2d2d;flex:1}.weather-title svg{color:#5b5a65;flex-shrink:0}.weather-date{font-weight:400;color:#5b5a65;font-size:14px}.weather-indicators{display:flex;align-items:center;gap:8px}.weather-aware-toggle{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#f4f4f6;border:1px solid #5B5A65;border-radius:20px;color:#5b5a65;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.weather-aware-toggle:hover{background:#f4f4f6;transform:translateY(-1px)}.weather-aware-toggle svg{flex-shrink:0}.weather-expand-toggle{background:transparent;border:1px solid #E5E6E8;border-radius:6px;padding:6px;cursor:pointer;color:#5b5a65;display:flex;align-items:center;transition:all .2s ease}.weather-expand-toggle:hover{background:#f1f5f9;color:#2c2d2d}.weather-alert{margin:0;padding:14px 20px;border-left:4px solid;border-bottom:1px solid #E5E6E8;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.alert-content{flex:1}.alert-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.alert-title{font-weight:600;font-size:14px;color:#2c2d2d}.alert-actions{display:flex;flex-wrap:wrap;gap:8px}.alert-action-btn{padding:6px 14px;background:#fff;border:1px solid #E5E6E8;border-radius:6px;font-size:13px;font-weight:500;color:#2c2d2d;cursor:pointer;transition:all .2s ease;white-space:nowrap}.alert-action-btn:hover{background:#f4f4f6;border-color:#9c9b9e;transform:translateY(-1px)}.alert-close{background:transparent;border:none;padding:4px;cursor:pointer;color:#9c9b9e;border-radius:4px;transition:all .2s ease;flex-shrink:0}.alert-close:hover{background:#0000000d;color:#2c2d2d}.weather-summary-enhanced{padding:20px;border-bottom:1px solid #E5E6E8}.weather-stat-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-bottom:16px}.weather-stat{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#f8fafc;border-radius:8px;transition:all .2s ease}.weather-stat:hover{background:#f1f5f9}.weather-stat svg{color:#5b5a65;flex-shrink:0;margin-top:2px}.stat-content{display:flex;flex-direction:column;gap:2px;min-width:0}.stat-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#5b5a65}.stat-value{font-size:16px;font-weight:700;color:#2c2d2d}.stat-secondary{font-size:12px;color:#5b5a65;font-weight:500}.weather-condition-badge{display:inline-flex;padding:8px 16px;border-radius:20px;font-size:13px;font-weight:600;text-transform:capitalize}.weather-hourly-section{padding:20px;border-bottom:1px solid #E5E6E8}.hourly-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.hourly-title{font-weight:600;font-size:14px;color:#2c2d2d}.hourly-subtitle{font-size:12px;color:#9c9b9e;font-weight:500}.weather-hourly-scroll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#C7C8CD #f1f5f9;padding-bottom:8px}.hourly-group{margin-bottom:16px}.hourly-group:last-child{margin-bottom:0}.hourly-group-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#5b5a65;margin-bottom:10px}.hourly-chips{display:flex;gap:10px;flex-wrap:nowrap}.weather-chip{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 14px;background:#fff;border:1px solid #E5E6E8;border-radius:10px;min-width:70px;flex-shrink:0;transition:all .2s ease;cursor:default}.weather-chip:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000014;border-color:#c7c8cd}.weather-chip.highlight{background:#f4f4f6;border-color:#5b5a65;box-shadow:0 0 0 2px #5b5a651a}.weather-chip.rainy{background:#f4f4f6;border-color:#9c9b9e}.chip-time{font-size:12px;font-weight:600;color:#5b5a65}.chip-icon{color:#5b5a65;display:flex}.weather-chip.rainy .chip-icon{color:#5b5a65}.chip-temp{font-size:15px;font-weight:700;color:#2c2d2d}.chip-precip{font-size:11px;color:#5b5a65;font-weight:500;display:flex;align-items:center;gap:3px}.weather-chip.rainy .chip-precip{color:#5b5a65;font-weight:600}.group-count{font-size:11px;font-weight:400;color:#9c9b9e;margin-left:4px}.hourly-title{display:flex;align-items:center;gap:8px}.weather-hourly-scroll::-webkit-scrollbar{height:6px}.weather-hourly-scroll::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.weather-hourly-scroll::-webkit-scrollbar-thumb{background:#c7c8cd;border-radius:3px}.weather-hourly-scroll::-webkit-scrollbar-thumb:hover{background:#9c9b9e}.weather-chip.current{background:#f4f4f6;border-color:#5b5a65;box-shadow:0 0 0 3px #5b5a6526;font-weight:600}.weather-chip.next{background:#f8f9fa;border-color:#5b5a65;box-shadow:0 0 0 2px #5b5a651a}.weather-chip.upcoming{background:#fafafa;border-color:#d4d4d4}.weather-chip.favorable{border-left:3px solid #5B5A65}.weather-chip.moderate{background:#f4f4f6;border-color:#9c9b9e;border-left:3px solid #5B5A65}.weather-chip.moderate .chip-icon{color:#5b5a65}.chip-badge{position:absolute;top:-8px;left:50%;transform:translate(-50%);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:10px;white-space:nowrap;z-index:1}.current-badge{background:#5b5a65;color:#fff;box-shadow:0 2px 4px #5b5a654d;animation:pulse-badge 2s ease-in-out infinite}.next-badge{background:#5b5a65;color:#fff;box-shadow:0 2px 4px #5b5a654d}@keyframes pulse-badge{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.05)}}.weather-chip.rainy .chip-icon{animation:rain-icon 2s ease-in-out infinite}@keyframes rain-icon{0%,to{transform:translateY(0)}50%{transform:translateY(2px)}}.chip-temps{display:flex;flex-direction:column;align-items:center;gap:2px}.chip-feels{font-size:11px;font-weight:500;color:#5b5a65}.chip-feels:before{content:"("}.chip-feels:after{content:")"}.chip-wind{font-size:10px;color:#5b5a65;font-weight:500;display:flex;align-items:center;gap:2px;margin-top:2px}.weather-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:#f8fafc;border-bottom-left-radius:12px;border-bottom-right-radius:12px;font-size:12px}.weather-source{display:flex;align-items:center;gap:6px;color:#5b5a65;font-weight:500}.weather-source svg{flex-shrink:0}.weather-updated{color:#9c9b9e;font-weight:500}.weather-summary-compact{display:flex;align-items:center;gap:12px;padding:14px 20px;font-size:14px}.compact-temp{font-weight:600;color:#2c2d2d}.compact-divider{color:#c7c8cd}.compact-condition{color:#5b5a65;text-transform:capitalize}.compact-precip{font-weight:600}@media(max-width:768px){.weather-strip{margin:12px 0}.weather-strip-header{padding:14px 16px}.weather-context{flex-direction:column;align-items:flex-start;gap:12px}.weather-indicators{width:100%;justify-content:space-between}.weather-title{font-size:14px}.weather-date{display:block;margin-top:4px;font-size:13px}.weather-alert{padding:12px 16px}.alert-actions{flex-direction:column;width:100%}.alert-action-btn{width:100%;justify-content:center;padding:10px 14px;min-height:44px}.weather-summary-enhanced{padding:16px}.weather-stat-group{grid-template-columns:1fr;gap:12px}.weather-stat{padding:14px}.weather-hourly-section{padding:16px}.hourly-subtitle{display:block}.weather-chip{min-width:65px;padding:10px 12px}.weather-footer{flex-direction:column;gap:8px;align-items:flex-start;padding:10px 16px}.weather-summary-compact{padding:12px 16px;flex-wrap:wrap;font-size:13px}.weather-expand-toggle,.alert-close{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.weather-aware-toggle{min-height:44px;padding:8px 14px}}@media(max-width:480px){.weather-strip{border-radius:8px}.weather-title{flex-direction:column;align-items:flex-start;gap:6px}.hourly-group-label{font-size:11px}.weather-chip{min-width:60px;padding:8px 10px;gap:4px}.chip-time{font-size:11px}.chip-temp{font-size:14px}}@media(prefers-reduced-motion:reduce){.weather-strip,.weather-chip,.alert-action-btn,.weather-expand-toggle,.weather-aware-toggle{transition:none}}@media(prefers-contrast:high){.weather-strip,.weather-chip,.alert-action-btn{border:2px solid currentColor}}.weather-aware-toggle:focus-visible,.weather-expand-toggle:focus-visible,.alert-action-btn:focus-visible,.alert-close:focus-visible{outline:2px solid #5B5A65;outline-offset:2px}@media print{.weather-strip{break-inside:avoid;box-shadow:none;border:1px solid #000}.weather-expand-toggle,.alert-close,.alert-actions,.weather-summary-compact{display:none}}.weather-strip-compact{background:#fff;border:1px solid #E5E6E8;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000f;transition:all .3s ease}.weather-strip-compact:hover{box-shadow:0 4px 12px #0000001a}.weather-compact-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;cursor:pointer;transition:background .2s ease}.weather-compact-header:hover{background:#f9fafb}.weather-compact-info>svg{color:#5b5a65;flex-shrink:0}.weather-compact-details{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px}.weather-temp-range{font-weight:600;color:#2c2d2d}.weather-condition{color:#5b5a65}.weather-divider{color:#c7c8cd;font-weight:300}.weather-expand-btn{background:transparent;border:1px solid #E5E6E8;border-radius:6px;padding:6px;cursor:pointer;color:#5b5a65;display:flex;align-items:center;transition:all .2s ease}.weather-expand-btn:hover{background:#f1f5f9;color:#2c2d2d}.weather-alert-compact{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fef3c7;border-top:1px solid #FDE68A;color:#92400e;font-size:13px;font-weight:500}.weather-hourly-compact{padding:16px;border-top:1px solid #E5E6E8;background:#f9fafb}.hourly-compact-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#5b5a65;margin-bottom:12px}.hourly-compact-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 8px;background:#fff;border:1px solid #E5E6E8;border-radius:8px;transition:all .2s ease}.hourly-compact-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000014;border-color:#c7c8cd}.hourly-compact-item.now{background:#f4f4f6;border-color:#5b5a65;box-shadow:0 0 0 2px #5b5a651a}.hour-label{font-size:11px;font-weight:600;color:#5b5a65}.hourly-compact-item.now .hour-label{color:#2c2d2d}.hour-temp{font-size:15px;font-weight:700;color:#2c2d2d}.hour-precip{font-size:10px;color:#5b5a65;font-weight:500}.weather-no-hourly{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 16px;text-align:center}.weather-no-hourly svg{color:#9c9b9e}.weather-no-hourly span{font-size:13px;color:#5b5a65;line-height:1.5}.weather-metrics-compact{display:flex;gap:16px;flex-wrap:wrap;padding-top:12px;border-top:1px solid #E5E6E8}.weather-metrics-compact .metric{display:flex;align-items:center;gap:6px;font-size:13px;color:#5b5a65}.weather-metrics-compact .metric svg{color:#9c9b9e;flex-shrink:0}:root{--itinerary-primary: #1f2020;--itinerary-primary-light: #F4F4F6;--itinerary-primary-dark: #2C2D2D;--itinerary-success: var(--success-500, #22C55E);--itinerary-warning: var(--warning-500, #F59E0B);--itinerary-error: var(--error-500, #EF4444);--itinerary-info: var(--info-500, #5B5A65);--itinerary-gray-50: #F4F4F6;--itinerary-gray-100: #F4F4F6;--itinerary-gray-200: #E5E6E8;--itinerary-gray-300: #E5E6E8;--itinerary-gray-400: #9C9B9E;--itinerary-gray-500: #5B5A65;--itinerary-gray-600: #5B5A65;--itinerary-gray-700: #2C2D2D;--itinerary-gray-800: #2C2D2D;--itinerary-gray-900: #141516;--itinerary-space-1: .25rem;--itinerary-space-2: .5rem;--itinerary-space-3: .75rem;--itinerary-space-4: 1rem;--itinerary-space-5: 1.25rem;--itinerary-space-6: 1.5rem;--itinerary-space-8: 2rem;--itinerary-space-10: 2.5rem;--itinerary-font-xs: .75rem;--itinerary-font-sm: .875rem;--itinerary-font-base: 1rem;--itinerary-font-lg: 1.125rem;--itinerary-font-xl: 1.25rem;--itinerary-font-2xl: 1.5rem;--itinerary-radius-sm: .25rem;--itinerary-radius-md: .5rem;--itinerary-radius-lg: .75rem;--itinerary-radius-xl: 1rem;--itinerary-radius-full: 9999px;--itinerary-shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--itinerary-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--itinerary-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--itinerary-transition-fast: .15s ease;--itinerary-transition-normal: .25s ease;--itinerary-transition-slow: .35s ease;--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(.175, .885, .32, 1.275);--animation-fast: .15s;--animation-normal: .25s;--animation-slow: .35s}.itinerary-container{background-color:#fff;border-radius:var(--itinerary-radius-lg);box-shadow:var(--itinerary-shadow-md);border:1px solid var(--itinerary-gray-200);margin:var(--itinerary-space-6) 0;overflow:hidden;opacity:0;transform:translateY(10px);transition:opacity var(--itinerary-transition-normal),transform var(--itinerary-transition-normal);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;position:relative}.itinerary-container.animate-in{opacity:1;transform:translateY(0)}.itinerary-container:hover{box-shadow:var(--itinerary-shadow-lg)}.itinerary-header{padding:var(--itinerary-space-5) var(--itinerary-space-6);border-bottom:1px solid var(--itinerary-gray-200);display:flex;justify-content:space-between;align-items:center;background-color:var(--itinerary-gray-50);transition:background-color var(--itinerary-transition-normal)}.itinerary-container[data-view-mode=overview] .itinerary-header{background-color:#fff}.itinerary-title-area{display:flex;flex-direction:column}.itinerary-weather{display:flex;flex-direction:column;gap:8px;padding:12px 16px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow);margin:0 var(--itinerary-space-6) var(--itinerary-space-4)}.weather-summary{display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:var(--color-text-secondary)}.weather-hourly{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}.weather-chip{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:8px;background:var(--color-surface);color:var(--color-text-primary);display:grid;gap:4px;font-size:14px}.itinerary-meta{display:flex;flex-wrap:wrap;gap:var(--itinerary-space-4);margin-bottom:var(--itinerary-space-1)}.meta-item{display:flex;align-items:center;gap:var(--itinerary-space-2);font-size:var(--itinerary-font-sm);color:var(--itinerary-gray-600)}.enhancement-badge{display:inline-flex;align-items:center;background-color:var(--itinerary-primary-light);color:var(--itinerary-primary);font-size:var(--itinerary-font-xs);font-weight:500;padding:.25rem .5rem;border-radius:var(--itinerary-radius-full);margin-top:var(--itinerary-space-2);transition:all var(--itinerary-transition-normal)}.enhancement-badge:hover{background-color:#e5e6e8cc;transform:translateY(-1px)}.enhancement-icon{margin-right:var(--itinerary-space-1)}.itinerary-actions{display:flex;align-items:center;gap:var(--itinerary-space-3)}.view-mode-toggle{display:flex;align-items:center;gap:var(--itinerary-space-1);background-color:var(--itinerary-gray-100);border-radius:var(--itinerary-radius-full);padding:var(--itinerary-space-1);position:relative;z-index:1;transition:background-color var(--itinerary-transition-fast)}.view-mode-toggle:hover{background-color:var(--itinerary-gray-200)}.view-option{display:flex;align-items:center;gap:var(--itinerary-space-2);padding:var(--itinerary-space-2) var(--itinerary-space-3);border-radius:var(--itinerary-radius-md);background:none;border:none;font-size:var(--itinerary-font-sm);color:var(--itinerary-gray-600);cursor:pointer;transition:all var(--itinerary-transition-fast);position:relative;z-index:2}.view-option:hover{color:var(--itinerary-gray-900)}.view-option.active{background-color:#fff;color:var(--itinerary-gray-900);box-shadow:var(--itinerary-shadow-sm)}.view-option svg{transition:transform var(--itinerary-transition-normal) var(--ease-bounce)}.view-option:hover svg{transform:scale(1.1)}.view-option.active svg{color:var(--itinerary-primary)}.regenerate-button{display:flex;align-items:center;gap:var(--itinerary-space-2);padding:var(--itinerary-space-2) var(--itinerary-space-4);border-radius:var(--itinerary-radius-md);font-size:var(--itinerary-font-sm);font-weight:500;background-color:var(--itinerary-gray-100);border:1px solid var(--itinerary-gray-200);color:var(--itinerary-gray-700);cursor:pointer;transition:background-color var(--itinerary-transition-fast),transform var(--itinerary-transition-fast),box-shadow var(--itinerary-transition-fast);position:relative;overflow:hidden}.regenerate-button:hover:not(.regenerating){background-color:var(--itinerary-gray-200);transform:translateY(-1px);box-shadow:var(--itinerary-shadow-sm)}.regenerate-button:active:not(.regenerating){transform:translateY(0)}.regenerate-button.enhanced{background-color:#f8f9fa;border-color:#f4f4f6;color:#5b5a65}.regenerate-button.enhanced:hover:not(.regenerating){background-color:#f4f4f6}.regenerate-button.regenerating{opacity:.7;cursor:not-allowed}.regenerate-button:after{content:"";position:absolute;top:50%;left:50%;width:5px;height:5px;background-color:#ffffff80;opacity:0;border-radius:100%;transform:scale(1) translate(-50%,-50%);transform-origin:50% 50%}.regenerate-button:focus:not(:active):after{animation:ripple .6s ease-out}@keyframes ripple{0%{transform:scale(0) translate(-50%,-50%);opacity:.5}to{transform:scale(20) translate(-50%,-50%);opacity:0}}.refresh-icon{color:currentColor}.refresh-icon.spin{animation:spin 1.5s linear infinite}.ai-enhancement-progress{background-color:#f8fafc;border-radius:var(--itinerary-radius-md);padding:var(--itinerary-space-4);margin:0 var(--itinerary-space-6) var(--itinerary-space-4);border:1px solid #F4F4F6;animation:fadeIn var(--itinerary-transition-normal)}.progress-steps{display:flex;justify-content:space-between}.progress-step{flex:1;display:flex;flex-direction:column;align-items:center;position:relative;opacity:.5;transition:opacity var(--itinerary-transition-normal)}.progress-step:not(:last-child):after{content:"";position:absolute;top:8px;right:calc(-50% + 10px);width:calc(100% - 20px);height:2px;background-color:var(--itinerary-gray-300);z-index:0;transition:background-color var(--itinerary-transition-normal)}.progress-step.active:not(:last-child):after{background-color:var(--itinerary-primary)}.progress-step.active{opacity:1}.progress-step.current .step-indicator{animation:pulse 1.5s infinite}.step-indicator{width:16px;height:16px;border-radius:50%;background-color:var(--itinerary-gray-300);margin-bottom:var(--itinerary-space-2);z-index:1;transition:background-color var(--itinerary-transition-normal)}.progress-step.active .step-indicator{background-color:var(--itinerary-primary)}.step-label{font-size:var(--itinerary-font-xs);text-align:center;color:var(--itinerary-gray-600);max-width:100px;transition:color var(--itinerary-transition-normal)}.progress-step.active .step-label{color:var(--itinerary-gray-800);font-weight:500}@keyframes pulse{0%{box-shadow:0 0 #5b5a6580}70%{box-shadow:0 0 0 6px #5b5a6500}to{box-shadow:0 0 #5b5a6500}}.itinerary-content{position:relative;min-height:300px;transition:opacity var(--itinerary-transition-normal)}.itinerary-container[data-view-mode=overview] .detailed-view-content,.itinerary-container[data-view-mode=detailed] .overview-view-content{display:none}.itinerary-container[data-view-mode=overview] .overview-view-content,.itinerary-container[data-view-mode=detailed] .detailed-view-content{animation:contentFadeIn var(--itinerary-transition-normal)}@keyframes contentFadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.itinerary-content.loading{opacity:.6}.itinerary-content.loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border:3px solid var(--itinerary-gray-200);border-top-color:var(--itinerary-primary);animation:spin 1s linear infinite;z-index:5}.feedback-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:50;animation:fadeIn var(--itinerary-transition-fast);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.feedback-modal{background-color:#fff;border-radius:var(--itinerary-radius-lg);width:90%;max-width:500px;padding:var(--itinerary-space-6);box-shadow:var(--itinerary-shadow-lg);position:relative;animation:modalFadeIn var(--itinerary-transition-normal)}.close-modal{position:absolute;top:var(--itinerary-space-4);right:var(--itinerary-space-4);background:none;border:none;font-size:1.5rem;color:var(--itinerary-gray-500);cursor:pointer;transition:color var(--itinerary-transition-fast);line-height:1;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%}.close-modal:hover{color:var(--itinerary-gray-700);background-color:var(--itinerary-gray-100)}.feedback-modal h3{margin-top:0;margin-bottom:var(--itinerary-space-6);font-size:var(--itinerary-font-xl);color:var(--itinerary-gray-900);font-weight:600}.rating-selector{margin-bottom:var(--itinerary-space-4)}.rating-selector span{font-size:var(--itinerary-font-sm);color:var(--itinerary-gray-700);font-weight:500}.stars{display:flex;margin-top:var(--itinerary-space-2)}.star{background:none;border:none;font-size:1.5rem;color:var(--itinerary-gray-300);cursor:pointer;padding:0;margin-right:var(--itinerary-space-1);transition:color var(--itinerary-transition-fast),transform var(--itinerary-transition-fast)}.star:hover{transform:scale(1.1)}.star.active{color:#5b5a65}.feedback-input{width:100%;padding:var(--itinerary-space-3);border:1px solid var(--itinerary-gray-300);border-radius:var(--itinerary-radius-md);resize:vertical;min-height:100px;margin-bottom:var(--itinerary-space-4);font-size:var(--itinerary-font-sm);transition:border-color var(--itinerary-transition-fast),box-shadow var(--itinerary-transition-fast)}.feedback-input:focus{outline:none;border-color:var(--itinerary-primary);box-shadow:0 0 0 2px #5b5a6533}.feedback-actions{display:flex;justify-content:flex-end;gap:var(--itinerary-space-3)}.cancel-feedback{padding:var(--itinerary-space-2) var(--itinerary-space-4);background-color:var(--itinerary-gray-100);border:1px solid var(--itinerary-gray-200);border-radius:var(--itinerary-radius-md);color:var(--itinerary-gray-700);cursor:pointer;font-size:var(--itinerary-font-sm);font-weight:500;transition:all var(--itinerary-transition-fast)}.cancel-feedback:hover{background-color:var(--itinerary-gray-200);transform:translateY(-1px)}.submit-feedback{padding:var(--itinerary-space-2) var(--itinerary-space-4);background-color:var(--itinerary-primary);border:none;border-radius:var(--itinerary-radius-md);color:#fff;cursor:pointer;font-size:var(--itinerary-font-sm);font-weight:500;transition:all var(--itinerary-transition-fast)}.submit-feedback:hover:not(:disabled){background-color:var(--itinerary-primary-dark);transform:translateY(-1px)}.submit-feedback:disabled{opacity:.5;cursor:not-allowed}@media print{.itinerary-container{box-shadow:none!important;margin:0!important;break-inside:avoid}.itinerary-header{break-inside:avoid}.itinerary-actions,.view-mode-toggle,.regenerate-button,.toggle-details-button{display:none!important}.timeline-stop-content{break-inside:avoid;page-break-inside:avoid;box-shadow:none!important}.journey-content{break-inside:avoid-page}.stop-secondary-content{display:block!important}.timeline-section.collapsed .section-content{max-height:none!important;opacity:1!important;transform:none!important}.itinerary-container *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}.view-option:focus,.regenerate-button:focus,.action-button:focus,.toggle-details-button:focus,.star:focus,.feedback-input:focus,.cancel-feedback:focus,.submit-feedback:focus{outline:2px solid var(--itinerary-primary);outline-offset:2px}.view-option:focus:not(:focus-visible),.regenerate-button:focus:not(:focus-visible),.action-button:focus:not(:focus-visible),.toggle-details-button:focus:not(:focus-visible),.star:focus:not(:focus-visible),.feedback-input:focus:not(:focus-visible),.cancel-feedback:focus:not(:focus-visible),.submit-feedback:focus:not(:focus-visible){outline:none}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media(max-width:768px){.itinerary-header{flex-direction:column;align-items:flex-start;gap:var(--itinerary-space-4)}.itinerary-actions{margin-top:var(--itinerary-space-2);width:100%;justify-content:space-between}.progress-steps{overflow-x:auto;padding-bottom:var(--itinerary-space-2);scrollbar-width:thin;-ms-overflow-style:none}.progress-steps::-webkit-scrollbar{height:4px}.progress-steps::-webkit-scrollbar-track{background:var(--itinerary-gray-100)}.progress-steps::-webkit-scrollbar-thumb{background-color:var(--itinerary-gray-400);border-radius:var(--itinerary-radius-full)}.progress-step{min-width:100px}.view-mode-toggle{flex-grow:1;margin-right:var(--itinerary-space-3)}}@media(max-width:480px){.generated-itinerary,.itinerary-container{max-width:100vw;overflow-x:hidden}.itinerary-header,.ai-enhancement-progress{padding:var(--itinerary-space-3);margin:0 0 var(--itinerary-space-4);max-width:100%}.itinerary-meta{flex-direction:column;gap:var(--itinerary-space-2)}.itinerary-title{font-size:var(--itinerary-font-xl);word-break:break-word}.itinerary-actions{flex-direction:row;width:100%;gap:var(--itinerary-space-2)}.regenerate-button,.view-mode-toggle{width:100%}.view-option{flex:1;justify-content:center;padding:var(--itinerary-space-2) var(--itinerary-space-1);min-height:44px}.view-option span{display:none}.itinerary-section{max-width:100%;padding:var(--itinerary-space-3);margin-bottom:var(--itinerary-space-4)}.section-header{padding:var(--itinerary-space-3)}.section-title{font-size:var(--itinerary-font-lg)}.section-content{max-width:100%}.location-card,.itinerary-item{max-width:100%;padding:var(--itinerary-space-3)}.location-name,.item-title{word-break:break-word;font-size:var(--itinerary-font-base)}.location-details,.item-description{font-size:var(--itinerary-font-sm)}.feedback-modal{padding:var(--itinerary-space-4);width:95%;max-width:100%}.feedback-actions{flex-direction:column;gap:var(--itinerary-space-2)}.cancel-feedback,.submit-feedback{width:100%;min-height:48px}}@media(prefers-reduced-motion:reduce){.itinerary-container,.itinerary-container *,.feedback-modal,.feedback-modal *{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.progress-step.current .step-indicator,.regenerate-button:focus:not(:active):after,.timeline-stop.important .timeline-stop-dot,.timeline-stop.error .timeline-stop-dot{animation:none!important}}@media(prefers-contrast:more){.itinerary-container{border:2px solid black}.view-option.active{background-color:var(--itinerary-primary);color:#fff}.star.active{color:#000}.section-header,.timeline-stop-content{border:1px solid black}}.weather-strip-compact{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;margin-bottom:16px;box-shadow:0 1px 3px #0000000d}.weather-compact-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;transition:background-color .2s}.weather-compact-header:hover{background-color:#f9fafb}.weather-compact-info{display:flex;align-items:center;gap:12px;flex:1}.weather-compact-info svg{color:#6b7280;flex-shrink:0}.weather-compact-details{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px;color:#374151}.weather-temp-range{font-weight:600;color:#111827}.weather-condition{color:#6b7280;text-transform:capitalize}.weather-divider{color:#d1d5db}.weather-precip{display:flex;align-items:center;gap:4px;font-weight:500}.weather-expand-btn{background:none;border:none;padding:4px;cursor:pointer;color:#6b7280;transition:color .2s;display:flex;align-items:center}.weather-expand-btn:hover{color:#111827}.weather-alert-compact{display:flex;align-items:center;gap:8px;padding:8px 16px;background-color:#fef3c7;border-top:1px solid #fde68a;font-size:13px;color:#92400e}.weather-alert-compact svg{flex-shrink:0}.weather-hourly-compact{padding:16px;background-color:#f9fafb;border-top:1px solid #e5e7eb}.hourly-compact-title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#6b7280;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.hourly-compact-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:8px;margin-bottom:12px}.hourly-compact-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:12px;transition:all .2s}.hourly-compact-item:hover{border-color:#3b82f6;box-shadow:0 2px 4px #3b82f61a}.hourly-compact-item.now{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#2563eb;color:#fff}.hour-label{font-weight:600;font-size:11px;color:#6b7280}.hourly-compact-item.now .hour-label{color:#fff}.hourly-compact-item svg{color:#6b7280}.hourly-compact-item.now svg{color:#fff}.hour-temp{font-weight:600;font-size:14px;color:#111827}.hourly-compact-item.now .hour-temp{color:#fff}.hour-precip{font-size:11px;color:#3b82f6;font-weight:500}.hourly-compact-item.now .hour-precip{color:#dbeafe}.weather-metrics-compact{display:flex;gap:16px;padding-top:12px;border-top:1px solid #e5e7eb;flex-wrap:wrap}.weather-metrics-compact .metric{display:flex;align-items:center;gap:6px;font-size:13px;color:#6b7280}.weather-metrics-compact .metric svg{color:#9ca3af}.weather-metrics-compact .metric span{font-weight:500}@media(max-width:640px){.weather-compact-details{font-size:13px}.hourly-compact-grid{grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:6px}.hourly-compact-item{padding:6px 2px}.weather-metrics-compact{gap:12px}}.continue-planning-card{background:#f4f4f6;border-radius:var(--radius-2xl, 1.5rem);padding:var(--spacing-6, 1.5rem);border:2px solid rgba(91,90,101,.2);box-shadow:0 4px 16px #5b5a651a;position:relative;overflow:hidden}.continue-planning-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:#5b5a65}.continue-header{margin-bottom:var(--spacing-6, 1.5rem)}.continue-title-section{display:flex;align-items:center;gap:var(--spacing-3, .75rem)}.continue-icon{color:#5b5a65;animation:pulse 2s ease-in-out infinite}.continue-title{font-size:1.25rem;font-weight:700;margin:0;color:var(--color-text-primary, #141516);font-family:var(--font-display, "Poppins", sans-serif)}.continue-subtitle{font-size:.875rem;color:var(--color-text-secondary, #5B5A65);margin:.25rem 0 0}.incomplete-planners-list{display:flex;flex-direction:column;gap:var(--spacing-3, .75rem);margin-bottom:var(--spacing-4, 1rem)}.incomplete-planner-item{background:#fff;border-radius:var(--radius-xl, 1rem);padding:var(--spacing-4, 1rem);border:1px solid rgba(91,90,101,.15);cursor:pointer;transition:all var(--transition-base, .2s);box-shadow:0 1px 3px #0000000d}.incomplete-planner-item:hover{transform:translate(4px);box-shadow:0 4px 12px #5b5a6526;border-color:#5b5a654d;background:#f4f4f6}.planner-item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-4, 1rem);margin-bottom:var(--spacing-3, .75rem)}.planner-item-info{flex:1;min-width:0}.planner-item-name{font-size:1rem;font-weight:600;margin:0 0 var(--spacing-2, .5rem) 0;color:var(--color-text-primary, #141516);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-item-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-3, .75rem);align-items:center}.meta-item{display:flex;align-items:center;gap:.25rem;font-size:.8125rem;color:var(--color-text-secondary, #5B5A65)}.meta-item svg{flex-shrink:0}.planner-mini-progress{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;flex-shrink:0}.mini-progress-bar{width:60px;height:6px;background:#5b5a6526;border-radius:var(--radius-full, 9999px);overflow:hidden}.mini-progress-fill{height:100%;background:#5b5a65;border-radius:var(--radius-full, 9999px);transition:width .6s cubic-bezier(.4,0,.2,1)}.mini-progress-text{font-size:.75rem;font-weight:600;color:#5b5a65;font-family:var(--font-display, "Poppins", sans-serif)}.planner-item-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-3, .75rem);padding-top:var(--spacing-3, .75rem);border-top:1px solid rgba(91,90,101,.1)}.missing-steps{display:flex;align-items:center;gap:.375rem;flex:1;min-width:0}.missing-label{font-size:.75rem;font-weight:600;color:var(--color-text-secondary, #5B5A65);text-transform:uppercase;letter-spacing:.025em;flex-shrink:0}.missing-action{font-size:.875rem;font-weight:500;color:#5b5a65;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.continue-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:#5b5a651f;border:1px solid rgba(91,90,101,.3);border-radius:var(--radius-md, .5rem);font-size:.875rem;font-weight:600;color:#5b5a65;cursor:pointer;transition:all var(--transition-base, .2s);flex-shrink:0}.planner-cta-buttons{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.generate-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .9rem;background:#2c2d2d;border:1px solid #2C2D2D;border-radius:var(--radius-md, .5rem);font-size:.8125rem;font-weight:600;color:#fff;cursor:pointer;transition:all var(--transition-base, .2s)}.generate-btn:hover:not(:disabled){background:#1d1f1f;border-color:#1d1f1f}.generate-btn:disabled,.continue-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.continue-spinner{animation:spin 1s linear infinite}.continue-btn:hover{background:#5b5a65;color:#fff;transform:translate(2px);box-shadow:0 4px 12px #5b5a654d}.continue-btn svg{transition:transform var(--transition-base, .2s)}.continue-btn:hover svg{transform:translate(2px)}.planning-encouragement{display:flex;align-items:center;gap:var(--spacing-2, .5rem);padding:var(--spacing-3, .75rem) var(--spacing-4, 1rem);background:#f4f4f6;border-radius:var(--radius-lg, .75rem);border-left:3px solid #5B5A65;font-size:.875rem;color:var(--color-text-primary, #141516)}.planning-encouragement svg{color:#5b5a65;flex-shrink:0;animation:sparkle 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes sparkle{0%,to{transform:scale(1) rotate(0)}25%{transform:scale(1.1) rotate(5deg)}50%{transform:scale(1) rotate(0)}75%{transform:scale(1.1) rotate(-5deg)}}@media(max-width:768px){.continue-planning-card{padding:var(--spacing-5, 1.25rem)}.planner-item-header{flex-direction:column;align-items:flex-start}.planner-mini-progress{align-self:flex-end}.planner-item-actions{flex-direction:column;align-items:stretch}.missing-steps{justify-content:space-between}.continue-btn{justify-content:center;width:100%}}.upgrade-prompt{background:#f4f4f6;border:2px solid #5B5A65;border-radius:12px;padding:40px;text-align:center;max-width:500px;margin:20px auto;box-shadow:0 4px 20px #0000001a}.upgrade-icon{font-size:64px;margin-bottom:20px;opacity:.8}.upgrade-prompt h3{font-size:28px;font-weight:700;margin-bottom:15px;color:#1a1a1a}.upgrade-description{font-size:16px;color:#333;margin-bottom:15px;line-height:1.5}.upgrade-benefits{font-size:14px;color:#666;margin-bottom:25px;line-height:1.6}.upgrade-button{background:#5b5a65;color:#fff;border:none;padding:14px 32px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;text-transform:uppercase;letter-spacing:.5px}.upgrade-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #5b5a6559}.upgrade-prompt-inline{display:flex;align-items:center;gap:15px;background:#f4f4f6;border:1px solid #C7C8CD;border-radius:8px;padding:12px 16px;margin:10px 0}.upgrade-icon-inline{font-size:24px;flex-shrink:0}.upgrade-content-inline{flex-grow:1}.upgrade-content-inline strong{display:block;font-size:14px;font-weight:600;color:#5b5a65;margin-bottom:2px}.upgrade-content-inline p{font-size:13px;color:#5b5a65;margin:0}.upgrade-button-inline{background:#c7c8cd;color:#5b5a65;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;flex-shrink:0}.upgrade-button-inline:hover{background:#c7c8cd;transform:translateY(-1px)}@media(max-width:768px){.upgrade-prompt{padding:30px 20px}.upgrade-icon{font-size:48px}.upgrade-prompt h3{font-size:24px}.upgrade-prompt-inline{flex-direction:column;text-align:center}.upgrade-button-inline{width:100%}}.planner-page-container{--primary-50: #F4F4F6;--primary-100: #F4F4F6;--primary-200: #F4F4F6;--primary-300: #C7C8CD;--primary-400: #9C9B9E;--primary-500: #5B5A65;--primary-600: #2C2D2D;--primary-700: #2C2D2D;--primary-800: #5B5A65;--primary-900: #2C2D2D;--color-primary: var(--primary-500);--color-primary-hover: var(--primary-600);--color-primary-active: var(--primary-700);background:var(--color-surface)}.planner-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin:0;line-height:var(--line-height-tight);color:var(--color-primary)}.planner-select{flex:1;padding:var(--spacing-2) var(--spacing-6) var(--spacing-2) var(--spacing-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-text-primary);font-size:var(--font-size-sm);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:1.25rem}.new-planner-btn{display:flex;align-items:center;justify-content:center;width:var(--spacing-8);height:var(--spacing-8);border-radius:var(--radius-md);background-color:var(--color-primary);color:var(--color-text-inverse);border:none;margin-left:var(--spacing-3);cursor:pointer;transition:background-color var(--transition-base)}.new-planner-btn:hover{background-color:var(--color-primary-hover)}.modal-close-btn{display:flex;align-items:center;justify-content:center;width:var(--spacing-8);height:var(--spacing-8);border-radius:var(--radius-full);background-color:transparent;color:var(--color-text-tertiary);border:none;cursor:pointer;transition:all var(--transition-base)}.modal-close-btn:hover{background-color:var(--gray-100);color:var(--color-text-primary)}.cancel-btn{padding:var(--spacing-3) var(--spacing-5);background-color:var(--gray-100);color:var(--color-text-secondary);border-radius:var(--radius-md);font-weight:var(--font-weight-medium);border:none;cursor:pointer;transition:all var(--transition-base)}.cancel-btn:hover{background-color:var(--gray-200);color:var(--color-text-primary)}.submit-btn{padding:var(--spacing-3) var(--spacing-5);background-color:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-md);font-weight:var(--font-weight-medium);border:none;cursor:pointer;transition:all var(--transition-base)}.submit-btn:hover:not(:disabled){background-color:var(--color-primary-hover)}.submit-btn:disabled{opacity:.7;cursor:default}.export-option{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-5) var(--spacing-4);border-radius:var(--radius-lg);border:2px solid var(--color-border);cursor:pointer;transition:all var(--transition-base)}.export-option:hover{border-color:var(--primary-200);background-color:var(--primary-50)}.export-option.selected{border-color:var(--color-primary);background-color:var(--primary-100)}.export-icon{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-3);color:var(--color-text-secondary)}.export-option:hover .export-icon,.export-option.selected .export-icon{color:var(--color-primary)}.export-label{font-weight:var(--font-weight-medium);text-align:center}.export-description{color:var(--color-text-secondary);font-size:var(--font-size-sm);text-align:center;margin-top:var(--spacing-1)}.export-preview{background-color:var(--color-surface);margin:0 var(--spacing-6) var(--spacing-6);padding:var(--spacing-4);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.export-preview h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-top:0;margin-bottom:var(--spacing-3);color:var(--color-text-primary)}.share-modal{max-width:550px}.share-content{padding:var(--spacing-6)}.share-description{margin-bottom:var(--spacing-4);color:var(--color-text-secondary)}.share-link-container{display:flex;margin-bottom:var(--spacing-6);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.share-link-input{flex:1;padding:var(--spacing-3) var(--spacing-4);border:none;background:transparent;font-size:var(--font-size-sm);color:var(--color-text-primary)}.share-link-input:focus{outline:none}.copy-link-btn{display:flex;align-items:center;justify-content:center;padding:0 var(--spacing-4);background:transparent;border:none;border-left:1px solid var(--color-border);color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-base)}.copy-link-btn:hover{background-color:var(--gray-100);color:var(--color-text-primary)}.icon-success{color:var(--success-500)}.share-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-4);margin-bottom:var(--spacing-5)}.share-option-btn,a.share-option-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-4) var(--spacing-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base);text-decoration:none;font-size:var(--font-size-sm)}.share-option-btn:hover{background-color:var(--gray-100);color:var(--color-text-primary);transform:translateY(-2px)}.share-option-btn svg{margin-bottom:var(--spacing-2);width:24px;height:24px;color:var(--color-text-secondary)}.email-share-form{background-color:var(--color-surface);padding:var(--spacing-4);border-radius:var(--radius-lg);margin-bottom:var(--spacing-5);border:1px solid var(--color-border)}.share-note{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.share-info{display:flex;align-items:center;gap:var(--spacing-2);color:var(--color-text-secondary)}.info-icon{color:var(--color-text-tertiary)}.add-locations-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2)}.shared-banner{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-xl);padding:var(--spacing-5) var(--spacing-6);margin-bottom:var(--spacing-6);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-4);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.shared-info{display:flex;align-items:center;gap:var(--spacing-3);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.copy-link-button{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);background-color:var(--color-surface);color:var(--color-primary);border:1px solid var(--primary-200);border-radius:var(--radius-md);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base)}.copy-link-button:hover{background-color:var(--primary-50)}.save-button{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);background-color:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-md);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);border:none;cursor:pointer;transition:all var(--transition-base)}.save-button:hover:not(:disabled){background-color:var(--color-primary-hover)}.save-button:disabled{opacity:.7;cursor:not-allowed}.check-icon{color:var(--success-500)}.shared-by{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--spacing-2)}.back-to-planners{margin-top:var(--spacing-6)}.back-link{display:inline-flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-5);background-color:var(--gray-100);color:var(--color-text-secondary);border-radius:var(--radius-md);font-weight:var(--font-weight-medium);text-decoration:none;transition:all var(--transition-base)}.back-link:hover{background-color:var(--gray-200);color:var(--color-text-primary)}.journey-header{flex-direction:column;align-items:flex-start;gap:1rem}.journey-controls{width:100%;justify-content:space-between}.location-schedule{margin-left:4rem;margin-top:.5rem;align-items:flex-start}.remove-button{position:absolute;top:1rem;right:1rem}.itinerary-section{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-2xl);overflow:hidden;box-shadow:var(--glass-shadow);border:1px solid var(--glass-border);margin-bottom:var(--spacing-5);transition:all var(--transition-slow)}.itinerary-section.expanded-view{max-width:100%}.itinerary-title-area{display:flex;align-items:center;gap:var(--spacing-3)}.view-toggle-button{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:var(--radius-md);background-color:var(--gray-100);color:var(--color-text-secondary);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-base)}.view-toggle-button:hover{background-color:var(--gray-200);color:var(--color-text-primary)}.regenerate-button{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);background-color:var(--gray-100);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base)}.regenerate-button:hover:not(:disabled){background-color:var(--gray-200);color:var(--color-text-primary)}.regenerate-button:disabled{opacity:.7;cursor:default}.refresh-icon{transition:transform .3s ease}.regenerate-button:hover .refresh-icon:not(.spin){transform:rotate(-45deg)}.spin{animation:spin 1s linear infinite}.itinerary-placeholder{background-color:var(--color-surface);border-radius:var(--radius-2xl);padding:var(--spacing-8) var(--spacing-6);text-align:center;color:var(--color-text-secondary);border:1px dashed var(--color-border);margin-bottom:var(--spacing-5)}.optimized-badge{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--success-700);background-color:var(--success-50);padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full)}.itinerary-header{flex-direction:column;align-items:flex-start;gap:1rem}.itinerary-controls{width:100%;justify-content:space-between}.planner-page-container{max-width:1600px;margin:0 auto;padding:var(--spacing-6);display:flex;flex-direction:column;gap:var(--spacing-6)}.planner-header-section{display:flex;flex-direction:column;gap:var(--spacing-3);margin-bottom:var(--spacing-6);padding:var(--spacing-6);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;z-index:10}@media(min-width:768px){.planner-header-section{flex-direction:row;justify-content:space-between;align-items:flex-start}}.planner-title-area{flex:1}.planner-selector{position:relative;display:inline-block;margin-bottom:var(--spacing-3);border-radius:var(--radius-lg);min-width:260px}.current-planner{display:flex;align-items:center;cursor:pointer;margin-right:var(--spacing-4);padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-lg);transition:background-color var(--transition-base),box-shadow var(--transition-base);gap:var(--spacing-2);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.current-planner:hover{background-color:var(--primary-50);border-color:var(--color-border-hover);box-shadow:var(--shadow-md)}.current-planner h4{margin:0;font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:var(--line-height-tight)}.planner-dropdown{position:absolute;top:100%;left:0;min-width:290px;max-width:min(440px,98vw);max-height:380px;overflow-y:auto;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow);z-index:20;margin-top:var(--spacing-2);border:1px solid var(--glass-border);padding:var(--spacing-2);animation:fadeIn .2s ease-out;overscroll-behavior:contain;right:0}.planner-dropdown::-webkit-scrollbar{width:8px}.planner-dropdown::-webkit-scrollbar-thumb{background:var(--primary-200);border-radius:var(--radius-full)}.planner-dropdown::-webkit-scrollbar-track{background:transparent}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.planner-option{cursor:pointer;transition:all var(--transition-base);display:flex;flex-direction:column;border-left:3px solid transparent;padding:var(--spacing-3) var(--spacing-4);gap:var(--spacing-1);border-radius:var(--radius-lg);background:var(--color-surface)}.planner-option:hover{background-color:var(--primary-50);border-left-color:var(--primary-300);box-shadow:var(--shadow-sm)}.planner-option.active{background-color:var(--primary-100);border-left-color:var(--color-primary);box-shadow:var(--shadow-sm)}.planner-option-name{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-1);line-height:var(--line-height-tight)}.planner-option-date{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.planner-date-display{display:flex;align-items:center;margin-top:var(--spacing-1);margin-right:var(--spacing-2);color:var(--color-text-secondary);font-size:var(--font-size-sm);gap:var(--spacing-2)}.planner-date-display.dateFormat{margin-top:0;margin-left:var(--spacing-2)}.planner-city{display:inline-flex;align-items:center;margin-left:var(--spacing-3);background-color:var(--primary-50);color:var(--color-primary);padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--spacing-1)}.planner-action-buttons{display:flex;flex-wrap:wrap;gap:var(--spacing-3);align-items:center}.action-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);white-space:nowrap}.empty-locations-card{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-2xl);padding:var(--spacing-8);text-align:center;box-shadow:var(--glass-shadow);margin-bottom:var(--spacing-5);border:1px solid var(--glass-border)}.empty-locations-icon{width:90px;height:90px;background-color:var(--primary-50);color:var(--color-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto var(--spacing-4)}.empty-locations-card h3{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-2)}.empty-locations-card p{color:var(--color-text-secondary);margin-bottom:var(--spacing-5);max-width:420px;margin-left:auto;margin-right:auto}.empty-planner-actions{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-3)}@media(min-width:540px){.empty-planner-actions{flex-direction:row;justify-content:center}}.locations-list-container{margin-bottom:var(--spacing-5);background:var(--glass-bg-subtle);backdrop-filter:var(--glass-blur-subtle);-webkit-backdrop-filter:var(--glass-blur-subtle);border-radius:var(--radius-2xl);padding:var(--spacing-5);box-shadow:var(--shadow-md);border:1px solid var(--glass-border)}.locations-list-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-3);border-bottom:1px solid var(--color-border)}.locations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-4)}.location-card{display:flex;align-items:center;padding:var(--spacing-4);text-wrap:auto;border-radius:var(--radius-xl);background:var(--glass-bg);backdrop-filter:var(--glass-blur-subtle);-webkit-backdrop-filter:var(--glass-blur-subtle);transition:all var(--transition-base);position:relative;border:1px solid var(--glass-border);box-shadow:var(--shadow-sm)}.location-card:hover{background-color:var(--primary-50);box-shadow:var(--shadow-md);transform:translateY(-2px)}.location-icon{width:22px;height:22px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-right:.875rem;flex-shrink:0}.location-content{flex:1;min-width:0}.location-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.location-meta{display:flex;flex-direction:column;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.location-category{font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.location-address{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.location-price{font-size:var(--font-size-sm);color:var(--accent-600);margin-top:var(--spacing-1)}.remove-location-button{position:absolute;top:.5rem;right:.5rem;width:24px;height:24px;border-radius:50%;background-color:var(--error-50);color:var(--error-600);display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;opacity:0;transition:all var(--transition-base)}.location-card:hover .remove-location-button{opacity:1}.remove-location-button:hover{background-color:var(--error-100);transform:scale(1.1)}.generate-itinerary-card{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-2xl);padding:var(--spacing-6);text-align:center;box-shadow:var(--glass-shadow);margin-bottom:var(--spacing-5);display:flex;flex-direction:column;align-items:center;border:1px solid var(--glass-border);background-image:none}.generate-helper-text{color:var(--color-text-secondary);margin-bottom:var(--spacing-4);max-width:520px}.action-buttons{display:flex;gap:var(--spacing-3);justify-content:center}.add-more-locations-btn{background:none;border:none}.planner-with-itinerary{position:relative}.itinerary-refresh-alert{margin-bottom:var(--spacing-4)}.itinerary-refresh-content{display:flex;align-items:center;gap:var(--spacing-3);flex-wrap:wrap}.back-to-locations{margin-bottom:var(--spacing-6);display:flex;justify-content:flex-start}.view-all-locations-btn{background-color:var(--primary-50);color:var(--color-primary);padding:var(--spacing-2) var(--spacing-4);border:1px solid var(--primary-200);border-radius:var(--radius-md);font-weight:var(--font-weight-medium);display:inline-flex;align-items:center;cursor:pointer;transition:all var(--transition-base)}.view-all-locations-btn:hover{background-color:var(--primary-100);border-color:var(--primary-200)}.planner-split-view{min-height:560px;height:clamp(560px,calc(100vh - 240px),920px);margin-bottom:var(--spacing-5)}.planner-split-view .split-pane-primary,.planner-split-view .split-pane-secondary{overflow:hidden;display:flex;flex-direction:column;min-height:0}.map-pane{display:flex;flex-direction:column;height:100%;background:var(--glass-bg-subtle);backdrop-filter:var(--glass-blur-subtle);-webkit-backdrop-filter:var(--glass-blur-subtle);border-radius:var(--radius-2xl);overflow:hidden;border:1px solid var(--glass-border);box-shadow:var(--shadow-md)}.map-header{padding:var(--spacing-5) var(--spacing-6);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--color-border);flex-shrink:0}.map-header h3{margin:0 0 var(--spacing-1) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.map-subtitle{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.map-container{flex:1;position:relative;overflow:hidden;background:var(--color-surface);min-height:360px}.map-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--color-text-secondary);padding:var(--spacing-6);text-align:center}.map-empty-state svg{color:var(--primary-200);margin-bottom:var(--spacing-4)}.map-empty-state p{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}.map-loading{position:absolute;top:0;left:0;right:0;bottom:0;background:#ffffffe6;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay);transition:opacity var(--transition-base)}.map-loading-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-3)}.map-loading-spinner{width:40px;height:40px;border:3px solid var(--primary-100);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.map-loading-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.planner-split-view .planner-content,.planner-split-view .planner-with-itinerary{height:100%;overflow-y:auto;padding:var(--spacing-5) var(--spacing-6);background:var(--color-surface);display:flex;flex-direction:column;gap:var(--spacing-5);min-height:0;flex:1;overflow-x:hidden}.planner-split-view .planner-with-itinerary{padding:0;gap:0;overflow:hidden;background:transparent}.planner-split-view .locations-list-container,.planner-split-view .generate-itinerary-card{margin-bottom:0}.planner-split-view .planner-with-itinerary .itinerary-container{margin:0;height:100%;display:flex;flex-direction:column;min-height:0}.planner-split-view .planner-with-itinerary .itinerary-content{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.planner-split-view .planner-with-itinerary .journey-timeline{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.planner-split-view .weather-strip{margin:var(--spacing-3) 0}.planner-split-view .weather-strip-header,.planner-split-view .weather-summary-enhanced,.planner-split-view .weather-hourly-section{padding:var(--spacing-4) var(--spacing-5)}.planner-split-view .weather-stat-group{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--spacing-3)}.planner-split-view .weather-stat{padding:var(--spacing-3);gap:var(--spacing-2)}.planner-split-view .weather-hourly-scroll{max-height:160px;overflow-y:auto}.planner-split-view .weather-footer{padding:var(--spacing-3) var(--spacing-5)}.planner-split-view .planner-content::-webkit-scrollbar,.planner-split-view .planner-with-itinerary::-webkit-scrollbar{width:8px}.planner-split-view .planner-content::-webkit-scrollbar-thumb,.planner-split-view .planner-with-itinerary::-webkit-scrollbar-thumb{background:var(--primary-200);border-radius:var(--radius-full)}.planner-split-view .planner-content::-webkit-scrollbar-track,.planner-split-view .planner-with-itinerary::-webkit-scrollbar-track{background:var(--gray-100)}.locations-grid-enhanced{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-6);margin-top:var(--spacing-4)}.location-card-enhanced{display:flex;flex-direction:column;background:var(--glass-bg);backdrop-filter:var(--glass-blur-subtle);-webkit-backdrop-filter:var(--glass-blur-subtle);border-radius:var(--radius-2xl);overflow:hidden;border:2px solid var(--glass-border);box-shadow:var(--shadow-md);transition:all var(--transition-base);cursor:pointer}.location-card-enhanced:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--primary-200)}.location-card-enhanced.selected{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--primary-100),var(--shadow-lg)}.location-card-enhanced:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--primary-100)}.location-image{position:relative;width:100%;height:clamp(170px,18vw,220px);overflow:hidden;background:var(--gray-100)}.location-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-base)}.location-card-enhanced:hover .location-image img{transform:scale(1.05)}.location-badges{position:absolute;top:var(--spacing-3);left:var(--spacing-3);right:var(--spacing-3);display:flex;gap:var(--spacing-2);flex-wrap:wrap}.badge-status{padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--shadow-sm)}.badge-status.open{color:var(--success-700);background:var(--success-50);border-color:var(--success-200)}.badge-status.closed{color:var(--error-700);background:var(--error-50);border-color:var(--error-200)}.badge-trending{padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);background:#5b5a65;color:#fff;border:1px solid rgba(255,255,255,.3);box-shadow:var(--shadow-sm)}.location-details{padding:var(--spacing-5);display:flex;flex-direction:column;gap:var(--spacing-3)}.location-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-2)}.location-card-enhanced .location-name{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight);flex:1}.location-rating{display:flex;align-items:center;gap:var(--spacing-1);color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);flex-shrink:0}.location-rating svg{color:#9c9b9e}.review-count{color:var(--color-text-tertiary);font-size:var(--font-size-xs);margin-left:var(--spacing-1)}.location-meta-chips{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.meta-chip{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-3);background:var(--gray-100);color:var(--color-text-secondary);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border:1px solid var(--color-border)}.meta-chip svg{width:12px;height:12px}.meta-chip.category-chip{background:var(--primary-50);color:var(--color-primary);border-color:var(--primary-200)}.location-description{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.location-address-row{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.location-address-row svg{flex-shrink:0;color:var(--color-primary)}.location-address-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-reasoning-box{display:flex;align-items:flex-start;gap:var(--spacing-2);padding:var(--spacing-3);background:#f4f4f6;border-left:3px solid var(--color-primary);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.ai-reasoning-box svg{flex-shrink:0;color:var(--color-primary);margin-top:2px}.location-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-2);padding-top:var(--spacing-2);border-top:1px solid var(--color-border)}.location-actions button{flex:1;min-width:fit-content}.floating-map-button{position:fixed;bottom:var(--spacing-6);right:var(--spacing-6);display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-4) var(--spacing-6);background:var(--color-primary);color:var(--color-text-inverse);border:none;border-radius:var(--radius-full);box-shadow:0 4px 20px rgba(var(--color-primary-rgb),.4),var(--shadow-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);z-index:var(--z-sticky);-webkit-tap-highlight-color:transparent}.floating-map-button:hover{transform:translateY(-2px);box-shadow:0 6px 28px rgba(var(--color-primary-rgb),.5),var(--shadow-xl)}.floating-map-button:active{transform:translateY(0);box-shadow:0 2px 12px rgba(var(--color-primary-rgb),.3),var(--shadow-md)}.floating-map-button svg{width:20px;height:20px;flex-shrink:0}.mobile-map-container{height:100%;min-height:400px;width:100%;background:var(--gray-100)}.planner-content-mobile,.planner-with-itinerary-mobile{padding:var(--spacing-4);padding-bottom:80px}@media(max-width:768px){.planner-split-view{flex-direction:column;height:auto;min-height:auto}.map-pane{order:-1;height:400px;margin-bottom:var(--spacing-6)}.planner-split-view .planner-content,.planner-split-view .planner-with-itinerary{padding:var(--spacing-4)}.locations-grid-enhanced{grid-template-columns:1fr;gap:var(--spacing-4)}.location-image{height:180px}.location-actions{flex-direction:column}.location-actions button{width:100%}@media(min-width:769px){.floating-map-button{display:none}}}@supports (padding: max(0px)){.floating-map-button{bottom:max(env(safe-area-inset-bottom,0) + var(--spacing-6),var(--spacing-6));right:max(env(safe-area-inset-right,0) + var(--spacing-6),var(--spacing-6))}.planner-content-mobile,.planner-with-itinerary-mobile{padding-bottom:max(env(safe-area-inset-bottom,0) + 80px,80px)}}@media(max-width:480px){.locations-grid-enhanced{display:flex;flex-direction:row;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:var(--spacing-3);padding:var(--spacing-2) var(--spacing-4);margin:0 calc(var(--spacing-4) * -1)}.locations-grid-enhanced::-webkit-scrollbar{display:none}.location-card-enhanced{min-width:85vw;max-width:85vw;scroll-snap-align:center;scroll-snap-stop:always;flex-shrink:0}.locations-list-container{position:relative}.locations-list-container:after{content:"";display:block;height:4px;margin-top:var(--spacing-4);background:var(--primary-200);background-size:100% 100%;border-radius:var(--radius-full);opacity:.5}.location-image{height:160px}.locations-grid-enhanced{scroll-behavior:smooth}.location-card-enhanced{touch-action:pan-x pinch-zoom}.locations-grid-enhanced:before{content:"";position:sticky;left:0;width:20px;height:100%;background:var(--color-surface);opacity:.4;pointer-events:none;z-index:1}.locations-grid-enhanced:after{content:"";position:sticky;right:0;width:20px;height:100%;background:var(--color-surface);opacity:.4;pointer-events:none;z-index:1}.planner-content-mobile .locations-list-container{margin-left:calc(var(--spacing-4) * -1);margin-right:calc(var(--spacing-4) * -1);padding:0}.locations-list-title{padding:0 var(--spacing-4);margin-bottom:var(--spacing-2)}.location-card-enhanced .location-name{font-size:var(--font-size-base)}.location-description{font-size:var(--font-size-xs);line-height:1.4}.location-actions{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;gap:var(--spacing-2);padding-bottom:var(--spacing-2)}.location-actions button{white-space:nowrap;min-width:auto;padding:var(--spacing-2) var(--spacing-3)}}@media(hover:none){.location-card-enhanced:hover{transform:none;box-shadow:var(--shadow-md)}.floating-map-button:hover{transform:none;box-shadow:0 4px 20px rgba(var(--color-primary-rgb),.4)}.action-btn-primary:hover,.action-btn-secondary:hover,.action-btn-danger:hover,.planner-action-btn:hover,.divider-handle:hover{transform:none}}.location-actions button,.expand-button,.close-button,.floating-map-button,.planner-action-btn{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}.location-actions{gap:var(--spacing-3)}.location-actions .action-btn-primary,.location-actions .action-btn-secondary,.location-actions .action-btn-danger{min-height:44px;padding:var(--spacing-2) var(--spacing-4)}@supports (padding: max(0px)){.planner-page-container{padding-bottom:max(env(safe-area-inset-bottom),var(--spacing-6))}.planner-header-section{padding-top:max(env(safe-area-inset-top),var(--spacing-6));padding-left:max(env(safe-area-inset-left),var(--spacing-5));padding-right:max(env(safe-area-inset-right),var(--spacing-5))}.floating-map-button{bottom:max(env(safe-area-inset-bottom),var(--spacing-6));right:max(env(safe-area-inset-right),var(--spacing-6))}.planner-content-mobile{padding-bottom:max(env(safe-area-inset-bottom),var(--spacing-6))}}.location-card-enhanced{touch-action:manipulation}.locations-grid-enhanced{touch-action:pan-y}@media(max-width:480px){.locations-grid-enhanced{touch-action:pan-x pinch-zoom}}.location-card-enhanced,.bottom-sheet-handle,.divider-handle,.floating-map-button{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.location-details h4,.location-details p,.ai-reasoning-box{-webkit-user-select:text;user-select:text}.location-actions button:active,.floating-map-button:active,.planner-action-btn:active{transform:scale(.96);transition:transform .1s ease}@media(max-width:768px){.location-badges{padding:var(--spacing-2);gap:var(--spacing-2)}.badge-status{padding:var(--spacing-1) var(--spacing-3);min-height:28px}.location-meta-chips span{padding:var(--spacing-2) var(--spacing-3);min-height:32px}.close-button,.action-btn-danger{min-width:48px;min-height:48px}}@media(max-width:480px){.locations-grid-enhanced{overscroll-behavior-x:contain}}.location-card-enhanced:focus-visible,.floating-map-button:focus-visible,.action-btn-primary:focus-visible,.action-btn-secondary:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}@media(max-width:768px){.location-card-enhanced{border-width:2px}.location-card-enhanced.selected{border-width:3px;box-shadow:0 0 0 4px rgba(var(--color-primary-rgb),.2),var(--shadow-lg)}}@media(max-width:768px){.planner-page-container{min-height:100vh;min-height:100dvh;padding:var(--spacing-3);gap:var(--spacing-4);max-width:100vw;overflow-x:hidden}.planner-header-section{padding:var(--spacing-4);gap:var(--spacing-4);margin-bottom:var(--spacing-4)}.planner-title-area{width:100%;max-width:100%}.planner-selector{min-width:100%;max-width:100%}.current-planner{width:100%;padding:var(--spacing-2) var(--spacing-3);margin-right:0}.planner-title{font-size:var(--font-size-xl);line-height:var(--line-height-tight);word-break:break-word}.planner-date-display{flex-wrap:wrap;gap:var(--spacing-2);font-size:var(--font-size-sm)}.planner-date-display .dateFormat{font-size:var(--font-size-sm)}.planner-city{margin-left:0!important;margin-top:var(--spacing-1)}.planner-action-buttons{flex-direction:column;width:100%;gap:var(--spacing-2)}.planner-action-buttons.horizontal{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-2)}.planner-action-buttons button,.planner-action-buttons .action-btn{width:100%;min-height:48px;justify-content:center;padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-sm)}.planner-action-buttons button[variant=danger]{grid-column:1 / -1}.planner-content-mobile,.planner-with-itinerary-mobile{padding:var(--spacing-3);padding-bottom:100px;max-width:100vw;overflow-x:hidden}.planner-dropdown{left:0;right:0;min-width:auto;max-width:100%;margin-left:calc(var(--spacing-3) * -1);margin-right:calc(var(--spacing-3) * -1);border-radius:var(--radius-lg)}.empty-planner-card,.empty-locations-card{padding:var(--spacing-5);text-align:center}.empty-planner-card h2,.empty-locations-card h3{font-size:var(--font-size-xl);margin-bottom:var(--spacing-3)}.empty-planner-card p,.empty-locations-card p{font-size:var(--font-size-sm);margin-bottom:var(--spacing-4)}.generate-itinerary-card{padding:var(--spacing-4);margin:var(--spacing-4) 0}.generate-plan-btn{width:100%;min-height:56px;font-size:var(--font-size-base)}.generate-helper-text{font-size:var(--font-size-sm);margin-top:var(--spacing-3)}.mobile-map-container{min-height:300px;max-height:70vh}.floating-map-button{padding:var(--spacing-3) var(--spacing-5);min-height:56px;font-size:var(--font-size-base);box-shadow:0 8px 24px rgba(var(--color-primary-rgb),.3)}}.planner-create-overlay{align-items:center;padding:clamp(16px,6vh,64px);overflow-y:auto}.planner-create-modal{max-width:720px;width:min(720px,92vw);max-height:calc(100vh - 2rem)}.planner-delete-modal .modal-content{display:flex;flex-direction:column;gap:var(--spacing-4)}@media(max-width:768px){.planner-create-overlay{padding:16px}}@media(max-height:720px){.planner-create-overlay{align-items:flex-start}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;animation:fadeIn .2s ease}.date-validation-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{padding:24px 24px 20px;border-bottom:1px solid #E5E6E8;display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.modal-title-section{display:flex;gap:16px;align-items:flex-start;flex:1}.icon-wrapper{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.icon-wrapper.warning{background:var(--warning-50, #FFFBEB);color:var(--warning-600, #D97706)}.modal-title{margin:0;font-size:20px;font-weight:700;color:#2c2d2d;line-height:1.3}.modal-subtitle{margin:4px 0 0;font-size:14px;color:#5b5a65;font-weight:400}.modal-close-btn{background:transparent;border:1px solid #E5E6E8;border-radius:8px;padding:8px;cursor:pointer;color:#5b5a65;transition:all .2s ease;flex-shrink:0;display:flex;align-items:center;justify-content:center}.modal-close-btn:hover{background:#f1f5f9;color:#2c2d2d;border-color:#c7c8cd}.modal-content{padding:24px;display:flex;flex-direction:column;gap:20px}.selected-date-info{display:flex;align-items:center;gap:12px;padding:16px;background:#f8fafc;border:1px solid #E5E6E8;border-radius:10px}.selected-date-info svg{color:#1f2020;flex-shrink:0}.info-label{font-size:13px;color:#5b5a65;font-weight:500;margin-right:8px}.info-value{font-size:14px;color:#2c2d2d;font-weight:600}.warning-message{padding:16px;background:var(--warning-50, #FFFBEB);border:1px solid var(--warning-100, #FEF3C7);border-left:4px solid var(--warning-500, #F59E0B);border-radius:10px}.warning-message p{margin:0 0 12px;font-size:14px;color:#2c2d2d;line-height:1.5}.warning-message p:last-child{margin-bottom:0}.warning-message strong{font-weight:600;color:var(--warning-700, #B45309)}.message-secondary{color:var(--warning-600, #D97706);font-size:13px!important}.benefits-section{padding:20px;background:#f4f4f6;border:1px solid #C7C8CD;border-radius:12px}.benefits-title{margin:0 0 14px;font-size:15px;font-weight:600;color:#5b5a65;display:flex;align-items:center;gap:8px}.benefits-title svg{color:#9c9b9e}.benefits-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.benefits-list li{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:#2c2d2d;line-height:1.5}.benefits-list li svg{color:#9c9b9e;flex-shrink:0;margin-top:2px}.suggestions-section{margin-top:8px}.suggestions-title{margin:0 0 16px;font-size:15px;font-weight:600;color:#2c2d2d}.suggestions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.suggestion-card{position:relative;padding:16px;background:#fff;border:2px solid #E5E6E8;border-radius:10px;cursor:pointer;transition:all .2s ease;text-align:left;display:flex;flex-direction:column;gap:8px}.suggestion-card:hover{border-color:#5b5a65;box-shadow:0 4px 12px #5b5a651a;transform:translateY(-2px)}.suggestion-card.selected{border-color:#5b5a65;background:#f4f4f6;box-shadow:0 0 0 3px #5b5a651a}.suggestion-card.recommended{border-color:#5b5a65;box-shadow:0 0 0 1px #5b5a6533}.suggestion-card.recommended.selected{border-color:#5b5a65;background:#f4f4f6}.recommended-badge{position:absolute;top:-8px;right:8px;padding:3px 8px;background:#5b5a65;color:#fff;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:4px;box-shadow:0 2px 4px #5b5a654d}.suggestion-date{display:flex;align-items:center;gap:8px}.suggestion-date svg{color:#5b5a65;flex-shrink:0}.date-label{font-size:13px;font-weight:600;color:#2c2d2d;line-height:1.3}.suggestion-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:#9c9b9e;font-weight:500}.suggestion-meta svg{flex-shrink:0}.selected-indicator{position:absolute;top:8px;right:8px;width:24px;height:24px;background:#5b5a65;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #5b5a654d}.modal-footer{padding:20px 24px 24px;border-top:1px solid #E5E6E8;display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}.modal-btn{padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;border:none}.btn-primary{background:#5b5a65;color:#fff;box-shadow:0 2px 8px #5b5a654d}.btn-primary:hover{background:#5b5a65;box-shadow:0 4px 12px #5b5a6566;transform:translateY(-1px)}.btn-secondary{background:#fff;color:#2c2d2d;border:1px solid #E5E6E8}.btn-secondary:hover{background:#f8fafc;border-color:#c7c8cd}.btn-text{background:transparent;color:#5b5a65;padding:12px 16px}.btn-text:hover{background:#f1f5f9;color:#2c2d2d}@media(max-width:768px){.modal-overlay{padding:0;align-items:flex-end}.date-validation-modal{border-radius:16px 16px 0 0;max-height:95vh}.modal-header{padding:20px 20px 16px}.modal-title-section{gap:12px}.icon-wrapper{width:40px;height:40px}.modal-title{font-size:18px}.modal-subtitle{font-size:13px}.modal-content{padding:20px;gap:16px}.suggestions-grid{grid-template-columns:1fr}.suggestion-card{padding:14px}.modal-footer{flex-direction:column-reverse;gap:10px}.modal-btn{width:100%;min-height:48px}}@media(max-width:480px){.modal-title{font-size:17px}.benefits-section{padding:16px}.benefits-list li{font-size:13px}.suggestions-title{font-size:14px}}@media(prefers-reduced-motion:reduce){.modal-overlay,.date-validation-modal,.suggestion-card,.modal-btn{animation:none;transition:none}}.modal-btn:focus-visible,.modal-close-btn:focus-visible,.suggestion-card:focus-visible{outline:2px solid #5B5A65;outline-offset:2px}@media(prefers-contrast:high){.date-validation-modal,.suggestion-card{border:2px solid currentColor}}@media print{.modal-overlay{display:none}}.legal-page-container{max-width:900px;margin:0 auto;padding:40px 20px}.legal-page-header{text-align:center;margin-bottom:40px;padding-bottom:30px;border-bottom:2px solid #E5E6E8}.legal-page-header .header-icon{color:#5b5a65;margin-bottom:16px}.legal-page-header h1{font-size:42px;font-weight:700;color:#2c2d2d;margin:0 0 12px}.last-updated{display:flex;align-items:center;justify-content:center;gap:8px;color:#5b5a65;font-size:14px}.legal-page-nav{position:sticky;top:80px;background:#f4f4f6;padding:20px;border-radius:12px;border:1px solid #E5E6E8;margin-bottom:40px;display:flex;flex-wrap:wrap;gap:12px;z-index:10}.legal-page-nav a{padding:8px 16px;background:#fff;color:#5b5a65;text-decoration:none;border-radius:6px;font-size:13px;font-weight:500;border:1px solid #E5E6E8;transition:all .2s}.legal-page-nav a:hover{background:#5b5a65;color:#fff;border-color:#5b5a65}.legal-content{line-height:1.8;color:#2c2d2d}.legal-content section{margin-bottom:48px;scroll-margin-top:100px}.legal-content h2{font-size:28px;font-weight:700;color:#2c2d2d;margin:0 0 20px;display:flex;align-items:center;gap:12px}.legal-content h3{font-size:22px;font-weight:600;color:#2c2d2d;margin:32px 0 16px}.legal-content h4{font-size:18px;font-weight:600;color:#2c2d2d;margin:20px 0 12px}.legal-content p{margin-bottom:16px}.legal-content ul,.legal-content ol{margin:16px 0;padding-left:24px}.legal-content li{margin-bottom:12px}.legal-content strong{font-weight:600;color:#2c2d2d}.legal-content a{color:#5b5a65;text-decoration:underline;font-weight:500}.legal-content a:hover{color:#2c2d2d}.info-box,.warning-box{padding:20px;border-radius:8px;margin:24px 0}.info-box{background:#f4f4f6;border-left:4px solid #5B5A65}.info-box p{margin:0;color:#2c2d2d}.warning-box{background:var(--warning-50, #FFFBEB);border-left:4px solid var(--warning-500, #F59E0B)}.warning-box p{margin:0;color:#2c2d2d}.purpose-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin:24px 0}.purpose-card{padding:24px;background:#fff;border:2px solid #E5E6E8;border-radius:12px;transition:all .2s}.purpose-card:hover{border-color:#5b5a65;box-shadow:0 4px 12px #5b5a651a}.purpose-card h4{margin:0 0 12px;color:#5b5a65}.purpose-card ul{margin:12px 0;padding-left:20px}.purpose-card li{font-size:14px;margin-bottom:8px}.legal-basis{display:block;margin-top:16px;padding-top:16px;border-top:1px solid #F4F4F6;font-size:12px;color:#5b5a65;font-style:italic}.ai-system-disclosure{margin:24px 0}.ai-system{padding:20px;background:#f4f4f6;border:2px solid #E5E6E8;border-radius:12px;margin-bottom:20px}.ai-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.ai-header strong{font-size:18px}.risk-badge{padding:4px 12px;border-radius:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.risk-badge.medium,.risk-badge.low{background:#f4f4f6;color:#5b5a65}.ai-system p{margin:8px 0;font-size:14px}.rights-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;margin:24px 0}.right-card{padding:20px;background:#fff;border:2px solid #E5E6E8;border-radius:12px;transition:all .2s}.right-card:hover{border-color:#5b5a65;transform:translateY(-2px);box-shadow:0 4px 12px #5b5a6526}.right-card h4{margin:0 0 12px;color:#5b5a65;font-size:16px}.right-card p{margin:0 0 16px;font-size:14px;color:#5b5a65}.right-card a{display:inline-block;margin-top:12px;font-size:13px}.retention-table{width:100%;border-collapse:collapse;margin:24px 0;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000000d}.retention-table thead{background:#f4f4f6}.retention-table th{padding:16px;text-align:left;font-weight:600;color:#2c2d2d;font-size:14px;border-bottom:2px solid #E5E6E8}.retention-table td{padding:16px;border-bottom:1px solid #F4F4F6;font-size:14px}.retention-table tbody tr:hover{background:#f4f4f6}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin:24px 0}.contact-method{padding:20px;background:#f4f4f6;border-radius:8px;border:1px solid #E5E6E8}.contact-method strong{display:block;margin-bottom:8px;color:#5b5a65}.contact-method a{display:block;margin-top:4px}.contact-method address{font-style:normal;line-height:1.6;color:#5b5a65;font-size:14px}.legal-page-footer{margin-top:60px;padding-top:30px;border-top:2px solid #E5E6E8;text-align:center}.legal-page-footer p{color:#5b5a65;font-size:14px;margin-bottom:16px}.footer-links{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.footer-links a{color:#5b5a65;text-decoration:none;font-weight:500;font-size:14px}.footer-links a:hover{text-decoration:underline}@media(max-width:768px){.legal-page-container{padding:20px 16px}.legal-page-header h1{font-size:32px}.legal-page-nav{position:relative;top:0;flex-direction:column}.legal-page-nav a{text-align:center}.legal-content h2{font-size:24px}.legal-content h3{font-size:20px}.purpose-grid,.rights-grid{grid-template-columns:1fr}.retention-table{font-size:12px}.retention-table th,.retention-table td{padding:12px 8px}}.nav-bar{background:#ffffffd9;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid rgba(255,255,255,.2);box-shadow:0 4px 24px #0000000a,0 1px 2px #00000005,inset 0 1px #ffffff80;padding:0;position:sticky;top:0;z-index:var(--z-fixed);transition:all .3s ease}.nav-bar.scrolled{background:#fffffff2;backdrop-filter:blur(24px) saturate(200%);-webkit-backdrop-filter:blur(24px) saturate(200%);box-shadow:0 8px 32px #00000014,0 2px 4px #0000000a,inset 0 1px #fff9}.nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0003;z-index:99;opacity:0;animation:fadeInOverlay .2s ease forwards}.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:#5b5a65;text-decoration:none;position:relative;overflow:hidden}.nav-logo-icon{font-size:1.5rem}.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:#5b5a65;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 .3s ease,transform .2s ease;color:#5b5a65}.nav-logo:hover .nav-logo-text{color:#2c2d2d;transform:translateY(-1px)}.nav-link:hover{color:#2c2d2d;background-color:#5b5a6514;text-decoration:none}.nav-link.active{color:#2c2d2d;background-color:#5b5a651f}.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:#5b5a65;text-decoration:none;font-weight:500;transition:all .2s ease;width:100%;background:transparent;border:none;text-align:left}.dropdown-item:hover{background-color:#f4f4f6;color:#5b5a65}.dropdown-item:active{background-color:#e5e6e8}.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:#5b5a65;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 #14151626,0 8px 16px #14151614,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 #F4F4F6}.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:#141516}.meta-email{font-size:.8rem;color:#5b5a65}.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(0,0,0,.08);background:#fff;box-shadow:0 8px 20px #14151614;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.mobile-menu-toggle.burger:active{transform:scale(.98)}.burger-line{width:20px;height:2px;background:#141516;border-radius:2px;transition:transform .25s ease,opacity .2s ease,width .2s ease}.mobile-menu-toggle.burger.open .burger-line:nth-child(1){transform:translateY(6px) rotate(45deg)}.mobile-menu-toggle.burger.open .burger-line:nth-child(2){opacity:0}.mobile-menu-toggle.burger.open .burger-line:nth-child(3){transform:translateY(-6px) 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:#14151673;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 #14151640,0 12px 24px #1415161f,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 #E5E6E8;border-radius:12px;background:#f8fafc}.quick-search-icon{color:#5b5a65}.quick-search-input{flex:1;border:none;background:transparent;font-size:1rem;outline:none;color:#141516}.quick-search-input::placeholder{color:#9c9b9e}.quick-search-hints{margin-top:10px;color:#5b5a65;font-size:.9rem}@media(max-width:768px){.nav-container{padding:.75rem 1rem}.nav-right{position:fixed;top:0;left:0;right:0;bottom:0;background:#fffffff2;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);flex-direction:column;align-items:flex-start;padding:80px 24px 24px;opacity:0;pointer-events:none;transform:translateY(-20px);gap:16px;border:none;overflow-y:auto;z-index:101;transition:transform .3s ease,opacity .3s ease}.nav-right.open{opacity:1;pointer-events:all;transform:translateY(0)}.nav-links{flex-direction:column;width:100%;gap:8px}.nav-link{padding:1rem 1.25rem;justify-content:flex-start;width:100%;font-size:1.125rem;min-height:56px;min-width:unset;border-radius:12px;background:#fff9;border:1px solid rgba(0,0,0,.05)}.nav-link:hover{background:#5b5a651a}.nav-link.active{background:#5b5a6526;border-color:#5b5a6533}.user-menu{width:100%;flex-direction:column;gap:16px}.mobile-user-header{display:flex;align-items:center;gap:12px;padding:1rem 1.25rem;background:#fffc;border:1px solid rgba(0,0,0,.08);border-radius:12px}.mobile-user-meta{display:flex;flex-direction:column;gap:2px}.mobile-meta-name{font-weight:600;color:#2c2d2d;font-size:1rem}.mobile-meta-email{font-size:.875rem;color:#5b5a65}.mobile-user-menu{display:flex;flex-direction:column;gap:8px;width:100%}.nav-link--mobile-menu{padding:1rem 1.25rem;justify-content:flex-start;width:100%;font-size:1rem;min-height:56px;border-radius:12px;background:#fff9;border:1px solid rgba(0,0,0,.05)}.nav-link--mobile-menu:hover{background:#5b5a651a}.nav-link--logout{color:#5b5a65}.nav-link--logout:hover{background:#5b5a651a;color:#5b5a65}.login-button{width:100%;min-height:56px;font-size:1.125rem}.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}}:root{--primary-50: #f9f9f9;--primary-100: #f4f4f6;--primary-200: #e5e6e8;--primary-300: #c7c8cd;--primary-400: #9c9b9e;--primary-500: #5b5a65;--primary-600: #2c2d2d;--primary-700: #1f2020;--primary-800: #141516;--primary-900: #0a0a0a;--secondary-50: #f9f9f9;--secondary-100: #f4f4f6;--secondary-200: #e5e6e8;--secondary-300: #c7c8cd;--secondary-400: #9c9b9e;--secondary-500: #5b5a65;--secondary-600: #2c2d2d;--secondary-700: #1f2020;--secondary-800: #141516;--secondary-900: #0a0a0a;--accent-50: var(--primary-50);--accent-100: var(--primary-100);--accent-200: var(--primary-200);--accent-300: var(--primary-300);--accent-400: var(--primary-400);--accent-500: var(--primary-500);--accent-600: var(--primary-600);--accent-700: var(--primary-700);--accent-800: var(--primary-800);--accent-900: var(--primary-900);--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: #F4F4F6;--info-500: #5B5A65;--info-600: #5B5A65;--info-700: #1f2020;--gray-50: #f9f9f9;--gray-100: #f4f4f6;--gray-200: #e5e6e8;--gray-300: #c7c8cd;--gray-400: #9c9b9e;--gray-500: #5b5a65;--gray-600: #2c2d2d;--gray-700: #1f2020;--gray-800: #141516;--gray-900: #0a0a0a;--color-primary: var(--primary-500);--color-primary-hover: var(--primary-600);--color-primary-active: var(--primary-700);--color-secondary: var(--secondary-600);--color-secondary-hover: var(--secondary-700);--color-accent: var(--primary-500);--color-accent-hover: var(--primary-600);--color-background: #EDEDEE;--color-surface: #FFFFFF;--color-surface-elevated: #FFFFFF;--color-text-primary: #2C2D2D;--color-text-secondary: #5B5A65;--color-text-tertiary: #9C9B9E;--color-text-inverse: #FFFFFF;--color-border: #E5E6E8;--color-border-hover: #c7c8cd;--color-divider: #E5E6E8;--gradient-primary: var(--primary-500);--gradient-secondary: var(--secondary-600);--gradient-accent: var(--primary-500);--gradient-sunset: var(--primary-500);--gradient-ocean: var(--primary-500);--gradient-forest: var(--primary-500);--gradient-terracotta: var(--primary-500);--gradient-vibrant: var(--primary-500);--gradient-mediterranean: var(--primary-500);--gradient-alpine: var(--primary-500);--gradient-urban: var(--secondary-600);--gradient-coastal: var(--primary-500);--gradient-text-primary: var(--primary-500);--gradient-text-vibrant: var(--primary-500);--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(20, 21, 22, .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{--primary: #5B5A65;--primary-dark: #2C2D2D;--primary-light: #F4F4F6;--secondary: #2C2D2D;--success: #22C55E;--danger: #EF4444;--warning: #F59E0B;--info: #5B5A65;--gray-100: #f4f4f6;--gray-200: #e5e6e8;--gray-300: #c7c8cd;--gray-400: #9c9b9e;--gray-500: #5b5a65;--gray-600: #2c2d2d;--gray-700: #1f2020;--gray-800: #141516;--gray-900: #0a0a0a;--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:#ededee;color:#2c2d2d;line-height:1.5}.container{max-width:1600px;margin:0 auto;padding:var(--spacing-lg)}h1,h2,h3,h4,h5,h6{color:#2c2d2d;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(--primary);box-shadow:0 0 0 3px #5b5a652e}input[type=text]::placeholder{color:var(--gray-400)}
