.portal-root{--portal-gold:#c8952e;--portal-gold-light:#d4a94a;--portal-gold-dark:#a67a1f;--portal-gold-glow:#c8952e26;--portal-gold-muted:#c8952e14;--portal-gold-border:#c8952e1f;--portal-bg:var(--portal-bg);--portal-card:#161b22;--portal-elevated:#1c2128;--portal-text:#e6edf3;--portal-text-muted:#8b949e;--portal-text-dim:#484f58;--portal-success:#3fb950;--portal-info:#58a6ff;--portal-warm:#f78166;--portal-shadow:#0000004d;--portal-overlay:#0d1117cc;--portal-hero-overlay-start:#0d11174d;--portal-hero-overlay-end:#0d1117f2}html.light .portal-root,.portal-root.light{--portal-bg:#fff;--portal-card:#f6f7f9;--portal-elevated:#eaecf0;--portal-text:#11151d;--portal-text-muted:#555d6d;--portal-text-dim:#8f96a3;--portal-gold-border:#c8952e2e;--portal-gold-muted:#c8952e0f;--portal-shadow:#29303d0f;--portal-overlay:#ffffffd9;--portal-hero-overlay-start:#ffffff1a;--portal-hero-overlay-end:#ffffffeb}.portal-root{background:var(--portal-bg);min-height:100vh;color:var(--portal-text);font-family:var(--font-inter), system-ui, -apple-system, sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}.portal-root *{box-sizing:border-box}@keyframes portal-login-enter{0%{opacity:0;transform:translateY(30px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.portal-login-screen{justify-content:center;align-items:center;min-height:100vh;padding:40px 16px;display:flex;position:relative;overflow:hidden}.portal-login-bg{z-index:0;background:radial-gradient(ellipse 80% 60% at 50% 0%, #c8952e14 0%, transparent 70%), radial-gradient(ellipse 60% 40% at 80% 100%, #c8952e0d 0%, transparent 60%), var(--portal-bg);position:absolute;inset:0}.portal-login-bg:before{content:"";opacity:.5;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23C8952E' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");position:absolute;inset:0}.portal-login-card{z-index:1;background:var(--portal-card);border:1px solid var(--portal-gold-border);border-radius:24px;width:100%;max-width:440px;padding:48px 40px;animation:.8s ease-out portal-login-enter;position:relative;box-shadow:0 24px 80px #00000080,0 0 0 1px #c8952e0f}.portal-login-logo{text-align:center;margin-bottom:40px}.portal-login-logo-mark{width:56px;height:56px;font-family:var(--font-poppins), system-ui, sans-serif;color:var(--portal-bg);background:linear-gradient(135deg,#c8952e 0%,#a67a1f 100%);border-radius:14px;justify-content:center;align-items:center;margin:0 auto 16px;font-size:24px;font-weight:700;display:flex;box-shadow:0 8px 32px #c8952e4d}.portal-login-logo h1{font-family:var(--font-poppins), system-ui, sans-serif;color:var(--portal-text);letter-spacing:-.02em;margin:0;font-size:22px;font-weight:600}.portal-login-logo p{color:var(--portal-text-muted);margin:6px 0 0;font-size:14px}.portal-login-form{flex-direction:column;display:flex}.portal-login-field{margin-bottom:20px}.portal-login-field label{color:var(--portal-text-muted);letter-spacing:.03em;text-transform:uppercase;margin-bottom:8px;font-size:13px;font-weight:500;display:block}.portal-login-field input{background:var(--portal-bg);border:1px solid var(--portal-gold-border);width:100%;color:var(--portal-text);font-size:16px;font-family:var(--font-inter), system-ui, sans-serif;border-radius:12px;outline:none;padding:14px 16px;transition:all .3s}.portal-login-field input::placeholder{color:var(--portal-text-dim)}.portal-login-field input:focus{border-color:#c8952e;box-shadow:0 0 0 3px #c8952e26}.portal-login-field.is-code input{font-family:var(--font-inter), ui-monospace, Menlo, monospace;letter-spacing:.02em}.portal-login-error{color:#fca5a5;background:#7f1d1d40;border:1px solid #991b1b80;border-radius:10px;margin:0 0 16px;padding:10px 12px;font-size:13px}.portal-login-btn{width:100%;color:var(--portal-bg);font-size:15px;font-weight:600;font-family:var(--font-inter), system-ui, sans-serif;cursor:pointer;letter-spacing:.02em;background:linear-gradient(135deg,#c8952e 0%,#a67a1f 100%);border:none;border-radius:12px;margin-top:8px;padding:16px;transition:all .3s}.portal-login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 40px #c8952e59}.portal-login-btn:active:not(:disabled){transform:translateY(0)}.portal-login-btn:disabled{opacity:.6;cursor:not-allowed}.portal-login-hint{text-align:center;color:var(--portal-text-dim);margin:24px 0 0;font-size:13px}.portal-login-hint a{color:#d4a94a;background:var(--portal-gold-muted);border-radius:4px;padding:2px 8px;text-decoration:none}.portal-login-hint a:hover{text-decoration:underline}@media (prefers-reduced-motion:reduce){.portal-login-card{animation:none}}@keyframes portal-hero-fade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes portal-stagger-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes portal-day-slide{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes portal-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes portal-blink{0%,to{opacity:.4}50%{opacity:.1}}@keyframes portal-digit-flip{0%{opacity:1;transform:translateY(0)scale(1)}40%{opacity:.3;transform:translateY(-20px)scale(.8)}60%{opacity:.5;transform:translateY(10px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}.portal-hero{height:420px;position:relative;overflow:hidden}.portal-hero-img{background-position:50%;background-size:cover;transition:transform 8s;position:absolute;inset:0;transform:scale(1.05)}.portal-hero.is-mounted .portal-hero-img{transform:scale(1)}.portal-hero-overlay{background:linear-gradient(180deg, var(--portal-hero-overlay-start) 0%, var(--portal-hero-overlay-end) 100%);position:absolute;inset:0}.portal-hero-content{z-index:2;opacity:0;flex-direction:column;justify-content:flex-end;height:100%;padding:0 max(24px,50% - 550px) 48px;display:flex;position:relative;transform:translateY(20px)}.portal-hero.is-mounted .portal-hero-content{animation:1s ease-out .2s both portal-hero-fade}.portal-hero-badge{border-radius:100px;align-items:center;gap:8px;width:fit-content;margin-bottom:16px;padding:6px 14px;font-size:13px;font-weight:500;display:inline-flex}.portal-hero-badge:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite portal-pulse}.portal-hero-badge.is-confirmed{color:#3fb950;background:#3fb9501f;border:1px solid #3fb95040}.portal-hero-badge.is-pending{color:#facc15;background:#eab3081f;border:1px solid #eab30840}.portal-hero-badge.is-on-hold{color:#f78166;background:#f781661f;border:1px solid #f7816640}.portal-hero-badge.is-in-progress{color:#58a6ff;background:#58a6ff1f;border:1px solid #58a6ff40}.portal-hero-badge.is-completed{color:var(--portal-text-muted);background:#8b949e1f;border:1px solid #8b949e40}.portal-hero-badge.is-cancelled{color:#f87171;background:#f871711f;border:1px solid #f8717140}.portal-hero h1{font-family:var(--font-poppins), system-ui, sans-serif;letter-spacing:-.02em;color:var(--portal-text);margin:0 0 12px;font-size:clamp(28px,5vw,44px);font-weight:600;line-height:1.15}.portal-hero h1 .accent{color:var(--portal-gold)}.portal-hero-greeting{font-family:var(--font-poppins), system-ui, sans-serif;color:var(--portal-text-muted);margin:0 0 4px;font-size:clamp(18px,2.4vw,22px);font-weight:500}.portal-hero-meta{color:var(--portal-text-muted);flex-wrap:wrap;gap:24px;font-size:14px;display:flex}.portal-hero-meta-item{align-items:center;gap:8px;display:flex}.portal-hero-meta-item svg{color:var(--portal-gold);flex-shrink:0;width:16px;height:16px}.portal-main{z-index:3;margin-top:-24px;padding:0 max(24px,50% - 550px) 80px;position:relative}.portal-section-header{align-items:center;gap:12px;margin-top:48px;margin-bottom:24px;animation:.7s ease-out both portal-stagger-up;display:flex}.portal-section-header h2{font-family:var(--font-poppins), system-ui, sans-serif;letter-spacing:-.01em;color:var(--portal-text);margin:0;font-size:24px;font-weight:600}.portal-section-line{background:linear-gradient(90deg,#c8952e1f 0%,#0000 100%);flex:1;height:1px}.portal-countdown-section{margin-bottom:48px;animation:.7s ease-out .35s both portal-stagger-up}.portal-countdown-wrap{background:var(--portal-card);border:1px solid var(--portal-gold-border);text-align:center;border-radius:20px;padding:40px 32px;position:relative;overflow:hidden}.portal-countdown-wrap:before{content:"";pointer-events:none;background:radial-gradient(50% 80% at 50% 0,#c8952e0f 0%,#0000 70%);position:absolute;inset:0}.portal-countdown-label{text-transform:uppercase;letter-spacing:.1em;color:var(--portal-text-muted);margin-bottom:24px;font-size:13px;position:relative}.portal-countdown-digits{justify-content:center;gap:12px;display:flex;position:relative}.portal-cd-block{flex-direction:column;align-items:center;min-width:90px;display:flex}.portal-cd-number{font-family:var(--font-poppins), system-ui, sans-serif;color:var(--portal-text);font-size:clamp(48px,8vw,80px);font-weight:700;line-height:1;transition:transform .3s;position:relative}.portal-cd-unit{text-transform:uppercase;letter-spacing:.12em;color:var(--portal-gold);margin-top:12px;font-size:11px;font-weight:600}.portal-cd-separator{font-family:var(--font-poppins), system-ui, sans-serif;color:var(--portal-gold);opacity:.4;align-self:flex-start;margin-top:6px;font-size:clamp(36px,6vw,56px);animation:1.5s ease-in-out infinite portal-blink}.portal-countdown-message{color:var(--portal-text-muted);margin-top:24px;font-size:15px;position:relative}.portal-countdown-message .accent{color:var(--portal-gold);font-weight:500}.portal-countdown-note{color:var(--portal-text-dim);letter-spacing:.02em;margin-top:6px;font-size:12px;display:block}.portal-progress-wrap{background:var(--portal-card);border:1px solid var(--portal-gold-border);border-radius:20px;padding:32px;position:relative;overflow:hidden}.portal-progress-wrap:before{content:"";pointer-events:none;background:radial-gradient(80% 100% at 50% 0,#58a6ff14 0%,#0000 70%);position:absolute;inset:0}.portal-progress-label{text-transform:uppercase;letter-spacing:.1em;color:#58a6ff;margin-bottom:12px;font-size:12px;font-weight:600;position:relative}.portal-progress-title{font-family:var(--font-poppins), system-ui, sans-serif;color:var(--portal-text);margin:0 0 6px;font-size:clamp(28px,4vw,40px);font-weight:700;position:relative}.portal-progress-current{color:var(--portal-text-muted);margin-bottom:20px;font-size:15px;position:relative}.portal-progress-current .accent{color:var(--portal-gold);font-weight:500}.portal-progress-track{background:var(--portal-gold-muted);border-radius:4px;height:8px;position:relative;overflow:hidden}.portal-progress-fill{background:linear-gradient(90deg,#c8952e 0%,#d4a94a 100%);border-radius:4px;transition:width .6s;position:absolute;inset:0 auto 0 0}.portal-quick-stats{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:48px;animation:.7s ease-out .4s both portal-stagger-up;display:grid}.portal-stat-card{background:var(--portal-card);border:1px solid var(--portal-gold-border);border-radius:16px;padding:24px;transition:all .3s}.portal-stat-card:hover{box-shadow:0 8px 32px var(--portal-shadow);border-color:#c8952e40;transform:translateY(-2px)}.portal-stat-label{text-transform:uppercase;letter-spacing:.06em;color:var(--portal-text-muted);margin-bottom:8px;font-size:12px}.portal-stat-value{font-family:var(--font-poppins), system-ui, sans-serif;color:var(--portal-gold);font-size:28px;font-weight:600;line-height:1.1}.portal-stat-value.is-success{color:#3fb950}.portal-stat-value.is-warn{color:#facc15}.portal-stat-value.is-danger{color:#f87171}.portal-stat-value.is-muted{color:var(--portal-text-muted)}.portal-stat-sub{color:var(--portal-text-dim);margin-top:4px;font-size:13px}.portal-stat-bar{background:var(--portal-gold-muted);border-radius:3px;height:6px;margin-top:12px;overflow:hidden}.portal-stat-bar-fill{background:linear-gradient(90deg,#c8952e 0%,#d4a94a 100%);border-radius:3px;height:100%;transition:width 1s ease-out}.portal-itinerary{animation:.7s ease-out .6s both portal-stagger-up;position:relative}.portal-timeline-line{background:linear-gradient(#c8952e 0%,#c8952e1f 100%);width:2px;position:absolute;top:0;bottom:0;left:23px}.portal-day-card{margin-bottom:32px;padding-left:64px;animation:.6s ease-out both portal-day-slide;position:relative}.portal-day-card:first-child{animation-delay:.7s}.portal-day-card:nth-child(2){animation-delay:.85s}.portal-day-card:nth-child(3){animation-delay:1s}.portal-day-card:nth-child(4){animation-delay:1.15s}.portal-day-card:nth-child(5){animation-delay:1.3s}.portal-day-card:nth-child(n+6){animation-delay:1.45s}.portal-day-dot{background:var(--portal-bg);z-index:1;border:2px solid #c8952e;border-radius:50%;width:20px;height:20px;transition:all .3s;position:absolute;top:24px;left:14px}.portal-day-card:hover .portal-day-dot,.portal-day-card.is-current .portal-day-dot{background:#c8952e;box-shadow:0 0 20px #c8952e66}.portal-day-inner{background:var(--portal-card);border:1px solid var(--portal-gold-border);border-radius:16px;padding:0;transition:all .35s}.portal-day-header{cursor:pointer;text-align:left;width:100%;color:inherit;font:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:24px 28px;display:flex}.portal-day-header-left{flex:1;min-width:0}.portal-day-chevron{color:var(--portal-text-dim);flex-shrink:0;transition:transform .3s,color .3s}.portal-day-chevron.is-open{color:var(--portal-gold);transform:rotate(180deg)}.portal-day-header:hover .portal-day-chevron{color:var(--portal-gold)}.portal-day-body{opacity:0;max-height:0;padding:0 28px;transition:max-height .35s,opacity .25s,padding .35s;overflow:hidden}.portal-day-body.is-open{opacity:1;max-height:800px;padding:0 28px 24px}.portal-day-card:hover .portal-day-inner{box-shadow:0 8px 40px var(--portal-shadow);border-color:#c8952e33}.portal-day-card.is-current .portal-day-inner{border-color:#c8952e59;box-shadow:0 0 0 1px #c8952e33}.portal-day-tag{background:var(--portal-gold-muted);border:1px solid var(--portal-gold-border);color:var(--portal-gold);text-transform:uppercase;letter-spacing:.06em;border-radius:8px;margin-bottom:8px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.portal-day-title{font-family:var(--font-poppins), system-ui, sans-serif;color:var(--portal-text);margin:0;font-size:20px;font-weight:600}.portal-day-desc{color:var(--portal-text-muted);margin:0 0 16px;font-size:14px;line-height:1.7}.portal-team-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:48px;animation:.7s ease-out .7s both portal-stagger-up;display:grid}.portal-team-card{background:var(--portal-card);border:1px solid var(--portal-gold-border);border-radius:16px;align-items:center;gap:20px;padding:28px;transition:all .35s;display:flex}.portal-team-card:hover{box-shadow:0 12px 40px var(--portal-shadow);border-color:#c8952e33;transform:translateY(-3px)}.portal-team-avatar{background:linear-gradient(135deg, var(--portal-gold-muted), var(--portal-elevated));width:64px;height:64px;font-family:var(--font-poppins), system-ui, sans-serif;color:var(--portal-gold);border:2px solid #c8952e1f;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;font-size:22px;font-weight:600;display:flex;overflow:hidden}.portal-team-avatar img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.portal-team-info{min-width:0}.portal-team-info h3{color:var(--portal-text);margin:0 0 4px;font-size:16px;font-weight:600}.portal-team-role{color:var(--portal-gold);text-transform:capitalize;font-size:13px}.portal-docs-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-bottom:48px;animation:.7s ease-out .8s both portal-stagger-up;display:grid}.portal-doc-card{background:var(--portal-card);border:1px solid var(--portal-gold-border);color:inherit;border-radius:14px;align-items:center;gap:16px;padding:20px 24px;text-decoration:none;transition:all .3s;display:flex}.portal-doc-card:hover{background:var(--portal-elevated);border-color:#c8952e40}.portal-doc-card.is-pending{opacity:.7;cursor:default}.portal-doc-card.is-pending:hover{background:var(--portal-card);border-color:#c8952e1f}.portal-doc-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.portal-doc-icon.is-pdf{color:#f78166;background:#f781661f}.portal-doc-icon.is-ticket{color:#58a6ff;background:#58a6ff1f}.portal-doc-icon.is-voucher{color:#3fb950;background:#3fb9501f}.portal-doc-icon.is-muted{color:var(--portal-text-muted);background:#8b949e1f}.portal-doc-info{flex:1;min-width:0}.portal-doc-info h4{color:var(--portal-text);margin:0;font-size:14px;font-weight:500}.portal-doc-info p{color:var(--portal-text-dim);margin:2px 0 0;font-size:12px}.portal-doc-download{color:var(--portal-text-dim);margin-left:auto;transition:color .2s;display:flex}.portal-doc-card:hover .portal-doc-download{color:var(--portal-gold)}.portal-emergency-bar{background:var(--portal-card);border:1px solid var(--portal-gold-border);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:24px 28px;animation:.7s ease-out .9s both portal-stagger-up;display:flex}.portal-emergency-info{align-items:center;gap:16px;display:flex}.portal-emergency-icon{color:#f78166;background:#f781661f;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.portal-emergency-info h3{color:var(--portal-text);margin:0;font-size:15px;font-weight:600}.portal-emergency-info p{color:var(--portal-text-muted);margin:0;font-size:13px}.portal-emergency-btn{color:#f78166;font-size:14px;font-weight:500;font-family:var(--font-inter), system-ui, sans-serif;cursor:pointer;background:0 0;border:1px solid #f78166;border-radius:10px;padding:12px 24px;text-decoration:none;transition:all .3s;display:inline-block}.portal-emergency-btn:hover{background:#f781661a}.portal-map-placeholder{background:var(--portal-card);border:1px solid var(--portal-gold-border);text-align:center;color:var(--portal-text-muted);border-radius:20px;margin-bottom:48px;padding:40px;animation:.7s ease-out .55s both portal-stagger-up}.portal-map-placeholder h3{font-family:var(--font-poppins), system-ui, sans-serif;color:var(--portal-text);margin:0 0 8px;font-size:18px;font-weight:600}.portal-map-placeholder p{margin:0 0 24px;font-size:14px}.portal-map-stops{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.portal-map-stop{background:var(--portal-bg);border:1px solid var(--portal-gold-border);color:var(--portal-text);border-radius:100px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;display:inline-flex}.portal-map-stop .portal-map-stop-badge{color:var(--portal-gold);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.portal-map-section{margin-bottom:48px;animation:.7s ease-out .55s both portal-stagger-up}.portal-map-widget{background:var(--portal-card);border:1px solid var(--portal-gold-border);border-radius:20px;height:480px;display:flex;overflow:hidden}.portal-map-sidebar{background:var(--portal-card);border-right:1px solid #c8952e1f;flex-direction:column;width:280px;min-width:280px;display:flex}.portal-map-sidebar-header{border-bottom:1px solid #c8952e1f;padding:20px}.portal-map-sidebar-header h3{font-family:var(--font-poppins), system-ui, sans-serif;color:var(--portal-text);margin:0 0 2px;font-size:18px;font-weight:600}.portal-map-sidebar-header span{color:var(--portal-text-muted);font-size:12px}.portal-map-timeline-scroll{scrollbar-width:none;flex:1;padding:12px 0 12px 20px;overflow-y:auto}.portal-map-timeline-scroll::-webkit-scrollbar{width:0}.portal-map-timeline{padding-left:20px;position:relative}.portal-map-timeline:before{content:"";background:#c8952e1f;width:2px;position:absolute;top:14px;bottom:14px;left:6px}.portal-map-day{cursor:pointer;border-left:3px solid #0000;border-radius:10px;margin-bottom:4px;margin-right:12px;padding:10px 14px;transition:all .3s;position:relative}.portal-map-day:hover{background:#c8952e0a}.portal-map-day.is-active{background:#c8952e0f;border-left-color:#c8952e}.portal-map-day-dot{background:var(--portal-card);z-index:2;border:2px solid #c8952e40;border-radius:50%;width:14px;height:14px;transition:all .3s;position:absolute;top:16px;left:-20px}.portal-map-day.is-active .portal-map-day-dot,.portal-map-day.is-visited .portal-map-day-dot{background:#c8952e;border-color:#c8952e}.portal-map-day.is-active .portal-map-day-dot{box-shadow:0 0 10px #c8952e66}.portal-map-day-label{text-transform:uppercase;letter-spacing:1.5px;color:var(--portal-gold);margin-bottom:3px;font-size:10px;font-weight:600}.portal-map-day-name{color:var(--portal-text);font-size:14px;font-weight:600;transition:color .2s}.portal-map-day.is-active .portal-map-day-name{color:#c8952e}.portal-map-sidebar-footer{border-top:1px solid #c8952e1f;align-items:center;gap:12px;padding:14px 20px;display:flex}.portal-map-play-btn{color:var(--portal-gold);font-family:var(--font-inter), system-ui, sans-serif;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;background:#c8952e1a;border:1px solid #c8952e40;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px;font-size:12px;font-weight:600;transition:all .25s;display:flex}.portal-map-play-btn:hover{background:#c8952e2e}.portal-map-play-btn.is-playing{color:var(--portal-text);background:#c8952e33}.portal-map-footer-stat{color:var(--portal-text-dim);white-space:nowrap;font-size:11px}.portal-map-footer-stat b{color:var(--portal-text-muted)}.portal-map-area{flex:1;position:relative}.portal-map-area .leaflet-container{width:100%;height:100%;background:var(--portal-bg)!important}.portal-map-current-label{z-index:500;-webkit-backdrop-filter:blur(16px);border:1px solid var(--portal-gold-border);color:var(--portal-text-muted);pointer-events:none;background:#0d1117b3;border-radius:10px;align-items:center;gap:8px;padding:10px 14px;font-size:12px;display:flex;position:absolute;bottom:16px;left:16px}.portal-map-current-label .mcl-dot{background:#c8952e;border-radius:50%;flex-shrink:0;width:7px;height:7px}.portal-map-current-label b{color:var(--portal-text);font-weight:600}.portal-map-area .leaflet-control-attribution{display:none!important}.portal-map-area .leaflet-control-zoom{border:none!important}.portal-map-area .leaflet-control-zoom a{-webkit-backdrop-filter:blur(12px);color:#c8952e!important;background:#0d1117b3!important;border:1px solid #c8952e1f!important;width:36px!important;height:36px!important;font-size:18px!important;line-height:36px!important;transition:background .2s!important}.portal-map-area .leaflet-control-zoom a:hover{background:#c8952e26!important}.portal-map-area .leaflet-control-zoom-in{border-radius:10px 10px 0 0!important}.portal-map-area .leaflet-control-zoom-out{border-radius:0 0 10px 10px!important}.portal-tl-marker{background:var(--portal-card);width:30px;height:30px;color:var(--portal-gold);font-size:12px;font-weight:700;font-family:var(--font-inter), system-ui, sans-serif;opacity:0;border:2px solid #c8952e4d;border-radius:50%;justify-content:center;align-items:center;transition:all .4s;display:flex;transform:scale(0)}.portal-tl-marker.is-visible{opacity:1;transform:scale(1)}.portal-tl-marker.is-active{background:var(--portal-gold);color:var(--portal-bg);border-color:var(--portal-gold);transform:scale(1.2);box-shadow:0 0 16px #c8952e66}.portal-tl-marker.is-visited{opacity:1;background:#c8952e26;border-color:#c8952e;transform:scale(1)}.portal-map-pin{width:32px;height:40px;position:relative}.portal-map-pin:after{content:"";background:#c8952e;border-radius:50% 50% 50% 0;width:30px;height:30px;position:absolute;top:0;left:50%;transform:translate(-50%)rotate(-45deg);box-shadow:0 2px 8px #c8952e66}.portal-map-pin-num{z-index:1;color:var(--portal-bg);font-size:12px;font-weight:700;font-family:var(--font-inter), system-ui, sans-serif;position:absolute;top:3px;left:50%;transform:translate(-50%)}.portal-map-popup .leaflet-popup-content-wrapper{background:#fff;border-radius:8px;padding:0;box-shadow:0 4px 16px #0003}.portal-map-popup .leaflet-popup-content{margin:8px 12px}.portal-map-popup .leaflet-popup-tip{background:#fff}.portal-map-mobile-wrap{border:1px solid var(--portal-gold-border);border-radius:16px;height:400px;overflow:hidden}.portal-map-mobile-wrap .leaflet-container{width:100%;height:100%;background:var(--portal-bg)!important}.portal-map-mobile-wrap .leaflet-control-attribution{display:none!important}.portal-map-mobile-wrap .leaflet-control-zoom{border:none!important}.portal-map-mobile-wrap .leaflet-control-zoom a{-webkit-backdrop-filter:blur(12px);color:#c8952e!important;background:#0d1117b3!important;border:1px solid #c8952e1f!important;width:36px!important;height:36px!important;font-size:18px!important;line-height:36px!important}.portal-map-mobile-wrap .leaflet-control-zoom a:hover{background:#c8952e26!important}.portal-map-mobile-wrap .leaflet-control-zoom-in{border-radius:10px 10px 0 0!important}.portal-map-mobile-wrap .leaflet-control-zoom-out{border-radius:0 0 10px 10px!important}@media (max-width:768px){.portal-map-widget{flex-direction:column;height:auto}.portal-map-sidebar{border-bottom:1px solid #c8952e1f;border-right:none;width:100%;min-width:100%;max-height:220px}.portal-map-area{height:340px}.portal-map-sidebar-footer{flex-wrap:wrap}}.portal-empty-card{background:var(--portal-card);text-align:center;color:var(--portal-text-dim);border:1px dashed #c8952e2e;border-radius:16px;margin-bottom:48px;padding:32px;font-size:14px}.portal-offline-banner{z-index:9999;-webkit-backdrop-filter:blur(12px);color:#facc15;background:#161b22f2;border:1px solid #c8952e33;border-radius:100px;align-items:center;gap:8px;padding:10px 20px;font-size:13px;font-weight:500;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #0006}.portal-offline-dot{background:#facc15;border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite portal-pulse}.portal-footer{text-align:center;color:var(--portal-text-dim);padding:48px 24px;font-size:13px}.portal-footer a{color:var(--portal-gold);text-decoration:none}.portal-footer a:hover{text-decoration:underline}.portal-top-header{z-index:40;-webkit-backdrop-filter:blur(16px);background:var(--portal-overlay);border-bottom:1px solid #c8952e1f;position:sticky;top:0}.portal-top-header-inner{justify-content:space-between;align-items:center;max-width:1100px;height:68px;margin:0 auto;padding:0 24px;display:flex}.portal-top-brand{align-items:center;gap:12px;display:flex}.portal-top-brand-mark{width:32px;height:32px;font-family:var(--font-poppins), system-ui, sans-serif;color:var(--portal-bg);background:linear-gradient(135deg,#c8952e 0%,#a67a1f 100%);border-radius:8px;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.portal-top-brand-text{line-height:1.1}.portal-top-brand-text .name{font-family:var(--font-poppins), system-ui, sans-serif;color:var(--portal-text);font-size:14px;font-weight:600}.portal-top-brand-text .code{color:var(--portal-text-muted);margin-top:2px;font-family:ui-monospace,Menlo,monospace;font-size:11px;display:block}.portal-top-actions{align-items:center;gap:8px;display:flex}.portal-top-logout{color:var(--portal-text-muted);font-size:14px;font-family:var(--font-inter), system-ui, sans-serif;cursor:pointer;background:0 0;border:none;padding:6px 10px;transition:color .2s}.portal-top-logout:hover:not(:disabled){color:var(--portal-text)}.portal-top-logout:disabled{opacity:.6;cursor:not-allowed}@media (max-width:640px){.portal-hero{height:360px}.portal-hero-content{padding-bottom:36px;padding-left:20px;padding-right:20px}.portal-main{padding-left:20px;padding-right:20px}.portal-quick-stats{grid-template-columns:1fr 1fr}.portal-day-card{padding-left:48px}.portal-timeline-line{left:15px}.portal-day-dot{left:6px}.portal-team-card,.portal-emergency-bar{text-align:center;flex-direction:column}.portal-emergency-info{flex-direction:column}.portal-countdown-digits{gap:6px}.portal-cd-block{min-width:60px}.portal-cd-separator{font-size:28px}.portal-countdown-wrap{padding:28px 16px}}@media (prefers-reduced-motion:reduce){.portal-hero-content,.portal-countdown-section,.portal-quick-stats,.portal-map-placeholder,.portal-itinerary,.portal-day-card,.portal-section-header,.portal-team-grid,.portal-docs-grid,.portal-emergency-bar{animation:none}.portal-cd-separator{opacity:.3;animation:none}.portal-hero-badge:before{animation:none}.portal-hero.is-mounted .portal-hero-img{transition:none;transform:scale(1)}.portal-privacy-backdrop,.portal-privacy-modal{animation:none}}.portal-privacy-backdrop{z-index:50;background:var(--portal-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;padding:16px;animation:.3s portal-fade-in;display:flex;position:fixed;inset:0}.portal-privacy-modal{background:var(--portal-card);border:1px solid var(--portal-gold-border);border-radius:1rem;width:100%;max-width:32rem;padding:2rem;animation:.3s portal-scale-in;box-shadow:0 24px 80px #0009}.portal-privacy-title{font-family:var(--font-poppins), system-ui, sans-serif;color:var(--portal-text);margin:0 0 16px;font-size:20px;font-weight:600}.portal-privacy-body{color:var(--portal-text-muted);font-size:14px;line-height:1.7}.portal-privacy-body ul{margin:12px 0;padding:0;list-style:none}.portal-privacy-body li{gap:8px;margin-bottom:6px;display:flex}.portal-privacy-dot{color:var(--portal-gold);flex-shrink:0}.portal-privacy-emphasis{color:var(--portal-text)}.portal-privacy-checkbox{color:var(--portal-text-muted);cursor:pointer;align-items:center;gap:8px;margin-top:24px;font-size:12px;display:flex}.portal-privacy-checkbox input{accent-color:var(--portal-gold)}@keyframes portal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes portal-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.portal-top-brand-text .name{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}@media (min-width:641px){.portal-top-brand-text .name{max-width:320px}}.portal-root :focus-visible{outline-offset:2px;border-radius:4px;outline:2px solid #c8952e}
