@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--brand-50: #eff6ff;--brand-100: #dbeafe;--brand-200: #bfdbfe;--brand-300: #93c5fd;--brand-400: #60a5fa;--brand-500: #3b82f6;--brand-600: #2563eb;--brand-700: #1d4ed8;--brand-800: #1e40af;--brand-900: #0f4c81;--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-500: #64748b;--gray-600: #475569;--gray-700: #334155;--gray-800: #1e293b;--gray-900: #0f172a;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--accent: #06b6d4;--gradient-start: #3b82f6;--gradient-end: #06b6d4;--surface: #ffffff;--surface-2: #f8fafc;--surface-3: #f1f5f9;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--border: #e2e8f0;--border-strong: #cbd5e1;--shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 16px rgba(0,0,0,.1), 0 2px 6px rgba(0,0,0,.06);--shadow-lg: 0 12px 40px rgba(0,0,0,.14), 0 4px 12px rgba(0,0,0,.08);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-2xl: 32px;--radius-full: 9999px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;color-scheme:light}.dark{--surface: #0f172a;--surface-2: #1e293b;--surface-3: #334155;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--border: rgba(71,85,105,.35);--border-strong: rgba(71,85,105,.55);--shadow-sm: 0 1px 3px rgba(0,0,0,.3);--shadow-md: 0 4px 16px rgba(0,0,0,.35);--shadow-lg: 0 12px 40px rgba(0,0,0,.45);color-scheme:dark}html{scroll-behavior:smooth}body{background:var(--surface-2);color:var(--text-primary);min-height:100dvh}.dark body{background:linear-gradient(160deg,#0f172a,#0d1f3c 60%,#0a0f1e)}h1,h2,h3,h4{line-height:1.2;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.1rem}p{color:var(--text-secondary);line-height:1.6}a{color:var(--brand-600);text-decoration:none}button{cursor:pointer;border:none;background:none;font-family:inherit}img{display:block;max-width:100%}input,textarea,select{font-family:inherit}:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px;border-radius:var(--radius-sm)}.skip-link{position:absolute;top:-48px;left:var(--space-4);background:var(--brand-600);color:#fff;padding:var(--space-2) var(--space-4);border-radius:var(--radius);font-weight:600;z-index:9999;transition:top .2s}.skip-link:focus{top:var(--space-4)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}.dark ::-webkit-scrollbar-thumb{background:var(--gray-700)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.animate-in{animation:fadeIn .3s ease both}.animate-slide-up{animation:slideUp .35s cubic-bezier(.16,1,.3,1) both}.animate-scale-in{animation:scaleIn .25s ease both}.skeleton{background:linear-gradient(90deg,var(--surface-3) 25%,var(--surface-2) 50%,var(--surface-3) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:var(--radius)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow .25s cubic-bezier(.16,1,.3,1),transform .25s cubic-bezier(.16,1,.3,1),border-color .2s}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px);border-color:var(--brand-200)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:10px var(--space-5);border-radius:var(--radius-full);font-weight:600;font-size:.9rem;transition:all .2s cubic-bezier(.16,1,.3,1);white-space:nowrap}.btn-primary{background:var(--brand-600);color:#fff}.btn-primary:hover{background:var(--brand-700);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--surface);color:var(--text-primary);border:1.5px solid var(--border)}.btn-secondary:hover{border-color:var(--brand-400);background:var(--brand-50)}.dark .btn-secondary:hover{background:#2563eb1a}@media(pointer:coarse){button,a,[role=button]{min-height:44px;min-width:44px}}.safe-bottom{padding-bottom:env(safe-area-inset-bottom,16px)}.spinner{width:20px;height:20px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.spinner--dark{border-color:var(--gray-200);border-top-color:var(--brand-600)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.skeleton{animation:none}}.app-shell{display:flex;flex-direction:column;min-height:100dvh}.app-header{position:sticky;top:0;z-index:200;background:#ffffffeb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);padding:0 var(--space-6);padding-top:env(safe-area-inset-top,0)}.dark .app-header{background:#0f172aeb}.app-header-inner{max-width:1200px;margin:0 auto;height:60px;display:flex;align-items:center;gap:var(--space-6)}.app-logo{display:flex;align-items:center;gap:var(--space-2);font-weight:800;font-size:1.2rem;color:var(--text-primary);letter-spacing:-.02em;flex-shrink:0;transition:opacity .15s}.app-logo:hover{opacity:.75}.app-logo-mark{width:28px;height:28px;object-fit:contain;border-radius:6px;line-height:1}.app-logo-text{color:var(--text-primary)}.app-nav{display:flex;align-items:center;gap:var(--space-1);flex:1}.app-nav-btn{display:flex;align-items:center;gap:var(--space-2);padding:8px var(--space-3);border-radius:var(--radius-full);font-size:.875rem;font-weight:500;color:var(--text-secondary);transition:all .15s;white-space:nowrap}.app-nav-btn:hover{color:var(--text-primary);background:var(--surface-3)}.app-nav-btn.active{color:var(--brand-600);background:var(--brand-50);font-weight:600}.dark .app-nav-btn.active{background:#2563eb1f}.dark .app-nav-btn:hover{background:#ffffff0f}.app-header-actions{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.app-theme-toggle{width:36px;height:36px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all .15s;border:1px solid var(--border);background:var(--surface)}.app-theme-toggle:hover{color:var(--text-primary);background:var(--surface-3);border-color:var(--border-strong)}.app-header-select-wrap{position:relative;display:inline-flex;align-items:center}.app-header-select{height:36px;padding:0 28px 0 10px;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-size:.8rem;font-weight:600;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.app-header-select:hover{color:var(--text-primary);border-color:var(--border-strong);background:var(--surface-3)}.app-header-select:focus-visible{outline:2px solid var(--brand-300);outline-offset:2px}.app-header-select-wrap:after{content:"";position:absolute;right:10px;top:50%;transform:translateY(-60%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--text-tertiary);pointer-events:none}.app-main{flex:1;padding-bottom:80px}.app-loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--surface-2)}.app-header-icon-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s}.app-header-icon-btn:hover{background:var(--surface-3);color:var(--text-primary)}.app-header-icon-btn:focus-visible{outline:2px solid var(--brand-300);outline-offset:2px}.app-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;background:#fffffff5;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border);padding:8px 0 env(safe-area-inset-bottom,8px)}.dark .app-bottom-nav{background:#0f172af5}.app-bottom-nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px var(--space-2);color:var(--text-muted);font-size:.7rem;font-weight:500;transition:color .15s}.app-bottom-nav-btn.active{color:var(--brand-600)}.app-bottom-nav-btn svg{width:20px;height:20px}@media(max-width:768px){.app-nav{display:none}.app-bottom-nav{display:flex}.app-main{padding-bottom:72px}.app-header{padding:0 var(--space-4)}.app-header-inner{height:52px}}.page-container{max-width:1200px;margin:0 auto;padding:var(--space-8) var(--space-6)}.page-header{margin-bottom:var(--space-8)}.page-title{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:800;color:var(--text-primary);letter-spacing:-.03em}.page-subtitle{margin-top:var(--space-2);font-size:1rem;color:var(--text-secondary)}.section-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--space-4)}@media(max-width:768px){.page-container{padding:var(--space-6) var(--space-4)}}.app-main>*{animation:fadeIn .25s ease both}@media(prefers-reduced-motion:reduce){.app-main>*{animation:none}.app-nav-btn,.app-bottom-nav-btn,.app-theme-toggle{transition:none}}@media(max-width:480px){.page-container{padding:var(--space-5) var(--space-3)}}.splash-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(160deg,#0f4c81,#0d1f3c 60%,#0a0f1e);color:#fff;overflow:hidden;opacity:0;transition:opacity .5s ease}.splash-screen.show,.splash-screen.exit{opacity:1}.splash-screen.exit{opacity:0}.splash-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.splash-orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.35}.splash-orb-1{width:320px;height:320px;background:#3b82f6;top:-80px;left:-60px}.splash-orb-2{width:260px;height:260px;background:#06b6d4;bottom:-60px;right:-40px}.splash-orb-3{width:200px;height:200px;background:#2563eb;top:40%;left:60%}.splash-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-6);animation:scaleIn .5s ease both}.splash-logo-wrap{position:relative;display:flex;align-items:center;justify-content:center}.splash-logo-ring{position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px;border:2px solid rgba(255,255,255,.15);border-top-color:#fff9;border-radius:50%;animation:spin 1.2s linear infinite}.splash-logo{width:88px;height:88px;border-radius:22px;overflow:hidden;background:#ffffff14;box-shadow:0 12px 40px #0000004d;display:flex;align-items:center;justify-content:center}.splash-logo img{width:100%;height:100%;object-fit:cover}.splash-brand{text-align:center}.splash-name{font-size:2rem;font-weight:800;color:#fff;letter-spacing:-.02em;margin:0}.splash-tagline{color:#ffffffb3;font-size:.95rem;margin-top:var(--space-1)}.splash-loader{margin-top:var(--space-4);width:180px}.splash-loader-track{height:3px;background:#ffffff26;border-radius:9999px;overflow:hidden}.splash-loader-fill{height:100%;width:40%;background:linear-gradient(90deg,#3b82f6,#06b6d4);border-radius:9999px;animation:splashLoad 1.4s ease-in-out infinite}@keyframes splashLoad{0%{transform:translate(-100%)}to{transform:translate(350%)}}.splash-footer{position:absolute;bottom:var(--space-10);color:#ffffff80;font-size:.8rem;z-index:1}.place-actions-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.place-action-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:.8rem;font-weight:600;color:#ffffffd1;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:10px;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);white-space:nowrap;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.place-action-btn:hover{background:#ffffff1f;border-color:#fff3;color:#fff;transform:translateY(-1px)}.place-action-btn:active{transform:translateY(0)}.place-action-btn.primary{background:linear-gradient(135deg,#3b82f640,#60a5fa26);border-color:#60a5fa59;color:#bfdbfe}.place-action-btn.primary:hover{background:linear-gradient(135deg,#3b82f659,#60a5fa40);color:#eff6ff}.place-action-btn.saved{background:linear-gradient(135deg,#f43f5e33,#ec48991f);border-color:#f43f5e4d;color:#fda4af}.place-action-btn.saved:hover{background:linear-gradient(135deg,#f43f5e4d,#ec489933);color:#fecdd3}.place-action-btn.compact{padding:6px 10px;font-size:.75rem}@keyframes slide-up-bar{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.selected-place-bar{position:fixed;bottom:70px;left:50%;transform:translate(-50%);z-index:900;width:calc(100% - 24px);max-width:720px;animation:slide-up-bar .35s cubic-bezier(.16,1,.3,1) both;pointer-events:auto}.selected-place-bar-inner{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#0f172ae0;border:1px solid rgba(255,255,255,.1);border-radius:16px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 8px 32px #00000059}.selected-place-bar-info{display:flex;align-items:center;gap:10px;flex-shrink:0}.selected-place-bar-img{width:36px;height:36px;border-radius:10px;object-fit:cover;flex-shrink:0}.selected-place-bar-label{display:block;font-size:.85rem;font-weight:700;color:#f0f4ff;line-height:1.2}.selected-place-bar-country{display:block;font-size:.72rem;color:#ffffff80;line-height:1.2}.selected-place-bar .place-actions-bar{flex:1;justify-content:flex-end;overflow-x:auto;scrollbar-width:none}.selected-place-bar .place-actions-bar::-webkit-scrollbar{display:none}.selected-place-bar-close{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff9;cursor:pointer;transition:all .2s ease}.selected-place-bar-close:hover{background:#ffffff1f;color:#fff}@media(max-width:640px){.selected-place-bar{bottom:64px;width:calc(100% - 16px)}.selected-place-bar-inner{gap:8px;padding:8px 10px}.selected-place-bar-img{width:30px;height:30px}.selected-place-bar-label{font-size:.78rem}.selected-place-bar-country{font-size:.68rem}.place-action-btn.compact{padding:5px 8px;font-size:.7rem}.place-action-btn.compact svg{width:12px;height:12px}}.dest-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);overflow:hidden;cursor:pointer;transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .25s ease,box-shadow .35s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-sm)}.dest-card:hover{transform:translateY(-6px);border-color:var(--brand-200);box-shadow:0 24px 56px #0000001f,0 8px 20px #0000000f}.dark .dest-card{background:#0f172a99;border-color:#ffffff14;box-shadow:0 4px 20px #00000040}.dark .dest-card:hover{border-color:#60a5fa40;box-shadow:0 24px 56px #0006,0 8px 20px #0003}.dest-card-img-wrap{position:relative;width:100%;aspect-ratio:16 / 10;overflow:hidden;background:var(--surface-3)}.dest-card-img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.16,1,.3,1)}.dest-card:hover .dest-card-img{transform:scale(1.08)}.dest-card-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.55) 0%,transparent 45%);pointer-events:none;transition:opacity .35s ease}.dest-card:hover .dest-card-gradient{opacity:.75}.dest-card-cat-badge{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:5px;padding:6px 12px;font-size:.7rem;font-weight:700;color:#fff;background:#0f172aa6;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-full);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);text-transform:capitalize;letter-spacing:.01em;box-shadow:0 2px 12px #00000026}.dest-card-fav{position:absolute;top:12px;right:12px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#0f172aa6;border:1px solid rgba(255,255,255,.15);border-radius:50%;color:#fffc;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 2px 12px #00000026}.dest-card-fav:hover{background:#f43f5e40;border-color:#f43f5e73;color:#fda4af;transform:scale(1.12)}.dest-card-fav.active{background:#f43f5e4d;border-color:#f43f5e73;color:#fb7185}.dest-card-fav.active:hover{transform:scale(1.15)}.dest-card-body{padding:var(--space-5) var(--space-5) var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}.dest-card-top-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.dest-card-name{font-size:1.15rem;font-weight:800;color:var(--text-primary);line-height:1.3;margin:0;letter-spacing:-.02em;transition:color .2s}.dest-card:hover .dest-card-name{color:var(--brand-600)}.dark .dest-card-name{color:#f0f4ff}.dark .dest-card:hover .dest-card-name{color:#93c5fd}.dest-card-rating-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:.8rem;font-weight:800;color:#fbbf24;background:#fbbf241a;border:1px solid rgba(251,191,36,.2);border-radius:var(--radius-full);flex-shrink:0}.dark .dest-card-rating-badge{background:#fbbf2414;border-color:#fbbf2426}.dest-card-address{display:flex;align-items:center;gap:5px;font-size:.8rem;color:var(--text-muted);margin:0;line-height:1.3;font-weight:500}.dest-card-address svg{color:var(--brand-400);flex-shrink:0}.dest-card-desc{font-size:.85rem;color:var(--text-secondary);line-height:1.55;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:500}.dark .dest-card-desc{color:#fff9}.dest-card-meta{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-1)}.dest-card-distance{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;font-weight:700;color:var(--brand-600);padding:4px 10px;border-radius:var(--radius-full);background:var(--brand-50);border:1px solid var(--brand-100)}.dark .dest-card-distance{color:#60a5fa;background:#3b82f61a;border-color:#3b82f633}.dest-card-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;margin-top:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border)}.dark .dest-card-actions{border-top-color:#ffffff0f}.dest-card-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:.78rem;font-weight:700;color:var(--text-secondary);background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);white-space:nowrap}.dest-card-btn:hover{background:var(--surface);border-color:var(--brand-300);color:var(--brand-600);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.dark .dest-card-btn{background:#ffffff0f;border-color:#ffffff1a;color:#ffffffd1}.dark .dest-card-btn:hover{background:#ffffff1a;border-color:#60a5fa59;color:#93c5fd}.dest-card-btn:active{transform:translateY(0)}.dest-card-btn.primary{background:linear-gradient(135deg,var(--brand-500),var(--brand-600));border-color:var(--brand-700);color:#fff;box-shadow:0 2px 12px #3b82f633}.dest-card-btn.primary:hover{background:linear-gradient(135deg,var(--brand-600),var(--brand-700));color:#fff;box-shadow:0 6px 20px #3b82f64d}.dark .dest-card-btn.primary{background:linear-gradient(135deg,#3b82f64d,#60a5fa33);border-color:#60a5fa59;color:#bfdbfe}.dark .dest-card-btn.primary:hover{background:linear-gradient(135deg,#3b82f666,#60a5fa4d);color:#eff6ff}.dest-card-btn.saved{background:linear-gradient(135deg,#f43f5e1f,#ec489914);border-color:#f43f5e40;color:var(--error)}.dest-card-btn.saved:hover{background:linear-gradient(135deg,#f43f5e33,#ec489926);border-color:#f43f5e66;color:#e11d48}.dark .dest-card-btn.saved{background:linear-gradient(135deg,#f43f5e33,#ec48991f);border-color:#f43f5e4d;color:#fda4af}.dark .dest-card-btn.saved:hover{background:linear-gradient(135deg,#f43f5e4d,#ec489933);color:#fecdd3}.dest-card.dest-card-compact{display:flex;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg)}.dest-card-compact .dest-card-img-wrap{width:72px;height:72px;aspect-ratio:1;border-radius:var(--radius);flex-shrink:0}.dest-card-compact .dest-card-body{padding:0;flex:1;min-width:0;gap:4px}.dest-card-compact .dest-card-name{font-size:.92rem}.dest-card-compact .dest-card-actions{margin-top:var(--space-1);padding-top:var(--space-1);border-top:none;gap:var(--space-1)}.dest-card-compact .dest-card-btn{padding:5px 10px;font-size:.72rem}@media(max-width:640px){.dest-card-body{padding:var(--space-4);gap:var(--space-2)}.dest-card-name{font-size:1.05rem}.dest-card-desc{font-size:.82rem}.dest-card-actions{gap:var(--space-1)}.dest-card-btn{padding:7px 12px;font-size:.75rem}}.signin-page,.signup-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:var(--surface-2);position:relative;overflow:hidden}.signin-bg-orbs,.signup-bg-orbs{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.signin-orb,.signup-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.35;animation:orb-float 18s ease-in-out infinite}.signin-orb-1,.signup-orb-1{width:320px;height:320px;top:-60px;left:-60px;background:var(--brand-400)}.signin-orb-2,.signup-orb-2{width:280px;height:280px;bottom:-40px;right:-40px;background:var(--accent);animation-delay:-6s}.signin-orb-3,.signup-orb-3{width:220px;height:220px;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--brand-300);animation-delay:-12s}@keyframes orb-float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-20px) scale(1.05)}66%{transform:translate(-20px,25px) scale(.95)}}.signin-card,.signup-card{position:relative;z-index:1;width:100%;max-width:420px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-8) var(--space-8) var(--space-6);box-shadow:var(--shadow-lg);animation:card-enter .4s ease-out}@keyframes card-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.signin-back,.signup-back{position:absolute;top:var(--space-4);left:var(--space-4);display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:none;background:var(--surface-3);color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s}.signin-back:hover,.signup-back:hover{background:var(--brand-50);color:var(--text-primary)}.signin-back:focus-visible,.signup-back:focus-visible{outline:2px solid var(--brand-400);outline-offset:2px}.signin-header,.signup-header{text-align:center;margin-bottom:var(--space-6)}.signin-logo,.signup-logo{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,var(--brand-400),var(--accent));margin-bottom:var(--space-4);box-shadow:0 8px 24px #3b82f64d;overflow:hidden}.signin-logo img,.signup-logo img{width:100%;height:100%;object-fit:cover}.signin-header h1,.signup-header h1{font-size:24px;font-weight:700;color:var(--text-primary);margin-bottom:var(--space-2)}.signin-header p,.signup-header p{font-size:14px;color:var(--text-secondary);line-height:1.5}.auth-error-banner,.auth-success-banner,.auth-info-banner{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius);font-size:13px;line-height:1.4;margin-bottom:var(--space-4);animation:banner-enter .3s ease-out}@keyframes banner-enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.auth-error-banner{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--error)}.auth-success-banner{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:var(--success)}.auth-info-banner{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);color:var(--warning)}.auth-info-dismiss{margin-left:auto;background:none;border:none;color:inherit;font-size:18px;line-height:1;cursor:pointer;padding:0 4px;opacity:.7;transition:opacity .15s}.auth-info-dismiss:hover{opacity:1}.auth-resend-link{font-size:inherit}.signin-form,.signup-form{display:flex;flex-direction:column;gap:var(--space-4)}.signin-field,.signup-field{display:flex;flex-direction:column;gap:var(--space-2)}.signin-field label,.signup-field label{font-size:13px;font-weight:600;color:var(--text-primary)}.signin-input-wrap,.signup-input-wrap{position:relative;display:flex;align-items:center}.signin-input-icon,.signup-input-icon{position:absolute;left:var(--space-3);color:var(--text-muted);pointer-events:none}.signin-input-wrap input,.signup-input-wrap input{width:100%;padding:var(--space-3) var(--space-3) var(--space-3) 42px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--text-primary);font-size:15px;transition:border-color .15s,box-shadow .15s}.signin-input-wrap input:focus,.signup-input-wrap input:focus{outline:none;border-color:var(--brand-400);box-shadow:0 0 0 3px #3b82f626}.signin-input-wrap input::placeholder,.signup-input-wrap input::placeholder{color:var(--text-muted)}.signin-toggle-pw,.signup-toggle-pw{position:absolute;right:var(--space-3);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.signin-toggle-pw:hover,.signup-toggle-pw:hover{color:var(--text-secondary)}.signin-forgot-link{align-self:flex-end;background:none;border:none;color:var(--brand-500);font-size:13px;cursor:pointer;padding:0;margin-top:-4px}.signin-forgot-link:hover{text-decoration:underline}.signin-submit,.signup-submit{display:flex;align-items:center;justify-content:center;width:100%;padding:var(--space-3) var(--space-4);border:none;border-radius:var(--radius);background:linear-gradient(135deg,var(--brand-500),var(--accent));color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s;margin-top:var(--space-2)}.signin-submit:hover,.signup-submit:hover{opacity:.9}.signin-submit:active,.signup-submit:active{transform:scale(.98)}.signin-submit:disabled,.signup-submit:disabled{opacity:.5;cursor:not-allowed}@media(prefers-reduced-motion:reduce){.signin-card,.signup-card,.signin-orb,.signup-orb,.auth-error-banner,.auth-success-banner,.auth-info-banner{animation:none}}.signin-spinner,.signup-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.signin-footer,.signup-footer{text-align:center;margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border)}.signin-footer p,.signup-footer p{font-size:13px;color:var(--text-secondary)}.signin-signup-link,.signup-signin-link{background:none;border:none;color:var(--brand-500);font-size:13px;font-weight:600;cursor:pointer;padding:0}.signin-signup-link:hover,.signup-signin-link:hover{text-decoration:underline}.signup-success-state{text-align:center}.signup-success-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:#10b9811a;color:var(--success);margin-bottom:var(--space-4)}.signup-success-state h2{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:var(--space-2)}.signup-success-state p{font-size:14px;color:var(--text-secondary);line-height:1.5}@media(max-width:480px){.signin-card,.signup-card{padding:var(--space-6) var(--space-5) var(--space-5);border-radius:var(--radius-lg)}.signin-header h1,.signup-header h1{font-size:20px}}.hero{position:relative;height:clamp(480px,72vh,680px);display:flex;align-items:center;overflow:hidden}.hero-carousel{position:absolute;top:0;right:0;bottom:0;left:0}.hero-slide{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s ease}.hero-slide.active{opacity:1}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(160deg,#0000009e,#00000059 60%,#0000002e)}.hero-dots{position:absolute;bottom:var(--space-5);left:50%;transform:translate(-50%);display:flex;gap:var(--space-2);z-index:10}.hero-dot{width:6px;height:6px;border-radius:var(--radius-full);background:#fff6;border:none;transition:all .3s;padding:0}.hero-dot.active{background:#fff;width:20px}.hero-content{position:relative;z-index:10;max-width:760px;margin:0 auto;padding:var(--space-8) var(--space-6);text-align:center}.hero-eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);background:#ffffff1f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);color:#ffffffe6;font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:6px 14px;border-radius:var(--radius-full);margin-bottom:var(--space-4)}.hero-title{font-size:clamp(2rem,5vw,3.5rem);font-weight:800;color:#fff;letter-spacing:-.03em;line-height:1.1;margin-bottom:var(--space-4)}.hero-subtitle{font-size:1.05rem;color:#ffffffd1;max-width:520px;margin:0 auto var(--space-6);line-height:1.6}.hero-search{display:flex;align-items:center;background:#fff;border-radius:var(--radius-full);padding:6px 6px 6px var(--space-5);box-shadow:var(--shadow-lg);margin-bottom:var(--space-4);gap:var(--space-3)}.dark .hero-search{background:var(--gray-800)}.hero-search svg{color:var(--gray-400);flex-shrink:0}.hero-search input{flex:1;border:none;outline:none;font-size:.95rem;background:transparent;color:var(--gray-900);min-width:0}.dark .hero-search input{color:var(--gray-100)}.hero-search input::placeholder{color:var(--gray-400)}.hero-search-btn{display:flex;align-items:center;gap:var(--space-2);background:var(--brand-600);color:#fff;font-weight:600;font-size:.9rem;padding:10px var(--space-5);border-radius:var(--radius-full);transition:background .2s,transform .15s;white-space:nowrap;flex-shrink:0}.hero-search-btn:hover{background:var(--brand-700);transform:scale(1.02)}.hero-quick-prompts{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center}.hero-quick-btn{display:flex;align-items:center;gap:6px;background:#ffffff24;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.22);color:#fff;font-size:.82rem;font-weight:500;padding:7px 14px;border-radius:var(--radius-full);transition:background .2s,transform .15s;white-space:nowrap}.hero-quick-btn:hover{background:#ffffff40;transform:translateY(-1px)}.home-content{max-width:1200px;margin:0 auto;padding:var(--space-10) var(--space-6);display:flex;flex-direction:column;gap:var(--space-12)}.home-section-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:var(--space-5)}.section-desc{font-size:.9rem;color:var(--text-secondary);margin-top:4px}.see-all-btn{display:flex;align-items:center;gap:6px;color:var(--brand-600);font-size:.875rem;font-weight:600;padding:6px 14px;border-radius:var(--radius-full);border:1.5px solid var(--brand-200);transition:all .15s;white-space:nowrap}.see-all-btn:hover{background:var(--brand-50);border-color:var(--brand-400)}.dark .see-all-btn{border-color:#2563eb4d}.dark .see-all-btn:hover{background:#2563eb1a}.dest-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4)}.dest-card{cursor:pointer}.dest-card-img-wrap{position:relative;height:200px;overflow:hidden}.dest-card-img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.dest-card:hover .dest-card-img{transform:scale(1.05)}.dest-card-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.45) 100%)}.dest-card-trend-badge{position:absolute;top:var(--space-3);left:var(--space-3);background:#ef4444e6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:var(--radius-full)}.dest-card-fav{position:absolute;top:var(--space-3);right:var(--space-3);width:34px;height:34px;border-radius:var(--radius-full);background:#ffffffeb;display:flex;align-items:center;justify-content:center;color:var(--gray-500);transition:all .15s}.dest-card-fav:hover{background:#fff;transform:scale(1.1)}.dest-card-fav.active{color:#ef4444}.dest-card-body{padding:var(--space-4)}.dest-card-top-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2);margin-bottom:2px}.dest-card-name{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.dest-card-price{font-size:.85rem;font-weight:700;color:var(--text-secondary);flex-shrink:0}.dest-card-country{font-size:.82rem;color:var(--text-muted);margin-bottom:var(--space-2)}.dest-card-desc{font-size:.85rem;color:var(--text-secondary);line-height:1.5;margin-bottom:var(--space-3);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dest-card-footer{display:flex;justify-content:space-between;align-items:center}.dest-card-rating{display:flex;align-items:center;gap:4px;font-size:.82rem;font-weight:600;color:var(--text-primary)}.dest-card-reviews{color:var(--text-muted);font-weight:400}.dest-card-tags{display:flex;gap:6px}.dest-tag{background:var(--surface-3);color:var(--text-secondary);font-size:.72rem;font-weight:600;padding:3px 8px;border-radius:var(--radius-full);text-transform:capitalize}.dark .dest-tag{background:#ffffff14}.ai-cta-card{position:relative;border-radius:var(--radius-xl);overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s}.ai-cta-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.ai-cta-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#0f4c81,#2563eb,#06b6d4)}.ai-cta-content{position:relative;display:flex;align-items:center;gap:var(--space-5);padding:var(--space-6) var(--space-8)}.ai-cta-icon{font-size:2.5rem;color:#ffffffe6;flex-shrink:0;line-height:1}.ai-cta-title{font-size:1.4rem;font-weight:800;color:#fff;margin-bottom:4px}.ai-cta-desc{color:#fffc;font-size:.9rem;line-height:1.5}.ai-cta-arrow{margin-left:auto;color:#fffc;flex-shrink:0}.ai-cta-examples{position:relative;display:flex;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-4) var(--space-8);border-top:1px solid rgba(255,255,255,.15)}.ai-cta-examples span{background:#ffffff1f;border:1px solid rgba(255,255,255,.2);color:#ffffffd9;font-size:.8rem;padding:5px 12px;border-radius:var(--radius-full);font-style:italic}.inspiration-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-4)}.inspiration-card{border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s;background:var(--surface);box-shadow:var(--shadow-sm)}.inspiration-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.inspiration-img-wrap{position:relative;height:180px}.inspiration-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.inspiration-card:hover .inspiration-img-wrap img{transform:scale(1.06)}.inspiration-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.55) 100%)}.inspiration-tag{position:absolute;top:var(--space-3);left:var(--space-3);color:#fff;font-size:.72rem;font-weight:700;padding:4px 10px;border-radius:var(--radius-full);letter-spacing:.04em}.inspiration-body{padding:var(--space-4)}.inspiration-title{font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:4px}.inspiration-sub{font-size:.83rem;color:var(--text-secondary)}.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-4)}.tool-tile{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-5);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-lg);text-align:left;transition:all .2s;cursor:pointer}.tool-tile:hover{border-color:var(--brand-300);box-shadow:var(--shadow-md);transform:translateY(-2px)}.dark .tool-tile:hover{border-color:#60a5fa66}.tool-tile-icon{width:48px;height:48px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;flex-shrink:0}.tool-tile h4{font-size:1rem;font-weight:700;color:var(--text-primary)}.tool-tile p{font-size:.82rem;color:var(--text-secondary);line-height:1.4}@media(max-width:768px){.home-content{padding:var(--space-8) var(--space-4);gap:var(--space-10)}.hero-content{padding:var(--space-6) var(--space-4)}.hero-title{font-size:2rem}.hero-quick-btn{font-size:.78rem;padding:6px 12px}.ai-cta-content{padding:var(--space-5) var(--space-5);flex-wrap:wrap}.ai-cta-examples{padding:var(--space-3) var(--space-5)}.dest-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.dest-card-img-wrap{height:160px}}@media(max-width:480px){.hero{height:520px}.hero-search{flex-wrap:wrap;padding:var(--space-3)}.hero-search-btn span{display:none}.dest-grid{grid-template-columns:1fr}.inspiration-grid,.tools-grid{grid-template-columns:1fr 1fr}.home-section-header{flex-direction:column;align-items:flex-start;gap:var(--space-3)}}.ask-page{display:flex;flex-direction:column;height:calc(100dvh - 60px);max-width:860px;margin:0 auto;padding:0 var(--space-4);position:relative}@media(max-width:768px){.ask-page{height:calc(100dvh - 116px);padding:0}}.ask-back-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);flex-shrink:0;box-shadow:var(--shadow-sm)}.dark .ask-back-btn{background:#1e293b99;border-color:#47556959}.ask-back-btn:hover{background:var(--brand-50);border-color:var(--brand-200);color:var(--brand-600);transform:translate(-2px) scale(1.05)}.dark .ask-back-btn:hover{background:#3b82f61f;color:#60a5fa;border-color:#3b82f64d}.ask-back-btn:active{transform:scale(.95)}.ask-back-btn:focus-visible{outline:2px solid var(--brand-300);outline-offset:2px}.ask-header{flex-shrink:0;padding:var(--space-4) 0;border-bottom:1px solid var(--border);background:#fff9;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%)}.dark .ask-header{background:#0b112099;border-bottom-color:#47556926}.ask-header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.ask-header-info{display:flex;align-items:center;gap:var(--space-3)}.ask-avatar{width:48px;height:48px;border-radius:var(--radius-xl);background:linear-gradient(135deg,#0f4c81,#06b6d4);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.4rem;flex-shrink:0;box-shadow:0 6px 20px #06b6d44d;position:relative;transition:transform .3s cubic-bezier(.16,1,.3,1)}.ask-avatar:hover{transform:scale(1.08) rotate(-3deg)}.ask-avatar:after{content:"";position:absolute;bottom:2px;right:2px;width:12px;height:12px;border-radius:50%;background:#10b981;border:2.5px solid var(--surface, #fff);animation:askPulseDot 2s ease-in-out infinite}.dark .ask-avatar:after{border-color:#0f172a}@keyframes askPulseDot{0%,to{opacity:1;box-shadow:0 0 #10b98166}50%{opacity:.8;box-shadow:0 0 0 5px #10b98100}}.ask-title{font-size:1.2rem;font-weight:800;color:var(--text-primary);letter-spacing:-.02em}.ask-subtitle{font-size:.78rem;color:var(--text-secondary);display:flex;align-items:center;gap:6px;font-weight:500}.ask-subtitle:before{content:"";width:7px;height:7px;border-radius:50%;background:#10b981;flex-shrink:0;box-shadow:0 0 6px #10b98166}.ask-clear-btn{display:flex;align-items:center;gap:6px;padding:9px 16px;border-radius:var(--radius-full);border:1px solid var(--border);color:var(--text-secondary);font-size:.8rem;font-weight:600;background:var(--surface);transition:all .25s cubic-bezier(.16,1,.3,1);cursor:pointer;box-shadow:var(--shadow-sm)}.dark .ask-clear-btn{background:#1e293b80;border-color:#4755694d}.ask-clear-btn:hover{border-color:#ef444466;color:#f87171;background:#ef444414;transform:translateY(-1px)}.ask-clear-btn:active{transform:scale(.96)}.ask-body{flex:1;overflow-y:auto;padding:var(--space-6) 0;scroll-behavior:smooth}.ask-body::-webkit-scrollbar{width:5px}.ask-body::-webkit-scrollbar-track{background:transparent}.ask-body::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}.dark .ask-body::-webkit-scrollbar-thumb{background:var(--gray-700)}.ask-body::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.ask-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-10) var(--space-4) var(--space-6);animation:askFadeInUp .6s cubic-bezier(.16,1,.3,1);position:relative}.ask-empty-icon{width:88px;height:88px;border-radius:28px;background:linear-gradient(135deg,#0f4c81,#06b6d4);display:flex;align-items:center;justify-content:center;font-size:2.6rem;color:#fff;margin-bottom:var(--space-6);box-shadow:0 16px 48px #06b6d459,0 4px 12px #06b6d426;animation:askFloat 4s ease-in-out infinite;position:relative}.ask-empty-icon:before{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:32px;background:linear-gradient(135deg,#06b6d426,#3b82f614);z-index:-1;animation:askGlow 3s ease-in-out infinite}@keyframes askFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes askGlow{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.ask-empty h2{font-size:1.85rem;font-weight:800;color:var(--text-primary);margin-bottom:var(--space-3);letter-spacing:-.03em;background:linear-gradient(135deg,var(--text-primary),var(--text-secondary));-webkit-background-clip:text;background-clip:text}.ask-empty>p{color:var(--text-secondary);max-width:460px;margin-bottom:var(--space-10);font-size:.95rem;line-height:1.65}.ask-suggestions{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-width:640px;width:100%}@media(max-width:520px){.ask-suggestions{grid-template-columns:1fr}}.ask-suggestion{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border);color:var(--text-secondary);font-size:.86rem;font-weight:500;padding:14px 18px;border-radius:var(--radius-xl);transition:all .3s cubic-bezier(.16,1,.3,1);text-align:left;cursor:pointer;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:askFadeInUp .5s cubic-bezier(.16,1,.3,1) both;box-shadow:var(--shadow-sm);font-family:inherit}.dark .ask-suggestion{background:#1e293b66;border-color:#47556940}.ask-suggestion:nth-child(1){animation-delay:.05s}.ask-suggestion:nth-child(2){animation-delay:.1s}.ask-suggestion:nth-child(3){animation-delay:.15s}.ask-suggestion:nth-child(4){animation-delay:.2s}.ask-suggestion:nth-child(5){animation-delay:.25s}.ask-suggestion:nth-child(6){animation-delay:.3s}.ask-suggestion:nth-child(7){animation-delay:.35s}.ask-suggestion:nth-child(8){animation-delay:.4s}.ask-suggestion-icon{width:36px;height:36px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:1rem;background:linear-gradient(135deg,var(--brand-50),rgba(6,182,212,.06));flex-shrink:0;transition:all .3s cubic-bezier(.16,1,.3,1);border:1px solid var(--brand-100)}.dark .ask-suggestion-icon{background:linear-gradient(135deg,#3b82f61f,#06b6d40f);border-color:#3b82f633}.ask-suggestion:hover{border-color:var(--brand-300);color:var(--text-primary);background:var(--brand-50);transform:translateY(-3px);box-shadow:0 8px 24px #3b82f61a}.dark .ask-suggestion:hover{background:#3b82f614;border-color:#3b82f659;box-shadow:0 8px 24px #3b82f61f}.ask-suggestion:hover .ask-suggestion-icon{transform:scale(1.12) rotate(-5deg);box-shadow:0 4px 12px #06b6d433}.ask-suggestion:active{transform:translateY(0) scale(.98)}.ask-messages{display:flex;flex-direction:column;gap:var(--space-6)}.ask-message{display:flex;gap:var(--space-3);animation:askMessageSlideIn .4s cubic-bezier(.16,1,.3,1) both}.ask-message.user{flex-direction:row-reverse}@keyframes askMessageSlideIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.ask-ema-avatar{width:36px;height:36px;border-radius:var(--radius-full);background:linear-gradient(135deg,#0f4c81,#06b6d4);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.95rem;flex-shrink:0;margin-top:2px;box-shadow:0 3px 12px #06b6d440;transition:transform .3s cubic-bezier(.16,1,.3,1)}.ask-ema-avatar:hover{transform:scale(1.1) rotate(-5deg)}.ask-bubble{max-width:75%;display:flex;flex-direction:column;gap:6px}.ask-bubble-content{padding:var(--space-4) var(--space-5);border-radius:20px;font-size:.95rem;line-height:1.7;position:relative;transition:all .2s ease}.ask-bubble-content p{color:inherit;margin:0}.ask-bubble-content p+p{margin-top:8px}.ask-bubble-content strong{font-weight:700}.ask-message.assistant .ask-bubble-content{background:var(--surface);border:1px solid var(--border);color:var(--text-primary);border-radius:6px 20px 20px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-sm)}.dark .ask-message.assistant .ask-bubble-content{background:#1e293b80;border-color:#47556940}.ask-message.user .ask-bubble-content{background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;border-radius:20px 6px 20px 20px;box-shadow:0 4px 16px #2563eb4d}.ask-message.user .ask-bubble-content p{color:#fff}.ask-bubble-time{font-size:.7rem;color:var(--text-muted);padding:0 8px;opacity:.6;font-weight:500}.ask-message.user .ask-bubble-time{text-align:right}.ask-typing{display:flex;gap:6px;align-items:center;padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:6px 20px 20px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-sm)}.dark .ask-typing{background:#1e293b80;border-color:#47556940}.ask-typing span{width:9px;height:9px;background:linear-gradient(135deg,#0f4c81,#06b6d4);border-radius:50%;animation:askTypingBounce 1.3s infinite ease-in-out}.ask-typing span:nth-child(1){animation-delay:0s}.ask-typing span:nth-child(2){animation-delay:.15s}.ask-typing span:nth-child(3){animation-delay:.3s}@keyframes askTypingBounce{0%,60%,to{opacity:.3;transform:translateY(0) scale(.85)}30%{opacity:1;transform:translateY(-7px) scale(1)}}.ask-error{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:#ef444414;border:1px solid rgba(239,68,68,.25);border-radius:var(--radius-xl);color:#f87171;font-size:.85rem;font-weight:500;animation:askShake .4s ease}@keyframes askShake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.ask-input-area{flex-shrink:0;padding:var(--space-4) 0 var(--space-3)}.ask-input-wrap{display:flex;align-items:flex-end;gap:var(--space-2);background:var(--surface);border:1.5px solid var(--border);border-radius:24px;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-5);transition:all .3s cubic-bezier(.16,1,.3,1);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);box-shadow:var(--shadow-md)}.dark .ask-input-wrap{background:#1e293b99;border-color:#47556959}.ask-input-wrap:focus-within{border-color:var(--brand-400);box-shadow:0 0 0 4px #3b82f61a,var(--shadow-md)}.dark .ask-input-wrap:focus-within{border-color:#3b82f680;box-shadow:0 0 0 4px #3b82f614,var(--shadow-md)}.ask-input{flex:1;border:none;outline:none;resize:none;background:transparent;font-size:.95rem;color:var(--text-primary);line-height:1.5;max-height:140px;overflow-y:auto;field-sizing:content;padding:var(--space-2) 0;font-family:inherit;font-weight:500}.ask-input::placeholder{color:var(--text-muted)}.ask-input:disabled{opacity:.5}.ask-send-btn{width:44px;height:44px;border-radius:var(--radius-full);background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .25s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 16px #2563eb59}.ask-send-btn:hover:not(:disabled){transform:scale(1.1) rotate(-3deg);box-shadow:0 6px 24px #2563eb73}.ask-send-btn:active:not(:disabled){transform:scale(.92)}.ask-send-btn:disabled{background:var(--surface-3);box-shadow:none;cursor:not-allowed;color:var(--text-muted)}.dark .ask-send-btn:disabled{background:#4755694d}.ask-disclaimer{font-size:.7rem;color:var(--text-muted);text-align:center;margin-top:var(--space-3);opacity:.6;font-weight:500}.ask-rec-cards{display:flex;flex-direction:column;gap:14px;margin-top:14px;animation:askFadeInUp .4s cubic-bezier(.16,1,.3,1)}.rec-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);overflow:hidden;transition:all .35s cubic-bezier(.16,1,.3,1);animation:askScaleIn .35s cubic-bezier(.16,1,.3,1) both;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-sm)}.dark .rec-card{background:#1e293b66;border-color:#47556940}.rec-card:nth-child(1){animation-delay:.05s}.rec-card:nth-child(2){animation-delay:.1s}.rec-card:nth-child(3){animation-delay:.15s}.rec-card:nth-child(4){animation-delay:.2s}.rec-card:nth-child(5){animation-delay:.25s}.rec-card:hover{border-color:var(--brand-200);box-shadow:0 12px 36px #00000014,0 4px 12px #0000000a;transform:translateY(-4px)}.dark .rec-card:hover{border-color:#3b82f64d;box-shadow:0 12px 36px #0000004d}.rec-card-loading{flex-direction:row;padding:14px;gap:14px}.rec-card-skeleton-img{width:68px;height:68px;border-radius:var(--radius-lg);flex-shrink:0}.rec-card-skeleton-body{flex:1;display:flex;flex-direction:column;gap:8px;padding-top:4px}.skeleton-line{height:13px;border-radius:var(--radius-sm)}.rec-card-no-loc{flex-direction:row;align-items:flex-start;gap:14px;padding:16px;background:var(--surface-2)}.dark .rec-card-no-loc{background:#1e293b4d}.rec-card-emoji{font-size:1.6rem;flex-shrink:0}.rec-card-no-loc-body{display:flex;flex-direction:column;gap:4px}.rec-card-name{font-size:.95rem;font-weight:700;color:var(--text-primary)}.rec-card-no-loc-hint{font-size:.74rem;color:var(--text-muted);font-style:italic}.rec-card-actions-fallback{margin-top:10px}.rec-card-trip-status{font-size:.68rem;color:var(--text-muted);margin-left:8px;text-transform:capitalize;font-weight:500}.skeleton{background:linear-gradient(90deg,var(--surface-3) 25%,var(--surface-2) 50%,var(--surface-3) 75%);background-size:200% 100%;animation:askSkeletonShimmer 1.5s infinite}.dark .skeleton{background:linear-gradient(90deg,#47556926 25%,#47556940,#47556926 75%);background-size:200% 100%}@keyframes askSkeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.rec-card-img-wrap{position:relative;width:100%;height:150px;overflow:hidden}.rec-card-img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.16,1,.3,1)}.rec-card:hover .rec-card-img{transform:scale(1.08)}.rec-card-cat-badge{position:absolute;top:12px;left:12px;padding:5px 12px;background:#0f172acc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#f1f5f9;font-size:.68rem;font-weight:700;border-radius:var(--radius-full);text-transform:capitalize;letter-spacing:.02em}.rec-card-rating-badge{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;gap:3px;padding:5px 12px;background:#0f172acc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fbbf24;font-size:.74rem;font-weight:700;border-radius:var(--radius-full)}.rec-card-body{padding:16px 18px}.rec-card-title{font-size:1rem;font-weight:800;color:var(--text-primary);margin:0 0 4px;line-height:1.3;letter-spacing:-.01em}.rec-card-address{display:flex;align-items:flex-start;gap:5px;font-size:.78rem;color:var(--text-secondary);margin:0 0 10px;line-height:1.4}.rec-card-address svg{flex-shrink:0;margin-top:1px;color:var(--text-muted)}.rec-card-desc{font-size:.82rem;color:var(--text-secondary);line-height:1.55;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rec-card-meta{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.rec-card-distance{display:inline-flex;align-items:center;gap:4px;font-size:.74rem;color:var(--brand-600);font-weight:600}.dark .rec-card-distance{color:#22d3ee}.rec-card-open{font-size:.68rem;font-weight:700;padding:3px 10px;border-radius:var(--radius-full)}.rec-card-open.open{background:#10b9811f;color:#059669}.rec-card-open.closed{background:#ef44441f;color:#dc2626}.dark .rec-card-open.open{color:#34d399}.dark .rec-card-open.closed{color:#f87171}.rec-card-actions{display:flex;flex-wrap:wrap;gap:8px}.rec-card-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:9px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);font-size:.76rem;font-weight:600;cursor:pointer;text-decoration:none;transition:all .25s cubic-bezier(.16,1,.3,1);white-space:nowrap;font-family:inherit}.dark .rec-card-btn{background:#47556933;border-color:#4755694d}.rec-card-btn:hover{background:var(--brand-50);border-color:var(--brand-200);color:var(--brand-600);transform:translateY(-1px)}.dark .rec-card-btn:hover{background:#3b82f61a;border-color:#3b82f64d;color:#60a5fa}.rec-card-btn.primary{background:linear-gradient(135deg,#2563eb,#3b82f6);border-color:transparent;color:#fff;box-shadow:0 3px 12px #2563eb40}.rec-card-btn.primary:hover{background:linear-gradient(135deg,#1d4ed8,#2563eb);color:#fff;transform:translateY(-1px);box-shadow:0 5px 18px #2563eb59}.rec-card-btn.saved{background:#f43f5e1a;border-color:#f43f5e4d;color:#fb7185}.dark .rec-card-btn.saved{background:#f43f5e1f;border-color:#f43f5e40}.rec-card-trip-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:10000;display:flex;align-items:center;justify-content:center;animation:askFadeIn .2s ease}.rec-card-trip-picker{width:360px;max-width:calc(100% - 32px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);padding:24px;box-shadow:var(--shadow-lg);animation:askScaleIn .25s cubic-bezier(.16,1,.3,1)}.rec-card-trip-picker h4{font-size:1.05rem;margin-bottom:16px;font-weight:700}.rec-card-trip-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;max-height:200px;overflow-y:auto}.rec-card-trip-option{padding:12px 16px;background:var(--surface-2);border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:.86rem;font-weight:500;cursor:pointer;text-align:left;transition:all .2s;font-family:inherit}.rec-card-trip-option:hover{border-color:var(--brand-400);background:var(--brand-50)}.dark .rec-card-trip-option:hover{background:#3b82f614}.rec-card-trip-option.selected{border-color:var(--brand-600);background:var(--brand-50);color:var(--brand-700);font-weight:600}.dark .rec-card-trip-option.selected{background:#3b82f61a;color:#93c5fd}.rec-card-no-trips{font-size:.84rem;color:var(--text-muted);margin-bottom:16px;text-align:center;padding:14px}.rec-card-trip-actions{display:flex;gap:8px;justify-content:flex-end}.rec-card-trip-actions .rec-card-btn{min-width:80px}@media(max-width:768px){.ask-body{padding:var(--space-4) var(--space-3)}.ask-input-area{padding:var(--space-3) var(--space-3) var(--space-3)}.ask-bubble{max-width:88%}.ask-bubble-content{font-size:.9rem;padding:var(--space-3) var(--space-4)}.ask-empty{padding:var(--space-8) var(--space-3) var(--space-4)}.ask-empty h2{font-size:1.5rem}.ask-empty>p{font-size:.87rem}.ask-suggestion{font-size:.82rem;padding:12px 16px}.ask-suggestion-icon{width:32px;height:32px;font-size:.9rem}.ask-rec-cards{gap:12px}.rec-card-img-wrap{height:120px}.rec-card-actions{flex-direction:column}.rec-card-btn{flex:1 1 100%}.ask-avatar{width:42px;height:42px;font-size:1.25rem}.ask-title{font-size:1.1rem}.ask-subtitle{font-size:.74rem}.ask-header{padding:var(--space-3) 0}}@media(max-width:380px){.ask-suggestions{gap:10px}.ask-suggestion{padding:10px 14px;font-size:.78rem}.ask-suggestion-icon{width:28px;height:28px;font-size:.8rem}.ask-empty-icon{width:72px;height:72px;font-size:2rem}.ask-empty h2{font-size:1.3rem}}@keyframes askFadeIn{0%{opacity:0}to{opacity:1}}@keyframes askFadeInUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes askScaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.ask-empty-orb{position:absolute;top:20px;left:50%;transform:translate(-50%);width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(6,182,212,.12),rgba(59,130,246,.06) 50%,transparent 70%);z-index:-1;animation:askOrbPulse 5s ease-in-out infinite;pointer-events:none}@keyframes askOrbPulse{0%,to{opacity:.5;transform:translate(-50%) scale(1)}50%{opacity:.8;transform:translate(-50%) scale(1.15)}}.ask-typing-label{font-size:.72rem;color:var(--text-muted);font-weight:600;padding-left:52px;margin-top:-8px;opacity:.7;animation:askFadeIn .3s ease;font-style:italic}.discover-page{min-height:100vh;display:flex;flex-direction:column}.discover-toolbar{position:sticky;top:0;z-index:40;background:#ffffffb8;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-bottom:1px solid var(--border);transition:box-shadow .3s ease}.dark .discover-toolbar{background:#0f172ab8;border-bottom-color:#47556940}.discover-toolbar-inner{max-width:1200px;margin:0 auto;padding:var(--space-4) var(--space-6);display:flex;align-items:center;gap:var(--space-3)}.discover-search-wrap{flex:1;display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-4);height:48px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-full);transition:all .25s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-sm)}.discover-search-wrap:focus-within{border-color:var(--brand-400);box-shadow:0 0 0 4px #3b82f61a}.discover-search-wrap svg{color:var(--text-muted);flex-shrink:0;transition:color .2s}.discover-search-wrap:focus-within svg{color:var(--brand-500)}.discover-search{flex:1;border:none;outline:none;background:none;font-size:.9rem;font-weight:500;color:var(--text-primary);min-width:0}.discover-search::placeholder{color:var(--text-muted)}.discover-search-clear{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:1.1rem;line-height:1;color:var(--text-muted);cursor:pointer;transition:all .15s;flex-shrink:0}.discover-search-clear:hover{color:var(--error);background:#ef444414}.discover-filter-toggle{display:inline-flex;align-items:center;gap:var(--space-2);padding:0 var(--space-4);height:48px;border-radius:var(--radius-full);background:var(--surface);border:1.5px solid var(--border);color:var(--text-secondary);font-size:.875rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-sm);flex-shrink:0}.discover-filter-toggle:hover{border-color:var(--brand-300);color:var(--brand-600);background:var(--brand-50);transform:translateY(-1px)}.dark .discover-filter-toggle:hover{background:#3b82f61a;border-color:#3b82f666;color:#93c5fd}.discover-filter-toggle.active{background:var(--brand-600);border-color:var(--brand-700);color:#fff;box-shadow:0 4px 16px #3b82f640}.discover-filter-toggle.active:hover{background:var(--brand-700);color:#fff}.discover-filter-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-full);background:var(--brand-600);color:#fff;font-size:.7rem;font-weight:800;margin-left:2px}.discover-filter-toggle.active .discover-filter-badge{background:#ffffff40}.discover-sort{height:48px;padding:0 var(--space-4);border-radius:var(--radius-full);background:var(--surface);border:1.5px solid var(--border);color:var(--text-primary);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-sm);flex-shrink:0;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}.discover-sort:hover{border-color:var(--brand-300);color:var(--brand-600)}.dark .discover-sort:hover{border-color:#3b82f666;color:#93c5fd}.discover-sort:focus{border-color:var(--brand-400);box-shadow:0 0 0 4px #3b82f61a}.discover-filters{max-width:1200px;margin:0 auto;padding:var(--space-4) var(--space-6) var(--space-5);display:flex;flex-direction:column;gap:var(--space-4);animation:slideUp .3s cubic-bezier(.16,1,.3,1) both}.discover-filter-section{display:flex;flex-direction:column;gap:var(--space-2)}.discover-filter-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0}.discover-filter-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.discover-chip{display:inline-flex;align-items:center;gap:6px;padding:8px var(--space-4);border-radius:var(--radius-full);background:var(--surface);border:1.5px solid var(--border);color:var(--text-secondary);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);white-space:nowrap}.discover-chip:hover{border-color:var(--brand-300);color:var(--brand-600);background:var(--brand-50);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.dark .discover-chip:hover{background:#3b82f61a;border-color:#3b82f666;color:#93c5fd}.discover-chip.active{background:linear-gradient(135deg,var(--brand-500),var(--brand-600));border-color:var(--brand-700);color:#fff;font-weight:700;box-shadow:0 4px 16px #3b82f640}.discover-chip.active:hover{background:linear-gradient(135deg,var(--brand-600),var(--brand-700));color:#fff;transform:translateY(-2px)}.discover-reset{align-self:flex-start;padding:8px var(--space-4);border-radius:var(--radius-full);background:#ef444414;border:1.5px solid rgba(239,68,68,.2);color:var(--error);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}.discover-reset:hover{background:#ef44441f;border-color:#ef444459;transform:translateY(-1px)}.discover-results-header{margin-bottom:var(--space-5)}.discover-count{font-size:.875rem;color:var(--text-muted);font-weight:600;margin:0}.discover-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--space-5)}.discover-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-16) var(--space-6);text-align:center;color:var(--text-muted)}.discover-empty svg{color:var(--gray-300)}.dark .discover-empty svg{color:var(--gray-700)}.discover-empty p{font-size:.95rem;color:var(--text-muted);font-weight:500}.discover-angola{margin-top:var(--space-10);display:flex;flex-direction:column;gap:var(--space-6)}.discover-angola-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.discover-angola-title-wrap{display:flex;align-items:center;gap:14px}.discover-angola-flag{font-size:2.2rem;line-height:1;filter:drop-shadow(0 4px 12px rgba(0,0,0,.15));animation:angolaFlagPop .5s cubic-bezier(.16,1,.3,1) both}@keyframes angolaFlagPop{0%{opacity:0;transform:scale(.5) rotate(-10deg)}to{opacity:1;transform:scale(1) rotate(0)}}.discover-angola-title{font-size:1.6rem;font-weight:800;color:var(--text-primary);margin:0;letter-spacing:-.02em;background:linear-gradient(135deg,#1e293b,#0f172a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.dark .discover-angola-title{background:linear-gradient(135deg,#f1f5f9,#94a3b8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.discover-angola-subtitle{font-size:.86rem;color:var(--text-muted);margin:4px 0 0;font-weight:500;max-width:540px}.discover-angola-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-5)}.discover-angola-experiences{display:flex;flex-direction:column;gap:var(--space-4)}.discover-angola-exp-title{font-size:1.2rem;font-weight:800;color:var(--text-primary);margin:0;letter-spacing:-.01em}.discover-angola-exp-scroll{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4)}.discover-angola-exp-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);overflow:hidden;transition:all .35s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-sm)}.discover-angola-exp-card:hover{transform:translateY(-6px);border-color:var(--brand-200);box-shadow:0 16px 48px #0000001f}.dark .discover-angola-exp-card:hover{border-color:#3b82f64d;box-shadow:0 16px 48px #0000004d}.discover-angola-exp-card img{width:100%;height:180px;object-fit:cover;transition:transform .5s cubic-bezier(.16,1,.3,1)}.discover-angola-exp-card:hover img{transform:scale(1.08)}.discover-angola-exp-body{padding:var(--space-4);display:flex;flex-direction:column;gap:6px}.discover-angola-exp-cat{align-self:flex-start;padding:4px 12px;border-radius:var(--radius-full);background:linear-gradient(135deg,#3b82f61f,#0ea5e914);color:var(--brand-600);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.discover-angola-exp-body h4{font-size:.98rem;font-weight:800;color:var(--text-primary);margin:0;letter-spacing:-.01em;line-height:1.3}.discover-angola-exp-body p{font-size:.8rem;color:var(--text-muted);margin:0;font-weight:500}.discover-angola-exp-meta{display:flex;align-items:center;gap:12px;margin-top:6px;padding-top:10px;border-top:1px solid var(--border)}.discover-angola-exp-rating{display:flex;align-items:center;gap:4px;font-size:.78rem;font-weight:700;color:var(--text-primary)}.discover-angola-exp-price{font-size:.82rem;font-weight:800;color:var(--brand-600)}.discover-angola-exp-dur{font-size:.72rem;color:var(--text-muted);font-weight:600;margin-left:auto}.animate-in{animation:discoverAngolaFadeIn .5s cubic-bezier(.16,1,.3,1) both}@keyframes discoverAngolaFadeIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.discover-angola-title{font-size:1.3rem}.discover-angola-subtitle{font-size:.8rem}.discover-angola-grid{grid-template-columns:1fr;gap:var(--space-4)}.discover-angola-exp-scroll{grid-template-columns:1fr}}@media(max-width:480px){.discover-angola-flag{font-size:1.8rem}.discover-angola-title{font-size:1.15rem}.discover-angola-exp-title{font-size:1.05rem}}.discover-ai-nudge{margin-top:var(--space-10);padding:var(--space-6) var(--space-8);display:flex;align-items:center;justify-content:center;gap:var(--space-4);flex-wrap:wrap;max-width:1200px;margin-left:auto;margin-right:auto;background:linear-gradient(135deg,#3b82f60f,#06b6d40a);border:1px solid rgba(59,130,246,.12);border-radius:var(--radius-xl);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:all .3s cubic-bezier(.16,1,.3,1)}.discover-ai-nudge:hover{border-color:#3b82f633;box-shadow:0 8px 32px #3b82f614}.dark .discover-ai-nudge{background:linear-gradient(135deg,#3b82f61a,#06b6d40f);border-color:#3b82f633}.discover-ai-nudge p{font-size:.9rem;color:var(--text-secondary);font-weight:600;margin:0}@media(max-width:768px){.discover-toolbar-inner{padding:var(--space-3) var(--space-4);gap:var(--space-2)}.discover-search-wrap{height:44px;padding:0 var(--space-3)}.discover-filter-toggle{height:44px;padding:0 var(--space-3);font-size:.82rem}.discover-sort{height:44px;padding:0 var(--space-3);padding-right:36px;font-size:.82rem}.discover-filters{padding:var(--space-3) var(--space-4) var(--space-4)}.discover-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.discover-ai-nudge{margin-top:var(--space-8);padding:var(--space-5) var(--space-4);flex-direction:column;text-align:center}}@media(max-width:480px){.discover-toolbar-inner{flex-wrap:wrap}.discover-search-wrap{flex:1 1 100%;order:1}.discover-filter-toggle{order:2;flex:1}.discover-sort{order:3;flex:1}.discover-grid{grid-template-columns:1fr;gap:var(--space-4)}.discover-ai-nudge p{font-size:.85rem}}.map-discovery{display:flex;flex-direction:column;height:100vh;background:var(--surface-2);overflow:hidden}.dark .map-discovery{background:#0b1120}.map-topbar{position:absolute;top:16px;left:16px;right:16px;z-index:500;display:flex;align-items:center;gap:var(--space-2);padding:8px;background:#ffffffd1;backdrop-filter:blur(32px) saturate(200%);-webkit-backdrop-filter:blur(32px) saturate(200%);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-2xl);box-shadow:0 8px 32px #00000014,0 2px 8px #0000000a;transition:box-shadow .3s ease}.dark .map-topbar{background:#0b1120d1;border-color:#47556940;box-shadow:0 8px 32px #0000004d}.map-back-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;flex-shrink:0;transition:all .25s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-sm)}.map-back-btn:hover{background:var(--brand-50);border-color:var(--brand-200);color:var(--brand-600);transform:translate(-2px) scale(1.05)}.dark .map-back-btn{background:#1e293b99;border-color:#47556966}.dark .map-back-btn:hover{background:#3b82f61f;border-color:#3b82f666;color:#60a5fa}.map-search-wrap{position:relative;flex:1;display:flex;align-items:center;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-full);padding:0 var(--space-4);gap:var(--space-2);height:44px;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-sm)}.map-search-wrap:focus-within{border-color:var(--brand-400);box-shadow:0 0 0 4px #3b82f61a,var(--shadow-sm)}.dark .map-search-wrap{background:#1e293b80;border-color:#47556959}.dark .map-search-wrap:focus-within{border-color:#3b82f680;box-shadow:0 0 0 4px #3b82f614}.map-search-icon{color:var(--text-muted);flex-shrink:0;transition:color .2s}.map-search-wrap:focus-within .map-search-icon{color:var(--brand-500)}.map-search-input{flex:1;background:none;border:none;outline:none;color:var(--text-primary);font-size:.9rem;font-weight:500;padding:11px 0;min-width:0}.map-search-input::placeholder{color:var(--text-muted)}.map-search-clear{background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;padding:var(--space-1);border-radius:50%;transition:all .15s;flex-shrink:0}.map-search-clear:hover{color:var(--error);background:#ef444414}.map-suggestions{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fffffff2;backdrop-filter:blur(28px) saturate(200%);-webkit-backdrop-filter:blur(28px) saturate(200%);border:1px solid var(--border);border-radius:var(--radius-2xl);box-shadow:0 20px 56px #00000024,0 4px 16px #0000000f;z-index:200;overflow:hidden;animation:mapScaleIn .2s cubic-bezier(.16,1,.3,1) both}.dark .map-suggestions{background:#0f172af2;border-color:#47556940;box-shadow:0 20px 56px #00000080}.map-suggestion-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);background:none;border:none;color:var(--text-primary);cursor:pointer;text-align:left;transition:all .15s ease;border-bottom:1px solid var(--border)}.map-suggestion-item:last-child{border-bottom:none}.map-suggestion-item:hover{background:var(--brand-50);padding-left:calc(var(--space-4) + 4px)}.dark .map-suggestion-item:hover{background:#3b82f61a}.map-suggestion-item svg{flex-shrink:0;color:var(--brand-500);transition:transform .15s}.map-suggestion-item:hover svg{transform:scale(1.15)}.suggestion-main{display:block;font-size:.875rem;color:var(--text-primary);font-weight:600}.suggestion-sub{display:block;font-size:.75rem;color:var(--text-muted);margin-top:1px}.map-suggestions-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4) var(--space-2);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.map-suggestions-clear{background:none;border:none;color:var(--text-muted);font-size:.7rem;cursor:pointer;text-transform:none;letter-spacing:normal;font-weight:600;transition:color .15s}.map-suggestions-clear:hover{color:var(--error)}.map-search-btn{background:linear-gradient(135deg,var(--brand-500),var(--brand-600));color:#fff;border:none;padding:10px var(--space-5);border-radius:var(--radius-full);font-size:.875rem;font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .25s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 16px #3b82f640}.map-search-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #3b82f659;background:linear-gradient(135deg,var(--brand-600),var(--brand-700))}.map-search-btn:active{transform:translateY(0)}.map-panel-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-sm);flex-shrink:0}.dark .map-panel-toggle{background:#1e293b99;border-color:#47556966}.map-panel-toggle:hover{background:var(--brand-50);border-color:var(--brand-200);color:var(--brand-600);transform:scale(1.05)}.dark .map-panel-toggle:hover{background:#3b82f61f;color:#60a5fa}.map-location-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-full);background:var(--brand-50);border:1px solid var(--brand-200);color:var(--brand-600);cursor:pointer;flex-shrink:0;transition:all .25s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-sm)}.dark .map-location-btn{background:#3b82f61a;border-color:#3b82f640;color:#60a5fa}.map-location-btn:hover:not(:disabled){background:var(--brand-100);border-color:var(--brand-300);transform:scale(1.08);box-shadow:0 4px 16px #3b82f633}.dark .map-location-btn:hover:not(:disabled){background:#3b82f633;border-color:#3b82f666}.map-location-btn.active{background:linear-gradient(135deg,var(--brand-500),var(--brand-600));border-color:var(--brand-700);color:#fff;box-shadow:0 4px 16px #3b82f64d}.map-location-btn:disabled{opacity:.6;cursor:not-allowed}.map-location-spinner{width:18px;height:18px;border:2px solid rgba(59,130,246,.2);border-top-color:var(--brand-500);border-radius:50%;animation:mapSpin .8s linear infinite}.map-filter-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;flex-shrink:0;transition:all .25s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-sm)}.dark .map-filter-toggle{background:#1e293b99;border-color:#47556966}.map-filter-toggle:hover{background:var(--brand-50);border-color:var(--brand-200);color:var(--brand-600);transform:scale(1.05)}.dark .map-filter-toggle:hover{background:#3b82f61f;color:#60a5fa}.map-filter-toggle.active{background:linear-gradient(135deg,var(--brand-500),var(--brand-600));border-color:var(--brand-700);color:#fff;box-shadow:0 4px 16px #3b82f64d}.dark .map-filter-toggle.active{background:#3b82f640;border-color:#3b82f680;color:#93c5fd}.map-location-banner{position:absolute;top:72px;left:16px;right:16px;z-index:499;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:#ef444414;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-xl);color:var(--error);font-size:.8rem;font-weight:500;box-shadow:0 4px 16px #ef444414}.dark .map-location-banner{background:#ef44441a;border-color:#ef444440;color:#fca5a5}.map-explore-bar{position:absolute;top:72px;left:16px;right:16px;z-index:498;background:#ffffffb8;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.5);border-radius:var(--radius-2xl);padding:var(--space-2) var(--space-2);box-shadow:0 4px 20px #0000000f}.dark .map-explore-bar{background:#0b1120b8;border-color:#47556933;box-shadow:0 4px 20px #0003}.map-explore-scroll{display:flex;gap:var(--space-2);padding:0;overflow-x:auto;scrollbar-width:none}.map-explore-scroll::-webkit-scrollbar{display:none}.map-category-card{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-sm)}.dark .map-category-card{background:#1e293b80;border-color:#4755694d}.map-category-card:hover{background:var(--brand-50);border-color:var(--brand-200);transform:translateY(-3px);box-shadow:0 8px 24px #3b82f61f}.dark .map-category-card:hover{background:#3b82f61a;border-color:#3b82f64d}.map-category-card.active{background:linear-gradient(135deg,var(--brand-500),var(--brand-600));border-color:var(--brand-700);box-shadow:0 6px 20px #3b82f64d}.map-category-card.active .map-category-label,.map-category-card.active .map-category-count{color:#fff}.map-category-icon{font-size:1.35rem;line-height:1}.map-category-info{display:flex;flex-direction:column;gap:1px}.map-category-label{font-size:.8rem;font-weight:700;color:var(--text-primary);transition:color .2s}.map-category-count{font-size:.7rem;color:var(--text-muted);font-weight:600;transition:color .2s}.dark .map-category-label{color:#e2e8f0}.dark .map-category-count{color:#64748b}.map-premium-filters{position:absolute;top:128px;left:16px;right:16px;z-index:497;background:#ffffffb8;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.5);border-radius:var(--radius-2xl);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);box-shadow:0 4px 20px #0000000f;animation:mapSlideUp .3s cubic-bezier(.16,1,.3,1) both}.dark .map-premium-filters{background:#0b1120b8;border-color:#47556933;box-shadow:0 4px 20px #0003}.map-filter-chips{display:flex;gap:var(--space-1);overflow-x:auto;scrollbar-width:none}.map-filter-chips::-webkit-scrollbar{display:none}.map-premium-chip{padding:7px var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .25s cubic-bezier(.16,1,.3,1)}.dark .map-premium-chip{background:#1e293b80;border-color:#4755694d;color:#94a3b8}.map-premium-chip:hover{background:var(--brand-50);border-color:var(--brand-200);color:var(--brand-600);transform:translateY(-1px)}.dark .map-premium-chip:hover{background:#3b82f61a;border-color:#3b82f64d;color:#93c5fd}.map-premium-chip.active{background:linear-gradient(135deg,var(--brand-500),var(--brand-600));border-color:var(--brand-700);color:#fff;font-weight:700;box-shadow:0 4px 16px #3b82f640}.dark .map-premium-chip.active{background:#3b82f640;border-color:#3b82f680;color:#93c5fd}.map-sort-row{display:flex;align-items:center;gap:var(--space-1)}.map-sort-label{font-size:.75rem;color:var(--text-muted);font-weight:600;white-space:nowrap;margin-right:var(--space-1)}.map-sort-chip{display:inline-flex;align-items:center;gap:4px;padding:5px var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1)}.dark .map-sort-chip{background:#1e293b80;border-color:#4755694d;color:#94a3b8}.map-sort-chip:hover{color:var(--brand-600);border-color:var(--brand-200);transform:translateY(-1px)}.dark .map-sort-chip:hover{color:#93c5fd;border-color:#3b82f64d}.map-sort-chip.active{background:var(--brand-50);border-color:var(--brand-300);color:var(--brand-700);font-weight:700}.dark .map-sort-chip.active{background:#3b82f626;border-color:#3b82f666;color:#93c5fd}.map-layout{display:flex;flex:1;overflow:hidden;position:relative}.map-panel{position:absolute;top:16px;left:16px;bottom:16px;width:400px;background:#ffffffd9;backdrop-filter:blur(32px) saturate(200%);-webkit-backdrop-filter:blur(32px) saturate(200%);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-2xl);overflow-y:auto;overflow-x:hidden;transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .35s ease;scrollbar-width:thin;scrollbar-color:var(--gray-300) transparent;box-shadow:0 12px 48px #00000014,0 4px 16px #0000000a;z-index:400}.dark .map-panel{background:#0b1120d9;border-color:#47556940;box-shadow:0 12px 48px #0000004d}.map-panel.closed{transform:translate(calc(-100% - 24px));opacity:0;pointer-events:none}.map-panel::-webkit-scrollbar{width:4px}.map-panel::-webkit-scrollbar-track{background:transparent}.map-panel::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:2px}.dark .map-panel::-webkit-scrollbar-thumb{background:var(--gray-700)}.map-panel-label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:var(--space-4) var(--space-4) var(--space-2)}.map-featured{padding:var(--space-2) 0}.map-featured-grid{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2) var(--space-4) var(--space-4)}.map-featured-chip{background:linear-gradient(135deg,var(--brand-50),rgba(6,182,212,.04));border:1px solid var(--brand-200);color:var(--brand-700);padding:8px var(--space-4);border-radius:var(--radius-full);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1)}.dark .map-featured-chip{background:linear-gradient(135deg,#3b82f61a,#06b6d40f);border-color:#3b82f640;color:#93c5fd}.map-featured-chip:hover{background:var(--brand-100);border-color:var(--brand-300);transform:translateY(-2px) scale(1.03);box-shadow:0 6px 20px #3b82f626}.dark .map-featured-chip:hover{background:linear-gradient(135deg,#3b82f633,#06b6d41a);border-color:#3b82f666}.map-panel-loading{padding:var(--space-2) 0}.map-result-skeleton{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);animation:mapSkeletonPulse 1.5s ease-in-out infinite}@keyframes mapSkeletonPulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton-img{width:80px;height:80px;border-radius:var(--radius-lg);background:var(--surface-3);flex-shrink:0}.skeleton-body{flex:1;display:flex;flex-direction:column;gap:var(--space-2);justify-content:center}.skeleton-line{height:12px;background:var(--surface-3);border-radius:var(--radius-sm)}.skeleton-line.short{width:60%}.map-results{padding:0 0 var(--space-4)}.map-result-card{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;border-bottom:1px solid var(--border);transition:all .25s cubic-bezier(.16,1,.3,1);position:relative}.dark .map-result-card{border-bottom-color:#4755691f}.map-result-card:hover{background:var(--brand-50);padding-left:calc(var(--space-4) + 4px)}.dark .map-result-card:hover{background:#3b82f60f}.map-result-card.selected{background:var(--brand-50);border-left:3px solid var(--brand-500)}.dark .map-result-card.selected{background:#3b82f61a}.map-result-img-wrap{position:relative;width:88px;height:88px;border-radius:var(--radius-xl);overflow:hidden;flex-shrink:0;background:var(--surface-3);box-shadow:var(--shadow-sm)}.map-result-img{width:100%;height:100%;object-fit:cover;transition:transform .4s cubic-bezier(.16,1,.3,1)}.map-result-card:hover .map-result-img{transform:scale(1.1)}.map-result-heart{position:absolute;top:6px;right:6px;width:28px;height:28px;background:#ffffffd9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 10px #00000026}.dark .map-result-heart{background:#0f172acc;color:#94a3b8}.map-result-heart.active{color:var(--error);background:#fffffff2}.dark .map-result-heart.active{background:#0f172ae6;color:#ef4444}.map-result-heart:hover{transform:scale(1.18);box-shadow:0 4px 16px #0003}.map-result-body{flex:1;min-width:0}.map-result-name{font-size:.92rem;font-weight:700;color:var(--text-primary);margin:0 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em;transition:color .2s}.map-result-card:hover .map-result-name{color:var(--brand-600)}.dark .map-result-card:hover .map-result-name{color:#93c5fd}.map-result-address{font-size:.75rem;color:var(--text-muted);margin:0 0 var(--space-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-result-meta{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);flex-wrap:wrap}.map-result-rating{display:flex;align-items:center;gap:3px;font-size:.8rem;color:#fbbf24;font-weight:700}.map-result-review-count{font-size:.7rem;color:var(--text-muted);font-weight:500;margin-left:2px}.map-result-price{font-size:.8rem;color:var(--success);font-weight:700}.map-result-distance{font-size:.75rem;color:var(--brand-600);font-weight:600}.dark .map-result-distance{color:#60a5fa}.map-result-open-status{font-size:.68rem;font-weight:700;padding:2px 8px;border-radius:var(--radius-sm)}.map-result-open-status.open{background:#10b9811f;color:var(--success)}.dark .map-result-open-status.open{background:#10b98126;color:#34d399}.map-result-open-status.closed{background:#ef44441f;color:var(--error)}.dark .map-result-open-status.closed{background:#ef444426;color:#fca5a5}.map-result-cuisine{display:inline-block;font-size:.72rem;color:#fbbf24;font-weight:600;margin-top:2px}.map-result-desc{font-size:.75rem;color:var(--text-muted);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}.map-result-badges{position:absolute;bottom:6px;left:6px;display:flex;flex-wrap:wrap;gap:3px}.map-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:var(--radius-sm);font-size:.62rem;font-weight:700;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.badge-popular{background:#ef4444d9;color:#fff}.badge-top-rated{background:#fbbf24d9;color:#1e293b}.badge-luxury{background:#8b5cf6d9;color:#fff}.badge-budget{background:#10b981d9;color:#fff}.badge-new{background:#3b82f6d9;color:#fff}.map-main{flex:1;position:relative;overflow:hidden}.map-view-fill,.map-container{width:100%;height:100%}.map-loading-state,.map-error-state{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--surface-2);gap:var(--space-4);color:var(--text-muted)}.dark .map-loading-state,.dark .map-error-state{background:#0b1120}.map-loading-spinner{width:40px;height:40px;border:3px solid rgba(59,130,246,.15);border-top-color:var(--brand-500);border-radius:50%;animation:mapSpin .8s linear infinite}.map-error-inner{text-align:center;max-width:340px;padding:var(--space-10);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.dark .map-error-inner{background:#1e293b80;border-color:#4755694d}.map-error-inner svg{color:var(--brand-500);margin-bottom:var(--space-4)}.map-error-inner h3{color:var(--text-primary);margin:0 0 var(--space-2);font-size:1.1rem}.map-error-inner p{font-size:.875rem;margin:0 0 var(--space-4);color:var(--text-muted)}.map-error-inner code{display:block;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-2) var(--space-4);font-size:.8rem;color:var(--success);font-family:monospace}.map-empty-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem var(--space-6);text-align:center}.map-empty-illustration{width:88px;height:88px;border-radius:50%;background:linear-gradient(135deg,var(--brand-50),rgba(6,182,212,.08));border:1px solid var(--brand-200);display:flex;align-items:center;justify-content:center;color:var(--brand-500);margin-bottom:var(--space-4);animation:mapScaleIn .35s cubic-bezier(.16,1,.3,1) both}.dark .map-empty-illustration{background:linear-gradient(135deg,#3b82f61a,#06b6d414);border-color:#3b82f633;color:#3b82f6}.map-empty-title{font-size:1rem;font-weight:700;color:var(--text-primary);margin:0 0 var(--space-2)}.map-empty-sub{font-size:.85rem;color:var(--text-muted);margin:0}.map-empty-expanding{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin:var(--space-3) 0}.map-empty-suggestions{margin-top:var(--space-6);display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.map-empty-suggest-label{font-size:.72rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.map-discovery-sections{padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.dark .map-discovery-sections{border-bottom-color:#4755691f}.map-discovery-tabs{display:flex;gap:var(--space-1);padding:0 var(--space-4) var(--space-3);overflow-x:auto;scrollbar-width:none}.map-discovery-tabs::-webkit-scrollbar{display:none}.map-discovery-tab{display:inline-flex;align-items:center;gap:4px;padding:7px var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .25s cubic-bezier(.16,1,.3,1)}.dark .map-discovery-tab{background:#1e293b80;border-color:#4755694d;color:#94a3b8}.map-discovery-tab:hover{background:var(--brand-50);border-color:var(--brand-200);color:var(--brand-600);transform:translateY(-1px)}.dark .map-discovery-tab:hover{background:#3b82f61a;border-color:#3b82f64d;color:#93c5fd}.map-discovery-tab.active{background:linear-gradient(135deg,var(--brand-500),var(--brand-600));border-color:var(--brand-700);color:#fff;box-shadow:0 4px 16px #3b82f640}.dark .map-discovery-tab.active{background:#3b82f640;border-color:#3b82f680;color:#93c5fd}.map-discovery-carousel{display:flex;gap:var(--space-3);padding:0 var(--space-4);overflow-x:auto;scrollbar-width:none}.map-discovery-carousel::-webkit-scrollbar{display:none}.map-discovery-item{flex-shrink:0;width:160px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);overflow:hidden;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-sm)}.dark .map-discovery-item{background:#1e293b80;border-color:#4755694d}.map-discovery-item:hover{transform:translateY(-4px);border-color:var(--brand-200);box-shadow:0 12px 32px #0000001a,0 4px 12px #0000000f}.dark .map-discovery-item:hover{border-color:#3b82f64d;box-shadow:0 12px 32px #0000004d}.map-discovery-item img{width:100%;height:100px;object-fit:cover;transition:transform .4s cubic-bezier(.16,1,.3,1)}.map-discovery-item:hover img{transform:scale(1.1)}.map-discovery-item-body{padding:var(--space-2) var(--space-3);display:flex;flex-direction:column;gap:2px}.map-discovery-item-name{font-size:.78rem;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-discovery-item-rating{font-size:.7rem;color:#fbbf24;font-weight:600}.map-route-panel{position:absolute;top:var(--space-4);right:var(--space-4);width:360px;max-width:calc(100% - 32px);max-height:calc(100% - 32px);overflow-y:auto;background:#ffffffe0;backdrop-filter:blur(32px) saturate(200%);-webkit-backdrop-filter:blur(32px) saturate(200%);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-2xl);box-shadow:0 16px 48px #0000001f,0 4px 16px #0000000f;animation:mapRouteSlideIn .3s cubic-bezier(.16,1,.3,1);z-index:10;scrollbar-width:thin;scrollbar-color:var(--gray-300) transparent}.dark .map-route-panel{background:#0b1120e0;border-color:#47556940;box-shadow:0 16px 48px #0006}.map-route-panel::-webkit-scrollbar{width:4px}.map-route-panel::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:2px}.dark .map-route-panel::-webkit-scrollbar-thumb{background:var(--gray-700)}@keyframes mapRouteSlideIn{0%{opacity:0;transform:translate(24px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}.map-route-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-4);border-bottom:1px solid var(--border)}.dark .map-route-header{border-bottom-color:#47556926}.map-route-header h3{font-size:.95rem;font-weight:800;color:var(--text-primary);margin:0;letter-spacing:-.01em}.map-route-close{background:var(--surface-3);border:none;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1)}.dark .map-route-close{background:#4755694d;color:#94a3b8}.map-route-close:hover{background:var(--error);color:#fff;transform:rotate(90deg) scale(1.05)}.map-route-modes{display:flex;gap:var(--space-1);padding:var(--space-3) var(--space-4)}.map-route-mode{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--space-2) 4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:.7rem;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1)}.dark .map-route-mode{background:#1e293b80;border-color:#4755694d;color:#94a3b8}.map-route-mode span{font-size:.7rem;font-weight:600}.map-route-mode:hover{background:var(--brand-50);border-color:var(--brand-200);color:var(--brand-600);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.dark .map-route-mode:hover{background:#3b82f61a;border-color:#3b82f64d;color:#93c5fd}.map-route-mode.active{background:linear-gradient(135deg,var(--brand-500),var(--brand-600));border-color:var(--brand-700);color:#fff;box-shadow:0 4px 16px #3b82f640}.dark .map-route-mode.active{background:#3b82f640;border-color:#3b82f680;color:#93c5fd}.map-route-loading{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-6);color:var(--text-muted);font-size:.85rem}.map-route-error{padding:var(--space-3) var(--space-4);margin:0 var(--space-4) var(--space-3);background:#ef44440f;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-lg);color:var(--error);font-size:.8rem;font-weight:500}.dark .map-route-error{background:#ef444414;border-color:#ef444433;color:#fca5a5}.map-route-info{padding:0 var(--space-4) var(--space-4)}.map-route-summary{display:flex;gap:var(--space-3);margin-bottom:var(--space-4)}.map-route-stat{flex:1;display:flex;flex-direction:column;gap:2px;padding:var(--space-3) var(--space-3);background:linear-gradient(135deg,var(--brand-50),rgba(6,182,212,.03));border:1px solid var(--brand-200);border-radius:var(--radius-xl)}.dark .map-route-stat{background:linear-gradient(135deg,#3b82f614,#06b6d40a);border-color:#3b82f633}.map-route-stat-label{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.map-route-stat-value{font-size:1.1rem;font-weight:800;color:var(--text-primary);letter-spacing:-.02em}.map-route-endpoints{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}.map-route-endpoint{display:flex;align-items:flex-start;gap:var(--space-3);font-size:.78rem;color:var(--text-secondary);line-height:1.4;font-weight:500}.map-route-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:3px}.map-route-dot.start{background:var(--success);box-shadow:0 0 0 4px #10b98126}.map-route-dot.end{background:var(--error);box-shadow:0 0 0 4px #ef444426}.map-route-turnbyturn{margin-top:var(--space-3)}.map-route-steps-header{font-size:.78rem;font-weight:700;color:var(--brand-600);margin-bottom:var(--space-2)}.dark .map-route-steps-header{color:#93c5fd}.map-route-step-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-1);max-height:260px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--gray-300) transparent}.map-route-step-list::-webkit-scrollbar{width:4px}.map-route-step-list::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:2px}.map-route-step{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}.dark .map-route-step{background:#1e293b66;border-color:#47556933}.map-route-step:hover{background:var(--brand-50);border-color:var(--brand-200);transform:translate(2px)}.dark .map-route-step:hover{background:#3b82f614;border-color:#3b82f64d}.map-route-step.active{background:var(--brand-50);border-color:var(--brand-400);box-shadow:0 0 0 3px #3b82f61a}.dark .map-route-step.active{background:#3b82f62e;border-color:#3b82f666}.map-route-step-index{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--brand-100);color:var(--brand-700);font-size:.7rem;font-weight:800}.dark .map-route-step-index{background:#3b82f633;color:#93c5fd}.map-route-step-text{font-size:.78rem;color:var(--text-primary);line-height:1.35;font-weight:500}.dark .map-route-step-text{color:#cbd5e1}.map-step-distance{font-size:.7rem;color:var(--text-muted);white-space:nowrap;font-weight:600}.map-bottom-sheet-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:flex-end;justify-content:center;animation:mapFadeIn .25s ease}.map-bottom-sheet{width:480px;max-width:calc(100% - 24px);max-height:85%;background:#ffffffeb;backdrop-filter:blur(40px) saturate(200%);-webkit-backdrop-filter:blur(40px) saturate(200%);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-3xl) var(--radius-3xl) 0 0;overflow-y:auto;overflow-x:hidden;box-shadow:0 -16px 64px #0000002e,0 -4px 16px #00000014;animation:mapSheetSlideUp .4s cubic-bezier(.16,1,.3,1);scrollbar-width:thin;scrollbar-color:var(--gray-300) transparent}.dark .map-bottom-sheet{background:#0b1120eb;border-color:#47556940;box-shadow:0 -16px 64px #00000080}.map-bottom-sheet::-webkit-scrollbar{width:4px}.map-bottom-sheet::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:2px}.dark .map-bottom-sheet::-webkit-scrollbar-thumb{background:var(--gray-700)}@keyframes mapSheetSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.map-bottom-sheet-handle{width:40px;height:4px;background:var(--gray-300);border-radius:2px;margin:var(--space-2) auto 0;flex-shrink:0;transition:background .2s}.dark .map-bottom-sheet-handle{background:#fff3}.map-sheet-gallery{position:relative;width:100%;height:280px;margin-top:var(--space-1);overflow:hidden}.map-sheet-gallery:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,rgba(0,0,0,.15) 0%,transparent 30%,transparent 60%,rgba(0,0,0,.25) 100%);pointer-events:none;z-index:1}.map-sheet-hero-img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}.map-bottom-sheet:hover .map-sheet-hero-img{transform:scale(1.04)}.map-sheet-close{position:absolute;top:var(--space-3);right:var(--space-3);width:36px;height:36px;background:#ffffffd9;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.5);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-primary);cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);z-index:6;box-shadow:0 2px 12px #00000026}.dark .map-sheet-close{background:#0f172acc;border-color:#4755694d;color:#f1f5f9}.map-sheet-close:hover{background:var(--error);color:#fff;border-color:var(--error);transform:rotate(90deg) scale(1.08)}.map-sheet-badges{position:absolute;bottom:var(--space-3);left:var(--space-3);display:flex;gap:var(--space-2);z-index:6}.map-sheet-body{padding:var(--space-5) var(--space-6) var(--space-7)}.map-sheet-title{font-size:1.5rem;font-weight:800;color:var(--text-primary);margin:0 0 var(--space-2);line-height:1.25;letter-spacing:-.03em}.map-sheet-meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-3)}.map-sheet-rating{display:inline-flex;align-items:center;gap:4px;font-size:.9rem;color:#fbbf24;font-weight:700}.map-sheet-review-count{color:var(--text-muted);font-weight:500;font-size:.8rem}.map-sheet-price{font-size:.9rem;color:var(--success);font-weight:700}.map-sheet-open-status{display:inline-flex;align-items:center;padding:3px var(--space-2);border-radius:var(--radius-sm);font-size:.72rem;font-weight:700}.map-sheet-open-status.open{background:#10b9811f;color:var(--success)}.dark .map-sheet-open-status.open{background:#10b98126;color:#34d399}.map-sheet-open-status.closed{background:#ef44441f;color:var(--error)}.dark .map-sheet-open-status.closed{background:#ef444426;color:#fca5a5}.map-sheet-address{display:flex;align-items:flex-start;gap:var(--space-2);font-size:.82rem;color:var(--text-secondary);margin:0 0 var(--space-3);line-height:1.5;font-weight:500}.map-sheet-address svg{flex-shrink:0;margin-top:2px;color:var(--text-muted)}.map-sheet-desc{font-size:.85rem;color:var(--text-secondary);margin:0 0 var(--space-4);line-height:1.6}.map-sheet-hours{margin:var(--space-3) 0;border-top:1px solid var(--border);padding-top:var(--space-3)}.dark .map-sheet-hours{border-top-color:#47556926}.map-sheet-hours summary{font-size:.8rem;font-weight:700;color:var(--brand-600);cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .2s}.dark .map-sheet-hours summary{color:#93c5fd}.map-sheet-hours summary:hover{color:var(--brand-500)}.dark .map-sheet-hours summary:hover{color:#60a5fa}.map-sheet-hours ul{list-style:none;padding:var(--space-2) 0 0;margin:0;display:flex;flex-direction:column;gap:var(--space-1)}.map-sheet-hours li{font-size:.75rem;color:var(--text-muted);font-weight:500}.map-sheet-hours-raw{font-size:.72rem;color:var(--text-muted);margin:var(--space-2) 0}.map-sheet-contacts{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-3) 0;padding-top:var(--space-3);border-top:1px solid var(--border)}.dark .map-sheet-contacts{border-top-color:#47556926}.map-sheet-contact-row{display:flex;align-items:center;gap:var(--space-2);font-size:.8rem;color:var(--text-secondary);font-weight:500}.map-sheet-contact-row svg{flex-shrink:0;color:var(--text-muted)}.map-sheet-contact-row a{color:var(--brand-600);text-decoration:none;word-break:break-all;transition:color .2s}.dark .map-sheet-contact-row a{color:#93c5fd}.map-sheet-contact-row a:hover{color:var(--brand-500);text-decoration:underline}.dark .map-sheet-contact-row a:hover{color:#60a5fa}.map-sheet-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border)}.dark .map-sheet-actions{border-top-color:#47556926}.map-sheet-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:12px var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);color:var(--text-primary);font-size:.82rem;font-weight:700;text-decoration:none;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);flex:1;min-width:100px}.dark .map-sheet-action-btn{background:#1e293b80;border-color:#4755694d;color:#cbd5e1}.map-sheet-action-btn:hover{background:var(--surface-3);transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:var(--brand-200);color:var(--brand-600)}.dark .map-sheet-action-btn:hover{background:#3b82f614;border-color:#3b82f64d;color:#f1f5f9}.map-sheet-action-btn.primary{background:linear-gradient(135deg,var(--success),var(--brand-600));border-color:transparent;color:#fff;box-shadow:0 4px 16px #10b98140}.map-sheet-action-btn.primary:hover{box-shadow:0 8px 24px #10b98159;transform:translateY(-2px);color:#fff}.map-sheet-action-btn.saved{background:linear-gradient(135deg,#ef444414,#ec48990f);border-color:#ef44444d;color:var(--error)}.dark .map-sheet-action-btn.saved{background:linear-gradient(135deg,#ef44441a,#ec489914);border-color:#ef44444d;color:#fca5a5}.map-sheet-action-btn.whatsapp{background:#25d3660f;border-color:#25d3664d;color:#25d366}.dark .map-sheet-action-btn.whatsapp{background:#25d3661a;border-color:#25d3664d}.map-sheet-action-btn.whatsapp:hover{background:#25d3661f;border-color:#25d36680;color:#25d366}.leaflet-container{background:var(--surface-2);font-family:inherit;outline:none}.dark .leaflet-container{background:#0b1120}.emago-map-pin{background:transparent;border:none}.emago-user-pin{animation:emago-user-pulse 2s ease-in-out infinite}.emago-pin-selected{animation:emago-pin-drop .4s cubic-bezier(.16,1,.3,1) both;z-index:1000!important}@keyframes emago-user-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes emago-pin-drop{0%{transform:translateY(-12px) scale(.6);opacity:0}60%{transform:translateY(2px) scale(1.05);opacity:1}to{transform:translateY(0) scale(1);opacity:1}}.leaflet-control-zoom{position:absolute;bottom:32px;right:16px;border:none!important;box-shadow:0 8px 32px #0000001a,0 2px 8px #0000000a!important;border-radius:var(--radius-xl)!important;overflow:hidden;margin:0!important;background:#ffffffd1;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.5)!important}.dark .leaflet-control-zoom{background:#0b1120d1;border-color:#47556940!important;box-shadow:0 8px 32px #0000004d!important}.leaflet-control-zoom a{background:transparent!important;color:var(--text-primary)!important;border:none!important;border-bottom:1px solid var(--border)!important;border-radius:0!important;width:40px!important;height:40px!important;line-height:40px!important;font-size:1.2rem!important;font-weight:600!important;transition:all .2s!important}.dark .leaflet-control-zoom a{color:#cbd5e1!important;border-bottom-color:#47556933!important}.leaflet-control-zoom a:last-child{border-bottom:none!important}.leaflet-control-zoom a:hover{background:var(--brand-50)!important;color:var(--brand-600)!important}.dark .leaflet-control-zoom a:hover{background:#3b82f633!important;color:#93c5fd!important}.leaflet-control-attribution{background:#ffffffb8!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--text-muted)!important;font-size:.65rem;border-radius:var(--radius-sm) 0 0 0;border:1px solid rgba(255,255,255,.3)}.dark .leaflet-control-attribution{background:#0b1120b8!important;color:#64748b!important;border-color:#47556933}.leaflet-control-attribution a{color:var(--brand-600)!important}.dark .leaflet-control-attribution a{color:#93c5fd!important}.leaflet-tile-pane{filter:saturate(1.1) contrast(1.02)}.dark .leaflet-tile-pane{filter:saturate(.8) brightness(.85) contrast(1.05)}.emago-map-cluster{background:transparent;border:none}.emago-cluster-inner{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;font-size:.85rem;font-weight:800;color:#fff;border:2.5px solid rgba(255,255,255,.9);box-shadow:0 4px 14px #00000040;transition:transform .25s cubic-bezier(.16,1,.3,1)}.emago-map-cluster:hover .emago-cluster-inner{transform:scale(1.15);box-shadow:0 6px 20px #0000004d}@keyframes mapSpin{to{transform:rotate(360deg)}}@keyframes mapFadeIn{0%{opacity:0}to{opacity:1}}@keyframes mapScaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes mapSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.map-topbar{top:8px;left:8px;right:8px;padding:6px;border-radius:var(--radius-xl)}.map-explore-bar{top:64px;left:8px;right:8px;border-radius:var(--radius-xl)}.map-premium-filters{top:112px;left:8px;right:8px;border-radius:var(--radius-xl)}.map-panel{top:8px;left:8px;right:8px;bottom:auto;width:auto;max-height:50%;border-radius:var(--radius-xl)}.map-panel.closed{transform:translateY(calc(-100% - 24px))}.map-route-panel{top:var(--space-2);right:var(--space-2);width:280px;max-height:60%}.map-sheet-actions{flex-direction:column}.map-sheet-action-btn{flex:1 1 100%}.map-premium-filters{padding:var(--space-2) var(--space-3)}.map-explore-scroll{padding:0}.map-bottom-sheet{width:100%;max-width:100%;max-height:80%;border-radius:var(--radius-2xl) var(--radius-2xl) 0 0}.map-sheet-gallery{height:220px}.map-sheet-body{padding:var(--space-4) var(--space-5) var(--space-6)}.map-search-btn{display:none}.map-back-btn,.map-location-btn,.map-filter-toggle,.map-panel-toggle{width:40px;height:40px}.map-search-wrap{height:40px}.leaflet-control-zoom{bottom:16px;right:8px}}@media(max-width:480px){.map-topbar{gap:4px}.map-sheet-body{padding:var(--space-3) var(--space-4) var(--space-5)}.map-sheet-title{font-size:1.2rem}.map-sheet-gallery{height:200px}.map-result-card{padding:var(--space-2) var(--space-3);gap:var(--space-2)}.map-result-img-wrap{width:68px;height:68px}.map-back-btn,.map-location-btn,.map-filter-toggle,.map-panel-toggle{width:38px;height:38px}.map-search-wrap{height:38px;padding:0 var(--space-3)}.map-category-card{padding:var(--space-2) var(--space-3)}.map-category-icon{font-size:1.2rem}.map-category-label{font-size:.75rem}.map-discovery-item{width:140px}.map-discovery-item img{height:88px}}.join-page{min-height:100vh;background:var(--surface-2);overflow-y:auto;scroll-behavior:smooth}.dark .join-page{background:linear-gradient(160deg,#0f172a,#0d1f3c 60%,#0a0f1e)}.join-hero{position:relative;min-height:620px;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:var(--space-8) var(--space-4)}.join-hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 60% at 20% 20%,rgba(59,130,246,.18),transparent),radial-gradient(ellipse 70% 50% at 80% 80%,rgba(6,182,212,.15),transparent),linear-gradient(160deg,#0c4a6e,#075985,#0c4a6e 60%,#0f172a);z-index:0}.dark .join-hero-bg{background:radial-gradient(ellipse 80% 60% at 20% 20%,rgba(59,130,246,.22),transparent),radial-gradient(ellipse 70% 50% at 80% 80%,rgba(6,182,212,.18),transparent),linear-gradient(160deg,#0f172a,#0c1e3a,#0a1628 60%,#050a14)}.join-hero-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url(https://images.pexels.com/photos/3278215/pexels-photo-3278215.jpeg?auto=compress&cs=tinysrgb&w=1600) center/cover;opacity:.15;mix-blend-mode:overlay}.join-hero-content{position:relative;z-index:1;max-width:760px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-5);animation:joinFadeIn .8s cubic-bezier(.16,1,.3,1) both}@keyframes joinFadeIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.join-back-btn{position:absolute;top:0;left:0;display:inline-flex;align-items:center;gap:var(--space-2);padding:10px var(--space-4);background:#ffffff1f;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-full);color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1)}.join-back-btn:hover{background:#fff3;transform:translate(-3px)}.join-hero-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:6px var(--space-4);background:#ffffff1f;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-full);color:#fff;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.join-hero-badge-dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px #10b9814d;animation:joinPulse 2s ease-in-out infinite}@keyframes joinPulse{0%,to{opacity:1}50%{opacity:.5}}.join-hero-title{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800;color:#fff;letter-spacing:-.04em;line-height:1.1;margin:0;text-shadow:0 4px 24px rgba(0,0,0,.3)}.join-hero-brand{background:linear-gradient(135deg,#60a5fa,#06b6d4);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.join-hero-subtitle{font-size:clamp(1rem,2vw,1.25rem);color:#ffffffd9;line-height:1.6;max-width:600px;margin:0;text-shadow:0 2px 12px rgba(0,0,0,.2)}.join-hero-cta{margin-top:var(--space-3)}.join-hero-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-8);margin-top:var(--space-8);padding-top:var(--space-8);border-top:1px solid rgba(255,255,255,.15);width:100%;max-width:640px}.join-hero-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.join-hero-stat-value{font-size:1.75rem;font-weight:800;color:#fff;letter-spacing:-.02em}.join-hero-stat-label{font-size:.78rem;color:#ffffffa6;font-weight:500}.join-benefits{padding:var(--space-16) var(--space-4);max-width:1200px;margin:0 auto}.join-section-header{text-align:center;margin-bottom:var(--space-12)}.join-section-header h2{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:800;color:var(--text-primary);letter-spacing:-.03em;margin:0 0 var(--space-3)}.join-section-header p{font-size:1.05rem;color:var(--text-secondary);max-width:520px;margin:0 auto}.join-benefits-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-5)}.join-benefit-card{padding:var(--space-8);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);transition:all .35s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.dark .join-benefit-card{background:#1e293b66;border-color:#47556940}.join-benefit-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--brand-500),var(--accent));transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.16,1,.3,1)}.join-benefit-card:hover{transform:translateY(-6px);box-shadow:0 20px 48px #00000014,0 8px 16px #0000000a;border-color:var(--brand-200)}.dark .join-benefit-card:hover{box-shadow:0 20px 48px #0000004d;border-color:#3b82f64d}.join-benefit-card:hover:before{transform:scaleX(1)}.join-benefit-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--brand-50),rgba(6,182,212,.06));border:1px solid var(--brand-200);color:var(--brand-600);margin-bottom:var(--space-5);transition:all .35s cubic-bezier(.16,1,.3,1)}.dark .join-benefit-icon{background:linear-gradient(135deg,#3b82f61a,#06b6d40f);border-color:#3b82f640;color:#60a5fa}.join-benefit-card:hover .join-benefit-icon{transform:scale(1.1) rotate(-5deg);box-shadow:0 8px 24px #3b82f633}.join-benefit-title{font-size:1.2rem;font-weight:700;color:var(--text-primary);margin:0 0 var(--space-3);letter-spacing:-.01em}.join-benefit-desc{font-size:.9rem;color:var(--text-secondary);line-height:1.6;margin:0}.join-form-section{padding:var(--space-12) var(--space-4) var(--space-16);background:var(--surface-2)}.dark .join-form-section{background:transparent}.join-form-container{max-width:760px;margin:0 auto}.join-form-header{text-align:center;margin-bottom:var(--space-10)}.join-form-header h2{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:800;color:var(--text-primary);letter-spacing:-.03em;margin:0 0 var(--space-3)}.join-form-header p{font-size:1rem;color:var(--text-secondary);margin:0}.join-stepper{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-10);padding:0 var(--space-2);gap:2px}.join-step{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);flex:1;position:relative;cursor:default}.join-step:not(.done){cursor:pointer}.join-step-circle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--surface);border:2px solid var(--border);color:var(--text-muted);font-size:.85rem;font-weight:700;transition:all .3s cubic-bezier(.16,1,.3,1);z-index:1}.dark .join-step-circle{background:#1e293b99;border-color:#47556966}.join-step.active .join-step-circle{background:linear-gradient(135deg,var(--brand-500),var(--brand-600));border-color:var(--brand-600);color:#fff;box-shadow:0 4px 16px #3b82f64d;transform:scale(1.1)}.join-step.done .join-step-circle{background:var(--success);border-color:var(--success);color:#fff}.join-step-label{font-size:.72rem;font-weight:600;color:var(--text-muted);text-align:center;transition:color .3s;white-space:nowrap}.join-step.active .join-step-label{color:var(--brand-600);font-weight:700}.dark .join-step.active .join-step-label{color:#60a5fa}.join-step.done .join-step-label{color:var(--success)}.join-step-connector{position:absolute;top:20px;left:50%;width:100%;height:2px;background:var(--border);z-index:0;transition:background .3s}.dark .join-step-connector{background:#4755694d}.join-step.done .join-step-connector{background:var(--success)}.join-form-card{background:#ffffffb8;backdrop-filter:blur(32px) saturate(200%);-webkit-backdrop-filter:blur(32px) saturate(200%);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-2xl);padding:var(--space-10);box-shadow:0 16px 48px #0000000f,0 4px 16px #00000008}.dark .join-form-card{background:#0f172ab8;border-color:#47556940;box-shadow:0 16px 48px #0003}.join-step-content{display:flex;flex-direction:column;gap:var(--space-5)}.join-step-title{font-size:1.5rem;font-weight:800;color:var(--text-primary);letter-spacing:-.02em;margin:0}.join-step-subtitle{font-size:.9rem;color:var(--text-muted);margin:0 0 var(--space-2)}.join-field-group{display:flex;flex-direction:column;gap:var(--space-2)}.join-field-label{font-size:.82rem;font-weight:700;color:var(--text-secondary);letter-spacing:.01em}.join-input{width:100%;padding:12px var(--space-4);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);font-size:.9rem;font-weight:500;transition:all .25s cubic-bezier(.16,1,.3,1);outline:none}.dark .join-input{background:#1e293b80;border-color:#47556959}.join-input::placeholder{color:var(--text-muted)}.join-input:focus{border-color:var(--brand-400);box-shadow:0 0 0 4px #3b82f61a}.dark .join-input:focus{border-color:#3b82f680;box-shadow:0 0 0 4px #3b82f614}.join-textarea{resize:vertical;min-height:100px;font-family:inherit;line-height:1.6}.join-field-row{display:flex;gap:var(--space-4)}.join-field-row>*{flex:1}.join-field-error{font-size:.78rem;color:var(--error);font-weight:500}.join-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-3)}.join-type-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:var(--space-4);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-xl);cursor:pointer;text-align:left;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-sm)}.dark .join-type-card{background:#1e293b66;border-color:#4755694d}.join-type-card:hover{border-color:var(--brand-300);transform:translateY(-3px);box-shadow:0 8px 24px #3b82f61a}.dark .join-type-card:hover{border-color:#3b82f666}.join-type-card.selected{border-color:var(--brand-500);background:linear-gradient(135deg,var(--brand-50),rgba(6,182,212,.04));box-shadow:0 0 0 3px #3b82f61f,0 8px 24px #3b82f61f}.dark .join-type-card.selected{background:linear-gradient(135deg,#3b82f614,#06b6d40a);border-color:#3b82f680;box-shadow:0 0 0 3px #3b82f61a,0 8px 24px #3b82f626}.join-type-icon{font-size:1.8rem;line-height:1}.join-type-label{font-size:.92rem;font-weight:700;color:var(--text-primary)}.join-type-desc{font-size:.72rem;color:var(--text-muted);line-height:1.4}.join-map-search-row{display:flex;gap:var(--space-2)}.join-map-search-row .join-input{flex:1}.join-map-picker{position:relative;width:100%;height:320px;border-radius:var(--radius-xl);overflow:hidden;cursor:crosshair;background:linear-gradient(135deg,#dbeafe,#e0f2fe,#f0fdfa);border:1.5px solid var(--border);background-image:url(https://images.pexels.com/photos/417074/pexels-photo-417074.jpeg?auto=compress&cs=tinysrgb&w=800);background-size:cover;background-position:center;transition:border-color .25s}.dark .join-map-picker{background:linear-gradient(135deg,#1e293b,#0f172a);border-color:#4755694d;opacity:.9}.join-map-picker:hover{border-color:var(--brand-300)}.join-map-pin{position:absolute;width:28px;height:28px;transform:translate(-50%,-100%);z-index:2;animation:joinPinDrop .4s cubic-bezier(.16,1,.3,1) both}.join-map-pin:after{content:"📍";font-size:28px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}@keyframes joinPinDrop{0%{transform:translate(-50%,-200%);opacity:0}to{transform:translate(-50%,-100%);opacity:1}}.join-map-hint{position:absolute;bottom:var(--space-4);left:50%;transform:translate(-50%);padding:6px var(--space-4);background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-full);font-size:.78rem;font-weight:600;color:var(--text-secondary);white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-sm)}.dark .join-map-hint{background:#0f172ad9;color:#cbd5e1}.join-coords{font-size:.8rem;color:var(--brand-600);font-weight:600;margin:0}.dark .join-coords{color:#60a5fa}.join-hours-list{display:flex;flex-direction:column;gap:var(--space-2)}.join-hours-row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color .2s}.dark .join-hours-row{background:#1e293b66;border-color:#47556940}.join-hours-row:focus-within{border-color:var(--brand-300)}.join-hours-day{width:100px;font-size:.85rem;font-weight:700;color:var(--text-primary);flex-shrink:0}.join-hours-input{flex:1}.join-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-3);margin-top:var(--space-4)}.join-gallery-item{position:relative;aspect-ratio:4/3;border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-sm);animation:joinScaleIn .3s cubic-bezier(.16,1,.3,1) both}@keyframes joinScaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.join-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s cubic-bezier(.16,1,.3,1)}.join-gallery-item:hover img{transform:scale(1.08)}.join-gallery-remove{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;background:#0009;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:none;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:all .2s;opacity:0}.join-gallery-item:hover .join-gallery-remove{opacity:1}.join-gallery-remove:hover{background:var(--error);transform:scale(1.1)}.join-gallery-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-12);color:var(--text-muted);border:2px dashed var(--border);border-radius:var(--radius-xl);text-align:center}.dark .join-gallery-empty{border-color:#4755694d}.join-gallery-empty p{font-size:.85rem;margin:0}.join-services-grid{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-5)}.join-service-chip{display:inline-flex;align-items:center;gap:6px;padding:8px var(--space-4);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1)}.dark .join-service-chip{background:#1e293b66;border-color:#4755694d;color:#94a3b8}.join-service-chip:hover{border-color:var(--brand-300);color:var(--brand-600);transform:translateY(-2px)}.dark .join-service-chip:hover{border-color:#3b82f666;color:#60a5fa}.join-service-chip.selected{background:linear-gradient(135deg,var(--brand-500),var(--brand-600));border-color:var(--brand-600);color:#fff;box-shadow:0 4px 16px #3b82f640}.join-service-chip.selected:hover{color:#fff;transform:translateY(-2px)}.join-custom-service{margin-top:var(--space-4)}.join-services-selected{margin-top:var(--space-3)}.join-services-count{font-size:.82rem;font-weight:600;color:var(--brand-600)}.dark .join-services-count{color:#60a5fa}.join-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:12px var(--space-6);border-radius:var(--radius-full);font-size:.9rem;font-weight:700;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);white-space:nowrap;border:none;font-family:inherit}.join-btn:disabled{opacity:.5;cursor:not-allowed}.join-btn-primary{background:linear-gradient(135deg,var(--brand-500),var(--brand-600));color:#fff;box-shadow:0 4px 16px #3b82f640}.join-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #3b82f659;background:linear-gradient(135deg,var(--brand-600),var(--brand-700))}.join-btn-secondary{background:var(--surface);color:var(--text-primary);border:1.5px solid var(--border)}.dark .join-btn-secondary{background:#1e293b80;border-color:#47556959}.join-btn-secondary:hover:not(:disabled){border-color:var(--brand-300);background:var(--brand-50)}.dark .join-btn-secondary:hover:not(:disabled){background:#3b82f61a;border-color:#3b82f666}.join-btn-ghost{background:transparent;color:var(--text-secondary)}.join-btn-ghost:hover:not(:disabled){background:var(--surface-3);color:var(--text-primary)}.dark .join-btn-ghost:hover:not(:disabled){background:#47556933}.join-btn-lg{padding:14px var(--space-8);font-size:1rem;font-weight:700}.join-btn-submit{background:linear-gradient(135deg,var(--success),var(--brand-600));color:#fff;box-shadow:0 4px 20px #10b9814d;font-size:1rem;padding:14px var(--space-8)}.join-btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 32px #10b98166}.join-spinner{width:18px;height:18px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:joinSpin .7s linear infinite}@keyframes joinSpin{to{transform:rotate(360deg)}}.join-form-nav{display:flex;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border)}.dark .join-form-nav{border-top-color:#47556926}.join-form-nav .join-btn-primary,.join-form-nav .join-btn-submit{margin-left:auto}.join-submit-error{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-lg);color:var(--error);font-size:.85rem;font-weight:500;margin-top:var(--space-4)}.dark .join-submit-error{background:#ef44441a;border-color:#ef444440;color:#fca5a5}.join-success-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-8);text-align:center;gap:var(--space-5);animation:joinFadeIn .5s cubic-bezier(.16,1,.3,1) both}.join-success-icon{display:flex;align-items:center;justify-content:center;width:96px;height:96px;border-radius:50%;background:linear-gradient(135deg,var(--success),var(--brand-600));color:#fff;box-shadow:0 12px 40px #10b9814d;animation:joinSuccessBounce .5s cubic-bezier(.16,1,.3,1) both}@keyframes joinSuccessBounce{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1)}}.join-success-title{font-size:2rem;font-weight:800;color:var(--text-primary);letter-spacing:-.03em;margin:0}.join-success-text{font-size:1rem;color:var(--text-secondary);max-width:480px;line-height:1.6;margin:0}.join-success-actions{margin-top:var(--space-4)}@media(max-width:768px){.join-hero{min-height:540px;padding:var(--space-6) var(--space-4)}.join-hero-stats{gap:var(--space-5)}.join-hero-stat-value{font-size:1.4rem}.join-benefits{padding:var(--space-10) var(--space-4)}.join-benefits-grid{grid-template-columns:1fr}.join-form-card{padding:var(--space-6)}.join-stepper{overflow-x:auto;scrollbar-width:none;padding-bottom:var(--space-2)}.join-stepper::-webkit-scrollbar{display:none}.join-step-label{font-size:.65rem}.join-step-circle{width:36px;height:36px;font-size:.78rem}.join-field-row{flex-direction:column;gap:var(--space-4)}.join-type-grid{grid-template-columns:repeat(2,1fr)}.join-hours-day{width:80px;font-size:.78rem}.join-map-picker{height:240px}.join-form-nav{flex-direction:column-reverse;gap:var(--space-3)}.join-form-nav .join-btn{width:100%}}@media(max-width:480px){.join-hero-title{font-size:2.2rem}.join-type-grid{grid-template-columns:1fr}.join-gallery-grid{grid-template-columns:repeat(2,1fr)}.join-form-card{padding:var(--space-5)}.join-hours-row{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.join-hours-day{width:auto}}.partner-review-page{min-height:100vh;background:var(--surface-2);display:flex;flex-direction:column}.dark .partner-review-page{background:linear-gradient(160deg,#0f172a,#0d1f3c 60%,#0a0f1e)}.pr-header{background:#ffffffb8;backdrop-filter:blur(32px) saturate(200%);-webkit-backdrop-filter:blur(32px) saturate(200%);border-bottom:1px solid var(--border);padding:var(--space-4) var(--space-6);flex-shrink:0}.dark .pr-header{background:#0b1120b8;border-bottom-color:#47556933}.pr-header-content{display:flex;align-items:center;gap:var(--space-4);max-width:1400px;margin:0 auto}.pr-back-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;flex-shrink:0;transition:all .25s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-sm)}.dark .pr-back-btn{background:#1e293b99;border-color:#47556966}.pr-back-btn:hover{background:var(--brand-50);border-color:var(--brand-200);color:var(--brand-600);transform:translate(-2px) scale(1.05)}.dark .pr-back-btn:hover{background:#3b82f61f;color:#60a5fa}.pr-header-text{flex:1}.pr-header-text h1{font-size:1.5rem;font-weight:800;color:var(--text-primary);margin:0;letter-spacing:-.02em}.pr-header-text p{font-size:.85rem;color:var(--text-muted);margin:2px 0 0}.pr-header-badge{display:inline-flex;align-items:center;gap:6px;padding:8px var(--space-4);background:linear-gradient(135deg,var(--brand-50),rgba(6,182,212,.06));border:1px solid var(--brand-200);border-radius:var(--radius-full);color:var(--brand-600);font-size:.78rem;font-weight:700;white-space:nowrap}.dark .pr-header-badge{background:#3b82f61a;border-color:#3b82f640;color:#60a5fa}.pr-stats{display:flex;gap:var(--space-3);padding:var(--space-4) var(--space-6);max-width:1400px;margin:0 auto;width:100%;flex-wrap:wrap}.pr-stat-card{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-3) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-sm);min-width:100px}.dark .pr-stat-card{background:#1e293b66;border-color:#47556940}.pr-stat-card:hover{transform:translateY(-3px);border-color:var(--brand-200);box-shadow:var(--shadow-md)}.dark .pr-stat-card:hover{border-color:#3b82f64d}.pr-stat-card.active{background:linear-gradient(135deg,var(--brand-500),var(--brand-600));border-color:var(--brand-600);box-shadow:0 4px 16px #3b82f640}.pr-stat-card.active .pr-stat-value,.pr-stat-card.active .pr-stat-label{color:#fff}.pr-stat-value{font-size:1.5rem;font-weight:800;color:var(--text-primary);letter-spacing:-.02em}.pr-stat-label{font-size:.72rem;color:var(--text-muted);font-weight:600}.pr-toolbar{display:flex;gap:var(--space-3);padding:0 var(--space-6) var(--space-4);max-width:1400px;margin:0 auto;width:100%}.pr-search-wrap{flex:1;display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-4);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);transition:all .25s}.dark .pr-search-wrap{background:#1e293b80;border-color:#47556959}.pr-search-wrap:focus-within{border-color:var(--brand-400);box-shadow:0 0 0 4px #3b82f61a}.pr-search-wrap svg{color:var(--text-muted);flex-shrink:0}.pr-search-wrap input{flex:1;padding:11px 0;background:none;border:none;outline:none;color:var(--text-primary);font-size:.9rem;font-weight:500}.pr-search-wrap input::placeholder{color:var(--text-muted)}.pr-refresh-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;transition:all .25s;flex-shrink:0;box-shadow:var(--shadow-sm)}.dark .pr-refresh-btn{background:#1e293b80;border-color:#47556959}.pr-refresh-btn:hover:not(:disabled){color:var(--brand-600);border-color:var(--brand-200);transform:rotate(15deg)}.dark .pr-refresh-btn:hover:not(:disabled){color:#60a5fa;border-color:#3b82f64d}.pr-refresh-btn .spinning{animation:prSpin .8s linear infinite}@keyframes prSpin{to{transform:rotate(360deg)}}.pr-body{flex:1;padding:0 var(--space-6) var(--space-8);max-width:1400px;margin:0 auto;width:100%;overflow-y:auto}.pr-loading,.pr-error,.pr-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-16);text-align:center;color:var(--text-muted)}.pr-loading-spinner{width:40px;height:40px;border:3px solid rgba(59,130,246,.15);border-top-color:var(--brand-500);border-radius:50%;animation:prSpin .8s linear infinite}.pr-error svg{color:var(--error)}.pr-error p{font-size:.9rem}.pr-empty svg{color:var(--text-muted)}.pr-empty h3{font-size:1.1rem;color:var(--text-primary);margin:0}.pr-empty p{font-size:.875rem;margin:0}.pr-grid{display:grid;grid-template-columns:1fr 420px;gap:var(--space-5);align-items:flex-start}.pr-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4);align-content:start}.pr-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);overflow:hidden;cursor:pointer;text-align:left;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-sm);padding:0;font-family:inherit}.dark .pr-card{background:#1e293b66;border-color:#47556940}.pr-card:hover{transform:translateY(-4px);border-color:var(--brand-200);box-shadow:0 12px 32px #00000014,0 4px 12px #0000000a}.dark .pr-card:hover{border-color:#3b82f64d;box-shadow:0 12px 32px #0000004d}.pr-card.selected{border-color:var(--brand-500);box-shadow:0 0 0 3px #3b82f61f,0 12px 32px #3b82f61f}.dark .pr-card.selected{border-color:#3b82f680;box-shadow:0 0 0 3px #3b82f61a,0 12px 32px #3b82f626}.pr-card-image{position:relative;width:100%;height:140px;overflow:hidden;background:var(--surface-3)}.pr-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s cubic-bezier(.16,1,.3,1)}.pr-card:hover .pr-card-image img{transform:scale(1.08)}.pr-card-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;background:linear-gradient(135deg,var(--brand-50),rgba(6,182,212,.06))}.dark .pr-card-image-placeholder{background:linear-gradient(135deg,#3b82f614,#06b6d40a)}.pr-status-badge{position:absolute;top:var(--space-2);right:var(--space-2);display:inline-flex;align-items:center;gap:4px;padding:4px var(--space-3);border-radius:var(--radius-full);font-size:.68rem;font-weight:700;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:prBadgeIn .3s ease both}@keyframes prBadgeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.pr-status-badge.pending{background:#f59e0bd9;color:#fff}.pr-status-badge.approved{background:#10b981d9;color:#fff}.pr-status-badge.rejected{background:#ef4444d9;color:#fff}.pr-status-badge.changes{background:#3b82f6d9;color:#fff}.pr-card-body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1)}.pr-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.pr-card-type{font-size:.72rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.pr-card-name{font-size:1rem;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pr-card-location{font-size:.8rem;color:var(--text-muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pr-card-meta{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border)}.dark .pr-card-meta{border-top-color:#47556926}.pr-card-date{font-size:.72rem;color:var(--text-muted);font-weight:500}.pr-card-services{font-size:.72rem;color:var(--brand-600);font-weight:600}.dark .pr-card-services{color:#60a5fa}.pr-detail{position:sticky;top:var(--space-4);background:#ffffffb8;backdrop-filter:blur(32px) saturate(200%);-webkit-backdrop-filter:blur(32px) saturate(200%);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-2xl);overflow-y:auto;max-height:calc(100vh - 120px);box-shadow:0 12px 48px #0000000f,0 4px 16px #00000008;animation:prSlideIn .3s cubic-bezier(.16,1,.3,1) both;scrollbar-width:thin;scrollbar-color:var(--gray-300) transparent}.dark .pr-detail{background:#0f172ab8;border-color:#47556940;box-shadow:0 12px 48px #0003}.pr-detail::-webkit-scrollbar{width:4px}.pr-detail::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:2px}.dark .pr-detail::-webkit-scrollbar-thumb{background:var(--gray-700)}@keyframes prSlideIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.pr-detail-header{position:relative}.pr-detail-image{width:100%;height:200px;overflow:hidden;background:var(--surface-3)}.pr-detail-image img{width:100%;height:100%;object-fit:cover}.pr-detail-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3.5rem;background:linear-gradient(135deg,var(--brand-50),rgba(6,182,212,.06))}.dark .pr-detail-image-placeholder{background:linear-gradient(135deg,#3b82f614,#06b6d40a)}.pr-detail-title-row{padding:var(--space-5) var(--space-6) var(--space-4)}.pr-detail-title-row h2{font-size:1.4rem;font-weight:800;color:var(--text-primary);margin:var(--space-2) 0 4px;letter-spacing:-.02em}.pr-detail-title-row p{font-size:.85rem;color:var(--text-muted);margin:0;text-transform:capitalize}.pr-detail-section{padding:var(--space-4) var(--space-6);border-top:1px solid var(--border)}.dark .pr-detail-section{border-top-color:#47556926}.pr-detail-section h4{font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 var(--space-2)}.pr-detail-section p{font-size:.875rem;color:var(--text-secondary);line-height:1.6;margin:0 0 var(--space-1)}.pr-detail-link{display:inline-block;font-size:.82rem;color:var(--brand-600);font-weight:600;margin-top:var(--space-2);word-break:break-all}.dark .pr-detail-link{color:#60a5fa}.pr-detail-coords{font-size:.78rem;color:var(--text-muted);font-family:monospace}.pr-detail-hours{display:flex;flex-direction:column;gap:var(--space-1)}.pr-detail-hours-row{display:flex;gap:var(--space-4);font-size:.82rem}.pr-detail-day{width:60px;font-weight:700;color:var(--text-primary);text-transform:capitalize;flex-shrink:0}.pr-detail-services{display:flex;flex-wrap:wrap;gap:var(--space-2)}.pr-service-tag{padding:4px var(--space-3);background:var(--brand-50);border:1px solid var(--brand-200);border-radius:var(--radius-full);font-size:.75rem;font-weight:600;color:var(--brand-700)}.dark .pr-service-tag{background:#3b82f61a;border-color:#3b82f640;color:#93c5fd}.pr-detail-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--space-2)}.pr-detail-gallery-item{aspect-ratio:1;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border)}.dark .pr-detail-gallery-item{border-color:#47556933}.pr-detail-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.pr-detail-gallery-item:hover img{transform:scale(1.1)}.pr-detail-social{display:flex;flex-wrap:wrap;gap:var(--space-2)}.pr-social-link{padding:6px var(--space-4);background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-full);font-size:.78rem;font-weight:600;color:var(--text-secondary);text-transform:capitalize;transition:all .2s}.dark .pr-social-link{background:#47556933;border-color:#4755694d}.pr-social-link:hover{color:var(--brand-600);border-color:var(--brand-200);transform:translateY(-1px)}.dark .pr-social-link:hover{color:#60a5fa;border-color:#3b82f64d}.pr-detail-actions{padding:var(--space-5) var(--space-6) var(--space-6);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:var(--space-3)}.dark .pr-detail-actions{border-top-color:#47556926}.pr-notes-row{width:100%}.pr-notes-input{width:100%;padding:10px var(--space-4);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);font-size:.85rem;font-weight:500;outline:none;transition:all .25s;font-family:inherit}.dark .pr-notes-input{background:#1e293b80;border-color:#47556959}.pr-notes-input:focus{border-color:var(--brand-400);box-shadow:0 0 0 4px #3b82f61a}.dark .pr-notes-input:focus{border-color:#3b82f680}.pr-notes-input::placeholder{color:var(--text-muted)}.pr-action-buttons{display:flex;gap:var(--space-2)}.pr-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:12px var(--space-4);border-radius:var(--radius-full);font-size:.82rem;font-weight:700;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);white-space:nowrap;border:none;font-family:inherit;flex:1}.pr-btn:disabled{opacity:.5;cursor:not-allowed}.pr-btn-approve{background:linear-gradient(135deg,var(--success),var(--brand-600));color:#fff;box-shadow:0 4px 16px #10b98140}.pr-btn-approve:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #10b98159}.pr-btn-changes{background:var(--surface);color:var(--brand-600);border:1.5px solid var(--brand-200)}.dark .pr-btn-changes{background:#1e293b80;color:#60a5fa;border-color:#3b82f640}.pr-btn-changes:hover:not(:disabled){border-color:var(--brand-400);background:var(--brand-50);transform:translateY(-2px)}.dark .pr-btn-changes:hover:not(:disabled){background:#3b82f61a;border-color:#3b82f666}.pr-btn-reject{background:var(--surface);color:var(--error);border:1.5px solid rgba(239,68,68,.3)}.dark .pr-btn-reject{background:#1e293b80;border-color:#ef444440}.pr-btn-reject:hover:not(:disabled){background:#ef444414;border-color:var(--error);transform:translateY(-2px)}.dark .pr-btn-reject:hover:not(:disabled){background:#ef44441a}.pr-btn-secondary{background:var(--surface);color:var(--text-primary);border:1.5px solid var(--border)}.dark .pr-btn-secondary{background:#1e293b80;border-color:#47556959}.pr-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:prSpin .7s linear infinite}.pr-toast{position:fixed;bottom:var(--space-8);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-full);font-size:.85rem;font-weight:600;z-index:9999;animation:prToastIn .3s cubic-bezier(.16,1,.3,1) both;box-shadow:0 8px 32px #00000026}.pr-toast.success{background:linear-gradient(135deg,var(--success),var(--brand-600));color:#fff}.pr-toast.error{background:var(--error);color:#fff}@keyframes prToastIn{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}@media(max-width:1024px){.pr-grid{grid-template-columns:1fr}.pr-detail{position:relative;top:0;max-height:none}}@media(max-width:768px){.pr-header{padding:var(--space-3) var(--space-4)}.pr-header-content{gap:var(--space-2)}.pr-header-text h1{font-size:1.2rem}.pr-header-text p{font-size:.75rem}.pr-header-badge{display:none}.pr-stats{padding:var(--space-3) var(--space-4);gap:var(--space-2)}.pr-stat-card{min-width:80px;padding:var(--space-2) var(--space-3)}.pr-stat-value{font-size:1.2rem}.pr-toolbar{padding:0 var(--space-4) var(--space-3)}.pr-body{padding:0 var(--space-4) var(--space-6)}.pr-list{grid-template-columns:1fr}.pr-action-buttons{flex-direction:column}.pr-btn{width:100%}}.trips-page{min-height:100vh;background:var(--surface-2);display:flex;flex-direction:column}.dark .trips-page{background:linear-gradient(160deg,#0f172a,#0d1f3c,#0a0f1e)}.trips-header{background:#ffffffb8;backdrop-filter:blur(32px) saturate(200%);-webkit-backdrop-filter:blur(32px) saturate(200%);border-bottom:1px solid var(--border);padding:var(--space-4) var(--space-6);flex-shrink:0;position:sticky;top:0;z-index:100}.dark .trips-header{background:#0b1120b8;border-bottom-color:#47556933}.trips-header-content{display:flex;align-items:center;gap:var(--space-4);max-width:1200px;margin:0 auto}.trips-back-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;flex-shrink:0;transition:all .25s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-sm)}.dark .trips-back-btn{background:#1e293b99;border-color:#47556966}.trips-back-btn:hover{background:var(--brand-50);border-color:var(--brand-200);color:var(--brand-600);transform:translate(-2px) scale(1.05)}.dark .trips-back-btn:hover{background:#3b82f61f;color:#60a5fa;border-color:#3b82f64d}.trips-back-btn:active{transform:scale(.95)}.trips-header h1{flex:1;font-size:1.5rem;font-weight:800;color:var(--text-primary);margin:0;letter-spacing:-.02em}.trips-main{flex:1;overflow-y:auto;padding:var(--space-6) var(--space-4)}.trips-container{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-6)}.trips-selected-place-banner{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);animation:tripsFadeInUp .5s cubic-bezier(.16,1,.3,1)}.dark .trips-selected-place-banner{background:#1e293b66;border-color:#47556940}.trips-selected-place-info{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0}.trips-selected-place-img{width:56px;height:56px;border-radius:var(--radius-lg);object-fit:cover;flex-shrink:0;box-shadow:var(--shadow-sm)}.trips-selected-place-info h3{font-size:1rem;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.01em}.trips-selected-place-info p{font-size:.82rem;color:var(--text-muted);margin:2px 0 0}.trips-ongoing-banner{background:linear-gradient(135deg,#10b98114,#06b6d40f);border:1px solid rgba(16,185,129,.2);border-radius:var(--radius-2xl);padding:var(--space-5) var(--space-6);box-shadow:0 4px 24px #10b98114;animation:tripsFadeInUp .5s cubic-bezier(.16,1,.3,1) .05s both}.dark .trips-ongoing-banner{background:linear-gradient(135deg,#10b9810f,#06b6d40a);border-color:#10b98126}.trips-ongoing-content{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.trips-ongoing-icon{width:48px;height:48px;border-radius:var(--radius-xl);background:linear-gradient(135deg,#10b981,#059669);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 6px 20px #10b9814d;animation:tripsPulse 2.5s ease-in-out infinite}@keyframes tripsPulse{0%,to{box-shadow:0 6px 20px #10b9814d}50%{box-shadow:0 6px 28px #10b98180}}.trips-ongoing-info{flex:1;min-width:120px}.trips-ongoing-info h3{font-size:1.05rem;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.01em}.trips-ongoing-info p{font-size:.82rem;color:var(--text-secondary);margin:4px 0 0}.trips-ongoing-progress{display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:140px}.trips-progress-bar{width:140px;height:6px;background:#10b98126;border-radius:var(--radius-full);overflow:hidden}.trips-progress-fill{height:100%;background:linear-gradient(90deg,#10b981,#06b6d4);border-radius:var(--radius-full);transition:width .8s cubic-bezier(.16,1,.3,1)}.trips-progress-text{font-size:.72rem;color:#059669;font-weight:600}.dark .trips-progress-text{color:#34d399}.trips-search-section{display:flex;flex-direction:column;gap:var(--space-4)}.trips-search-box{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-4);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);transition:all .25s}.dark .trips-search-box{background:#1e293b80;border-color:#47556959}.trips-search-box svg{color:var(--text-muted);flex-shrink:0}.trips-search-box:focus-within{border-color:var(--brand-400);box-shadow:0 0 0 4px #3b82f61a}.dark .trips-search-box:focus-within{border-color:#3b82f680}.trips-search-input{flex:1;padding:12px 0;background:none;border:none;outline:none;color:var(--text-primary);font-size:.9rem;font-weight:500;font-family:inherit}.trips-search-input::placeholder{color:var(--text-muted)}.trips-filter-tabs{display:flex;gap:var(--space-2);flex-wrap:wrap}.trips-filter-tab{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);font-family:inherit;box-shadow:var(--shadow-sm)}.dark .trips-filter-tab{background:#1e293b80;border-color:#4755694d}.trips-filter-tab:hover{border-color:var(--brand-200);color:var(--text-primary);transform:translateY(-2px)}.dark .trips-filter-tab:hover{border-color:#3b82f64d}.trips-filter-tab.active{background:linear-gradient(135deg,var(--brand-500),var(--brand-600));border-color:var(--brand-600);color:#fff;box-shadow:0 4px 16px #3b82f640}.trips-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;background:#00000014;border-radius:var(--radius-full);font-size:.72rem;font-weight:700;color:var(--text-secondary)}.trips-filter-tab.active .trips-tab-badge{background:#ffffff40;color:#fff}.dark .trips-tab-badge{background:#ffffff14;color:var(--text-secondary)}.trips-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-5)}.trips-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);overflow:hidden;transition:all .35s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-sm);animation:tripsFadeInUp .5s cubic-bezier(.16,1,.3,1) both}.dark .trips-card{background:#1e293b66;border-color:#47556940}.trips-card:nth-child(1){animation-delay:.03s}.trips-card:nth-child(2){animation-delay:.06s}.trips-card:nth-child(3){animation-delay:.09s}.trips-card:nth-child(4){animation-delay:.12s}.trips-card:nth-child(5){animation-delay:.15s}.trips-card:nth-child(6){animation-delay:.18s}.trips-card:nth-child(7){animation-delay:.21s}.trips-card:nth-child(8){animation-delay:.24s}.trips-card:hover{transform:translateY(-6px);border-color:var(--brand-200);box-shadow:0 16px 48px #0000001a,0 4px 12px #0000000a}.dark .trips-card:hover{border-color:#3b82f64d;box-shadow:0 16px 48px #0000004d}.trips-card-image{position:relative;width:100%;height:200px;overflow:hidden;background:var(--surface-3)}.trips-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.16,1,.3,1)}.trips-card:hover .trips-card-image img{transform:scale(1.08)}.trips-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.5) 0%,rgba(0,0,0,.1) 40%,transparent 70%);pointer-events:none}.trips-card-status{position:absolute;top:var(--space-3);right:var(--space-3);z-index:1}.trips-status-badge{display:inline-flex;align-items:center;padding:5px 14px;border-radius:var(--radius-full);font-size:.72rem;font-weight:700;color:#fff;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);letter-spacing:.02em;box-shadow:0 2px 8px #00000026;animation:tripsBadgeIn .3s ease both}@keyframes tripsBadgeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.trips-card-content{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);flex:1}.trips-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.trips-card-header h3{font-size:1.15rem;font-weight:800;color:var(--text-primary);margin:0;letter-spacing:-.02em;line-height:1.25}.trips-card-country{font-size:.82rem;color:var(--text-muted);margin:4px 0 0;font-weight:500}.trips-card-heart{color:var(--text-muted);flex-shrink:0;transition:all .25s;cursor:pointer;margin-top:2px}.trips-card-heart:hover{color:#f43f5e;transform:scale(1.2)}.trips-card-dates{display:flex;align-items:center;gap:6px;font-size:.82rem;color:var(--text-secondary);font-weight:500}.trips-card-dates svg{color:var(--brand-500);flex-shrink:0}.trips-card-duration{color:var(--text-muted);font-weight:600;font-size:.78rem}.trips-card-progress{display:flex;align-items:center;gap:var(--space-2)}.trips-mini-progress-bar{flex:1;height:5px;background:#10b98126;border-radius:var(--radius-full);overflow:hidden}.trips-mini-progress-fill{height:100%;background:linear-gradient(90deg,#10b981,#06b6d4);border-radius:var(--radius-full);transition:width .8s cubic-bezier(.16,1,.3,1)}.trips-mini-progress-text{font-size:.72rem;color:#059669;font-weight:600;white-space:nowrap}.dark .trips-mini-progress-text{color:#34d399}.trips-card-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--border)}.dark .trips-card-footer{border-top-color:#47556926}.trips-card-budget{display:flex;align-items:center;gap:6px;font-size:.88rem;font-weight:700;color:var(--text-primary)}.trips-card-budget svg{color:var(--brand-500);flex-shrink:0}.trips-budget-dual{display:block;font-size:.72rem;color:var(--text-muted);font-weight:500}.trips-card-travelers{display:flex;align-items:center;gap:5px;font-size:.82rem;color:var(--text-secondary);font-weight:600}.trips-card-travelers svg{color:var(--text-muted);flex-shrink:0}.trips-card-actions-row{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-1)}.trips-card-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;padding:11px var(--space-4);background:linear-gradient(135deg,var(--brand-500),var(--brand-600));color:#fff;border:none;border-radius:var(--radius-full);font-size:.82rem;font-weight:700;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);font-family:inherit;box-shadow:0 3px 12px #3b82f640}.trips-card-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f659}.trips-card-btn:active{transform:scale(.97)}.trips-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-16) var(--space-4);text-align:center;animation:tripsFadeInUp .5s cubic-bezier(.16,1,.3,1)}.trips-empty svg{color:var(--text-muted);opacity:.4;animation:tripsFloat 4s ease-in-out infinite}@keyframes tripsFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.trips-empty h3{font-size:1.2rem;font-weight:700;color:var(--text-primary);margin:0}.trips-empty p{font-size:.88rem;color:var(--text-muted);margin:0;max-width:360px}.trips-page .dashboard-loading{display:flex;align-items:center;justify-content:center;min-height:300px}.trips-page .auth-loading-spinner{width:40px;height:40px;border:3px solid rgba(59,130,246,.15);border-top-color:var(--brand-500);border-radius:50%;animation:tripsSpin .8s linear infinite}@keyframes tripsSpin{to{transform:rotate(360deg)}}.trips-page .auth-error-banner{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-5);background:#ef444414;border:1px solid rgba(239,68,68,.25);border-radius:var(--radius-xl);color:#f87171;font-size:.88rem;font-weight:500;animation:tripsShake .4s ease}@keyframes tripsShake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@media(max-width:768px){.trips-header{padding:var(--space-3) var(--space-4)}.trips-header h1{font-size:1.2rem}.trips-main{padding:var(--space-4) var(--space-3)}.trips-container{gap:var(--space-4)}.trips-grid{grid-template-columns:1fr;gap:var(--space-4)}.trips-card-image{height:170px}.trips-card-content{padding:var(--space-4)}.trips-card-header h3{font-size:1.05rem}.trips-ongoing-content{flex-direction:column;align-items:flex-start}.trips-ongoing-progress{align-items:flex-start;width:100%}.trips-progress-bar{width:100%}.trips-selected-place-banner{flex-direction:column;align-items:flex-start}.trips-filter-tab{padding:8px 14px;font-size:.78rem}}@media(max-width:420px){.trips-grid{grid-template-columns:1fr}.trips-card-actions-row{flex-direction:column}.trips-card-btn{width:100%}}@keyframes tripsFadeInUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.favorites-page{min-height:100dvh;background:linear-gradient(180deg,var(--surface-2) 0%,var(--surface) 40%);display:flex;flex-direction:column}.dark .favorites-page{background:linear-gradient(180deg,#0b1120,#0f172a 40%)}.favorites-header{position:sticky;top:0;z-index:50;background:#ffffffb8;backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);border-bottom:1px solid rgba(255,255,255,.08);transition:box-shadow .3s ease}.dark .favorites-header{background:#0b1120b8;border-bottom-color:#47556926}.favorites-header-content{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);max-width:1200px;margin:0 auto;padding:var(--space-4) var(--space-6)}.favorites-back-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;flex-shrink:0;transition:all .25s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-sm)}.favorites-back-btn:hover{background:var(--brand-50);border-color:var(--brand-200);color:var(--brand-600);transform:translate(-2px) scale(1.05)}.dark .favorites-back-btn{background:#1e293b99;border-color:#47556966}.dark .favorites-back-btn:hover{background:#3b82f61f;border-color:#3b82f666;color:#60a5fa}.favorites-header-title{display:flex;align-items:center;gap:var(--space-3)}.favorites-header-title h1{font-size:1.5rem;font-weight:800;letter-spacing:-.03em;margin:0;background:linear-gradient(135deg,var(--brand-600),var(--accent));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.dark .favorites-header-title h1{background:linear-gradient(135deg,#60a5fa,#22d3ee);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.favorites-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 8px;background:linear-gradient(135deg,var(--brand-500),var(--brand-600));color:#fff;font-size:.8rem;font-weight:800;border-radius:var(--radius-full);box-shadow:0 2px 10px #3b82f640}.favorites-main{flex:1;width:100%}.favorites-container{max-width:1200px;margin:0 auto;padding:var(--space-6) var(--space-6) var(--space-12);display:flex;flex-direction:column;gap:var(--space-6)}.favorites-controls{display:flex;align-items:center;gap:var(--space-3)}.favorites-search-box{flex:1;display:flex;align-items:center;gap:var(--space-2);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-full);padding:0 var(--space-4);height:48px;box-shadow:var(--shadow-sm);transition:all .3s cubic-bezier(.16,1,.3,1)}.favorites-search-box:focus-within{border-color:var(--brand-400);box-shadow:0 0 0 4px #3b82f61a,var(--shadow-sm)}.dark .favorites-search-box{background:#1e293b80;border-color:#47556959}.dark .favorites-search-box:focus-within{border-color:#3b82f680;box-shadow:0 0 0 4px #3b82f614}.favorites-search-box svg{color:var(--text-muted);flex-shrink:0;transition:color .2s}.favorites-search-box:focus-within svg{color:var(--brand-500)}.favorites-search-input{flex:1;background:none;border:none;outline:none;color:var(--text-primary);font-size:.9rem;font-weight:500;padding:12px 0;min-width:0}.favorites-search-input::placeholder{color:var(--text-muted)}.favorites-view-toggle{display:flex;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);padding:3px;box-shadow:var(--shadow-sm);flex-shrink:0}.dark .favorites-view-toggle{background:#1e293b80;border-color:#47556959}.favorites-view-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-full);color:var(--text-muted);cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1)}.favorites-view-btn:hover{color:var(--brand-600);background:var(--brand-50)}.dark .favorites-view-btn:hover{color:#93c5fd;background:#3b82f61a}.favorites-view-btn.active{background:linear-gradient(135deg,var(--brand-500),var(--brand-600));color:#fff;box-shadow:0 2px 10px #3b82f640}.dark .favorites-view-btn.active{background:linear-gradient(135deg,#3b82f666,#60a5fa4d);color:#eff6ff}.favorites-filters{display:flex;gap:var(--space-2);overflow-x:auto;scrollbar-width:none;padding:0 2px}.favorites-filters::-webkit-scrollbar{display:none}.favorites-filter-tab{display:inline-flex;align-items:center;gap:6px;padding:10px var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);font-size:.82rem;font-weight:700;white-space:nowrap;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-sm);flex-shrink:0}.dark .favorites-filter-tab{background:#1e293b80;border-color:#4755694d;color:#94a3b8}.favorites-filter-tab:hover{background:var(--brand-50);border-color:var(--brand-200);color:var(--brand-600);transform:translateY(-2px);box-shadow:0 6px 20px #3b82f61a}.dark .favorites-filter-tab:hover{background:#3b82f61a;border-color:#3b82f64d;color:#93c5fd}.favorites-filter-tab.active{background:linear-gradient(135deg,var(--brand-500),var(--brand-600));border-color:var(--brand-700);color:#fff;box-shadow:0 4px 16px #3b82f640}.dark .favorites-filter-tab.active{background:linear-gradient(135deg,#3b82f659,#60a5fa40);border-color:#3b82f680;color:#eff6ff}.favorites-filter-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;font-size:.7rem;font-weight:800;border-radius:var(--radius-full);background:var(--surface-3);color:var(--text-muted);transition:all .2s}.dark .favorites-filter-badge{background:#4755694d;color:#94a3b8}.favorites-filter-tab.active .favorites-filter-badge{background:#ffffff40;color:#fff}.favorites-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-5);animation:fadeIn .4s ease both}.favorites-list{display:flex;flex-direction:column;gap:var(--space-3);animation:fadeIn .4s ease both}.favorites-grid-item{position:relative;animation:slideUp .4s cubic-bezier(.16,1,.3,1) both}.favorites-grid-item:nth-child(1){animation-delay:0ms}.favorites-grid-item:nth-child(2){animation-delay:40ms}.favorites-grid-item:nth-child(3){animation-delay:80ms}.favorites-grid-item:nth-child(4){animation-delay:.12s}.favorites-grid-item:nth-child(5){animation-delay:.16s}.favorites-grid-item:nth-child(6){animation-delay:.2s}.favorites-grid-item:nth-child(7){animation-delay:.24s}.favorites-grid-item:nth-child(8){animation-delay:.28s}.favorites-grid-item:nth-child(9){animation-delay:.32s}.favorites-list-item{position:relative;animation:slideUp .35s cubic-bezier(.16,1,.3,1) both}.favorites-list-item:nth-child(1){animation-delay:0ms}.favorites-list-item:nth-child(2){animation-delay:30ms}.favorites-list-item:nth-child(3){animation-delay:60ms}.favorites-list-item:nth-child(4){animation-delay:90ms}.favorites-list-item:nth-child(5){animation-delay:.12s}.favorites-list-item:nth-child(6){animation-delay:.15s}.favorites-list-item:nth-child(7){animation-delay:.18s}.favorites-list-item:nth-child(8){animation-delay:.21s}.favorites-remove-btn{position:absolute;top:-6px;right:-6px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:#ef4444e6;border:2px solid var(--surface);border-radius:50%;color:#fff;cursor:pointer;z-index:10;opacity:0;transform:scale(.6);transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 14px #ef44444d}.favorites-grid-item:hover .favorites-remove-btn,.favorites-list-item:hover .favorites-remove-btn{opacity:1;transform:scale(1)}.favorites-remove-btn:hover{background:var(--error);transform:scale(1.15) rotate(8deg);box-shadow:0 6px 20px #ef444466}.favorites-remove-btn:active{transform:scale(.95)}.dark .favorites-remove-btn{border-color:#0f172a}.favorites-loading{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-5)}.favorites-skeleton-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-sm)}.dark .favorites-skeleton-card{background:#0f172a80;border-color:#47556933}.favorites-skeleton-image{width:100%;aspect-ratio:16 / 10;background:linear-gradient(90deg,var(--surface-3) 25%,var(--surface-2) 50%,var(--surface-3) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}.favorites-skeleton-content{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}.favorites-skeleton-title{height:18px;width:70%;background:var(--surface-3);border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--surface-3) 25%,var(--surface-2) 50%,var(--surface-3) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}.favorites-skeleton-text{height:12px;width:100%;background:var(--surface-3);border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--surface-3) 25%,var(--surface-2) 50%,var(--surface-3) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}.favorites-skeleton-text.short{width:50%}.favorites-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem var(--space-6);gap:var(--space-4);animation:scaleIn .35s cubic-bezier(.16,1,.3,1) both}.favorites-empty svg{color:var(--brand-400);opacity:.6}.dark .favorites-empty svg{color:#60a5fa;opacity:.5}.favorites-empty h3{font-size:1.25rem;font-weight:800;color:var(--text-primary);margin:0;letter-spacing:-.02em}.dark .favorites-empty h3{color:#f1f5f9}.favorites-empty p{font-size:.9rem;color:var(--text-muted);margin:0;max-width:380px;line-height:1.6}.dark .favorites-empty p{color:#64748b}@media(max-width:768px){.favorites-header-content{padding:var(--space-3) var(--space-4)}.favorites-header-title h1{font-size:1.25rem}.favorites-container{padding:var(--space-4) var(--space-4) var(--space-10);gap:var(--space-4)}.favorites-grid{grid-template-columns:1fr;gap:var(--space-4)}.favorites-controls{flex-direction:column;gap:var(--space-3)}.favorites-search-box{width:100%}.favorites-view-toggle{align-self:flex-end}.favorites-filter-tab{padding:8px var(--space-3);font-size:.78rem}.favorites-loading{grid-template-columns:1fr}}@media(max-width:480px){.favorites-header-title h1{font-size:1.1rem}.favorites-back-btn{width:40px;height:40px}.favorites-container{padding:var(--space-3) var(--space-3) var(--space-8)}.favorites-grid{gap:var(--space-3)}.favorites-empty{padding:3rem var(--space-4)}}.profile-page{min-height:100dvh;background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(59,130,246,.08),transparent 60%),radial-gradient(ellipse 60% 40% at 100% 100%,rgba(6,182,212,.06),transparent 50%),var(--surface-2)}.dark .profile-page{background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(37,99,235,.12),transparent 60%),radial-gradient(ellipse 60% 40% at 100% 100%,rgba(6,182,212,.08),transparent 50%),linear-gradient(160deg,#0f172a,#0d1f3c 60%,#0a0f1e)}.profile-header{position:sticky;top:0;z-index:50;padding:var(--space-3) var(--space-4);background:#ffffffb8;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid rgba(255,255,255,.5)}.dark .profile-header{background:#0f172ab8;border-bottom:1px solid rgba(71,85,105,.25)}.profile-header-content{max-width:860px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.profile-header h1{font-size:1.35rem;font-weight:800;letter-spacing:-.03em}.profile-back-btn,.profile-logout-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);transition:all .2s cubic-bezier(.16,1,.3,1)}.profile-back-btn{color:var(--text-primary);background:#fff9;border:1px solid var(--border)}.dark .profile-back-btn{background:#1e293b99;border-color:#47556966}.profile-back-btn:hover{background:var(--brand-50);border-color:var(--brand-200);color:var(--brand-600);transform:translate(-2px)}.dark .profile-back-btn:hover{background:#2563eb26;border-color:#3b82f666;color:#60a5fa}.profile-logout-btn{color:#ef4444;background:#ef444414;border:1px solid rgba(239,68,68,.15)}.profile-logout-btn:hover{background:#ef444426;border-color:#ef44444d;transform:scale(1.05)}.profile-main{padding:var(--space-6) var(--space-4) var(--space-12)}.profile-container{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-5)}.profile-hero{position:relative;border-radius:var(--radius-2xl);overflow:hidden;border:1px solid rgba(255,255,255,.6);box-shadow:0 8px 32px #00000014,0 2px 8px #0000000a;animation:slideUp .5s cubic-bezier(.16,1,.3,1) both}.dark .profile-hero{border-color:#4755694d;box-shadow:0 8px 32px #0003,0 2px 8px #0000001a}.profile-hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));opacity:.12}.dark .profile-hero-bg{opacity:.18}.profile-hero-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 80%,rgba(59,130,246,.15),transparent 50%),radial-gradient(circle at 80% 20%,rgba(6,182,212,.15),transparent 50%)}.profile-hero-content{position:relative;display:flex;align-items:center;gap:var(--space-6);padding:var(--space-8) var(--space-6);background:#ffffff8c;backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%)}.dark .profile-hero-content{background:#1e293b80}.profile-avatar-container{position:relative;flex-shrink:0}.profile-avatar{width:96px;height:96px;border-radius:var(--radius-full);overflow:hidden;border:3px solid rgba(255,255,255,.8);box-shadow:0 4px 16px #0000001f,0 0 0 1px #3b82f633;position:relative;cursor:pointer;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease}.dark .profile-avatar{border-color:#47556980;box-shadow:0 4px 16px #0000004d,0 0 0 1px #3b82f64d}.profile-avatar:hover{transform:scale(1.05);box-shadow:0 6px 24px #00000026,0 0 0 2px #3b82f64d}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2.2rem;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end))}.profile-avatar-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0006;color:#fff;opacity:0;transition:opacity .25s ease}.profile-avatar:hover .profile-avatar-overlay{opacity:1}.profile-avatar-menu{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-2);display:flex;flex-direction:column;gap:2px;z-index:100;animation:scaleIn .2s ease both;min-width:160px}.profile-avatar-menu button{padding:var(--space-2) var(--space-3);font-size:.85rem;font-weight:600;color:var(--text-primary);border-radius:var(--radius);text-align:left;transition:background .15s ease}.profile-avatar-menu button:hover{background:var(--brand-50);color:var(--brand-600)}.dark .profile-avatar-menu button:hover{background:#3b82f61f;color:#60a5fa}.profile-info{flex:1;min-width:0}.profile-name-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.profile-name-row h2{font-size:1.5rem;font-weight:800;letter-spacing:-.03em;margin:0}.profile-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;font-size:.72rem;font-weight:700;color:var(--warning);background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);border-radius:var(--radius-full);letter-spacing:.01em}.profile-email{font-size:.85rem;color:var(--text-secondary);margin:4px 0 0;line-height:1.4}.profile-location{display:flex;align-items:center;gap:6px;margin-top:var(--space-2);font-size:.82rem;font-weight:600;color:var(--text-secondary)}.profile-location svg{flex-shrink:0;color:var(--brand-500)}.dark .profile-location svg{color:#60a5fa}.profile-section{background:#ffffffa6;backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-xl);box-shadow:0 4px 24px #0000000f,0 1px 3px #0000000a;overflow:hidden;transition:box-shadow .3s cubic-bezier(.16,1,.3,1);animation:slideUp .4s cubic-bezier(.16,1,.3,1) both}.profile-section:hover{box-shadow:0 8px 32px #0000001a,0 2px 8px #0000000f}.dark .profile-section{background:#1e293b80;border-color:#4755694d;box-shadow:0 4px 24px #0003,0 1px 3px #0000001a}.dark .profile-section:hover{box-shadow:0 8px 32px #0000004d,0 2px 8px #00000026}.profile-section-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-3);border-bottom:1px solid rgba(148,163,184,.15)}.profile-section-header svg{flex-shrink:0;width:20px;height:20px;color:var(--brand-600);transition:transform .3s cubic-bezier(.16,1,.3,1)}.dark .profile-section-header svg{color:#60a5fa}.profile-section:hover .profile-section-header svg{transform:scale(1.1) rotate(5deg)}.profile-section-header h3{font-size:.95rem;font-weight:700;letter-spacing:-.01em;margin:0}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);padding:var(--space-5)}.profile-stat-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:#ffffff80;border:1px solid rgba(148,163,184,.12);transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease}.dark .profile-stat-card{background:#1e293b66;border-color:#47556933}.profile-stat-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px #00000014}.dark .profile-stat-card:hover{box-shadow:0 6px 20px #0003}.profile-stat-icon{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);color:#fff;transition:transform .3s cubic-bezier(.16,1,.3,1)}.profile-stat-card:hover .profile-stat-icon{transform:scale(1.1)}.profile-stat-icon.countries{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.profile-stat-icon.trips{background:linear-gradient(135deg,#06b6d4,#0891b2)}.profile-stat-icon.favorites{background:linear-gradient(135deg,#f59e0b,#d97706)}.profile-stat-content{min-width:0}.profile-stat-value{font-size:1.5rem;font-weight:800;line-height:1.1;color:var(--text-primary);letter-spacing:-.02em}.profile-stat-label{font-size:.72rem;font-weight:600;color:var(--text-muted);margin-top:2px;line-height:1.3}.profile-info-list{padding:0 var(--space-5)}.profile-info-row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid rgba(148,163,184,.1)}.profile-info-row:last-child{border-bottom:none}.profile-info-row-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);background:#3b82f614;color:var(--brand-600);transition:background .2s ease}.dark .profile-info-row-icon{background:#3b82f61f;color:#60a5fa}.profile-info-row-content{flex:1;min-width:0}.profile-info-row-label{font-size:.72rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.profile-info-row-value{font-size:.9rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-destinations-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);padding:var(--space-5)}.profile-dest-card{border-radius:var(--radius-lg);overflow:hidden;background:#ffffff80;border:1px solid rgba(148,163,184,.12);transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease}.dark .profile-dest-card{background:#1e293b66;border-color:#47556933}.profile-dest-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.dark .profile-dest-card:hover{box-shadow:0 8px 24px #00000040}.profile-dest-image{width:100%;height:120px;overflow:hidden}.profile-dest-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s cubic-bezier(.16,1,.3,1)}.profile-dest-card:hover .profile-dest-image img{transform:scale(1.08)}.profile-dest-content{padding:var(--space-3) var(--space-4)}.profile-dest-content h4{font-size:.85rem;font-weight:700;margin:0 0 4px;color:var(--text-primary)}.profile-dest-rating{display:flex;align-items:center;gap:4px;font-size:.78rem;font-weight:600;color:var(--warning)}.profile-dest-rating svg{color:var(--warning)}.profile-dest-empty{padding:var(--space-6) var(--space-5);text-align:center;font-size:.85rem;color:var(--text-muted)}.profile-actions{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5)}.profile-action-btn{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);font-size:.9rem;font-weight:600;border-radius:var(--radius-lg);cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);text-align:left}.profile-action-btn svg{flex-shrink:0;width:20px;height:20px}.profile-action-btn .profile-action-chevron{margin-left:auto;color:var(--text-muted);transition:transform .3s cubic-bezier(.16,1,.3,1);width:18px;height:18px}.profile-action-btn:hover .profile-action-chevron{transform:translate(4px);color:var(--brand-500)}.profile-edit-btn,.profile-settings-btn{color:var(--text-primary);background:#ffffff80;border:1px solid var(--border)}.dark .profile-edit-btn,.dark .profile-settings-btn{background:#1e293b66;border-color:#4755694d}.profile-edit-btn:hover,.profile-settings-btn:hover{background:var(--brand-50);border-color:var(--brand-200);color:var(--brand-600);transform:translate(4px)}.dark .profile-edit-btn:hover,.dark .profile-settings-btn:hover{background:#3b82f61a;border-color:#3b82f64d;color:#60a5fa}.profile-edit-btn svg,.profile-settings-btn svg{color:var(--brand-600)}.dark .profile-edit-btn svg,.dark .profile-settings-btn svg{color:#60a5fa}.profile-logout-action{color:#ef4444;background:#ef44440f;border:1px solid rgba(239,68,68,.15)}.profile-logout-action:hover{background:#ef44441f;border-color:#ef44444d;transform:translate(4px)}.profile-logout-action svg{color:#ef4444}.profile-logout-action:hover .profile-action-chevron{color:#ef4444}.profile-section:nth-of-type(2){animation-delay:60ms}.profile-section:nth-of-type(3){animation-delay:.12s}.profile-section:nth-of-type(4){animation-delay:.18s}.profile-section:nth-of-type(5){animation-delay:.24s}@media(max-width:768px){.profile-hero-content{flex-direction:column;text-align:center;padding:var(--space-6) var(--space-5)}.profile-name-row{justify-content:center}.profile-info{display:flex;flex-direction:column;align-items:center}.profile-location{justify-content:center}.profile-stats{grid-template-columns:1fr;gap:var(--space-3)}.profile-destinations-grid{grid-template-columns:1fr}.profile-header h1{font-size:1.2rem}.profile-main{padding:var(--space-4) var(--space-3) var(--space-10)}}@media(max-width:480px){.profile-avatar{width:80px;height:80px}.profile-name-row h2{font-size:1.25rem}.profile-stat-card{padding:var(--space-3)}.profile-stat-value{font-size:1.25rem}.profile-stat-icon{width:38px;height:38px}}.settings-page{min-height:100dvh;background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(59,130,246,.08),transparent 60%),radial-gradient(ellipse 60% 40% at 100% 100%,rgba(6,182,212,.06),transparent 50%),var(--surface-2)}.dark .settings-page{background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(37,99,235,.12),transparent 60%),radial-gradient(ellipse 60% 40% at 100% 100%,rgba(6,182,212,.08),transparent 50%),linear-gradient(160deg,#0f172a,#0d1f3c 60%,#0a0f1e)}.settings-header{position:sticky;top:0;z-index:50;padding:var(--space-3) var(--space-4);background:#ffffffb8;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid rgba(255,255,255,.5)}.dark .settings-header{background:#0f172ab8;border-bottom:1px solid rgba(71,85,105,.25)}.settings-header-content{max-width:860px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.settings-header h1{font-size:1.35rem;font-weight:800;letter-spacing:-.03em}.settings-back-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);color:var(--text-primary);background:#fff9;border:1px solid var(--border);transition:all .2s cubic-bezier(.16,1,.3,1)}.dark .settings-back-btn{background:#1e293b99;border-color:#47556966}.settings-back-btn:hover{background:var(--brand-50);border-color:var(--brand-200);color:var(--brand-600);transform:translate(-2px)}.dark .settings-back-btn:hover{background:#2563eb26;border-color:#3b82f666;color:#60a5fa}.settings-main{padding:var(--space-6) var(--space-4) var(--space-12)}.settings-container{max-width:860px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);align-items:start}.settings-section{background:#ffffffa6;backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-xl);box-shadow:0 4px 24px #0000000f,0 1px 3px #0000000a;overflow:hidden;transition:box-shadow .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1);animation:slideUp .4s cubic-bezier(.16,1,.3,1) both}.settings-section:hover{box-shadow:0 8px 32px #0000001a,0 2px 8px #0000000f}.dark .settings-section{background:#1e293b80;border-color:#4755694d;box-shadow:0 4px 24px #0003,0 1px 3px #0000001a}.dark .settings-section:hover{box-shadow:0 8px 32px #0000004d,0 2px 8px #00000026}.settings-section:nth-child(3),.settings-section:nth-child(4),.settings-section:nth-child(6),.settings-logout-section{grid-column:1 / -1}.settings-section-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-3);border-bottom:1px solid rgba(148,163,184,.15)}.settings-section-header svg{flex-shrink:0;width:20px;height:20px;color:var(--brand-600);transition:transform .3s cubic-bezier(.16,1,.3,1)}.dark .settings-section-header svg{color:#60a5fa}.settings-section:hover .settings-section-header svg{transform:scale(1.1) rotate(5deg)}.settings-section-header h2{font-size:.95rem;font-weight:700;letter-spacing:-.01em;margin:0}.settings-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid rgba(148,163,184,.1);transition:background .2s ease}.settings-item:last-child{border-bottom:none}.settings-item:hover{background:#3b82f608}.dark .settings-item:hover{background:#3b82f60f}.settings-item-info{flex:1;min-width:0}.settings-item-info h3{font-size:.88rem;font-weight:600;margin:0 0 2px;color:var(--text-primary)}.settings-item-info p{font-size:.76rem;color:var(--text-muted);margin:0;line-height:1.45}.settings-item-link{width:100%;text-align:left;cursor:pointer}.settings-item-link:hover{background:#3b82f60d}.dark .settings-item-link:hover{background:#3b82f614}.settings-toggle{flex-shrink:0;width:48px;height:28px;border-radius:var(--radius-full);background:#94a3b84d;border:1px solid rgba(148,163,184,.2);position:relative;transition:background .3s cubic-bezier(.16,1,.3,1),border-color .3s ease;cursor:pointer}.settings-toggle.active{background:linear-gradient(135deg,var(--brand-500),var(--accent));border-color:transparent;box-shadow:0 2px 8px #3b82f659}.settings-toggle-indicator{position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0003;transition:transform .3s cubic-bezier(.16,1,.3,1)}.settings-toggle.active .settings-toggle-indicator{transform:translate(20px)}.settings-select-wrapper{position:relative;flex-shrink:0}.settings-select-wrapper>svg{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-muted);transition:color .2s ease}.settings-select-wrapper:hover>svg{color:var(--brand-500)}.settings-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:8px 36px 8px 14px;font-size:.82rem;font-weight:600;color:var(--text-primary);background:#ffffffb3;border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);min-width:130px}.dark .settings-select{background:#1e293bb3;border-color:#47556966}.settings-select:hover:not(:disabled){border-color:var(--brand-400);background:var(--brand-50)}.dark .settings-select:hover:not(:disabled){background:#2563eb1a;border-color:#3b82f680}.settings-select:focus{border-color:var(--brand-500);box-shadow:0 0 0 3px #3b82f626}.settings-select:disabled{opacity:.5;cursor:not-allowed}.settings-refresh-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:.78rem;font-weight:600;color:var(--brand-600);background:#3b82f614;border:1px solid rgba(59,130,246,.2);border-radius:var(--radius);cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);flex-shrink:0}.dark .settings-refresh-btn{color:#60a5fa;background:#3b82f61f;border-color:#3b82f640}.settings-refresh-btn:hover:not(:disabled){background:#3b82f626;border-color:#3b82f659;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f626}.settings-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.settings-refresh-spinner{width:16px;height:16px;border:2px solid rgba(59,130,246,.2);border-top-color:var(--brand-600);border-radius:50%;animation:spin .7s linear infinite}.settings-rates-badge{display:inline-flex;align-items:center;gap:4px;margin-top:6px;padding:3px 8px;font-size:.68rem;font-weight:600;color:var(--warning);background:#f59e0b1a;border-radius:var(--radius-sm)}.settings-rates-updated{font-size:.72rem!important;color:var(--text-muted);display:block;margin-top:4px}.settings-chevron{flex-shrink:0;color:var(--text-muted);transition:transform .3s cubic-bezier(.16,1,.3,1),color .2s ease}.settings-chevron.open{transform:rotate(90deg);color:var(--brand-500)}.settings-item-link:hover .settings-chevron{color:var(--brand-500)}.settings-privacy-content{padding:0 var(--space-5) var(--space-4);background:#94a3b80d;border-bottom:1px solid rgba(148,163,184,.1);animation:fadeIn .3s ease both}.settings-privacy-text h4{font-size:.85rem;font-weight:700;color:var(--text-primary);margin:var(--space-4) 0 var(--space-2)}.settings-privacy-text h4:first-child{margin-top:var(--space-3)}.settings-privacy-text p{font-size:.78rem;color:var(--text-secondary);line-height:1.6;margin:0 0 var(--space-2)}.settings-version{flex-shrink:0;padding:4px 12px;font-size:.78rem;font-weight:700;color:var(--brand-600);background:#3b82f614;border-radius:var(--radius-full);letter-spacing:.02em}.dark .settings-version{color:#60a5fa;background:#3b82f61f}.settings-logout-section{padding:var(--space-5);background:transparent;border:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;display:flex;justify-content:center}.settings-logout-section:hover{box-shadow:none;transform:none}.settings-logout-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;max-width:320px;padding:12px var(--space-6);font-size:.9rem;font-weight:700;color:#ef4444;background:#ef444414;border:1.5px solid rgba(239,68,68,.2);border-radius:var(--radius-lg);cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1)}.settings-logout-btn:hover{background:#ef444426;border-color:#ef444459;transform:translateY(-2px);box-shadow:0 6px 20px #ef444426}.settings-logout-btn:active{transform:translateY(0)}.settings-section:nth-child(1){animation-delay:0ms}.settings-section:nth-child(2){animation-delay:50ms}.settings-section:nth-child(3){animation-delay:.1s}.settings-section:nth-child(4){animation-delay:.15s}.settings-section:nth-child(5){animation-delay:.2s}.settings-section:nth-child(6){animation-delay:.25s}@media(max-width:768px){.settings-container{grid-template-columns:1fr;gap:var(--space-4)}.settings-section:nth-child(3),.settings-section:nth-child(4),.settings-section:nth-child(6){grid-column:auto}.settings-header h1{font-size:1.2rem}.settings-main{padding:var(--space-4) var(--space-3) var(--space-10)}}@media(max-width:480px){.settings-item{padding:var(--space-3) var(--space-4);flex-wrap:wrap}.settings-item-info{width:100%}.settings-toggle,.settings-select-wrapper,.settings-refresh-btn{margin-top:var(--space-2)}.settings-select{min-width:110px}.settings-section-header{padding:var(--space-4) var(--space-4) var(--space-2)}}
