.portal-root{--portal-gold:#C8952E;--portal-gold-light:#D4A94A;--portal-gold-dark:#A67A1F;--portal-gold-glow:rgba(200,149,46,0.15);--portal-gold-muted:rgba(200,149,46,0.08);--portal-gold-border:rgba(200,149,46,0.12);--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:rgba(0,0,0,0.3);--portal-overlay:rgba(13,17,23,0.8);--portal-hero-overlay-start:rgba(13,17,23,0.3);--portal-hero-overlay-end:rgba(13,17,23,0.95)}.portal-root.light,html.light .portal-root{--portal-bg:hsl(0 0% 100%);--portal-card:hsl(220 20% 97%);--portal-elevated:hsl(220 16% 93%);--portal-text:hsl(220 25% 9%);--portal-text-muted:hsl(220 12% 38%);--portal-text-dim:hsl(220 10% 60%);--portal-gold-border:rgba(200,149,46,0.18);--portal-gold-muted:rgba(200,149,46,0.06);--portal-shadow:hsla(220,20%,20%,0.06);--portal-overlay:hsla(0,0%,100%,0.85);--portal-hero-overlay-start:hsla(0,0%,100%,0.1);--portal-hero-overlay-end:hsla(0,0%,100%,0.92)}.portal-root{min-height:100vh;background:var(--portal-bg);color:var(--portal-text);font-family:var(--font-inter),system-ui,-apple-system,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.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{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:40px 16px}.portal-login-bg{position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse 80% 60% at 50% 0,rgba(200,149,46,.08) 0,transparent 70%),radial-gradient(ellipse 60% 40% at 80% 100%,rgba(200,149,46,.05) 0,transparent 60%),var(--portal-bg)}.portal-login-bg:before{content:"";position:absolute;inset:0;opacity:.5;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");pointer-events:none}.portal-login-card{position:relative;z-index:1;width:100%;max-width:440px;padding:48px 40px;background:var(--portal-card);border:1px solid var(--portal-gold-border);border-radius:24px;box-shadow:0 24px 80px rgba(0,0,0,.5),0 0 0 1px rgba(200,149,46,.06);animation:portal-login-enter .8s ease-out}.portal-login-logo{text-align:center;margin-bottom:40px}.portal-login-logo-mark{width:56px;height:56px;margin:0 auto 16px;background:linear-gradient(135deg,#C8952E,#A67A1F);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:var(--portal-bg);box-shadow:0 8px 32px rgba(200,149,46,.3)}.portal-login-logo h1,.portal-login-logo-mark{font-family:var(--font-poppins),system-ui,sans-serif}.portal-login-logo h1{font-size:22px;font-weight:600;color:var(--portal-text);letter-spacing:-.02em;margin:0}.portal-login-logo p{color:var(--portal-text-muted);font-size:14px;margin:6px 0 0}.portal-login-form{display:flex;flex-direction:column}.portal-login-field{margin-bottom:20px}.portal-login-field label{display:block;font-size:13px;font-weight:500;color:var(--portal-text-muted);margin-bottom:8px;letter-spacing:.03em;text-transform:uppercase}.portal-login-field input{width:100%;padding:14px 16px;background:var(--portal-bg);border:1px solid var(--portal-gold-border);border-radius:12px;color:var(--portal-text);font-size:16px;font-family:var(--font-inter),system-ui,sans-serif;transition:all .3s ease;outline:none}.portal-login-field input::-moz-placeholder{color:var(--portal-text-dim)}.portal-login-field input::placeholder{color:var(--portal-text-dim)}.portal-login-field input:focus{border-color:#C8952E;box-shadow:0 0 0 3px rgba(200,149,46,.15)}.portal-login-field.is-code input{font-family:var(--font-inter),ui-monospace,Menlo,monospace;letter-spacing:.02em}.portal-login-error{margin:0 0 16px;padding:10px 12px;font-size:13px;color:#fca5a5;background:rgba(127,29,29,.25);border:1px solid rgba(153,27,27,.5);border-radius:10px}.portal-login-btn{width:100%;padding:16px;background:linear-gradient(135deg,#C8952E,#A67A1F);border:none;border-radius:12px;color:var(--portal-bg);font-size:15px;font-weight:600;font-family:var(--font-inter),system-ui,sans-serif;cursor:pointer;transition:all .3s ease;margin-top:8px;letter-spacing:.02em}.portal-login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 40px rgba(200,149,46,.35)}.portal-login-btn:active:not(:disabled){transform:translateY(0)}.portal-login-btn:disabled{opacity:.6;cursor:not-allowed}.portal-login-hint{text-align:center;margin:24px 0 0;font-size:13px;color:var(--portal-text-dim)}.portal-login-hint a{color:#D4A94A;background:var(--portal-gold-muted);padding:2px 8px;border-radius:4px;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:translateX(-20px)}to{opacity:1;transform:translateX(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%{transform:translateY(0) scale(1);opacity:1}40%{transform:translateY(-20px) scale(.8);opacity:.3}60%{transform:translateY(10px) scale(.9);opacity:.5}to{transform:translateY(0) scale(1);opacity:1}}.portal-hero{position:relative;height:420px;overflow:hidden}.portal-hero-img{position:absolute;inset:0;background-size:cover;background-position:50%;transform:scale(1.05);transition:transform 8s ease}.portal-hero.is-mounted .portal-hero-img{transform:scale(1)}.portal-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,var(--portal-hero-overlay-start) 0,var(--portal-hero-overlay-end) 100%)}.portal-hero-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:0 max(24px,calc((100% - 1100px) / 2)) 48px;opacity:0;transform:translateY(20px)}.portal-hero.is-mounted .portal-hero-content{animation:portal-hero-fade 1s ease-out .2s both}.portal-hero-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:100px;font-size:13px;font-weight:500;width:-moz-fit-content;width:fit-content;margin-bottom:16px}.portal-hero-badge:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;animation:portal-pulse 2s ease-in-out infinite}.portal-hero-badge.is-confirmed{background:rgba(63,185,80,.12);border:1px solid rgba(63,185,80,.25);color:#3FB950}.portal-hero-badge.is-pending{background:rgba(234,179,8,.12);border:1px solid rgba(234,179,8,.25);color:#facc15}.portal-hero-badge.is-on-hold{background:rgba(247,129,102,.12);border:1px solid rgba(247,129,102,.25);color:#F78166}.portal-hero-badge.is-in-progress{background:rgba(88,166,255,.12);border:1px solid rgba(88,166,255,.25);color:#58A6FF}.portal-hero-badge.is-completed{background:rgba(139,148,158,.12);border:1px solid rgba(139,148,158,.25);color:var(--portal-text-muted)}.portal-hero-badge.is-cancelled{background:rgba(248,113,113,.12);border:1px solid rgba(248,113,113,.25);color:#f87171}.portal-hero h1{font-family:var(--font-poppins),system-ui,sans-serif;font-size:clamp(28px,5vw,44px);font-weight:600;line-height:1.15;letter-spacing:-.02em;margin:0 0 12px;color:var(--portal-text)}.portal-hero h1 .accent{color:var(--portal-gold)}.portal-hero-greeting{font-family:var(--font-poppins),system-ui,sans-serif;font-size:clamp(18px,2.4vw,22px);font-weight:500;color:var(--portal-text-muted);margin:0 0 4px}.portal-hero-meta{display:flex;flex-wrap:wrap;gap:24px;color:var(--portal-text-muted);font-size:14px}.portal-hero-meta-item{display:flex;align-items:center;gap:8px}.portal-hero-meta-item svg{color:var(--portal-gold);flex-shrink:0;width:16px;height:16px}.portal-main{margin-top:-24px;position:relative;z-index:3;padding:0 max(24px,calc((100% - 1100px) / 2)) 80px}.portal-section-header{display:flex;align-items:center;gap:12px;margin-top:48px;margin-bottom:24px;animation:portal-stagger-up .7s ease-out both}.portal-section-header h2{font-family:var(--font-poppins),system-ui,sans-serif;font-size:24px;font-weight:600;letter-spacing:-.01em;color:var(--portal-text);margin:0}.portal-section-line{flex:1;height:1px;background:linear-gradient(90deg,rgba(200,149,46,.12),transparent)}.portal-countdown-section{margin-bottom:48px;animation:portal-stagger-up .7s ease-out .35s both}.portal-countdown-wrap{background:var(--portal-card);border:1px solid var(--portal-gold-border);border-radius:20px;padding:40px 32px;text-align:center;position:relative;overflow:hidden}.portal-countdown-wrap:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 50% 80% at 50% 0,rgba(200,149,46,.06) 0,transparent 70%);pointer-events:none}.portal-countdown-label{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--portal-text-muted);margin-bottom:24px;position:relative}.portal-countdown-digits{display:flex;justify-content:center;gap:12px;position:relative}.portal-cd-block{display:flex;flex-direction:column;align-items:center;min-width:90px}.portal-cd-number{font-family:var(--font-poppins),system-ui,sans-serif;font-size:clamp(48px,8vw,80px);font-weight:700;line-height:1;color:var(--portal-text);position:relative;transition:transform .3s ease}.portal-cd-unit{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--portal-gold);margin-top:12px;font-weight:600}.portal-cd-separator{font-family:var(--font-poppins),system-ui,sans-serif;font-size:clamp(36px,6vw,56px);color:var(--portal-gold);opacity:.4;align-self:flex-start;margin-top:6px;animation:portal-blink 1.5s ease-in-out infinite}.portal-countdown-message{margin-top:24px;font-size:15px;color:var(--portal-text-muted);position:relative}.portal-countdown-message .accent{color:var(--portal-gold);font-weight:500}.portal-countdown-note{display:block;margin-top:6px;font-size:12px;color:var(--portal-text-dim);letter-spacing:.02em}.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:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 100% at 50% 0,rgba(88,166,255,.08) 0,transparent 70%);pointer-events:none}.portal-progress-label{position:relative;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#58A6FF;margin-bottom:12px;font-weight:600}.portal-progress-title{position:relative;font-family:var(--font-poppins),system-ui,sans-serif;font-size:clamp(28px,4vw,40px);font-weight:700;color:var(--portal-text);margin:0 0 6px}.portal-progress-current{position:relative;font-size:15px;color:var(--portal-text-muted);margin-bottom:20px}.portal-progress-current .accent{color:var(--portal-gold);font-weight:500}.portal-progress-track{position:relative;height:8px;background:var(--portal-gold-muted);border-radius:4px;overflow:hidden}.portal-progress-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#C8952E,#D4A94A);border-radius:4px;transition:width .6s ease}.portal-quick-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:48px;animation:portal-stagger-up .7s ease-out .4s both}.portal-stat-card{background:var(--portal-card);border:1px solid var(--portal-gold-border);border-radius:16px;padding:24px;transition:all .3s ease}.portal-stat-card:hover{border-color:rgba(200,149,46,.25);transform:translateY(-2px);box-shadow:0 8px 32px var(--portal-shadow)}.portal-stat-label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--portal-text-muted);margin-bottom:8px}.portal-stat-value{font-family:var(--font-poppins),system-ui,sans-serif;font-size:28px;font-weight:600;color:var(--portal-gold);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{font-size:13px;color:var(--portal-text-dim);margin-top:4px}.portal-stat-bar{margin-top:12px;height:6px;background:var(--portal-gold-muted);border-radius:3px;overflow:hidden}.portal-stat-bar-fill{height:100%;background:linear-gradient(90deg,#C8952E,#D4A94A);border-radius:3px;transition:width 1s ease-out}.portal-itinerary{position:relative;animation:portal-stagger-up .7s ease-out .6s both}.portal-timeline-line{position:absolute;left:23px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,#C8952E,rgba(200,149,46,.12))}.portal-day-card{position:relative;padding-left:64px;margin-bottom:32px;animation:portal-day-slide .6s ease-out both}.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{position:absolute;left:14px;top:24px;width:20px;height:20px;border-radius:50%;background:var(--portal-bg);border:2px solid #c8952e;z-index:1;transition:all .3s ease}.portal-day-card.is-current .portal-day-dot,.portal-day-card:hover .portal-day-dot{background:#C8952E;box-shadow:0 0 20px rgba(200,149,46,.4)}.portal-day-inner{background:var(--portal-card);border:1px solid var(--portal-gold-border);border-radius:16px;padding:0;transition:all .35s ease}.portal-day-header{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:24px 28px;background:none;border:none;cursor:pointer;text-align:left;color:inherit;font:inherit}.portal-day-header-left{flex:1;min-width:0}.portal-day-chevron{flex-shrink:0;color:var(--portal-text-dim);transition:transform .3s ease,color .3s ease}.portal-day-chevron.is-open{transform:rotate(180deg);color:var(--portal-gold)}.portal-day-header:hover .portal-day-chevron{color:var(--portal-gold)}.portal-day-body{max-height:0;overflow:hidden;opacity:0;transition:max-height .35s ease,opacity .25s ease,padding .35s ease;padding:0 28px}.portal-day-body.is-open{max-height:800px;opacity:1;padding:0 28px 24px}.portal-day-card:hover .portal-day-inner{border-color:rgba(200,149,46,.2);box-shadow:0 8px 40px var(--portal-shadow)}.portal-day-card.is-current .portal-day-inner{border-color:rgba(200,149,46,.35);box-shadow:0 0 0 1px rgba(200,149,46,.2)}.portal-day-tag{display:inline-block;padding:4px 12px;background:var(--portal-gold-muted);border:1px solid var(--portal-gold-border);border-radius:8px;font-size:12px;font-weight:600;color:var(--portal-gold);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.portal-day-title{font-family:var(--font-poppins),system-ui,sans-serif;font-size:20px;font-weight:600;margin:0;color:var(--portal-text)}.portal-day-desc{color:var(--portal-text-muted);font-size:14px;line-height:1.7;margin:0 0 16px;white-space:pre-wrap}.portal-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:48px;animation:portal-stagger-up .7s ease-out .7s both}.portal-team-card{background:var(--portal-card);border:1px solid var(--portal-gold-border);border-radius:16px;padding:28px;display:flex;gap:20px;align-items:center;transition:all .35s ease}.portal-team-card:hover{border-color:rgba(200,149,46,.2);transform:translateY(-3px);box-shadow:0 12px 40px var(--portal-shadow)}.portal-team-avatar{width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,var(--portal-gold-muted),var(--portal-elevated));border:2px solid rgba(200,149,46,.12);display:flex;align-items:center;justify-content:center;font-family:var(--font-poppins),system-ui,sans-serif;font-size:22px;font-weight:600;color:var(--portal-gold);flex-shrink:0;overflow:hidden}.portal-team-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.portal-team-info{min-width:0}.portal-team-info h3{font-size:16px;font-weight:600;margin:0 0 4px;color:var(--portal-text)}.portal-team-role{font-size:13px;color:var(--portal-gold);text-transform:capitalize}.portal-docs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-bottom:48px;animation:portal-stagger-up .7s ease-out .8s both}.portal-doc-card{background:var(--portal-card);border:1px solid var(--portal-gold-border);border-radius:14px;padding:20px 24px;display:flex;align-items:center;gap:16px;text-decoration:none;color:inherit;transition:all .3s ease}.portal-doc-card:hover{border-color:rgba(200,149,46,.25);background:var(--portal-elevated)}.portal-doc-card.is-pending{opacity:.7;cursor:default}.portal-doc-card.is-pending:hover{background:var(--portal-card);border-color:rgba(200,149,46,.12)}.portal-doc-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.portal-doc-icon.is-pdf{background:rgba(247,129,102,.12);color:#F78166}.portal-doc-icon.is-ticket{background:rgba(88,166,255,.12);color:#58A6FF}.portal-doc-icon.is-voucher{background:rgba(63,185,80,.12);color:#3FB950}.portal-doc-icon.is-muted{background:rgba(139,148,158,.12);color:var(--portal-text-muted)}.portal-doc-info{min-width:0;flex:1}.portal-doc-info h4{font-size:14px;font-weight:500;margin:0;color:var(--portal-text)}.portal-doc-info p{font-size:12px;color:var(--portal-text-dim);margin:2px 0 0}.portal-doc-download{margin-left:auto;color:var(--portal-text-dim);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;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;animation:portal-stagger-up .7s ease-out .9s both}.portal-emergency-info{display:flex;align-items:center;gap:16px}.portal-emergency-icon{width:44px;height:44px;border-radius:12px;background:rgba(247,129,102,.12);display:flex;align-items:center;justify-content:center;color:#F78166;flex-shrink:0}.portal-emergency-info h3{font-size:15px;font-weight:600;margin:0;color:var(--portal-text)}.portal-emergency-info p{font-size:13px;color:var(--portal-text-muted);margin:0}.portal-emergency-btn{padding:12px 24px;background:transparent;border:1px solid #f78166;border-radius:10px;color:#F78166;font-size:14px;font-weight:500;font-family:var(--font-inter),system-ui,sans-serif;cursor:pointer;text-decoration:none;transition:all .3s ease;display:inline-block}.portal-emergency-btn:hover{background:rgba(247,129,102,.1)}.portal-map-placeholder{background:var(--portal-card);border:1px solid var(--portal-gold-border);border-radius:20px;padding:40px;text-align:center;color:var(--portal-text-muted);animation:portal-stagger-up .7s ease-out .55s both;margin-bottom:48px}.portal-map-placeholder h3{font-family:var(--font-poppins),system-ui,sans-serif;font-size:18px;font-weight:600;color:var(--portal-text);margin:0 0 8px}.portal-map-placeholder p{font-size:14px;margin:0 0 24px}.portal-map-stops{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.portal-map-stop{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:var(--portal-bg);border:1px solid var(--portal-gold-border);border-radius:100px;font-size:13px;color:var(--portal-text)}.portal-map-stop .portal-map-stop-badge{font-size:11px;color:var(--portal-gold);text-transform:uppercase;letter-spacing:.04em}.portal-map-section{margin-bottom:48px;animation:portal-stagger-up .7s ease-out .55s both}.portal-map-widget{border:1px solid var(--portal-gold-border);border-radius:20px;overflow:hidden;height:480px}.portal-map-sidebar,.portal-map-widget{background:var(--portal-card);display:flex}.portal-map-sidebar{width:280px;min-width:280px;flex-direction:column;border-right:1px solid rgba(200,149,46,.12)}.portal-map-sidebar-header{padding:20px;border-bottom:1px solid rgba(200,149,46,.12)}.portal-map-sidebar-header h3{font-family:var(--font-poppins),system-ui,sans-serif;font-size:18px;font-weight:600;margin:0 0 2px;color:var(--portal-text)}.portal-map-sidebar-header span{font-size:12px;color:var(--portal-text-muted)}.portal-map-timeline-scroll{flex:1;overflow-y:auto;padding:12px 0 12px 20px;scrollbar-width:none}.portal-map-timeline-scroll::-webkit-scrollbar{width:0}.portal-map-timeline{position:relative;padding-left:20px}.portal-map-timeline:before{content:"";position:absolute;left:6px;top:14px;bottom:14px;width:2px;background:rgba(200,149,46,.12)}.portal-map-day{position:relative;padding:10px 14px;margin-bottom:4px;margin-right:12px;border-radius:10px;cursor:pointer;transition:all .3s ease;border-left:3px solid transparent}.portal-map-day:hover{background:rgba(200,149,46,.04)}.portal-map-day.is-active{background:rgba(200,149,46,.06);border-left-color:#C8952E}.portal-map-day-dot{position:absolute;left:-20px;top:16px;width:14px;height:14px;border-radius:50%;background:var(--portal-card);border:2px solid rgba(200,149,46,.25);transition:all .3s ease;z-index:2}.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 rgba(200,149,46,.4)}.portal-map-day-label{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--portal-gold);font-weight:600;margin-bottom:3px}.portal-map-day-name{font-weight:600;font-size:14px;color:var(--portal-text);transition:color .2s}.portal-map-day.is-active .portal-map-day-name{color:#C8952E}.portal-map-sidebar-footer{padding:14px 20px;border-top:1px solid rgba(200,149,46,.12);display:flex;align-items:center;gap:12px}.portal-map-play-btn{flex:1;padding:10px;background:rgba(200,149,46,.1);border:1px solid rgba(200,149,46,.25);border-radius:8px;color:var(--portal-gold);font-family:var(--font-inter),system-ui,sans-serif;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;transition:all .25s ease;display:flex;align-items:center;justify-content:center;gap:6px}.portal-map-play-btn:hover{background:rgba(200,149,46,.18)}.portal-map-play-btn.is-playing{background:rgba(200,149,46,.2);color:var(--portal-text)}.portal-map-footer-stat{font-size:11px;color:var(--portal-text-dim);white-space:nowrap}.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{position:absolute;bottom:16px;left:16px;z-index:500;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:rgba(13,17,23,.7);border:1px solid var(--portal-gold-border);border-radius:10px;padding:10px 14px;font-size:12px;color:var(--portal-text-muted);display:flex;align-items:center;gap:8px;pointer-events:none}.portal-map-current-label .mcl-dot{width:7px;height:7px;border-radius:50%;background:#C8952E;flex-shrink:0}.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{background:rgba(13,17,23,.7)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#C8952E!important;border:1px solid rgba(200,149,46,.12)!important;width:36px!important;height:36px!important;line-height:36px!important;font-size:18px!important;transition:background .2s!important}.portal-map-area .leaflet-control-zoom a:hover{background:rgba(200,149,46,.15)!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{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--portal-card);border:2px solid rgba(200,149,46,.3);color:var(--portal-gold);font-size:12px;font-weight:700;font-family:var(--font-inter),system-ui,sans-serif;transition:all .4s ease;opacity:0;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);box-shadow:0 0 16px rgba(200,149,46,.4);transform:scale(1.2)}.portal-tl-marker.is-visited{opacity:1;transform:scale(1);background:rgba(200,149,46,.15);border-color:#C8952E}.portal-map-pin{position:relative;width:32px;height:40px}.portal-map-pin:after{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:30px;height:30px;background:#C8952E;border-radius:50% 50% 50% 0;transform:translateX(-50%) rotate(-45deg);box-shadow:0 2px 8px rgba(200,149,46,.4)}.portal-map-pin-num{position:absolute;top:3px;left:50%;transform:translateX(-50%);z-index:1;font-size:12px;font-weight:700;color:var(--portal-bg);font-family:var(--font-inter),system-ui,sans-serif}.portal-map-popup .leaflet-popup-content-wrapper{background:#fff;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.2);padding:0}.portal-map-popup .leaflet-popup-content{margin:8px 12px}.portal-map-popup .leaflet-popup-tip{background:#fff}.portal-map-mobile-wrap{height:400px;border-radius:16px;overflow:hidden;border:1px solid var(--portal-gold-border)}.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{background:rgba(13,17,23,.7)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#C8952E!important;border:1px solid rgba(200,149,46,.12)!important;width:36px!important;height:36px!important;line-height:36px!important;font-size:18px!important}.portal-map-mobile-wrap .leaflet-control-zoom a:hover{background:rgba(200,149,46,.15)!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{width:100%;min-width:100%;border-right:none;border-bottom:1px solid rgba(200,149,46,.12);max-height:220px}.portal-map-area{height:340px}.portal-map-sidebar-footer{flex-wrap:wrap}}.portal-empty-card{background:var(--portal-card);border:1px dashed rgba(200,149,46,.18);border-radius:16px;padding:32px;text-align:center;color:var(--portal-text-dim);font-size:14px;margin-bottom:48px}.portal-offline-banner{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:9999;display:flex;align-items:center;gap:8px;padding:10px 20px;background:rgba(22,27,34,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(200,149,46,.2);border-radius:100px;font-size:13px;color:#facc15;font-weight:500;box-shadow:0 8px 32px rgba(0,0,0,.4)}.portal-offline-dot{width:8px;height:8px;border-radius:50%;background:#facc15;animation:portal-pulse 2s ease-in-out infinite}.portal-footer{text-align:center;padding:48px 24px;color:var(--portal-text-dim);font-size:13px}.portal-footer a{color:var(--portal-gold);text-decoration:none}.portal-footer a:hover{text-decoration:underline}.portal-top-header{position:sticky;top:0;z-index:40;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:var(--portal-overlay);border-bottom:1px solid rgba(200,149,46,.12)}.portal-top-header-inner{max-width:1100px;margin:0 auto;padding:0 24px;height:68px;display:flex;align-items:center;justify-content:space-between}.portal-top-brand{display:flex;align-items:center;gap:12px}.portal-top-brand-mark{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#C8952E,#A67A1F);display:flex;align-items:center;justify-content:center;font-family:var(--font-poppins),system-ui,sans-serif;font-weight:700;font-size:13px;color:var(--portal-bg)}.portal-top-brand-text{line-height:1.1}.portal-top-brand-text .name{font-family:var(--font-poppins),system-ui,sans-serif;font-size:14px;font-weight:600;color:var(--portal-text)}.portal-top-brand-text .code{display:block;font-family:ui-monospace,Menlo,monospace;font-size:11px;color:var(--portal-text-muted);margin-top:2px}.portal-top-actions{display:flex;align-items:center;gap:8px}.portal-top-logout{background:transparent;border:none;color:var(--portal-text-muted);font-size:14px;font-family:var(--font-inter),system-ui,sans-serif;cursor:pointer;transition:color .2s;padding:6px 10px}.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}.portal-hero-content,.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-emergency-bar,.portal-team-card{flex-direction:column;text-align:center}.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-countdown-section,.portal-day-card,.portal-docs-grid,.portal-emergency-bar,.portal-hero-content,.portal-itinerary,.portal-map-placeholder,.portal-quick-stats,.portal-section-header,.portal-team-grid{animation:none}.portal-cd-separator{animation:none;opacity:.3}.portal-hero-badge:before{animation:none}.portal-hero.is-mounted .portal-hero-img{transform:scale(1);transition:none}.portal-privacy-backdrop,.portal-privacy-modal{animation:none}}.portal-privacy-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--portal-overlay);backdrop-filter:blur(4px);animation:portal-fade-in .3s ease}.portal-privacy-modal{width:100%;max-width:32rem;background:var(--portal-card);border:1px solid var(--portal-gold-border);border-radius:1rem;padding:2rem;box-shadow:0 24px 80px rgba(0,0,0,.6);animation:portal-scale-in .3s ease}.portal-privacy-title{font-family:var(--font-poppins),system-ui,sans-serif;font-size:20px;font-weight:600;color:var(--portal-text);margin:0 0 16px}.portal-privacy-body{font-size:14px;line-height:1.7;color:var(--portal-text-muted)}.portal-privacy-body ul{list-style:none;padding:0;margin:12px 0}.portal-privacy-body li{display:flex;gap:8px;margin-bottom:6px}.portal-privacy-dot{color:var(--portal-gold);flex-shrink:0}.portal-privacy-emphasis{color:var(--portal-text)}.portal-privacy-checkbox{display:flex;align-items:center;gap:8px;margin-top:24px;font-size:12px;color:var(--portal-text-muted);cursor:pointer}.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{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width:641px){.portal-top-brand-text .name{max-width:320px}}.portal-root :focus-visible{outline:2px solid #C8952E;outline-offset:2px;border-radius:4px}