@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600&display=swap";:root{--theme-bg-light: #f8fafc;--theme-surface-light: rgba(255, 255, 255, .85);--theme-text-light: #0f172a;--theme-primary-light: #d904b5;--theme-accent-light: #ff9900;--theme-bg-dark: #0b0f19;--theme-surface-dark: rgba(30, 41, 59, .75);--theme-text-dark: #f8fafc;--theme-primary-dark: #f472b6;--theme-accent-dark: #fbbf24;--bg-color: var(--theme-bg-light);--surface-color: var(--theme-surface-light);--text-color: var(--theme-text-light);--primary-color: var(--theme-primary-light);--accent-color: var(--theme-accent-light);--border-color: rgba(15, 23, 42, .08);--card-shadow: 0 10px 30px -10px rgba(15, 23, 42, .08);--glass-blur: blur(12px);--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--safe-area-right: env(safe-area-inset-right, 0px)}[theme=dark]{--bg-color: var(--theme-bg-dark);--surface-color: var(--theme-surface-dark);--text-color: var(--theme-text-dark);--primary-color: var(--theme-primary-dark);--accent-color: var(--theme-accent-dark);--border-color: rgba(255, 255, 255, .08);--card-shadow: 0 10px 30px -10px rgba(0, 0, 0, .5)}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:hidden}body{background-color:var(--bg-color);color:var(--text-color);font-family:Inter,Outfit,sans-serif;transition:background-color .4s ease,color .4s ease;margin:0;padding:0;padding-left:var(--safe-area-left);padding-right:var(--safe-area-right);padding-bottom:var(--safe-area-bottom);line-height:1.6;-webkit-tap-highlight-color:transparent;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:Outfit,sans-serif;font-weight:600;letter-spacing:-.02em;color:var(--text-color)}.custom-header{background-color:var(--surface-color)!important;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--border-color)!important;padding-top:max(.6rem,var(--safe-area-top))!important;padding-bottom:.6rem!important;padding-left:clamp(.75rem,3vw,2.5rem)!important;padding-right:clamp(.75rem,3vw,2.5rem)!important;box-shadow:0 4px 30px #00000008;position:sticky;top:0;z-index:100;width:100%!important;box-sizing:border-box!important}.nav-links a{font-size:.95rem;font-weight:500;color:var(--text-color)!important;opacity:.85;padding:.5rem .85rem;border-radius:8px;transition:all .2s ease;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;justify-content:center;touch-action:manipulation}.nav-links a:hover,.nav-links a[highlight]{opacity:1;background-color:#d904b51f;color:var(--primary-color)!important}.custom-card{background-color:var(--surface-color)!important;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:16px;padding:1.25rem!important;box-shadow:var(--card-shadow);border:1px solid var(--border-color);transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease,border-color .3s ease;max-width:100%!important;box-sizing:border-box!important}.custom-card:hover{transform:translateY(-4px);border-color:#d904b540;box-shadow:0 20px 40px -15px #d904b526}.hero-section{background:linear-gradient(135deg,indigo,#d904b5,#f90);color:#fff;border-radius:24px;padding:4rem 2.5rem;text-align:center;box-shadow:0 20px 50px -15px #d904b559;position:relative;overflow:hidden;max-width:100%!important;box-sizing:border-box!important}.hero-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.15) 0%,transparent 50%);pointer-events:none}.hero-section h1{font-size:clamp(2rem,5vw,3.2rem);font-weight:700;margin-bottom:1rem;letter-spacing:-.03em;color:#fff}.hero-section p{font-size:clamp(1rem,2.5vw,1.25rem);max-width:650px;margin:0 auto 1.5rem;opacity:.95;font-weight:300}.v-button{font-weight:500;letter-spacing:-.01em;border-radius:10px;min-height:44px;touch-action:manipulation;transition:all .2s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) forwards}@keyframes homeCarouselLeft{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes homeCarouselRight{0%{transform:translate(-50%)}to{transform:translate(0)}}.home-carousel-wrapper{width:100%;display:flex;flex-direction:column;gap:.85rem;overflow:hidden}.home-carousel-row{width:100%;overflow:hidden}.home-carousel-track{display:flex;gap:0;width:max-content;animation:homeCarouselLeft var(--home-carousel-duration, 43.2s) linear infinite;will-change:transform;transform:translateZ(0);backface-visibility:hidden}.home-carousel-copy{display:flex;gap:.85rem;flex-shrink:0;padding-right:.85rem}.home-carousel-row-reverse .home-carousel-track{animation-name:homeCarouselRight}.home-carousel-wrapper:hover .home-carousel-track{animation-play-state:paused}.home-carousel-item{width:160px;height:160px;flex:0 0 auto;position:relative;overflow:visible;transition:transform .2s ease}.home-carousel-item:hover{transform:translateY(-2px)}.home-carousel-item-image{width:100%;height:100%;border-radius:12px;overflow:hidden;border:1px solid var(--border-color);background:#0f172a0a;box-shadow:0 8px 18px #0f172a14;transition:box-shadow .2s ease}.home-carousel-item:hover .home-carousel-item-image{box-shadow:0 12px 22px #d904b533}.home-carousel-tooltip{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%) translateY(4px);min-width:140px;max-width:240px;padding:.45rem .6rem;border-radius:10px;background:#0f172aeb;color:#f8fafc;font-size:.78rem;line-height:1.25;text-align:center;box-shadow:0 10px 26px #0f172a59;border:1px solid rgba(255,255,255,.12);opacity:0;visibility:hidden;transition:opacity .16s ease,transform .16s ease,visibility .16s;pointer-events:none;z-index:5}.home-carousel-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:6px;border-style:solid;border-color:rgba(15,23,42,.92) transparent transparent transparent}.home-carousel-item:hover .home-carousel-tooltip{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.home-carousel-item img{width:100%;height:100%;object-fit:cover}.activity-card-layout{display:flex!important;flex-direction:row!important;align-items:stretch!important;gap:1.5rem!important;width:100%!important;padding:1.25rem!important}.activity-card-img-wrapper{flex-shrink:0!important;width:240px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:12px!important;overflow:hidden!important;background-color:#ffffff0a!important;border:1px solid var(--border-color)!important}.activity-card-img-wrapper img{width:100%!important;height:100%!important;min-height:160px!important;object-fit:cover!important;border-radius:12px!important;transition:transform .3s ease!important}.activity-card-layout:hover .activity-card-img-wrapper img{transform:scale(1.04)!important}.activity-card-content{display:flex!important;flex-direction:column!important;flex-grow:1!important;gap:.75rem!important;width:100%!important;min-width:0!important}.hero-info-div{display:flex!important;justify-content:center!important;align-items:center!important;gap:2rem!important;margin:1.5rem 0!important;flex-wrap:wrap!important}.gps-grid-2col{display:grid!important;grid-template-columns:1fr 1fr!important;gap:1.5rem!important;width:100%!important}@media (max-width: 900px){.custom-header{padding-left:.75rem!important;padding-right:.75rem!important;flex-wrap:wrap!important;justify-content:space-between!important;gap:.5rem!important}.nav-links{order:3;width:100%!important;overflow-x:auto!important;white-space:nowrap!important;padding:.4rem 0!important;-webkit-overflow-scrolling:touch;justify-content:flex-start!important;border-top:1px solid var(--border-color);margin-top:.25rem}.nav-links a{font-size:.85rem!important;padding:.4rem .75rem!important;flex-shrink:0}}@media (max-width: 768px){.hero-section{padding:2.25rem 1rem!important;border-radius:16px!important}.hero-section h1{font-size:clamp(1.75rem,6vw,2.4rem)!important}.hero-section p{font-size:1rem!important}.activity-card-layout{flex-direction:column!important}.activity-card-img-wrapper{width:100%!important;max-height:220px!important}.gps-grid-2col{grid-template-columns:1fr!important}.home-carousel-track{animation-duration:var(--home-carousel-duration-mobile, 33.6s)}.home-carousel-item{width:120px;height:120px}.home-carousel-tooltip{max-width:180px;font-size:.72rem}}@media (max-width: 600px){.hero-info-div{flex-direction:column!important;gap:.6rem!important;align-items:center!important}.filters-layout>*,vaadin-horizontal-layout.filters-layout>*{width:100%!important;min-width:100%!important}.custom-card{padding:1rem!important;border-radius:12px!important}}@media (prefers-reduced-motion: reduce){.home-carousel-track{animation:none!important}}.filters-layout,vaadin-horizontal-layout.filters-layout{max-width:100%!important;box-sizing:border-box!important}@media (max-width: 960px){.filters-layout,vaadin-horizontal-layout.filters-layout{flex-wrap:wrap!important;gap:.75rem!important}.filters-layout>*,vaadin-horizontal-layout.filters-layout>*{min-width:160px!important;flex-grow:1!important}}vaadin-dialog-overlay::part(overlay),.v-dialog-window{max-width:95vw!important;max-height:90vh!important;border-radius:16px!important}vaadin-grid{max-width:100%!important;overflow-x:auto!important;border-radius:12px!important;-webkit-overflow-scrolling:touch}vaadin-grid.admin-grid-fluid{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}vaadin-grid.admin-grid-fluid::part(header-cell),vaadin-grid.admin-grid-fluid::part(body-cell){white-space:normal!important;line-height:1.35;overflow-wrap:anywhere}vaadin-grid.admin-grid-fluid::part(cell){padding-inline:.55rem}@media (max-width: 768px){vaadin-grid.admin-grid-fluid::part(header-cell),vaadin-grid.admin-grid-fluid::part(body-cell){font-size:.82rem}}vaadin-tabsheet{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}vaadin-tabsheet.admin-tabsheet-fill{height:100%!important;min-height:calc(100vh - 320px)!important}vaadin-tabsheet.admin-tabsheet-fill::part(content){height:100%!important}vaadin-text-field,vaadin-combo-box,vaadin-password-field,vaadin-number-field,vaadin-text-area{touch-action:manipulation}.chat-fab{position:fixed!important;right:1.25rem!important;bottom:1.25rem!important;z-index:1200!important;width:56px!important;height:56px!important;border-radius:999px!important;background:linear-gradient(135deg,#d904b5,#7c3aed)!important;color:#fff!important;box-shadow:0 12px 30px #7c3aed73!important;padding:0!important;overflow:hidden!important}.chat-fab::part(label){padding:0!important}.chat-fab-avatar{width:100%;height:100%;object-fit:cover;display:block}.chat-header-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;border:1px solid rgba(217,4,181,.35)}.chat-row{display:flex;width:100%}.chat-row-user{justify-content:flex-end}.chat-row-assistant{justify-content:flex-start}.chat-bubble{max-width:88%;padding:.55rem .75rem;border-radius:12px;white-space:pre-wrap;word-break:break-word;font-size:.9rem;line-height:1.35}.chat-bubble-user{background-color:var(--primary-color);color:#fff}.chat-bubble-assistant{background-color:#0f172a14;color:var(--text-color)}.chat-bubble-html{width:88%;max-width:88%;padding:.25rem;overflow:hidden}.chat-html-frame{display:block;min-height:260px;border:0;border-radius:8px;background:#fff}.chat-bubble-assistant p{margin:.15rem 0}.chat-bubble-assistant ul,.chat-bubble-assistant ol{margin:.25rem 0 .25rem 1rem;padding:0}.chat-bubble-assistant li{margin:.15rem 0}.chat-bubble-assistant h2,.chat-bubble-assistant h3,.chat-bubble-assistant h4{margin:.25rem 0;line-height:1.25;font-size:.95rem}.chat-bubble-assistant code{background:#0206171f;border-radius:6px;padding:.1rem .35rem;font-family:Consolas,Monaco,monospace;font-size:.82rem}.chat-bubble-assistant a{color:var(--primary-color);text-decoration:underline}.chat-bubble-typing{background:#0f172a1f}.chat-typing-line{gap:.3rem;font-size:.84rem;color:var(--secondary-text-color, #64748b)}.chat-typing-dots{display:inline-flex;gap:.15rem;align-items:center}.chat-typing-dots span{width:.32rem;height:.32rem;border-radius:50%;background:var(--primary-color);opacity:.35;animation:chatTypingBlink 1.15s infinite ease-in-out}.chat-typing-dots span:nth-child(2){animation-delay:.15s}.chat-typing-dots span:nth-child(3){animation-delay:.3s}.chat-typing-progress{width:100%;height:4px;margin:-.2rem 0 .15rem}@keyframes chatTypingBlink{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-1px)}}vaadin-dialog-overlay[theme~=chat-popup-right]::part(overlay){position:fixed!important;right:1.25rem!important;bottom:5.4rem!important;left:auto!important;top:auto!important;margin:0!important;transform:none!important;width:min(420px,calc(100vw - 1.5rem))!important;max-width:min(420px,calc(100vw - 1.5rem))!important}@media (max-width: 768px){.chat-fab{right:.9rem!important;bottom:calc(.9rem + env(safe-area-inset-bottom,0px))!important;width:52px!important;height:52px!important}vaadin-dialog-overlay[theme~=chat-popup-right]::part(overlay){right:.9rem!important;bottom:calc(4.8rem + env(safe-area-inset-bottom,0px))!important;width:calc(100vw - 1.2rem)!important;max-width:calc(100vw - 1.2rem)!important}}
