:root{--font-heading:"Outfit", sans-serif;--font-body:"Plus Jakarta Sans", sans-serif;--bg-app:#030712;--bg-card:#0f172a8c;--bg-card-hover:#1e293bbf;--bg-sheet:#0a0f1ec7;--border-color:#ffffff14;--border-focus:#6366f1;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--color-primary:#6366f1;--color-primary-glow:#6366f140;--color-secondary:#10b981;--color-secondary-glow:#10b98140;--color-accent:#f59e0b;--color-danger:#ef4444;--color-info:#0ea5e9;--shadow-lg:0 10px 30px -10px #000000b3, 0 1px 1px #ffffff0d;--shadow-glow:0 0 20px #6366f159;--border-radius-sm:10px;--border-radius-md:20px;--border-radius-lg:28px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-app);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-app)}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#fff3}@media (width<=768px){.mobile-map-bg{z-index:1;pointer-events:auto;width:100vw;height:100vh;position:fixed;inset:0}.map-overlay-controls{max-width:280px;top:130px!important;left:auto!important;right:16px!important}.cupertino-bottom-sheet{background:var(--bg-sheet);-webkit-backdrop-filter:blur(24px)saturate(210%);z-index:10;will-change:transform;border-top:1px solid #ffffff1f;border-radius:28px 28px 0 0;height:70vh;padding:20px 20px 120px;transition:transform .35s cubic-bezier(.4,0,.2,1);position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -10px 40px #00000080,inset 0 1px #ffffff1a}.cupertino-bottom-sheet.sheet-collapsed{overflow-y:hidden!important;transform:translateY(calc(70vh - 60px))!important}.cupertino-bottom-sheet.sheet-fullscreen{background:var(--bg-sheet);position:fixed;inset:75px 0 0;z-index:5!important;border-radius:0!important;height:calc(100vh - 75px)!important;padding-top:10px!important;overflow-y:auto!important}:is(.flex-between:has(h2),.flex-between:has(h3),.flex-between:has(.stat-label),.expenses-table-header){flex-direction:column!important;align-items:flex-start!important;gap:12px!important}:is(.flex-between:has(h2)>div,.flex-between:has(h3)>div,.flex-between:has(.stat-label)>div,.expenses-table-header>div){gap:8px!important;width:100%!important;display:flex!important}:is(.flex-between:has(h2)>div .btn,.flex-between:has(h3)>div .btn,.flex-between:has(.stat-label)>div .btn,.expenses-table-header>div .btn){white-space:nowrap!important;flex:1!important;justify-content:center!important;padding:8px 12px!important;font-size:.8rem!important}.cupertino-bottom-sheet .main-grid,.cupertino-bottom-sheet .overview-grid{grid-template-columns:1fr!important}.cupertino-bottom-sheet .map-panel{display:none!important}.sheet-drag-handle{cursor:pointer;background:#ffffff40;border-radius:99px;flex-shrink:0;width:60px;height:8px;margin:-10px auto 16px;transition:background .2s,transform .2s}.sheet-drag-handle:hover{background:#ffffff73;transform:scaleX(1.1)}.floating-nav-capsule{-webkit-backdrop-filter:blur(24px)saturate(180%);z-index:100;background:#0f172aa6;border:1px solid #ffffff14;border-radius:9999px;justify-content:space-around;align-items:center;width:90%;max-width:480px;height:64px;margin:0 auto;padding:0 8px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0009,inset 0 1px 1px #ffffff1a}.floating-nav-capsule .nav-tab{color:var(--text-secondary);font-family:var(--font-heading);cursor:pointer;background:0 0;border:none;border-radius:9999px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:8px 12px;font-size:.8rem;font-weight:600;transition:transform .2s cubic-bezier(.34,1.56,.64,1),background-color .2s,color .2s,box-shadow .2s;display:flex}.floating-nav-capsule .nav-tab:hover{color:var(--text-primary);background:#ffffff0a}.floating-nav-capsule .nav-tab.active{color:#a5b4fc;background:#6366f126;transform:scale(1.05);box-shadow:0 4px 12px #6366f126,inset 0 1px #ffffff0d}.floating-nav-capsule .nav-tab:active{transform:scale(.95)}.timeline-left-spine{flex-direction:column;flex-shrink:0;align-items:center;width:50px;display:flex;position:relative}.timeline-spine-track{z-index:2;background:#ffffff14;flex-grow:1;width:3px;position:absolute;top:30px;bottom:-30px}.timeline-item-row:last-child .timeline-spine-track{bottom:unset;height:10px}.timeline-spine-track.dashed{background:repeating-linear-gradient(#0000,#0000 4px,#ffffff14 4px 8px)}.timeline-spine-node{background:var(--color-primary);z-index:3;width:14px;height:14px;box-shadow:0 0 10px var(--color-primary-glow);border:3px solid #030712;border-radius:50%;margin-top:10px;transition:transform .2s}.timeline-card-bubble{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(12px);flex-direction:column;flex-grow:1;gap:8px;padding:16px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.timeline-card-bubble:hover{background:var(--bg-card-hover);box-shadow:var(--shadow-glow);border-color:#ffffff26;transform:translateY(-2px)}.timeline-card-bubble:before{content:"";border-top:8px solid #0000;border-bottom:8px solid #0000;border-right:8px solid var(--border-color);z-index:4;width:0;height:0;position:absolute;top:13px;left:-8px}.timeline-card-bubble:after{content:"";z-index:5;border-top:8px solid #0000;border-bottom:8px solid #0000;border-right:8px solid #0f172af2;width:0;height:0;position:absolute;top:13px;left:-7px}.modal-content{gap:16px!important;max-width:92%!important;max-height:85vh!important;padding:20px!important;overflow-y:auto!important}}.app-container{flex-direction:column;gap:24px;width:100%;max-width:1400px;margin:0 auto;padding:24px;display:flex}.app-header{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-lg);justify-content:space-between;align-items:center;padding:24px;display:flex}@media (width<=768px){.app-header{border-radius:var(--border-radius-md);-webkit-backdrop-filter:blur(20px)saturate(180%);width:94%;box-shadow:var(--shadow-lg);z-index:100;background:#0f172aa6;padding:14px 20px;position:fixed;top:16px;left:3%}}.header-title-section h1{font-family:var(--font-heading);background:linear-gradient(135deg,#a5b4fc,#6366f1,#3b82f6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:2rem;font-weight:700}.header-title-section p{color:var(--text-secondary);margin-top:4px;font-size:.95rem}.header-stats{gap:24px;display:flex}.stat-item{flex-direction:column;align-items:flex-end;display:flex}.stat-value{font-family:var(--font-heading);color:var(--color-secondary);font-size:1.5rem;font-weight:600}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem}.app-nav{border-radius:var(--border-radius-sm);border:1px solid var(--border-color);background:#ffffff05;align-self:flex-start;gap:12px;padding:6px;display:flex}.nav-tab{color:var(--text-secondary);font-family:var(--font-heading);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 16px;font-size:.95rem;font-weight:500;transition:transform .2s cubic-bezier(.34,1.56,.64,1),background-color .2s,color .2s,box-shadow .2s;display:flex}.nav-tab:hover{color:var(--text-primary);background:#ffffff0d}.nav-tab.active{color:var(--text-primary);background:var(--color-primary);transform:scale(1.05);box-shadow:0 4px 12px #6366f14d}.nav-tab:active{transform:scale(.95)}.main-grid{grid-template-columns:1fr 1fr;gap:24px;min-height:600px;display:grid}@media (width<=1024px){.main-grid{grid-template-columns:1fr}}.timeline-panel{flex-direction:column;gap:20px;display:flex}.destination-selector{gap:10px;padding-bottom:8px;display:flex;overflow-x:auto}.dest-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--border-radius-sm);cursor:pointer;font-family:var(--font-heading);text-align:left;flex-direction:column;flex-shrink:0;gap:2px;padding:12px 20px;font-size:.95rem;font-weight:600;transition:all .2s;display:flex}.dest-btn:hover{color:var(--text-primary);border-color:#fff3}.dest-btn.active{border-color:var(--color-primary);color:var(--text-primary);box-shadow:var(--shadow-glow);background:linear-gradient(135deg,#1e1b4b,#312e81)}.dest-btn span.country{color:var(--text-muted);font-size:.75rem;font-weight:400}.dest-btn.active span.country{color:#a5b4fc}.timeline-header{justify-content:space-between;align-items:center;display:flex}.timeline-header h2{font-family:var(--font-heading);font-size:1.5rem}.timeline-container{border-left:2px dashed #ffffff1a;flex-direction:column;gap:16px;padding-left:20px;display:flex;position:relative}.timeline-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-md);flex-direction:column;gap:10px;padding:20px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.timeline-item:hover{background:var(--bg-card-hover);box-shadow:var(--shadow-lg);border-color:#ffffff26;transform:translateY(-2px)}.timeline-dot{background:var(--color-primary);border:4px solid var(--bg-app);border-radius:50%;width:12px;height:12px;position:absolute;top:24px;left:-27px}.timeline-item.flight .timeline-dot{background:var(--color-info)}.timeline-item.lodging .timeline-dot{background:var(--color-accent)}.timeline-item.food .timeline-dot{background:var(--color-secondary)}.timeline-item.sightseeing .timeline-dot{background:var(--color-primary)}.item-meta{justify-content:space-between;align-items:center;display:flex}.item-time-type{align-items:center;gap:10px;display:flex}.item-time{font-family:var(--font-heading);color:var(--text-secondary);background:#ffffff0d;border-radius:4px;padding:2px 8px;font-size:.85rem;font-weight:600}.item-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;padding:2px 8px;font-size:.7rem;font-weight:700}.item-badge.sightseeing{color:var(--color-primary);background:#6366f11a}.item-badge.food{color:var(--color-secondary);background:#10b9811a}.item-badge.lodging{color:var(--color-accent);background:#f59e0b1a}.item-badge.transport{color:var(--color-info);background:#0ea5e91a}.item-cost{font-family:var(--font-heading);color:var(--text-primary);font-size:.95rem;font-weight:600}.item-title{font-family:var(--font-heading);color:var(--text-primary);font-size:1.15rem;font-weight:600}.item-desc{color:var(--text-secondary);font-size:.9rem}.item-footer-info{color:var(--text-muted);border-top:1px solid #ffffff0a;gap:16px;margin-top:4px;padding-top:10px;font-size:.8rem;display:flex}.info-snippet{align-items:center;gap:6px;display:flex}.info-snippet svg{width:14px;height:14px;color:var(--text-muted)}.item-actions{opacity:.3;align-self:flex-end;gap:8px;transition:opacity .2s;display:flex}.timeline-item:hover .item-actions{opacity:1}.action-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.action-btn:hover{color:var(--text-primary);background:#ffffff0d}.action-btn.delete:hover{color:var(--color-danger);background:#ef44441a}.map-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;height:calc(100vh - 200px);min-height:450px;display:flex;position:sticky;top:24px;overflow:hidden}.map-header{border-bottom:1px solid var(--border-color);background:#ffffff03;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.map-header h3{font-family:var(--font-heading);font-size:1.1rem;font-weight:600}.leaflet-container{z-index:10;width:100%;height:100%;background:#0b0f19!important}.checklist-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.checklist-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);flex-direction:column;gap:16px;padding:20px;display:flex}.checklist-card h3{font-family:var(--font-heading);color:var(--text-primary);border-bottom:1px solid var(--border-color);text-transform:capitalize;padding-bottom:8px;font-size:1.15rem}.checklist-items{flex-direction:column;gap:10px;display:flex}.checklist-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.checklist-label-wrapper{cursor:pointer;flex-grow:1;align-items:center;gap:10px;display:flex}.checklist-checkbox{appearance:none;border:2px solid var(--text-muted);cursor:pointer;border-radius:4px;outline:none;justify-content:center;align-items:center;width:18px;height:18px;transition:all .2s;display:flex}.checklist-checkbox:checked{background:var(--color-secondary);border-color:var(--color-secondary);animation:.35s cubic-bezier(.34,1.56,.64,1) forwards checkBounce}@keyframes checkBounce{0%{transform:scale(1)}45%{transform:scale(1.22)}70%{transform:scale(.92)}to{transform:scale(1)}}@keyframes spineNodeCheck{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.checklist-checkbox:checked:before{content:"✓";color:var(--bg-app);font-size:11px;font-weight:900}.checklist-text{color:var(--text-secondary);font-size:.9rem;transition:all .2s}.checklist-checkbox:checked+.checklist-text{color:var(--text-muted);text-decoration:line-through}.expenses-summary{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:24px;display:grid}.summary-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);flex-direction:column;gap:4px;padding:20px;display:flex}.summary-card h4{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem}.summary-card .value{font-family:var(--font-heading);font-size:1.8rem;font-weight:700}.expenses-table-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);padding:24px}.expenses-table-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.expenses-table-header h3{font-family:var(--font-heading)}.table-wrapper{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color);padding:12px 16px;font-size:.8rem;font-weight:600}td{color:var(--text-secondary);border-bottom:1px solid #ffffff08;padding:16px;font-size:.9rem}tr:hover td{color:var(--text-primary);background:#ffffff03}.expense-amount{font-family:var(--font-heading);color:var(--text-primary);font-weight:600}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{border-radius:var(--border-radius-lg);background:#111827;border:1px solid #ffffff1a;flex-direction:column;gap:20px;width:100%;max-width:500px;padding:32px;animation:.25s modalEnter;display:flex;box-shadow:0 25px 50px -12px #000000b3}@keyframes modalEnter{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-content h3{font-family:var(--font-heading);font-size:1.35rem}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-secondary);text-transform:uppercase;font-size:.8rem;font-weight:600}.form-input,.form-select,.form-textarea{border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);font-family:var(--font-body);background:#ffffff08;padding:10px 14px;font-size:.95rem;transition:all .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--border-focus);background:#ffffff0d;outline:none}.form-textarea{resize:vertical;min-height:80px}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.modal-actions{justify-content:flex-end;gap:12px;margin-top:10px;display:flex}.btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--border-radius-sm);cursor:pointer;font-family:var(--font-heading);justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:.95rem;font-weight:600;transition:all .2s;display:flex}.btn:hover{background:#ffffff14}.btn.primary{background:var(--color-primary);border-color:var(--color-primary)}.btn.primary:hover{background:#4f46e5;box-shadow:0 4px 14px #6366f166}.btn.secondary{color:var(--text-secondary);background:0 0;border-color:#0000}.btn.secondary:hover{color:var(--text-primary);background:#ffffff0d}.btn.danger{background:var(--color-danger);border-color:var(--color-danger)}.btn.danger:hover{background:#dc2626}.btn-small{border-radius:6px;padding:6px 12px;font-size:.85rem}.flex-between{justify-content:space-between;align-items:center;display:flex}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.empty-state{text-align:center;color:var(--text-muted);border:1px dashed var(--border-color);border-radius:var(--border-radius-md);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px;display:flex}.empty-state svg{width:48px;height:48px;color:var(--text-muted);opacity:.5}.trips-dashboard{flex-direction:column;justify-content:center;align-items:center;gap:32px;width:100%;max-width:1000px;margin:0 auto;padding:40px 20px;display:flex}.dashboard-hero{text-align:center;flex-direction:column;gap:12px;display:flex}.dashboard-hero h2{font-family:var(--font-heading);background:linear-gradient(135deg,#a5b4fc,#6366f1,#3b82f6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:2.5rem;font-weight:800}.dashboard-hero p{color:var(--text-secondary);font-size:1.1rem}.trips-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;width:100%;display:grid}.trip-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-md);cursor:pointer;min-height:180px;box-shadow:var(--shadow-lg);flex-direction:column;justify-content:space-between;gap:20px;padding:24px;transition:all .25s;display:flex;position:relative}.trip-card:hover{background:var(--bg-card-hover);border-color:var(--color-primary);box-shadow:var(--shadow-glow), var(--shadow-lg);transform:translateY(-4px)}.trip-card-info h3{font-family:var(--font-heading);color:var(--text-primary);margin-bottom:8px;font-size:1.25rem;font-weight:700}.trip-card-dates{color:var(--text-secondary);align-items:center;gap:6px;font-size:.85rem;display:flex}.trip-card-actions{opacity:.3;justify-content:flex-end;gap:8px;transition:opacity .2s;display:flex}.trip-card:hover .trip-card-actions{opacity:1}.trip-card-add{border:2px dashed var(--border-color);min-height:180px;color:var(--text-secondary);cursor:pointer;border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:12px;transition:all .25s;display:flex}.trip-card-add:hover{border-color:var(--color-primary);color:var(--text-primary);box-shadow:var(--shadow-glow), var(--shadow-lg);background:#6366f105;transform:translateY(-4px)}.back-to-trips-btn{color:var(--text-secondary);font-family:var(--font-heading);cursor:pointer;border:1px solid var(--border-color);background:#ffffff05;border-radius:6px;align-items:center;gap:8px;margin-bottom:12px;padding:6px 12px;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}@media (width<=768px){.back-to-trips-btn{z-index:100;-webkit-backdrop-filter:blur(12px);background:#0f172ab3;border-radius:9999px;margin-bottom:0;position:fixed;top:96px;left:3%;box-shadow:0 4px 12px #0000004d}}.back-to-trips-btn:hover{color:var(--text-primary);background:#ffffff0d;border-color:#ffffff26}.overview-grid{grid-template-columns:2fr 1fr;gap:24px;display:grid}@media (width<=1024px){.overview-grid{grid-template-columns:1fr}}.trail-section{flex-direction:column;gap:20px;display:flex}.trail-node{gap:20px;padding-bottom:24px;display:flex;position:relative}.trail-node:not(:last-child):before{content:"";background:linear-gradient(to bottom, var(--color-primary), #ffffff0d);z-index:1;width:2px;position:absolute;top:40px;bottom:0;left:20px}.trail-node-icon{background:var(--bg-card);border:2px solid var(--color-primary);z-index:2;width:42px;height:42px;color:var(--text-primary);font-weight:700;font-family:var(--font-heading);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.trail-node-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);flex-direction:column;flex-grow:1;gap:12px;padding:20px;transition:all .2s;display:flex}.trail-node-card:hover{background:var(--bg-card-hover);border-color:#ffffff26}.trail-node-header{justify-content:space-between;align-items:flex-start;display:flex}.trail-node-title{font-family:var(--font-heading);color:var(--text-primary);font-size:1.25rem;font-weight:700}.trail-node-dates{color:var(--text-muted);font-size:.85rem}.trail-node-highlights{border-top:1px solid #ffffff0a;flex-direction:column;gap:8px;padding-top:12px;display:flex}.trail-highlight-item{color:var(--text-secondary);align-items:flex-start;gap:10px;font-size:.88rem;display:flex}.trail-highlight-item svg{color:var(--text-muted);flex-shrink:0;margin-top:3px}.flights-panel{flex-direction:column;gap:20px;display:flex}.flight-board-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);padding:20px}.flight-board-card h3{font-family:var(--font-heading);border-bottom:1px solid var(--border-color);margin-bottom:16px;padding-bottom:8px;font-size:1.15rem}.flight-list{flex-direction:column;gap:16px;display:flex}.flight-ticket{border-left:3px solid var(--color-info);border-radius:0 var(--border-radius-sm) var(--border-radius-sm) 0;background:#0ea5e908;flex-direction:column;gap:6px;padding:12px 16px;font-size:.85rem;display:flex}.flight-ticket-header{color:var(--text-primary);justify-content:space-between;font-weight:700;display:flex}.flight-ticket-route{font-family:var(--font-heading);color:var(--color-info);font-size:1rem;font-weight:600}.flight-ticket-seats{color:var(--text-secondary);background:#ffffff0d;border-radius:4px;padding:2px 6px;font-size:.75rem}.map-wrapper{flex-direction:column;width:100%;height:100%;display:flex;position:relative}.map-overlay-controls{z-index:99;-webkit-backdrop-filter:blur(16px)saturate(180%);border-radius:var(--border-radius-lg);-webkit-user-select:none;user-select:none;width:250px;font-family:"Plus Jakarta Sans", var(--font-sans);background:#0f172ad9;border:1px solid #ffffff1f;padding:14px;transition:all .35s cubic-bezier(.4,0,.2,1);position:absolute;top:16px;right:16px;box-shadow:0 10px 30px -10px #000000b3,inset 0 1px #ffffff1a}.map-overlay-controls.collapsed{cursor:pointer;background:#0f172af2;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;padding:0;display:flex;overflow:hidden;box-shadow:0 4px 20px #00000080}.map-overlay-controls.collapsed:hover{border-color:#6366f166;transform:scale(1.05)}.map-overlay-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}.map-overlay-header h4{text-transform:uppercase;letter-spacing:.05em;color:var(--text-primary);align-items:center;gap:6px;margin:0;font-size:.85rem;font-weight:700;display:flex}.map-overlay-toggle-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.map-overlay-toggle-btn:hover{color:var(--text-primary);background:#ffffff14}.map-overlay-body{flex-direction:column;gap:12px;animation:.2s fadeIn;display:flex}.map-overlay-section-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px;font-size:.75rem;font-weight:600}.map-overlay-group{flex-direction:column;gap:8px;display:flex}.map-filter-item{cursor:pointer;background:#ffffff05;border:1px solid #ffffff0a;border-radius:8px;justify-content:space-between;align-items:center;padding:6px 8px;transition:all .2s;display:flex}.map-filter-item:hover{background:#ffffff0d;border-color:#ffffff14}.map-filter-label{color:var(--text-secondary);align-items:center;gap:8px;font-size:.825rem;font-weight:500;transition:color .2s;display:flex}.map-filter-item.active .map-filter-label{color:var(--text-primary)}.map-filter-icon-wrapper{border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;transition:all .2s;display:flex}.map-filter-item.sightseeing .map-filter-icon-wrapper{color:#818cf8;background:#6366f11a}.map-filter-item.sightseeing.active{background:#6366f10d;border-color:#6366f14d}.map-filter-item.sightseeing.active .map-filter-icon-wrapper{color:#fff;background:#6366f1}.map-filter-item.lodging .map-filter-icon-wrapper{color:#fbbf24;background:#f59e0b1a}.map-filter-item.lodging.active{background:#f59e0b0d;border-color:#f59e0b4d}.map-filter-item.lodging.active .map-filter-icon-wrapper{color:#fff;background:#f59e0b}.map-filter-item.food .map-filter-icon-wrapper{color:#34d399;background:#10b9811a}.map-filter-item.food.active{background:#10b9810d;border-color:#10b9814d}.map-filter-item.food.active .map-filter-icon-wrapper{color:#fff;background:#10b981}.map-filter-item.transport .map-filter-icon-wrapper{color:#38bdf8;background:#0ea5e91a}.map-filter-item.transport.active{background:#0ea5e90d;border-color:#0ea5e94d}.map-filter-item.transport.active .map-filter-icon-wrapper{color:#fff;background:#0ea5e9}.map-switch{width:32px;height:18px;display:inline-block;position:relative}.map-switch input{opacity:0;width:0;height:0}.map-slider{cursor:pointer;background-color:#334155;border-radius:18px;transition:all .3s;position:absolute;inset:0}.map-slider:before{content:"";background-color:#fff;border-radius:50%;width:12px;height:12px;transition:all .3s;position:absolute;bottom:3px;left:3px}input:checked+.map-slider,.map-filter-item.sightseeing.active input:checked+.map-slider{background-color:#6366f1}.map-filter-item.lodging.active input:checked+.map-slider{background-color:#f59e0b}.map-filter-item.food.active input:checked+.map-slider{background-color:#10b981}.map-filter-item.transport.active input:checked+.map-slider{background-color:#0ea5e9}input:checked+.map-slider:before{transform:translate(14px)}.map-path-settings{border-top:1px solid #ffffff0f;margin-top:4px;padding-top:10px}.map-settings-item{color:var(--text-secondary);justify-content:space-between;align-items:center;padding:4px 6px;font-size:.8rem;display:flex}.map-settings-item span{align-items:center;gap:6px;display:flex}.map-collapsed-trigger{color:#818cf8;justify-content:center;align-items:center;transition:all .2s;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.timeline-item.ticket-card,.timeline-item.receipt-card,.timeline-item.hotel-card,.timeline-item.sightseeing-card{position:relative;overflow:hidden;flex-direction:row!important;justify-content:space-between!important;align-items:stretch!important;gap:16px!important;padding:16px!important;display:flex!important}.timeline-item.ticket-card{border-left:4px solid var(--color-info)!important;background:linear-gradient(135deg, var(--bg-card) 0%, #0ea5e908 100%)!important}.timeline-item.ticket-card:before,.timeline-item.ticket-card:after{content:"";background:var(--bg-app);z-index:10;border:1px solid var(--border-color);border-radius:50%;width:14px;height:14px;position:absolute;right:93px}.timeline-item.ticket-card:before{top:-7px}.timeline-item.ticket-card:after{bottom:-7px}.timeline-item.ticket-card .activity-thumbnail{border:1px solid #ffffff0d!important;border-radius:4px!important}.barcode-stub{background:repeating-linear-gradient(90deg, var(--text-secondary), var(--text-secondary) 1px, transparent 1px, transparent 4px, var(--text-secondary) 4px, var(--text-secondary) 6px, transparent 6px, transparent 7px);opacity:.15;border-radius:2px;width:70px;height:36px;margin-top:6px}.timeline-item.hotel-card{box-shadow:0 4px 20px #0000001a;border-left:4px solid var(--color-accent)!important;background:linear-gradient(135deg, var(--bg-card) 0%, #6366f108 100%)!important;padding-top:24px!important}.timeline-item.hotel-card:before{content:"";border-top-left-radius:var(--border-radius-md);border-top-right-radius:var(--border-radius-md);z-index:10;background:linear-gradient(90deg,#d4af37,#f5e08b,#d4af37);height:6px;position:absolute;top:0;left:0;right:0}.watermark-confirmed{color:#10b98126;font-family:var(--font-heading);text-transform:uppercase;pointer-events:none;letter-spacing:.1em;z-index:5;border:2px solid #10b98126;border-radius:4px;padding:2px 6px;font-size:.75rem;font-weight:900;position:absolute;top:20px;right:140px;transform:rotate(-12deg)}.timeline-item.receipt-card{border-left:4px solid var(--color-warning)!important;background:var(--bg-card)!important;border-bottom:2px dashed #ffffff14!important;border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.timeline-item.receipt-card:after{content:"";background-image:linear-gradient(135deg, transparent 50%, var(--bg-card) 50%), linear-gradient(225deg, transparent 50%, var(--bg-card) 50%);z-index:5;background-position:0 100%;background-repeat:repeat-x;background-size:6px 6px;height:6px;position:absolute;bottom:-6px;left:0;right:0}.timeline-item.receipt-card .item-cost{color:var(--color-warning);background:#f59e0b14;border-radius:4px;padding:2px 6px;font-family:monospace;font-weight:700}.receipt-totals{color:var(--text-muted);border-top:1px dashed #ffffff0d;flex-direction:column;gap:2px;margin-top:8px;padding-top:6px;font-family:monospace;font-size:.72rem;display:flex}.timeline-item.sightseeing-card{border-left:4px solid var(--color-success)!important;background:var(--bg-card)!important;padding-top:20px!important}.timeline-item.sightseeing-card:before,.timeline-item.sightseeing-card:after{content:"";background:var(--bg-app);z-index:10;border:1px solid var(--border-color);border-radius:50%;width:14px;height:14px;position:absolute;right:93px}.timeline-item.sightseeing-card:before{top:-7px}.timeline-item.sightseeing-card:after{bottom:-7px}.holographic-ribbon{z-index:10;background:linear-gradient(90deg,#ff007f,#7f00ff,#0ff,#00ff7f,#ff0,#ff007f) 0 0/400% 400%;height:4px;animation:10s infinite holoShift;position:absolute;top:0;left:0;right:0}@keyframes holoShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.timeline-item.hotel-card .activity-thumbnail,.timeline-item.receipt-card .activity-thumbnail,.timeline-item.sightseeing-card .activity-thumbnail{border-radius:0 var(--border-radius-md) var(--border-radius-md) 0!important;align-self:stretch!important;width:100px!important;height:calc(100% + 32px)!important;margin:-16px -16px -16px 12px!important}.timeline-item.hotel-card,.timeline-item.receipt-card,.timeline-item.sightseeing-card{padding-right:0!important}.timeline-item.sightseeing-card .activity-thumbnail{border-left:1px dashed var(--border-color)!important}.activity-thumbnail{border:1px solid var(--border-color);width:80px;height:80px;box-shadow:var(--shadow-sm);background-position:50%;background-size:cover;border-radius:8px;flex-shrink:0;align-self:center;transition:transform .25s cubic-bezier(.4,0,.2,1);overflow:hidden}.activity-thumbnail:hover{transform:scale(1.05)}.info-snippet.copyable{transition:all .2s}.info-snippet.copyable:hover{transform:scale(1.02);color:#a5b4fc!important}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes pulseGlow{0%{border-color:#6366f14d;box-shadow:0 0 4px #6366f133}50%{border-color:#6366f1cc;box-shadow:0 0 16px #6366f1a6}to{border-color:#6366f14d;box-shadow:0 0 4px #6366f133}}.live-pulse-card{animation:2s ease-in-out infinite pulseGlow}
