:root{--primary: #0d9488;--primary-hover: #0f766e;--primary-light: #ccfbf1;--primary-rgb: 13, 148, 136;--secondary: #0284c7;--secondary-light: #e0f2fe;--sunset: #f43f5e;--sunset-light: #ffe4e6;--gold: #f59e0b;--gold-light: #fef3c7;--purple: #8b5cf6;--purple-light: #ede9fe;--gmap-blue: #1a73e8;--gmap-bg: #e8f0fe;--bg-main: #f8fafc;--bg-surface: #ffffff;--bg-surface-elevated: #ffffff;--text-main: #0f172a;--text-muted: #64748b;--text-sub: #94a3b8;--border-light: #e2e8f0;--border-card: #f1f5f9;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .07), 0 2px 4px -2px rgb(0 0 0 / .05);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .08), 0 4px 6px -4px rgb(0 0 0 / .04);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .06);--shadow-glow: 0 0 20px rgba(13, 148, 136, .25);--header-height: 72px;--bottom-nav-height: 62px;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-full: 9999px;--transition-fast: .18s ease;--transition-smooth: .3s cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}button,a,input,select,textarea,[role=button],[role=tab],.btn,.day-tab,.filter-chip,.bottom-nav-item,.btn-card-action,.card-gmap-link,.ai-choice-chip{touch-action:manipulation}button:active,.btn:active,.bottom-nav-item:active,.day-tab:active,.filter-chip:active,.ai-choice-chip:active{transform:scale(.97);opacity:.88}html,body{width:100%;height:100%;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,Roboto,sans-serif;color:var(--text-main);background-color:var(--bg-main);line-height:1.5;overflow:hidden;word-break:keep-all;overflow-wrap:break-word;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-touch-callout:none}input,textarea{user-select:text!important;-webkit-user-select:text!important}h1,h2,h3,h4,h5,h6,.modal-title,.share-trip-title,.place-name,.summary-title,.day-title-text,.section-title,.itinerary-main-title,.today-spot-title,.today-spot-sub,.today-dday-kicker,.today-dday-date,.today-prep-labels,.today-prep-btn,.rain-title,.rain-sub,.smart-tip-text,.wallet-tab-title,.wallet-tab-sub,.prep-tab-title,.prep-tab-sub,.wallet-section-title,.wallet-fx-title,.wallet-fx-tip-text,.prep-outfit-text p,.prep-outfit-text strong{word-break:keep-all;overflow-wrap:break-word;text-wrap:balance;line-height:1.35}p,.modal-subtitle,.share-trip-details,.activity-desc,.tip-content,.card-desc,.alert-desc,.summary-desc,.pro-notice-text,.today-spot-sub,.today-transit-pill,.rain-sub,.wallet-fx-tip-text{word-break:keep-all;overflow-wrap:break-word;text-wrap:pretty;line-height:1.55}.order-badge,.time-pill,.category-tag,.badge-item,.hotel-sugg-badge,.ai-choice-chip,.ai-region-tab,.btn-counter,.stat-item,.d-day-label,.header-tag,.cost-badge,.grab-badge,.spot-photo-badge,.spot-ticket-badge,.spot-affiliate-badge,.live-sync-badge{white-space:nowrap!important;flex-shrink:0}.app-header{height:var(--header-height);background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:relative;z-index:1000;box-shadow:0 2px 8px #00000008}.header-left{display:flex;align-items:center;gap:20px}.logo-badge{display:flex;align-items:center;gap:12px}.brand-logo-header{width:32px;height:32px;border-radius:9px;background:#fff;object-fit:contain;box-shadow:0 2px 6px #0f172a14,0 1px 2px #0f172a0a;border:1px solid rgba(226,232,240,.95);flex-shrink:0;transition:all .2s cubic-bezier(.16,1,.3,1)}.logo-badge:hover .brand-logo-header{transform:translateY(-1px) scale(1.05);box-shadow:0 4px 10px #2563eb29;border-color:#bfdbfe}.logo-icon{font-size:28px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#e6fffa;border-radius:var(--radius-md);border:1px solid rgba(13,148,136,.15);box-shadow:0 1px 3px #0d948814}.badge-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.8px;color:var(--primary);background:#0d948814;padding:2px 8px;border-radius:var(--radius-full);margin-bottom:2px}.logo-text h1{font-size:19px;font-weight:800;color:#0f172a;letter-spacing:-.5px;line-height:1.2}.trip-meta-pills{display:flex;align-items:center;gap:8px}.meta-pill{font-size:12px;font-weight:600;padding:6px 12px;border-radius:var(--radius-full)}.weather-pill{transition:all .2s cubic-bezier(.34,1.56,.64,1);user-select:none}.weather-pill:hover{transform:translateY(-1.5px);box-shadow:0 3px 8px #10b98140;filter:brightness(.97)}.weather-pill:active{transform:translateY(0) scale(.96)}.date-pill{background:var(--border-card);color:var(--text-muted);border:1px solid var(--border-light)}.concept-pill{background:#fef2f2;color:#e11d48;border:1px solid rgba(244,63,94,.15)}.header-right{display:flex;align-items:center;gap:10px}.d-day-widget{display:flex;flex-direction:column;align-items:flex-end;background:#f8fafc;padding:4px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-light)}.d-day-label{font-size:10px;font-weight:600;color:var(--text-sub)}.d-day-value{font-size:15px;font-weight:800;color:var(--primary);letter-spacing:-.3px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13.5px;font-weight:600;padding:8px 14px;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;font-family:inherit}.btn-phone{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.btn-phone:hover{background:#dcfce7;transform:translateY(-1px)}.btn-gmap-route{background:#e8f0fe;color:#1a73e8;border:1px solid #c2e7ff}.btn-gmap-route:hover{background:#d2e3fc;color:#174ea6;transform:translateY(-1px)}.btn-add-spot{background:#f1f5f9;color:#0f172a;border:1px solid #cbd5e1}.btn-add-spot:hover{background:#e2e8f0;transform:translateY(-1px)}.btn-ai-planner{background:#0d9488;color:#fff!important;font-weight:700;box-shadow:0 1px 3px #0d94882e;border:1px solid #0f766e;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;cursor:pointer}.btn-ai-planner:hover{transform:translateY(-1px);box-shadow:0 2px 6px #0d948838;background:#0f766e}.btn-ai-planner:active{transform:scale(.97)}.ai-sparkle{display:inline-block;animation:pulse 1.8s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.trip-switch-badge-btn{border:1px solid rgba(13,148,136,.35);background:#ccfbf1;color:#0f766e;font-size:10.5px;font-weight:800;padding:2px 8px;border-radius:999px;white-space:nowrap;cursor:pointer;display:inline-flex;align-items:center;gap:3px;box-shadow:0 1px 4px #0d948826;transition:all var(--transition-fast)}.trip-switch-badge-btn:hover{background:#99f6e4;color:#115e59;transform:translateY(-1px);box-shadow:0 2px 6px #0d948840}.trip-switch-badge-btn:active{transform:scale(.96)}.trip-title-wrapper{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.form-input,.form-textarea{width:100%;font-family:inherit;font-size:13.5px;color:#0f172a;background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;padding:10px 14px;outline:none;box-sizing:border-box;transition:all .2s cubic-bezier(.16,1,.3,1)}.form-input:focus,.form-textarea:focus{border-color:#2563eb;background:#fff;box-shadow:0 0 0 3.5px #2563eb1f}.form-input::placeholder,.form-textarea::placeholder{color:#94a3b8;font-weight:400}.date-picker-card{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;padding:8px 14px;transition:all .2s ease;cursor:pointer}.date-picker-card:hover{border-color:#cbd5e1}.date-picker-card:focus-within{border-color:#2563eb;box-shadow:0 0 0 3.5px #2563eb1f}.date-picker-card input[type=date]{border:none;background:transparent;font-size:14px;font-weight:700;color:#0f172a;outline:none;font-family:inherit;width:100%;cursor:pointer}.time-picker-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;padding:10px 12px;transition:all .2s ease}.time-picker-card:hover{border-color:#cbd5e1}.time-picker-card:focus-within{border-color:#2563eb;box-shadow:0 0 0 3.5px #2563eb1f}.time-picker-card input[type=time]{border:1px solid #e2e8f0;background:#f8fafc;font-size:13.5px;font-weight:800;color:#0f172a;padding:7px 10px;border-radius:8px;width:100%;outline:none;font-family:inherit;box-sizing:border-box}.time-picker-card input[type=time]:focus{border-color:#2563eb;background:#fff}input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;transition:opacity .15s ease}input[type=date]::-webkit-calendar-picker-indicator:hover,input[type=time]::-webkit-calendar-picker-indicator:hover{opacity:1}.ai-choice-chip{padding:7px 13px;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;font-size:12px;font-weight:600;color:#334155;cursor:pointer;transition:all var(--transition-fast)}.ai-choice-chip:hover{background:#e2e8f0;color:#0f172a}.ai-choice-chip.active{background:#2563eb;color:#fff;border-color:#2563eb;box-shadow:0 2px 6px #2563eb40}.ai-region-tab{padding:5px 12px;background:#f1f5f9;border:1px solid var(--border-light, #e2e8f0);border-radius:var(--radius-full, 9999px);font-size:11.5px;font-weight:700;color:#64748b;cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);flex-shrink:0}.ai-region-tab:hover{background:#e2e8f0;color:#1e293b}.ai-region-tab.active{background:#1e40af;color:#fff;border-color:#1e40af;box-shadow:0 2px 6px #1e40af4d}.trip-item-card{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-md);margin-bottom:8px;cursor:pointer;transition:all var(--transition-fast)}.trip-item-card:hover{border-color:#0d9488;background:#f0fdfa;transform:translateY(-1px)}.trip-item-card.active-trip{border-color:#0d9488;background:#f0fdfa;box-shadow:0 2px 8px #0d948826}.trip-item-info{display:flex;align-items:center;gap:10px}.trip-item-icon{font-size:22px}.trip-item-title{font-size:13.5px;font-weight:800;color:var(--text-main)}.trip-item-meta{font-size:11px;color:var(--text-muted);margin-top:2px}.trip-item-badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:var(--radius-full)}.trip-item-badge.badge-current{background:#ccfbf1;color:#0f766e}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 1px 3px #0d948826}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 2px 6px #0d948833}.btn-secondary{background:#0f172a;color:#fff}.btn-secondary:hover{background:#1e293b}.btn-outline{background:#fff;border:1px solid var(--border-light);color:var(--text-muted)}.btn-outline:hover{background:var(--bg-main);color:var(--text-main)}.btn-danger{background:#fee2e2;color:#dc2626;border:1px solid #fca5a5}.btn-danger:hover{background:#fecaca}.badge-count{background:#ffffff40;font-size:11px;font-weight:700;padding:2px 7px;border-radius:var(--radius-full)}.main-container{display:flex;width:100%;height:calc(100vh - var(--header-height));position:relative;overflow:hidden}.schedule-section{width:45%;min-width:460px;height:100%;background:#f8fafc;border-right:1px solid var(--border-light);display:flex;flex-direction:column;z-index:10;position:relative;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.schedule-section::-webkit-scrollbar{width:6px}.schedule-section::-webkit-scrollbar-track{background:transparent}.schedule-section::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:var(--radius-full)}.schedule-section::-webkit-scrollbar-thumb:hover{background:#94a3b8}.map-section{width:55%;height:100%;position:relative;background:#e5e7eb}.interactive-map{width:100%;height:100%}.schedule-header-sticky{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--border-light);box-shadow:0 2px 8px #0000000a;flex-shrink:0;z-index:30}.tabs-wrapper{background:#fff;border-bottom:1px solid var(--border-light);padding:10px 18px 8px;overflow:hidden;width:100%;box-sizing:border-box}.day-tabs{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding:2px 2px 5px;width:100%;box-sizing:border-box}.day-tabs::-webkit-scrollbar{display:none}.day-tab{flex:0 0 auto;width:84px;min-width:80px;max-width:92px;padding:8px 6px;background:#f8fafc;border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;scroll-snap-align:start;transition:all var(--transition-smooth);box-sizing:border-box;overflow:hidden}.day-tab:hover{background:#f1f5f9;border-color:#cbd5e1}.tab-day{font-size:12.5px;font-weight:800;color:var(--text-main);white-space:nowrap}.tab-date{font-size:10px;font-weight:600;color:var(--text-muted);white-space:nowrap}.tab-desc{font-size:10px;font-weight:600;color:var(--primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;max-width:100%;text-align:center;display:block}.day-tab.active{background:#0d9488;border-color:#0f766e;box-shadow:0 1px 4px #0d948826;transform:translateY(-1px)}.day-tab.active .tab-day,.day-tab.active .tab-date{color:#fff}.day-tab.active .tab-desc{color:#ccfbf1}.filter-bar{display:flex;align-items:center;gap:10px;padding:10px 20px;background:#fff;border-bottom:1px solid var(--border-light);overflow-x:auto;scrollbar-width:none}.filter-bar::-webkit-scrollbar{display:none}.filter-title{font-size:12px;font-weight:700;color:var(--text-sub);white-space:nowrap}.filter-chips{display:flex;align-items:center;gap:6px}.filter-chip{padding:5px 12px;font-size:12px;font-weight:600;border-radius:var(--radius-full);border:1px solid var(--border-light);background:#f8fafc;color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.filter-chip:hover{background:#f1f5f9;color:var(--text-main)}.filter-chip.active{background:#0f172a;color:#fff;border-color:#0f172a;box-shadow:var(--shadow-sm)}.filter-chip.chip-spa.active{background:#ec4899;border-color:#ec4899}.filter-chip.chip-food.active{background:#f97316;border-color:#f97316}.filter-chip.chip-cafe.active{background:#92400e;border-color:#92400e}.filter-chip.chip-water.active{background:#0284c7;border-color:#0284c7}.filter-chip.chip-tour.active{background:#8b5cf6;border-color:#8b5cf6}.filter-chip.chip-shopping.active{background:#f43f5e;border-color:#f43f5e}.filter-chip.chip-activity.active{background:#10b981;border-color:#10b981}.filter-chip.chip-stay.active{background:#2563eb;border-color:#2563eb}.filter-chip.chip-transport.active{background:#64748b;border-color:#64748b}.day-summary-banner{padding:14px 20px;background:#f8fafb;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}.summary-left{flex:1 1 auto;min-width:0}.summary-heading-box{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.summary-title{font-size:15px;font-weight:800;color:#0f766e;word-break:keep-all;overflow-wrap:break-word;text-wrap:balance;white-space:normal;line-height:1.35}.summary-action-btns{display:inline-flex;align-items:center;gap:5px;flex-wrap:wrap;flex-shrink:0}.btn-summary-add,.btn-summary-gmap,.btn-summary-rain,.btn-summary-del-day,.btn-summary-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;height:25px!important;min-height:25px!important;max-height:25px!important;line-height:1!important;vertical-align:middle!important;box-sizing:border-box!important;font-size:11px!important;font-weight:700!important;padding:0 8px!important;border-radius:6px!important;white-space:nowrap!important;cursor:pointer!important;text-decoration:none!important;transition:all var(--transition-fast)!important}.btn-summary-add{background:#fff;color:var(--primary);border:1px solid rgba(13,148,136,.3)}.btn-summary-add:hover{background:var(--primary);color:#fff}.btn-summary-gmap{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}.btn-summary-gmap:hover{background:#dbeafe;color:#1d4ed8}.btn-summary-rain{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.btn-summary-rain:hover{background:#dcfce7;color:#14532d;border-color:#86efac}.btn-summary-rain.is-rainy-active{background:#2563eb!important;color:#fff!important;border-color:#1d4ed8!important;box-shadow:0 1px 4px #2563eb4d!important}.btn-summary-rain.is-rainy-active:hover{background:#1d4ed8!important}.btn-summary-del-day{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.btn-summary-del-day:hover{background:#fee2e2;color:#b91c1c;border-color:#f87171}.btn-summary-toggle{background:#fff;color:#0f766e;border:1px solid rgba(13,148,136,.3)}.btn-summary-toggle:hover{background:#ccfbf1}.btn-summary-toggle:hover{background:#ccfbf1;color:#0f766e;border-color:#0f766e}.day-summary-banner.is-collapsed{padding-top:8px!important;padding-bottom:8px!important;gap:0!important}.day-summary-banner.is-collapsed .summary-desc,.day-summary-banner.is-collapsed .summary-stats{display:none!important}.summary-desc{font-size:12px;color:#334155;line-height:1.45;max-width:100%;margin-top:4px;word-break:keep-all}.day-summary-banner .summary-stats{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:6px!important}.day-summary-banner .summary-stats .stat-item{display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:4px!important;height:28px!important;padding:0 10px!important;border-radius:20px!important;background:#fff!important;border:1px solid rgba(13,148,136,.25)!important;box-shadow:0 1px 2px #0000000a!important;white-space:nowrap!important;box-sizing:border-box!important;width:auto!important;min-width:0!important;flex-shrink:0!important}.day-summary-banner .summary-stats .stat-item.stat-grab{background:#f0fdf4!important;border-color:#86efac!important}.day-summary-banner .summary-stats .stat-item.stat-cost{background:#eff6ff!important;border-color:#bfdbfe!important}.day-summary-banner .summary-stats .stat-num{font-size:11.5px!important;font-weight:800!important;color:#0d9488!important;line-height:1!important;white-space:nowrap!important}.day-summary-banner .summary-stats .stat-item.stat-grab .stat-num{color:#16a34a!important}.day-summary-banner .summary-stats .stat-item.stat-cost .stat-num{color:#1d4ed8!important}.day-summary-banner .summary-stats .stat-text{font-size:11px!important;font-weight:600!important;color:#64748b!important;line-height:1!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important}.day-summary-banner .summary-stats .stat-item.stat-grab .stat-text{color:#15803d!important}.day-summary-banner .summary-stats .stat-item.stat-cost .stat-text{color:#1e40af!important}.itinerary-list{flex:none;overflow-y:visible;height:auto;padding:16px 20px;display:flex;flex-direction:column;gap:14px}.itinerary-card{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:16px;transition:all var(--transition-smooth);cursor:pointer;position:relative;box-shadow:0 2px 5px #00000008}.itinerary-card:hover{transform:translateY(-2px);border-color:var(--primary);box-shadow:0 8px 16px #0d94881f}.itinerary-card.active-card{border-color:var(--primary);background:#fafdfc;box-shadow:0 0 0 2px #0d948859,var(--shadow-md);transform:translateY(-2px)}.card-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.card-order-time{display:flex;align-items:center;gap:8px}.order-badge{width:24px;height:24px;border-radius:var(--radius-full);background:var(--text-main);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}.order-badge.order-spa{background:#db2777}.order-badge.order-food{background:#ea580c}.order-badge.order-cafe{background:#b45309}.order-badge.order-water{background:#0284c7}.order-badge.order-tour{background:#7c3aed}.order-badge.order-flight{background:#475569}.time-pill{font-size:12px;font-weight:700;color:var(--text-main);background:#f1f5f9;padding:3px 8px;border-radius:var(--radius-sm);letter-spacing:-.2px}.card-actions-top{display:flex;align-items:center;gap:6px}.category-tag{font-size:11px;font-weight:700;padding:3px 10px;border-radius:var(--radius-full)}.tag-spa{background:var(--sunset-light);color:#be123c;border:1px solid rgba(244,63,94,.2)}.tag-food{background:var(--gold-light);color:#b45309;border:1px solid rgba(245,158,11,.2)}.tag-cafe{background:#fef3c7;color:#92400e;border:1px solid rgba(217,119,6,.25)}.tag-water{background:var(--secondary-light);color:#0369a1;border:1px solid rgba(2,132,199,.2)}.tag-tour{background:var(--purple-light);color:#6d28d9;border:1px solid rgba(139,92,246,.2)}.tag-shopping{background:#fdf2f8;color:#db2777;border:1px solid rgba(244,114,182,.3)}.tag-activity{background:#ecfdf5;color:#059669;border:1px solid rgba(16,185,129,.25)}.tag-stay{background:#eff6ff;color:#1d4ed8;border:1px solid rgba(59,130,246,.25)}.tag-transport{background:#f1f5f9;color:#334155;border:1px solid #cbd5e1}.tag-flight{background:#e2e8f0;color:#475569;border:1px solid #cbd5e1}.card-sub-badges-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:8px}.spot-tips-accordion{margin-top:8px;width:100%}.btn-toggle-tips-accordion{width:100%;display:flex;align-items:center;justify-content:space-between;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:8px 12px;font-size:12px;font-weight:800;color:#334155;cursor:pointer;transition:all .2s ease}.btn-toggle-tips-accordion:hover{background:#f1f5f9}.btn-toggle-tips-accordion.open{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8;border-bottom-left-radius:0;border-bottom-right-radius:0}.spot-accordion-content{background:#fff;border:1px solid #93c5fd;border-top:none;border-bottom-left-radius:10px;border-bottom-right-radius:10px;padding:10px;box-shadow:0 4px 12px #2563eb0d}.btn-card-action{background:transparent;border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:3px 6px;font-size:11px;font-weight:600;cursor:pointer;color:var(--text-muted);transition:all var(--transition-fast)}.btn-card-action:hover{background:#f1f5f9;color:var(--text-main)}.btn-card-edit:hover{color:var(--primary);border-color:var(--primary)}.btn-card-copy:hover{color:#0284c7;border-color:#7dd3fc}.btn-summary-edit-title{background:transparent;border:none;font-size:13px;cursor:pointer;padding:2px 4px;opacity:.65;transition:opacity .2s;vertical-align:middle}.btn-summary-edit-title:hover{opacity:1}.btn-add-day-tab{border:1.5px dashed #93c5fd!important;background:#f0f9ff!important;cursor:pointer;min-width:68px!important;display:inline-flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:6px 10px!important;transition:all .2s ease!important}.btn-add-day-tab:hover{background:#e0f2fe!important;border-color:#0284c7!important;transform:translateY(-1px)}.btn-del-day-tab{border:1.5px dashed #fca5a5!important;background:#fef2f2!important;cursor:pointer;min-width:68px!important;display:inline-flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:6px 10px!important;transition:all .2s ease!important}.btn-del-day-tab:hover{background:#fee2e2!important;border-color:#ef4444!important;transform:translateY(-1px)}.btn-card-del:hover{color:#ef4444;border-color:#fca5a5}.place-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:6px}.place-name{font-size:16px;font-weight:800;color:var(--text-main);line-height:1.35;word-break:keep-all;overflow-wrap:break-word;flex:1 1 auto;min-width:0;cursor:pointer;transition:color .15s ease}.place-name:hover{color:#2563eb;text-decoration:underline}.spot-card-photo-side{cursor:pointer;transition:transform .15s ease}.spot-card-photo-side:hover{transform:scale(1.03)}.card-gmap-link{font-size:11.5px!important;font-weight:700!important;color:#fff!important;background:#1a73e8!important;text-decoration:none!important;display:inline-flex!important;align-items:center!important;gap:4px!important;white-space:nowrap!important;padding:3px 8px!important;border-radius:var(--radius-full)!important;box-shadow:0 2px 4px #1a73e84d!important;transition:all var(--transition-fast)!important;flex-shrink:0}.card-gmap-link svg{stroke:#fff!important}.card-gmap-link:hover{background:#1557b0!important;color:#fff!important;box-shadow:0 4px 8px #1a73e866!important}.activity-desc{font-size:13.5px;font-weight:600;color:#334155;margin-bottom:10px;line-height:1.45;word-break:keep-all;overflow-wrap:break-word;cursor:pointer}.activity-desc:hover{color:#1e40af}.tip-box{background:#f8fafc;border-left:3px solid var(--primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:9px 12px;font-size:12.5px;color:#475569;line-height:1.45;display:flex;align-items:flex-start;gap:8px}.tip-icon{font-size:14px;line-height:1.2}.tip-content strong{color:#0f172a}.schedule-footer-bar{padding:10px 20px;background:#fff;border-top:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center}.btn-reset-data{background:transparent;border:none;font-size:11.5px;font-weight:600;color:#94a3b8;cursor:pointer}.btn-reset-data:hover{color:#ef4444;text-decoration:underline}.footer-data-badge{font-size:11px;color:#10b981;font-weight:600}.map-floating-panel{position:absolute;top:18px;left:18px;right:18px;z-index:500;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.floating-left,.floating-right{display:flex;align-items:center;gap:8px;pointer-events:auto}.map-status-badge{background:#0f172ad9;color:#fff;padding:8px 14px;font-size:12.5px;font-weight:700;border-radius:var(--radius-full);backdrop-filter:blur(8px);box-shadow:var(--shadow-md)}.map-ctrl-btn{background:#fff;color:var(--text-main);border:1px solid var(--border-light);padding:7px 13px;font-size:12px;font-weight:700;border-radius:var(--radius-full);cursor:pointer;display:inline-flex;align-items:center;gap:5px;box-shadow:var(--shadow-md);transition:all var(--transition-fast);text-decoration:none}.map-ctrl-btn:hover{background:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px)}.btn-map-gmap{background:#e8f0fe;color:#1a73e8;border-color:#c2e7ff}.btn-map-gmap:hover{background:#d2e3fc;color:#174ea6}.map-popover-wrapper{position:relative;display:inline-block;pointer-events:auto}.map-popover-trigger{background:#fff;color:var(--text-main);border:1px solid var(--border-light);padding:6px 11px;font-size:12px;font-weight:700;border-radius:var(--radius-full);cursor:pointer;display:inline-flex;align-items:center;gap:5px;box-shadow:var(--shadow-md);transition:all var(--transition-fast);user-select:none}.map-popover-trigger:hover,.map-popover-wrapper.is-open .map-popover-trigger{background:#f8fafc;border-color:#94a3b8;box-shadow:0 4px 12px #0000001f}.map-popover-wrapper.is-open .map-popover-trigger .popover-caret{transform:rotate(180deg)}.popover-caret{font-size:10px;transition:transform .2s ease;color:#64748b}.poi-active-badge{background:#0f172a;color:#fff;font-size:10px;font-weight:800;padding:1px 5px;border-radius:9999px;min-width:14px;text-align:center}.map-popover-menu{position:absolute;top:calc(100% + 8px);right:0;background:#fffffffa;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(226,232,240,.9);border-radius:14px;box-shadow:0 10px 25px -3px #0f172a26,0 4px 8px -2px #0f172a14;padding:8px;min-width:220px;z-index:600;display:none;flex-direction:column;gap:6px;transform-origin:top right;animation:popoverFadeIn .18s cubic-bezier(.16,1,.3,1);pointer-events:auto}.map-popover-wrapper.is-open .map-popover-menu{display:flex}@keyframes popoverFadeIn{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.popover-menu-header{font-size:11px;font-weight:800;color:#64748b;padding:4px 8px 6px;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;justify-content:space-between}.popover-header-sub{font-size:10px;font-weight:600;color:#94a3b8}.map-popover-menu .map-tile-switcher{display:flex;flex-direction:column;gap:4px;background:transparent;padding:0;border:none;box-shadow:none}.map-popover-menu .tile-btn{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;border:1px solid transparent;background:transparent;text-align:left;cursor:pointer;width:100%;transition:all .15s ease}.map-popover-menu .tile-btn:hover{background:#f1f5f9}.map-popover-menu .tile-btn.active{background:#eff6ff;border-color:#bfdbfe;box-shadow:none}.tile-radio{width:14px;height:14px;border-radius:50%;border:2px solid #cbd5e1;flex-shrink:0;transition:all .15s ease}.map-popover-menu .tile-btn.active .tile-radio{border-color:#2563eb;background:#2563eb;box-shadow:inset 0 0 0 2.5px #fff}.tile-info{display:flex;flex-direction:column}.tile-name{font-size:12.5px;font-weight:700;color:#1e293b}.map-popover-menu .tile-btn.active .tile-name{color:#1d4ed8}.tile-desc{font-size:10.5px;color:#64748b;margin-top:1px}.map-poi-popover-menu{min-width:240px}.map-poi-popover-menu .map-poi-toolbar{position:static;display:flex;flex-direction:column;gap:4px;background:transparent;padding:0;border:none;border-radius:0;box-shadow:none;max-width:none;overflow:visible;white-space:normal}.map-poi-popover-menu .poi-chip{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 10px;border-radius:8px;background:#f8fafc;border:1px solid #e2e8f0;cursor:pointer;transition:all .15s ease}.map-poi-popover-menu .poi-chip:hover{background:#f1f5f9}.poi-chip-left{display:flex;align-items:center;gap:7px}.poi-chip-right{display:flex;align-items:center;gap:6px}.poi-chip-count{font-size:11px;font-weight:700;background:#e2e8f0;color:#475569;padding:1px 6px;border-radius:9999px;min-width:16px;text-align:center}.poi-toggle-indicator{font-size:12px;font-weight:800;color:#cbd5e1;width:16px;text-align:center}.map-poi-popover-menu .poi-chip.active{background:#f0fdf4;border-color:#bbf7d0}.map-poi-popover-menu .poi-chip.active[data-poi-type=atm]{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.map-poi-popover-menu .poi-chip.active[data-poi-type=hotel]{background:#eef2ff;border-color:#c7d2fe;color:#3730a3}.map-poi-popover-menu .poi-chip.active[data-poi-type=emergency]{background:#fff1f2;border-color:#fecdd3;color:#9f1239}.map-poi-popover-menu .poi-chip.active[data-poi-type=landmark]{background:#fffbeb;border-color:#fde68a;color:#92400e}.map-poi-popover-menu .poi-chip.active .poi-chip-count{background:#00000014;color:inherit}.map-poi-popover-menu .poi-chip.active .poi-toggle-indicator{color:#16a34a}.map-picker-banner{position:absolute;top:75px;left:50%;transform:translate(-50%);z-index:550;background:#0f172a;color:#fff;padding:10px 20px;border-radius:var(--radius-full);box-shadow:var(--shadow-xl);animation:pulsePicker 2s infinite ease-in-out}@keyframes pulsePicker{0%,to{box-shadow:0 0 #0d9488b3}50%{box-shadow:0 0 0 10px #0d948800}}.picker-banner-inner{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700}.picker-icon{font-size:18px}.btn-cancel-picker{background:#334155;color:#fff;border:none;padding:4px 10px;font-size:11px;font-weight:700;border-radius:var(--radius-full);cursor:pointer}.btn-cancel-picker:hover{background:#475569}.map-gps-btn{position:absolute;bottom:80px;right:14px;width:44px;height:44px;border-radius:50%;background:#fffffff5;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(203,213,225,.85);box-shadow:0 4px 14px #0f172a24;display:flex;align-items:center;justify-content:center;color:#1e293b;cursor:pointer;z-index:450;transition:all .2s cubic-bezier(.16,1,.3,1);pointer-events:auto}.map-gps-btn:hover{transform:scale(1.08);background:#fff;color:#2563eb;border-color:#93c5fd;box-shadow:0 6px 18px #2563eb38}.map-gps-btn:active{transform:scale(.94)}.map-gps-btn.is-locating svg{animation:gpsPulse 1.2s infinite ease-in-out;color:#2563eb}@keyframes gpsPulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.22);opacity:.6}to{transform:scale(1);opacity:1}}.user-pulse-marker{display:flex;align-items:center;justify-content:center}.user-pulse-dot{width:14px;height:14px;border-radius:50%;background:#2563eb;border:2.5px solid #ffffff;box-shadow:0 0 10px #2563eb99;position:relative}.user-pulse-ring{position:absolute;top:-7px;left:-7px;width:24px;height:24px;border-radius:50%;background:#3b82f666;animation:userPulseAnimation 2s infinite ease-out}@keyframes userPulseAnimation{0%{transform:scale(.6);opacity:.9}to{transform:scale(2.2);opacity:0}}.custom-pin-marker{display:flex;align-items:center;justify-content:center;width:32px!important;height:32px!important;border-radius:50%;color:#fff;font-weight:800;font-size:12.5px;box-shadow:0 4px 10px #00000059;border:2.5px solid #ffffff;transition:transform .2s cubic-bezier(.34,1.56,.64,1);cursor:pointer}.custom-pin-marker:hover{transform:scale(1.25);z-index:1000!important}.custom-pin-marker.pin-active{transform:scale(1.4);box-shadow:0 0 0 4px #0d94884d,0 4px 10px #00000040;z-index:1001!important}.custom-pin-marker.pin-spa{background:#f43f5e}.custom-pin-marker.pin-food{background:#f59e0b}.custom-pin-marker.pin-cafe{background:#92400e}.custom-pin-marker.pin-water{background:#0ea5e9}.custom-pin-marker.pin-tour{background:#a855f7}.custom-pin-marker.pin-flight{background:#64748b}.poi-div-icon{background:transparent!important;border:none!important}.custom-poi-marker{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:var(--radius-full);color:#fff;font-weight:800;font-size:11px;box-shadow:0 4px 10px #00000059;border:2px solid #ffffff;white-space:nowrap;cursor:pointer;transform:translate(-50%,-50%);transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease;user-select:none;pointer-events:auto}.custom-poi-marker:hover{transform:translate(-50%,-50%) scale(1.18);box-shadow:0 6px 14px #00000073;z-index:9999!important}.custom-poi-marker .poi-pin-icon{font-size:12px;line-height:1}.custom-poi-marker .poi-pin-label{font-size:11px;font-weight:800;letter-spacing:-.2px}.custom-poi-marker.pin-poi-atm{background:#059669;box-shadow:0 2px 6px #05966940}.custom-poi-marker.pin-poi-hotel{background:#4f46e5;box-shadow:0 2px 6px #4338ca40}.custom-poi-marker.pin-poi-emergency{background:#0284c7;box-shadow:0 2px 6px #0284c740}.custom-poi-marker.pin-poi-emergency.is-hospital{background:#e11d48;box-shadow:0 2px 6px #e11d4840}.custom-poi-marker.pin-poi-landmark{background:#d97706;box-shadow:0 2px 6px #d9770640}.popup-tag.poi-tag-atm{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.popup-tag.poi-tag-hotel{background:#e0e7ff;color:#3730a3;border:1px solid #c7d2fe}.popup-tag.poi-tag-emergency{background:#e0f2fe;color:#075985;border:1px solid #bae6fd}.popup-tag.poi-tag-landmark{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.leaflet-popup-content-wrapper{padding:0;border-radius:var(--radius-md);box-shadow:var(--shadow-xl);border:1px solid var(--border-light);overflow:hidden}.leaflet-popup-content{margin:0;line-height:1.4;min-width:250px;max-width:290px}.popup-inner{padding:14px 16px}.popup-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.popup-time{font-size:11px;font-weight:700;color:var(--text-muted)}.popup-tag{font-size:10px;font-weight:700;padding:2px 7px;border-radius:var(--radius-full)}.popup-title{font-size:15px;font-weight:800;color:#0f172a;margin-bottom:4px}.popup-activity{font-size:12.5px;font-weight:600;color:#334155;margin-bottom:8px}.popup-tip{font-size:11.5px;color:#475569;background:#f8fafc;padding:6px 10px;border-radius:var(--radius-sm);border-left:3px solid var(--primary);margin-bottom:10px}.popup-actions-row{display:flex;gap:6px}.popup-edit-btn{background:#f1f5f9;color:#0f172a;border:1px solid #cbd5e1;font-size:11.5px;font-weight:700;padding:6px 10px;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap}.leaflet-container a.popup-gmap-btn,.leaflet-popup-content-wrapper a.popup-gmap-btn,.popup-gmap-btn{display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;flex:1!important;padding:7px 12px!important;background:#1a73e8!important;color:#fff!important;font-size:11.5px!important;font-weight:800!important;border-radius:var(--radius-sm)!important;text-decoration:none!important;box-shadow:0 2px 6px #1a73e866!important;transition:all var(--transition-fast)!important}.leaflet-container a.popup-gmap-btn:hover,.leaflet-popup-content-wrapper a.popup-gmap-btn:hover,.popup-gmap-btn:hover{background:#1557b0!important;color:#fff!important}.map-quick-card{position:absolute;bottom:24px;left:50%;transform:translate(-50%);width:90%;max-width:400px;z-index:1000;background:#fff;border-radius:var(--radius-md);box-shadow:0 10px 25px -5px #00000040,0 8px 10px -6px #0003;border:1px solid var(--border-light);padding:12px 14px;animation:slideUpQuickCard .25s ease-out}@keyframes slideUpQuickCard{0%{opacity:0;transform:translate(-50%,15px)}to{opacity:1;transform:translate(-50%)}}.quick-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.quick-card-time{font-size:11.5px;font-weight:700;color:var(--text-muted)}.quick-card-category{font-size:10.5px;font-weight:700;padding:2px 8px;background:#f1f5f9;border-radius:var(--radius-full)}.quick-card-close{background:transparent;border:none;font-size:18px;color:#94a3b8;cursor:pointer;padding:0 4px;line-height:1}.quick-card-title{font-size:15px;font-weight:800;color:var(--text-main);margin-bottom:4px}.quick-card-tip{font-size:11.5px;color:#475569;line-height:1.4;margin-bottom:10px;background:#f8fafc;padding:6px 10px;border-radius:var(--radius-sm);border-left:3px solid var(--primary)}.quick-card-actions{display:flex;gap:8px}.quick-edit-btn{background:#f1f5f9;color:#0f172a;border:1px solid #cbd5e1;font-size:11.5px;font-weight:700;padding:6px 12px;border-radius:var(--radius-sm);cursor:pointer}.quick-gmap-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;flex:1!important;background:#1a73e8!important;color:#fff!important;font-size:12px!important;font-weight:800!important;padding:7px 12px!important;border-radius:var(--radius-sm)!important;text-decoration:none!important;box-shadow:0 2px 5px #1a73e859!important;text-align:center!important}.quick-gmap-btn:hover{background:#1557b0!important;color:#fff!important}.dialog-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.95);width:520px;max-width:92vw;max-height:90vh;max-height:90dvh;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:2500;display:none;flex-direction:column;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;transition:all var(--transition-smooth)}.dialog-modal.open{display:flex;transform:translate(-50%,-50%) scale(1)}#spotModal,#aiPlannerModal,#grabModal,#printOptionModal,#shareTripModal,#tripSelectorModal,#spotDetailModal{overflow-y:hidden}#spotModal .modal-body,#aiPlannerModal .modal-body,#grabModal .modal-body,#printOptionModal .modal-body,#shareTripModal .modal-body,#tripSelectorModal .trip-selector-body,#spotDetailModal .spot-detail-body{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}#tripPassModal,#currencyModal,#weatherModal,#authModal,#quickExpenseModal,#travelLedgerModal,#mobileShareModal{overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important}body.modal-open{overflow:hidden!important}.modal-header{padding:18px 24px;border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between;background:#fff}.modal-title-group{display:flex;align-items:center;gap:12px}.modal-title-icon{font-size:24px}.modal-title-group h3{font-size:17px;font-weight:800;color:var(--text-main)}.modal-title-group p{font-size:12px;color:var(--text-muted)}.modal-close-btn{background:transparent;border:none;font-size:26px;color:var(--text-muted);cursor:pointer;line-height:1}.modal-close-btn:hover{color:var(--text-main)}.modal-body{padding:20px 24px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.form-row{display:flex;gap:12px;width:100%}.form-row-2>*{flex:1;min-width:0}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:12.5px;font-weight:700;color:#334155}.form-control{padding:9px 12px;font-size:13.5px;border:1px solid var(--border-light);border-radius:var(--radius-sm);outline:none;font-family:inherit;transition:border-color var(--transition-fast)}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0d948826}.smart-gen-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:var(--radius-md);padding:12px 14px;margin:2px 0 4px}.smart-gen-content{display:flex;align-items:center;justify-content:space-between;gap:12px}.smart-gen-info{display:flex;flex-direction:column;gap:3px}.smart-gen-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800;color:#4f46e5}.smart-gen-info p{font-size:11.5px;color:#475569;margin:0;line-height:1.35}.btn-smart-gen{background:#4f46e5;color:#fff;border:none;font-size:12px;font-weight:700;padding:8px 14px;border-radius:8px;cursor:pointer;white-space:nowrap;box-shadow:0 1px 4px #4f46e526;transition:all var(--transition-fast);flex-shrink:0}.btn-smart-gen:hover{transform:translateY(-1px);box-shadow:0 2px 6px #4f46e533;filter:brightness(1.05)}.btn-smart-gen:active{transform:translateY(0)}.form-label-with-tip{display:flex;align-items:baseline;justify-content:space-between}.form-sub-hint{font-size:11px;font-weight:600;color:#6366f1}@media(max-width:640px){.form-row,.form-row-2{flex-direction:column!important;gap:12px!important;width:100%!important}.form-row-2>*{width:100%!important;min-width:0!important;flex:none!important}.form-group{width:100%!important;min-width:0!important}.form-control{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.smart-gen-content{flex-direction:column;align-items:flex-start;gap:10px}.btn-smart-gen{width:100%;justify-content:center;padding:10px}.coords-header{flex-direction:column!important;align-items:stretch!important;gap:8px!important}.btn-pick-location{width:100%!important;justify-content:center!important;text-align:center!important;padding:8px 12px!important}.modal-footer{padding:12px 16px!important;gap:8px!important;flex-wrap:wrap!important}.modal-footer .btn{flex:1 1 auto!important;min-width:70px!important;padding:10px 14px!important}}.coords-picker-group{background:#f8fafc;padding:14px;border-radius:var(--radius-md);border:1px dashed #cbd5e1}.coords-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.coords-header label{font-size:12.5px;font-weight:700;color:#0f172a}.btn-pick-location{background:#0f172a;color:#fff;font-size:11.5px;font-weight:700;padding:5px 12px;border-radius:var(--radius-full);border:none;cursor:pointer;transition:all var(--transition-fast)}.btn-pick-location:hover{background:var(--primary)}.coords-guide-text{font-size:11px;color:var(--text-muted);margin-top:6px;line-height:1.4}.modal-footer{padding:14px 24px;border-top:1px solid var(--border-light);display:flex;justify-content:flex-end;gap:10px;background:#f8fafc}.qr-modal{width:380px;text-align:center}.qr-modal-body{align-items:center;padding:24px}.qr-code-wrapper{width:220px;height:220px;background:#fff;padding:10px;border-radius:var(--radius-md);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.qr-image{width:100%;height:100%;object-fit:contain}.mobile-url-box{width:100%;background:#f1f5f9;padding:8px 12px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;box-sizing:border-box;overflow:hidden}.mobile-url-text{font-size:12.5px;font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.btn-copy-url{background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:4px 8px;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}.btn-copy-url:hover{background:#e2e8f0}.mobile-wifi-notice{font-size:11.5px;color:#475569;line-height:1.4;background:#fef2f2;border:1px solid #fee2e2;padding:8px 12px;border-radius:var(--radius-sm)}.modal-overlay{position:fixed;inset:0;background:#0f172a66;backdrop-filter:blur(4px);z-index:2000;opacity:0;pointer-events:none;transition:opacity var(--transition-smooth)}.modal-overlay.open{opacity:1;pointer-events:auto}.checklist-drawer{position:fixed;top:0;right:-480px;width:440px;max-width:100vw;height:100vh;background:#fff;box-shadow:var(--shadow-xl);z-index:2001;display:flex;flex-direction:column;transition:right var(--transition-smooth)}.checklist-drawer.open{right:0}.drawer-header{padding:20px 24px;border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between}.drawer-title-group{display:flex;align-items:center;gap:12px}.drawer-icon{font-size:26px}.drawer-title-group h3{font-size:17px;font-weight:800;color:var(--text-main)}.drawer-title-group p{font-size:12px;color:var(--text-muted)}.btn-close{background:transparent;border:none;font-size:26px;color:var(--text-muted);cursor:pointer;padding:4px 8px;line-height:1;border-radius:var(--radius-sm)}.btn-close:hover{color:var(--text-main);background:var(--bg-main)}.drawer-progress{padding:16px 24px;background:#f8fafc;border-bottom:1px solid var(--border-light)}.progress-info{display:flex;justify-content:space-between;margin-bottom:8px;font-size:13px;font-weight:700}.progress-pct{color:var(--primary);font-weight:800}.progress-bar-track{width:100%;height:8px;background:#e2e8f0;border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill{height:100%;background:var(--primary);border-radius:var(--radius-full);transition:width .3s ease}.progress-sub{font-size:11px;color:var(--text-muted);margin-top:6px;text-align:right}.add-item-box{padding:12px 24px;display:flex;gap:8px;border-bottom:1px solid var(--border-light)}.add-item-box input{flex:1;padding:8px 12px;font-size:13px;border:1px solid var(--border-light);border-radius:var(--radius-sm);outline:none;font-family:inherit}.add-item-box input:focus{border-color:var(--primary)}.checklist-content{flex:1;overflow-y:auto;padding:16px 24px;display:flex;flex-direction:column;gap:20px}.checklist-group-title{font-size:13px;font-weight:800;color:var(--text-muted);margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.checklist-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:var(--radius-sm);background:#fff;border:1px solid var(--border-light);margin-bottom:8px;transition:all var(--transition-fast);cursor:pointer}.checklist-item:hover{border-color:#cbd5e1;background:#f8fafc}.checklist-item.checked{background:#f1f5f9;border-color:transparent}.checklist-item.checked .item-text{text-decoration:line-through;color:var(--text-sub)}.item-left{display:flex;align-items:center;gap:10px}.custom-checkbox{width:18px;height:18px;border-radius:4px;border:2px solid #94a3b8;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.checklist-item.checked .custom-checkbox{background:var(--primary);border-color:var(--primary)}.custom-checkbox svg{display:none}.checklist-item.checked .custom-checkbox svg{display:block}.item-text{font-size:13.5px;font-weight:600;color:var(--text-main)}.item-tag{font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;background:#f1f5f9;color:var(--text-muted)}.item-del-btn{background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:2px;font-size:16px;line-height:1}.item-del-btn:hover{color:#ef4444}.drawer-footer{padding:16px 24px;border-top:1px solid var(--border-light);display:flex;gap:12px}.drawer-footer .btn{flex:1}.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;height:var(--bottom-nav-height);background:#fffffffa;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border-light);display:none;align-items:center;justify-content:space-around;z-index:1900;box-shadow:0 -4px 16px #0000000f}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:100%;background:transparent;border:none;color:#64748b;cursor:pointer;padding:6px 0 4px;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent}.bottom-nav-icon{display:flex;align-items:center;justify-content:center;line-height:1}.bottom-nav-icon .nav-svg-icon{width:22px;height:22px;color:#64748b;transition:all .2s cubic-bezier(.4,0,.2,1)}.bottom-nav-label{font-size:11px;font-weight:700;letter-spacing:-.3px;color:#64748b;transition:color .15s ease}.bottom-nav-item.active .nav-svg-icon{color:#2563eb;transform:translateY(-2px) scale(1.1);filter:drop-shadow(0 2px 5px rgba(37,99,235,.25))}.bottom-nav-item.active .bottom-nav-label{color:#2563eb;font-weight:800}@media(max-width:991px){.app-header{padding:env(safe-area-inset-top,0px) 10px 0 10px;height:calc(56px + env(safe-area-inset-top,0px));gap:8px;box-shadow:0 1px 4px #0000000a;box-sizing:border-box}.header-left{gap:8px;min-width:0;flex:1;overflow:hidden}.logo-badge{gap:8px;min-width:0}.logo-icon{width:32px;height:32px;font-size:17px;flex-shrink:0}.logo-text{min-width:0;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.trip-title-wrapper{display:flex;align-items:center;gap:4px;min-width:0}.logo-text h1{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px;line-height:1.2}.trip-switch-badge-btn{padding:2px 6px;font-size:10px;flex-shrink:0}.header-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.badge-travel-cockpit,.trip-meta-pills,.d-day-widget,.btn-phone,.btn-gmap-route,#headerAddSpotBtn,#openChecklistBtn,#headerShareTripBtn,#openAiPlannerBtn,.more-tools-wrapper,.token-wallet-badge{display:none!important}.logo-text h1{font-size:14px;font-weight:800;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px;line-height:1.25}.btn-login{padding:6px 12px;font-size:12px;border-radius:var(--radius-md)}.user-profile-badge{padding:3px 6px 3px 3px}.user-name{display:none}@media(max-width:480px){.app-header{padding-left:8px;padding-right:8px;gap:6px}.header-home-btn{padding:5px 8px;font-size:11.5px;margin-right:0;flex-shrink:0}.logo-icon{width:28px;height:28px;font-size:14px;flex-shrink:0}.logo-text h1{font-size:13.5px;max-width:180px}.trip-switch-badge-btn{display:none!important}}.dialog-modal{width:94vw!important;max-width:94vw!important;max-height:88vh!important;max-height:88dvh!important;border-radius:20px!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;box-sizing:border-box!important}#spotModal,#aiPlannerModal,#grabModal,#printOptionModal,#shareTripModal,#tripSelectorModal,#spotDetailModal{overflow-y:hidden!important}.modal-body{max-height:calc(88dvh - 100px)!important;overflow-y:auto!important;overflow-x:hidden!important;padding:16px 14px!important;box-sizing:border-box!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important}#aiPlannerModal{max-height:92dvh!important;width:95vw!important;max-width:95vw!important}#aiPlannerModal .modal-body{max-height:calc(92dvh - 65px)!important;padding:14px 14px 50px!important;-webkit-overflow-scrolling:touch!important}.date-picker-card{padding:10px 12px!important;min-height:44px!important}.time-picker-card{padding:8px 10px!important;min-height:44px!important}.time-picker-card input[type=time]{font-size:13px!important;padding:6px 4px!important}.form-textarea{font-size:13px!important;padding:10px 12px!important}#tripPassModal>div,#currencyModal>div,#weatherModal>div,#authModal>div,#quickExpenseModal>div,#travelLedgerModal>div{padding:20px 16px 24px!important;box-sizing:border-box}.mobile-bottom-nav{display:flex;height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);box-sizing:border-box}.app-dashboard-view{width:100%;height:calc(100vh - 56px);height:calc(100dvh - 56px - env(safe-area-inset-top,0px));display:flex;flex-direction:column;overflow:hidden}.main-container{width:100%;height:calc(100vh - 56px - var(--bottom-nav-height));height:calc(100dvh - 56px - env(safe-area-inset-top,0px) - var(--bottom-nav-height) - env(safe-area-inset-bottom,0px));flex-direction:column;overflow:hidden}.schedule-section{width:100%!important;min-width:0!important;max-width:100vw!important;height:100%;display:flex!important;overflow-y:auto;overflow-x:hidden!important;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;flex-direction:column;box-sizing:border-box!important}.map-section{width:100%;min-width:100%;height:100%;display:none!important}.schedule-header-sticky{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--border-light);box-shadow:0 2px 8px #0000000a;flex-shrink:0}.day-summary-banner{flex-shrink:0}.itinerary-list{flex:none;overflow-y:visible;height:auto}body.show-schedule .map-section{display:none!important}body.show-schedule .schedule-section{display:flex!important}body.show-map .schedule-section{display:none!important}body.show-map .map-section{display:block!important}.map-floating-panel{top:8px;left:8px;right:8px;flex-direction:row;justify-content:space-between;align-items:center;gap:4px;pointer-events:none;max-width:calc(100vw - 16px);box-sizing:border-box}.floating-left{display:flex;align-items:center;gap:4px;pointer-events:auto;flex-shrink:1;min-width:0}.floating-right{display:flex;align-items:center;gap:4px;pointer-events:auto;flex-shrink:0}.map-status-badge{padding:5px 7px;font-size:10.5px;white-space:nowrap;flex-shrink:0}.badge-day-sub{display:none!important}.map-ctrl-btn{padding:5px 7px;font-size:10.5px;gap:2px;white-space:nowrap;flex-shrink:0}.map-ctrl-btn .ctrl-btn-text{font-size:10.5px}#mapGmapRouteBtn{display:none!important}.map-popover-trigger{padding:5px 7px;font-size:10.5px;gap:3px;white-space:nowrap;flex-shrink:0}.map-popover-trigger .popover-label{font-size:10.5px}.map-popover-menu{top:calc(100% + 6px);right:0;min-width:195px;max-width:calc(100vw - 20px);box-sizing:border-box}.map-poi-popover-menu{min-width:215px;width:215px;max-width:calc(100vw - 24px);right:0;box-sizing:border-box}.popover-header-sub{display:none!important}.checklist-drawer{width:100vw;right:-100vw}.day-summary-banner{flex-direction:column;align-items:stretch;gap:12px;padding:14px 16px}.summary-left{width:100%;max-width:100%;flex:0 0 auto!important}.summary-heading-box{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;width:100%}.summary-title{font-size:15px;font-weight:800;color:#0f766e;line-height:1.35;word-break:keep-all;flex:1 1 auto}.summary-action-btns{display:flex;align-items:center;gap:6px;flex-shrink:0}.summary-desc{font-size:12px;line-height:1.45;color:#334155;max-width:100%;width:100%;margin-top:6px;word-break:keep-all}.summary-stats{display:flex;flex-wrap:wrap;gap:6px;width:100%;align-items:center}.stat-item{display:inline-flex;flex-direction:row;align-items:center;gap:4px;padding:3px 8px;border-radius:20px;width:auto;min-width:0;box-sizing:border-box}}.grab-info-row{margin:6px 0 8px}.grab-badge{display:inline-flex;align-items:center;gap:5px;background:#f0fdf4;color:#166534;border:1px solid #bbf7d0;font-size:11px;font-weight:600;padding:3px 8px;border-radius:var(--radius-sm);word-break:keep-all;line-height:1.35}.grab-badge strong{color:#15803d;font-weight:700}.grab-modal-body{padding:16px 20px;max-height:75vh;overflow-y:auto}.grab-today-card{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:var(--radius-md);padding:12px 14px;margin-bottom:16px}.today-grab-title{display:flex;justify-content:space-between;align-items:center;font-size:13.5px;font-weight:800;color:#065f46;gap:8px;flex-wrap:wrap}.today-grab-badge{background:#059669;color:#fff;font-size:12px;padding:2px 8px;border-radius:var(--radius-full)}.today-grab-sub{font-size:11px;color:#047857;margin-top:4px;word-break:keep-all}.grab-section-title{font-size:13px;font-weight:800;color:var(--text-main);margin-bottom:8px;word-break:keep-all}.grab-table-wrapper{overflow-x:auto;border-radius:var(--radius-sm);border:1px solid var(--border-light);margin-bottom:14px}.grab-fare-table{width:100%;border-collapse:collapse;font-size:11.5px;text-align:left}.grab-fare-table th{background:#f8fafc;padding:8px 10px;color:var(--text-muted);font-weight:700;border-bottom:1px solid var(--border-light);white-space:nowrap}.grab-fare-table td{padding:8px 10px;border-bottom:1px solid #f1f5f9;color:var(--text-main);white-space:nowrap}.grab-fare-table tbody tr:hover{background:#f8fafc}.grab-tips-list{display:flex;flex-direction:column;gap:8px}.grab-tip-item{font-size:11.5px;line-height:1.45;color:#334155;background:#f8fafc;border:1px solid var(--border-light);padding:8px 12px;border-radius:var(--radius-sm);word-break:keep-all}.grab-tip-item strong{color:#0f172a}@media(max-width:600px){.app-header{height:52px;padding:0 8px;gap:4px;overflow:visible;position:relative;z-index:1200}.header-left{flex:1 1 auto;min-width:0;gap:6px;overflow:hidden}.logo-badge{gap:6px;min-width:0;overflow:hidden}.brand-logo-header{width:28px;height:28px;border-radius:8px;background:#fff;box-shadow:0 1.5px 5px #0f172a12;border:1px solid rgba(226,232,240,.95);flex-shrink:0}.logo-icon{width:28px;height:28px;font-size:15px;flex-shrink:0}.badge-travel-cockpit{display:none!important}.badge-tag{font-size:8.5px;padding:1px 5px;letter-spacing:.5px}.logo-text{min-width:0;overflow:hidden}.logo-text h1{font-size:13.5px;font-weight:800;white-space:nowrap;word-break:keep-all;max-width:175px!important;overflow:hidden;text-overflow:ellipsis;line-height:1.25}.trip-title-wrapper{display:flex;align-items:center;gap:4px;min-width:0;max-width:100%}.trip-switch-badge-btn{font-size:8.5px;padding:2px 4px;flex-shrink:0;white-space:nowrap}.header-right{display:flex;align-items:center;gap:4px;flex-shrink:0}#headerTripPassBadge{display:none!important}.btn-ai-planner{padding:5px 8px;font-size:11px;white-space:nowrap;border-radius:var(--radius-sm);gap:2px}.btn-ai-planner .ai-btn-text{display:none!important}.btn-ai-planner:after{content:"AI";font-size:11.5px;font-weight:800}.btn-header-tools{padding:5px 7px;font-size:11px}.btn-header-tools span{display:none!important}.btn-header-tools:after{content:"도구";font-size:11px;font-weight:700}.btn-login{padding:5px 7px;font-size:11px}.btn-login span{display:none!important}.btn-login:after{content:"MY";font-size:11px;font-weight:700}#openChecklistBtn{padding:6px 8px;font-size:11px;gap:3px;white-space:nowrap}.tabs-wrapper{padding:8px 10px 4px;overflow:hidden;width:100%;box-sizing:border-box}.day-tabs{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scroll-padding:0 12px;padding:4px 12px 6px;width:100%;box-sizing:border-box}.day-tab{flex:0 0 auto;width:78px;min-width:76px;max-width:86px;padding:6px 4px;scroll-snap-align:start;text-align:center;box-sizing:border-box;overflow:hidden;border-radius:var(--radius-sm, 8px)}.tab-day{font-size:12px;font-weight:800;white-space:nowrap}.tab-date{font-size:9.5px;font-weight:600;white-space:nowrap}.tab-desc{font-size:9px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;max-width:100%;text-align:center;display:block}.filter-bar{padding:4px 12px;gap:6px}.filter-title{display:none!important}.filter-chip{padding:4px 10px;font-size:11.5px;white-space:nowrap;height:28px;display:inline-flex;align-items:center;box-sizing:border-box}.day-summary-banner{flex-direction:column;align-items:stretch;gap:6px;padding:10px 12px 8px;border-radius:12px;margin:6px 12px 4px}.summary-left{width:100%;max-width:100%;flex:0 0 auto!important;min-height:0!important}.summary-heading-box{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-bottom:6px;width:100%}.summary-title{font-size:14.5px;font-weight:800;line-height:1.35;white-space:normal!important;word-break:keep-all!important;overflow:visible;text-overflow:unset;color:#0f172a;width:100%}.summary-action-btns{display:flex;align-items:center;gap:6px;flex-wrap:wrap;width:100%}.btn-summary-add,.btn-summary-gmap,.btn-summary-share,.btn-summary-rain,.btn-summary-del-day,.btn-summary-toggle{padding:3px 8px!important;font-size:11px!important;border-radius:8px!important}.summary-desc{font-size:11.5px;line-height:1.35;word-break:keep-all;margin-top:3px;color:#475569}.summary-stats{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch;gap:6px!important;width:100%!important;margin-top:4px;padding-bottom:2px;align-items:center;scrollbar-width:none}.summary-stats::-webkit-scrollbar{display:none}.stat-item{display:inline-flex!important;flex-direction:row!important;align-items:center!important;gap:4px!important;height:auto!important;padding:3px 8px!important;border-radius:20px!important;box-sizing:border-box!important;box-shadow:0 1px 2px #00000008!important;width:auto!important;min-width:0!important;flex-shrink:0!important;white-space:nowrap!important}.stat-num{font-size:11px!important;font-weight:800;line-height:1.2;white-space:nowrap;width:auto}.stat-text{font-size:11px!important;font-weight:700;white-space:nowrap;width:auto;line-height:1.2;opacity:.9}.itinerary-list{padding:10px 12px calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px) + 20px) 12px;flex-shrink:0;width:100%!important;max-width:100vw!important;box-sizing:border-box!important;overflow-x:hidden!important}.schedule-footer-bar{padding:14px 16px calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px) + 20px) 16px;flex-shrink:0;width:100%!important;box-sizing:border-box!important}.itinerary-card{padding:12px 14px;border-radius:14px;box-shadow:0 1px 4px #0000000a;box-sizing:border-box!important;overflow:hidden;width:100%!important;max-width:100%!important;min-width:0!important}.card-header-row{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:6px;width:100%}.card-order-time{display:flex;align-items:center;gap:6px;flex-shrink:0}.order-badge{width:22px;height:22px;font-size:11.5px;font-weight:800;flex-shrink:0}.time-pill{height:22px;font-size:11.5px;padding:0 7px;display:inline-flex;align-items:center;white-space:nowrap;box-sizing:border-box}.card-actions-top{display:flex;align-items:center;gap:4px;flex-shrink:0}.card-order-step-btns{display:inline-flex;align-items:center;gap:2px;padding:1px 3px;border-radius:6px}.btn-step-move{width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;font-size:10px!important;border-radius:4px!important}.card-sub-badges-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:8px;width:100%}.spot-affiliate-badge,.category-tag{height:22px;font-size:10.5px;padding:0 7px;box-sizing:border-box;display:inline-flex;align-items:center;white-space:nowrap;border-radius:6px}.btn-card-action{height:22px!important;width:24px!important;min-width:24px!important;min-height:22px!important;padding:0;font-size:11.5px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;flex-shrink:0;border-radius:6px;background:#f1f5f9;border:1px solid #e2e8f0}.btn-action-label{display:none}.cost-expense-row{display:flex;align-items:stretch;gap:8px;margin-top:6px;margin-bottom:6px;width:100%}.cost-expense-row .cost-badge{flex:1;min-width:0;min-height:38px;margin-bottom:0!important;padding:6px 10px;border-radius:10px;box-sizing:border-box;display:flex;align-items:center;font-size:12px}.btn-expense-quick{min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border-radius:10px;font-size:11.5px;font-weight:800;box-sizing:border-box;flex-shrink:0;background:#f0fdf4;color:#166534;border:1px solid #86efac;cursor:pointer}.spot-tips-accordion{margin-top:7px;width:100%}.btn-toggle-tips-accordion{width:100%;display:flex;align-items:center;justify-content:space-between;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:8px 12px;font-size:11.5px;font-weight:800;color:#334155;cursor:pointer;transition:all .15s ease}.btn-toggle-tips-accordion.open{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8;border-bottom-left-radius:0;border-bottom-right-radius:0}.spot-accordion-content{background:#fff;border:1px solid #93c5fd;border-top:none;border-bottom-left-radius:10px;border-bottom-right-radius:10px;padding:10px;box-shadow:0 4px 12px #2563eb0d}.place-title-row{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:7px;flex-wrap:wrap}.place-name{font-size:14.5px;font-weight:800;word-break:keep-all;flex:1;min-width:160px;min-width:0;line-height:1.35}.card-gmap-link{font-size:10.5px!important;padding:3px 8px!important;white-space:nowrap!important;flex-shrink:0}.activity-desc{font-size:12px;word-break:keep-all;line-height:1.4}.tip-box{padding:8px 10px;font-size:11px;word-break:keep-all;line-height:1.4}}.quick-tips-btn{background:#0d9488;color:#fff;border:none;font-size:11.5px;font-weight:700;padding:6px 12px;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:background .15s ease}.quick-tips-btn:hover{background:#0f766e}.tip-sub-badge{margin-top:6px;padding:6px 10px;border-radius:var(--radius-sm);font-size:11.5px;line-height:1.45;word-break:keep-all;display:flex;align-items:flex-start;gap:6px}.tip-sub-badge.menu-badge{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}.tip-sub-badge.booking-badge{background:#eef2ff;border:1px solid #c7d2fe;color:#3730a3}.tip-sub-badge.hotel-badge{background:#f0fdfa;border:1px solid #99f6e4;color:#115e59}.tip-sub-badge strong{font-weight:800;flex-shrink:0}.btn-view-detail-tips{width:100%;margin-top:8px;background:#f8fafc;border:1px dashed #94a3b8;color:#0f766e;font-size:11.5px;font-weight:700;padding:6px 10px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;transition:all var(--transition-fast)}.btn-view-detail-tips:hover{background:#f0fdfa;border-color:#0d9488;color:#0d9488}.spot-detail-card{background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-md);padding:12px 14px;margin-bottom:12px;box-shadow:0 1px 3px #0000000a}.spot-detail-card.card-couple{border-left:4px solid var(--primary)}.spot-detail-card.card-menu{border-left:4px solid #ea580c;background:#fffaf5}.spot-detail-card.card-booking{border-left:4px solid #6366f1;background:#fbfbfe}.spot-detail-card.card-hotel{border-left:4px solid #0d9488;background:#f4fbf9}.spot-detail-card.card-grab{border-left:4px solid #16a34a;background:#f7fee7}.detail-card-head{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:800;margin-bottom:6px}.card-couple .detail-card-head{color:var(--primary)}.card-menu .detail-card-head{color:#c2410c}.card-booking .detail-card-head{color:#4338ca}.card-hotel .detail-card-head{color:#0f766e}.card-grab .detail-card-head{color:#15803d}.detail-card-body{font-size:12px;line-height:1.5;color:#334155;word-break:keep-all}.btn-gmap-big{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;width:100%!important;padding:11px 16px!important;background:#1a73e8!important;color:#fff!important;font-weight:800!important;font-size:13.5px!important;border-radius:var(--radius-md)!important;text-decoration:none!important;margin-top:14px!important;box-shadow:0 4px 12px #1a73e859!important;transition:background .15s ease!important}.btn-gmap-big:hover{background:#1557b0!important;color:#fff!important}.stat-item.stat-cost{background:#eff6ff!important;border-color:#bfdbfe!important}.stat-item.stat-cost .stat-num{color:#1d4ed8!important}.stat-item.stat-cost .stat-text{color:#1e40af!important}.cost-badge{display:flex;align-items:flex-start;gap:6px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--radius-sm);padding:8px 11px;font-size:12px;color:#166534;margin:5px 0 8px;line-height:1.45;box-shadow:0 1px 3px #10b98114;word-break:keep-all}.cost-badge .cost-icon{font-size:13.5px;line-height:1.2;flex-shrink:0}.cost-badge .cost-text{flex:1}.cost-badge .cost-text strong{color:#15803d;font-weight:800;margin-right:2px}.popup-cost{font-size:11.5px;color:#065f46;background:#ecfdf5;border-left:3px solid #10b981;padding:6px 8px;border-radius:4px;margin-bottom:8px;line-height:1.4;word-break:keep-all}.popup-cost strong{color:#047857;font-weight:800}.spot-detail-card.card-cost{border-left-color:#10b981!important;background:#f0fdf4!important}.spot-detail-card.card-cost .detail-card-head{color:#065f46!important}.spot-detail-card.card-cost .detail-card-body{color:#14532d!important;font-weight:600!important;font-size:13px!important;line-height:1.5!important;word-break:keep-all!important}.market-area-tooltip{background:#0f172ae0!important;color:#fdf2f8!important;border:1.5px solid #f472b6!important;border-radius:var(--radius-full)!important;padding:4px 10px!important;font-size:11px!important;font-weight:800!important;box-shadow:0 4px 14px #d946ef66!important;text-shadow:0 1px 2px rgba(0,0,0,.6)!important;pointer-events:none!important}.market-area-tooltip:before{display:none!important}.gate-marker-icon-wrapper{background:transparent!important;border:none!important}.market-gate-marker{display:inline-flex;align-items:center;gap:4px;background:#fff;border:1.5px solid #e11d48;border-radius:var(--radius-full);padding:3px 8px;font-size:11px;font-weight:800;color:#9f1239;box-shadow:0 2px 8px #e11d4840;white-space:nowrap;transform:translate(-50%,-50%);cursor:pointer;transition:all var(--transition-fast);pointer-events:auto}.market-gate-marker:hover{transform:translate(-50%,-50%) scale(1.08);background:#fff1f2;border-color:#be123c;box-shadow:0 4px 12px #e11d4866}.gate-icon{font-size:12px}.gate-label{font-size:10.5px;font-weight:800;color:#9f1239}.place-search-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:1050;background:#fffffffa;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid #cbd5e1;border-radius:12px;box-shadow:0 12px 28px -4px #0f172a26,0 6px 12px -3px #0f172a14;max-height:240px;overflow-y:auto;scrollbar-width:thin}.place-search-item{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;border-bottom:1px solid #f1f5f9;transition:all .15s ease}.place-search-item:last-child{border-bottom:none}.place-search-item:hover,.place-search-item.highlighted{background:#f0fdfa}.place-search-icon{font-size:16px;flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#e6fffa;border-radius:8px}.place-search-info{flex:1;min-width:0}.place-search-name{font-size:13px;font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.place-search-addr{font-size:11px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.place-search-tag{font-size:10px;font-weight:700;padding:2.5px 7px;border-radius:6px;background:#f1f5f9;color:#475569;flex-shrink:0}.place-search-tag.local-match{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.place-search-empty{display:none}.place-search-custom-notice{padding:12px 14px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;box-shadow:0 2px 6px #10b9810f;animation:fadeInDown .2s ease}.place-search-custom-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}.custom-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:#047857;background:#d1fae5;padding:2px 8px;border-radius:6px}.place-search-close-btn{background:none;border:none;font-size:12px;color:#94a3b8;cursor:pointer;padding:2px 6px;border-radius:4px;transition:all .15s ease;line-height:1}.place-search-close-btn:hover{background:#f1f5f9;color:#1e293b}.place-search-custom-desc{font-size:12px;color:#334155;line-height:1.45}.place-search-custom-desc strong{color:#0f172a}.custom-subdesc{font-size:11px;color:#64748b;display:inline-block;margin-top:3px}.card-drag-handle{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-right:4px;color:#94a3b8;cursor:grab;border-radius:6px;transition:all .15s ease;user-select:none}.card-drag-handle:hover{background:#f1f5f9;color:#0d9488}.card-drag-handle:active{cursor:grabbing}.itinerary-card.dragging{opacity:.45;transform:scale(.98);border:2px dashed #0d9488!important;box-shadow:0 4px 12px #0d948826}.itinerary-card.drag-over-top{border-top:3px solid #0d9488!important}.itinerary-card.drag-over-bottom{border-bottom:3px solid #0d9488!important}.btn-share-trip{background:#f8fafc;color:#0284c7;border:1px solid #bae6fd;padding:6px 12px;font-size:13px;font-weight:700;border-radius:var(--radius-md);display:inline-flex;align-items:center;gap:6px;cursor:pointer;transition:all .2s ease}.btn-share-trip:hover{background:#e0f2fe;color:#0369a1;border-color:#7dd3fc;transform:translateY(-1px)}.trip-pass-badge,.token-wallet-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:#eff6ff;border:1.5px solid #93c5fd;border-radius:999px;cursor:pointer;font-size:12px;font-weight:800;color:#1d4ed8;box-shadow:0 1px 3px #2563eb14;transition:all .2s cubic-bezier(.16,1,.3,1);user-select:none}.trip-pass-badge:hover,.token-wallet-badge:hover{background:#dbeafe;border-color:#3b82f6;transform:translateY(-1px);box-shadow:0 2px 6px #2563eb1f}.trip-pass-badge .pass-tag{font-size:10px;padding:2px 7px;border-radius:99px;background:#2563eb;color:#fff;font-weight:800;letter-spacing:.3px}.spot-affiliate-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:800;text-decoration:none!important;transition:all .2s ease;white-space:nowrap;flex-shrink:0;cursor:pointer}.badge-affiliate-klook{background:#ff5b00;color:#fff!important;box-shadow:0 1px 3px #ff5b0026;border:1px solid #ea580c}.badge-affiliate-klook:hover{background:#ea580c;transform:translateY(-1px);box-shadow:0 2px 6px #ff5b0033}.badge-affiliate-agoda{background:#0d9488;color:#fff!important;box-shadow:0 1px 3px #0d948826;border:1px solid #0f766e}.badge-affiliate-agoda:hover{background:#0f766e;transform:translateY(-1px);box-shadow:0 2px 6px #0d948833}.user-auth-widget{position:relative;display:inline-flex;align-items:center}.btn-login{background:#0f172a;color:#fff;border:1px solid #334155;padding:6px 14px;font-size:13px;font-weight:700;border-radius:var(--radius-md);display:inline-flex;align-items:center;gap:6px;cursor:pointer;transition:all .2s ease}.btn-login:hover{background:#1e293b;transform:translateY(-1px)}.user-profile-badge{display:inline-flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:999px;cursor:pointer;transition:all .15s ease;position:relative}.user-profile-badge:hover{background:#e2e8f0}.user-avatar{width:26px;height:26px;border-radius:50%;object-fit:cover;background:#fff;border:1px solid #94a3b8}.user-name{font-size:12.5px;font-weight:700;color:#1e293b;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown-menu{position:absolute;top:calc(100% + 6px);right:0;background:#fff;border:1px solid #cbd5e1;border-radius:14px;box-shadow:0 16px 36px -4px #0f172a38,0 8px 16px -4px #0f172a1f;padding:8px;min-width:230px;max-width:calc(100vw - 24px);z-index:9999!important}.dropdown-header{padding:8px 12px 10px;border-bottom:1px solid #f1f5f9;display:flex;flex-direction:column;gap:2px}.dropdown-header strong{font-size:13px;color:#0f172a}.cloud-sync-status{font-size:10.5px;color:#059669;font-weight:600;margin-top:2px}.dropdown-item{width:100%;text-align:left;padding:8px 12px;background:transparent;border:none;border-radius:6px;font-size:12.5px;font-weight:600;color:#334155;cursor:pointer;transition:all .15s ease}.dropdown-item:hover{background:#f8fafc;color:#0284c7}.dropdown-item.text-danger{color:#ef4444}.dropdown-item.text-danger:hover{background:#fef2f2}.dropdown-divider{height:1px;background:#f1f5f9;margin:4px 0}.shared-trip-banner{background:#0284c7;color:#fff;padding:10px 20px;box-shadow:0 2px 6px #0284c71f;position:relative;z-index:900;animation:slideDown .3s ease}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.shared-banner-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.shared-banner-icon{font-size:18px}.shared-banner-text{font-size:13.5px;font-weight:600;flex:1}.btn-clone-trip{background:#fff;color:#0284c7;font-weight:800;font-size:12.5px;padding:6px 14px;border-radius:999px;border:none;cursor:pointer;box-shadow:0 2px 6px #00000026;transition:all .15s ease}.btn-clone-trip:hover{background:#f0f9ff;transform:translateY(-1px)}.btn-banner-close{background:transparent;border:none;color:#e0f2fe;font-size:16px;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center}.btn-banner-close:hover{color:#fff;background:#fff3}.auth-modal-content{max-width:440px;border-radius:20px}.auth-benefit-cards{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.benefit-card{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}.benefit-icon{font-size:24px}.benefit-card strong{display:block;font-size:13px;color:#0f172a}.benefit-card p{font-size:11.5px;color:#64748b;margin:0}.social-login-group{display:flex;flex-direction:column;gap:10px}.btn-social{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;transition:all .15s ease;border:none}.btn-social.btn-kakao{background:#fee500;color:#191919}.btn-social.btn-kakao:hover{background:#fada0a;transform:translateY(-1px)}.btn-social.btn-google{background:#fff;color:#374151;border:1px solid #e5e7eb}.btn-social.btn-google:hover{background:#f9fafb;border-color:#d1d5db;transform:translateY(-1px)}.guest-continue-box{margin-top:16px;text-align:center}.btn-guest-continue{background:transparent;border:none;font-size:11.5px;color:#94a3b8;cursor:pointer;text-decoration:underline}.btn-guest-continue:hover{color:#64748b}#authModal{max-width:400px;width:92vw;border-radius:24px;background:#fff;box-shadow:0 25px 50px -12px #0f172a38}@media(max-width:480px){#authModal{width:94vw;border-radius:20px}}.share-modal-content{max-width:480px;border-radius:20px}.share-summary-box{padding:14px 16px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;margin-bottom:20px}.share-trip-title{font-size:14px;font-weight:800;color:#166534}.share-trip-details{font-size:12px;color:#15803d;margin-top:4px}.share-actions-group{display:flex;flex-direction:column;gap:14px}.share-url-box{display:flex;gap:8px;align-items:center;width:100%}.share-url-input{flex:1;height:44px!important;padding:0 14px!important;border:1.5px solid #cbd5e1!important;border-radius:10px!important;font-size:12.5px!important;font-weight:500!important;background:#f8fafc!important;color:#334155!important;outline:none!important;box-sizing:border-box!important;transition:border-color .2s,box-shadow .2s!important}.share-url-input:focus{border-color:#0f766e!important;background:#fff!important;box-shadow:0 0 0 3px #0f766e1f!important}#btnCopyShareUrl{height:44px!important;padding:0 18px!important;border-radius:10px!important;font-size:13px!important;font-weight:700!important;white-space:nowrap!important;flex-shrink:0!important;background:#0f766e!important;color:#fff!important;border:none!important;cursor:pointer!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;box-shadow:0 2px 6px #0f766e40!important;transition:background .15s,transform .1s!important}#btnCopyShareUrl:hover{background:#115e59!important}#btnCopyShareUrl:active{transform:scale(.98)!important}.copy-success-text{font-size:12px;color:#059669;font-weight:700;text-align:center;word-break:keep-all}.live-sync-card{word-break:keep-all}.card-affiliate-bar{margin-top:8px;padding-top:6px;border-top:1px dashed #e2e8f0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px}.affiliate-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;color:#0d9488;background:#f0fdfa;padding:2px 6px;border-radius:4px;border:1px solid #ccfbf1}.btn-affiliate-link{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;font-size:11px;font-weight:700;border-radius:6px;text-decoration:none;transition:all .15s ease}.btn-affiliate-ticket{background:#ff5b00;color:#fff!important}.btn-affiliate-ticket:hover{background:#e65200;transform:translateY(-1px)}.btn-affiliate-hotel{background:#5392f9;color:#fff!important}.btn-affiliate-hotel:hover{background:#3b7feb;transform:translateY(-1px)}.btn-affiliate-map{background:#f1f5f9;color:#475569!important}.btn-affiliate-map:hover{background:#e2e8f0}.app-splash-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#fff;z-index:99999;display:flex;align-items:center;justify-content:center;color:#0f172a;opacity:1;visibility:visible;transition:opacity .55s cubic-bezier(.16,1,.3,1),visibility .55s}.app-splash-screen.fade-out{opacity:0;visibility:hidden;pointer-events:none}.splash-content{text-align:center;display:flex;flex-direction:column;align-items:center;animation:splashPop .7s cubic-bezier(.16,1,.3,1) forwards}.splash-logo-wrap{position:relative;width:96px;height:96px;margin-bottom:20px}.splash-logo-img{width:100%;height:100%;border-radius:22px;box-shadow:0 12px 30px #0284c726,0 2px 8px #0000000a;border:1px solid #f1f5f9;position:relative;z-index:2;object-fit:cover}.splash-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:110px;height:110px;background:#0ea5e91a;filter:blur(12px);z-index:1;animation:pulseGlow 2s infinite ease-in-out}.splash-title{font-family:Outfit,-apple-system,BlinkMacSystemFont,sans-serif;font-size:24px;font-weight:800;letter-spacing:1.5px;color:#0f172a;margin-bottom:6px}.splash-subtitle{font-size:13.5px;color:#64748b;font-weight:500;margin-bottom:22px}.splash-loader{width:110px;height:4px;background:#f1f5f9;border-radius:10px;overflow:hidden}.splash-loader-bar{width:100%;height:100%;background:#0284c7;animation:splashLoading 1.2s ease-in-out infinite}@keyframes splashPop{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes pulseGlow{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.4}50%{transform:translate(-50%,-50%) scale(1.15);opacity:.7}}@keyframes splashLoading{0%{transform:translate(-100%)}to{transform:translate(100%)}}.btn-header-action{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;font-size:12.5px;font-weight:600;border-radius:var(--radius-sm, 8px);border:1px solid var(--border-light, #e2e8f0);background:#fff;color:#334155;cursor:pointer;transition:all .15s ease;white-space:nowrap}.btn-header-action:hover{background:#f8fafc;color:#0f172a;border-color:#cbd5e1}.btn-header-tools{display:inline-flex;align-items:center;gap:5px;padding:7px 12px;font-size:12.5px;font-weight:600;border-radius:var(--radius-sm, 8px);border:1px solid #e2e8f0;background:#f8fafc;color:#475569;cursor:pointer;transition:all .15s ease;white-space:nowrap}.btn-header-tools:hover{background:#f1f5f9;color:#0f172a;border-color:#cbd5e1}.more-tools-wrapper{position:relative}.more-tools-dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 10px 30px #0000001a,0 2px 6px #0000000a;min-width:240px;padding:6px;z-index:1050;display:flex;flex-direction:column;gap:3px;animation:dropdownFade .15s ease-out}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dropdown-tool-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;background:transparent;border:none;cursor:pointer;text-decoration:none;color:inherit;transition:background .12s ease;text-align:left;width:100%}.dropdown-tool-item:hover{background:#f8fafc}.dropdown-tool-item .tool-icon{font-size:18px;display:flex;align-items:center;justify-content:center;width:26px;flex-shrink:0}.dropdown-tool-item .tool-info{display:flex;flex-direction:column;flex:1}.dropdown-tool-item .tool-title{font-size:13px;font-weight:700;color:#1e293b;line-height:1.3}.dropdown-tool-item .tool-desc{font-size:11px;color:#64748b;line-height:1.2}.dropdown-tool-item .badge-count{font-size:11px;font-weight:700;padding:2px 6px;border-radius:10px;background:#eff6ff;color:#2563eb;margin-left:auto}.spot-ticket-badge{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;font-size:11px;font-weight:800;color:#d97706;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.spot-ticket-badge:hover{background:#fef3c7;color:#b45309;border-color:#fcd34d;transform:translateY(-1px)}@media print{@page{size:A4 portrait;margin:12mm 12mm 14mm}body>*:not(#printA4Container),.app-header,.mobile-bottom-nav,.map-container,.map-section,.timeline-section,.modal-overlay,.dialog-modal,.app-splash-screen,.toast-notification,#toastNotification,.fab-group,.btn,.day-tabs,.filter-bar,.day-summary-banner,.user-auth-widget,.header-right,.more-tools-dropdown-menu{display:none!important}body,html{background:#fff!important;color:#0f172a!important;font-family:-apple-system,BlinkMacSystemFont,Pretendard,Apple SD Gothic Neo,sans-serif!important;font-size:9pt!important;line-height:1.4!important;width:100%!important;height:auto!important;overflow:visible!important;margin:0!important;padding:0!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}#printA4Container{display:block!important;width:100%!important;background:#fff!important;padding:0!important;margin:0!important}.print-page-wrapper{width:100%;margin:0 auto}.print-doc-header{border-bottom:2px solid #1e3a8a;padding-bottom:12px;margin-bottom:16px}.print-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.print-brand-mark{display:flex;align-items:center;gap:8px}.print-brand-logo{width:28px;height:28px;border-radius:6px;border:1px solid #cbd5e1;object-fit:cover}.print-brand-name{font-size:13pt;font-weight:900;color:#1e3a8a;letter-spacing:.5px;display:block}.print-brand-sub{font-size:7.5pt;color:#64748b;display:block}.print-doc-stamp{text-align:right}.print-stamp-title{display:inline-block;padding:2px 8px;background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe;border-radius:4px;font-size:8pt;font-weight:800;letter-spacing:.5px}.print-stamp-date{display:block;font-size:7.5pt;color:#94a3b8;margin-top:2px}.print-doc-title{font-size:16pt;font-weight:800;color:#0f172a;margin:8px 0 10px}.print-meta-grid{display:grid;grid-template-columns:1.6fr 1.4fr 1fr;gap:8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:8px 12px}.print-meta-item{font-size:8.5pt}.print-meta-label{color:#64748b;font-weight:600;margin-right:4px}.print-meta-value{color:#1e293b;font-weight:700}.print-day-block{break-inside:avoid;page-break-inside:avoid;margin-bottom:20px;border:1px solid #cbd5e1;border-radius:8px;overflow:hidden}.print-day-header{background:#f1f5f9;border-bottom:1.5px solid #cbd5e1;padding:8px 12px;display:flex;justify-content:space-between;align-items:center}.print-day-title-wrap{display:flex;align-items:center;gap:8px}.print-day-badge{background:#2563eb;color:#fff;font-size:8pt;font-weight:800;padding:2px 7px;border-radius:4px}.print-day-date{font-size:9pt;font-weight:700;color:#475569}.print-day-main-title{font-size:10pt;font-weight:800;color:#0f172a}.print-day-count{font-size:8pt;color:#64748b;font-weight:600}.print-day-desc{font-size:8pt;color:#475569;background:#f8fafc;padding:5px 12px;border-bottom:1px dashed #e2e8f0}.print-day-table{width:100%;border-collapse:collapse;font-size:8.5pt}.print-day-table th{background:#fafafa;border-bottom:1px solid #cbd5e1;padding:6px 8px;text-align:left;font-size:7.5pt;color:#475569;font-weight:700}.print-spot-row{border-bottom:1px solid #f1f5f9;break-inside:avoid;page-break-inside:avoid}.print-spot-row:last-child{border-bottom:none}.print-spot-row td{padding:7px 8px;vertical-align:top}.print-time-badge{display:inline-block;background:#f1f5f9;color:#334155;padding:2px 5px;border-radius:3px;font-size:7.5pt;font-weight:700;white-space:nowrap}.print-tag{display:inline-block;padding:2px 5px;border-radius:3px;font-size:7pt;font-weight:700;white-space:nowrap;border:1px solid #cbd5e1;background:#f8fafc;color:#475569}.print-spot-title{font-size:9pt;font-weight:800;color:#0f172a;line-height:1.3}.print-spot-desc{font-size:8pt;color:#475569;margin-top:2px;line-height:1.3}.print-tip{font-size:7.5pt;color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:3px;padding:3px 6px;margin-top:4px;line-height:1.3}.print-transit{font-size:7.5pt;color:#0284c7;margin-bottom:2px;line-height:1.3}.print-cost{font-size:7.5pt;color:#b45309;font-weight:700;line-height:1.3}.print-doc-footer{break-inside:avoid;page-break-inside:avoid;margin-top:20px;padding-top:10px;border-top:1.5px solid #cbd5e1}.print-footer-notice{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:7.5pt;color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:8px 12px;margin-bottom:8px}.print-footer-bottom{display:flex;justify-content:space-between;font-size:7pt;color:#94a3b8}}html,body{overflow:hidden!important;height:100%!important;height:100dvh!important;touch-action:pan-y}body.view-home .header-home-btn,body.view-home .trip-meta-pills,body.view-home .trip-title-wrapper,body.view-home #headerTripTag,body.view-home #headerAddSpotBtn,body.view-home #headerShareTripBtn,body.view-home #moreToolsWrapper,body.view-home .mobile-bottom-nav{display:none!important}body.view-home #openAiPlannerBtn{display:inline-flex!important}body.view-home .badge-travel-cockpit{display:inline-block!important;font-size:13px!important;font-weight:800!important;padding:3px 10px!important}body.view-home .app-header{justify-content:space-between;padding:0 20px;position:sticky;top:0;z-index:1000;box-shadow:0 1px 3px #0000000d}body.view-dashboard .header-home-btn{display:inline-flex!important}.header-home-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:9999px;color:#1d4ed8;font-size:12px;font-weight:800;cursor:pointer;transition:all .2s ease;margin-right:6px;white-space:nowrap;flex-shrink:0}.header-home-btn:hover{background:#dbeafe;color:#1e40af;border-color:#93c5fd;transform:translateY(-1px)}.global-home-view{width:100%;height:calc(100vh - var(--header-height));height:calc(100dvh - var(--header-height));overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;user-select:auto!important;-webkit-user-select:auto!important;scroll-behavior:smooth;box-sizing:border-box;position:relative}.global-home-view::-webkit-scrollbar{width:6px}.global-home-view::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:9999px}.home-view-inner{max-width:1120px;margin:0 auto;padding:24px 16px 80px;box-sizing:border-box;touch-action:pan-y!important;animation:fadeIn .25s ease-out}.home-hero-section{text-align:center;padding:40px 20px 32px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:24px;box-shadow:0 4px 12px -4px #2563eb0f;margin-bottom:32px;position:relative;overflow:hidden}.home-hero-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:9999px;color:#1d4ed8;font-size:13px;font-weight:700;margin-bottom:16px}.home-hero-title{font-size:34px;font-weight:800;color:#0f172a;margin:0 0 12px;letter-spacing:-.5px;line-height:1.25}.home-hero-subtitle{font-size:16px;color:#475569;max-width:640px;margin:0 auto 28px;line-height:1.6}.home-search-box{display:flex;align-items:center;gap:12px;max-width:680px;margin:0 auto 20px;background:#fff;border:2px solid #2563eb;border-radius:16px;padding:6px 8px 6px 18px;box-shadow:0 8px 24px #2563eb1f;transition:box-shadow .2s,border-color .2s}.home-search-box:focus-within{box-shadow:0 10px 30px #2563eb38}.search-input-wrap{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.search-input-wrap .search-icon{color:#2563eb;flex-shrink:0}.search-input-wrap input{width:100%;border:none;outline:none;font-size:15px;font-weight:500;color:#0f172a;background:transparent;font-family:inherit;text-overflow:ellipsis}.search-input-wrap input::placeholder{color:#94a3b8;font-weight:400}.btn-home-create-plan{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;background:#2563eb;color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:800;cursor:pointer;white-space:nowrap;box-shadow:0 4px 12px #2563eb40;transition:all .2s ease}.btn-home-create-plan:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 6px 16px #2563eb59}.home-quick-chips{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;max-width:680px;margin:0 auto}.quick-chip-label{font-size:12.5px;font-weight:700;color:#64748b;margin-right:4px}.quick-chip{padding:6px 12px;background:#fff;border:1px solid #cbd5e1;border-radius:9999px;font-size:12.5px;font-weight:600;color:#334155;cursor:pointer;transition:all .15s ease}.quick-chip:hover{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8;transform:translateY(-1px)}.home-vault-section{margin-bottom:48px}.vault-section-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px}.vault-title{font-size:22px;font-weight:800;color:#0f172a;margin:0 0 6px;display:flex;align-items:center;gap:8px}.vault-count-badge{font-size:13px;background:#e0f2fe;color:#0369a1;padding:2px 8px;border-radius:9999px;font-weight:800}.vault-desc{font-size:13.5px;color:#64748b;margin:0}.btn-vault-new-trip{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#fff;border:1px solid #cbd5e1;border-radius:10px;color:#2563eb;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s}.btn-vault-new-trip:hover{background:#eff6ff;border-color:#93c5fd}.my-trips-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}.my-trip-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:18px;padding:20px;box-shadow:0 4px 12px #00000008;transition:all .2s ease;display:flex;flex-direction:column;justify-content:space-between;position:relative;cursor:pointer;user-select:none}.my-trip-card:hover{border-color:#3b82f6;box-shadow:0 10px 28px #2563eb1f;transform:translateY(-3px)}.my-trip-card:active{transform:translateY(-1px)}.my-trip-card.master-trip{border-color:#3b82f6;background:#f8fafc;position:relative}.master-corner-badge{position:absolute;top:14px;right:14px;background:#2563eb;color:#fff;font-size:10.5px;font-weight:800;padding:3px 8px;border-radius:6px;letter-spacing:.5px}.card-top-row{display:flex;align-items:center;gap:8px;margin-bottom:12px}.card-tag{font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px;background:#f1f5f9;color:#475569}.card-tag-pass{background:#f59e0b!important;color:#fff!important;box-shadow:0 1px 3px #d9770626;letter-spacing:-.2px}.card-dday{font-size:11px;font-weight:800;padding:3px 8px;border-radius:6px;background:#eff6ff;color:#1d4ed8}.card-title{font-size:18px;font-weight:800;color:#0f172a;margin:0 0 6px;line-height:1.35}.card-dates{font-size:12.5px;color:#64748b;margin-bottom:14px;display:flex;align-items:center;gap:5px}.card-route-summary{font-size:12px;color:#475569;background:#f8fafc;padding:10px 12px;border-radius:10px;margin-bottom:16px;line-height:1.5;border:1px solid #f1f5f9}.card-btn-group{display:flex;gap:8px;align-items:center;margin-top:auto}.btn-card-open{flex:1;padding:10px 14px;background:#2563eb;color:#fff;border:none;border-radius:10px;font-size:13.5px;font-weight:700;cursor:pointer;text-align:center;transition:background .15s}.btn-card-open:hover{background:#1d4ed8}.btn-card-backup{padding:10px 12px;background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;color:#475569;font-size:12.5px;font-weight:600;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.btn-card-backup:hover{background:#f1f5f9;color:#0f172a;border-color:#94a3b8}.btn-card-delete{padding:10px;background:transparent;border:1px solid #f1f5f9;border-radius:10px;color:#94a3b8;cursor:pointer;transition:all .15s}.btn-card-delete:hover{background:#fef2f2;color:#ef4444;border-color:#fecaca}.my-trip-card.new-trip-card{border:2px dashed #cbd5e1;background:#fafafa;align-items:center;justify-content:center;text-align:center;cursor:pointer;padding:32px 20px;min-height:200px}.my-trip-card.new-trip-card:hover{border-color:#2563eb;background:#eff6ff}.new-trip-icon{font-size:32px;margin-bottom:8px}.new-trip-text{font-size:15px;font-weight:700;color:#2563eb}.new-trip-sub{font-size:12px;color:#64748b;margin-top:4px}.home-features-section{padding-top:10px}.features-section-title{font-size:19px;font-weight:800;color:#0f172a;margin:0 0 16px}.features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.feature-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px}.feature-card .feature-icon{font-size:26px;margin-bottom:10px}.feature-card h4{font-size:15px;font-weight:700;color:#0f172a;margin:0 0 6px}.feature-card p{font-size:12.5px;color:#64748b;margin:0;line-height:1.5}@media(max-width:640px){body.view-home .app-header{height:54px!important;padding:0 12px!important}body.view-home .brand-logo-header{width:30px!important;height:30px!important}body.view-home .badge-travel-cockpit{display:inline-block!important;font-size:11px!important;padding:2px 8px!important;letter-spacing:.3px!important}body.view-home .header-right{gap:6px!important}body.view-home .btn-ai-planner{padding:6px 10px!important;font-size:11.5px!important;border-radius:8px!important}body.view-home .btn-ai-planner .ai-btn-text{display:inline!important;font-size:11.5px!important}body.view-home .btn-login{padding:6px 10px!important;font-size:11.5px!important}.global-home-view{height:calc(100vh - 54px)!important;height:calc(100dvh - 54px)!important}.home-view-inner{padding:16px 12px 64px!important}.home-hero-section{padding:24px 14px 20px!important;border-radius:18px!important;margin-bottom:24px!important}.home-hero-badge{font-size:11.5px!important;padding:4px 10px!important;margin-bottom:12px!important}.home-hero-title{font-size:21px!important;line-height:1.35!important;margin-bottom:10px!important}.home-hero-subtitle{font-size:13px!important;margin-bottom:18px!important;line-height:1.55!important}.home-search-box{flex-direction:column!important;padding:8px!important;border-radius:14px!important;margin-bottom:14px!important;gap:8px!important}.search-input-wrap{width:100%!important;padding:4px 8px!important;min-height:38px!important}.search-input-wrap input{font-size:14px!important}.btn-home-create-plan{width:100%!important;min-height:42px!important;padding:10px 14px!important;font-size:13.5px!important;border-radius:10px!important}.home-quick-chips{flex-wrap:nowrap!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;justify-content:flex-start!important;padding:4px 2px 10px!important;gap:6px!important}.home-quick-chips::-webkit-scrollbar{display:none}.quick-chip-label{display:none!important}.quick-chip{padding:6px 12px!important;font-size:12px!important;flex-shrink:0!important}.vault-title{font-size:18px!important}.vault-desc{font-size:12px!important}.btn-vault-new-trip{padding:6px 12px!important;font-size:12px!important}.my-trips-grid{grid-template-columns:1fr!important;gap:16px!important}.my-trip-card{padding:18px 16px!important;border-radius:16px!important}.card-title{font-size:17px!important}.card-btn-group{gap:8px!important}.btn-card-open{min-height:42px!important;font-size:13.5px!important}.btn-card-backup{min-height:42px!important;padding:8px 12px!important;font-size:12.5px!important}.btn-card-delete{min-height:42px!important;width:42px!important}.features-grid{grid-template-columns:1fr!important;gap:12px!important}.feature-card{padding:15px!important}}.offline-status-banner{background:#1e293b;color:#f8fafc;padding:8px 16px;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;border-bottom:1px solid #334155;box-shadow:0 2px 8px #00000026;animation:slideDownFade .3s ease-out;position:relative;z-index:100}@keyframes slideDownFade{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.spot-card-body-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.spot-card-body-left{flex:1 1 0%;min-width:0}.spot-card-photo-side{position:relative;width:82px;height:82px;border-radius:12px;overflow:hidden;flex-shrink:0;background:#f1f5f9;box-shadow:0 2px 8px #00000014;border:1px solid rgba(0,0,0,.06)}.spot-card-photo-thumb{width:100%;height:100%;object-fit:cover;transition:transform .35s cubic-bezier(.16,1,.3,1);display:block}.itinerary-card:hover .spot-card-photo-thumb{transform:scale(1.08)}.spot-photo-badge{position:absolute;bottom:4px;left:4px;right:4px;background:#0f172abf;backdrop-filter:blur(4px);color:#fff;font-size:8.5px;font-weight:700;padding:1px 4px;border-radius:4px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.cost-expense-row{display:flex;align-items:stretch;justify-content:space-between;gap:8px;margin-bottom:10px;width:100%;box-sizing:border-box}.cost-expense-row .cost-badge{flex:1 1 auto;min-width:0;margin-bottom:0!important;display:flex;align-items:center;border-radius:10px;box-sizing:border-box}.cost-expense-row .cost-badge .cost-text{min-width:0;word-break:keep-all;overflow-wrap:break-word}.btn-expense-quick{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0;border-radius:10px;font-size:11.5px;font-weight:800;padding:0 12px;cursor:pointer;white-space:nowrap;transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center;gap:4px;flex-shrink:0;box-sizing:border-box;min-height:38px}.btn-expense-quick:hover{background:#dcfce7;border-color:#86efac}.btn-expense-quick.has-expense{background:#ecfdf5;color:#047857;border-color:#6ee7b7}.actual-expense-highlight{color:#047857;font-weight:800;background:#d1fae5;padding:1px 6px;border-radius:4px;margin-left:4px;display:inline-block}.btn-quick-expense-amt{background:#f1f5f9;color:#0f172a!important;font-weight:700;border:1px solid #cbd5e1;transition:all .15s ease}.btn-quick-expense-amt:hover{background:#e2e8f0;color:#0f172a!important;border-color:#94a3b8;transform:translateY(-1px)}.btn-quick-expense-amt:active{background:#cbd5e1;transform:scale(.97)}.hotel-input-wrapper{position:relative;width:100%}.hotel-search-input{width:100%!important;box-sizing:border-box!important;padding:11px 36px 11px 40px!important;font-size:13.5px!important;font-weight:600!important;color:#0f172a!important;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z'%3E%3C/path%3E%3C/svg%3E") no-repeat 13px center / 18px 18px!important;border:1.5px solid #cbd5e1!important;border-radius:12px!important;transition:all .2s ease!important;box-shadow:0 1px 3px #00000005!important}.hotel-search-input:focus{border-color:#2563eb!important;background-color:#fff!important;box-shadow:0 0 0 3px #2563eb24!important;outline:none!important}.hotel-suggestions-box{background:#fff!important;border-radius:14px!important;border:1px solid #cbd5e1!important;box-shadow:0 16px 36px -4px #0f172a2e,0 6px 16px -2px #0f172a14!important;z-index:1050!important;max-height:250px!important;overflow-y:auto!important;padding:6px!important}.hotel-suggestions-box::-webkit-scrollbar{width:5px}.hotel-suggestions-box::-webkit-scrollbar-track{background:transparent}.hotel-suggestions-box::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.hotel-suggestion-item{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:10px 12px!important;cursor:pointer!important;border-radius:10px!important;transition:all .15s ease!important;margin-bottom:2px!important;border-bottom:1px solid #f8fafc!important}.hotel-suggestion-item:last-child{border-bottom:none!important}.hotel-suggestion-item:hover{background:#f1f5f9!important;transform:translate(2px)!important}.hotel-sugg-left{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important;flex:1!important}.hotel-sugg-icon{width:32px!important;height:32px!important;border-radius:8px!important;background:#eff6ff!important;color:#2563eb!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:15px!important;flex-shrink:0!important}.hotel-sugg-info{min-width:0!important;flex:1!important}.hotel-sugg-name{font-size:13.5px!important;font-weight:700!important;color:#0f172a!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.hotel-sugg-addr{font-size:11.5px!important;color:#64748b!important;margin-top:2px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.hotel-sugg-badge{display:inline-flex!important;align-items:center!important;gap:3px!important;font-size:11px!important;font-weight:700!important;color:#1d4ed8!important;background:#dbeafe!important;padding:3px 8px!important;border-radius:999px!important;flex-shrink:0!important}.hotel-quick-chips-wrapper{display:flex!important;gap:6px!important;flex-wrap:wrap!important;margin-top:8px!important}.hotel-quick-chip{display:inline-flex!important;align-items:center!important;gap:4px!important;padding:6px 12px!important;border-radius:999px!important;border:1px solid #cbd5e1!important;background:#fff!important;color:#334155!important;font-size:11.5px!important;font-weight:600!important;cursor:pointer!important;box-shadow:0 1px 2px #00000008!important;transition:all .15s ease!important}.hotel-quick-chip:hover{background:#f8fafc!important;color:#2563eb!important;border-color:#93c5fd!important;transform:translateY(-1px)!important;box-shadow:0 3px 8px #2563eb1a!important}.card-drag-handle{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;padding:4px 6px;font-size:15px;color:#94a3b8;font-weight:700;letter-spacing:-2px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;transition:all .15s ease}.card-drag-handle:active{cursor:grabbing;color:#2563eb;background:#eff6ff;transform:scale(1.15)}.itinerary-card.touch-dragging{opacity:.65;transform:scale(.98);box-shadow:0 16px 32px #2563eb38;border:2px dashed #2563eb!important;background:#f8fafc!important}.card-order-step-btns{display:inline-flex;align-items:center;gap:3px;background:#f1f5f9;padding:2px 4px;border-radius:8px;border:1px solid #e2e8f0}.btn-step-move{width:22px;height:22px;border-radius:5px;border:1px solid #cbd5e1;background:#fff;color:#475569;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.btn-step-move:active:not(:disabled){background:#2563eb;color:#fff;border-color:#2563eb;transform:scale(.92)}.btn-step-move:hover:not(:disabled){background:#e2e8f0;color:#1e293b}#mobileMoreSheetOverlay{z-index:2050!important}.mobile-more-sheet{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top-left-radius:24px;border-top-right-radius:24px;box-shadow:0 -10px 40px #00000040;padding:14px 18px calc(env(safe-area-inset-bottom,0px) + 24px) 18px;z-index:2100!important;transform:translateY(105%);transition:transform .28s cubic-bezier(.16,1,.3,1);max-height:85vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-more-sheet.open{transform:translateY(0)!important}.sheet-drag-handle{width:40px;height:4px;background:#cbd5e1;border-radius:2px;margin:0 auto 12px}.sheet-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid #f1f5f9}.sheet-title{font-size:16px;font-weight:800;color:#0f172a;margin:0}.sheet-close-btn{background:#f1f5f9;border:none;width:28px;height:28px;border-radius:50%;font-size:14px;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center}.sheet-tools-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.sheet-tool-card{display:flex;flex-direction:column;align-items:flex-start;padding:12px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;cursor:pointer;text-align:left;transition:all .15s ease}.sheet-tool-card:active{background:#eff6ff;border-color:#93c5fd;transform:scale(.97)}.sheet-tool-icon{font-size:22px;margin-bottom:6px}.sheet-tool-name{font-size:13px;font-weight:800;color:#1e293b;line-height:1.3}.sheet-tool-sub{font-size:11px;color:#64748b;margin-top:2px;line-height:1.25}.sheet-large-font-toggle{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#f1f5f9;border:1.5px solid #cbd5e1;border-radius:14px;margin-bottom:14px;cursor:pointer;transition:all .2s ease}.sheet-large-font-toggle:active{background:#e2e8f0}.sheet-toggle-left{display:flex;align-items:center;gap:10px}.sheet-toggle-icon{font-size:24px}.sheet-toggle-title{font-size:13.5px;font-weight:800;color:#0f172a;display:block}.sheet-toggle-sub{font-size:11px;color:#64748b}body.large-font-mode{font-size:17px!important}body.large-font-mode .itinerary-card{padding:16px 14px!important;margin-bottom:14px!important}body.large-font-mode .place-name{font-size:20px!important;font-weight:800!important}body.large-font-mode .activity-desc{font-size:15.5px!important;line-height:1.55!important}body.large-font-mode .time-pill{font-size:14px!important;padding:5px 10px!important;font-weight:700!important}body.large-font-mode .order-badge{width:28px!important;height:28px!important;font-size:14.5px!important;font-weight:800!important}body.large-font-mode .cost-text,body.large-font-mode .grab-text{font-size:14.5px!important;line-height:1.45!important}body.large-font-mode .cost-badge,body.large-font-mode .grab-badge{padding:10px 12px!important}body.large-font-mode .btn-expense-quick{font-size:13.5px!important;padding:8px 14px!important}body.large-font-mode .accordion-title-text{font-size:14.5px!important;font-weight:800!important}body.large-font-mode .tip-content,body.large-font-mode .tip-sub-badge{font-size:15px!important;line-height:1.6!important}body.large-font-mode .tip-box{padding:12px 14px!important}body.large-font-mode .btn-step-move,body.large-font-mode .btn-card-action{min-width:32px!important;min-height:30px!important;font-size:14px!important}body.large-font-mode .summary-title{font-size:18px!important;font-weight:800!important}body.large-font-mode .summary-desc{font-size:14px!important;line-height:1.5!important}body.large-font-mode .stat-num{font-size:18px!important;font-weight:900!important}body.large-font-mode .stat-text{font-size:12.5px!important}body.large-font-mode .nav-item span:last-child{font-size:12.5px!important;font-weight:800!important}.day-paywall-container{padding:24px 16px;display:flex;justify-content:center;align-items:center;width:100%;box-sizing:border-box}.day-paywall-card{background:#fff;border:2px solid #93c5fd;border-radius:20px;padding:24px 20px;text-align:center;box-shadow:0 4px 12px #2563eb14,0 1px 2px #0000000a;max-width:440px;width:100%;box-sizing:border-box;position:relative;overflow:hidden}.day-paywall-card:before{content:"";position:absolute;top:-20px;right:-20px;width:100px;height:100px;background:#3b82f60f;border-radius:50%;pointer-events:none}.day-paywall-badge{display:inline-block;background:#ef4444;color:#fff;font-size:11px;font-weight:900;padding:3px 10px;border-radius:99px;margin-bottom:10px;letter-spacing:.5px}.day-paywall-title{font-size:17px;font-weight:800;color:#0f172a;margin-bottom:10px;line-height:1.4;word-break:keep-all}.day-paywall-desc{font-size:13px;color:#475569;line-height:1.55;margin-bottom:16px;word-break:keep-all}.day-paywall-perks{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;padding:12px 14px;margin-bottom:18px;text-align:left;display:flex;flex-direction:column;gap:7px}.day-paywall-perks .perk-item{font-size:12.5px;font-weight:700;color:#1e3a8a;display:flex;align-items:center;gap:6px}.btn-paywall-unlock-action{width:100%;padding:14px 16px;background:#2563eb;color:#fff;font-size:15px;font-weight:800;border:none;border-radius:14px;cursor:pointer;box-shadow:0 2px 8px #2563eb33;transition:all .2s ease;box-sizing:border-box}.btn-paywall-unlock-action:hover{transform:translateY(-1px);box-shadow:0 6px 20px #2563eb73}@keyframes fieldHighlightPop{0%{background-color:#ecfdf5!important;border-color:#10b981!important;box-shadow:0 0 0 3px #10b98140!important}50%{background-color:#f0fdf4!important;border-color:#34d399!important;box-shadow:0 0 0 2px #10b98126!important}to{background-color:#fff!important;border-color:var(--border-light, #e2e8f0)!important;box-shadow:none!important}}.field-highlight-pop{animation:fieldHighlightPop .8s ease-out!important}.btn-paywall-unlock-action:active{transform:scale(.98)}.paywall-guarantee-note{font-size:11.5px;color:#64748b;margin-top:10px;margin-bottom:0}.shared-viral-pill{position:fixed;bottom:24px;right:24px;z-index:1050;max-width:320px;width:calc(100vw - 32px);animation:viralPillSlideUp .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes viralPillSlideUp{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.viral-pill-card{background:#0f172af0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.15);border-radius:18px;padding:14px 16px;color:#fff;box-shadow:0 12px 32px #00000059,0 0 0 1px #ffffff14;display:flex;flex-direction:column;gap:10px}.viral-pill-header{display:flex;align-items:center;justify-content:space-between}.viral-pill-badge{font-size:10.5px;font-weight:800;color:#67e8f9;background:#06b6d433;border:1px solid rgba(103,232,249,.35);padding:2px 8px;border-radius:99px;letter-spacing:.3px}.viral-pill-close{background:transparent;border:none;color:#94a3b8;font-size:14px;cursor:pointer;padding:2px 6px;line-height:1;transition:color .15s ease}.viral-pill-close:hover{color:#fff}.viral-pill-body{display:flex;flex-direction:column;gap:2px}.viral-pill-title{font-size:13.5px;font-weight:800;color:#fff;line-height:1.35;word-break:keep-all}.viral-pill-desc{font-size:11.5px;color:#94a3b8;line-height:1.35}.viral-pill-cta-btn{background:#2563eb;color:#fff;border:none;border-radius:12px;padding:10px 14px;font-size:13px;font-weight:800;cursor:pointer;box-shadow:0 2px 8px #2563eb33;transition:transform .15s ease,box-shadow .15s ease;display:flex;align-items:center;justify-content:center;gap:6px}.viral-pill-cta-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px #2563eb80}.viral-pill-cta-btn:active{transform:scale(.98)}@media(max-width:768px){.shared-viral-pill{bottom:84px;right:16px;left:16px;max-width:none;width:auto}}.today-live-hero-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;padding:18px 20px;box-shadow:0 4px 16px #0f172a0a;display:flex;flex-direction:column;gap:14px}.today-mode-card{display:flex;flex-direction:column;gap:12px}.today-card-header{display:flex;align-items:center;justify-content:space-between}.today-status-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;padding:3px 10px;border-radius:99px}.live-pulse-dot{width:7px;height:7px;border-radius:50%;background:#2563eb;animation:liveDotPulse 1.6s infinite ease-in-out}@keyframes liveDotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(1.3)}}.today-weather-mini{font-size:12px;font-weight:700;color:#64748b}.today-next-spot-row{display:flex;align-items:center;gap:12px}.today-spot-icon-box{width:48px;height:48px;border-radius:14px;background:#eff6ff;color:#2563eb;font-size:24px;display:grid;place-items:center;flex-shrink:0;border:1px solid #dbeafe}.today-spot-info{display:flex;flex-direction:column;gap:2px;min-width:0}.today-spot-title{font-size:16.5px;font-weight:800;color:#0f172a;margin:0;line-height:1.35;word-break:keep-all;overflow-wrap:break-word}.today-spot-sub{font-size:12px;color:#64748b;margin:0;line-height:1.4;word-break:keep-all;overflow-wrap:break-word}.today-transit-pill{font-size:12px;font-weight:600;color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:8px 12px;display:flex;align-items:center;gap:6px;line-height:1.4;word-break:keep-all;overflow-wrap:break-word}.today-btn-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.today-action-btn{padding:10px 12px;font-size:13px;font-weight:700;border-radius:12px;justify-content:center;display:inline-flex;align-items:center;gap:5px;text-decoration:none;white-space:nowrap;word-break:keep-all}.today-dday-header{display:flex;flex-direction:column;gap:2px}.today-dday-kicker{font-size:11.5px;font-weight:800;color:#2563eb;letter-spacing:.3px}.today-dday-main{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.today-dday-number{font-size:38px;font-weight:900;color:#0f172a;letter-spacing:-.5px;line-height:1}.today-dday-date{font-size:13.5px;font-weight:600;color:#64748b;word-break:keep-all}.today-prep-progress-box{display:flex;flex-direction:column;gap:6px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px}.today-prep-labels{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;color:#334155;word-break:keep-all}.today-prep-track{height:6px;border-radius:99px;background:#e2e8f0;overflow:hidden}.today-prep-fill{height:100%;border-radius:99px;background:#2563eb;transition:width .3s ease}.today-prep-btn{width:100%;padding:11px;font-size:13px;font-weight:800;border-radius:12px;justify-content:center}.today-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.today-metric-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:10px 4px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;min-width:0;overflow:hidden;transition:transform .15s ease,border-color .15s ease}.today-metric-box:hover{border-color:#93c5fd;transform:translateY(-1px)}.metric-icon{font-size:18px;line-height:1;margin-bottom:2px}.metric-val{font-size:14px;font-weight:800;color:#0f172a;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric-sub{font-size:10px;color:#64748b;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-rain-toggle-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;gap:10px;background:#f0fdf4;border:1.5px solid #a7f3d0;border-radius:14px}.today-rain-toggle-bar.active-rain{background:#eff6ff;border-color:#93c5fd}.rain-toggle-left{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.rain-icon{font-size:24px;line-height:1;flex-shrink:0}.rain-title{font-size:13.5px;font-weight:800;color:#0f172a;display:block;word-break:keep-all;line-height:1.3}.rain-sub{font-size:11px;color:#64748b;word-break:keep-all;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:1.35}.switch-toggle-label{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0;cursor:pointer}.switch-toggle-label input{opacity:0;width:0;height:0}.switch-slider{position:absolute;cursor:pointer;inset:0;background-color:#cbd5e1;border-radius:99px;transition:.25s cubic-bezier(.4,0,.2,1)}.switch-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:.25s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0003}input:checked+.switch-slider{background-color:#2563eb}input:checked+.switch-slider:before{transform:translate(20px)}.swapped-indoor-badge{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:800;color:#1e40af;background:#dbeafe;border:1px solid #93c5fd;padding:1px 6px;border-radius:6px;margin-left:6px}.wallet-segment-nav{display:flex;gap:4px;background:#f1f5f9;padding:4px;border-radius:12px;margin-bottom:16px}.wallet-seg-btn{flex:1;border:none;background:transparent;color:#64748b;font-size:13px;font-weight:700;padding:9px 12px;border-radius:9px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:6px}.wallet-seg-btn.active{background:#fff;color:#0f172a;box-shadow:0 2px 6px #00000014}.wallet-numpad-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}.numpad-key-btn{height:48px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;font-size:18px;font-weight:700;color:#0f172a;cursor:pointer;display:grid;place-items:center;transition:background .1s ease}.numpad-key-btn:active{background:#e2e8f0}.ai-wizard-stepper{display:flex;gap:6px;background:#f1f5f9;padding:5px;border-radius:12px;margin-bottom:16px}.wizard-step-pill{flex:1;padding:8px 4px;font-size:12px;font-weight:700;border:none;border-radius:8px;cursor:pointer;background:transparent;color:#64748b;display:flex;align-items:center;justify-content:center;gap:4px;transition:all .2s ease}.wizard-step-pill.active{background:#fff;color:#2563eb;font-weight:800;box-shadow:0 1px 4px #00000014}.ai-popular-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px}.ai-pop-city-btn{padding:10px 4px;border:1.5px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;text-align:center;transition:all .15s ease}.ai-pop-city-btn:hover{border-color:#93c5fd;background:#f8fafc}.ai-pop-city-btn.active{border-color:#2563eb!important;background:#eff6ff!important;box-shadow:0 0 0 1.5px #2563eb!important}.spot-modal-quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}.today-tab-content,.plan-tab-content{width:100%}.today-route-row:hover{background:#f8fafc}@media(max-width:991px){body.tab-mode-today .today-tab-content{display:block!important}body.tab-mode-today .plan-tab-content,body.tab-mode-today .wallet-tab-content,body.tab-mode-today .prep-tab-content{display:none!important}body.tab-mode-plan .plan-tab-content{display:block!important}body.tab-mode-plan .today-tab-content,body.tab-mode-plan .wallet-tab-content,body.tab-mode-plan .prep-tab-content{display:none!important}body.tab-mode-wallet .wallet-tab-content{display:block!important}body.tab-mode-wallet .today-tab-content,body.tab-mode-wallet .plan-tab-content,body.tab-mode-wallet .prep-tab-content{display:none!important}body.tab-mode-prep .prep-tab-content{display:block!important}body.tab-mode-prep .today-tab-content,body.tab-mode-prep .plan-tab-content,body.tab-mode-prep .wallet-tab-content{display:none!important}}@media(min-width:992px){.today-tab-content,.wallet-tab-content,.prep-tab-content{display:none!important}.plan-tab-content{display:block!important}}.today-smart-tip-capsule{display:flex;align-items:center;gap:10px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:14px;padding:10px 14px;margin-top:10px;transition:all .15s ease;word-break:keep-all;overflow-wrap:break-word}.today-smart-tip-capsule:hover{background:#dcfce7;border-color:#86efac}.smart-tip-icon{font-size:20px;flex-shrink:0;line-height:1}.smart-tip-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.smart-tip-badge{font-size:10.5px;font-weight:800;color:#16a34a;letter-spacing:-.2px}.smart-tip-text{font-size:12px;font-weight:600;color:#14532d;line-height:1.4;word-break:keep-all;overflow-wrap:break-word}.smart-tip-link{font-size:11.5px;font-weight:800;color:#16a34a;flex-shrink:0;padding-left:6px;white-space:nowrap}.btn-spot-checkin{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbd5e1;background:#fff;color:#64748b;font-size:11px;font-weight:700;padding:3px 8px;border-radius:99px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.btn-spot-checkin:hover{border-color:#22c55e;color:#16a34a;background:#f0fdf4}.btn-spot-checkin.checked{border-color:#16a34a;background:#16a34a;color:#fff}.currency-quick-chip{border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:700;padding:6px 10px;border-radius:8px;cursor:pointer;transition:all .15s ease;flex:1;text-align:center}.currency-quick-chip:hover{background:#dbeafe;border-color:#93c5fd}.wallet-tab-content,.prep-tab-content{width:100%;box-sizing:border-box;padding:16px 16px 90px;overflow-y:auto;-webkit-overflow-scrolling:touch}.wallet-tab-header,.prep-tab-header{margin-bottom:16px}.wallet-tab-title-group,.prep-tab-title-group{display:flex;align-items:center;gap:12px;margin-bottom:14px}.wallet-tab-icon,.prep-tab-icon{font-size:28px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border-radius:12px;flex-shrink:0}.wallet-tab-title,.prep-tab-title{font-size:18px;font-weight:800;color:#0f172a;margin:0;line-height:1.25}.wallet-tab-sub,.prep-tab-sub{font-size:12px;color:#64748b;margin:3px 0 0}.wallet-budget-card{background:#f0fdf4;border:1.5px solid #86efac;border-radius:20px;padding:18px;margin-bottom:14px;box-shadow:0 2px 8px #1665340a}.wallet-budget-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;text-align:center}.wallet-budget-divider{width:1px;height:38px;background:#bbf7d0}.wallet-budget-label{font-size:11px;font-weight:700;color:#15803d;display:block;margin-bottom:2px}.wallet-budget-val{font-variant-numeric:tabular-nums}.wallet-budget-val.estimated{font-size:17px;font-weight:800;color:#166534}.wallet-budget-val.actual{font-size:21px;font-weight:900;color:#047857}.wallet-variance-box{text-align:center;margin-top:10px}.wallet-variance-badge{font-size:11.5px;font-weight:700;color:#15803d;background:#fff;padding:4px 14px;border-radius:99px;display:inline-block;box-shadow:0 2px 6px #0000000a}.wallet-quick-bar{display:flex;gap:8px;margin-bottom:16px}.wallet-quick-btn{flex:1;justify-content:center;font-size:12.5px;font-weight:700;padding:10px;border-radius:12px}.wallet-card-section{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:16px;margin-bottom:14px;box-shadow:0 2px 8px #00000005}.wallet-section-title{font-size:13.5px;font-weight:800;color:#1e293b;margin:0 0 12px}.wallet-cat-breakdown{display:flex;flex-wrap:wrap;gap:7px}.wallet-days-list{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto}.wallet-fx-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:18px;box-shadow:0 4px 16px #00000008}.wallet-fx-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid #f1f5f9}.wallet-fx-flag{font-size:32px}.wallet-fx-title{font-size:15px;font-weight:800;color:#0f172a;margin:0}.wallet-fx-rate{font-size:12px;color:#2563eb;font-weight:600;display:block;margin-top:2px}.wallet-fx-input-box{margin-bottom:14px}.wallet-fx-input-label{font-size:11px;font-weight:700;color:#64748b;display:block;margin-bottom:6px}.wallet-fx-input-row{display:flex;align-items:center;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:12px;padding:0 14px}.wallet-fx-input{flex:1;border:none;background:transparent;font-size:20px;font-weight:800;color:#0f172a;padding:12px 0;outline:none;font-variant-numeric:tabular-nums}.wallet-fx-unit{font-size:13px;font-weight:800;color:#64748b}.wallet-fx-result-box{background:#eff6ff;border:1.5px solid #bfdbfe;border-radius:14px;padding:14px 16px;text-align:center;margin-bottom:14px}.wallet-fx-result-label{font-size:11px;font-weight:700;color:#1e40af;display:block;margin-bottom:2px}.wallet-fx-result-val{font-size:24px;font-weight:900;color:#1d4ed8;font-variant-numeric:tabular-nums}.wallet-fx-chips{display:flex;gap:6px;margin-bottom:16px}.wallet-fx-chip{flex:1;text-align:center;padding:7px 0;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;font-size:11.5px;font-weight:700;color:#334155;cursor:pointer;transition:all .15s ease}.wallet-fx-chip:hover,.wallet-fx-chip:active{background:#dbeafe;color:#1d4ed8;border-color:#93c5fd}.wallet-fx-tip-box{display:flex;gap:10px;background:#fffbeb;border:1px solid #fef3c7;border-radius:12px;padding:12px}.wallet-fx-tip-icon{font-size:18px;flex-shrink:0}.wallet-fx-tip-text{font-size:11.5px;color:#92400e;line-height:1.45}.prep-progress-card{background:#eff6ff;border:1.5px solid #bfdbfe;border-radius:18px;padding:16px;margin-bottom:12px}.prep-progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.prep-progress-label{font-size:12px;font-weight:700;color:#1e40af}.prep-progress-pct{font-size:18px;font-weight:900;color:#1d4ed8}.prep-progress-bar-track{width:100%;height:8px;background:#ffffffb3;border-radius:99px;overflow:hidden;margin-bottom:6px}.prep-progress-bar-fill{height:100%;background:#2563eb;border-radius:99px;transition:width .3s ease}.prep-progress-sub{font-size:11px;color:#3b82f6;font-weight:600;text-align:right}.prep-outfit-capsule{display:flex;align-items:center;gap:10px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:14px;padding:11px 14px;margin-bottom:14px}.prep-outfit-icon{font-size:22px;flex-shrink:0}.prep-outfit-text strong{font-size:12px;font-weight:800;color:#166534;display:block}.prep-outfit-text p{font-size:11.5px;color:#15803d;margin:1px 0 0;line-height:1.35}.prep-add-item-box{display:flex;gap:8px;margin-bottom:16px}.prep-add-item-box input{flex:1;padding:10px 14px;border-radius:12px;border:1.5px solid #cbd5e1;font-size:12.5px;outline:none;background:#fff}.prep-add-item-box input:focus{border-color:#2563eb}.prep-checklist-content{display:flex;flex-direction:column;gap:14px;margin-bottom:20px}.prep-bottom-actions{display:flex;gap:8px;margin-top:14px}.prep-bottom-actions button{flex:1;justify-content:center;padding:11px;font-size:12.5px;font-weight:700;border-radius:12px}
