*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}input,textarea,select,button{font-family:inherit;font-size:inherit}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.user-avatar{--avatar-color: var(--primary);--avatar-background: var(--accent-soft, #eef0ff);position:relative;display:inline-grid;flex:0 0 auto;place-items:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--avatar-color) 24%,white);border-radius:50%;background:var(--avatar-background);color:var(--avatar-color);box-shadow:0 2px 7px color-mix(in srgb,var(--avatar-color) 13%,transparent),inset 0 1px #ffffffc2}.user-avatar:before{position:absolute;top:8%;right:8%;bottom:8%;left:8%;border-radius:50%;background:radial-gradient(circle at 34% 24%,rgb(255 255 255 / 72%),transparent 48%);content:""}.user-avatar svg{position:relative;z-index:1;width:92%;height:92%;overflow:visible;filter:drop-shadow(0 1px 1px rgb(44 39 56 / 12%))}.user-avatar-xs{width:24px;height:24px}.user-avatar-sm{width:32px;height:32px}.user-avatar-md{width:40px;height:40px}.user-avatar-lg{width:48px;height:48px}.user-avatar-xl{width:88px;height:88px;box-shadow:0 16px 34px color-mix(in srgb,var(--avatar-color) 18%,transparent),inset 0 1px #fffc}.app-profile-trigger{display:inline-flex;min-height:40px;align-items:center;gap:9px;border:1px solid transparent;border-radius:12px;padding:4px 9px 4px 5px;background:transparent;color:var(--text-muted);cursor:pointer;font-weight:700;transition:border-color .15s,background .15s,color .15s,box-shadow .15s}.app-profile-trigger:hover{border-color:var(--border);background:var(--surface);color:var(--text)}.app-profile-trigger:focus-visible{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}.auth-card{position:relative}.auth-language-picker{position:absolute;top:15px;right:16px;display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border);border-radius:999px;padding:4px 8px;background:color-mix(in srgb,var(--surface) 92%,var(--bg));color:var(--text-muted)}.auth-language-picker select{max-width:128px;border:0;outline:0;background:transparent;color:var(--text);font-size:13px;font-weight:750;cursor:pointer}.settings-overlay{padding:18px;background:#14182894;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.settings-modal{width:min(780px,calc(100vw - 36px));max-width:780px;max-height:min(92dvh,900px);padding:0;overflow-x:hidden;border:1px solid rgb(255 255 255 / 74%);border-radius:24px;background:#fbfbfd;box-shadow:0 28px 90px #1a1d3447}.settings-header{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:27px 30px 25px;overflow:hidden;border-bottom:1px solid #e7e8f0;background:radial-gradient(circle at 86% 0%,rgb(168 181 255 / 42%),transparent 34%),linear-gradient(135deg,#f7f8ff,#fdfaff 52%,#f5fbff)}.settings-header:after{position:absolute;right:68px;bottom:-48px;width:120px;height:120px;border:22px solid rgb(91 95 224 / 6%);border-radius:50%;content:"";pointer-events:none}.settings-heading-copy{position:relative;z-index:1;max-width:580px}.settings-kicker{display:inline-flex;align-items:center;gap:5px;margin-bottom:7px;color:var(--primary);font-size:var(--font-size-micro, 11px);font-weight:850;line-height:var(--line-height-tight, 1.2);letter-spacing:.1em;text-transform:uppercase}.settings-heading-copy h2{display:flex;align-items:center;gap:9px;margin:0;color:var(--text);font-size:24px;line-height:var(--line-height-tight, 1.2);letter-spacing:-.035em}.settings-heading-copy h2 svg{color:var(--primary)}.settings-heading-copy p{max-width:560px;margin:8px 0 0;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.settings-close{position:relative;z-index:2;display:grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border:1px solid #e4e5ec;border-radius:11px;background:#ffffffbd;color:var(--text-muted);cursor:pointer}.settings-close:hover{border-color:#d6d7e3;background:#fff;color:var(--text)}.settings-close:focus-visible{outline:none;box-shadow:var(--focus-ring)}.profile-settings-form{display:grid;grid-template-columns:210px minmax(0,1fr);gap:22px;padding:24px 30px 22px}.profile-preview-card{position:relative;display:flex;min-width:0;align-items:center;align-self:start;flex-direction:column;gap:13px;padding:24px 17px 18px;overflow:hidden;border:1px solid #e0e3f2;border-radius:18px;background:linear-gradient(160deg,#fff,#f1f3ff);text-align:center}.profile-preview-card:before{position:absolute;top:-52px;left:-34px;width:120px;height:120px;border-radius:50%;background:#5b5fe012;content:""}.profile-preview-card>div{display:grid;min-width:0;gap:2px}.profile-preview-card>div>span{color:var(--primary);font-size:var(--font-size-micro, 11px);font-weight:850;line-height:var(--line-height-tight, 1.2);letter-spacing:.08em;text-transform:uppercase}.profile-preview-card strong,.profile-preview-card small{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-preview-card strong{color:var(--text);font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.profile-preview-card small{color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.profile-preview-card p{margin:3px 0 0;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.profile-settings-fields{display:grid;min-width:0;gap:17px}.profile-settings-fields .form-group{margin:0}.profile-field label{display:flex;align-items:center;gap:6px;color:var(--text);font-size:var(--font-size-control, 13px);line-height:var(--line-height-compact, 1.35)}.profile-field label svg{color:var(--primary)}.profile-field>small{display:block;margin-top:5px;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.profile-field input[readonly]{background:#f4f5f8;color:var(--text-muted);cursor:not-allowed}.avatar-picker-fieldset,.language-picker-fieldset{min-width:0;border:0}.avatar-picker-fieldset legend,.language-picker-fieldset legend{display:flex;align-items:center;gap:6px;color:var(--text);font-size:var(--font-size-control, 13px);font-weight:750;line-height:var(--line-height-compact, 1.35)}.language-picker-fieldset legend svg{color:var(--primary)}.avatar-picker-fieldset>p,.language-picker-fieldset>p{margin:3px 0 9px;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.avatar-picker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.avatar-picker-grid>button{position:relative;display:grid;min-width:0;min-height:82px;place-items:center;gap:4px;border:1px solid #e3e4eb;border-radius:13px;padding:8px 4px 6px;background:#fff;color:var(--text-muted);cursor:pointer;transition:border-color .15s,background .15s,transform .15s,box-shadow .15s}.avatar-picker-grid>button:hover{border-color:#c9cbee;transform:translateY(-1px);box-shadow:0 7px 16px #2b2f5214}.avatar-picker-grid>button.selected{border-color:color-mix(in srgb,var(--primary) 60%,white);background:#f5f5ff;color:var(--primary);box-shadow:0 0 0 2px #5b5fe01a}.avatar-picker-grid>button:focus-visible,.language-picker-grid>button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.avatar-picker-grid>button>span:not(.user-avatar){max-width:100%;overflow:hidden;font-size:var(--font-size-control, 13px);font-weight:750;line-height:var(--line-height-tight, 1.2);text-overflow:ellipsis;white-space:nowrap}.avatar-picker-check{position:absolute;top:6px;right:6px;color:var(--primary)}.language-picker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.language-picker-grid>button{position:relative;display:grid;min-width:0;min-height:58px;align-content:center;gap:2px;border:1px solid #e3e4eb;border-radius:11px;padding:10px 26px 10px 9px;background:#fff;color:var(--text);font-family:inherit;cursor:pointer;text-align:left}.language-picker-grid>button>span{color:var(--text-muted);font-size:var(--font-size-micro, 11px);font-weight:750;line-height:var(--line-height-tight, 1.2);letter-spacing:.04em;text-transform:uppercase}.language-picker-grid>button strong{overflow-wrap:anywhere;font-size:var(--font-size-card-title, 14px);font-weight:800;line-height:var(--line-height-compact, 1.35);letter-spacing:normal}.language-picker-grid>button[lang=en]{font-family:var(--font-ui-en, "Public Sans", system-ui, sans-serif)}.language-picker-grid>button[lang=zh-TW]{font-family:var(--font-ui-zh-tw, "PingFang TC", "Microsoft JhengHei", sans-serif)}.language-picker-grid>button[lang=ja]{font-family:var(--font-ui-ja, "Hiragino Sans", "Yu Gothic UI", Meiryo, sans-serif)}.language-picker-grid>button[lang=ko]{font-family:var(--font-ui-ko, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif)}.language-picker-grid>button:is([lang=zh-TW],[lang=ja],[lang=ko])>span{letter-spacing:0;text-transform:none}html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .settings-kicker,html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .profile-preview-card>div>span{letter-spacing:0;text-transform:none}html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .settings-heading-copy h2{letter-spacing:normal}.language-picker-grid>button svg{position:absolute;top:7px;right:7px;color:var(--primary)}.language-picker-grid>button.selected{border-color:color-mix(in srgb,var(--primary) 60%,white);background:#f5f5ff}.settings-message{grid-column:1 / -1;display:flex;align-items:center;gap:7px;margin:-5px 0 0;border-radius:10px;padding:9px 11px;font-size:var(--font-size-body, 13px);font-weight:650;line-height:var(--line-height-compact, 1.35)}.settings-message.success{border:1px solid #bde9d2;background:#eefbf4;color:#18734d}.settings-message.error{border:1px solid #fac6c6;background:#fff3f3;color:#b62d2d}.profile-settings-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px;padding-top:2px}.payout-settings-card{margin:0 30px 14px;overflow:hidden;border:1px solid #d9e2fa;border-radius:16px;background:#fff;box-shadow:0 8px 24px #3847910f}.payout-settings-toggle{display:grid;width:100%;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:11px;border:0;padding:14px;background:linear-gradient(135deg,#fbfcff,#f6f8ff);color:var(--text);cursor:pointer;text-align:left}.payout-settings-toggle:hover{background:#f4f6ff}.payout-settings-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:12px;background:linear-gradient(135deg,#5b5fe0,#7c6fe8);color:#fff;box-shadow:0 7px 16px #5b5fe038}.payout-settings-toggle>span:nth-child(2){display:grid;min-width:0;gap:2px}.payout-settings-toggle strong{font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.payout-settings-toggle small{color:var(--text-muted);font-size:var(--font-size-meta, 12px);font-weight:500;line-height:var(--line-height-body, 1.5)}.payout-settings-saved{display:inline-flex;align-items:center;gap:4px;border:1px solid #a7e4c5;border-radius:999px;padding:4px 7px;background:#eefbf4;color:#18734d;font-size:var(--font-size-micro, 11px);font-weight:800;line-height:var(--line-height-tight, 1.2);white-space:nowrap}.payout-settings-action{display:inline-flex;align-items:center;gap:5px;color:var(--primary);font-size:var(--font-size-control, 13px);font-weight:800;line-height:var(--line-height-tight, 1.2);white-space:nowrap}.payout-settings-action svg{transition:transform .18s}.payout-settings-card.open .payout-settings-action svg{transform:rotate(180deg)}.profile-payout-form{display:grid;gap:13px;border-top:1px solid #e1e6f5;padding:17px 18px 18px;background:#fcfdff}.profile-payout-private-note{display:flex;align-items:flex-start;gap:9px;border:1px solid #bde9d2;border-radius:11px;padding:10px 11px;background:#eefbf4;color:#138052}.profile-payout-private-note>span{display:grid;gap:2px}.profile-payout-private-note strong{color:#155e43;font-size:var(--font-size-body, 13px);line-height:var(--line-height-compact, 1.35)}.profile-payout-private-note small{color:#3f6f5b;font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.profile-payout-form fieldset{min-width:0;border:0}.profile-payout-form legend{margin-bottom:10px;color:var(--text);font-size:var(--font-size-section-title, 16px);font-weight:800;line-height:var(--line-height-compact, 1.35)}.expense-region-options.profile-payout-region-options{gap:10px}.expense-region-options.profile-payout-region-options label{min-height:86px;gap:12px;border-radius:12px;padding:16px}.expense-region-options.profile-payout-region-options label>svg{width:24px;height:24px;flex:0 0 auto}.expense-region-options.profile-payout-region-options span{gap:3px}.expense-region-options.profile-payout-region-options strong{font-size:var(--font-size-section-title, 16px);line-height:var(--line-height-compact, 1.35)}.expense-region-options.profile-payout-region-options small{font-size:var(--font-size-body, 13px);line-height:var(--line-height-compact, 1.35)}.profile-payout-value-field{margin:0}.profile-payout-value-field label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:var(--font-size-control, 13px);line-height:var(--line-height-compact, 1.35)}.profile-payout-value-field label>span{color:var(--text-muted);font-size:var(--font-size-micro, 11px);font-weight:550;line-height:var(--line-height-tight, 1.2)}.profile-payout-value-field>small{display:block;margin-top:5px;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.profile-payout-form>.settings-message{margin:0}.profile-payout-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.profile-payout-actions button,.profile-payout-delete-confirm button{display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:var(--font-size-control, 13px);line-height:var(--line-height-tight, 1.2)}.payout-clear-button{margin-right:auto;color:#b62d2d}.profile-payout-delete-confirm{display:flex;align-items:center;gap:8px;border:1px solid #fac6c6;border-radius:11px;padding:10px;background:#fff5f5}.profile-payout-delete-confirm>span{display:grid;min-width:0;flex:1;gap:2px}.profile-payout-delete-confirm strong{color:#9d2525;font-size:var(--font-size-body, 13px);line-height:var(--line-height-compact, 1.35)}.profile-payout-delete-confirm small{color:#a95050;font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.security-settings-card{margin:0 30px 28px;overflow:hidden;border:1px solid #e1e3eb;border-radius:16px;background:#fff}.security-settings-toggle{display:grid;width:100%;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;border:0;padding:13px 14px;background:transparent;color:var(--text);cursor:pointer;text-align:left}.security-settings-toggle:hover{background:#fafaff}.security-settings-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:#f0f1ff;color:var(--primary)}.security-settings-toggle>span:nth-child(2){display:grid;min-width:0;gap:1px}.security-settings-toggle strong{font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.security-settings-toggle small{color:var(--text-muted);font-size:var(--font-size-meta, 12px);font-weight:500;line-height:var(--line-height-body, 1.5)}.security-settings-action{display:inline-flex;align-items:center;gap:6px;color:var(--primary);font-size:var(--font-size-control, 13px);font-weight:800;line-height:var(--line-height-tight, 1.2);white-space:nowrap}.security-settings-action svg{transition:transform .18s}.security-settings-card.open .security-settings-action svg{transform:rotate(180deg)}.security-settings-content{border-top:1px solid #e8e9ef;padding:16px 18px 18px;background:#fcfcfe}.settings-password-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:10px}.settings-password-form .form-group{min-width:0;margin:0}.settings-password-form label{font-size:var(--font-size-control, 13px);line-height:var(--line-height-compact, 1.35)}.settings-password-form input{padding:9px 10px;font-size:var(--font-size-control, 13px);line-height:var(--line-height-compact, 1.35)}.input-password-wrap{position:relative}.input-password-wrap input{padding-right:36px}.password-toggle{position:absolute;top:50%;right:6px;display:grid;width:28px;height:28px;place-items:center;border:0;border-radius:7px;background:transparent;color:var(--text-muted);cursor:pointer;transform:translateY(-50%)}.password-toggle:hover{background:var(--bg);color:var(--text)}.settings-password-form .settings-message{grid-column:1 / -1;margin:0}.security-submit{grid-column:1 / -1;justify-self:end;margin-top:2px}.settings-password-success{display:flex;align-items:center;gap:9px;color:#18734d;font-size:var(--font-size-body, 13px);font-weight:700;line-height:var(--line-height-compact, 1.35)}.settings-password-success>span{flex:1}@media (max-width: 680px){.settings-overlay{align-items:flex-end;padding:0}.settings-modal{width:100%;max-width:none;max-height:96dvh;border-width:1px 0 0;border-radius:22px 22px 0 0}.settings-header{padding:22px 18px 19px}.settings-heading-copy h2{font-size:var(--font-size-page-title, 20px)}.settings-heading-copy p{font-size:var(--font-size-meta, 12px)}.profile-settings-form{grid-template-columns:1fr;gap:17px;padding:19px 18px}.profile-preview-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;padding:15px;text-align:left}.profile-preview-card .user-avatar-xl{grid-row:1 / 3;width:68px;height:68px}.profile-preview-card p{grid-column:2}.avatar-picker-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.avatar-picker-grid>button{min-height:75px}.avatar-picker-grid .user-avatar-lg{width:42px;height:42px}.language-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-settings-actions{position:sticky;bottom:-1px;z-index:3;margin-inline:-18px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #e3e4ec;background:#fbfbfdf0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.payout-settings-card{margin:0 18px 14px}.payout-settings-toggle{grid-template-columns:auto minmax(0,1fr) auto}.payout-settings-saved,.payout-settings-action{grid-column:2;justify-self:start}.profile-payout-form{padding-inline:14px}.profile-payout-delete-confirm{align-items:stretch;flex-wrap:wrap}.profile-payout-delete-confirm>span{flex-basis:100%}.profile-payout-actions{align-items:stretch;flex-direction:column-reverse}.profile-payout-actions button{width:100%}.payout-clear-button{margin-right:0}.security-settings-card{margin:0 18px 24px}.security-settings-toggle{grid-template-columns:auto minmax(0,1fr)}.security-settings-action{grid-column:2;justify-self:start}.settings-password-form{grid-template-columns:1fr}.app-profile-trigger{padding-right:5px}.app-profile-trigger>span:last-child{display:none}}:root{--primary: #667eea;--primary-dark: #5a6fd6;--danger: #ef4444;--text: #1e1e2e;--text-primary: #1e1e2e;--text-muted: #6b7280;--bg: #f8f9fc;--surface: #ffffff;--border: #e5e7eb;--radius: 12px;--radius-sm: 8px;--focus-ring: 0 0 0 3px rgba(102,126,234,.16);--shadow: 0 2px 10px rgba(30,30,46,.07);--shadow-lg: 0 10px 32px rgba(30,30,46,.13)}.map-search-modes{display:inline-flex;gap:2px;padding:2px;border-radius:999px;background:#eef2f7;flex-shrink:0}.map-search-modes button{border:0;border-radius:999px;padding:5px 9px;background:transparent;color:#64748b;font-size:11px;font-weight:700;white-space:nowrap}.map-search-modes button.active{background:#fff;color:#6d28d9;box-shadow:0 1px 3px #94a3b855}.map-search-support{position:absolute;z-index:12;top:66px;left:50%;transform:translate(-50%);display:flex;gap:10px;align-items:center;max-width:min(92%,650px);padding:6px 10px;border-radius:10px;background:#fffffff5;box-shadow:0 4px 16px #0f172a24;font-size:11px}.map-search-support span{color:#b91c1c}.map-search-support .map-search-loading{color:var(--text-muted)}.map-search-support a{display:inline-flex;gap:4px;color:#6d28d9;font-weight:700;white-space:nowrap}.map-schedule-conflict{position:absolute;z-index:12;left:12px;bottom:12px;display:flex;align-items:center;gap:5px;max-width:min(440px,calc(100% - 24px));padding:7px 9px;border:1px solid #f59e0b;border-radius:8px;background:#fffbeb;color:#92400e;font-size:10px}.schedule-message{margin:5px 8px;padding:7px 9px;border-radius:8px;background:#fef2f2;color:#b91c1c;font-size:11px}.schedule-slot{position:relative;margin:4px 7px 12px;padding:9px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.schedule-slot-header{position:relative;display:flex;align-items:center;gap:7px;margin-bottom:8px;color:#475569;font-size:11px;flex-wrap:wrap}.slot-move-handle{display:inline-grid;width:32px;height:32px;place-items:center;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#94a3b8;cursor:grab;touch-action:none}.slot-move-handle:active{cursor:grabbing;color:#6d28d9}.slot-number{font-weight:800}.slot-shared-time{display:inline-flex;align-items:center;gap:3px;margin-left:auto;color:#64748b;font-size:9px;font-weight:700}.slot-shared-time .time-input{width:83px}.swap-routes-button,.route-visit-move{border:0;background:transparent;color:#6d28d9;font-size:10px;font-weight:800}.slot-reorder-menu{position:absolute;z-index:8;top:36px;left:0;display:flex;gap:4px;padding:5px;border:1px solid #ddd6fe;border-radius:8px;background:#fff;box-shadow:0 5px 15px #0f172a24}.slot-reorder-menu button{padding:6px 8px;border:1px solid #ddd6fe;border-radius:6px;background:#faf5ff;color:#6d28d9;font-size:10px}.slot-insertion-indicator{position:absolute;z-index:4;top:-2px;left:0;right:0;height:3px;border-radius:999px;background:#7c3aed}.slot-insertion-indicator.after{top:auto;bottom:-2px}.schedule-slot-lanes{display:grid;grid-template-columns:1fr;gap:7px}.route-row{min-width:0;padding:6px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.route-row-label{display:block;margin:0 0 4px 2px;color:#6d28d9;font-size:10px;font-weight:800}.route-lane-b{border-style:dashed}.route-row-empty{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;min-height:58px}.route-row-empty .route-row-label{margin:0}.add-parallel-route{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:38px;border:1px dashed #a78bfa;border-radius:8px;background:#faf5ff;color:#6d28d9;font-size:10px;font-weight:800}.route-choosing-place{display:flex;align-items:center;justify-content:space-between;gap:6px;color:#5b21b6;font-size:10px}.route-choosing-place button{border:0;background:transparent;color:#b91c1c;font-weight:700}.schedule-slot .itinerary-card{margin:0;min-width:0}.itinerary-card-name-row{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.itinerary-card-name-row .itinerary-card-name{margin:0}.slot-feedback,.route-place-recovery{margin:6px 0;padding:7px 8px;border-radius:8px;background:#fef2f2;color:#b91c1c;font-size:10px}.slot-feedback.success{background:#ecfdf5;color:#047857}.visit-move-picker,.route-place-recovery{display:grid;gap:6px;margin-top:6px;padding:8px;border:1px solid #ddd6fe;border-radius:8px;background:#faf5ff;color:#475569;font-size:10px}.visit-move-picker p,.route-place-recovery p{margin:0;color:#b91c1c}.visit-move-destination{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:4px}.visit-move-destination span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visit-move-picker button,.route-recovery-destinations button,.route-recovery-actions button{padding:6px 7px;border:1px solid #c4b5fd;border-radius:6px;background:#fff;color:#6d28d9;font-size:10px}.route-recovery-destinations{display:grid;gap:4px}.route-recovery-actions{display:flex;gap:5px}.slot-move-handle:focus-visible,.add-parallel-route:focus-visible,.swap-routes-button:focus-visible,.route-visit-move:focus-visible,.travel-connector-disclosure:focus-visible,.visit-move-picker button:focus-visible,.route-place-recovery button:focus-visible,.itinerary-card-name:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:6px}.schedule-slot-conflict{padding:8px;border:1px solid #f59e0b;border-radius:9px;background:#fffbeb;color:#92400e}.schedule-slot-conflict>p{margin:3px 0 7px;font-size:9px}.schedule-slot-conflict>button{display:grid;grid-template-columns:auto 1fr;gap:2px 6px;width:100%;margin-top:4px;padding:6px;border:1px solid #fde68a;border-radius:7px;background:#fff;color:#78350f;text-align:left}.schedule-slot-conflict>button span{grid-row:1 / 3;font-weight:800}.schedule-slot-conflict>button small{color:#92400e}.travel-connector-group{margin:8px 0 0;padding-top:7px;border-top:1px solid #e2e8f0}.travel-connector-summaries{display:grid;gap:4px}.travel-connector-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 7px;padding-left:7px;border-left:2px solid #8b5cf6;color:#475569;font-size:9px}.travel-connector-summary strong{grid-row:1 / 3;align-self:center}.travel-connector-summary.lane-b{border-left-style:dashed}.travel-connector-disclosure{display:inline-flex;align-items:center;gap:3px;min-height:30px;margin-top:4px;border:0;background:transparent;color:#6d28d9;font-size:10px;font-weight:800}.travel-connector-details{display:grid;gap:4px}.travel-leg-details,.travel-manual-row{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:4px;font-size:9px;color:#64748b}.travel-discrepancy{color:#b45309;font-weight:700}.travel-manual-row input{width:72px;padding:3px 5px;border:1px solid #cbd5e1;border-radius:5px;font-size:9px}.travel-manual-row button,.travel-align-preview button{padding:3px 5px;border:1px solid #cbd5e1;border-radius:5px;background:#fff;color:#475569;font-size:9px}.travel-align-preview{margin-top:5px;padding:7px;border-radius:7px;background:#fffbeb;color:#78350f;font-size:9px}.travel-align-preview p{margin:3px 0 6px}.smart-suggestions{overflow-y:auto;padding:12px}.smart-suggestions-intro{display:flex;align-items:flex-start;gap:8px;padding:10px;border-radius:10px;background:#f5f3ff;color:#5b21b6}.smart-suggestions-intro div{flex:1}.smart-suggestions-intro p{margin:2px 0 0;color:#6b7280;font-size:10px}.smart-suggestions-message{color:#475569;font-size:10px}.suggestion-card{margin-top:8px;padding:9px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.suggestion-card.warning{border-color:#fcd34d}.suggestion-heading{display:flex;align-items:center;gap:5px;color:#334155;font-size:11px}.suggestion-card>p{margin:5px 0;color:#64748b;font-size:10px}.suggestion-card dl{margin:0}.suggestion-card dl div{display:grid;grid-template-columns:100px 1fr;gap:5px;padding:2px 0;font-size:9px}.suggestion-card dt{color:#64748b;font-weight:700}.suggestion-card dd{margin:0;color:#334155}.suggestion-preview{position:sticky;bottom:5px;margin-top:10px;padding:10px;border:1px solid #8b5cf6;border-radius:10px;background:#fff;box-shadow:0 8px 24px #0f172a24;font-size:10px}.suggestion-preview-close{float:right;border:0;background:transparent}.suggestion-preview small{display:block;margin:4px 0;color:#64748b}.pdf-export-control{display:grid;gap:5px;width:100%}.pdf-export-control button{display:flex;width:100%;align-items:center;gap:6px}.pdf-export-control small{color:#b91c1c;font-size:9px}.public-schedule-slot.is-split{display:grid;grid-template-columns:1fr 1fr;gap:7px}.public-schedule-slot.has-conflict{display:block;padding:6px;border:1px solid #f59e0b;border-radius:8px}.public-slot-conflict{margin:0 0 5px;color:#92400e;font-size:10px}@media (max-width: 768px){.map-search-modes button{padding:4px 6px;font-size:9px}.map-search-support{top:60px;align-items:flex-start;flex-direction:column}.schedule-slot{min-height:auto}.schedule-slot-header{align-items:flex-start}.slot-shared-time{order:3;margin-left:39px}.public-schedule-slot.is-split{grid-template-columns:1fr}}@media (pointer: coarse){.slot-move-handle,.add-parallel-route,.route-choosing-place button,.swap-routes-button,.route-visit-move,.travel-connector-disclosure,.visit-move-picker button,.route-place-recovery button{min-width:44px;min-height:44px}}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.6;height:var(--real-vh, 100dvh);overflow:hidden}#root{height:var(--real-vh, 100dvh);display:flex;flex-direction:column}.app{display:flex;flex-direction:column;height:var(--real-vh, 100dvh)}.app-main{flex:1;overflow:hidden;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:56px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.app-logo{display:flex;align-items:center;gap:8px;font-weight:700;font-size:16px;color:var(--primary)}.app-version{display:inline-flex;align-items:center;justify-content:center;height:18px;line-height:1;font-size:10px;font-weight:600;color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:0 7px;vertical-align:middle}.app-user{display:flex;align-items:center;gap:10px;color:var(--text-muted);font-size:13px}.env-label{display:inline-flex;align-items:center;justify-content:center;height:18px;line-height:1;font-size:10px;font-weight:700;letter-spacing:.5px;color:#92400e;background:#fef3c7;border:1px solid #f59e0b;border-radius:999px;padding:0 7px;vertical-align:middle}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.auth-card{background:var(--surface);border-radius:20px;padding:40px;width:100%;max-width:400px;box-shadow:var(--shadow-lg)}.auth-logo{display:flex;align-items:center;gap:10px;margin-bottom:24px;color:var(--primary)}.auth-logo .app-version,.auth-logo .env-label{align-self:center;margin-top:1px}.auth-logo h1{font-size:20px;font-weight:700}.auth-card h2{font-size:18px;margin-bottom:20px}.auth-google-button{position:relative;display:flex;width:100%;min-height:44px;align-items:center;justify-content:center;border:1.5px solid #dadce0;border-radius:var(--radius-sm);padding:10px 42px;background:#fff;color:#3c4043;font-size:14px;font-weight:650;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}.auth-google-button:hover:not(:disabled){border-color:#c5c9ce;background:#f8f9fa}.auth-google-button:focus-visible{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}.auth-google-button:disabled{opacity:.55;cursor:not-allowed}.auth-google-icon{position:absolute;left:14px;width:18px;height:18px}.auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--text-muted);font-size:12px}.auth-divider:before,.auth-divider:after{height:1px;flex:1;background:var(--border);content:""}.auth-card form>.btn-primary{width:100%;justify-content:center}.auth-toggle{margin-top:16px;text-align:center;color:var(--text-muted)}.auth-toggle button{background:none;border:none;color:var(--primary);cursor:pointer;font-weight:600}.form-group{margin-bottom:16px}.form-group label{display:block;font-weight:650;font-size:13px;margin-bottom:7px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:11px 13px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s,background .15s;background:var(--surface)}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary);box-shadow:var(--focus-ring)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-row .form-group{min-width:0}.btn-primary{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:10px 18px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:650;cursor:pointer;transition:background .15s,box-shadow .15s,transform .15s}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-primary:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:10px 18px;background:var(--bg);color:var(--text);border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-weight:650;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}.btn-secondary:hover{background:var(--border)}.btn-secondary:focus-visible{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}.btn-outline{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:8px 14px;background:transparent;color:var(--primary);border:1.5px solid var(--primary);border-radius:var(--radius-sm);font-size:13px;font-weight:650;cursor:pointer;transition:background .15s,box-shadow .15s}.btn-outline:hover{background:#667eea14}.btn-outline:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-outline-white{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:#ffffff26;color:#fff;border:1.5px solid rgba(255,255,255,.6);border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer}.btn-outline-white:hover{background:#ffffff40}.btn-sm{padding:6px 12px;font-size:12px;border-radius:6px}.icon-btn{background:none;border:none;cursor:pointer;color:var(--text-muted);min-width:30px;min-height:30px;padding:5px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;transition:color .15s,background .15s}.icon-btn:hover{background:var(--bg);color:var(--text)}.icon-btn:focus-visible{outline:none;box-shadow:var(--focus-ring);color:var(--primary)}.icon-btn.danger:hover{color:var(--danger)}.icon-only{padding:10px}.avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#764ba2);color:#fff;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.avatar.small{width:26px;height:26px;font-size:12px}.error-msg{color:var(--danger);background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 12px;margin-bottom:12px;font-size:13px}.success-msg{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:10px 12px;margin-bottom:12px;font-size:13px}.empty-text{color:var(--text-muted);font-size:13px;text-align:center;padding:16px 0}.empty-text.small{font-size:12px;padding:8px 0}.center{text-align:center}.plan-list{padding:28px;max-width:1100px;margin:0 auto;width:100%;overflow-y:auto;height:100%}.plan-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.plan-list-header h2{font-size:22px;font-weight:700}.plan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.plan-card{background:var(--surface);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);cursor:pointer;transition:transform .15s,box-shadow .15s}.plan-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.plan-card-banner{height:80px;position:relative}.plan-card-body{padding:16px}.plan-card-body h3{font-size:16px;font-weight:700;margin-bottom:4px}.plan-destination{color:var(--text-muted);font-size:13px;display:flex;align-items:center;gap:4px;margin-bottom:10px}.plan-meta{display:flex;flex-direction:column;gap:4px;color:var(--text-muted);font-size:12px}.plan-meta span{display:flex;align-items:center;gap:4px}.plan-card-author{font-size:11px;color:var(--primary);margin-top:6px;font-weight:600}.date-auto-display{display:flex;align-items:center;gap:6px;padding:10px 12px;background:#f3f4f6;border-radius:8px;border:1px solid var(--border);font-size:13px;color:var(--text);min-height:40px}.empty-state{text-align:center;padding:80px 20px;color:var(--text-muted)}.empty-state svg{margin-bottom:12px;opacity:.3}.plan-detail{display:flex;flex-direction:column;height:100%}.plan-detail-header{display:flex;align-items:center;position:relative;z-index:100;padding:14px 20px;color:#fff;flex-shrink:0}.back-btn{display:flex;align-items:center;gap:6px;background:#ffffff26;border:none;color:#fff;padding:8px 14px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:600;white-space:nowrap;flex-shrink:0;z-index:1}.back-btn:hover{background:#ffffff40}.plan-detail-title{position:absolute;left:50%;transform:translate(-50%);text-align:center;pointer-events:none;max-width:calc(100% - 280px)}.plan-detail-title h2{font-size:20px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-detail-meta{display:flex;justify-content:center;gap:12px;font-size:11px;opacity:.85;margin-top:3px;flex-wrap:wrap}.plan-detail-meta span{display:flex;align-items:center;gap:4px}.plan-detail-actions{display:flex;align-items:center;gap:8px;position:relative;margin-left:auto}.trip-settings-btn{width:36px;height:36px;border-radius:50%;justify-content:center;padding:0;background:#ffffff2e;border:1.5px solid rgba(255,255,255,.4);color:#fff;transition:background .15s}.trip-settings-btn:hover{background:#ffffff52!important}.trip-settings-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:200;width:210px;padding:6px;border-radius:10px;background:#fff;color:#1e1e2e;box-shadow:0 12px 34px #00000038;border:1px solid rgba(0,0,0,.08)}.trip-settings-menu button,.trip-settings-menu .export-btn{width:100%;display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:9px 10px;border:none;border-radius:7px;background:transparent;color:#1e1e2e!important;font-size:13px;font-weight:600;cursor:pointer}.trip-settings-menu button:hover,.trip-settings-menu .export-btn:hover{background:var(--bg-light)}.trip-settings-menu .export-btn{border-color:transparent}.trip-settings-menu .danger{color:#dc2626}.tab-nav{display:flex;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;padding:0 24px}.tab{display:inline-flex;align-items:center;gap:6px;padding:12px 16px;border:none;background:none;cursor:pointer;color:var(--text-muted);font-size:13px;font-weight:600;border-bottom:2px solid transparent;transition:color .15s}.tab:hover{color:var(--text)}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.plan-detail-body{flex:1;overflow:hidden;display:flex;flex-direction:row}.map-pane{flex:1;min-width:0;position:relative;display:flex;flex-direction:column}.itinerary-pane{width:380px;flex-shrink:0;display:flex;flex-direction:column;border-left:1px solid var(--border);background:var(--surface)}.confirm-iw{min-width:248px;max-width:300px;padding:6px 4px}.confirm-iw-name{font-weight:700;font-size:13px;color:#1e1e2e;margin-bottom:11px;line-height:1.45;border-bottom:1px solid #e5e7eb;padding-bottom:9px}.confirm-iw-fields{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.confirm-iw-row{display:flex;align-items:center;gap:9px;font-size:var(--font-size-control, 13px);line-height:var(--line-height-compact, 1.35)}.confirm-iw-row label{width:44px;font-weight:600;color:#6b7280;flex-shrink:0}.confirm-iw-row select,.confirm-iw-row input[type=time],.confirm-iw-row input[type=number]{border:1.5px solid #e5e7eb;border-radius:6px;min-height:36px;padding:6px 9px;font-size:var(--font-size-control, 13px);line-height:var(--line-height-compact, 1.35);outline:none;flex:1}.confirm-iw-row select:focus,.confirm-iw-row input:focus{border-color:#667eea;box-shadow:var(--focus-ring)}.confirm-iw-expense-toggle{margin-bottom:8px;font-size:var(--font-size-control, 13px);line-height:var(--line-height-compact, 1.35)}.confirm-iw-expense-toggle label{display:flex;align-items:center;gap:5px;cursor:pointer;color:#6b7280}.confirm-iw-expense-fields{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.confirm-iw-stay-candidate-fields{display:grid;gap:6px;margin:0 14px 9px;padding:10px;border:1px solid #ddd6fe;border-radius:10px;background:#faf9ff}.confirm-iw-stay-candidate-fields>label{color:#6d5aa5;font-size:var(--font-size-micro, 11px);font-weight:800;line-height:var(--line-height-tight, 1.2)}.confirm-iw-stay-candidate-fields textarea,.confirm-iw-stay-candidate-fields input,.confirm-iw-stay-candidate-fields select{min-width:0;width:100%;border:1px solid var(--border);border-radius:6px;padding:6px 8px;background:var(--surface);color:var(--text);font-family:inherit;font-size:var(--font-size-control, 13px);font-weight:600;line-height:var(--line-height-compact, 1.35)}.confirm-iw-stay-candidate-fields textarea{resize:vertical}.confirm-iw-stay-candidate-fields>div{display:grid;grid-template-columns:minmax(0,1fr) 68px;gap:5px}.confirm-iw-input{width:100%;border:1.5px solid #e5e7eb;border-radius:6px;min-height:36px;padding:7px 9px;font-size:var(--font-size-control, 13px);line-height:var(--line-height-compact, 1.35);outline:none}.confirm-iw-input:focus{border-color:#667eea;box-shadow:var(--focus-ring)}.confirm-iw-select{border:1.5px solid #e5e7eb;border-radius:6px;min-height:36px;padding:7px 6px;font-size:var(--font-size-control, 13px);line-height:var(--line-height-compact, 1.35);outline:none;width:74px;flex:0 0 74px;background:#fff}.confirm-iw-category-select{width:100%;flex:1 1 auto}.confirm-iw-select:focus{border-color:#667eea;box-shadow:var(--focus-ring)}.confirm-iw-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center;flex-wrap:wrap;width:100%;margin-top:8px}.confirm-iw-btn-cancel{min-height:36px;padding:6px 12px;border:1.5px solid #e5e7eb;border-radius:6px;background:#fff;cursor:pointer;font-size:var(--font-size-control, 13px);line-height:var(--line-height-tight, 1.2);color:#6b7280}.confirm-iw-btn-add{display:flex;align-items:center;gap:4px;min-height:36px;padding:6px 12px;background:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:var(--font-size-control, 13px);font-weight:600;line-height:var(--line-height-tight, 1.2)}.confirm-iw-btn-add:hover{background:#5a6fd6}.confirm-iw-btn-add:disabled{opacity:.55;cursor:wait}.confirm-iw-btn-delete{display:flex;align-items:center;gap:4px;padding:6px 10px;border:1.5px solid #fecaca;border-radius:6px;background:#fff5f5;color:#dc2626;cursor:pointer;min-height:36px;font-size:var(--font-size-control, 13px);font-weight:600;line-height:var(--line-height-tight, 1.2);margin-right:auto}.confirm-iw-btn-delete:hover{background:#fee2e2}.map-wrapper{position:relative;flex:1;width:100%;height:100%}.map-loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted)}.map-info-panel{position:absolute;top:64px;right:auto;z-index:30;width:min(440px,calc(100% - 32px));max-height:calc(100% - 48px);overflow-y:visible;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 20px 50px #0f172a3d,0 2px 10px #0f172a14;padding:0}.map-info-panel:before{content:"";position:absolute;top:var(--connector-top, 50%);width:32px;border-top:2px dashed #c7d2fe;pointer-events:none}.map-info-panel[data-side=right]:before{left:-32px}.map-info-panel[data-side=left]:before{right:-32px}.map-info-panel:after{display:none}.map-info-close{position:absolute;top:11px;right:11px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:50%;background:#ffffffe0;border:1px solid rgba(148,163,184,.28);color:#64748b;cursor:pointer;box-shadow:0 2px 6px #0f172a14;z-index:2}.map-info-close:hover{background:var(--bg);color:var(--text)}.map-info-panel .confirm-iw{min-width:0;max-width:none;padding:0}.confirm-iw-header{padding:16px 48px 13px 16px;border-bottom:1px solid #e8edf4;border-radius:16px 16px 0 0;background:linear-gradient(145deg,#f8faff,#fff 62%,#f5f3ff)}.confirm-iw-badge-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:7px}.confirm-iw-kicker{color:#64748b;font-size:var(--font-size-micro, 11px);font-weight:800;line-height:var(--line-height-tight, 1.2);letter-spacing:.08em;text-transform:uppercase}.map-info-panel .confirm-iw-header .confirm-iw-name{margin:0 0 4px;padding:0;border:0;color:#172033;font-size:16px;line-height:1.3}.confirm-iw-place-meta{display:flex;flex-direction:column;gap:6px}.confirm-iw-maps-link{display:inline-flex;align-items:center;gap:4px;width:fit-content;color:#4f46e5;font-size:var(--font-size-meta, 12px);font-weight:700;line-height:var(--line-height-compact, 1.35);text-decoration:none}.confirm-iw-maps-link:hover{color:#3730a3;text-decoration:underline}.confirm-iw-header .confirm-iw-address{margin:0 0 7px;color:#64748b;font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35);white-space:normal}.confirm-iw-header .confirm-iw-place-info{margin:0}.confirm-iw-stepper{display:flex;align-items:center;gap:7px;margin-top:11px}.confirm-iw-step{display:inline-flex;align-items:center;gap:5px;color:#94a3b8;font-size:var(--font-size-micro, 11px);font-weight:750;line-height:var(--line-height-tight, 1.2);white-space:nowrap}.confirm-iw-step b{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid #cbd5e1;border-radius:50%;background:#fff;color:#64748b;font-size:9px}.confirm-iw-step.active{color:#4f46e5}.confirm-iw-step.active b{border-color:#6366f1;background:#6366f1;color:#fff}.confirm-iw-step.complete{color:#15803d}.confirm-iw-step.complete b{border-color:#86efac;background:#dcfce7;color:#15803d}.confirm-iw-step-line{height:1px;flex:1;min-width:18px;background:#dbe2ea}.map-info-panel .confirm-iw-divider{height:1px;margin:2px 14px 10px;background:#edf0f5}.map-info-panel .confirm-iw-fields{gap:7px;margin:0 14px 10px;padding:10px 11px;border:1px solid #e8edf4;border-radius:10px;background:#f8fafc}.map-info-panel .confirm-iw-row label{color:#64748b;font-size:var(--font-size-control, 13px);line-height:var(--line-height-compact, 1.35);letter-spacing:.02em}.map-info-panel .confirm-iw-row select,.map-info-panel .confirm-iw-row input[type=time],.map-info-panel .confirm-iw-row input[type=number],.map-info-panel .confirm-iw-row input[type=text],.map-info-panel .confirm-iw-note{border-color:#dbe2ea;background:#fff}.confirm-iw-stop-summary{padding:12px 14px 14px}.confirm-iw-stay-summary{display:grid;gap:8px;padding:12px 14px 14px}.confirm-iw-stay-summary p{margin:0;color:var(--text);font-size:var(--font-size-body, 13px);line-height:var(--line-height-body, 1.5);overflow-wrap:anywhere}.confirm-iw-stay-summary strong{width:fit-content;padding:5px 7px;border-radius:999px;background:#fef3c7;color:#a16207;font-size:var(--font-size-micro, 11px);line-height:var(--line-height-tight, 1.2)}.confirm-iw-stay-summary small{color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.confirm-iw-stay-edit{display:block;padding:0}.confirm-iw-stay-edit .confirm-iw-stop-meta{margin:0;padding:12px 14px 0}.confirm-iw-stay-edit .confirm-iw-fields{margin-top:10px}.confirm-iw-stay-edit .confirm-iw-row>label{width:76px;flex:0 0 76px}.confirm-iw-stay-notes{display:grid;gap:5px;margin-top:3px;padding-top:10px;border-top:1px solid var(--border)}.confirm-iw-stay-notes .confirm-iw-activity-title{margin:0}.confirm-iw-stay-note-list{display:grid;gap:5px;max-height:210px;overflow-y:auto;padding-right:2px}.confirm-iw-stay-optional-expense{display:grid;gap:6px}.confirm-iw-stay-optional-expense>button{display:inline-flex;min-height:32px;align-items:center;width:fit-content;gap:4px;border:0;padding:4px 0;background:transparent;color:var(--primary);font-family:inherit;font-size:var(--font-size-control, 13px);font-weight:800;line-height:var(--line-height-tight, 1.2);cursor:pointer}.confirm-iw-stop-meta{margin-bottom:10px;color:var(--text-muted);font-size:var(--font-size-meta, 12px);font-weight:600;line-height:var(--line-height-compact, 1.35)}.confirm-iw-summary-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.confirm-iw-summary-actions button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:5px;border:0;border-radius:8px;background:var(--bg);color:var(--text);font-family:inherit;font-size:var(--font-size-control, 13px);font-weight:800;line-height:var(--line-height-tight, 1.2)}.confirm-iw-summary-actions button:last-child{background:var(--accent-soft);color:var(--primary)}.confirm-iw-stop-activity{display:grid;gap:11px;margin-top:13px}.confirm-iw-stop-activity section{min-width:0}.confirm-iw-activity-title{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:6px;color:var(--text-muted);font-size:var(--font-size-micro, 11px);font-weight:800;line-height:var(--line-height-tight, 1.2);letter-spacing:.05em;text-transform:uppercase}.confirm-iw-activity-title>span{display:inline-flex;align-items:center;gap:4px}.confirm-iw-activity-title>button{display:inline-flex;min-height:32px;align-items:center;gap:3px;border:0;padding:4px 0;background:transparent;color:var(--primary);font-family:inherit;font-size:var(--font-size-control, 13px);font-weight:800;line-height:var(--line-height-tight, 1.2);text-transform:none;letter-spacing:0;cursor:pointer}.confirm-iw-activity-see-more{min-height:32px;border:0;padding:4px 0;background:transparent;color:var(--primary);font-family:inherit;font-size:var(--font-size-control, 13px);font-weight:800;line-height:var(--line-height-tight, 1.2);cursor:pointer;text-transform:none;letter-spacing:0}.confirm-iw-activity-title b{display:inline-grid;min-width:16px;height:16px;place-items:center;margin-left:1px;border-radius:999px;background:var(--accent-soft);color:var(--primary);font-size:8px;letter-spacing:0}.confirm-iw-note-preview,.confirm-iw-expense-preview{display:flex;min-width:0;align-items:center;gap:8px;padding:7px 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.confirm-iw-note-preview{display:grid;gap:2px;margin-bottom:5px;background:var(--bg)}.confirm-iw-note-preview span{min-width:0;overflow-wrap:anywhere;color:var(--text);font-size:var(--font-size-body, 13px);line-height:var(--line-height-compact, 1.35);white-space:normal}.confirm-iw-note-preview small{color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.confirm-iw-expense-preview{margin-bottom:5px;font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.confirm-iw-expense-preview>span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.confirm-iw-expense-preview strong{flex:0 0 auto;color:var(--text);font-size:var(--font-size-body, 13px)}.confirm-iw-expense-copy{display:grid;min-width:0;flex:1;gap:1px}.confirm-iw-expense-copy>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.confirm-iw-expense-copy small{width:fit-content;border-radius:999px;padding:2px 5px;background:var(--accent-soft);color:var(--primary);font-size:var(--font-size-micro, 11px);font-weight:800;line-height:var(--line-height-tight, 1.2)}.confirm-iw-activity-preview{display:flex;width:100%;min-width:0;align-items:center;gap:8px;border:0;padding:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.confirm-iw-activity-preview:disabled{cursor:default}.confirm-iw-activity-preview:not(:disabled):hover span{color:var(--primary)}.confirm-iw-google-reviews{margin:0 14px 10px;padding:0;border:1px solid var(--border);border-radius:10px;background:var(--bg);overflow:hidden}.confirm-iw-stop-summary>.confirm-iw-google-reviews,.confirm-iw-stay-summary>.confirm-iw-google-reviews{margin:16px 0 0}.confirm-iw-stay-summary .confirm-iw-google-review-meta strong{padding:0;border-radius:0;background:transparent;color:var(--text);font-size:var(--font-size-meta, 12px)}.confirm-iw-google-reviews-title{display:flex;min-height:34px;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;color:var(--text);cursor:pointer;list-style:none}.confirm-iw-google-reviews-title::-webkit-details-marker{display:none}.confirm-iw-google-reviews-title>span{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-size-body, 13px);font-weight:800;line-height:var(--line-height-compact, 1.35)}.confirm-iw-google-reviews-title>span svg{color:#f59e0b}.confirm-iw-google-reviews-title small{color:var(--text-muted);font-size:var(--font-size-micro, 11px);line-height:var(--line-height-tight, 1.2)}.confirm-iw-google-reviews-status{margin-left:auto}.confirm-iw-google-reviews-status svg{color:var(--text-muted)!important;transition:transform .16s ease}.confirm-iw-google-reviews[open] .confirm-iw-google-reviews-status svg{transform:rotate(180deg)}.confirm-iw-google-reviews-content{padding:0 9px 9px}.confirm-iw-google-reviews-empty{margin:0;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.confirm-iw-google-review-list{display:grid;gap:5px}.confirm-iw-google-review{min-width:0;padding-top:6px;border-top:1px solid var(--border)}.confirm-iw-google-review-meta{display:flex;min-width:0;align-items:center;gap:5px}.confirm-iw-google-review-meta a,.confirm-iw-google-review-meta strong{min-width:0;overflow:hidden;color:var(--text);font-size:var(--font-size-meta, 12px);font-weight:800;line-height:var(--line-height-compact, 1.35);text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.confirm-iw-google-review-meta a:hover{color:var(--primary);text-decoration:underline}.confirm-iw-google-review-meta span{display:inline-flex;flex:0 0 auto;align-items:center;gap:2px;color:#a16207;font-size:var(--font-size-micro, 11px);font-weight:800;line-height:var(--line-height-tight, 1.2)}.confirm-iw-google-review-meta small{flex:0 0 auto;margin-left:auto;color:var(--text-muted);font-size:var(--font-size-micro, 11px);line-height:var(--line-height-tight, 1.2)}.confirm-iw-google-review p{display:-webkit-box;margin:4px 0 0;overflow:hidden;color:var(--text);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5);overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:3}.confirm-iw-google-review p.expanded{display:block;overflow:visible;-webkit-line-clamp:unset}.confirm-iw-google-review-expand{min-height:32px;border:0;padding:4px 0 0;background:transparent;color:var(--primary);font-family:inherit;font-size:var(--font-size-control, 13px);font-weight:800;line-height:var(--line-height-tight, 1.2);cursor:pointer}.confirm-iw-google-review-expand:hover{text-decoration:underline}.confirm-iw-google-review-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;margin-top:8px;padding-top:7px;border-top:1px solid var(--border)}.confirm-iw-google-review-actions button,.confirm-iw-google-review-actions a{display:inline-flex;min-height:32px;align-items:center;gap:3px;border:0;padding:4px 0;background:transparent;color:var(--primary);font-family:inherit;font-size:var(--font-size-control, 13px);font-weight:800;line-height:var(--line-height-tight, 1.2);cursor:pointer;text-decoration:none}.confirm-iw-google-review-actions button:hover,.confirm-iw-google-review-actions a:hover{text-decoration:underline}.confirm-iw-activity-editor{display:grid;gap:6px;margin-bottom:6px;padding:8px;border:1px solid var(--accent);border-radius:8px;background:var(--accent-soft)}.confirm-iw-activity-editor textarea,.confirm-iw-activity-editor input,.confirm-iw-activity-editor select{min-width:0;width:100%;border:1px solid var(--border);border-radius:6px;padding:6px 7px;background:var(--surface);color:var(--text);font-family:inherit;font-size:var(--font-size-control, 13px);font-weight:600;line-height:var(--line-height-compact, 1.35)}.confirm-iw-activity-editor textarea{resize:vertical}.confirm-iw-activity-editor>div:last-child{display:flex;justify-content:flex-end;gap:5px}.confirm-iw-activity-editor>div:last-child button{min-height:32px;border:0;border-radius:6px;padding:5px 8px;background:var(--surface);color:var(--text-muted);font-family:inherit;font-size:var(--font-size-control, 13px);font-weight:800;line-height:var(--line-height-tight, 1.2);cursor:pointer}.confirm-iw-activity-editor>div:last-child button.primary{background:var(--primary);color:#fff}.confirm-iw-activity-editor>div:last-child button:disabled{cursor:not-allowed;opacity:.5}.confirm-iw-expense-editor-fields{display:grid;grid-template-columns:minmax(0,1fr) 62px;gap:5px}.confirm-iw-activity-page{margin-top:13px}.confirm-iw-activity-page-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:9px}.confirm-iw-activity-page-header strong{color:var(--text);font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.confirm-iw-activity-page-header button{display:inline-flex;min-height:32px;align-items:center;width:fit-content;gap:3px;border:0;padding:4px 0;background:transparent;color:var(--primary);font-family:inherit;font-size:var(--font-size-control, 13px);font-weight:800;line-height:var(--line-height-tight, 1.2);cursor:pointer}.confirm-iw-activity-page-header button:last-child{justify-self:end}.confirm-iw-expense-total-list{display:flex;flex-wrap:wrap;gap:5px}.confirm-iw-expense-total-list strong{border-radius:999px;padding:5px 7px;background:var(--accent-soft);color:var(--primary);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.confirm-iw-empty-activity{margin:0;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5);font-style:italic}.confirm-iw-name-row input{min-width:0;width:100%;min-height:36px;border:1px solid var(--border);border-radius:7px;padding:6px 8px;font-family:inherit;font-size:var(--font-size-control, 13px);font-weight:600;line-height:var(--line-height-compact, 1.35)}.confirm-iw-location-row{align-items:stretch!important}.confirm-iw-location-row>button{display:flex;min-width:0;min-height:36px;flex:1;align-items:center;gap:5px;padding:7px 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-muted);font-family:inherit;font-size:var(--font-size-control, 13px);font-weight:600;line-height:var(--line-height-compact, 1.35);text-align:left}.confirm-iw-location-row>button span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.confirm-iw-location-row>button b{flex:0 0 auto;color:var(--primary);font-size:var(--font-size-control, 13px)}.confirm-iw-duplicate{padding:13px 14px 0}.confirm-iw-duplicate>strong{display:block;margin-bottom:8px;color:var(--text-muted);font-size:var(--font-size-micro, 11px);line-height:var(--line-height-tight, 1.2);letter-spacing:.05em;text-transform:uppercase}.confirm-iw-day-list{display:grid;gap:5px}.confirm-iw-day-list button{display:flex;min-height:37px;align-items:center;justify-content:space-between;padding:7px 9px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-family:inherit;font-size:var(--font-size-control, 13px);font-weight:700;line-height:var(--line-height-tight, 1.2);text-align:left}.confirm-iw-day-list button small{color:var(--text-muted);font-size:var(--font-size-meta, 12px);font-weight:600;line-height:var(--line-height-compact, 1.35)}.confirm-iw-day-list button.active{border-color:var(--primary);background:var(--accent-soft);color:var(--primary)}.confirm-iw-day-list button.active small{color:var(--primary)}.confirm-iw-day-list button:disabled{opacity:.45;cursor:not-allowed}.confirm-iw-duplicate-preview{display:flex;align-items:center;gap:8px;margin-top:10px;padding:9px;border-radius:8px;background:var(--bg);color:var(--primary)}.confirm-iw-duplicate-preview span{display:grid;min-width:0;gap:2px}.confirm-iw-duplicate-preview strong{overflow:hidden;color:var(--text);font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35);text-overflow:ellipsis;white-space:nowrap}.confirm-iw-duplicate-preview small,.confirm-iw-duplicate>p{color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .confirm-iw-kicker,html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .confirm-iw-activity-title,html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .confirm-iw-duplicate>strong{letter-spacing:0;text-transform:none}.confirm-iw-duplicate>p{margin:8px 0 0;line-height:1.35}.confirm-iw-duplicate .confirm-iw-actions{margin-inline:-14px;margin-top:9px}.map-info-panel .confirm-iw-expense-toggle{margin:0 15px 8px}.map-info-panel .confirm-iw-expense-fields{margin:0 14px 9px;padding:10px;border:1px solid #bbf7d0;border-radius:12px;background:#f0fdf4}.map-info-panel .confirm-iw-actions{position:sticky;bottom:0;gap:7px;margin:0;padding:10px 14px 12px;border-top:1px solid #e8edf4;border-radius:0 0 16px 16px;background:#fffffff5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.map-info-panel .confirm-iw-btn-cancel,.map-info-panel .confirm-iw-btn-add,.map-info-panel .confirm-iw-btn-delete{min-height:36px;border-radius:8px}.map-info-panel .confirm-iw-btn-add{padding-inline:15px;background:linear-gradient(135deg,#667eea,#7057d9);box-shadow:0 4px 10px #667eea3d}.map-info-panel .confirm-iw-btn-add:hover{background:linear-gradient(135deg,#5a6fd6,#6148c8)}.map-info-panel .delete-confirm-inline{margin:0 14px 12px!important;border-radius:9px}.confirm-iw-source-badge{display:inline-flex;align-items:center;width:fit-content;margin:0;padding:2px 7px;border:1px solid #cbd5e1;border-radius:999px;background:#f8fafc;color:#475569;font-size:var(--font-size-micro, 11px);font-weight:700;line-height:var(--line-height-tight, 1.2)}.confirm-iw-source-badge.source-search{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.confirm-iw-source-badge.source-poi,.confirm-iw-source-badge.source-nearby{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}.confirm-iw-source-badge.source-pin{border-color:#e2e8f0;background:#f8fafc;color:#475569}.confirm-iw-candidates{margin:10px 14px;padding:8px;border:1px solid #e4e9f1;border-radius:11px;background:#f8fafc}.candidate-heading,.candidate-loading{margin:5px 4px 3px;color:var(--text-muted);font-size:var(--font-size-meta, 12px);font-weight:700;line-height:var(--line-height-compact, 1.35)}.candidate-loading{font-weight:500}.candidate-list{max-height:150px;overflow-y:auto}.candidate-row{display:flex;align-items:flex-start;gap:7px;width:100%;min-height:36px;padding:6px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.candidate-row:hover{background:#fff;border-color:#dbeafe}.candidate-row-selected{background:#eef2ff;border-color:#a5b4fc;box-shadow:0 2px 6px #6366f11a}.candidate-row>span:last-child{display:flex;min-width:0;flex-direction:column;gap:1px}.candidate-row strong{overflow:hidden;font-size:var(--font-size-body, 13px);line-height:var(--line-height-compact, 1.35);text-overflow:ellipsis;white-space:nowrap}.candidate-row small{overflow:hidden;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35);text-overflow:ellipsis;white-space:nowrap}.candidate-radio{width:10px;height:10px;margin-top:2px;flex:0 0 10px;border:2px solid #94a3b8;border-radius:50%;background:#fff}.candidate-row-selected .candidate-radio{border:3px solid var(--primary)}.confirm-iw-search-instead{display:inline-flex;align-items:center;gap:4px;min-height:36px;margin:5px 3px 0;padding:4px 2px;border:none;background:transparent;color:var(--primary);font-size:var(--font-size-control, 13px);font-weight:700;line-height:var(--line-height-tight, 1.2);cursor:pointer}.confirm-iw-btn-repeat{width:calc(100% - 28px);margin:0 14px 9px;padding:8px 10px;border:1.5px solid #c7d2fe;border-radius:6px;background:#eef2ff;color:#4338ca;font-size:12px;font-weight:700;cursor:pointer}.confirm-iw-btn-repeat:hover{background:#e0e7ff}.location-type-picker{flex:1;min-width:0;margin-top:4px}.custom-type-inline{display:flex;align-items:center;gap:4px;margin:0}.custom-type-inline .custom-type-input{min-width:0}.confirm-iw-type-row{align-items:flex-start!important}.confirm-iw-type-row>label{margin-top:6px}.confirm-iw-type-row .location-type-picker{margin-top:0}.map-info-panel-picker{width:min(340px,calc(100% - 32px));padding:14px}.marker-picker-title{margin:0 34px 8px 0;color:var(--text);font-size:13px;font-weight:800}.marker-picker-list{display:flex;max-height:250px;flex-direction:column;gap:4px;overflow-y:auto}.picker-row{display:flex;align-items:center;gap:9px;width:100%;min-height:42px;padding:7px 8px;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--text);text-align:left;cursor:pointer}.picker-row:hover{border-color:#a5b4fc;background:#f8faff}.picker-stop-number{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:0 0 24px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #cbd5e1;color:#fff;font-size:10px;font-weight:800}.picker-row-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.picker-row-copy strong{overflow:hidden;font-size:var(--font-size-body, 13px);line-height:var(--line-height-compact, 1.35);text-overflow:ellipsis;white-space:nowrap}.picker-row-copy small{color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.map-toolbar{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:12;display:flex;align-items:center;height:52px;width:min(620px,calc(100% - 32px));padding:0 8px;background:#fff;border:1px solid rgba(226,232,240,.9);border-radius:26px;box-shadow:0 8px 24px #0f172a29}.map-toolbar-search{display:flex;align-items:center;flex:1;min-width:0;padding-left:7px}.map-toolbar-search>div{flex:1;min-width:0}.map-search-icon{color:var(--text-muted);flex-shrink:0}.map-search-input{flex:1;border:none;outline:none;padding:11px 9px;font-size:14px;background:transparent;width:100%;min-width:0}.map-search-clear{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:4px;display:flex;align-items:center}.map-search-clear:hover{color:var(--text)}.map-toolbar-divider{width:1px;height:24px;margin:0 6px;background:#e5e7eb;flex-shrink:0}.map-days-control{position:relative;flex-shrink:0}.map-days-button{display:flex;align-items:center;gap:5px;min-height:34px;padding:0 10px;border:none;border-radius:18px;background:#f5f3ff;color:#5b5bd6;cursor:pointer;font-size:12px;font-weight:700}.map-days-button b{padding:2px 5px;border-radius:999px;background:#667eea;color:#fff;font-size:9px}.map-days-popover{position:absolute;top:43px;left:50%;transform:translate(-50%);width:min(330px,calc(100vw - 32px));padding:12px;border:1px solid #e5e7eb;border-radius:14px;background:#fff;box-shadow:0 14px 32px #0f172a2e}.map-days-popover-header{display:flex;align-items:center;gap:9px;margin-bottom:9px}.map-days-popover-header strong{flex:1;color:#334155;font-size:12px}.map-days-popover-header button{border:none;background:none;color:#667eea;cursor:pointer;font-size:11px;font-weight:700}.map-days-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;max-height:210px;overflow-y:auto}.map-days-grid button{display:flex;align-items:center;justify-content:center;gap:4px;min-height:30px;padding:4px;border:1px solid transparent;border-radius:8px;background:#f1f5f9;color:#94a3b8;cursor:pointer;font-size:10px;font-weight:700}.map-days-grid button.active{color:#fff}.map-days-grid button span{width:6px;height:6px;border-radius:50%;flex-shrink:0}.map-toolbar-actions{display:flex;align-items:center;gap:3px;flex-shrink:0}.map-toolbar-actions button{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:50%;background:#f8fafc;color:#475569;cursor:pointer}.map-toolbar-actions button:hover{background:#eef2ff;color:#4f46e5}.map-tools-toggle{display:none}.map-hotel-label{pointer-events:none;transform:translate(-50%,19px);width:max-content;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 7px;border:1px solid #e9e2ff;border-radius:999px;background:#fffffff5;color:#4c1d95;box-shadow:0 2px 7px #4c1d951f;font-size:9px;font-weight:750}.map-hotel-label.candidate{border-style:dashed;background:#faf8fff2;color:#7c3aed;font-weight:650}.map-hotel-label{pointer-events:auto;border:0;font-family:inherit;cursor:pointer}.map-saved-point-anchor{display:grid;width:54px;height:54px;place-items:center;pointer-events:none}.map-saved-point-marker{--saved-point-color: #334155;--saved-point-halo-color: #5b5fe0;--saved-point-size: 26px;display:grid;width:var(--saved-point-size);min-width:var(--saved-point-size);height:var(--saved-point-size);box-sizing:border-box;place-items:center;padding:0;border:2px solid #fff;border-radius:999px;background:var(--saved-point-color);color:#fff;box-shadow:0 2px 7px #0f172a4d;font-family:inherit;font-size:11px;font-weight:800;line-height:1;text-align:center;cursor:pointer;pointer-events:auto;touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}.map-saved-point-marker.is-hovered,.map-saved-point-marker:hover{transform:scale(1.06)}.map-saved-point-marker.is-editing{box-shadow:0 0 0 3px color-mix(in srgb,var(--saved-point-halo-color) 32%,transparent),0 0 0 9px color-mix(in srgb,var(--saved-point-halo-color) 18%,transparent),0 3px 9px #0f172a57}.map-saved-point-marker.is-expense{width:auto;min-width:max(34px,var(--saved-point-size));padding-inline:5px;font-size:8px;white-space:nowrap}.map-saved-point-marker.is-stay-mode{opacity:.68}.map-saved-point-marker.is-route-b{border-width:3px;border-style:dashed}.map-saved-point-marker:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 6px color-mix(in srgb,var(--saved-point-color) 50%,transparent),0 3px 9px #0f172a57}.map-transit-point-anchor{display:grid;width:38px;height:38px;place-items:center;pointer-events:none}.map-transit-point{--transit-point-color: #5b5fe0;display:grid;width:23px;height:23px;box-sizing:border-box;place-items:center;border:2px solid white;outline:2px solid var(--transit-point-color);background:var(--transit-point-color);color:#fff;box-shadow:0 2px 7px #0f172a57;font-size:9px;font-style:normal;font-weight:900;line-height:1;pointer-events:auto}.map-transit-point.is-board{border-radius:50%}.map-transit-point.is-transfer{border-radius:6px;transform:rotate(45deg);background:#fff;color:var(--transit-point-color)}.map-transit-point.is-transfer>b{transform:rotate(-45deg)}.map-transit-point.is-alight{border-radius:4px}.map-transit-point.is-lane-b{outline-style:dashed}.map-transit-point:hover{box-shadow:0 0 0 5px color-mix(in srgb,var(--transit-point-color) 20%,transparent),0 3px 9px #0f172a61}.map-transit-legend{position:absolute;z-index:10;bottom:12px;left:12px;display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid var(--border);border-radius:10px;background:#fffffff0;box-shadow:var(--shadow);color:var(--text-muted);font-size:9px;pointer-events:none}.map-transit-legend strong{color:var(--text);font-size:9px}.map-transit-legend span{display:inline-flex;align-items:center;gap:3px}.map-transit-legend i{display:grid;width:16px;height:16px;place-items:center;border-radius:50%;background:var(--primary);color:#fff;font-size:7px;font-style:normal;font-weight:900}.map-transit-legend i.is-transfer{border-radius:4px;background:#fff;color:var(--primary);outline:1px solid var(--primary)}.map-transit-legend i.is-alight{border-radius:3px}.map-wrapper-has-panel .map-transit-legend,.map-wrapper-has-results .map-transit-legend{display:none}.map-proposed-route-stop-anchor{position:relative;display:block;width:48px;height:48px;pointer-events:none}.map-proposed-route-stop{position:absolute;top:-2px;left:50%;display:grid;min-width:24px;height:24px;place-items:center;transform:translate(-50%);border:2px solid white;border-radius:999px;background:#c026d3;box-shadow:0 2px 8px #4c1d9561;color:#fff;font-size:8px;font-weight:900;line-height:1}.map-proposed-route-stop.is-a.is-split{left:25%}.map-proposed-route-stop.is-b{left:75%;border-style:dotted;background:#7c3aed}.map-proposed-route-legend{position:absolute;top:78px;right:12px;z-index:11;display:flex;max-width:min(360px,calc(100% - 24px));flex-wrap:wrap;align-items:center;gap:5px 9px;padding:8px 10px;border:1px solid #e9d5ff;border-radius:11px;background:#fffffff2;box-shadow:0 5px 18px #4c1d9533;color:var(--text-muted);font-size:9px;pointer-events:none}.map-proposed-route-legend strong{width:100%;color:#86198f;font-size:10px}.map-proposed-route-legend span{display:inline-flex;align-items:center;gap:4px;font-weight:750}.map-proposed-route-legend i{width:26px;height:4px;border-radius:999px;background:repeating-linear-gradient(90deg,#c026d3 0 6px,transparent 6px 10px);filter:drop-shadow(0 0 1px white)}.map-proposed-route-legend i.is-route-b{background:repeating-linear-gradient(90deg,#7c3aed 0 3px,transparent 3px 6px)}.map-proposed-route-legend small{width:100%;line-height:1.25}.map-wrapper-has-panel .map-proposed-route-legend{display:none}.map-route-optimization-status{position:absolute;top:78px;right:12px;z-index:11;display:flex;width:min(330px,calc(100% - 24px));align-items:flex-start;gap:8px;padding:9px 10px;border:1px solid #ddd6fe;border-radius:11px;background:#fffffff5;box-shadow:0 5px 18px #4c1d9533;color:#6d28d9;pointer-events:none}.map-route-optimization-status>svg{flex:0 0 auto;margin-top:1px}.map-route-optimization-status>span{display:grid;min-width:0;flex:1;gap:3px}.map-route-optimization-status strong{color:#5b21b6;font-size:10px;line-height:1.3}.map-route-optimization-status small{color:var(--text-muted);font-size:8.5px;line-height:1.35}.map-route-optimization-status.is-finding>svg{animation:map-route-finding-spin .9s linear infinite}.map-route-finding-progress{position:relative;display:block;width:100%;height:3px;overflow:hidden;border-radius:999px;background:#ede9fe}.map-route-finding-progress:after{position:absolute;inset:0 auto 0 0;width:34%;border-radius:inherit;background:linear-gradient(90deg,#7c3aed,#c026d3);content:"";transition:width .22s ease}.map-route-optimization-status.phase-driving .map-route-finding-progress:after{width:67%}.map-route-optimization-status.phase-schedule .map-route-finding-progress:after{width:100%}.map-route-optimization-status.is-verified{border-color:#bbf7d0;color:#15803d}.map-route-optimization-status.is-verified strong{color:#166534}.map-wrapper-has-panel .map-route-optimization-status{display:none}@keyframes map-route-finding-spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.map-transit-point{width:26px;height:26px;font-size:10px}.map-transit-legend{right:8px;bottom:8px;left:8px;max-width:max-content;gap:6px;overflow-x:auto;white-space:nowrap}.map-proposed-route-legend,.map-route-optimization-status{top:62px;right:8px;left:8px;width:auto;max-width:none}}.map-stay-pick-banner{position:absolute;top:78px;left:50%;transform:translate(-50%);z-index:11;display:flex;align-items:center;gap:8px;background:#1d4ed8;color:#fff;border-radius:20px;box-shadow:0 2px 12px #00000040;padding:7px 8px 7px 14px;max-width:calc(100% - 32px);font-size:13px;font-weight:600}.map-stay-pick-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-stay-pick-text small{font-weight:400;opacity:.85}.map-stay-pick-cancel{display:inline-flex;align-items:center;gap:3px;flex-shrink:0;background:#ffffff2e;color:#fff;border:none;border-radius:14px;padding:5px 10px;font-size:12px;font-weight:600;cursor:pointer}.map-stay-pick-cancel:hover{background:#ffffff4d}.map-hint{position:absolute;top:58px;left:50%;transform:translate(-50%);z-index:10;background:#000000a6;color:#fff;padding:6px 14px;border-radius:20px;font-size:11px;display:flex;align-items:center;gap:6px;pointer-events:none;white-space:nowrap}.itinerary{display:flex;flex-direction:column;height:100%;overflow:hidden;--day-accent: var(--primary);--day-accent-soft: color-mix(in srgb, var(--day-accent) 11%, white);--day-accent-strong: color-mix(in srgb, var(--day-accent) 72%, #111827)}.itinerary-day-nav{display:flex;align-items:center;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--surface);padding:1px 6px;gap:4px}.day-nav-btn{flex-shrink:0;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--border);background:#fff;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:all .15s;margin:8px 0}.day-nav-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.day-nav-btn:disabled{opacity:.25;cursor:default}.itinerary-day-tabs{display:flex;min-width:0;flex:1;overflow-x:auto;gap:6px;padding:9px 4px;scrollbar-width:none}.itinerary-day-tabs::-webkit-scrollbar{display:none}.day-tab{--tab-day-accent: var(--primary);position:relative;flex-shrink:0;display:flex;flex-direction:column;align-items:center;padding:6px 14px;border-radius:20px;border:1.5px solid var(--border);background:#fff;cursor:pointer;transition:all .15s;gap:1px;color:var(--text-muted);line-height:1.3;white-space:nowrap}.day-tab:before{position:absolute;top:50%;left:6px;width:5px;height:18px;border-radius:999px;background:var(--tab-day-accent);content:"";transform:translateY(-50%)}.day-tab:hover{border-color:var(--tab-day-accent);color:color-mix(in srgb,var(--tab-day-accent) 72%,#111827);background:color-mix(in srgb,var(--tab-day-accent) 8%,white)}.day-tab.active{border-width:2px;border-color:var(--tab-day-accent);background:color-mix(in srgb,var(--tab-day-accent) 13%,white);color:color-mix(in srgb,var(--tab-day-accent) 72%,#111827);box-shadow:inset 0 -3px 0 var(--tab-day-accent),0 2px 8px color-mix(in srgb,var(--tab-day-accent) 24%,transparent)}.day-tab-num{font-size:13px;font-weight:800;line-height:1}.day-tab-date{font-size:10px;font-weight:650;line-height:1.1;opacity:.82}.itinerary-scrollbar-aligned{min-width:0;flex:0 0 auto;overflow-y:auto;scrollbar-gutter:stable}.itinerary-day-subheader{display:flex;align-items:center;gap:7px;padding:9px 12px 8px;flex-shrink:0;border-top:1px solid color-mix(in srgb,var(--day-accent) 26%,var(--border));border-bottom:2px solid color-mix(in srgb,var(--day-accent) 64%,var(--border));background:var(--day-accent-soft)}.itinerary-day-subheader-label{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-card-title, 14px);font-weight:800;color:var(--day-accent-strong)}.itinerary-day-subheader-label:before{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:var(--day-accent);content:""}.itinerary-day-subheader-date{font-size:var(--font-size-meta, 12px);color:var(--text-muted)}.itinerary-day-subheader-count{margin-left:auto;font-size:var(--font-size-meta, 12px);color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:1px 8px}.itinerary-day-manage{display:inline-flex;align-items:center;gap:4px;margin-left:auto}.itinerary-day-subheader-count+.itinerary-day-manage{margin-left:0}.itinerary-day-manage button{display:inline-flex;min-height:36px;align-items:center;gap:4px;border:1px solid var(--border);border-radius:8px;padding:6px 9px;background:var(--surface);color:var(--text-muted);font-family:inherit;font-size:var(--font-size-control, 13px);font-weight:750;line-height:var(--line-height-tight, 1.2);cursor:pointer}.itinerary-day-manage button:last-child{border-color:color-mix(in srgb,var(--primary) 35%,var(--border));color:var(--primary)}.itinerary-day-manage .itinerary-day-remove{border-color:color-mix(in srgb,var(--danger) 38%,var(--border));background:color-mix(in srgb,var(--danger) 6%,var(--surface));color:var(--danger)}.itinerary-day-manage .itinerary-day-remove:hover:not(:disabled){border-color:var(--danger);background:color-mix(in srgb,var(--danger) 11%,var(--surface));color:#b91c1c}.itinerary-day-manage button:disabled{cursor:not-allowed;opacity:.45}.itinerary-day-message{margin:-2px 14px 8px;border-radius:8px;padding:7px 9px;background:#fff7ed;color:#9a3412;font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.itinerary-day-action-panel{display:grid;gap:12px;margin:0 14px 10px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 8px 24px #221f1b14}.itinerary-day-action-heading{display:flex;min-width:0;align-items:flex-start;gap:8px}.itinerary-day-action-heading>div{display:grid;min-width:0;flex:1;gap:3px}.itinerary-day-action-heading strong{color:var(--text);font-size:14px;line-height:1.35}.itinerary-day-action-heading span,.itinerary-day-action-panel>p{margin:0;color:var(--text-muted);font-size:12px;line-height:1.5}.itinerary-day-action-heading>svg{flex:0 0 auto;color:#c2410c}.itinerary-day-action-heading .icon-btn{width:24px;height:24px;flex:0 0 auto}.itinerary-day-action-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.itinerary-day-action-options>button{display:grid;min-width:0;gap:3px;border:1px solid var(--border);border-radius:9px;padding:9px;background:var(--bg);color:var(--text);font:inherit;text-align:left;cursor:pointer}.itinerary-day-action-options>button:hover{border-color:var(--primary);background:var(--accent-soft)}.itinerary-day-action-options span{font-size:13px;font-weight:800;line-height:1.35}.itinerary-day-action-options small{color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.itinerary-day-action-panel.is-danger{border-color:#fed7aa;background:#fffaf5}.itinerary-day-wipe-summary{border-radius:8px;padding:8px!important;background:#ffedd5;color:#9a3412!important;font-weight:700}.itinerary-day-action-buttons{display:flex;justify-content:flex-end;gap:7px}.itinerary-day-action-buttons button{min-height:36px;border:1px solid var(--border);border-radius:8px;padding:7px 10px;background:var(--surface);color:var(--text-muted);font-family:inherit;font-size:12px;font-weight:800;line-height:1.2;cursor:pointer}.itinerary-day-action-buttons button.danger{border-color:#dc2626;background:#dc2626;color:#fff}.day-route-helper{flex:0 0 auto;margin:-1px 14px 9px}.day-route-helper-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.day-route-helper-bar button{display:inline-flex;min-height:36px;align-items:center;gap:5px;border:1px solid color-mix(in srgb,var(--primary) 30%,var(--border));border-radius:9px;padding:6px 9px;background:var(--accent-soft);color:var(--primary);font-family:inherit;font-size:var(--font-size-control, 13px);font-weight:800;line-height:var(--line-height-tight, 1.2);cursor:pointer}.day-route-helper-bar button:disabled{cursor:wait;opacity:.55}.day-route-helper-bar .day-route-helper-undo{border-color:#b8ddd7;background:#edf9f7;color:#18786d}.day-route-helper-panel{display:grid;gap:11px;margin-top:7px;padding:12px;border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border));border-radius:13px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent-soft) 56%,white),var(--surface) 52%);box-shadow:0 10px 28px #221f1b14}.day-route-helper-heading{display:flex;min-width:0;align-items:flex-start;gap:9px}.day-route-helper-heading>div{display:grid;min-width:0;flex:1;gap:2px}.day-route-helper-heading strong{color:var(--text);font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.day-route-helper-heading p{margin:0;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.day-route-helper-heading .icon-btn{width:25px;height:25px;flex:0 0 auto}.day-route-helper-icon{display:grid;width:28px;height:28px;flex:0 0 auto;place-items:center;border-radius:9px;background:var(--primary);color:#fff}.day-route-helper-controls{display:flex;align-items:flex-end;gap:7px}.day-route-helper-controls label{display:grid;gap:3px;color:var(--text-muted);font-size:var(--font-size-micro, 11px);font-weight:800;line-height:var(--line-height-tight, 1.2);text-transform:uppercase;letter-spacing:.04em}.day-route-helper-controls select,.day-route-helper-controls button{min-height:36px;border:1px solid var(--border);border-radius:8px;padding:5px 8px;background:var(--surface);color:var(--text);font-family:inherit;font-size:var(--font-size-control, 13px);font-weight:700;line-height:var(--line-height-tight, 1.2)}.day-route-helper-controls button{color:var(--primary);cursor:pointer}.day-route-helper-goal{display:flex;align-items:flex-start;gap:7px;margin:0;border-radius:9px;padding:8px 9px;background:var(--bg);color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.day-route-helper-goal>svg{flex:0 0 auto;margin-top:1px;color:var(--primary)}.day-route-helper-goal span{display:grid;gap:1px}.day-route-helper-goal strong{color:var(--text);font-size:var(--font-size-body, 13px)}.day-route-helper-goal.is-transit{border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border));background:var(--accent-soft)}.day-route-helper-progress,.day-route-helper-message,.day-route-helper-anchor,.day-route-helper-caveat{margin:0;border-radius:8px;padding:8px 9px;background:var(--bg);color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.day-route-helper-message{background:#fff7ed;color:#9a3412}.day-route-helper-anchor{padding:0;background:transparent;color:var(--primary);font-weight:700}.day-route-helper-caveat{padding:0;background:transparent}.day-route-helper-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.day-route-helper-metrics>span{display:grid;gap:2px;border:1px solid var(--border);border-radius:9px;padding:8px;background:#ffffffb8}.day-route-helper-metrics small,.day-route-helper-orders>div>small{color:var(--text-muted);font-size:var(--font-size-micro, 11px);font-weight:800;line-height:var(--line-height-tight, 1.2);letter-spacing:.04em;text-transform:uppercase}.day-route-helper-metrics strong{color:var(--text);font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.day-route-helper-metrics .is-saving{border-color:#b8ddd7;background:#edf9f7}.day-route-helper-metrics .is-saving strong{color:#18786d}.day-route-helper-orders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.day-route-helper-orders>div{min-width:0;border:1px solid var(--border);border-radius:10px;padding:9px;background:#ffffffb3}.day-route-helper-orders>div.is-suggested{border-color:color-mix(in srgb,var(--primary) 35%,var(--border));background:var(--accent-soft)}.day-route-helper-orders ol{display:grid;gap:4px;margin:7px 0 0;padding-left:18px}.day-route-helper-orders li{padding-left:2px;color:var(--text);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.day-route-helper-actions{display:flex;justify-content:flex-end;gap:7px}.day-route-helper-actions button{display:inline-flex;min-height:36px;align-items:center;gap:4px;border:1px solid var(--border);border-radius:8px;padding:6px 9px;background:var(--surface);color:var(--text-muted);font-family:inherit;font-size:var(--font-size-control, 13px);font-weight:800;line-height:var(--line-height-tight, 1.2);cursor:pointer}.day-route-helper-actions button.primary{border-color:var(--primary);background:var(--primary);color:#fff}.day-route-helper-actions button:disabled{cursor:not-allowed;opacity:.5}.itinerary-day-action-buttons button:disabled,.itinerary-day-action-options button:disabled{cursor:wait;opacity:.55}.section-badge{background:var(--primary);color:#fff;font-size:9px;font-weight:700;border-radius:10px;padding:0 6px;min-width:15px;text-align:center;line-height:15px}.stay-block{margin:0 12px 8px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border)}.stay-block-header{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.stay-total-badge{margin-left:auto;font-size:10px;font-weight:600;color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:1px 7px;text-transform:none;letter-spacing:normal}.stay-block-none{padding:6px 4px;background:none;border:1px dashed var(--border)}.stay-add-btn{width:100%;justify-content:center;font-size:12px}.stay-candidate-place-name{font-size:13px;font-weight:700;margin-top:2px}.stay-candidate-place-address{font-size:11px;color:var(--text-muted);margin-top:1px}.stay-candidate-list{display:flex;flex-direction:column;gap:6px}.stay-candidate-row{display:flex;align-items:flex-start;gap:8px;padding:7px 8px;background:var(--bg);border-radius:var(--radius-sm);position:relative;flex-wrap:wrap}.stay-vote-btn{display:flex;flex-direction:column;align-items:center;gap:1px;padding:4px 6px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:#fff;color:var(--text-muted);cursor:pointer;flex-shrink:0;min-width:34px;min-height:32px;justify-content:center}.stay-vote-btn:hover{border-color:var(--primary);color:var(--primary)}.stay-vote-btn.voted{border-color:var(--primary);background:#667eea1f;color:var(--primary)}.stay-vote-count{font-size:10px;font-weight:700}.stay-candidate-body{flex:1;min-width:0}.stay-candidate-name{font-size:12.5px;font-weight:700}.stay-candidate-address{font-size:10.5px;color:var(--text-muted);margin-top:1px}.stay-candidate-desc{font-size:11px;color:var(--text);margin-top:3px}.stay-candidate-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:3px;font-size:10.5px;color:var(--text-muted)}.stay-candidate-actions{display:flex;gap:4px;flex-wrap:wrap;align-items:center;flex-shrink:0}.stay-candidate-edit-form{display:flex;flex-direction:column;gap:5px;width:100%}.stay-candidate-notethread{width:100%;margin-top:6px;padding-top:6px;border-top:1px dashed var(--border)}.stay-candidate-notethread .loc-note-section{height:auto}.stay-candidate-notethread .note-panel-input-top{padding:0 0 6px;border-bottom:none}.stay-candidate-notethread .note-panel-messages{max-height:160px;overflow-y:auto;padding:0;gap:6px}.stay-candidate-notethread .note-panel-msg{padding:6px 8px}.stay-block-footer{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}.stay-archive-confirm{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted)}.stay-confirmed-name{display:inline-flex;align-items:center;gap:4px;border:0;padding:0;background:transparent;color:var(--text);font-family:inherit;font-size:13px;font-weight:700;line-height:1.25;margin:1px 0 0;text-align:left}.stay-confirmed-address{font-size:11px;color:var(--text-muted);margin-top:1px}.stay-confirmed-desc{font-size:11.5px;color:var(--text);margin-top:4px}.stay-confirmed-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px}.stay-block-tbd,.stay-block-confirmed{border-color:#e9e2ff;background:#faf8ff;border-radius:12px}.stay-shortlist-header{display:flex;align-items:center;gap:6px;margin-bottom:8px;color:#7c3aed;font-size:10px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}.stay-shortlist-toggle{width:100%;border:0;padding:0;background:transparent;font:inherit;cursor:pointer;text-align:left}.stay-shortlist-toggle svg:last-child{margin-left:auto}.stay-candidate-notes-toggle{border:0;cursor:pointer;font:inherit}.stay-google-reviews-toggle{display:inline-flex;align-items:center;gap:3px;min-height:18px;border:0;border-radius:999px;padding:2px 7px;background:#fff7db;color:#9a6700;font-family:inherit;font-size:9px;font-weight:700;line-height:1;cursor:pointer;text-decoration:none}.stay-google-reviews-toggle:hover{background:#ffefb5}.stay-google-reviews{width:calc(100% - 42px);margin:6px 0 0 42px;padding:8px;border-top:1px dashed #e4c76b;border-radius:8px;background:#fffdf5}.stay-google-reviews-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.stay-google-reviews-header strong{display:inline-flex;align-items:center;gap:4px;color:#7a5200;font-size:9px}.stay-google-reviews-header span{color:var(--text-muted);font-size:8px}.stay-google-reviews>p{margin:5px 0 0;color:var(--text-muted);font-size:9px;line-height:1.4}.stay-shortlist-header .section-badge,.stay-considered-toggle .section-badge{background:#7c3aed}.stay-empty-shortlist{font-size:11px;padding:8px 0}.stay-candidate-list{gap:8px}.stay-candidate-row{border:1px solid #e8edf4;background:#fff;border-radius:11px;padding:9px;transition:border-color .15s,box-shadow .15s,background .15s}.stay-candidate-row.is-expanded{border-color:#c7d2fe;box-shadow:0 5px 14px #667eea17}.stay-candidate-row.is-considered{background:#fafbfc;border-style:dashed}.stay-candidate-title-row{display:flex;align-items:center;gap:5px}.stay-candidate-title-row .stay-candidate-name{flex:1}.stay-candidate-title-row svg{flex-shrink:0;color:#94a3b8}.stay-candidate-body{min-width:0;cursor:default;border-radius:7px;padding:1px 3px}.stay-candidate-name{font-size:13px;color:var(--text);overflow-wrap:anywhere}.stay-candidate-address,.stay-candidate-desc{line-height:1.35;overflow-wrap:anywhere}.stay-candidate-meta{gap:5px;align-items:center}.stay-cost-pill,.stay-pick-pill{display:inline-flex;align-items:center;min-height:18px;padding:1px 7px;border-radius:999px;font-size:9.5px;font-weight:650}.stay-cost-pill{background:#fef3c7;color:#b45309}.stay-pick-pill{max-width:100%;overflow:hidden;background:#f1f5f9;color:#64748b;text-overflow:ellipsis;white-space:nowrap}.stay-vote-btn{border-radius:9px}.stay-vote-btn.voted,.stay-candidate-row.is-expanded:not(.is-considered) .stay-vote-btn{border-color:#a5b4fc;background:#eef2ff;color:#4f46e5}.stay-vote-btn:disabled{cursor:default;border-color:#e2e8f0;background:#f8fafc;color:#a8b0bd}.stay-candidate-actions{margin-left:42px;width:calc(100% - 42px)}.stay-promote-btn{color:#5b5bd6;border-color:#c7d2fe;background:#f8f8ff}.stay-promote-btn:hover{background:#eef2ff;border-color:#818cf8}.stay-edit-btn{border:1px solid #dbe1ea;background:#fff}.stay-dismiss-btn{margin-left:auto;border:1px solid #fecaca;background:snow}.stay-remove-confirm{width:100%;margin-left:42px}.stay-price-edit-row{display:flex;gap:4px}.stay-price-edit-row .loc-exp-select{flex:0 0 76px}.stay-candidate-notethread{margin-left:42px;width:calc(100% - 42px);border-color:#dbe4ff}.stay-block-footer{padding-top:2px}.stay-add-candidate-btn{border-style:dashed;color:#5b5bd6;border-color:#a5b4fc}.stay-block-confirmed{background:#faf8ff}.stay-block-confirmed .stay-block-header{flex-wrap:wrap;color:#7c3aed}.stay-block-confirmed .stay-total-badge{max-width:100%;border:none;background:#fef3c7;color:#b45309;border-radius:999px;overflow-wrap:anywhere}.stay-confirmed-notes{margin-top:8px;border-top:1px solid #e9e2ff}.stay-confirmed-notes .loc-note-section{height:auto}.stay-confirmed-notes .note-panel-input-top{padding:7px 0 6px;border-bottom:none}.stay-confirmed-notes .note-panel-messages{max-height:180px;padding:0;gap:6px}.stay-confirmed-notes .note-thread-toggle{padding:8px 0;border-bottom-color:#e9e2ff}.stay-considered-section{margin-top:9px;padding-top:8px;border-top:1px solid #e9e2ff}.stay-considered-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:7px 8px;border:1px dashed #cbd5e1;border-radius:9px;background:#ffffffb3;color:#64748b;cursor:pointer;font-size:11px;font-weight:700}.stay-considered-toggle>span:first-of-type{flex:1;text-align:left}.stay-considered-list{margin-top:8px}.stay-considered-list .stay-promote-btn{font-size:10px}.stay-considered-caption{margin:7px 2px 0;color:#94a3b8;font-size:9.5px;line-height:1.4}.itinerary-scroll-region{display:flex;min-height:0;flex:1;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.itinerary-cards{flex:1;overflow-y:auto;padding:8px 12px 18px;display:flex;flex-direction:column;gap:6px}.itinerary-scroll-region>.itinerary-cards{flex:0 0 auto;overflow:visible}.itinerary-card{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:var(--radius-sm);padding:11px 12px 11px 9px;cursor:default;transition:box-shadow .15s,border-color .15s;-webkit-user-select:none;user-select:none;margin-bottom:0}.itinerary-card:hover{border-color:var(--primary);box-shadow:0 3px 12px #667eea1f}.itinerary-card.selected{border-color:var(--primary);background:#667eea08;box-shadow:0 0 0 3px #667eea26}.itinerary-cards.is-touch-dragging{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.itinerary-card-num{width:24px;height:24px;border-radius:50%;background:var(--primary);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 1px 4px #667eea66}.time-input{border:none;outline:none;font-size:13px;font-weight:700;color:var(--primary);background:transparent;cursor:pointer;width:96px;font-family:inherit}.time-input:focus{background:#667eea14;border-radius:5px;padding:2px 4px}.itinerary-card-body{flex:1;min-width:0}.itinerary-card-name{font-size:13px;font-weight:650;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.35;max-width:100%;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.itinerary-card-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap;color:var(--text-muted);font-size:11px;margin-top:4px}.duration-input{border:none;outline:none;font-size:11px;color:var(--text-muted);background:transparent;width:36px;text-align:right;font-family:inherit}.duration-input:focus{background:var(--bg);border-radius:4px;padding:1px 3px}.loc-type-badge{font-size:10px;color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:1px 5px;white-space:nowrap;flex-shrink:0;line-height:1.4}.note-btn{color:var(--text-muted)}.note-btn.has-note{color:var(--primary)}.itinerary-top-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--surface)}.travel-connector{display:flex;align-items:stretch;padding:0 10px 5px 26px;gap:0}.travel-connector-spine{width:2px;flex-shrink:0;margin-right:10px;align-self:stretch;min-height:24px;background:linear-gradient(to bottom,#667eea80,#667eea26);border-radius:1px}.travel-connector-card{flex:1;background:var(--bg);border:1px solid var(--border);border-radius:8px;overflow:hidden}.travel-route-goal{display:flex;align-items:flex-start;gap:7px;padding:7px 8px;border-bottom:1px solid var(--border);background:var(--bg);color:var(--text-muted)}.travel-route-goal>svg{flex:0 0 auto;margin-top:1px;color:var(--primary)}.travel-route-goal>span{display:grid;min-width:0;gap:1px}.travel-route-goal strong{color:var(--text);font-size:9.5px}.travel-route-goal small{font-size:8.5px;line-height:1.35}.travel-route-goal.is-transit{background:color-mix(in srgb,var(--accent-soft) 54%,white)}.travel-connector-row{display:flex;align-items:center;gap:6px;padding:4px 8px}.travel-mode-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--border);background:#fff;cursor:pointer;color:var(--text-muted);transition:all .15s;flex-shrink:0}.travel-mode-btn.active{border-color:var(--primary);color:var(--primary);background:#667eea1a}.travel-mode-btn:hover{border-color:var(--primary);color:var(--primary)}.travel-time{font-size:11px;color:var(--text-muted);flex:1}.travel-expand-btn{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:2px;display:flex;align-items:center}.travel-expand-btn:hover{color:var(--primary)}.note-panel-messages{flex:1;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.delete-confirm-inline,.note-delete-confirm{display:flex;align-items:center;gap:6px;font-size:12px;color:#ef4444;padding:4px 0}.delete-confirm-inline span,.note-delete-confirm span{flex:1}.dcb-yes{padding:3px 10px;background:#ef4444;color:#fff;border:none;border-radius:4px;font-size:11px;cursor:pointer;font-weight:600}.dcb-yes:hover{background:#dc2626}.dcb-no{padding:3px 10px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:4px;font-size:11px;cursor:pointer}.dcb-no:hover{background:var(--border)}.note-panel-input{display:flex;gap:8px;padding:9px 12px;border-top:1px solid var(--border);flex-shrink:0}.note-panel-input input{flex:1;padding:8px 12px;border:1.5px solid var(--border);border-radius:16px;font-size:13px;outline:none}.note-panel-input input:focus{border-color:var(--primary);box-shadow:var(--focus-ring)}.note-panel-input .btn-primary{padding:7px 10px}.expenses-panel{display:flex;flex-direction:column;height:100%;overflow:hidden}.expenses-scroll-body{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.expenses-summary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:18px;flex-shrink:0}.expenses-total{margin-bottom:10px}.expenses-total-label{font-size:11px;opacity:.85;display:block}.expenses-total-amount{font-size:26px;font-weight:700}.expenses-breakdown{display:flex;flex-direction:column;gap:4px}.expenses-cat-row{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;opacity:.9}.expenses-cat-amount{min-width:0;margin-left:auto;overflow-wrap:anywhere;font-weight:600;text-align:right}.expenses-add-btn{margin:12px;flex-shrink:0}.expenses-form{padding:0 14px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.category-picker{display:flex;flex-wrap:wrap;gap:7px}.category-btn{display:flex;align-items:center;gap:4px;min-height:30px;padding:6px 11px;border:1.5px solid var(--border);border-radius:20px;background:#fff;cursor:pointer;font-size:12px;transition:all .15s}.category-btn:hover{border-color:#aaa;background:var(--bg)}.category-btn:focus-visible{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}.expenses-list{flex:1;overflow-y:auto;padding:10px 14px;display:flex;flex-direction:column;gap:8px}.expense-item{display:flex;align-items:center;gap:11px;padding:11px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.expense-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.expense-body{flex:1;min-width:0}.expense-desc{font-size:13px;font-weight:600}.expense-meta{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:3px 6px;font-size:11px;color:var(--text-muted)}.expense-location-tag{display:inline-flex;min-width:0;max-width:100%;align-items:center;gap:3px;overflow-wrap:anywhere}.expense-location-tag svg{flex:0 0 auto}.expense-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.expense-amount{font-size:13px;font-weight:700;color:var(--primary)}.expenses-total-values{display:flex;gap:8px 12px;flex-wrap:wrap}.expenses-total>small{display:block;margin-top:5px;color:#ffffffc7;font-size:10px}.custom-cat-input-row{display:flex;gap:6px;margin-top:6px}.custom-cat-input-row input{min-width:0;flex:1}.expense-section-tabs{position:sticky;z-index:4;top:0;display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:7px 10px;border-bottom:1px solid var(--border);background:#fffffff5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.expense-section-tabs button{display:inline-flex;min-width:0;min-height:36px;padding:7px 8px;border:0;border-radius:8px;align-items:center;justify-content:center;gap:5px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:11px;font-weight:700}.expense-section-tabs button:hover{background:var(--bg);color:var(--text)}.expense-section-tabs button.active{background:var(--accent-soft, #eef2ff);color:var(--primary)}.expense-section-tabs button>span{display:grid;min-width:17px;height:17px;padding:0 4px;place-items:center;border-radius:999px;background:var(--primary);color:#fff;font-size:9px}.expense-section-tabs button:focus-visible,.expense-member-picker button:focus-visible,.expense-region-options label:has(input:focus-visible){outline:none;box-shadow:var(--focus-ring)}.expense-form-heading,.expense-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.expense-form-heading{margin-bottom:12px}.expense-form-heading>div,.expense-section-heading>div{display:grid;gap:2px}.expense-form-heading strong,.expense-section-heading strong{color:var(--text);font-size:13px}.expense-form-heading small,.expense-section-heading small{color:var(--text-muted);font-size:10px;line-height:1.4}.expense-split-editor{min-width:0;margin-top:12px;padding:11px;border:1px solid #dbe3ff;border-radius:10px;background:#f8faff}.expense-split-editor>legend{padding:0 5px;color:#4f46e5;font-size:11px;font-weight:800}.expense-split-toggle{display:flex;align-items:flex-start;gap:8px;color:var(--text);cursor:pointer}.expense-split-toggle input{margin-top:2px;accent-color:var(--primary)}.expense-split-toggle span{display:grid;gap:2px}.expense-split-toggle strong{font-size:11px}.expense-split-toggle small{color:var(--text-muted);font-size:9px;line-height:1.35}.expense-split-fields{display:grid;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid #dbe3ff}.expense-split-fields .form-group{margin-bottom:0}.expense-split-label-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.expense-split-label-row>button{border:0;background:transparent;color:var(--primary);cursor:pointer;font-size:9px;font-weight:700}.expense-member-picker{display:flex;flex-wrap:wrap;gap:6px}.expense-member-picker>button{display:inline-flex;max-width:100%;min-height:33px;padding:4px 8px 4px 5px;border:1px solid var(--border);border-radius:999px;align-items:center;gap:5px;overflow:hidden;background:#fff;color:var(--text-muted);cursor:pointer;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.expense-member-picker>button>span:not(.user-avatar),.expense-member-avatar{display:grid;width:23px;height:23px;flex:0 0 auto;place-items:center;border-radius:50%;background:#eef2ff;color:#4f46e5;font-size:9px;font-weight:800}.expense-member-picker>button.selected{border-color:#818cf8;background:#eef2ff;color:#4338ca}.expense-member-picker>button>.user-avatar{width:23px;height:23px}.expense-member-picker>button.selected>span:not(.user-avatar){background:#6366f1;color:#fff}.expense-member-picker>button.selected>.user-avatar{box-shadow:0 0 0 2px #6366f1,inset 0 1px #ffffffc2}.expense-share-preview,.expense-inline-error,.expense-field-help{margin-top:5px;font-size:9px;line-height:1.4}.expense-share-preview{color:#4f46e5}.expense-inline-error{color:#b91c1c}.expense-global-message{margin:0 12px 8px}.expense-empty-state,.expense-all-settled{display:grid;min-height:180px;padding:28px 22px;place-items:center;align-content:center;gap:6px;color:#818cf8;text-align:center}.expense-empty-state.compact{min-height:150px}.expense-empty-state strong,.expense-all-settled strong{color:var(--text);font-size:13px}.expense-empty-state p,.expense-all-settled p{max-width:300px;color:var(--text-muted);font-size:10px;line-height:1.5}.expense-all-settled{min-height:145px;color:#10b981}.expense-edit-form{display:grid;width:100%;gap:7px}.expense-edit-money-row{display:grid;grid-template-columns:minmax(0,1fr) 82px;gap:5px}.expense-edit-actions{display:flex;gap:5px;justify-content:flex-end;margin-top:3px}.expense-split-meta,.expense-unsplit-meta{display:inline-flex;align-items:center;gap:3px}.expense-split-meta{color:#4f46e5}.expense-unsplit-meta{padding:1px 5px;border-radius:999px;background:#f3f4f6;color:#6b7280}.expense-row-actions{display:inline-flex;align-items:center;gap:2px}.expense-delete-confirm{display:grid;gap:3px}.expense-delete-confirm button{min-height:24px;padding:3px 6px;border:1px solid #fecaca;border-radius:5px;background:#fff;color:#b91c1c;cursor:pointer;font-size:9px;font-weight:700}.expense-delete-confirm button+button{border-color:var(--border);color:var(--text-muted)}.expense-balance-view,.expense-payout-view{display:grid;gap:14px;padding:12px}.expense-balance-intro,.expense-privacy-note{display:flex;align-items:flex-start;gap:9px;padding:11px;border-radius:10px}.expense-balance-intro{background:#eef2ff;color:#4f46e5}.expense-balance-intro>div,.expense-privacy-note>span{display:grid;flex:1;gap:2px}.expense-balance-intro strong,.expense-privacy-note strong{color:var(--text);font-size:12px}.expense-balance-intro p,.expense-privacy-note small{color:var(--text-muted);font-size:9px;line-height:1.4}.expense-currency-balance{display:grid;gap:7px}.expense-currency-balance>h4{color:var(--text-muted);font-size:10px;letter-spacing:.08em}.expense-member-balances{display:grid;gap:5px}.expense-member-balances>div{display:flex;min-width:0;padding:9px;border:1px solid var(--border);border-radius:9px;align-items:center;gap:8px;background:#fff}.expense-member-balances>div>span:nth-child(2){display:grid;min-width:0;flex:1}.expense-member-balances strong{overflow:hidden;color:var(--text);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.expense-member-balances small{color:var(--text-muted);font-size:9px}.expense-member-balances b{color:#b45309;font-size:11px}.expense-member-balances .positive b{color:#047857}.expense-settle-section,.expense-history-section,.expense-member-payouts{display:grid;gap:8px;padding-top:3px}.expense-settlement-list{display:grid;gap:7px}.expense-settlement-card{display:grid;gap:8px;padding:10px;border:1px solid #c7d2fe;border-radius:10px;background:#fafaff}.expense-settlement-route{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:7px;color:#6366f1}.expense-settlement-route>span{display:grid;min-width:0}.expense-settlement-route>span:last-child{text-align:right}.expense-settlement-route b{overflow:hidden;color:var(--text);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.expense-settlement-route small{color:var(--text-muted);font-size:9px}.expense-settlement-card>.btn-primary{justify-content:center;min-height:34px}.expense-payment-detail{display:inline-flex;min-width:0;align-items:center;gap:7px;color:#6366f1}.expense-payment-detail>span{display:grid;min-width:0;flex:1}.expense-payment-detail small{color:var(--text-muted);font-size:8px}.expense-payment-detail strong{overflow-wrap:anywhere;color:var(--text);font-size:10px}.expense-payment-detail>button{display:grid;width:28px;height:28px;flex:0 0 auto;place-items:center;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--primary);cursor:pointer}.expense-payment-detail.compact{padding:7px;border-radius:7px;background:#fff}.expense-payment-missing{color:#9ca3af;font-size:9px}.expense-copy-toast{position:sticky;z-index:6;bottom:8px;justify-self:center;padding:6px 10px;border-radius:999px;background:#111827;color:#fff;box-shadow:var(--shadow);font-size:9px}.expense-payment-history{display:grid;gap:5px}.expense-payment-history>div{display:flex;min-width:0;padding:8px;border-radius:8px;align-items:center;gap:7px;background:#f0fdf4;color:#059669}.expense-payment-history>div>span{display:grid;min-width:0;flex:1}.expense-payment-history strong{overflow:hidden;color:var(--text);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.expense-payment-history small{color:var(--text-muted);font-size:9px}.expense-payment-history button{display:inline-flex;min-height:28px;padding:4px 6px;border:0;align-items:center;gap:3px;background:transparent;color:#047857;cursor:pointer;font-size:9px;font-weight:700}.expense-privacy-note{background:#ecfdf5;color:#059669}.expense-profile-default-card{display:grid;gap:9px;border:1px solid #cbd5ff;border-radius:11px;padding:11px;background:linear-gradient(135deg,#fafaff,#f5f7ff)}.expense-profile-default-card.current{border-color:#a7e4c5;background:linear-gradient(135deg,#f7fffa,#eefbf4)}.expense-profile-default-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.expense-profile-default-heading>span:first-child{display:grid;width:31px;height:31px;place-items:center;border-radius:9px;background:#e5e8ff;color:#555bd8}.expense-profile-default-heading>div{display:grid;min-width:0;gap:2px}.expense-profile-default-heading strong{color:var(--text);font-size:11px}.expense-profile-default-heading small{color:var(--text-muted);font-size:8px;line-height:1.4}.expense-profile-default-badge{display:inline-flex;align-items:center;gap:3px;border-radius:999px;padding:4px 6px;background:#dff7e9;color:#18734d;font-size:8px;font-weight:800;white-space:nowrap}.expense-profile-default-card>.expense-payment-detail{border:1px solid rgb(203 213 255 / 70%);border-radius:8px;padding:8px;background:#ffffffd1}.expense-profile-default-import{justify-content:center;color:var(--primary)}.expense-profile-default-current{display:flex;align-items:center;gap:5px;margin:0;color:#18734d;font-size:9px;font-weight:700}.expense-profile-default-confirm{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;border:1px solid #f1d19b;border-radius:9px;padding:8px;background:#fffaf0}.expense-profile-default-confirm>span{display:grid;min-width:0;gap:2px}.expense-profile-default-confirm strong{color:#8a520d;font-size:9px}.expense-profile-default-confirm small{color:#936b36;font-size:8px;line-height:1.35}.expense-payout-form{display:grid;gap:12px;padding:12px;border:1px solid var(--border);border-radius:11px;background:#fff}.expense-payout-form fieldset{border:0}.expense-payout-form legend{margin-bottom:6px;color:var(--text);font-size:11px;font-weight:700}.expense-region-options{display:grid;grid-template-columns:1fr 1fr;gap:6px}.expense-region-options label{display:flex;min-width:0;min-height:58px;padding:8px;border:1px solid var(--border);border-radius:9px;align-items:center;gap:7px;color:var(--text-muted);cursor:pointer}.expense-region-options label.selected{border-color:#818cf8;background:#eef2ff;color:#4f46e5}.expense-region-options input{position:absolute;opacity:0;pointer-events:none}.expense-region-options span{display:grid;min-width:0}.expense-region-options strong{color:var(--text);font-size:10px}.expense-region-options small{color:var(--text-muted);font-size:8px;line-height:1.3}.expense-payout-form .form-group{margin:0}.expense-payout-form .form-group label>span{color:var(--text-muted);font-weight:400}.expense-field-help{display:block;color:var(--text-muted)}.expense-payout-form>.btn-primary{justify-content:center}.expense-payout-list{display:grid;gap:6px}.expense-payout-list>div{display:flex;min-width:0;padding:9px;border:1px solid var(--border);border-radius:9px;align-items:flex-start;gap:8px;background:#fff}.expense-payout-member{display:grid;min-width:0;flex:1;gap:5px}.expense-payout-member>strong{overflow:hidden;color:var(--text);font-size:11px;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 600px){.expense-section-tabs{padding-inline:8px}.expense-section-tabs button{padding-inline:5px;font-size:10px}.expenses-form{padding-inline:12px}.expense-item{align-items:flex-start}.expense-right{flex-direction:column;align-items:flex-end}.expense-row-actions{min-height:32px}.expense-balance-view,.expense-payout-view{padding:10px}.expense-region-options{grid-template-columns:1fr}.expense-profile-default-heading{grid-template-columns:auto minmax(0,1fr)}.expense-profile-default-badge{grid-column:2;justify-self:start}.expense-profile-default-confirm{grid-template-columns:1fr 1fr}.expense-profile-default-confirm>span{grid-column:1 / -1}}.chat-panel{display:flex;flex-direction:column;height:100%}.chat-messages{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:10px}.chat-bubble-row{display:flex;align-items:flex-end;gap:8px}.chat-bubble-row.me{flex-direction:row-reverse}.chat-bubble-group{display:flex;flex-direction:column;max-width:65%}.chat-bubble-row.me .chat-bubble-group{align-items:flex-end}.chat-author{font-size:11px;color:var(--text-muted);margin-bottom:2px;margin-left:2px}.chat-bubble{padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.5}.bubble-me{background:var(--primary);color:#fff;border-bottom-right-radius:4px}.bubble-them{background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:4px}.chat-time{font-size:10px;color:var(--text-muted);margin-top:2px;margin-left:2px}.chat-input-row{display:flex;gap:8px;padding:12px 20px;border-top:1px solid var(--border);background:var(--surface);flex-shrink:0}.chat-input-row input{flex:1;padding:10px 14px;border:1.5px solid var(--border);border-radius:24px;font-size:14px;outline:none}.chat-input-row input:focus{border-color:var(--primary)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:var(--surface);border-radius:16px;padding:28px;width:100%;max-width:460px;box-shadow:var(--shadow-lg);max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-header h3{font-size:18px;font-weight:700;display:flex;align-items:center;gap:8px}.modal-header button{background:none;border:none;cursor:pointer;color:var(--text-muted)}.modal-sub{color:var(--text-muted);font-size:13px;margin-bottom:16px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.color-picker{display:flex;gap:8px;flex-wrap:wrap}.color-swatch{width:36px;height:36px;border-radius:8px;border:3px solid transparent;cursor:pointer;transition:transform .1s}.color-swatch:hover{transform:scale(1.1)}.color-swatch.selected{border-color:#333;transform:scale(1.1)}.public-link-section{margin-top:20px;padding:14px;background:#f8f9fc;border-radius:10px;border:1px solid var(--border)}.public-link-header{display:flex;align-items:center;gap:10px}.public-link-title-col{flex:1;min-width:0}.public-link-label{font-size:13px;font-weight:700;color:var(--text);display:block}.public-link-sub{font-size:11px;color:var(--text-muted);display:block;margin-top:1px}.public-link-url-row{display:flex;gap:8px;margin-top:10px}.public-link-input{flex:1;min-width:0;font-size:12px;padding:7px 10px;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--text);cursor:text}.toggle-switch{width:40px;height:22px;border-radius:11px;flex-shrink:0;background:#d1d5db;border:none;cursor:pointer;position:relative;transition:background .2s}.toggle-switch:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s}.toggle-switch.on{background:var(--primary)}.toggle-switch.on:after{transform:translate(18px)}.collaborators-list{margin-top:20px}.collaborators-list h4{font-size:13px;font-weight:700;margin-bottom:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.collaborator-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.collaborator-text{min-width:0;display:flex;flex-direction:column;gap:1px}.collaborator-text span{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collaborator-text small{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.export-btn{white-space:nowrap;border-color:#fff9;color:#fff}.export-btn:hover{background:#ffffff26}.trip-settings-menu button,.trip-settings-menu .export-btn{color:#1e1e2e!important;background:transparent!important;border:none!important;font-size:13px!important}.trip-settings-menu button:hover,.trip-settings-menu .export-btn:hover{background:#f3f4f6!important}.trip-settings-menu .danger{color:#dc2626!important}.btn-danger-white{border-color:#fff9!important;color:#fff!important}.btn-danger-white:hover{background:#ef44444d!important}.btn-danger{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;background:#ef4444;color:#fff;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-danger:disabled{opacity:.55;cursor:not-allowed}.delete-plan-modal{max-width:420px}.delete-plan-message{color:var(--text-muted);font-size:14px;line-height:1.6;margin-bottom:4px}.days-auto{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg);border-radius:var(--radius-sm)}.days-auto-count{font-size:18px;font-weight:700;color:var(--primary)}.days-auto-label{font-size:12px;color:var(--text-muted)}.loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted)}.plan-card-delete-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;background:#00000040;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .15s,background .15s}.plan-card:hover .plan-card-delete-btn{opacity:1}.plan-card-delete-btn:hover{background:#ef4444}.plan-card-public-badge{position:absolute;top:8px;left:8px;display:inline-flex;align-items:center;gap:4px;background:#ffffff40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-size:10px;font-weight:700;padding:3px 8px;border-radius:20px}.plan-card-clone-btn{position:absolute;bottom:8px;right:8px;display:inline-flex;align-items:center;gap:4px;background:#ffffffe6;color:var(--primary);font-size:11px;font-weight:700;padding:4px 10px;border:none;border-radius:20px;cursor:pointer;opacity:0;transition:opacity .15s}.plan-card:hover .plan-card-clone-btn{opacity:1}.community-trips-section{margin-top:36px}.community-trips-header{display:flex;align-items:center;gap:8px;margin-bottom:16px}.community-trips-header h2{font-size:18px;font-weight:700;color:var(--text);margin:0}.community-trips-sub{font-size:13px;color:var(--text-muted);margin-left:4px}.note-count-badge{display:inline-flex;align-items:center;gap:2px;font-size:10px;background:#667eea1f;color:var(--primary);border-radius:6px;padding:1px 5px}.confirm-iw-note{width:100%;border:1.5px solid var(--border);border-radius:6px;min-height:36px;padding:6px 8px;font-size:var(--font-size-control, 13px);line-height:var(--line-height-compact, 1.35);resize:none;outline:none;font-family:inherit}.confirm-iw-note:focus{border-color:var(--primary)}.confirm-iw-address{font-size:11px;color:var(--text-muted);margin:-2px 0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.confirm-iw-place-info{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}.place-info-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:3px 8px;border-radius:20px;background:var(--bg);border:1px solid var(--border);color:var(--text-muted);white-space:nowrap}.place-info-chip.open{color:#16a34a;border-color:#bbf7d0;background:#f0fdf4}.place-info-chip.closed{color:#dc2626;border-color:#fecaca;background:#fef2f2}.place-info-chip.type{text-transform:capitalize}.place-info-sub{opacity:.7}.loc-exp-input{flex:1;padding:7px 9px;border:1.5px solid var(--border);border-radius:6px;font-size:12px;outline:none;background:var(--surface)}.loc-exp-input:focus{border-color:var(--primary);box-shadow:var(--focus-ring)}.loc-exp-select{padding:7px 6px;border:1.5px solid var(--border);border-radius:6px;font-size:12px;outline:none;background:var(--surface);width:74px;flex:0 0 74px}.loc-exp-select:focus{border-color:var(--primary);box-shadow:var(--focus-ring)}.custom-cat-input-row{display:flex;gap:5px;align-items:center;margin-top:4px}.custom-cat-input-row .custom-type-input{min-width:0;padding:5px 7px;font-size:11px;line-height:1.2;flex:1}.custom-cat-input-row .custom-type-btn{min-height:26px;padding:3px 7px;font-size:10px;line-height:1;flex-shrink:0}.custom-cat-input-row .custom-type-cancel{min-width:26px;width:26px;padding:3px 0;justify-content:center}.loc-note-section{display:flex;flex-direction:column;height:100%}.note-panel-input-top{display:flex;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.note-panel-input-top input{flex:1;padding:8px 11px;border:1.5px solid var(--border);border-radius:14px;font-size:12px;outline:none;background:var(--bg)}.note-panel-input-top input:focus{border-color:var(--primary);background:#fff;box-shadow:var(--focus-ring)}.note-panel-messages{flex:1;overflow-y:auto;padding:8px 12px;display:flex;flex-direction:column;gap:8px}.note-panel-msg{background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:8px 10px}.note-panel-msg-text{font-size:13px;color:var(--text);line-height:1.4}.note-panel-msg-text.editable{cursor:pointer;position:relative;padding-right:16px}.note-panel-msg-text.editable .note-edit-hint{position:absolute;right:2px;top:2px;opacity:0;transition:opacity .15s}.note-panel-msg-text.editable:hover .note-edit-hint{opacity:1}.note-panel-msg-footer{display:flex;align-items:center;justify-content:space-between;margin-top:3px}.note-panel-msg-meta{font-size:10px;color:var(--text-muted);display:flex;align-items:center;gap:3px}.note-panel-msg--own .note-panel-msg-meta{color:var(--primary)}.note-panel-msg-footer .icon-btn.danger{color:#c7cdd6}@media (hover: hover) and (pointer: fine){.note-panel-msg-footer .icon-btn.danger{opacity:0;transition:opacity .15s,color .15s}.note-panel-msg:hover .note-panel-msg-footer .icon-btn.danger{opacity:1}}.note-panel-input-top .btn-primary:disabled,.note-panel-input .btn-primary:disabled{background:#e2e5ea;color:#94a3b8;opacity:1}.note-thread-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:8px 12px;background:none;border:none;border-bottom:1px solid var(--border);cursor:pointer;font-size:12px;font-weight:650;color:var(--text-muted);flex-shrink:0;transition:color .15s}.note-thread-toggle:hover{color:var(--primary)}.note-thread-toggle span{flex:1;text-align:left}.note-edit-mode{display:flex;flex-direction:column;gap:5px}.note-edit-textarea{width:100%;border:1.5px solid var(--primary);border-radius:6px;padding:8px 9px;font-size:12px;resize:none;outline:none;font-family:inherit}.note-edit-textarea:focus{box-shadow:var(--focus-ring)}.note-edit-actions{display:flex;gap:6px;justify-content:flex-end}.note-delete-confirm{display:flex;align-items:center;gap:5px;font-size:11px;color:#ef4444}.public-view{display:flex;flex-direction:column;height:100vh;overflow:hidden}.public-view-header{display:flex;align-items:center;gap:12px;padding:12px 20px;color:#fff;flex-shrink:0}.public-back-link{display:flex;align-items:center;gap:4px;color:#ffffffd9;background:none;border:none;cursor:pointer;font-size:13px;font-weight:600;flex-shrink:0;white-space:nowrap}.public-back-link:hover{color:#fff}.public-view-header-center{flex:1;min-width:0;text-align:center}.public-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff;background:#fff3;border-radius:10px;padding:2px 8px;margin-bottom:4px}.public-view-header-center h1{font-size:18px;font-weight:700;color:#fff;margin-bottom:4px}.public-view-meta{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;font-size:12px;color:#ffffffd9}.public-view-meta span{display:flex;align-items:center;gap:3px}.public-view-cta{flex-shrink:0}.btn-copy-trip{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#fff3;border:1.5px solid rgba(255,255,255,.5);border-radius:20px;color:#fff;font-size:13px;font-weight:700;cursor:pointer;transition:all .15s;white-space:nowrap}.btn-copy-trip:hover{background:#ffffff59}.public-view-body{flex:1;display:flex;overflow:hidden}.public-map-pane{flex:1;overflow:hidden}.public-itinerary-pane{width:320px;flex-shrink:0;display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--border);overflow:hidden}.public-day-tabs{display:flex;gap:5px;padding:8px;overflow-x:auto;border-bottom:1px solid var(--border);flex-shrink:0;scrollbar-width:none}.public-day-tabs::-webkit-scrollbar{display:none}.public-stay-line{display:flex;align-items:center;gap:5px;margin:0 10px 4px;font-size:11px;font-weight:600;color:var(--primary)}.public-itinerary-cards{flex:1;overflow-y:auto;padding:8px 10px;display:flex;flex-direction:column;gap:6px}.public-itinerary-card{display:flex;align-items:center;gap:8px;background:var(--bg);border-radius:8px;padding:8px 10px;border:1px solid var(--border);border-left:3px solid var(--primary)}.public-card-num{width:20px;height:20px;border-radius:50%;background:var(--primary);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.public-card-body{flex:1;min-width:0}.public-card-name{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.public-card-meta{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-muted);margin-top:2px}.public-readonly-notice{padding:8px 12px;border-top:1px solid var(--border);flex-shrink:0;font-size:11px;color:var(--text-muted);display:flex;align-items:center;gap:5px}.public-copy-inline{background:none;border:none;color:var(--primary);font-size:11px;cursor:pointer;text-decoration:underline;padding:0}.public-view-error,.public-view-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;height:100dvh;gap:12px;color:var(--text-muted)}@media (max-width: 768px){html{height:100%;overscroll-behavior:none}body{position:fixed;top:0;left:0;width:100%;height:var(--app-height, 100vh);max-height:var(--app-height, 100vh);overflow:hidden;overscroll-behavior:none;padding-bottom:env(safe-area-inset-bottom)}@supports (height: 100svh){body{height:min(100svh,var(--app-height, 100svh));max-height:100svh}}#root,.app{height:100%;max-height:100%;overflow:hidden;display:flex;flex-direction:column}.app-header{height:48px;padding:0 14px;flex-shrink:0}.app-main{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.plan-detail-body{flex-direction:column;overflow:hidden;flex:1;min-height:0}.map-pane{height:30%;flex:none;overflow:hidden}.itinerary-pane{width:100%;flex:1;min-height:0;border-left:none;border-top:1px solid var(--border);overflow:hidden}.itinerary{height:100%;overflow:hidden;display:flex;flex-direction:column}.itinerary-cards{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:8px}.map-toolbar{top:8px;height:46px;width:calc(100% - 16px);padding:0 5px;border-radius:23px}.map-toolbar-search{padding-left:5px}.map-search-input{padding:8px 6px;font-size:12px}.map-toolbar-divider{margin:0 3px;height:20px}.map-days-button{padding:0 7px;min-height:32px}.map-days-button>span{display:none}.map-toolbar-actions{gap:1px}.map-toolbar-actions button{width:28px;height:28px}.map-days-popover{top:39px;left:auto;right:-70px;transform:none}.map-routes-popover{right:-12px}.map-stay-pick-banner{top:60px}.plan-list{padding:16px}.modal{padding:22px 18px;max-width:calc(100vw - 24px)}.form-row{grid-template-columns:1fr;gap:0}.form-group input[type=date]{min-width:0}.plan-detail-title h2{font-size:16px}.plan-detail-meta{display:none}.auth-page{min-height:100%;overflow-y:auto}.public-view{height:100%}.public-view-header{padding:8px 10px;gap:8px}.public-view-header-center h1{font-size:15px;margin-bottom:2px}.public-view-meta{font-size:11px;gap:8px}.btn-copy-trip{padding:6px 10px;font-size:12px}.public-view-body{flex-direction:column}.public-map-pane{height:30%;flex:none}.public-itinerary-pane{width:100%;flex:1;min-height:0;border-left:none;border-top:1px solid var(--border)}.tab{padding:8px 12px;font-size:12px}.day-nav-btn{width:30px;height:30px;padding:4px}.day-tab{padding:4px 11px}.itinerary-day-subheader{padding:6px 11px 3px}.stay-block{margin:0 10px 6px;padding:7px 9px}.stay-candidate-row{padding:6px 7px}.stay-vote-btn{min-width:32px;min-height:32px}.stay-candidate-actions .btn-sm,.stay-candidate-actions .icon-btn,.stay-confirmed-actions .btn-sm,.stay-confirmed-actions .btn-outline,.stay-candidate-notethread .note-panel-input-top .btn-primary,.stay-candidate-notethread .note-edit-actions .btn-sm{min-height:32px}.stay-candidate-notethread .note-panel-msg-footer .icon-btn{min-height:32px;min-width:32px}.itinerary-cards{gap:6px;padding:8px 10px 10px}.itinerary-card{padding:8px 9px;gap:8px}.time-input{width:78px}input,textarea,select{font-size:16px!important}.time-input{font-size:13px!important;width:92px}.duration-input{font-size:12px!important;width:34px}.map-pane{height:52%}.public-map-pane{height:40%;flex:none}.itinerary-card-name{font-size:14px}.itinerary-card-meta{font-size:12px}.itinerary-card-num{width:20px;height:20px;font-size:10px}.map-wrapper{overflow:visible}.map-stay-pick-banner{top:56px;font-size:12px;padding:6px 6px 6px 10px}.map-stay-pick-text small{display:none}.map-stay-pick-cancel{min-height:32px}.map-info-panel{position:absolute!important;right:auto!important;bottom:auto!important;transform:none!important;min-width:0!important;max-width:none!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;border-radius:16px!important;box-shadow:0 20px 55px #0f172a52,0 3px 12px #0f172a24!important;z-index:40!important;padding:0!important}.map-info-panel:before{display:block!important}.map-info-panel .confirm-iw{min-width:0!important;max-width:100%!important}.map-info-close{top:10px!important;right:10px!important;width:44px;height:44px}.confirm-iw-header{padding:16px 54px 14px 16px!important;border-radius:18px 18px 0 0}.confirm-iw-badge-row{gap:7px;margin-bottom:7px}.confirm-iw-kicker{font-size:12px;line-height:1.35}.confirm-iw-stepper{margin-top:10px}.confirm-iw-step{font-size:12px}.confirm-iw-step b{width:22px;height:22px;font-size:12px}.map-info-panel .confirm-iw-header .confirm-iw-name{font-size:16px!important;font-weight:700!important;margin:0 0 4px!important;padding:0!important}.confirm-iw-source-badge{font-size:12px!important;padding:3px 7px!important}.confirm-iw-address{font-size:13px!important;line-height:1.4;margin-bottom:7px!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}.confirm-iw-maps-link{font-size:12px!important;margin:0!important;display:inline-flex}.confirm-iw-place-info{gap:6px!important;margin:0!important}.place-info-chip{font-size:12px!important;padding:4px 7px!important}.map-info-panel .confirm-iw-divider{margin:2px 12px 8px!important}.map-info-panel .confirm-iw-fields{gap:12px!important;margin:0 14px 12px!important;padding:12px!important}.confirm-iw-row{font-size:14px!important;gap:8px!important;padding:3px 0!important}.confirm-iw-row label{font-size:12px!important;width:72px!important}.confirm-iw-row select,.confirm-iw-row input[type=time],.confirm-iw-row input[type=number]{min-height:44px;font-size:16px!important;padding:8px 10px!important}.confirm-iw-select{min-height:44px!important;font-size:16px!important;width:100%!important;flex:1 1 auto!important;padding:8px 10px!important}.custom-cat-input-row .custom-type-input{font-size:16px!important;padding:8px 10px!important;min-height:48px!important}.custom-cat-input-row .custom-type-btn{min-height:44px!important;padding:8px 10px!important;font-size:14px!important}.custom-cat-input-row .custom-type-cancel{min-width:44px!important;width:44px!important;padding:8px 0!important}.confirm-iw-note{font-size:16px!important;padding:6px 8px!important}.map-info-panel .confirm-iw-expense-toggle{font-size:14px!important;margin:0 14px 10px!important}.confirm-iw-input{font-size:16px!important;padding:6px 8px!important}.map-info-panel .confirm-iw-expense-fields{margin:0 14px 12px!important}.map-info-panel .confirm-iw-actions{margin:0!important;gap:8px!important;padding:10px 14px 12px!important}.confirm-iw-btn-cancel,.confirm-iw-btn-add,.confirm-iw-btn-delete{min-height:48px;font-size:14px!important;padding:9px 12px!important}.confirm-iw-candidates{margin:10px 14px!important;padding:10px!important}.candidate-list{max-height:180px!important}.candidate-row{min-height:48px;padding:9px!important}.candidate-row strong{font-size:14px!important}.candidate-row small,.candidate-heading,.candidate-loading{font-size:12px!important}.confirm-iw-search-instead{min-height:44px;margin-top:4px!important;font-size:14px!important}.confirm-iw-btn-repeat{width:calc(100% - 28px);min-height:44px;margin:0 14px 10px;padding:8px 10px!important;font-size:14px!important}.map-info-panel-picker{padding:16px!important}.marker-picker-title{font-size:16px!important}.picker-row{min-height:48px;padding:9px!important}.picker-row-copy strong{font-size:14px!important}.picker-row-copy small{font-size:12px!important}}@media (min-width: 769px){.map-toolbar{width:min(760px,calc(100% - 32px))}}@media (max-width: 768px){.map-toolbar{gap:2px}.map-toolbar-search{min-width:72px}}:root{--font-ui-en: "Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-ui-zh-tw: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei UI", "Microsoft JhengHei", system-ui, sans-serif;--font-ui-ja: "Noto Sans JP", "Hiragino Sans", "Yu Gothic UI", "Yu Gothic", Meiryo, system-ui, sans-serif;--font-ui-ko: "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;--font-ui: var(--font-ui-en);--font-size-micro: 11px;--font-size-meta: 12px;--font-size-body: 13px;--font-size-control: 13px;--font-size-card-title: 14px;--font-size-section-title: 16px;--font-size-page-title: 20px;--line-height-tight: 1.2;--line-height-compact: 1.35;--line-height-body: 1.5;--bg: #FAF9F6;--surface: #FFFFFF;--border: #EAE7E1;--text: #221F1B;--text-primary: #221F1B;--text-muted: #85817A;--primary: #5B5FE0;--primary-dark: #484CC7;--accent-soft: #ECEBFB;--stay-accent: #C9722F;--stay-accent-soft: #FCEFE6;--success-accent: #2F9E8F;--radius: 14px;--radius-sm: 10px;--focus-ring: 0 0 0 3px rgb(91 95 224 / 18%);--shadow: 0 4px 16px rgb(20 20 30 / 10%);--shadow-lg: 0 12px 36px rgb(20 20 30 / 20%)}html:lang(en){--font-ui: var(--font-ui-en)}html:lang(zh-TW){--font-ui: var(--font-ui-zh-tw)}html:lang(ja){--font-ui: var(--font-ui-ja)}html:lang(ko){--font-ui: var(--font-ui-ko)}html:is(:lang(zh-TW),:lang(ja),:lang(ko)) body{font-synthesis:none}html:is(:lang(zh-TW),:lang(ja),:lang(ko)) :is(h1,h2,h3,h4,h5,h6){letter-spacing:normal}body{background:var(--bg);color:var(--text);font-family:var(--font-ui)}.app-header{min-height:68px;padding:0 32px;background:#faf9f6eb;border-bottom:1px solid var(--border)}.app-logo{color:var(--text);font-size:15px;letter-spacing:-.02em}.app-logo svg{color:var(--primary)}.app-user{gap:10px;color:var(--text-muted);font-size:12px}.avatar{background:var(--accent-soft);color:var(--primary);font-weight:800}.app-main{background:var(--bg)}.plan-list{max-width:1180px;padding:42px 32px 60px}.plan-list-header{align-items:flex-start;margin-bottom:25px}.plan-list-header h1{font-size:28px;line-height:1.15;letter-spacing:-.04em;color:var(--text)}.plan-list-header p{margin-top:6px;font-size:12px;color:var(--text-muted)}.plan-list-header .btn-primary{min-height:40px;padding:10px 15px;border-radius:11px;box-shadow:none}.plan-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.plan-card{min-height:286px;border-color:var(--border);border-radius:18px;box-shadow:none;overflow:hidden;background:var(--surface)}.plan-card:hover{border-color:color-mix(in srgb,var(--trip-accent, var(--primary)) 45%,var(--border));box-shadow:var(--shadow);transform:translateY(-2px)}.plan-card-banner{width:100%;height:auto;aspect-ratio:16 / 9;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--trip-accent, var(--primary)) 17%,white) 0,color-mix(in srgb,var(--trip-accent, var(--primary)) 17%,white) 8px,color-mix(in srgb,var(--trip-accent, var(--primary)) 26%,white) 8px,color-mix(in srgb,var(--trip-accent, var(--primary)) 26%,white) 16px)}.plan-card-banner.has-trip-image{background-size:cover;background-position:center}.plan-card-photo-caption{position:absolute;left:13px;bottom:11px;padding:3px 6px;border:1px solid rgb(255 255 255 / 65%);border-radius:4px;color:color-mix(in srgb,var(--trip-accent, var(--primary)) 80%,#221F1B);background:#ffffff7f;font:600 9px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.06em}.plan-card-body{min-height:168px;padding:16px}.plan-card-body h3{font-size:16px;letter-spacing:-.02em}.plan-destination,.plan-meta{color:var(--text-muted)}.plan-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:15px}.plan-member-stack{display:flex;align-items:center;padding-left:4px}.plan-member-stack>.user-avatar{width:24px;height:24px;margin-left:-6px;border:2px solid white;box-shadow:0 2px 5px #24213024}.plan-card-open{color:var(--trip-accent, var(--primary));font-size:12px;font-weight:700}.plan-card-new{display:flex;align-items:center;justify-content:center;gap:9px;min-height:286px;border-style:dashed;color:var(--primary);font-size:13px;font-weight:700;cursor:pointer}.plan-card-new:hover{background:var(--accent-soft)}.community-plan-card{min-height:174px}.community-plan-card .plan-card-banner{display:none}.community-plan-card .plan-card-body{min-height:174px}.community-plan-card .plan-card-public-badge{position:static;display:inline-flex;margin-bottom:10px;background:color-mix(in srgb,var(--success-accent) 12%,white);color:var(--success-accent)}.plan-detail-header{min-height:82px;padding:13px 22px;background:var(--primary)}.plan-detail-title h2{font-size:17px;letter-spacing:-.02em}.plan-detail-meta{font-size:11px}.trip-settings-btn{border-radius:10px}.trip-details-modal{width:min(560px,calc(100vw - 24px));max-height:min(92dvh,780px);overflow-y:auto}.trip-picture-editor{display:grid;width:100%;gap:9px;margin-bottom:16px}.trip-picture-preview{position:relative;display:grid;width:100%;min-height:0;aspect-ratio:16 / 9;place-items:center;overflow:hidden;isolation:isolate;border:1px dashed color-mix(in srgb,var(--primary) 34%,var(--border));border-radius:14px;background:var(--bg);color:var(--text-muted);font-size:11px;transition:border-color .15s,box-shadow .15s,background .15s}.trip-picture-preview:not(.has-image){cursor:pointer}.trip-picture-preview.has-image{border-style:solid;background:#e8e7e3}.trip-picture-preview.is-cropping{cursor:grab;touch-action:none}.trip-picture-preview.is-cropping:active{cursor:grabbing}.trip-picture-preview.is-frame-crop{cursor:default}.trip-picture-preview.is-drop-active{border-color:var(--primary);border-style:solid;background:var(--accent-soft);box-shadow:var(--focus-ring)}.trip-picture-preview:focus-visible{outline:none;box-shadow:var(--focus-ring)}.trip-picture-preview>img{position:absolute;z-index:0;max-width:none;object-fit:fill;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.trip-picture-preview.is-frame-crop>img{object-fit:fill}.trip-picture-preview.has-image:not(.is-cropping)>img{top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.trip-picture-empty{display:grid;place-items:center;gap:5px;padding:18px;text-align:center}.trip-picture-empty svg{color:var(--primary)}.trip-picture-empty strong{color:var(--text);font-size:12px}.trip-picture-empty span{font-size:10px}.trip-picture-drop-message,.trip-picture-preparing{position:absolute;z-index:3;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:7px;background:#ecebfbeb;color:var(--primary);font-size:12px;font-weight:800;pointer-events:none}.trip-picture-preparing{background:#faf9f6e0;color:var(--text)}.trip-picture-crop-frame{position:absolute;z-index:1;box-sizing:border-box;border:2px solid white;border-radius:4px;outline:1px solid rgb(32 29 25 / 54%);box-shadow:0 0 0 9999px #1412108f,inset 0 0 0 1px #201d1940;cursor:grab;touch-action:none}.trip-picture-crop-frame:active{cursor:grabbing}.trip-picture-crop-frame-label{position:absolute;left:50%;top:50%;display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border-radius:999px;background:#201d19c2;color:#fff;font-size:9px;font-weight:800;line-height:1;pointer-events:none;transform:translate(-50%,-50%);white-space:nowrap}.trip-picture-crop-handle{position:absolute;z-index:2;display:grid;width:28px;height:28px;place-items:center;border:0;padding:0;background:transparent;color:var(--primary);touch-action:none}.trip-picture-crop-handle:after{width:13px;height:13px;border:2px solid white;border-radius:3px;background:var(--primary);box-shadow:0 1px 4px #201d197a;content:""}.trip-picture-crop-handle:focus-visible{outline:none;filter:drop-shadow(0 0 3px white)}.trip-picture-crop-handle.nw{left:0;top:0;cursor:nwse-resize;transform:translate(-50%,-50%)}.trip-picture-crop-handle.ne{right:0;top:0;cursor:nesw-resize;transform:translate(50%,-50%)}.trip-picture-crop-handle.sw{left:0;bottom:0;cursor:nesw-resize;transform:translate(-50%,50%)}.trip-picture-crop-handle.se{right:0;bottom:0;cursor:nwse-resize;transform:translate(50%,50%)}.trip-picture-crop-controls{display:flex;align-items:center;gap:10px}.trip-picture-size-control{display:grid;min-width:0;flex:1;grid-template-columns:auto 30px minmax(90px,1fr) 30px 42px;align-items:center;gap:6px;color:var(--text-muted);font-size:10px;font-weight:700}.trip-picture-size-control input[type=range]{width:100%;min-width:0;padding:0;accent-color:var(--primary);cursor:pointer}.trip-picture-size-control output{color:var(--text);font-variant-numeric:tabular-nums;text-align:right}.trip-picture-zoom-button{display:inline-grid!important;width:30px;height:30px;place-items:center;border:1px solid var(--border);border-radius:8px;padding:0;background:var(--surface);color:var(--primary);cursor:pointer}.trip-picture-zoom-button:hover:not(:disabled){border-color:var(--primary);background:var(--accent-soft)}.trip-picture-zoom-button:disabled{color:var(--text-muted);cursor:not-allowed;opacity:.45}.trip-picture-zoom-button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.trip-picture-crop-controls button,.trip-picture-actions button{display:inline-flex;align-items:center;justify-content:center;gap:5px}.trip-picture-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.trip-picture-actions small{margin-left:auto;color:var(--text-muted);font-size:9px;line-height:1.35;text-align:right}.form-label-hint{color:var(--text-muted);font-size:10px;font-weight:500}.trip-days-settings-hint{display:flex;align-items:flex-start;gap:6px;margin:-3px 0 14px;color:var(--text-muted);font-size:10px;line-height:1.4}.admin-header-btn{color:var(--primary)}.admin-management-modal{width:min(520px,calc(100vw - 24px))}.admin-add-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}.admin-add-form .form-group{position:relative;margin:0}.admin-search-wrap{display:flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:8px;padding:0 9px;background:var(--surface)}.admin-search-wrap svg{flex:0 0 auto;color:var(--text-muted)}.admin-search-wrap input{border:0;padding-inline:0;box-shadow:none!important}.admin-search-results{top:calc(100% + 4px)}.admin-search-result span:last-child,.admin-roster-row>span:nth-child(2){display:grid;min-width:0;gap:1px}.admin-search-result small,.admin-roster-row small{color:var(--text-muted);font-size:9px}.admin-management-status{margin:9px 0 0;border-radius:8px;padding:7px 9px;background:var(--accent-soft);color:var(--primary);font-size:10px}.admin-roster{display:grid;gap:5px;margin-top:16px;padding-top:13px;border-top:1px solid var(--border)}.admin-roster h4{margin-bottom:4px;color:var(--text-muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.admin-roster-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto 28px;align-items:center;gap:8px;border:1px solid var(--border);border-radius:10px;padding:7px 8px}.admin-roster-row .avatar{width:30px;height:30px;font-size:12px}.admin-roster-row strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.admin-role-pill,.plan-card-admin-badge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:4px 7px;background:#ede9fe;color:#6d28d9;font-size:9px;font-weight:800}.admin-trips-section .community-trips-header>svg{color:#6d28d9}.admin-trips-empty{margin:10px 0;color:var(--text-muted);font-size:11px}.admin-plan-card{border:1px solid var(--border);color:inherit;font:inherit;text-align:left}.admin-plan-card .plan-card-banner{display:block}.plan-card-admin-badge{position:absolute;top:10px;left:10px}.plan-detail-body{background:var(--bg)}.itinerary-pane{width:min(60vw,720px);flex-basis:min(60vw,720px);background:var(--surface);border-left:0;border-right:1px solid var(--border)}.trip-panel-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-height:54px;padding:7px 10px 0;border-bottom:1px solid var(--border);background:var(--surface)}.trip-panel-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:5px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-muted);font-size:10.5px;font-weight:700;cursor:pointer}.trip-panel-tabs button.active{border-bottom-color:var(--primary);color:var(--primary)}.trip-panel-tabs .stay-tab.active{border-bottom-color:var(--stay-accent);color:var(--stay-accent)}.flights-workspace{display:flex;min-height:0;flex:1;flex-direction:column;gap:14px;overflow-y:auto;padding:20px 18px 32px;background:var(--bg);overscroll-behavior:contain}.flights-workspace-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.flights-workspace-header h3{margin:2px 0 4px;color:var(--text);font-size:22px;line-height:1.1}.flights-workspace-header p{max-width:430px;margin:0;color:var(--text-muted);font-size:12px;line-height:1.55}.flights-kicker,.flight-editor-kicker,.flight-segment-label{color:var(--primary);font-size:var(--font-size-micro, 11px);font-weight:850;line-height:var(--line-height-tight, 1.2);letter-spacing:.09em;text-transform:uppercase}.flights-add-button{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;white-space:nowrap}.flight-public-safety,.flight-privacy-note{display:flex;align-items:flex-start;gap:9px;border:1px solid color-mix(in srgb,#0f766e 22%,var(--border));border-radius:12px;background:color-mix(in srgb,#ccfbf1 44%,var(--surface));color:#0f766e;font-size:var(--font-size-body, 13px);line-height:var(--line-height-body, 1.5)}.flight-public-safety{padding:10px 12px}.flight-public-safety svg,.flight-privacy-note svg{flex:0 0 auto;margin-top:1px}.flights-empty{display:grid;min-height:300px;place-items:center;align-content:center;gap:8px;padding:40px 24px;border:1px dashed color-mix(in srgb,var(--primary) 25%,var(--border));border-radius:18px;background:var(--surface);text-align:center}.flights-empty-icon{display:grid;width:62px;height:62px;margin-bottom:4px;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--primary)}.flights-empty strong{color:var(--text);font-size:16px}.flights-empty p{max-width:390px;margin:0 0 7px;color:var(--text-muted);font-size:12px;line-height:1.55}.flights-empty button{display:inline-flex;align-items:center;gap:6px}.flight-list{display:grid;gap:12px}.flight-card{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:17px;background:var(--surface);box-shadow:0 8px 24px #221f1b0b}.flight-card:before{position:absolute;inset:0 auto 0 0;width:3px;background:var(--primary);content:""}.flight-card-topline{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px 11px 17px;border-bottom:1px solid var(--border)}.flight-card-topline>div:first-child{display:grid;min-width:0;gap:3px}.flight-card-topline strong{overflow:hidden;color:var(--text);font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35);text-overflow:ellipsis;white-space:nowrap}.flight-status{width:fit-content;padding:3px 7px;border-radius:999px;background:var(--accent-soft);color:var(--primary);font-size:var(--font-size-micro, 11px);font-weight:800;line-height:var(--line-height-tight, 1.2)}.flight-status[data-status=Delayed],.flight-status[data-status=Canceled],.flight-status[data-status=CanceledUncertain],.flight-status[data-status=Diverted]{background:#fff1f2;color:#be123c}.flight-status[data-status=Boarding],.flight-status[data-status=CheckIn],.flight-status[data-status=GateClosed]{background:#fffbeb;color:#a16207}.flight-status[data-status=Arrived]{background:#ecfdf5;color:#047857}.flight-card-actions{display:flex;flex:0 0 auto;gap:4px}.flight-card-actions button{display:inline-grid;width:30px;height:30px;place-items:center;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text-muted);cursor:pointer}.flight-card-actions button:hover{border-color:var(--primary);color:var(--primary)}.flight-card-actions button.danger:hover{border-color:#fecaca;color:#dc2626}.flight-date-warning{display:flex;align-items:center;gap:6px;padding:7px 16px;border-bottom:1px solid #fde68a;background:#fffbeb;color:#92400e;font-size:var(--font-size-meta, 12px);font-weight:700;line-height:var(--line-height-compact, 1.35)}.flight-route{display:grid;grid-template-columns:minmax(0,1fr) 78px minmax(0,1fr);align-items:center;gap:8px;padding:17px}.flight-route-stop{display:grid;min-width:0;gap:5px}.flight-route-stop>svg{color:var(--primary)}.flight-route-stop>span{color:var(--text-muted);font-size:var(--font-size-micro, 11px);font-weight:800;line-height:var(--line-height-tight, 1.2);letter-spacing:.06em;text-transform:uppercase}.flight-route-stop>strong{overflow:hidden;color:var(--text);font-size:var(--font-size-body, 13px);line-height:var(--line-height-compact, 1.35);text-overflow:ellipsis}.flight-route-stop time{display:inline-flex;align-items:center;gap:4px;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.flight-route-stop small{color:var(--primary);font-size:var(--font-size-meta, 12px);font-weight:700;line-height:var(--line-height-compact, 1.35)}.flight-route-line,.flight-route-divider{display:flex;align-items:center;color:var(--primary)}.flight-route-line span,.flight-route-divider span{height:1px;flex:1;background:color-mix(in srgb,var(--primary) 30%,var(--border))}.flight-route-line svg,.flight-route-divider svg{flex:0 0 auto;margin:0 5px;transform:rotate(90deg)}.flight-delete-confirm{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px 11px 17px;border-top:1px solid #fecaca;background:#fff7f7}.flight-delete-confirm p{margin:0;color:#991b1b;font-size:var(--font-size-body, 13px);font-weight:700;line-height:var(--line-height-compact, 1.35)}.flight-delete-confirm>div{display:flex;gap:6px}.flight-delete-confirm button{display:inline-flex;min-height:36px;align-items:center;gap:5px;padding:7px 9px;font-size:var(--font-size-control, 13px);line-height:var(--line-height-tight, 1.2)}.flight-provider-facts{display:flex;flex-wrap:wrap;gap:7px 16px;padding:9px 16px 11px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--bg) 58%,var(--surface));color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.flight-provider-facts strong{color:var(--text)}.flight-card-meta{display:flex;flex-wrap:wrap;gap:7px 15px;padding:9px 16px 11px;border-top:1px solid var(--border);color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.flight-card-meta span{display:inline-flex;min-width:0;align-items:center;gap:5px}.flight-card-meta svg{flex:0 0 auto;color:var(--primary)}.flight-form-error{margin:12px 0 0;padding:9px 11px;border:1px solid #fecaca;border-radius:10px;background:#fff7f7;color:#b91c1c;font-size:var(--font-size-body, 13px);font-weight:650;line-height:var(--line-height-compact, 1.35)}.flight-list-error{margin:0}.flight-editor-modal{width:min(760px,calc(100vw - 28px));max-width:760px;padding:24px}.flight-editor-modal .modal-header{align-items:flex-start}.flight-editor-modal .modal-header>div{display:grid;gap:3px}.flight-editor-modal .modal-header h3{margin:0}.flight-editor-section{display:grid;gap:11px;padding:15px 0;border-top:1px solid var(--border)}.flight-editor-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.flight-editor-section-heading strong{display:inline-flex;align-items:center;gap:6px;color:var(--text);font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.flight-editor-section-heading span{color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.flight-lookup-section{margin:0 -8px;padding:15px 14px;border:1px solid color-mix(in srgb,var(--primary) 22%,var(--border));border-radius:15px;background:color-mix(in srgb,var(--accent-soft) 45%,var(--surface))}.flight-lookup-controls{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,.72fr) minmax(145px,.78fr) auto;align-items:end;gap:10px}.flight-lookup-button{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.flight-lookup-message{margin:0;padding:8px 10px;border-radius:9px;background:#ecfdf5;color:#047857;font-size:var(--font-size-body, 13px);font-weight:700;line-height:var(--line-height-compact, 1.35)}.flight-lookup-results{display:grid;gap:6px}.flight-lookup-results>button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;padding:10px 11px;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--text);cursor:pointer;font:inherit;text-align:left}.flight-lookup-results>button:hover{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 12%,transparent)}.flight-lookup-results>button>span:first-child{display:flex;min-width:0;align-items:baseline;gap:7px}.flight-lookup-results>button strong{font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.flight-lookup-results>button small{overflow:hidden;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35);text-overflow:ellipsis;white-space:nowrap}.flight-lookup-results>button>span:nth-child(2){display:inline-flex;grid-row:2;align-items:center;gap:6px;color:var(--primary);font-size:var(--font-size-control, 13px);font-weight:750;line-height:var(--line-height-tight, 1.2)}.flight-lookup-results>button time{grid-row:1 / span 2;grid-column:2;align-self:center;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.flight-lookup-provider-note{margin:0;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.flight-lookup-facts{display:flex;flex-wrap:wrap;gap:7px}.flight-lookup-facts span{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border-radius:8px;background:var(--bg);color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.flight-lookup-facts strong{color:var(--text)}.flight-airport-row{display:grid;grid-template-columns:94px minmax(0,1fr);gap:12px}.flight-trip-role-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.flight-trip-role-options label{display:flex;min-height:42px;align-items:center;gap:7px;padding:9px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text-muted);cursor:pointer;font-size:var(--font-size-control, 13px);font-weight:750;line-height:var(--line-height-tight, 1.2)}.flight-trip-role-options label.selected{border-color:var(--primary);background:var(--accent-soft);color:var(--primary)}.flight-trip-role-options input{margin:0;accent-color:var(--primary)}.flight-option-checkbox{display:flex;align-items:flex-start;gap:9px;padding:10px 11px;border:1px solid var(--border);border-radius:11px;background:color-mix(in srgb,var(--bg) 60%,var(--surface));cursor:pointer}.flight-option-checkbox>input{flex:0 0 auto;margin-top:2px;accent-color:var(--primary)}.flight-option-checkbox>span{display:grid;gap:2px}.flight-option-checkbox strong{color:var(--text);font-size:var(--font-size-control, 13px);line-height:var(--line-height-compact, 1.35)}.flight-option-checkbox small{color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.flight-option-checkbox:has(input:checked){border-color:color-mix(in srgb,var(--primary) 36%,var(--border));background:var(--accent-soft)}.flight-member-picker{display:flex;flex-wrap:wrap;gap:7px}.flight-member-picker button{display:inline-flex;min-height:36px;align-items:center;gap:6px;padding:6px 9px 6px 6px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-muted);cursor:pointer;font:inherit;font-size:var(--font-size-control, 13px);font-weight:700;line-height:var(--line-height-tight, 1.2)}.flight-member-picker button>span:not(.user-avatar){display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:var(--bg);color:var(--text-muted);font-size:9px}.flight-member-picker button.selected{border-color:var(--primary);background:var(--accent-soft);color:var(--primary)}.flight-member-picker button>.user-avatar{width:23px;height:23px}.flight-member-picker button.selected>span:not(.user-avatar){background:var(--primary);color:#fff}.flight-member-picker button.selected>.user-avatar{box-shadow:0 0 0 2px var(--primary),inset 0 1px #ffffffc2}.flight-inline-warning{margin:0;color:#b45309;font-size:var(--font-size-body, 13px);font-weight:700;line-height:var(--line-height-compact, 1.35)}.flight-expense-fields{display:grid;grid-template-columns:minmax(120px,1fr) minmax(100px,.7fr) minmax(150px,1fr);gap:10px}.flight-route-divider{margin:-1px 0;padding:0 18px}.flight-privacy-note{margin-top:2px;padding:11px 12px}.flight-privacy-note p{display:grid;gap:2px;margin:0}.flight-privacy-note strong{font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.flight-privacy-note span{color:color-mix(in srgb,#0f766e 80%,var(--text))}.flight-editor-modal .modal-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px}.flight-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.flight-section-heading>div{display:flex;align-items:baseline;gap:8px}.flight-section-heading h4{margin:0;color:var(--text);font-size:14px}.flight-section-heading span{color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.flight-journey{overflow:hidden;border:1px solid var(--border);border-radius:15px;background:var(--surface);box-shadow:0 5px 18px #221f1b09}.flight-journey-header{display:flex;min-height:42px;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px 7px 12px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--accent-soft) 32%,var(--surface))}.flight-journey-header>div{display:flex;min-width:0;align-items:center;gap:8px}.flight-journey-header>div>span:last-child{display:grid;min-width:0;gap:1px}.flight-journey-header strong{color:var(--text);font-size:10.5px}.flight-journey-header small{color:var(--text-muted);font-size:8.5px}.flight-journey-number{display:grid;width:23px;height:23px;flex:0 0 auto;place-items:center;border-radius:7px;background:var(--primary);color:#fff;font-size:9px;font-weight:850}.flight-add-connection{display:inline-flex;min-height:28px;align-items:center;gap:5px;padding:5px 8px;border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border));border-radius:8px;background:var(--surface);color:var(--primary);font-size:9px;font-weight:800;cursor:pointer}.flight-add-connection:hover{background:var(--accent-soft)}.flight-journey-segments{display:grid}.flight-journey .flight-card{border:0;border-radius:0;box-shadow:none}.flight-journey .flight-card+.flight-card{border-top:1px solid var(--border)}.flight-journey .flight-card:before{display:none}.flight-journey .flight-card-topline{padding:8px 10px 6px 12px;border-bottom:0}.flight-journey .flight-card-topline>div:first-child{display:flex;align-items:center;gap:6px}.flight-journey .flight-card-topline strong{font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.flight-journey .flight-segment-label{flex:0 0 auto;font-size:var(--font-size-micro, 11px);line-height:var(--line-height-tight, 1.2)}.flight-journey .flight-status{padding:2px 6px;font-size:var(--font-size-micro, 11px);line-height:var(--line-height-tight, 1.2)}.flight-route.flight-route-compact{grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr);gap:6px;padding:6px 12px 9px}.flight-route-compact .flight-route-stop{grid-template-columns:17px minmax(0,1fr);gap:1px 5px}.flight-route-compact .flight-route-stop>svg{grid-row:1 / span 3;grid-column:1;margin-top:2px}.flight-route-compact .flight-route-stop>span,.flight-route-compact .flight-route-stop>strong,.flight-route-compact .flight-route-stop>time{grid-column:2}.flight-route-compact .flight-route-stop>span{font-size:var(--font-size-micro, 11px);line-height:var(--line-height-tight, 1.2)}.flight-route-compact .flight-route-stop>strong{font-size:var(--font-size-body, 13px);line-height:var(--line-height-compact, 1.35);white-space:nowrap}.flight-route-compact .flight-route-stop time{overflow:hidden;font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35);text-overflow:ellipsis;white-space:nowrap}.flight-card-details{border-top:1px solid color-mix(in srgb,var(--border) 72%,transparent)}.flight-card-details>summary{display:flex;min-height:36px;align-items:center;gap:5px;padding:4px 12px;color:var(--primary);font-size:var(--font-size-control, 13px);font-weight:800;line-height:var(--line-height-tight, 1.2);cursor:pointer;list-style:none}.flight-card-details>summary::-webkit-details-marker{display:none}.flight-card-details>summary>svg{transition:transform .16s ease}.flight-card-details[open]>summary>svg{transform:rotate(180deg)}.flight-card-details>summary>span{margin-left:auto;color:var(--text-muted);font-weight:700}.flight-card-details>summary:hover{background:color-mix(in srgb,var(--accent-soft) 35%,transparent)}.flight-detail-grid{display:grid;border-top:1px solid var(--border);background:color-mix(in srgb,var(--bg) 52%,var(--surface))}.flight-airport-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px 12px;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.flight-airport-details span{display:grid;gap:2px}.flight-airport-details strong{color:var(--text);font-size:var(--font-size-micro, 11px);line-height:var(--line-height-tight, 1.2);text-transform:uppercase;letter-spacing:.05em}.flight-card-details .flight-card-meta,.flight-card-details .flight-provider-facts{padding:7px 12px;font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.flight-card-details .flight-card-meta{border-top:1px solid var(--border)}.flights-empty{min-height:170px;padding:24px;border-radius:14px}.flights-empty-icon{width:46px;height:46px}.flight-editor-modal{max-width:720px;padding:20px}.flight-editor-section{gap:9px;padding:12px 0}.itinerary-flight-summary{display:grid;gap:7px;margin:0 14px 12px}.itinerary-flight-summary article{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 11px;border:1px solid color-mix(in srgb,var(--primary) 26%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--accent-soft) 45%,var(--surface))}.itinerary-flight-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:var(--surface);color:var(--primary)}.itinerary-flight-copy{display:grid;min-width:0;gap:2px}.itinerary-flight-copy small{color:var(--primary);font-size:var(--font-size-micro, 11px);font-weight:850;line-height:var(--line-height-tight, 1.2);letter-spacing:.06em;text-transform:uppercase}.itinerary-flight-copy strong{overflow:hidden;color:var(--text);font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35);text-overflow:ellipsis;white-space:nowrap}.itinerary-flight-copy>span{overflow:hidden;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35);text-overflow:ellipsis;white-space:nowrap}.itinerary-flight-facts{display:grid;justify-items:end;gap:3px;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.itinerary-flight-facts small{display:inline-flex;align-items:center;gap:3px}html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .flights-kicker,html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .flight-editor-kicker,html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .flight-segment-label,html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .flight-route-stop>span,html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .flight-airport-details strong,html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .itinerary-flight-copy small{letter-spacing:0;text-transform:none}.itinerary{background:var(--surface)}.itinerary-top-tabs{display:none}.itinerary-day-nav{padding:13px 12px 8px;border-bottom:0}.day-tab{min-width:58px;border-radius:999px}.day-tab.active{background:var(--accent-soft);border-color:var(--accent-soft);color:var(--primary)}.itinerary-day-subheader{margin:0 14px 6px;padding:4px 8px 10px 0;border-bottom:1px solid var(--border)}.itinerary-day-subheader-label{color:var(--text);font-size:13px}.itinerary-day-subheader-count{margin-left:auto;padding:3px 7px;border-radius:999px;background:var(--accent-soft);color:var(--primary);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-tight, 1.2)}.stay-block{margin:0 14px 12px;border-color:color-mix(in srgb,var(--stay-accent) 23%,var(--border));border-radius:12px;background:var(--stay-accent-soft)}.stay-block-header,.stay-block-confirmed .stay-block-header{color:var(--stay-accent)}.itinerary-stay-summary{display:flex;flex-wrap:wrap;width:calc(100% - 28px);align-items:center;gap:11px;margin:0 14px 12px;padding:12px 14px;border:1px solid #f5dcca;border-radius:14px;background:var(--surface);color:var(--text);text-align:left}.itinerary-stay-summary:hover{border-color:color-mix(in srgb,var(--stay-accent) 48%,var(--border))}.itinerary-stay-summary-icon{display:grid;width:33px;height:33px;flex:0 0 auto;place-items:center;border-radius:10px;background:var(--stay-accent-soft);color:var(--stay-accent)}.itinerary-stay-summary-copy{display:grid;min-width:0;gap:2px}.itinerary-stay-summary-copy strong{font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.itinerary-stay-summary-copy small{overflow:hidden;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35);text-overflow:ellipsis;white-space:nowrap}.itinerary-stay-summary-action{display:inline-flex;min-height:36px;align-items:center;gap:2px;margin-left:auto;border:0;padding:5px 2px;background:transparent;color:var(--stay-accent);font-size:var(--font-size-control, 13px);font-weight:800;line-height:var(--line-height-tight, 1.2);cursor:pointer}.itinerary-stay-visit-controls{display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto;gap:6px;padding-top:9px;border-top:1px solid var(--border)}.itinerary-stay-visit-controls select,.itinerary-stay-visit-controls button{min-width:0;min-height:36px;border:1px solid var(--border);border-radius:8px;padding:6px 8px;background:var(--surface);color:var(--text);font-family:inherit;font-size:var(--font-size-control, 13px);font-weight:700;line-height:var(--line-height-tight, 1.2)}.itinerary-stay-visit-controls button{border-color:color-mix(in srgb,var(--stay-accent) 42%,var(--border));color:var(--stay-accent);cursor:pointer}.schedule-slot{margin:7px 14px 13px;padding:0;overflow:visible;border:0;border-radius:0;background:transparent}.schedule-slot-header{min-height:31px;margin:0 0 7px;padding-left:23px}.schedule-slot-header:before{position:absolute;top:1px;bottom:-18px;left:7px;width:2px;border-radius:99px;background:color-mix(in srgb,var(--primary) 25%,white);content:""}.schedule-slot-header:after{position:absolute;top:7px;left:2px;width:12px;height:12px;border:3px solid white;border-radius:50%;background:var(--primary);box-shadow:0 0 0 2px var(--primary);content:""}.slot-move-handle{width:25px;height:25px;border:0;background:transparent}.slot-number{color:var(--text-muted);font-size:var(--font-size-micro, 11px);line-height:var(--line-height-tight, 1.2);letter-spacing:0;text-transform:none}.slot-shared-time{font-size:10px}.schedule-slot-lanes{gap:8px}.route-row{border-radius:12px;border-left:3px solid var(--primary);box-shadow:0 1px #221f1b0a}.route-lane-b{border-left-color:var(--stay-accent);border-top-style:solid;border-right-style:solid;border-bottom-style:solid}.route-row-label{color:var(--text-muted);font-size:9px;text-transform:uppercase;letter-spacing:.06em}.itinerary-card{border-radius:12px;border-color:var(--border);box-shadow:none}.itinerary-card:hover{box-shadow:var(--shadow)}.travel-connector-group{margin:8px 0 0 23px;padding-top:0;border:0;border-radius:12px;background:transparent}.travel-connector-summaries{gap:6px}.travel-connector-summary{display:grid;grid-template-columns:auto 26px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:52px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--primary) 16%,var(--border));border-left:3px solid var(--primary);border-radius:10px;background:linear-gradient(90deg,var(--accent-soft),var(--surface) 46%);color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.travel-connector-summary.lane-b{border-color:color-mix(in srgb,var(--stay-accent) 22%,var(--border));border-left:3px dashed var(--stay-accent);background:linear-gradient(90deg,var(--stay-accent-soft),var(--surface) 46%)}.travel-lane-pill{display:inline-grid;width:18px;height:18px;place-items:center;border-radius:50%;background:var(--primary);color:#fff;font-size:9px;font-weight:800}.travel-connector-summary.lane-b .travel-lane-pill{background:var(--stay-accent)}.travel-summary-mode{display:grid;width:26px;height:26px;place-items:center;border-radius:8px;background:#5b5fe01a;color:var(--primary)}.travel-connector-summary.lane-b .travel-summary-mode{background:#c9722f1c;color:var(--stay-accent)}.travel-summary-copy{display:grid;min-width:0;gap:1px}.travel-summary-copy strong{display:block;color:var(--text);font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35);letter-spacing:-.01em}.travel-summary-copy small{overflow:hidden;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35);text-overflow:ellipsis;white-space:nowrap}.travel-summary-status{padding:3px 6px;border-radius:999px;background:var(--accent-soft);color:var(--primary);font-size:var(--font-size-micro, 11px);font-weight:800;line-height:var(--line-height-tight, 1.2);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.travel-summary-status.manual{background:#e7f6f3;color:#18786d}.travel-summary-status.fallback{background:#eef7ed;color:#3f6e45}.travel-summary-status.consumer{background:#eef2ff;color:#4f46e5}.travel-summary-status.unavailable{background:#f7eee9;color:#9a5224}.travel-summary-status.error{background:#fff1f2;color:#be123c}.travel-summary-status.stale{background:#fff7ed;color:#9a5224}.travel-connector-disclosure{display:inline-flex;min-height:36px;align-items:center;gap:5px;margin-top:2px;padding:5px 7px;border:0;border-radius:7px;background:transparent;color:var(--primary);font-size:var(--font-size-control, 13px);font-weight:800;line-height:var(--line-height-tight, 1.2)}.travel-connector-disclosure:hover{background:var(--accent-soft)}.travel-connector-details{display:grid;gap:8px;margin-top:3px;padding:8px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--bg) 72%,white)}.travel-details-intro{display:flex;min-width:0;grid-column:1 / -1;align-items:center;gap:7px;padding:1px 2px 3px;color:var(--text-muted)}.travel-details-intro>svg{flex:0 0 auto;color:var(--primary)}.travel-details-intro>span{display:grid;min-width:0;gap:1px}.travel-details-intro strong{color:var(--text);font-size:11px;line-height:1.25}.travel-details-intro small{font-size:10px;line-height:1.35}.travel-connector{padding:0;gap:8px}.travel-connector-spine{width:3px;min-height:100%;margin:0;border-radius:999px;background:linear-gradient(to bottom,#5b5fe0bf,#5b5fe02e)}.travel-connector.lane-b .travel-connector-spine{background:repeating-linear-gradient(to bottom,rgb(201 114 47 / 78%) 0 5px,transparent 5px 9px)}.travel-connector-card{min-width:0;container-type:inline-size;border:1px solid color-mix(in srgb,var(--primary) 17%,var(--border));border-radius:10px;background:var(--surface);overflow:hidden;box-shadow:0 2px 8px #221f1b0a}.travel-connector.lane-b .travel-connector-card{border-color:color-mix(in srgb,var(--stay-accent) 25%,var(--border))}.travel-method-times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;margin:0 8px 6px;padding:2px;border:1px solid var(--border);border-radius:9px;background:var(--bg)}.travel-method-time{display:grid;min-width:0;min-height:40px;align-content:center;gap:2px;padding:4px 5px;border:0;border-radius:6px;background:transparent;color:var(--text-muted);text-align:left;cursor:pointer}.travel-method-name,.travel-method-result{display:flex;min-width:0;align-items:center;gap:3px}.travel-method-name{font-size:10px;font-weight:800;line-height:1.2}.travel-method-name>span{min-width:0;white-space:normal;overflow-wrap:anywhere}.travel-method-result small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.travel-method-result strong{flex:0 0 auto;color:var(--text);font-size:11px;line-height:1.2;white-space:nowrap}.travel-method-result small{color:var(--text-muted);font-size:9px;line-height:1.2}.travel-method-time.active{background:var(--accent-soft);color:var(--primary);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 35%,transparent)}.travel-method-time.active strong{color:var(--primary)}.travel-method-time:focus-visible{outline:2px solid color-mix(in srgb,var(--primary) 65%,white);outline-offset:1px}.travel-method-time:disabled{cursor:not-allowed;opacity:.55}.travel-connector.lane-b .travel-method-time.active{background:var(--stay-accent-soft);color:var(--stay-accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--stay-accent) 38%,transparent)}.travel-connector.lane-b .travel-method-time.active strong{color:var(--stay-accent)}.travel-connector-row{min-height:34px;gap:6px;padding:5px 8px}.travel-estimate-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;padding:6px 8px 5px}.travel-detail-lane{padding:3px 6px;border-radius:999px;background:var(--primary);color:#fff;font-size:9px;line-height:1.2;white-space:nowrap}.travel-connector.lane-b .travel-detail-lane{background:var(--stay-accent)}.travel-mode-btn{width:24px;height:24px;border-radius:7px;border-color:var(--border);background:#fcfcfb}.travel-mode-btn.active{border-color:transparent;background:var(--accent-soft);color:var(--primary)}.travel-time{min-width:0;color:var(--text-muted);font-size:10.5px;line-height:1.3}.travel-time>strong{color:var(--text)}.travel-effective-time:before{margin:0 4px;color:var(--text-muted);content:"·"}.travel-time>em{display:inline-block;margin-left:4px;color:#3f6e45;font-size:9px;font-style:normal;font-weight:800}.travel-estimate-action{display:inline-flex;min-height:28px!important;align-items:center;gap:4px;border-color:color-mix(in srgb,var(--primary) 30%,var(--border))!important;color:var(--primary)!important;white-space:nowrap}.travel-connector-row>a{display:grid;width:24px;height:24px;flex:0 0 auto;place-items:center;border:1px solid var(--border);border-radius:7px;color:var(--text-muted)}.travel-connector-row>a:hover{border-color:var(--primary);color:var(--primary)}.travel-connector-card button:not(.travel-mode-btn):not(.travel-method-time){min-height:30px;padding:4px 7px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text-muted);font-family:inherit;font-size:10.5px;font-weight:750;line-height:1.2}.travel-connector-card button:not(.travel-mode-btn):not(.travel-method-time):hover{border-color:var(--primary);color:var(--primary)}.travel-connector-card button:not(.travel-method-time):focus-visible{outline:none;box-shadow:var(--focus-ring)}.travel-connector-card button:disabled{cursor:not-allowed;opacity:.55}.travel-leg-details{display:flex;min-width:0;flex-wrap:wrap;gap:4px 10px;margin:0 8px;padding:0 0 6px;border:0;color:var(--text-muted)}.travel-leg-details>div{display:inline-flex;min-width:0;align-items:baseline;gap:3px}.travel-leg-details dt{font-size:9px;line-height:1.25}.travel-leg-details dd{margin:0;color:var(--text);font-size:10px;font-weight:750;line-height:1.3}.travel-leg-details .travel-leg-departure{flex:1 1 190px}.travel-leg-details .travel-leg-departure dd{overflow-wrap:anywhere}.travel-leg-details .travel-directions-link{display:inline-flex;align-items:center;gap:3px;margin-left:auto;color:var(--primary);font-size:var(--font-size-control, 13px);font-weight:800;line-height:var(--line-height-tight, 1.2);white-space:nowrap}.travel-leg-details .travel-directions-link:hover{text-decoration:underline}.travel-discrepancy{color:#a46319}.travel-manual-row{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:5px;margin:0;padding:6px 8px;border-top:1px solid var(--border);background:#fcfcfb}.travel-manual-label{flex:0 0 auto;color:var(--text-muted);font-size:9px;line-height:1.2}.travel-manual-field{display:flex;width:82px;min-width:0;min-height:30px;flex:0 1 82px;align-items:center;overflow:hidden;border:1px solid var(--border);border-radius:6px;background:#fff}.travel-manual-row input{width:0;min-width:0;min-height:28px;box-sizing:border-box;flex:1 1 auto;padding:3px 2px 3px 7px;border:0;border-radius:0;background:transparent;font-size:11px;line-height:1.2}.travel-manual-row input:focus{outline:none}.travel-manual-field:focus-within{border-color:var(--primary);box-shadow:var(--focus-ring)}.travel-manual-unit{flex:0 0 auto;padding-right:6px;color:var(--text-muted);font-size:9px;line-height:1}.travel-manual-actions{display:flex;min-width:0;flex:1 1 auto;flex-wrap:wrap;justify-content:flex-end;gap:4px}.travel-manual-actions button{flex:0 0 auto}.travel-route-plan{display:grid;gap:8px;padding:9px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--accent-soft) 28%,white)}.travel-route-plan-heading{display:flex;min-width:0;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 8px}.travel-route-plan-heading strong{min-width:0;flex:1 1 180px;overflow:visible;color:var(--text);font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35);text-overflow:clip;white-space:normal;overflow-wrap:anywhere}.travel-route-plan-heading span{flex:0 1 auto;color:var(--primary);font-size:var(--font-size-micro, 11px);font-weight:800;line-height:var(--line-height-tight, 1.2);white-space:normal;overflow-wrap:anywhere}.travel-route-facts{display:flex;min-width:0;flex-wrap:wrap;gap:4px 12px;margin:0}.travel-route-facts>div{display:inline-flex;min-width:0;align-items:baseline;gap:4px}.travel-route-facts dt{color:var(--text-muted);font-size:var(--font-size-micro, 11px);line-height:var(--line-height-tight, 1.2)}.travel-route-facts dd{min-width:0;margin:0;color:var(--text);font-size:var(--font-size-meta, 12px);font-weight:750;line-height:var(--line-height-compact, 1.35);overflow-wrap:anywhere}.travel-route-facts .travel-route-checked{flex-basis:100%}.travel-route-facts .travel-route-checked dd{color:var(--text-muted);font-weight:600}.travel-route-plan ol{display:grid;gap:5px;margin:0;padding:0;list-style:none}.travel-route-step{display:grid;min-width:0;grid-template-columns:22px minmax(0,1fr) auto;align-items:start;gap:6px}.travel-route-step-icon{display:grid;width:22px;height:22px;place-items:center;border-radius:7px;background:var(--surface);color:var(--primary);box-shadow:inset 0 0 0 1px var(--border)}.travel-route-step>div{display:grid;min-width:0;gap:1px}.travel-route-step strong{overflow:visible;color:var(--text);font-size:var(--font-size-body, 13px);line-height:var(--line-height-compact, 1.35);text-overflow:clip;white-space:normal;overflow-wrap:anywhere}.travel-route-step small{color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35);overflow-wrap:anywhere}.travel-route-step small b{color:var(--text);font-weight:750}.travel-route-step>span:last-child{color:var(--text-muted);font-size:var(--font-size-meta, 12px);font-weight:700;line-height:var(--line-height-compact, 1.35);white-space:normal;text-align:right;overflow-wrap:anywhere}.travel-transit-waypoints{display:grid;gap:6px;border-top:1px solid var(--border);padding-top:7px}.travel-transit-waypoints>strong{color:var(--text-muted);font-size:var(--font-size-micro, 11px);line-height:var(--line-height-tight, 1.2);letter-spacing:.04em;text-transform:uppercase}.travel-transit-waypoints ol{display:flex;flex-wrap:wrap;gap:5px}.travel-transit-waypoints li{display:grid;min-width:0;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:5px;border:1px solid var(--border);border-radius:8px;padding:5px 6px;background:var(--surface)}.travel-transit-waypoints li>span{display:grid;width:20px;height:20px;place-items:center;border-radius:50%;background:var(--primary);color:#fff;font-size:8px;font-weight:900}.travel-transit-waypoints li.is-transfer>span{border-radius:5px;background:#fff;color:var(--primary);outline:1px solid var(--primary)}.travel-transit-waypoints li.is-alight>span{border-radius:4px}.travel-transit-waypoints li>div{display:grid;min-width:0;gap:1px}.travel-transit-waypoints b{max-width:none;overflow:visible;color:var(--text);font-size:var(--font-size-body, 13px);line-height:var(--line-height-compact, 1.35);text-overflow:clip;white-space:normal;overflow-wrap:anywhere}.travel-transit-waypoints small{color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.travel-route-map-link{display:inline-flex;width:fit-content;min-height:32px;align-items:center;gap:5px;border:1px solid color-mix(in srgb,var(--primary) 32%,var(--border));border-radius:7px;padding:5px 7px;background:var(--surface);color:var(--primary);font-size:var(--font-size-control, 13px);font-weight:800;line-height:var(--line-height-tight, 1.2)}.travel-route-map-link:hover{border-color:var(--primary);color:var(--primary)}.travel-route-detail-loading,.travel-route-detail-actions{display:flex;min-height:38px;align-items:center;gap:7px;padding:7px 8px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--accent-soft) 20%,white);color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.travel-route-detail-loading svg{flex:0 0 auto;color:var(--primary);animation:weather-spin .8s linear infinite}.travel-route-detail-actions strong{min-width:0;flex:1;color:var(--text);font-size:var(--font-size-body, 13px)}.travel-route-detail-actions button{display:inline-flex;align-items:center;gap:4px}.travel-route-detail-actions>a{display:grid;width:30px;height:30px;flex:0 0 auto;place-items:center;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--primary)}.travel-route-geometry-note{margin:0;border-radius:7px;padding:6px 7px;background:var(--bg);color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.travel-route-notice,.travel-route-error{margin:0;padding:7px 8px;border-top:1px solid var(--border);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.travel-route-notice{background:#fffaf0;color:#75511c}.travel-route-error{background:#fff7ed;color:#9a3412}.travel-route-error p{margin:0}.travel-route-error small{display:block;margin-top:3px;color:#c2410c;font-size:var(--font-size-meta, 12px);font-weight:800;line-height:var(--line-height-body, 1.5)}.travel-route-fallback-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.travel-route-fallback-actions button{display:inline-flex;align-items:center;gap:4px}.travel-route-external{display:inline-flex;min-height:36px;align-items:center;gap:4px;margin-top:6px;border:1px solid #fdba74;border-radius:6px;padding:4px 6px;background:#fff;color:#9a3412;font-size:var(--font-size-control, 13px);font-weight:800;line-height:var(--line-height-tight, 1.2)}.travel-route-external:hover{border-color:#f97316;color:#7c2d12}.travel-route-preview-toggle{display:inline-flex;align-items:center;gap:4px;margin:6px 0 0 5px}.travel-route-consumer-preview{display:grid;gap:7px;border-top:1px solid var(--border);padding:8px;background:#f8fafc}.travel-route-consumer-preview header{display:grid;gap:1px}.travel-route-consumer-preview strong{color:var(--text);font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.travel-route-consumer-preview small{color:#9a5224;font-size:var(--font-size-meta, 12px);font-weight:700;line-height:var(--line-height-compact, 1.35)}.travel-route-consumer-preview iframe{width:100%;height:250px;border:0;border-radius:8px;background:#e2e8f0}.travel-route-consumer-preview p{margin:0;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.travel-align-preview{margin:0 8px 8px;padding:8px;border:1px solid #ecd9b4;border-radius:8px;background:#fffaf0;color:#75511c;font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.travel-align-preview strong{display:block;margin-bottom:4px;color:#66410e}.travel-align-preview p{margin:4px 0 6px}.travel-connector-card>small[role=alert]{display:block;padding:0 8px 8px;color:#b45309;font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .travel-summary-status,html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .travel-transit-waypoints>strong{letter-spacing:0;text-transform:none}html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .travel-summary-copy strong{letter-spacing:normal}@media (min-width: 769px){.travel-connector-group.is-branch .travel-connector-details{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr))}}@container (max-width: 460px){.travel-method-times{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.travel-method-time{min-height:44px}.travel-method-result{flex-wrap:wrap}.travel-method-result small{flex-basis:100%;overflow:visible;text-overflow:clip;white-space:normal}.travel-route-step{grid-template-columns:22px minmax(0,1fr)}.travel-route-step>span:last-child{grid-column:2;text-align:left}.travel-transit-waypoints ol{display:grid;grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){.travel-route-detail-loading svg{animation:none}}@media (max-width: 768px){.travel-method-times{grid-template-columns:repeat(2,minmax(0,1fr))}.travel-method-time{min-height:44px}.travel-estimate-toolbar{grid-template-columns:auto minmax(0,1fr) auto}.travel-estimate-action{min-height:44px!important}.travel-connector-card button:not(.travel-mode-btn):not(.travel-method-time){min-height:44px}.travel-manual-field{min-height:44px}.travel-manual-row input{min-height:42px;font-size:16px}.travel-manual-row input::placeholder{font-size:16px}.travel-manual-actions{flex-basis:100%;justify-content:flex-start}}.itinerary-cards{gap:0;padding:4px 20px 28px}.schedule-slot{position:relative;margin:0;padding:0 0 12px 30px;overflow:visible}.schedule-slot:before{position:absolute;top:18px;bottom:-7px;left:5px;width:2px;border-radius:999px;background:color-mix(in srgb,var(--day-accent) 50%,var(--border));content:""}.schedule-slot:after{position:absolute;z-index:1;top:11px;left:0;width:12px;height:12px;box-sizing:border-box;border:3px solid var(--surface);border-radius:50%;background:var(--day-accent);box-shadow:0 0 0 1px var(--day-accent);content:""}.schedule-slot:last-child:before{bottom:auto;height:22px}.schedule-slot-header{min-height:30px;margin:0 0 5px;padding:0}.schedule-slot-header:before,.schedule-slot-header:after{display:none}.slot-number{display:none}.slot-shared-time{order:-1;margin:0;font-size:0}.slot-shared-time>span{display:none}.slot-shared-time .time-input{width:132px;min-width:132px;height:36px;padding:6px 7px;border:0;border-radius:6px;background:var(--bg);color:var(--text-muted);font-size:var(--font-size-control, 13px);font-weight:800;font-family:inherit;letter-spacing:.01em}.slot-move-handle{position:absolute;right:0;top:-3px;width:25px;height:25px;opacity:0;transition:opacity .15s}.schedule-slot:hover .slot-move-handle,.slot-move-handle:focus-visible{opacity:1}.slot-move-label{display:none}.schedule-slot.is-single .slot-move-handle{display:inline-flex;width:auto;min-width:28px;align-items:center;gap:3px;padding:0 6px;border:1px solid var(--border);background:var(--surface);color:var(--primary);opacity:1}.schedule-slot.is-single .slot-move-label{display:inline;font-size:var(--font-size-micro, 11px);font-weight:800;line-height:var(--line-height-tight, 1.2);white-space:nowrap}.schedule-slot-header .slot-reorder-menu{top:25px;left:auto;right:0}.split-routes-button,.swap-routes-button{display:inline-flex;align-items:center;gap:3px;margin-left:3px;min-height:30px;padding:4px 7px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--primary);font-size:var(--font-size-micro, 11px);font-weight:800;line-height:var(--line-height-tight, 1.2)}.schedule-slot-lanes{display:grid;gap:12px}.schedule-slot.is-split .schedule-slot-lanes{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-slot-lanes.is-route-drop-ready{position:relative;grid-template-columns:1fr}.route-row{min-width:0;padding:0;border:0;border-left:2px solid var(--day-accent);border-radius:0;background:transparent;box-shadow:none;transition:opacity .18s}.route-row.route-lane-b{border-left:2px dashed var(--day-accent)}.route-row.route-lane-dimmed{opacity:.4}.route-visit-drag-handle{display:inline-grid;width:28px;height:28px;flex:0 0 auto;place-items:center;margin-left:1px;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text-muted);cursor:grab;touch-action:none}.route-row[draggable=true]{cursor:grab}.route-row[draggable=true]:active{cursor:grabbing}.route-row[draggable=true]:hover .route-visit-drag-handle{border-color:var(--primary);background:var(--accent-soft);color:var(--primary)}.route-visit-drag-handle:active{cursor:grabbing}.route-row.route-visit-dragging{opacity:.5}.route-row.route-visit-drop-target{border-left-color:#18786d}.route-row.route-visit-drop-target .itinerary-card{border-color:#2f9e8f;background:#f0fbf8;box-shadow:0 0 0 2px #2f9e8f29}.route-visit-drop-hint{position:absolute;z-index:2;right:42px;bottom:6px;display:inline-flex;width:max-content;max-width:calc(100% - 54px);padding:4px 6px;overflow:hidden;border-radius:5px;background:#dff5ef;color:#18786d;font-size:var(--font-size-micro, 11px);font-weight:800;line-height:var(--line-height-tight, 1.2);text-overflow:ellipsis;white-space:nowrap}.route-insertion-drop-zone{position:absolute;z-index:7;right:0;left:0;display:flex;min-height:36px;align-items:center;justify-content:center;margin:0 0 0 -30px;border:1px dashed color-mix(in srgb,var(--primary) 52%,var(--border));border-radius:8px;background:var(--accent-soft);color:var(--primary);font-size:var(--font-size-meta, 12px);font-weight:800;line-height:var(--line-height-compact, 1.35)}.route-insertion-drop-zone>span{margin-left:4px;color:var(--text-muted);font-size:var(--font-size-micro, 11px);font-weight:700}.route-insertion-drop-zone.is-before{top:0;transform:translateY(-50%)}.route-insertion-drop-zone.is-after{bottom:0;transform:translateY(50%)}.route-insertion-drop-zone:hover,.route-insertion-drop-zone.is-active{border-color:var(--primary);background:color-mix(in srgb,var(--accent-soft) 68%,white);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 16%,transparent)}.route-row-label{display:block;margin:0 0 6px 9px;color:var(--day-accent-strong);font-size:var(--font-size-micro, 11px);font-weight:800;line-height:var(--line-height-tight, 1.2);letter-spacing:.05em}.route-lane-b .route-row-label{color:var(--day-accent-strong)}.schedule-slot.is-single .route-row-label{display:none}.route-row .itinerary-card{position:relative;min-height:68px;align-items:flex-start;padding:10px 11px;border:1px solid var(--border);border-left:0;border-radius:0 12px 12px 0;background:var(--surface);box-shadow:none}.route-lane-a .itinerary-card{border-color:color-mix(in srgb,var(--day-accent) 28%,var(--border))}.route-lane-b .itinerary-card{border-color:color-mix(in srgb,var(--day-accent) 34%,var(--border));border-style:dashed}.route-row .itinerary-card-num{display:none}.route-row .itinerary-card-body{display:grid;gap:5px}.route-row .itinerary-card-name-row{display:flex;min-width:0;align-items:baseline;gap:7px;flex-wrap:nowrap}.route-row .itinerary-card-name{min-width:0;flex:1 1 auto;overflow:hidden;font-size:14px;line-height:1.3;text-align:left;text-overflow:ellipsis;white-space:nowrap}.route-row .itinerary-card-added-by{display:inline-flex;min-width:0;max-width:42%;flex:0 1 auto;align-items:center;gap:3px;overflow:hidden;color:var(--text-muted);font-size:var(--font-size-meta, 12px);font-style:normal;line-height:var(--line-height-compact, 1.35);text-overflow:ellipsis;white-space:nowrap}.itinerary-card-type-row{display:flex;min-width:0}.route-row .loc-type-badge{display:inline-flex;max-width:160px;align-items:center;overflow:hidden;border:0;border-radius:999px;padding:3px 7px;background:var(--accent-soft);color:var(--primary);font-size:var(--font-size-micro, 11px);font-weight:800;line-height:var(--line-height-tight, 1.2);text-overflow:ellipsis;white-space:nowrap}.route-row .loc-type-badge.is-unset{background:var(--bg);color:var(--text-muted);font-weight:700}.route-row .itinerary-card-meta{gap:5px;margin:0;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.route-row .itinerary-card-duration{display:inline-flex;align-items:center;gap:2px;max-width:100%;overflow:hidden;color:inherit;font-size:var(--font-size-control, 13px);font-weight:700;line-height:var(--line-height-tight, 1.2);white-space:nowrap}.route-row .itinerary-card-duration>span{font-size:var(--font-size-control, 13px);font-weight:700;line-height:var(--line-height-tight, 1.2)}.route-row .duration-input{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;flex:0 0 auto;width:28px;min-width:0;padding:0;color:inherit;font-family:inherit;font-size:var(--font-size-control, 13px)!important;font-weight:700;line-height:var(--line-height-tight, 1.2);text-align:right}.route-row .duration-input::-webkit-inner-spin-button,.route-row .duration-input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.route-row .duration-hours-input{width:18px}.route-row .duration-minutes-input{width:20px}.itinerary-card-address{display:flex;min-width:0;max-width:none;align-items:flex-start;gap:4px;margin:0;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.itinerary-card-address svg{flex:0 0 auto;margin-top:1px}.itinerary-card-address span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.itinerary-card-chips{display:flex;flex-wrap:wrap;gap:4px}.route-row .note-count-badge,.route-row .card-expense-badge{display:inline-flex;align-items:center;gap:3px;min-height:36px;padding:5px 8px;border:0;border-radius:6px;background:var(--accent-soft);color:var(--primary);font-family:inherit;font-size:var(--font-size-micro, 11px);font-weight:800;line-height:var(--line-height-tight, 1.2);white-space:nowrap}.route-row .card-expense-badge{background:#e7f6f3;color:#18786d}.route-row .route-visit-move{margin-left:auto;padding:3px;border:0;background:transparent;color:var(--text-muted);font-size:var(--font-size-micro, 11px)}.route-row .route-optimization-pin{display:inline-flex;min-height:28px;align-items:center;gap:3px;border:1px solid color-mix(in srgb,var(--primary) 22%,var(--border));border-radius:999px;padding:3px 7px;background:var(--surface);color:var(--text-muted);font:inherit;font-size:var(--font-size-micro, 11px);font-weight:800;line-height:var(--line-height-tight, 1.2);cursor:pointer}.route-row .route-optimization-pin:hover{border-color:var(--primary);background:var(--accent-soft);color:var(--primary)}.route-row .route-optimization-pin.is-pinned{border-color:color-mix(in srgb,var(--primary) 42%,var(--border));background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.route-row .route-optimization-pin:disabled{cursor:default;opacity:.76}@media (pointer: coarse){.route-row .route-optimization-pin{min-height:36px;padding-inline:10px;font-size:var(--font-size-control, 13px)}}.route-row .icon-btn.danger{width:20px;height:20px;padding:3px}.route-row-empty{min-height:52px;padding-left:9px}.route-row-empty .add-parallel-route{min-height:30px;padding:4px 7px;border-color:color-mix(in srgb,var(--stay-accent) 40%,var(--border));background:var(--stay-accent-soft);color:var(--stay-accent);font-size:var(--font-size-micro, 11px)}.route-b-drop-target{position:absolute;z-index:6;top:0;right:0;width:calc(50% - 6px);min-height:68px;grid-template-columns:1fr;align-content:start;padding-left:0}.schedule-slot.is-single .route-b-drop-target .route-row-label{display:block}.route-b-drop-target .route-row-label{margin:0 0 6px 9px}.route-b-drop-surface{display:flex;min-height:68px;align-items:center;justify-content:center;gap:8px;padding:10px;border:1px dashed color-mix(in srgb,var(--stay-accent) 54%,var(--border));border-left:0;border-radius:0 12px 12px 0;background:color-mix(in srgb,var(--stay-accent-soft) 58%,white);color:var(--stay-accent);cursor:copy;text-align:left}.route-b-drop-surface>span{display:grid;gap:2px}.route-b-drop-surface strong{font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.route-b-drop-surface small{color:var(--text-muted);font-size:var(--font-size-meta, 12px);font-weight:700;line-height:var(--line-height-body, 1.5)}.route-b-drop-target.route-visit-drop-target .route-b-drop-surface{border-color:var(--stay-accent);background:var(--stay-accent-soft);box-shadow:0 0 0 2px color-mix(in srgb,var(--stay-accent) 18%,transparent)}.route-b-drop-target.is-disabled .route-b-drop-surface{border-color:var(--border);background:var(--bg);color:var(--text-muted);cursor:not-allowed;opacity:.78}.route-split-heading{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 10px -30px;padding:0}.route-split-heading>span,.route-rejoin-heading{padding:5px 9px;border-radius:7px;background:var(--accent-soft);color:var(--primary);font-size:var(--font-size-micro, 11px);font-weight:800;line-height:var(--line-height-tight, 1.2)}.route-filter-pills{display:flex;gap:3px;overflow-x:auto}.route-filter-pills button{min-height:36px;padding:6px 8px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text-muted);font-size:var(--font-size-control, 13px);font-weight:700;line-height:var(--line-height-tight, 1.2);white-space:nowrap}.route-filter-pills button.active{border-color:var(--primary);background:var(--primary);color:#fff}.route-rejoin-heading{width:max-content;max-width:calc(100% - 8px);margin:8px auto 6px;position:relative;left:-15px;background:#f3f1ec;color:#57544d}.travel-connector-group{margin:3px 0 8px;padding:0}.travel-connector-summaries{display:flex;flex-wrap:wrap;gap:4px 10px;padding-left:1px}.travel-connector-group.is-branch .travel-connector-summaries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.travel-connector-summary{display:inline-flex;min-width:0;min-height:0;padding:2px 0;border:0;border-radius:0;background:transparent;color:var(--text-muted)}.travel-connector-summary.lane-b{border:0;background:transparent}.travel-lane-pill{width:15px;height:15px;margin-right:3px;font-size:8px}.travel-summary-mode{width:16px;height:16px;margin-right:3px;border-radius:0;background:transparent;color:var(--text-muted)}.travel-summary-mode svg{width:11px;height:11px}.travel-connector-summary.lane-b .travel-summary-mode{background:transparent;color:var(--stay-accent)}.travel-summary-copy{display:inline-flex;gap:4px;align-items:baseline}.travel-connector-group.is-branch .travel-summary-copy{min-width:0;overflow:hidden}.travel-summary-copy strong{color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-tight, 1.2);letter-spacing:0;white-space:nowrap}.travel-summary-copy small{max-width:180px;color:var(--text-muted);font-size:var(--font-size-micro, 11px);line-height:var(--line-height-tight, 1.2)}.travel-summary-directions{display:inline-grid;width:17px;height:17px;flex:0 0 auto;place-items:center;border-radius:5px;background:var(--accent-soft);color:var(--primary)}.travel-summary-directions:hover{text-decoration:underline}.travel-summary-status{display:none}.travel-connector-disclosure{min-height:28px;margin:0;padding:3px 2px;color:var(--primary);font-size:var(--font-size-micro, 11px);line-height:var(--line-height-tight, 1.2)}.travel-connector-disclosure:hover{background:transparent;text-decoration:underline}.travel-connector-details{margin-top:3px;padding:7px;border-radius:9px}.travel-connector{gap:0}.travel-connector-spine{display:none}.map-toolbar{border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}.map-routes-popover{width:174px}.map-routes-list{display:grid;gap:5px}.map-routes-list button{display:flex;min-height:36px;align-items:center;gap:7px;padding:8px 9px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-muted);font-size:var(--font-size-control, 13px);font-weight:700;line-height:var(--line-height-tight, 1.2);text-align:left}.map-routes-list button.active{border-color:var(--primary);background:var(--accent-soft);color:var(--primary)}.map-route-filter-swatch{width:22px;height:0;flex:0 0 auto;border-top:3px solid var(--map-route-filter-color)}.map-route-filter-swatch.is-dashed{border-top-style:dashed}.map-toolbar-search{background:var(--surface)}.map-search-input{font-size:12px}.map-mode-stays .map-toolbar{border-color:color-mix(in srgb,var(--stay-accent) 30%,var(--border))}.map-mode-expenses .map-toolbar{border-color:color-mix(in srgb,var(--success-accent) 28%,var(--border))}.map-info-panel{border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg)}.map-info-panel:before{border-right-color:var(--surface)}.map-info-panel[data-side=left]:before{border-left-color:var(--surface)}.confirm-iw-kicker{color:var(--primary)}.confirm-iw-actions{border-top-color:var(--border)}.confirm-iw-btn-add{border-radius:10px}.confirm-iw-btn-relocate{display:inline-flex;align-items:center;justify-content:center;gap:5px;width:calc(100% - 28px);min-height:36px;margin:0 14px 8px;border:1px dashed color-mix(in srgb,var(--primary) 45%,var(--border));border-radius:8px;background:var(--accent-soft);color:var(--primary);font-size:var(--font-size-control, 13px);font-weight:800;line-height:var(--line-height-tight, 1.2)}.map-relocate-banner{border-color:color-mix(in srgb,var(--primary) 40%,var(--border));color:var(--primary)}.note-panel-messages{gap:7px}.note-entry{display:flex;flex-direction:column;gap:7px}.note-date-separator{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:var(--font-size-micro, 11px);font-weight:700;line-height:var(--line-height-tight, 1.2);text-transform:uppercase;letter-spacing:.06em}.note-date-separator:before,.note-date-separator:after{height:1px;flex:1;background:var(--border);content:""}.note-date-separator span{white-space:nowrap}html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .route-row-label,html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .route-split-heading>span,html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .route-rejoin-heading,html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .note-date-separator{letter-spacing:0;text-transform:none}.note-panel-msg--own{align-self:flex-end;max-width:86%;border-color:transparent;background:var(--accent-soft)}.note-panel-msg--own .note-panel-msg-text{color:var(--text)}.note-panel-msg--own .note-panel-msg-footer{color:var(--primary)}@media (min-width: 769px){.itinerary-pane{order:-1}.map-pane{border-left:1px solid var(--border)}}@media (max-width: 900px){.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){.itinerary-pane{width:100%;max-width:none;flex-basis:auto}.confirm-iw-stay-edit .confirm-iw-row>label{width:66px!important;flex:0 0 66px}.app-header{min-height:58px;padding:0 16px}.app-user>span{display:none}.plan-list{padding:28px 16px 42px}.plan-list-header h1{font-size:26px}.plan-grid{grid-template-columns:1fr;gap:12px}.plan-card,.plan-card-new{min-height:244px}.trip-picture-editor{grid-template-columns:1fr}.trip-picture-preview{min-height:0}.trip-picture-crop-controls{align-items:stretch;flex-direction:column;gap:7px}.trip-picture-size-control{grid-template-columns:auto 32px minmax(70px,1fr) 32px 40px}.trip-picture-crop-controls button{width:100%}.trip-picture-crop-controls .trip-picture-zoom-button{width:32px}.trip-picture-actions{display:grid;grid-template-columns:1fr 1fr}.trip-picture-actions small{grid-column:1 / -1}.plan-detail-header{min-height:70px;padding:10px 12px}.plan-detail-title h2{font-size:15px}.itinerary-day-subheader{flex-wrap:wrap}.itinerary-day-manage{margin-left:auto}.itinerary-day-message{margin-inline:10px}.itinerary-day-action-panel{margin-inline:10px;padding:11px}.day-route-helper{margin-inline:10px}.day-route-helper-bar button{min-height:40px}.day-route-helper-panel{padding:11px}.day-route-helper-controls{align-items:stretch}.day-route-helper-controls label{flex:1}.day-route-helper-controls select,.day-route-helper-controls button{min-height:40px}.day-route-helper-metrics,.day-route-helper-orders{grid-template-columns:1fr}.day-route-helper-actions{display:grid;grid-template-columns:1fr}.day-route-helper-actions button{min-height:40px;justify-content:center}.itinerary-day-action-options{grid-template-columns:1fr}.itinerary-day-action-options>button{min-height:48px}.itinerary-day-action-buttons{display:grid;grid-template-columns:1fr 1fr}.itinerary-day-action-buttons button{min-height:40px}.route-row .itinerary-card-name{font-size:14px;line-height:1.35}.route-row .itinerary-card-added-by{max-width:38%;font-size:var(--font-size-meta, 12px)}.route-row .itinerary-card-meta,.route-row .itinerary-card-address{font-size:var(--font-size-meta, 12px)}.slot-shared-time .time-input,.route-row .duration-input{font-size:16px!important}.schedule-slot{margin-inline:10px}.schedule-slot.is-split .schedule-slot-lanes,.schedule-slot-lanes.is-route-drop-ready{grid-template-columns:1fr}.route-row{border-left-width:3px}.map-toolbar{width:calc(100% - 20px)}.map-info-panel{position:fixed!important;inset:auto 0 0 0!important;width:100vw!important;max-width:100vw!important;max-height:min(78dvh,680px)!important;border-width:1px 0 0!important;border-radius:20px 20px 0 0!important;padding-top:9px!important;box-shadow:0 -12px 36px #14141e33!important}.map-info-panel:before{display:block!important;top:6px!important;left:50%!important;width:42px!important;height:4px!important;border:0!important;border-radius:999px!important;background:#d8d4cc!important;transform:translate(-50%)!important;content:""!important}.map-info-panel .confirm-iw{max-height:calc(min(78dvh,680px) - 9px);overflow-y:auto}.map-info-panel .confirm-iw-header{padding-top:16px!important}.map-info-panel input,.map-info-panel textarea,.map-info-panel select{font-size:16px!important}.confirm-iw-stop-summary,.confirm-iw-stay-summary{padding-bottom:max(10px,env(safe-area-inset-bottom))}.confirm-iw-activity-page{min-height:280px}.admin-add-form{grid-template-columns:1fr}}@media (pointer: coarse){.travel-connector-disclosure{min-height:40px;padding:6px 8px}.slot-move-handle,.schedule-slot.is-single .slot-move-handle{width:44px;min-width:44px;height:44px;min-height:44px;opacity:1}.schedule-slot-header .slot-reorder-menu{top:44px}.route-visit-drag-handle{width:44px;min-width:44px;height:44px;min-height:44px;opacity:1}}.map-toolbar{width:min(1040px,calc(100% - 24px));height:auto;min-height:54px;z-index:40;padding:7px;align-content:center;flex-wrap:wrap;gap:5px;border-radius:16px}.map-toolbar>.map-toolbar-divider{display:none}.map-working-day-control{order:1;display:flex;min-width:0;flex:0 1 auto;align-items:center;gap:5px;padding:3px 5px 3px 7px;border:1px solid color-mix(in srgb,var(--primary) 20%,var(--border));border-radius:10px;background:var(--accent-soft, #f5f3ff);color:var(--primary)}.map-working-day-control>svg{flex:0 0 auto}.map-working-day-control label{display:inline-flex;min-width:0;align-items:center;gap:4px}.map-working-day-control label>span{color:var(--text-muted);font-size:var(--font-size-micro, 11px);font-weight:800;line-height:var(--line-height-tight, 1.2);letter-spacing:.04em;text-transform:uppercase}html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .map-working-day-control label>span{letter-spacing:0;text-transform:none}.map-working-day-control select{min-height:36px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:var(--font-size-control, 13px);font-weight:750;line-height:var(--line-height-compact, 1.35)}.map-toolbar-search{order:2;min-height:38px;flex:1 1 210px;padding:0 7px;border:1px solid var(--border);border-radius:10px}.map-watchlist-button{position:relative;order:3;display:inline-flex;min-height:38px;flex:0 0 auto;align-items:center;justify-content:center;gap:5px;padding:0 9px;border:1px solid color-mix(in srgb,#c2410c 38%,var(--border));border-radius:10px;background:color-mix(in srgb,#fff7ed 72%,var(--surface));color:#c2410c;cursor:pointer;font-family:inherit;font-size:var(--font-size-control, 13px);font-weight:800;line-height:var(--line-height-tight, 1.2);white-space:nowrap}.map-watchlist-button b{display:inline-grid;min-width:18px;height:18px;place-items:center;padding:0 4px;border-radius:999px;background:#c2410c;color:#fff;font-size:8px;line-height:1}.map-watchlist-button:hover,.map-watchlist-button.active{border-color:#c2410c;background:#c2410c;color:#fff}.map-watchlist-button.active b{background:#fff;color:#c2410c}.map-watchlist-button:disabled{cursor:not-allowed;opacity:.45}.map-search-this-area{order:4;display:inline-flex;min-height:36px;flex:0 0 auto;align-items:center;gap:4px;padding:0 9px;border:1px solid color-mix(in srgb,var(--primary) 36%,var(--border));border-radius:9px;background:var(--surface);color:var(--primary);cursor:pointer;font-size:var(--font-size-control, 13px);font-weight:800;line-height:var(--line-height-tight, 1.2)}.map-search-this-area:disabled{cursor:wait;opacity:.58}.map-toolbar>.map-days-control{order:5}.map-toolbar>.map-toolbar-actions{order:6}.map-browse-categories{order:10;display:flex;width:100%;min-width:0;flex:1 0 100%;gap:4px;overflow-x:auto;padding:1px 1px 0;scrollbar-width:thin}.map-browse-categories button{min-height:36px;flex:0 0 auto;padding:3px 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-muted);cursor:pointer;font-size:var(--font-size-control, 13px);font-weight:750;line-height:var(--line-height-tight, 1.2);white-space:nowrap}.map-browse-categories button:hover{border-color:color-mix(in srgb,var(--primary) 42%,var(--border));color:var(--primary)}.map-browse-categories button.active{border-color:var(--primary);background:var(--primary);color:#fff}.map-browse-categories button:disabled{border-color:var(--border);background:var(--surface);color:var(--text-muted);cursor:not-allowed;opacity:.42}.map-day-area-error{order:20;display:flex;width:100%;min-width:0;flex:1 0 100%;align-items:center;gap:6px;padding:6px 8px;border:1px solid #fecaca;border-radius:9px;background:#fff7f7;color:#b42318;font-size:var(--font-size-meta, 12px);font-weight:700;line-height:var(--line-height-body, 1.5)}.map-day-area-error>span{min-width:0;flex:1}.map-day-area-error>button{display:inline-grid;width:28px;height:28px;flex:0 0 auto;place-items:center;border:0;border-radius:7px;background:transparent;color:inherit;cursor:pointer}.map-working-day-control :focus-visible,.map-watchlist-button:focus-visible,.map-browse-categories button:focus-visible,.map-search-this-area:focus-visible,.map-tools-toggle:focus-visible,.map-discovery-results button:focus-visible,.map-day-area-warning button:focus-visible,.map-day-area-warning select:focus-visible{outline:none;box-shadow:var(--focus-ring)}.map-search-support,.map-stay-pick-banner,.map-route-pick-banner,.map-relocate-banner{top:var(--map-toolbar-bottom, 118px)}.map-discovery-results{position:absolute;z-index:20;top:var(--map-toolbar-bottom, 118px);left:12px;display:block;width:min(360px,calc(100% - 24px));max-height:min(58%,520px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--surface) 97%,transparent);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);scrollbar-gutter:stable;scrollbar-width:thin;touch-action:pan-y;-webkit-overflow-scrolling:touch}.map-discovery-results-header{position:sticky;z-index:3;top:0;display:flex;align-items:center;gap:8px;padding:10px 11px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 97%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.map-discovery-results-header>span{display:grid;min-width:0;flex:1}.map-discovery-results-header strong{color:var(--text);font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.map-discovery-results-header small{overflow:hidden;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35);text-overflow:ellipsis;white-space:nowrap}.map-discovery-results-header>button{display:inline-grid;width:28px;height:28px;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer}.map-discovery-results-scroll{display:block}.map-watchlist-import{display:grid;gap:7px;padding:10px 11px;border-bottom:1px solid var(--border);background:color-mix(in srgb,#fff7ed 56%,var(--surface))}.map-watchlist-import>label{display:grid;gap:2px}.map-watchlist-import>label>span{display:inline-flex;align-items:center;gap:5px;color:var(--text);font-size:var(--font-size-control, 13px);font-weight:800;line-height:var(--line-height-compact, 1.35)}.map-watchlist-import>label>small{color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.map-watchlist-import>div{display:flex;min-width:0;gap:6px}.map-watchlist-import input{min-width:0;min-height:36px;flex:1;padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:var(--font-size-control, 13px);line-height:var(--line-height-compact, 1.35)}.map-watchlist-import button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:4px;padding:6px 9px;border:1px solid #c2410c;border-radius:8px;background:#c2410c;color:#fff;cursor:pointer;font-size:var(--font-size-control, 13px);font-weight:800;line-height:var(--line-height-tight, 1.2)}.map-watchlist-import button:disabled{cursor:wait;opacity:.58}.map-watchlist-import .spin,.map-search-this-area .spin{animation:weather-spin .8s linear infinite}.map-watchlist-sources{display:grid!important;gap:5px!important;padding-right:2px}.map-watchlist-sources-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:2px 1px}.map-watchlist-sources-header strong{color:var(--text);font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.map-watchlist-sources-header span{color:var(--text-muted);font-size:var(--font-size-meta, 12px);font-weight:700;line-height:var(--line-height-compact, 1.35)}.map-watchlist-source{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:start;gap:5px;padding:7px;border:1px solid color-mix(in srgb,#c2410c 20%,var(--border));border-radius:9px;background:color-mix(in srgb,var(--surface) 92%,#fff7ed)}.map-watchlist-source>a{display:grid;min-width:0;gap:1px;color:var(--text);text-decoration:none}.map-watchlist-source>a:hover strong{color:#c2410c;text-decoration:underline}.map-watchlist-source>a strong{overflow-wrap:anywhere;font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.map-watchlist-source>a small{color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.map-watchlist-source-url{overflow-wrap:anywhere;font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5);word-break:break-word}.map-watchlist-source-time{margin-top:2px;font-size:var(--font-size-meta, 12px);font-weight:700;line-height:var(--line-height-compact, 1.35)}.map-watchlist-source>button{min-height:28px;padding:4px 6px;border-color:var(--border);background:var(--surface);color:var(--text-muted)}.map-watchlist-source>button:hover{border-color:#c2410c;color:#c2410c}.map-watchlist-source-refresh{min-height:36px}.map-watchlist-source-refresh>span{font-size:var(--font-size-control, 13px);line-height:var(--line-height-tight, 1.2)}.map-watchlist-source-delete{width:28px}.map-watchlist-source-feedback{grid-column:1 / -1;border-top:1px solid var(--border);padding-top:5px;font-size:var(--font-size-meta, 12px);font-weight:800;line-height:var(--line-height-compact, 1.35)}.map-watchlist-source-feedback.success{color:#18786d}.map-watchlist-source-feedback.error{color:#b42318}.map-watchlist-source-delete-prompt{display:grid;grid-column:1 / -1;gap:5px;padding-top:5px;border-top:1px solid var(--border)}.map-watchlist-source-delete-prompt>span{color:var(--text);font-size:var(--font-size-meta, 12px);font-weight:700;line-height:var(--line-height-body, 1.5)}.map-watchlist-source-delete-prompt>div{display:flex;flex-wrap:wrap;gap:4px}.map-watchlist-source-delete-prompt button{min-height:36px;padding:4px 7px;border-color:var(--border);background:var(--surface);color:var(--text);font-size:var(--font-size-control, 13px);line-height:var(--line-height-tight, 1.2)}.map-watchlist-source-delete-prompt button.danger{border-color:#b42318;background:#b42318;color:#fff}.map-watchlist-import-status{margin:0;font-size:var(--font-size-meta, 12px);font-weight:700;line-height:var(--line-height-body, 1.5)}.map-watchlist-import-status.error{color:#b42318}.map-watchlist-import-status.success{color:#18786d}.map-discovery-result-list{display:grid;flex:0 0 auto;gap:5px;padding:7px}.map-watchlist-empty{display:grid;justify-items:center;gap:5px;padding:22px 16px;color:var(--text-muted);text-align:center}.map-watchlist-empty>svg{color:#c2410c}.map-watchlist-empty strong{color:var(--text);font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.map-watchlist-empty span{max-width:260px;font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.map-discovery-result{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;overflow:hidden;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.map-discovery-result.active{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 12%,transparent)}.map-discovery-result-select{display:flex;align-items:flex-start;gap:7px;min-width:0;padding:8px 9px;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.map-discovery-result-number{display:inline-grid;width:20px;height:20px;flex:0 0 20px;place-items:center;border-radius:999px;background:var(--primary);color:#fff;font-size:9px;font-weight:850;line-height:1}.map-discovery-result-copy{display:grid;min-width:0;gap:2px}.map-discovery-result-copy>strong,.map-discovery-result-copy>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-discovery-result-copy>strong{color:var(--text);font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.map-discovery-result-copy>small{color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.map-discovery-result-meta{display:flex;min-width:0;flex-wrap:wrap;gap:3px 8px;margin-top:2px}.map-discovery-result-meta small{display:inline-flex;align-items:center;gap:2px;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.map-discovery-result-meta .open{color:#18786d}.map-discovery-result-meta .closed{color:#b42318}.map-discovery-result-meta .watchlist-scheduled{color:#18786d;font-weight:750}.map-discovery-result-copy>.map-watchlist-note{display:-webkit-box;margin-top:3px;overflow:hidden;color:var(--text-muted);line-height:1.35;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.map-discovery-result-add{min-width:60px;min-height:36px;padding:6px 8px;border:0;border-left:1px solid var(--border);background:var(--accent-soft, #f5f3ff);color:var(--primary);cursor:pointer;font-size:var(--font-size-control, 13px);font-weight:800;line-height:var(--line-height-tight, 1.2)}.map-discovery-result-add:hover{background:color-mix(in srgb,var(--primary) 15%,white)}.map-watchlist-result-actions{display:grid;width:92px;grid-template-columns:repeat(2,minmax(0,1fr));border-left:1px solid var(--border)}.map-watchlist-result-actions .map-discovery-result-add{min-width:0;grid-column:1 / -1;border-left:0;border-bottom:1px solid var(--border)}.map-watchlist-result-actions>a,.map-watchlist-result-actions>.map-watchlist-remove{display:inline-grid;min-height:30px;place-items:center;border:0;background:var(--surface);color:var(--text-muted);cursor:pointer}.map-watchlist-result-actions>a{border-right:1px solid var(--border)}.map-watchlist-result-actions>a:hover{color:var(--primary)}.map-watchlist-result-actions>.map-watchlist-remove:hover{color:#b42318}.map-day-area-warning-backdrop{position:absolute;z-index:80;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:14px;background:#0f172a3d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.map-day-area-warning{position:relative;display:flex;width:min(500px,calc(100% - 28px));max-height:min(82%,620px);gap:10px;overflow-y:auto;padding:15px;border:1px solid #f2c166;border-radius:15px;background:var(--surface);box-shadow:0 20px 55px #221f1b40;outline:none}.map-day-area-warning-icon{display:inline-grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:10px;background:#fff7e6;color:#a15c00}.map-day-area-warning-content{display:grid;min-width:0;flex:1;gap:7px}.map-day-area-warning-content>strong{color:var(--text);font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.map-day-area-warning-content p{margin:0;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.map-day-area-warning-content .map-day-area-warning-error{padding:7px 8px;border:1px solid #fecaca;border-radius:8px;background:#fff7f7;color:#b42318;font-weight:700}.map-day-area-warning-day{display:grid;grid-template-columns:minmax(0,1fr) 100px;align-items:center;gap:8px;color:var(--text-muted);font-size:var(--font-size-control, 13px);font-weight:700;line-height:var(--line-height-compact, 1.35)}.map-day-area-warning-day select{min-height:36px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.map-day-area-warning-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.map-day-area-warning-actions button{min-height:36px;padding:5px 9px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-muted);cursor:pointer;font-size:var(--font-size-control, 13px);font-weight:750;line-height:var(--line-height-tight, 1.2)}.map-day-area-warning-actions button.primary{border-color:var(--primary);background:var(--primary);color:#fff}.map-day-area-warning-actions button:disabled,.map-day-area-warning-day select:disabled{cursor:wait;opacity:.58}@media (max-width: 768px){.map-watchlist-import input{font-size:16px}.map-toolbar{top:8px;width:calc(100% - 16px);min-height:0;padding:6px;gap:4px;border-radius:14px}.map-working-day-control{width:100%;flex:1 0 100%}.map-working-day-control label>span{display:none}.map-toolbar-search{order:2;min-height:36px;flex:1 1 150px}.map-watchlist-button{order:3;width:44px;min-width:44px;min-height:44px;padding:0}.map-watchlist-button>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.map-watchlist-button b{position:absolute;top:-4px;right:-4px;box-shadow:0 0 0 2px var(--surface)}.map-tools-toggle{order:4;display:inline-flex;min-height:44px;flex:0 0 auto;align-items:center;justify-content:center;gap:5px;padding:0 10px;border:1px solid color-mix(in srgb,var(--primary) 32%,var(--border));border-radius:10px;background:var(--surface);color:var(--primary);cursor:pointer;font-family:inherit;font-size:12px;font-weight:750}.map-toolbar.mobile-tools-open .map-tools-toggle{background:var(--primary);color:#fff}.map-toolbar:not(.mobile-tools-open) .map-working-day-control{width:86px;flex:0 0 86px;padding:3px}.map-toolbar:not(.mobile-tools-open) .map-working-day-control>svg{display:none}.map-toolbar:not(.mobile-tools-open) .map-working-day-control label,.map-toolbar:not(.mobile-tools-open) .map-working-day-control select{width:100%}.map-toolbar:not(.mobile-tools-open)>.map-days-control,.map-toolbar:not(.mobile-tools-open)>.map-toolbar-actions,.map-toolbar:not(.mobile-tools-open) .map-browse-categories{display:none}.map-search-this-area{order:4;min-height:32px}.map-toolbar>.map-days-control{order:5}.map-toolbar>.map-toolbar-actions{order:6}.map-browse-categories{order:10}.map-browse-categories button{min-height:30px;padding-inline:9px}.map-search-support,.map-stay-pick-banner,.map-route-pick-banner,.map-relocate-banner{top:var(--map-toolbar-bottom, 151px)}.map-discovery-results{inset:var(--map-toolbar-bottom, 151px) 8px auto;width:auto;max-height:min(48%,430px);border-radius:13px}.map-discovery-results.has-active-info{z-index:45;max-height:min(22dvh,180px)}.map-discovery-results.has-active-info .map-discovery-result-list{grid-auto-flow:column;grid-auto-columns:minmax(240px,82vw);overflow-x:auto;overflow-y:hidden}.map-discovery-results.has-active-info .map-watchlist-import{display:none}.map-wrapper-has-panel.map-wrapper-has-results .map-info-panel{max-height:min(52dvh,520px)!important}.map-wrapper-has-panel.map-wrapper-has-results .map-info-panel .confirm-iw{max-height:calc(min(52dvh,520px) - 9px)}.map-day-area-warning-backdrop{position:fixed;align-items:end;padding:0}.map-day-area-warning{position:relative;width:100%;max-height:min(82dvh,680px);overflow-y:auto;overscroll-behavior:contain;padding:16px 14px max(16px,env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:18px 18px 0 0}.map-day-area-warning-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.map-working-day-control select,.map-toolbar-search,.map-search-input,.map-search-clear,.map-search-this-area,.map-watchlist-button,.map-tools-toggle,.map-days-button,.map-days-grid button,.map-routes-list button,.map-toolbar-actions button,.map-browse-categories button,.map-discovery-results-header>button,.map-discovery-result-select,.map-discovery-result-add,.map-watchlist-import input,.map-watchlist-import button,.map-watchlist-result-actions>a,.map-watchlist-result-actions>.map-watchlist-remove,.map-day-area-error>button,.map-day-area-warning-day select,.map-day-area-warning-actions button,.map-stay-pick-cancel{min-height:44px}.map-search-clear,.map-toolbar-actions button,.map-discovery-results-header>button,.map-day-area-error>button{width:44px;min-width:44px;height:44px}}@media (pointer: coarse){.map-working-day-control select,.map-toolbar-search,.map-search-input,.map-search-clear,.map-search-this-area,.map-watchlist-button,.map-tools-toggle,.map-days-button,.map-days-grid button,.map-routes-list button,.map-toolbar-actions button,.map-browse-categories button,.map-discovery-results-header>button,.map-discovery-result-select,.map-discovery-result-add,.map-watchlist-import input,.map-watchlist-import button,.map-watchlist-result-actions>a,.map-watchlist-result-actions>.map-watchlist-remove,.map-day-area-error>button,.map-day-area-warning-day select,.map-day-area-warning-actions button,.map-stay-pick-cancel{min-height:44px}.map-search-clear,.map-toolbar-actions button,.map-discovery-results-header>button,.map-day-area-error>button{width:44px;min-width:44px;height:44px}}.pdf-export-dialog{width:min(680px,calc(100vw - 28px));max-width:none;max-height:min(90dvh,820px);margin:auto;padding:0;overflow:hidden;border:1px solid var(--border);border-radius:18px;background:var(--surface);color:var(--text);box-shadow:0 28px 80px #1c191747}.pdf-export-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr)}.pdf-export-dialog::backdrop{background:#1c19177a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.pdf-export-dialog-header{display:grid;grid-template-columns:38px minmax(0,1fr) 34px;align-items:center;gap:10px;padding:16px 18px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 8%,white),var(--surface))}.pdf-export-dialog-header>span{display:inline-grid;width:38px;height:38px;place-items:center;border-radius:11px;background:var(--primary);color:#fff}.pdf-export-dialog-header h3{margin:0;color:var(--text);font-size:16px;line-height:1.25}.pdf-export-dialog-header p{margin:3px 0 0;color:var(--text-muted);font-size:10px;line-height:1.45}.pdf-export-dialog-header>button{display:inline-grid!important;width:34px!important;height:34px;min-height:34px;place-items:center;padding:0!important;border:0!important;border-radius:9px!important;background:transparent!important;color:var(--text-muted)!important;cursor:pointer}.pdf-export-dialog-header>button:hover{background:#f1f0ec!important;color:var(--text)!important}.pdf-export-form{display:grid;gap:15px;overflow-y:auto;padding:17px 18px 0}.pdf-export-form fieldset{min-width:0;margin:0;padding:0;border:0}.pdf-export-form legend{width:100%;margin-bottom:8px;color:var(--text-muted);font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.pdf-export-mode-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.pdf-export-mode-options legend{grid-column:1 / -1}.pdf-export-mode-option{position:relative;display:grid;min-width:0;min-height:88px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);cursor:pointer}.pdf-export-mode-option:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--border))}.pdf-export-mode-option.is-selected{border-color:var(--primary);background:var(--accent-soft, #f5f3ff);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 11%,transparent)}.pdf-export-mode-option input{position:absolute;top:10px;right:10px;accent-color:var(--primary)}.pdf-export-mode-option>span{display:grid;align-content:start;gap:4px;padding-right:16px}.pdf-export-mode-option strong{color:var(--text);font-size:11px}.pdf-export-mode-option small{color:var(--text-muted);font-size:9px;line-height:1.45}.pdf-export-inline-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.pdf-export-inline-options label{display:grid;gap:5px;color:var(--text-muted);font-size:9px;font-weight:800}.pdf-export-inline-options select{width:100%;min-height:38px;padding:0 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-size:11px}.pdf-export-content-options,.pdf-export-privacy-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.pdf-export-content-options legend,.pdf-export-privacy-options legend{grid-column:1 / -1}.pdf-export-option-checkbox{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:8px;min-width:0;padding:10px;border:1px solid var(--border);border-radius:11px;background:var(--surface);cursor:pointer}.pdf-export-option-checkbox:has(input:checked){border-color:color-mix(in srgb,var(--primary) 36%,var(--border));background:color-mix(in srgb,var(--accent-soft, #f5f3ff) 58%,white)}.pdf-export-option-checkbox:has(input:disabled){cursor:not-allowed;opacity:.58}.pdf-export-option-checkbox input{width:16px;height:16px;margin-top:1px;accent-color:var(--primary)}.pdf-export-option-checkbox>span{display:grid;min-width:0;gap:2px}.pdf-export-option-checkbox strong{color:var(--text);font-size:10px}.pdf-export-option-checkbox small{color:var(--text-muted);font-size:8.5px;line-height:1.4}.pdf-export-error{margin:0;padding:9px 10px;border-radius:9px;background:#fff1f2;color:#b42318;font-size:10px}.pdf-export-dialog-actions{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:7px;margin-inline:-18px;padding:12px 18px max(14px,env(safe-area-inset-bottom));border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface) 96%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pdf-export-dialog-actions button{display:inline-flex!important;width:auto!important;min-height:38px;align-items:center;justify-content:center;gap:6px;padding:7px 13px!important;border:1px solid var(--border)!important;border-radius:9px!important;background:var(--surface)!important;color:var(--text-muted)!important;cursor:pointer;font-size:10px;font-weight:800}.pdf-export-dialog-actions button[type=submit]{border-color:var(--primary)!important;background:var(--primary)!important;color:#fff!important}.pdf-export-dialog-actions button:disabled{cursor:wait;opacity:.62}.pdf-export-dialog :focus-visible{outline:none;box-shadow:var(--focus-ring)}.calendar-export-dialog{width:min(480px,calc(100vw - 28px))}.calendar-export-form{gap:13px}.calendar-export-summary{display:grid;gap:4px;padding:12px;border:1px solid color-mix(in srgb,var(--primary) 22%,var(--border));border-radius:11px;background:color-mix(in srgb,var(--accent-soft, #f5f3ff) 55%,white)}.calendar-export-summary strong{color:var(--text);font-size:11px}.calendar-export-summary span{color:var(--text-muted);font-size:9px;line-height:1.45}.calendar-export-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.calendar-export-options legend{grid-column:1 / -1}.calendar-export-privacy{display:flex;margin:0;align-items:flex-start;gap:7px;color:#18734d;font-size:9px;line-height:1.45}.calendar-export-privacy svg{flex:0 0 auto;margin-top:1px}@media (max-width: 600px){.pdf-export-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:15px}.pdf-export-dialog-header{padding:13px}.pdf-export-form{gap:13px;padding:14px 13px 0}.pdf-export-mode-options{grid-template-columns:1fr}.pdf-export-mode-option{min-height:66px}.pdf-export-inline-options,.pdf-export-content-options,.pdf-export-privacy-options{grid-template-columns:1fr}.pdf-export-content-options legend,.pdf-export-privacy-options legend{grid-column:auto}.calendar-export-options{grid-template-columns:1fr}.calendar-export-options legend{grid-column:auto}.pdf-export-dialog-actions{margin-inline:-13px;padding-inline:13px}.pdf-export-dialog-actions button{flex:1}}.mobile-trip-nav{display:none}.confirm-iw-section-title{margin:0 14px 7px;color:var(--text-muted);font-size:var(--font-size-card-title, 14px);font-weight:850;line-height:var(--line-height-compact, 1.35);letter-spacing:.07em;text-transform:uppercase}html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .confirm-iw-section-title{letter-spacing:0;text-transform:none}.confirm-iw-field{display:grid;min-width:0;gap:5px}.confirm-iw-field-label{color:var(--text-muted);font-size:var(--font-size-control, 13px);font-weight:750;line-height:var(--line-height-compact, 1.35)}.confirm-iw-duration-control{display:grid;min-width:0;flex:1;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px}.confirm-iw-duration-control>span{color:var(--text-muted);font-size:12px}.confirm-iw-delete-section{padding:10px 14px 12px;border-top:1px solid var(--border)}.confirm-iw-delete-section .confirm-iw-btn-delete{margin:0}.map-info-panel .confirm-iw-delete-section .delete-confirm-inline{margin:0!important}.confirm-iw-expense-amount-row{display:grid;grid-template-columns:minmax(0,1fr) 86px;gap:7px}.confirm-iw-editor-actions{display:flex;justify-content:flex-end;gap:6px}@media (max-width: 768px){.plan-detail.is-phone{min-height:0;overflow:hidden;background:var(--bg)}.plan-detail.is-phone .plan-detail-body{position:relative;display:block;flex:1;min-height:0;overflow:hidden}.plan-detail.is-phone .map-pane,.plan-detail.is-phone .itinerary-pane{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;width:100%;height:100%;max-width:none;min-height:0;flex:none;border:0;overflow:hidden}.plan-detail.is-phone .map-pane[hidden],.plan-detail.is-phone .itinerary-pane[hidden],.plan-detail.is-phone [hidden],.plan-detail.is-phone.has-mobile-draft .mobile-trip-nav{display:none!important}.mobile-trip-nav{position:relative;z-index:120;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));flex:0 0 auto;min-height:62px;padding:4px 0 max(4px,env(safe-area-inset-bottom));border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:0 -8px 24px #221f1b12;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-trip-nav-item{position:relative;display:grid;min-width:0;min-height:54px;place-items:center;align-content:center;gap:2px;padding:4px 2px;border:0;border-radius:10px;background:transparent;color:var(--text-muted);cursor:pointer;font-family:inherit;font-size:10.5px;font-weight:750;line-height:1.15}.mobile-trip-nav-item.active{color:var(--primary)}.mobile-trip-nav-item.active:before{position:absolute;top:0;width:28px;height:3px;border-radius:999px;background:var(--primary);content:""}.mobile-trip-nav-item:focus-visible{outline:0;box-shadow:inset var(--focus-ring)}.mobile-trip-nav-item:disabled{cursor:not-allowed;opacity:.42}.mobile-trip-nav-icon{position:relative;display:inline-grid;place-items:center}.mobile-trip-nav-badge{position:absolute;top:-7px;right:-12px;display:inline-grid;min-width:18px;height:18px;place-items:center;padding:0 4px;border:2px solid var(--surface);border-radius:999px;background:#dc2626;color:#fff;font-size:9px;line-height:1}.mobile-itinerary-destination,.mobile-flights-destination,.mobile-chat-destination,.phone-itinerary-section,.phone-spend-panel{display:flex;width:100%;height:100%;min-height:0;flex-direction:column;overflow:hidden;background:var(--surface)}.mobile-flights-destination{overflow-y:auto}.mobile-flights-destination .flights-workspace{width:100%}.flights-workspace{gap:12px;padding:16px 12px 26px}.flights-workspace-header{align-items:stretch;flex-direction:column;gap:10px}.flights-workspace-header h3{font-size:20px}.flights-workspace-header p{font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.flights-add-button{align-self:flex-start}.flight-route{grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);gap:4px;padding:14px 13px 16px}.flight-route-line svg{margin:0 2px}.flight-route-stop>strong{font-size:var(--font-size-body, 13px);line-height:var(--line-height-compact, 1.35)}.flight-delete-confirm{align-items:stretch;flex-direction:column}.flight-delete-confirm>div{justify-content:flex-end}.flight-editor-overlay{align-items:flex-end;padding:0}.flight-editor-modal{width:100%;max-height:94dvh;border-radius:22px 22px 0 0;padding:20px 16px max(18px,env(safe-area-inset-bottom))}.flight-airport-row{grid-template-columns:82px minmax(0,1fr);gap:9px}.flight-trip-role-options{grid-template-columns:1fr}.flight-lookup-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.flight-lookup-button{grid-column:1 / -1}.flight-lookup-results>button{grid-template-columns:minmax(0,1fr)}.flight-lookup-results>button time{grid-row:auto;grid-column:auto}.flight-expense-fields{grid-template-columns:1fr 1fr}.flight-expense-fields .form-group:last-child{grid-column:1 / -1}.itinerary-flight-summary{margin:9px 12px 7px}.itinerary-flight-summary article{grid-template-columns:34px minmax(0,1fr)}.itinerary-flight-facts{grid-column:2;grid-template-columns:minmax(0,1fr) auto;justify-items:start}.flight-section-heading{padding-inline:1px}.flight-journey-header{min-height:48px;padding:8px 9px 8px 11px}.flight-add-connection{min-height:36px}.flight-journey .flight-card-topline{padding:9px 9px 6px 11px}.flight-journey .flight-card-topline>div:first-child{display:grid;gap:2px}.flight-route.flight-route-compact{grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);gap:3px;padding:8px 10px 10px}.flight-route-compact .flight-route-line svg{margin:0 1px}.flight-route-compact .flight-route-stop{grid-template-columns:15px minmax(0,1fr)}.flight-route-compact .flight-route-stop>strong{font-size:var(--font-size-body, 13px);line-height:var(--line-height-compact, 1.35)}.flight-card-details>summary{min-height:40px;padding:7px 11px}.flight-airport-details{grid-template-columns:1fr}.flight-card-actions button{width:36px;height:36px}.phone-section-plan .itinerary-scroll-region{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.phone-section-plan .itinerary-scroll-region>.itinerary-cards{min-height:auto;flex:0 0 auto;overflow:visible;padding:4px 12px 24px}.phone-stay-summary{display:grid;width:calc(100% - 24px);min-height:70px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;margin:9px 12px 7px;padding:10px 11px;border:1px solid color-mix(in srgb,var(--stay-accent) 28%,var(--border));border-radius:14px;background:var(--stay-accent-soft);color:var(--text);cursor:pointer;text-align:left}.phone-stay-summary:focus-visible{outline:0;box-shadow:var(--focus-ring)}.phone-stay-summary-icon{display:inline-grid;width:42px;height:42px;place-items:center;border-radius:12px;background:#fff;color:var(--stay-accent)}.phone-stay-summary-copy{display:grid;min-width:0;gap:2px}.phone-stay-summary-copy small{color:var(--stay-accent);font-size:9px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.phone-stay-summary-copy strong{overflow:hidden;font-size:13px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.phone-stay-summary-copy>span{color:var(--text-muted);font-size:11px;line-height:1.3}.phone-stay-summary-action{display:inline-flex;min-height:44px;align-items:center;gap:2px;color:var(--stay-accent);font-size:11px;font-weight:800;white-space:nowrap}.stays-panel-header{display:grid;flex:0 0 auto;gap:4px;padding:15px 16px 13px;border-bottom:1px solid color-mix(in srgb,var(--stay-accent) 24%,var(--border));background:linear-gradient(145deg,var(--stay-accent-soft),var(--surface))}.stays-panel-header>div{display:flex;align-items:baseline;gap:8px}.stays-panel-header h2{margin:0;color:var(--text);font-size:20px}.stays-panel-header p{margin:0;color:var(--text-muted);font-size:11px;line-height:1.4}.stays-panel-kicker{color:var(--stay-accent);font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.stays-panel-body{flex:1;min-height:0;overflow-y:auto;padding:12px 12px 28px;overscroll-behavior:contain;scroll-padding-top:10px;-webkit-overflow-scrolling:touch;background:var(--surface)}.stays-day-section{margin-bottom:13px;padding:10px 0 2px;border:1px solid var(--border);border-radius:15px;background:var(--surface);scroll-margin-top:10px}.stays-day-section.is-active{border-color:color-mix(in srgb,var(--stay-accent) 52%,var(--border))}.stays-day-section:focus{outline:0;box-shadow:var(--focus-ring)}.stays-day-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 12px 9px}.stays-day-heading span{color:var(--stay-accent);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.stays-day-heading strong{color:var(--text-muted);font-size:11px}.stays-day-section .stay-block{margin:0 9px 8px}.phone-spend-panel .expenses-panel{min-height:0;flex:1}.phone-spend-panel .expenses-scroll-body{scroll-padding-bottom:24px}.phone-spend-panel .expenses-summary{padding:16px}.phone-spend-panel .expenses-add-btn{min-height:44px}.phone-spend-panel .expenses-list{overscroll-behavior:contain}.mobile-chat-destination .chat-panel{min-height:0;flex:1}.mobile-chat-destination .chat-messages{min-height:0;padding:16px 14px 20px;overscroll-behavior:contain}.mobile-chat-destination .chat-bubble-group{max-width:82%}.mobile-chat-destination .chat-input-row{padding:10px 12px}.mobile-chat-destination .chat-input-row input{min-width:0;min-height:48px;font-size:16px}.mobile-chat-destination .chat-input-row button{width:48px;min-width:48px;height:48px}.map-wrapper-is-hidden{visibility:hidden;pointer-events:none}.map-wrapper-is-relocating .map-info-panel{display:none!important}.plan-detail.is-phone .map-info-panel{position:absolute!important;inset:auto 0 0!important;width:100%!important;max-width:100%!important;max-height:100%!important;border-width:1px 0 0!important;border-radius:20px 20px 0 0!important;overflow:hidden!important}.plan-detail.is-phone .map-info-panel .confirm-iw{display:flex;max-height:min(86dvh,720px);min-height:0;flex-direction:column;overflow:hidden}.plan-detail.is-phone .map-info-panel:has(.confirm-iw-form-section) .confirm-iw{height:100%;max-height:100%}.plan-detail.is-phone .map-info-panel:has(.confirm-iw-form-section){height:min(86dvh,100%)!important}.plan-detail.is-phone .confirm-iw-sheet-header{flex:0 0 auto;padding:18px 50px 14px 16px!important}.plan-detail.is-phone .confirm-iw-sheet-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.plan-detail.is-phone .confirm-iw-sheet-footer{position:sticky;bottom:0;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));flex:0 0 auto;gap:8px;margin:0!important;padding:10px 14px max(12px,env(safe-area-inset-bottom))!important;border-top:1px solid var(--border);border-radius:0!important;background:color-mix(in srgb,var(--surface) 96%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.plan-detail.is-phone .confirm-iw-sheet-footer .confirm-iw-btn-delete{grid-column:1 / -1;width:fit-content;margin:0}.plan-detail.is-phone .confirm-iw-sheet-footer .confirm-iw-btn-cancel,.plan-detail.is-phone .confirm-iw-sheet-footer .confirm-iw-btn-add{width:100%;min-height:48px;justify-content:center;font-size:14px}.plan-detail.is-phone .delete-confirm-inline.confirm-iw-sheet-footer{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center}.plan-detail.is-phone .delete-confirm-inline.confirm-iw-sheet-footer button{min-height:44px}.plan-detail.is-phone .confirm-iw-form-section{padding:14px;border-bottom:1px solid var(--border)}.plan-detail.is-phone .confirm-iw-form-section .confirm-iw-divider{display:none}.plan-detail.is-phone .confirm-iw-section-title{margin:0 0 10px;color:var(--text-muted);font-size:var(--font-size-card-title, 14px)}.plan-detail.is-phone .confirm-iw-form-section .confirm-iw-fields{display:grid;grid-template-columns:1fr;gap:12px;margin:0;padding:0;border:0;background:transparent}.plan-detail.is-phone .confirm-iw-form-section-schedule .confirm-iw-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-detail.is-phone .confirm-iw-name-row,.plan-detail.is-phone .confirm-iw-type-row,.plan-detail.is-phone .confirm-iw-location-row,.plan-detail.is-phone .confirm-iw-row:has(textarea){grid-column:1 / -1}.plan-detail.is-phone .confirm-iw-row{display:grid;min-width:0;grid-template-columns:1fr;align-items:stretch!important;gap:6px}.plan-detail.is-phone .confirm-iw-row>label,.plan-detail.is-phone .confirm-iw-field-label{width:auto!important;flex:none!important;margin:0!important;color:var(--text-muted)!important;font-size:var(--font-size-control, 13px)!important;font-weight:700}.plan-detail.is-phone .confirm-iw-row input,.plan-detail.is-phone .confirm-iw-row select,.plan-detail.is-phone .confirm-iw-row textarea,.plan-detail.is-phone .confirm-iw-field input,.plan-detail.is-phone .confirm-iw-field select,.plan-detail.is-phone .confirm-iw-field textarea,.plan-detail.is-phone .confirm-iw-location-row>button{width:100%!important;min-width:0;min-height:48px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-size:16px!important;line-height:1.35}.plan-detail.is-phone .confirm-iw-row textarea,.plan-detail.is-phone .confirm-iw-field textarea{min-height:92px;resize:vertical}.plan-detail.is-phone .confirm-iw-duration-control{width:100%;gap:10px}.plan-detail.is-phone .confirm-iw-duration-control>span{font-size:14px;font-weight:700}.plan-detail.is-phone .confirm-iw-location-row>button{font-size:14px!important}.plan-detail.is-phone .confirm-iw-form-section-expense .confirm-iw-expense-toggle{margin:0 0 10px}.plan-detail.is-phone .confirm-iw-form-section-expense .confirm-iw-expense-toggle label{min-height:44px;font-size:14px}.plan-detail.is-phone .confirm-iw-form-section-expense .confirm-iw-expense-fields{display:grid;gap:12px;margin:0;padding:12px}.plan-detail.is-phone .confirm-iw-expense-amount-row,.plan-detail.is-phone .confirm-iw-expense-editor-fields{grid-template-columns:minmax(0,1fr) 104px;gap:8px}.plan-detail.is-phone .confirm-iw-activity-editor{gap:10px;padding:11px}.plan-detail.is-phone .confirm-iw-editor-actions button{min-height:44px;padding:9px 12px;font-size:12px}.plan-detail.is-phone .confirm-iw-delete-section{padding:14px}.plan-detail.is-phone .confirm-iw-delete-section .confirm-iw-btn-delete{min-height:44px;padding:9px 12px;font-size:14px}.plan-detail.is-phone .confirm-iw-delete-section .delete-confirm-inline{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:0;font-size:13px}.plan-detail.is-phone .confirm-iw-delete-section .delete-confirm-inline button{min-height:44px;padding:8px 10px}.plan-detail.is-phone .map-info-close{width:44px!important;height:44px!important;top:10px;right:8px}.plan-detail.is-phone .map-info-panel.is-peek{height:auto!important;max-height:190px!important}.plan-detail.is-phone .map-info-panel.is-peek:before,.plan-detail.is-phone .map-info-panel.is-minimized:before,.plan-detail.is-phone .map-info-panel.is-expanded:before{display:none!important}.plan-detail.is-phone .map-working-day-control select{font-size:14px;font-weight:700;line-height:1.25}.plan-detail.is-phone .map-search-input,.plan-detail.is-phone .map-watchlist-import input{font-size:16px;line-height:1.35}.plan-detail.is-phone .map-watchlist-import button,.plan-detail.is-phone .map-watchlist-result-actions .map-discovery-result-add{font-size:var(--font-size-control, 13px);line-height:var(--line-height-tight, 1.2)}.plan-detail.is-phone .map-browse-categories button,.plan-detail.is-phone .map-search-this-area{font-size:var(--font-size-control, 13px);font-weight:700;line-height:var(--line-height-tight, 1.2)}.plan-detail.is-phone .map-days-button,.plan-detail.is-phone .map-routes-list button{font-size:12px;font-weight:700;line-height:1.25}.plan-detail.is-phone .map-discovery-results-header strong,.plan-detail.is-phone .map-discovery-result-copy>strong{font-size:14px;line-height:1.3}.plan-detail.is-phone .map-discovery-results-header small,.plan-detail.is-phone .map-discovery-result-copy>small,.plan-detail.is-phone .map-discovery-result-meta small{font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.plan-detail.is-phone .map-discovery-result-add{font-size:var(--font-size-control, 13px);line-height:var(--line-height-tight, 1.2)}.plan-detail.is-phone .map-wrapper-has-panel .map-toolbar{flex-wrap:nowrap;align-content:center;gap:6px}.plan-detail.is-phone .map-wrapper-has-panel .map-working-day-control{width:86px;flex:0 0 86px;padding:3px}.plan-detail.is-phone .map-wrapper-has-panel .map-working-day-control>svg{display:none}.plan-detail.is-phone .map-wrapper-has-panel .map-working-day-control label,.plan-detail.is-phone .map-wrapper-has-panel .map-working-day-control select{width:100%}.plan-detail.is-phone .map-wrapper-has-panel .map-toolbar-search{min-width:0;flex:1 1 auto}.plan-detail.is-phone .map-wrapper-has-panel .map-search-this-area,.plan-detail.is-phone .map-wrapper-has-panel .map-watchlist-button,.plan-detail.is-phone .map-wrapper-has-panel .map-days-control,.plan-detail.is-phone .map-wrapper-has-panel .map-toolbar-actions,.plan-detail.is-phone .map-wrapper-has-panel .map-browse-categories{display:none}.plan-detail.is-phone .map-discovery-results.has-active-info{max-height:80px}.plan-detail.is-phone .map-discovery-results.has-active-info .map-discovery-results-header{display:none}.plan-detail.is-phone .map-discovery-results.has-active-info .map-discovery-result-list{padding:4px}.plan-detail.is-phone .map-discovery-results.has-active-info .map-discovery-result-select,.plan-detail.is-phone .map-discovery-results.has-active-info .map-discovery-result-add{min-height:52px}.plan-detail.is-phone .map-wrapper-panel-expanded .map-discovery-results{display:none}.plan-detail.is-phone .confirm-iw-mobile-peek{display:grid;gap:7px;padding:8px 12px max(10px,env(safe-area-inset-bottom));background:color-mix(in srgb,var(--surface) 97%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.plan-detail.is-phone .confirm-iw-mobile-handle{display:block;width:40px;height:4px;margin:0 auto 1px;border-radius:999px;background:#d8d4cc}.plan-detail.is-phone .confirm-iw-mobile-peek-heading{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) 44px;align-items:start;gap:8px}.plan-detail.is-phone .confirm-iw-mobile-peek-copy{display:grid;min-width:0;gap:2px}.plan-detail.is-phone .confirm-iw-mobile-peek .confirm-iw-kicker{color:var(--primary);font-size:12px;font-weight:800;line-height:1.25}.plan-detail.is-phone .confirm-iw-mobile-peek .confirm-iw-name{min-width:0;margin:0;padding:0;overflow:hidden;border:0;color:var(--text);font-size:16px;font-weight:700;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.plan-detail.is-phone .confirm-iw-mobile-area-context{display:flex;min-width:0;align-items:center;gap:5px;margin:0;overflow:hidden;color:var(--text-muted);font-size:12px;font-weight:600;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.plan-detail.is-phone .confirm-iw-mobile-area-context svg{flex:0 0 auto;color:var(--primary)}.plan-detail.is-phone .confirm-iw-mobile-peek-heading .map-info-close{position:static;justify-self:end}.plan-detail.is-phone .confirm-iw-mobile-peek-address{margin:0;overflow:hidden;color:var(--text-muted);font-size:13px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.plan-detail.is-phone .confirm-iw-mobile-peek-actions{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px}.plan-detail.is-phone .confirm-iw-mobile-peek-actions button,.plan-detail.is-phone .confirm-iw-mobile-minimized-actions button,.plan-detail.is-phone .confirm-iw-mobile-expanded-controls button{display:inline-flex;min-width:0;min-height:44px;align-items:center;justify-content:center;gap:5px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text-muted);font-size:14px;font-weight:700;line-height:1.2;white-space:nowrap}.plan-detail.is-phone .confirm-iw-mobile-details{border-color:var(--primary)!important;background:var(--primary)!important;color:#fff!important}.plan-detail.is-phone .confirm-iw-mobile-edit{border-color:color-mix(in srgb,var(--primary) 30%,var(--border))!important;background:var(--accent-soft)!important;color:var(--primary)!important}.plan-detail.is-phone .map-info-panel.is-minimized{inset:auto 12px 12px auto!important;width:auto!important;max-width:calc(100% - 24px)!important;height:auto!important;border:0!important;border-radius:12px!important;overflow:visible!important;background:transparent;box-shadow:none!important}.plan-detail.is-phone .map-info-panel.is-minimized .confirm-iw-mobile-peek{padding:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.plan-detail.is-phone .map-info-panel.is-minimized .confirm-iw-mobile-handle,.plan-detail.is-phone .map-info-panel.is-minimized .confirm-iw-mobile-peek-heading{display:none}.plan-detail.is-phone .confirm-iw-mobile-minimized-actions button{border-color:color-mix(in srgb,var(--primary) 35%,var(--border));background:color-mix(in srgb,var(--surface) 94%,transparent);color:var(--primary);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.plan-detail.is-phone .map-info-panel.is-expanded:not(.is-editor){height:auto!important;max-height:min(58dvh,520px)!important}.plan-detail.is-phone .map-info-panel.is-expanded.is-editor{height:min(86dvh,100%)!important;max-height:100%!important}.plan-detail.is-phone .map-info-panel.is-expanded .confirm-iw{max-height:min(58dvh,520px)}.plan-detail.is-phone .map-info-panel.is-expanded.is-editor .confirm-iw{height:100%;max-height:100%}.plan-detail.is-phone .confirm-iw-mobile-expanded-controls{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:10px;margin:-5px 0 8px}.plan-detail.is-phone .confirm-iw-mobile-expanded-controls .confirm-iw-mobile-handle{margin:0}.plan-detail.is-phone .confirm-iw-mobile-expanded-controls .confirm-iw-mobile-show-map{min-height:44px;margin-left:auto;color:var(--primary)}.plan-detail.is-phone button,.plan-detail.is-phone input,.plan-detail.is-phone select,.plan-detail.is-phone textarea{line-height:1.35}.plan-detail.is-phone .back-btn{width:44px;min-width:44px;height:44px;justify-content:center;gap:0;padding:0;font-size:0}.plan-detail.is-phone .plan-detail-title{max-width:calc(100% - 120px)}.plan-detail.is-phone .plan-detail-title h2{font-size:16px;line-height:1.3}.plan-detail.is-phone .plan-detail-meta{display:none}.plan-detail.is-phone .trip-settings-btn{width:44px;height:44px}.mobile-trip-nav-item{font-size:12px;font-weight:700;line-height:1.2}.phone-stay-summary-copy small,.stays-panel-kicker,.stays-day-heading span{font-size:12px;font-weight:800;line-height:1.2}.phone-stay-summary-copy strong{font-size:15px;line-height:1.35}.phone-stay-summary-copy>span,.phone-stay-summary-action,.stays-panel-header p,.stays-day-heading strong{font-size:13px;line-height:1.4}.phone-section-plan .schedule-slot{margin-inline:0;padding:0 0 16px 28px}.phone-section-plan .schedule-slot-header{position:relative;display:grid;min-height:44px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px 8px;margin:0 0 9px}.phone-section-plan .phone-slot-header-main{display:grid;min-width:0;align-items:start;gap:3px}.phone-section-plan .phone-slot-number{order:0;color:var(--text);font-size:12px;font-weight:800;line-height:1.2}.phone-section-plan .phone-slot-header-actions{display:grid;grid-template-columns:auto 44px;align-items:center;gap:6px}.phone-section-plan .slot-move-handle,.phone-section-plan .schedule-slot.is-single .slot-move-handle{position:static;grid-area:auto;width:44px;min-width:44px;height:44px;min-height:44px;justify-content:center;align-self:start;padding:0;border:1px solid var(--border);border-radius:10px;background:var(--surface);opacity:1}.phone-section-plan .slot-move-label,.phone-section-plan .schedule-slot.is-single .slot-move-label{display:none}.phone-section-plan .slot-shared-time,.phone-section-plan .phone-slot-time{order:1;grid-area:auto;justify-self:start}.phone-section-plan .slot-shared-time .time-input{width:132px;min-width:132px;height:44px;padding:8px 9px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-size:16px;line-height:1.2;font-variant-numeric:tabular-nums}.phone-section-plan .split-routes-button,.phone-section-plan .swap-routes-button{grid-area:auto;min-height:44px;justify-self:start;margin:0;padding:8px 11px;font-size:12px;line-height:1.25}.phone-section-plan .schedule-slot-header .slot-reorder-menu{position:static;z-index:30;grid-column:1 / -1;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:8px}.phone-section-plan .slot-reorder-menu button{min-height:44px;padding:8px 10px;font-size:13px;line-height:1.25}.phone-section-plan .route-split-heading>span,.phone-section-plan .route-rejoin-heading,.phone-section-plan .route-row-label{font-size:12px;line-height:1.25}.phone-section-plan .route-row .itinerary-card{display:grid;min-height:0;grid-template-columns:minmax(0,1fr) 44px;grid-template-rows:auto auto;align-items:start;gap:8px 10px;padding:12px}.phone-section-plan .route-row .itinerary-card-body{grid-column:1;grid-row:1 / span 2;gap:8px}.phone-section-plan .phone-itinerary-card-details{display:flex;min-width:0;align-items:center;flex-wrap:wrap;gap:6px 10px}.phone-section-plan .route-row .itinerary-card-name-row{display:grid;align-items:start;gap:3px}.phone-section-plan .route-row .itinerary-card-name{font-size:15px;line-height:1.35;white-space:normal}.phone-section-plan .route-row .itinerary-card-added-by{max-width:100%;font-size:12px;line-height:1.3}.phone-section-plan .route-row .loc-type-badge{max-width:100%;padding:5px 8px;font-size:12px;line-height:1.25}.phone-section-plan .route-row .itinerary-card-meta,.phone-section-plan .route-row .itinerary-card-address{font-size:13px;line-height:1.4}.phone-section-plan .route-row .itinerary-card-duration,.phone-section-plan .route-row .itinerary-card-duration>span{font-size:13px;line-height:1.2}.phone-section-plan .route-row .duration-input{width:28px;min-height:32px;font-size:16px!important;line-height:1.2}.phone-section-plan .route-row .duration-hours-input{width:25px}.phone-section-plan .route-row .duration-minutes-input{width:29px}.phone-section-plan .route-row .note-count-badge,.phone-section-plan .route-row .card-expense-badge{min-height:44px;padding:8px 9px;font-size:12px;line-height:1.2}.phone-section-plan .phone-itinerary-card-controls{grid-column:2;grid-row:1 / span 2;display:grid;grid-template-rows:repeat(2,44px);align-content:start;gap:8px}.phone-section-plan .phone-itinerary-card-controls .icon-btn.danger{grid-column:auto;grid-row:auto;width:44px;height:44px;padding:10px}.phone-section-plan .phone-itinerary-card-controls .route-visit-drag-handle{grid-column:auto;grid-row:auto;width:44px;min-width:44px;height:44px;min-height:44px;margin:0}.phone-section-plan .visit-move-picker.is-phone{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:6px 0 0;padding:8px}.phone-section-plan .visit-move-picker.is-phone>strong{grid-column:1 / -1}.phone-section-plan .visit-move-picker.is-phone button{min-height:44px;font-size:13px;line-height:1.2}.phone-section-plan .travel-connector-group,.phone-section-plan .travel-connector-group.is-branch{margin:5px 0 12px}.phone-section-plan .travel-connector-summaries,.phone-section-plan .travel-connector-group.is-branch .travel-connector-summaries{display:grid;grid-template-columns:1fr;gap:5px}.phone-section-plan .travel-connector-summary{display:grid;min-height:44px;grid-template-columns:auto auto minmax(0,1fr) 44px;align-items:center;gap:6px;padding:4px 0}.phone-section-plan .travel-connector-group:not(.is-branch) .travel-connector-summary{grid-template-columns:auto minmax(0,1fr) 44px}.phone-section-plan .travel-summary-copy{display:grid;min-width:0;gap:2px}.phone-section-plan .travel-summary-copy strong,.phone-section-plan .travel-summary-copy small{font-size:12px;line-height:1.3}.phone-section-plan .travel-summary-copy small{max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phone-section-plan .travel-summary-directions{width:44px;height:44px;border-radius:10px}.phone-section-plan .travel-connector-disclosure{min-height:44px;margin:2px 0 0;padding:8px 6px;font-size:13px;line-height:1.25}}@media (max-width: 768px) and (max-height: 700px){.plan-detail.is-phone .map-info-panel.is-peek{max-height:160px!important}.plan-detail.is-phone .map-info-panel.is-peek .confirm-iw-mobile-peek-address{display:none}}@media (max-width: 359px){.plan-detail.is-phone .confirm-iw-form-section-schedule .confirm-iw-fields,.plan-detail.is-phone .confirm-iw-expense-amount-row,.plan-detail.is-phone .confirm-iw-expense-editor-fields{grid-template-columns:1fr}.phone-stay-summary{grid-template-columns:38px minmax(0,1fr)}.phone-stay-summary-icon{width:38px;height:38px}.phone-stay-summary-copy strong{font-size:15px}.phone-stay-summary-action{grid-column:2;justify-self:start;font-size:13px}.phone-section-plan .phone-slot-header{align-items:start}.phone-section-plan .phone-slot-header-actions{grid-template-columns:auto;grid-template-rows:repeat(2,44px);justify-items:end}.phone-section-plan .phone-slot-header-actions .split-routes-button,.phone-section-plan .phone-slot-header-actions .swap-routes-button{grid-row:1}.phone-section-plan .phone-slot-header-actions .phone-slot-move-button{grid-row:2}}@media (prefers-reduced-motion: reduce){.mobile-trip-nav-item,.map-info-panel{scroll-behavior:auto;transition:none!important}}.modal.settings-modal{width:min(780px,calc(100vw - 36px));max-width:780px;max-height:min(92dvh,900px);padding:0;overflow-x:hidden;overflow-y:auto;border-radius:24px;background:#fbfbfd;box-shadow:0 28px 90px #1a1d3447}.auth-card{padding-top:56px}.settings-modal .profile-field label{display:flex}.settings-modal .settings-password-form input{padding:9px 10px;font-size:var(--font-size-control, 13px);line-height:var(--line-height-compact, 1.35)}.settings-modal .settings-password-form .input-password-wrap input{padding-right:36px}@media (max-width: 680px){.modal.settings-modal{width:100%;max-width:none;max-height:96dvh;border-radius:22px 22px 0 0}}.app-guide-btn{width:36px;height:36px;border:1px solid transparent;border-radius:10px}.app-guide-btn:hover{border-color:var(--border);background:var(--surface);color:var(--primary)}.trip-guide-btn{width:36px;height:36px;justify-content:center;padding:0;border-radius:10px;background:#ffffff1a}.trip-guide-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #ffffff47}.feature-guide-overlay{position:fixed;z-index:1600;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#19182494;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.feature-guide-dialog{display:grid;width:min(900px,calc(100vw - 48px));max-height:min(720px,calc(100dvh - 48px));grid-template-columns:minmax(238px,.82fr) minmax(0,1.7fr);overflow:hidden;border:1px solid rgb(255 255 255 / 22%);border-radius:26px;background:var(--surface);box-shadow:0 30px 100px #15142561;animation:feature-guide-enter .22s ease-out both}.feature-guide-sidebar{display:flex;min-width:0;flex-direction:column;padding:30px 24px 24px;background:radial-gradient(circle at 18% 8%,rgb(255 255 255 / 17%),transparent 30%),linear-gradient(155deg,#686bea,#4b4fc9 58%,#343794);color:#fff}.feature-guide-brand{display:flex;align-items:flex-start;gap:12px}.feature-guide-brand-icon{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border:1px solid rgb(255 255 255 / 26%);border-radius:12px;background:#ffffff24;box-shadow:inset 0 1px #ffffff2e}.feature-guide-eyebrow{display:block;margin-bottom:3px;color:#ffffffad;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.feature-guide-brand h2{max-width:180px;font-size:21px;line-height:1.18;letter-spacing:-.035em}.feature-guide-sidebar>p{margin:16px 0 24px;color:#ffffffbd;font-size:12px;line-height:1.55}.feature-guide-nav{display:grid;gap:6px;margin-top:auto}.feature-guide-nav button{display:grid;min-width:0;min-height:44px;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid transparent;border-radius:11px;padding:6px 9px;background:transparent;color:#ffffffad;cursor:pointer;text-align:left;transition:border-color .15s,background .15s,color .15s,transform .15s}.feature-guide-nav button:hover{background:#ffffff17;color:#fff}.feature-guide-nav button.active{border-color:#fff3;background:#ffffff26;color:#fff}.feature-guide-nav button:focus-visible{outline:none;box-shadow:0 0 0 3px #ffffff38}.feature-guide-nav-icon{display:grid;width:29px;height:29px;place-items:center;border-radius:9px;background:#ffffff1a}.feature-guide-nav button.active .feature-guide-nav-icon{background:#fff;color:var(--primary)}.feature-guide-nav-label{overflow:hidden;font-size:11px;font-weight:750;line-height:1.25;text-overflow:ellipsis}.feature-guide-nav-check{color:#bdf5d9}.feature-guide-main{position:relative;display:flex;min-width:0;min-height:540px;flex-direction:column;overflow-y:auto;padding:32px 34px 28px}.feature-guide-close{position:absolute;top:19px;right:19px;display:grid;width:38px;height:38px;place-items:center;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--text-muted);cursor:pointer}.feature-guide-close:hover{border-color:var(--border);background:var(--bg);color:var(--text)}.feature-guide-close:focus-visible{outline:none;box-shadow:var(--focus-ring)}.feature-guide-progress-row{display:grid;width:min(290px,calc(100% - 48px));gap:7px}.feature-guide-progress-row>span{color:var(--text-muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.feature-guide-progress{height:4px;overflow:hidden;border-radius:999px;background:var(--accent-soft)}.feature-guide-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#8d68e8);transition:width .2s ease}.feature-guide-step{display:grid;align-content:start;min-height:330px;padding:42px 0 26px;animation:feature-guide-step-enter .2s ease-out both}.feature-guide-step-icon{display:grid;width:66px;height:66px;place-items:center;border:1px solid color-mix(in srgb,var(--primary) 18%,var(--border));border-radius:20px;background:linear-gradient(145deg,var(--accent-soft),white);color:var(--primary);box-shadow:0 12px 30px color-mix(in srgb,var(--primary) 13%,transparent)}.feature-guide-step h3{margin-top:22px;color:var(--text);font-size:clamp(25px,3vw,34px);line-height:1.1;letter-spacing:-.045em}.feature-guide-step>p{max-width:570px;margin-top:11px;color:var(--text-muted);font-size:14px;line-height:1.65}.feature-guide-step ul{display:grid;max-width:590px;gap:11px;margin-top:25px;list-style:none}.feature-guide-step li{display:grid;grid-template-columns:25px minmax(0,1fr);align-items:start;gap:9px;color:var(--text);font-size:12px;line-height:1.55}.feature-guide-step li>svg{margin-top:1px;padding:3px;border-radius:50%;background:#e7f7f2;color:#238776}.feature-guide-reopen{display:flex;align-items:center;gap:7px;margin:0 0 17px;color:var(--text-muted);font-size:10.5px;line-height:1.4}.feature-guide-reopen svg{flex:0 0 auto;color:var(--primary)}.feature-guide-actions{display:flex;justify-content:space-between;gap:12px;padding-top:17px;border-top:1px solid var(--border)}.feature-guide-button{display:inline-flex;min-height:43px;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border);border-radius:11px;padding:9px 14px;background:var(--surface);color:var(--text);cursor:pointer;font-size:12px;font-weight:800}.feature-guide-button:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary) 35%,var(--border));background:var(--accent-soft);color:var(--primary)}.feature-guide-button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.feature-guide-button:disabled{cursor:default;opacity:.38}.feature-guide-button.primary{min-width:116px;border-color:var(--primary);background:var(--primary);color:#fff;box-shadow:0 8px 18px #5b5fe038}.feature-guide-button.primary:hover{border-color:var(--primary-dark);background:var(--primary-dark);color:#fff}@keyframes feature-guide-enter{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes feature-guide-step-enter{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}@media (max-width: 680px){.feature-guide-overlay{align-items:end;padding:0}.feature-guide-dialog{width:100%;max-height:96dvh;grid-template-columns:minmax(0,1fr);border-radius:24px 24px 0 0}.feature-guide-sidebar{padding:18px 20px 13px}.feature-guide-brand{padding-right:42px}.feature-guide-brand-icon{width:34px;height:34px}.feature-guide-brand h2{max-width:none;font-size:18px}.feature-guide-sidebar>p{display:none}.feature-guide-nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:14px}.feature-guide-nav button{min-height:40px;grid-template-columns:1fr;justify-items:center;padding:5px}.feature-guide-nav-icon{width:30px;height:30px}.feature-guide-nav-label,.feature-guide-nav-check{display:none}.feature-guide-main{min-height:0;padding:24px 20px max(20px,env(safe-area-inset-bottom))}.feature-guide-close{top:-101px;right:15px;border-color:#fff3;color:#fff}.feature-guide-close:hover{border-color:#ffffff57;background:#ffffff1f;color:#fff}.feature-guide-progress-row{width:100%}.feature-guide-step{min-height:0;padding:26px 0 22px}.feature-guide-step-icon{width:54px;height:54px;border-radius:17px}.feature-guide-step-icon svg{width:25px;height:25px}.feature-guide-step h3{margin-top:17px;font-size:25px}.feature-guide-step>p{margin-top:8px;font-size:13px;line-height:1.55}.feature-guide-step ul{gap:9px;margin-top:18px}.feature-guide-step li{font-size:11.5px}.feature-guide-reopen{margin-bottom:13px}.feature-guide-actions{padding-top:13px}.feature-guide-button{min-height:44px}}@media (prefers-reduced-motion: reduce){.feature-guide-dialog,.feature-guide-step{animation:none}.feature-guide-progress span{transition:none}}.reservation-hub-overlay{padding:24px;background:#11182794;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.reservation-hub{display:flex;width:min(1080px,100%);max-width:none;height:min(780px,92dvh);max-height:92dvh;flex-direction:column;overflow:hidden;border:1px solid rgb(255 255 255 / 35%);border-radius:20px;padding:0}.reservation-hub-header{flex:0 0 auto;align-items:flex-start;gap:24px;margin:0;padding:22px 25px 19px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,#f8f7ff,#f6fbff)}.reservation-hub-header>div{min-width:0}.reservation-hub-header h3{margin-top:5px;color:var(--text);font-size:var(--font-size-page-title, 20px);line-height:var(--line-height-tight, 1.2);letter-spacing:-.025em}.reservation-hub-header h3 svg{color:var(--primary)}.reservation-hub-header p{margin:6px 0 0;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.reservation-hub-header>button{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.reservation-hub-kicker{display:inline-flex;align-items:center;gap:5px;color:#237c68;font-size:var(--font-size-micro, 11px);font-weight:850;line-height:var(--line-height-tight, 1.2);letter-spacing:.08em;text-transform:uppercase}.reservation-hub-layout{display:grid;min-height:0;flex:1;grid-template-columns:minmax(0,1fr)}.reservation-hub-layout.editor-open{grid-template-columns:minmax(320px,.83fr) minmax(440px,1.17fr)}.reservation-list-panel,.reservation-editor{min-height:0;overflow-y:auto}.reservation-list-panel{padding:20px;background:#fafbfe}.reservation-editor{border-left:1px solid var(--border);padding:20px 22px 24px;background:var(--surface)}.reservation-list-toolbar,.reservation-editor-heading,.reservation-documents-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.reservation-list-toolbar{margin-bottom:16px}.reservation-list-toolbar>div,.reservation-editor-heading>div{display:grid;min-width:0;gap:2px}.reservation-list-toolbar strong{color:var(--text);font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.reservation-list-toolbar span{color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.reservation-list-toolbar button,.reservation-documents-heading>button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:5px;font-size:var(--font-size-control, 13px);line-height:var(--line-height-tight, 1.2);white-space:nowrap}.reservation-empty{display:grid;justify-items:center;gap:7px;border:1px dashed color-mix(in srgb,var(--primary) 24%,var(--border));border-radius:14px;padding:42px 24px;background:var(--surface);color:var(--text-muted);text-align:center;font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.reservation-empty>svg{margin-bottom:3px;color:color-mix(in srgb,var(--primary) 72%,#fff)}.reservation-empty strong{color:var(--text);font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.reservation-empty p{max-width:310px;margin:0;line-height:1.5}.reservation-groups,.reservation-group{display:grid;gap:10px}.reservation-group+.reservation-group{margin-top:11px;padding-top:16px;border-top:1px solid var(--border)}.reservation-group>h4{margin:0 2px;color:var(--text-muted);font-size:var(--font-size-micro, 11px);font-weight:850;line-height:var(--line-height-tight, 1.2);letter-spacing:.08em;text-transform:uppercase}.reservation-group.past .reservation-card{opacity:.78}.reservation-card{position:relative;display:flex;align-items:flex-start;gap:11px;border:1px solid var(--border);border-radius:13px;padding:13px;background:var(--surface);box-shadow:0 3px 12px #242a490a}.reservation-card:hover{border-color:color-mix(in srgb,var(--primary) 27%,var(--border))}.reservation-card-main{display:grid;min-width:0;flex:1;gap:5px}.reservation-card-heading{display:flex;align-items:center;gap:6px}.reservation-status,.reservation-type{border-radius:999px;padding:2px 7px;font-size:var(--font-size-micro, 11px);font-weight:850;line-height:var(--line-height-tight, 1.2);letter-spacing:.035em;text-transform:uppercase}.reservation-status{background:#edf8f4;color:#237c68}.reservation-status-past{background:#f1f3f5;color:#737987}.reservation-status-today{background:#fff4d6;color:#956400}.reservation-status-unscheduled{background:#f1f3f5;color:#737987}.reservation-type{background:var(--accent-soft);color:var(--primary)}.reservation-card h4{margin:0;overflow:hidden;color:var(--text);font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35);text-overflow:ellipsis;white-space:nowrap}.reservation-card p{margin:0;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.reservation-card-date{display:flex;align-items:center;gap:5px}.reservation-confirmation{display:flex;align-items:center;gap:6px;margin-top:2px;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.reservation-confirmation strong{color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em}.reservation-confirmation button,.reservation-card-actions button,.reservation-card-actions a,.reservation-editor-heading>button,.reservation-document-row>button{display:grid;width:28px;height:28px;place-items:center;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-muted);cursor:pointer}.reservation-confirmation button{width:23px;height:23px}.reservation-card-actions{display:flex;flex:0 0 auto;gap:4px}.reservation-card-actions a{text-decoration:none}.reservation-card-actions button:hover,.reservation-card-actions a:hover,.reservation-document-row>button:hover{border-color:var(--primary);color:var(--primary)}.reservation-card-actions .danger:hover,.reservation-document-row>.danger:hover{border-color:#ef4444;color:#dc2626}.reservation-delete-confirm{position:absolute;inset:auto 8px 8px 8px;z-index:2;display:flex;align-items:center;gap:6px;border:1px solid #fecaca;border-radius:10px;padding:8px;background:#fff7f7;box-shadow:0 8px 24px #7f1d1d1f}.reservation-delete-confirm p{min-width:0;flex:1;color:#991b1b}.reservation-delete-confirm button,.reservation-document-confirm button{min-height:36px;border:1px solid var(--border);border-radius:7px;padding:5px 7px;background:var(--surface);color:var(--text);font:inherit;font-size:var(--font-size-control, 13px);font-weight:800;line-height:var(--line-height-tight, 1.2);cursor:pointer}.reservation-delete-confirm button.danger,.reservation-document-confirm button.danger{border-color:#dc2626;background:#dc2626;color:#fff}.reservation-editor-heading{padding-bottom:14px;border-bottom:1px solid var(--border)}.reservation-editor-heading span{color:var(--primary);font-size:var(--font-size-micro, 11px);font-weight:850;line-height:var(--line-height-tight, 1.2);letter-spacing:.09em;text-transform:uppercase}.reservation-editor-heading h4{margin:0;overflow:hidden;color:var(--text);font-size:var(--font-size-section-title, 16px);line-height:var(--line-height-tight, 1.2);text-overflow:ellipsis;white-space:nowrap}.reservation-form{margin-top:15px}.reservation-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.reservation-form-grid label{display:grid;min-width:0;gap:5px}.reservation-form-grid label.span-2{grid-column:span 2}.reservation-form-grid label>span{color:var(--text);font-size:var(--font-size-control, 13px);font-weight:800;line-height:var(--line-height-compact, 1.35)}.reservation-form-grid input,.reservation-form-grid select,.reservation-form-grid textarea{width:100%;min-width:0;min-height:36px;border:1px solid var(--border);border-radius:9px;padding:8px 9px;background:var(--surface);color:var(--text);font:inherit;font-size:var(--font-size-control, 13px);line-height:var(--line-height-compact, 1.35);outline:none}.reservation-form-grid textarea{resize:vertical;line-height:var(--line-height-body, 1.5)}.reservation-form-grid input:focus,.reservation-form-grid select:focus,.reservation-form-grid textarea:focus{border-color:var(--primary);box-shadow:var(--focus-ring)}.reservation-form-grid .invalid{border-color:#dc2626}.reservation-form-grid small{color:#b91c1c;font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.reservation-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}.reservation-feedback{margin:11px 0 0;border-radius:8px;padding:8px 10px;font-size:var(--font-size-body, 13px);line-height:var(--line-height-compact, 1.35)}.reservation-feedback.error{border:1px solid #fecaca;background:#fff7f7;color:#b91c1c}.reservation-feedback.success{border:1px solid #bbf7d0;background:#f0fdf4;color:#18794e}.reservation-documents{margin-top:20px;border-top:1px solid var(--border);padding-top:17px}.reservation-documents.disabled{opacity:.66}.reservation-documents-heading>div{min-width:0}.reservation-documents-heading h5{display:flex;align-items:center;gap:6px;margin:0;color:var(--text);font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.reservation-documents-heading h5 svg{color:var(--primary)}.reservation-documents-heading p{margin:4px 0 0;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.reservation-upload-progress{height:4px;overflow:hidden;margin-top:10px;border-radius:999px;background:var(--accent-soft)}.reservation-upload-progress span{display:block;height:100%;border-radius:inherit;background:var(--primary);transition:width .16s linear}.reservation-document-list{display:grid;gap:6px;margin-top:11px}.reservation-document-row{position:relative;display:flex;min-width:0;align-items:center;gap:8px;border:1px solid var(--border);border-radius:10px;padding:8px;background:#fafbfe}.reservation-document-row>svg{flex:0 0 auto;color:var(--primary)}.reservation-document-row>div:not(.reservation-document-confirm){display:grid;min-width:0;flex:1;gap:2px}.reservation-document-row strong{overflow:hidden;color:var(--text);font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35);text-overflow:ellipsis;white-space:nowrap}.reservation-document-row span{color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.reservation-document-empty{margin:12px 0 0;border:1px dashed var(--border);border-radius:10px;padding:13px;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5);text-align:center}.reservation-document-confirm{position:absolute;top:4px;right:4px;bottom:4px;left:4px;z-index:2;display:flex;align-items:center;gap:6px;border-radius:8px;padding:5px 7px;background:#fff7f7}.reservation-document-confirm span{min-width:0;flex:1;color:#991b1b;font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .reservation-hub-kicker,html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .reservation-group>h4,html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .reservation-status,html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .reservation-type,html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .reservation-editor-heading span{letter-spacing:0;text-transform:none}html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .reservation-hub-header h3{letter-spacing:normal}.weather-warnings{flex:0 0 auto;margin:0 14px 9px;overflow:hidden;border:1px solid color-mix(in srgb,#3f83c4 24%,var(--border));border-radius:11px;background:linear-gradient(135deg,#f8fbff,#fbfcff)}.weather-warnings.is-collapsed{border-color:transparent;background:transparent}.weather-warnings-heading{display:flex;min-width:0;align-items:center;gap:8px;padding:8px 9px}.weather-heading-icon{display:grid;width:29px;height:29px;flex:0 0 auto;place-items:center;border-radius:9px;background:#e8f4ff;color:#2474b5}.weather-warnings-heading>div:nth-child(2){display:grid;min-width:0;gap:1px}.weather-warnings-heading strong{color:var(--text);font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.weather-warnings-heading span{color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.weather-location{display:inline-flex;min-width:0;max-width:34%;align-items:center;gap:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weather-warnings-actions{display:flex;flex:0 0 auto;align-items:center;gap:5px;margin-left:auto}.weather-warnings-actions>button{display:inline-flex;min-height:36px;flex:0 0 auto;align-items:center;justify-content:center;gap:4px;border:1px solid color-mix(in srgb,#2474b5 28%,var(--border));border-radius:8px;padding:5px 7px;background:var(--surface);color:#17649e;font:inherit;font-size:var(--font-size-control, 13px);font-weight:850;line-height:var(--line-height-tight, 1.2);cursor:pointer}.weather-warnings-actions>button:disabled{cursor:wait;opacity:.65}.weather-warnings-actions>button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.weather-warnings-actions>.weather-warnings-toggle{width:28px;min-height:28px;padding:5px}.weather-warnings-toggle svg{transition:transform .18s ease}.weather-warnings-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.weather-warnings.is-collapsed .weather-location,.weather-warnings.is-collapsed .weather-warnings-heading>div:nth-child(2)>span,.weather-warnings.is-collapsed .weather-check-action{display:none}.weather-warnings-content[hidden]{display:none}.weather-warnings-heading .spin{animation:weather-spin .8s linear infinite}.weather-unavailable{margin:0;border-top:1px solid #e4edf6;padding:7px 10px;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.weather-error{display:flex;align-items:flex-start;gap:5px;margin:0;border-top:1px solid #fecaca;padding:7px 10px;background:#fff7f7;color:#b91c1c;font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.weather-results{border-top:1px solid #e4edf6}.weather-summary{display:flex;min-width:0;align-items:center;gap:8px;padding:9px 10px}.weather-summary>svg{flex:0 0 auto;color:#2474b5}.weather-summary>div{display:grid;min-width:74px;gap:1px}.weather-summary>div strong{font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.weather-summary>div span{color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.weather-summary dl{display:grid;min-width:0;flex:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:0}.weather-summary dl>div{display:grid;justify-items:center;gap:1px;border-left:1px solid #e4edf6}.weather-summary dt{color:var(--text-muted);font-size:var(--font-size-micro, 11px);font-weight:750;line-height:var(--line-height-tight, 1.2);text-transform:uppercase}.weather-summary dd{margin:0;color:var(--text);font-size:var(--font-size-body, 13px);font-weight:800;line-height:var(--line-height-compact, 1.35);white-space:nowrap}.weather-warning-list{display:grid;gap:5px;padding:0 9px 8px}.weather-warning-card{display:flex;align-items:flex-start;gap:7px;border:1px solid #fde3a7;border-radius:9px;padding:7px 8px;background:#fffbeb}.weather-warning-card.danger{border-color:#fecaca;background:#fff7f7}.weather-warning-card>svg{flex:0 0 auto;color:#a16207}.weather-warning-card.danger>svg{color:#dc2626}.weather-warning-card>div{min-width:0}.weather-warning-card strong{display:block;color:#854d0e;font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.weather-warning-card.danger strong{color:#b91c1c}.weather-warning-card p{margin:2px 0 0;color:#78613b;font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.weather-warning-card.danger p{color:#855454}.weather-all-clear{display:flex;align-items:center;gap:6px;margin:0 9px 8px;border-radius:8px;padding:7px 8px;background:#edf9f4;color:#237c68;font-size:var(--font-size-body, 13px);font-weight:750;line-height:var(--line-height-compact, 1.35)}.weather-attribution{margin:0;border-top:1px solid #e4edf6;padding:5px 9px;color:var(--text-muted);font-size:var(--font-size-micro, 11px);line-height:var(--line-height-body, 1.5)}html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .weather-summary dt{letter-spacing:0;text-transform:none}.weather-attribution a{color:#2474b5}@keyframes weather-spin{to{transform:rotate(360deg)}}@media (max-width: 760px){.reservation-hub-overlay{align-items:flex-end;padding:0}.reservation-hub{width:100%;height:96dvh;max-height:96dvh;border-width:1px 0 0;border-radius:22px 22px 0 0}.reservation-hub-header{padding:18px 18px 15px}.reservation-hub-header h3{font-size:18px}.reservation-hub-header p{max-width:300px;font-size:var(--font-size-meta, 12px)}.reservation-hub-layout.editor-open{grid-template-columns:minmax(0,1fr)}.reservation-hub-layout.editor-open .reservation-list-panel{display:none}.reservation-list-panel{padding:16px}.reservation-editor{border-left:0;padding:16px 16px max(24px,env(safe-area-inset-bottom))}.reservation-form-grid{grid-template-columns:minmax(0,1fr)}.reservation-form-grid label.span-2{grid-column:auto}.reservation-form-grid input,.reservation-form-grid select,.reservation-form-grid textarea{font-size:16px}.reservation-card-actions{flex-direction:column}.weather-warnings{margin:0 10px 8px}.weather-location{display:none}.weather-warnings-actions>button{min-height:40px}.weather-warnings-actions>.weather-warnings-toggle{width:40px;min-height:40px}}@media (max-width: 430px){.reservation-hub-header p{display:none}.reservation-list-toolbar,.reservation-documents-heading{align-items:flex-start}.weather-warnings-heading{flex-wrap:wrap}.weather-summary{align-items:flex-start;flex-wrap:wrap}.weather-summary dl{flex-basis:100%}.weather-summary dl>div:first-child{border-left:0}}@media (prefers-reduced-motion: reduce){.weather-warnings-heading .spin{animation:none}.weather-warnings-toggle svg{transition:none}.reservation-upload-progress span{transition:none}}@media (min-width: 769px){.plan-detail-header{display:grid;grid-template-columns:minmax(132px,auto) minmax(0,1fr) auto;align-items:center;gap:18px}.plan-detail-title{position:static;left:auto;min-width:0;max-width:none;transform:none;text-align:left}.plan-detail-meta{justify-content:flex-start}.plan-detail-actions{justify-self:end;margin-left:0}.itinerary-pane{width:clamp(520px,42vw,720px);flex-basis:clamp(520px,42vw,720px)}}@media (max-width: 768px){.plan-detail.is-phone .plan-detail-header{display:grid;min-height:72px;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;padding:9px 12px;box-shadow:0 1px #ffffff24}.plan-detail.is-phone .back-btn,.plan-detail.is-phone .trip-settings-btn{border:0;background:transparent;color:#fff}.plan-detail.is-phone .back-btn:hover,.plan-detail.is-phone .trip-settings-btn:hover{background:#ffffff24!important}.plan-detail.is-phone .plan-detail-title{position:static;left:auto;min-width:0;max-width:none;transform:none;text-align:left}.plan-detail.is-phone .plan-detail-title h2{font-size:15px;font-weight:800;line-height:1.25}.plan-detail.is-phone .plan-detail-meta{display:flex;min-width:0;justify-content:flex-start;gap:5px;margin-top:2px;overflow:hidden;color:#ffffffd1;font-size:var(--font-size-meta, 12px);line-height:var(--line-height-tight, 1.2);opacity:1;flex-wrap:nowrap;white-space:nowrap}.plan-detail.is-phone .plan-detail-meta svg,.plan-detail.is-phone .plan-detail-destination{display:none}.plan-detail.is-phone .plan-detail-dates,.plan-detail.is-phone .plan-detail-members{display:inline-flex;min-width:0;gap:0}.plan-detail.is-phone .plan-detail-members:before{content:"·";margin-right:5px}.plan-detail.is-phone .plan-detail-actions{width:44px;justify-self:end;margin-left:0}.plan-detail.is-phone .trip-guide-btn{display:none}.phone-section-plan{--day-accent: #216F7A !important}.phone-section-plan .itinerary-day-nav{min-height:58px;padding:8px 7px;border-bottom:1px solid var(--border);background:var(--surface)}.phone-section-plan .day-nav-btn{display:none}.phone-section-plan .itinerary-day-tabs{gap:5px;padding:1px 3px;scroll-padding-inline:3px;scroll-snap-type:x proximity}.phone-section-plan .day-tab{width:62px;min-width:62px;height:46px;flex:0 0 62px;justify-content:center;gap:3px;padding:0;border-radius:999px;scroll-snap-align:center}.phone-section-plan .day-tab:before{display:none}.phone-section-plan .day-tab-num{font-size:13px}.phone-section-plan .day-tab-date{font-size:10px}.phone-section-plan .itinerary-day-subheader{display:grid;min-height:0;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;padding:14px 14px 13px;border-bottom:1px solid var(--border);background:var(--surface)}.itinerary-mobile-day-copy{display:grid;min-width:0;gap:4px}.itinerary-mobile-day-kicker{color:var(--stay-accent);font-size:var(--font-size-micro, 11px);font-weight:850;line-height:var(--line-height-tight, 1.2);letter-spacing:.07em;text-transform:uppercase}.itinerary-mobile-day-copy h2{margin:0;overflow:hidden;color:var(--text);font-size:20px;line-height:1.18;letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap}.itinerary-mobile-day-copy p{margin:0;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.phone-section-plan .itinerary-day-manage{display:grid;grid-template-columns:1fr;gap:4px;margin:0}.phone-section-plan .itinerary-day-manage button{min-height:40px;padding:7px 9px;border-radius:8px;font-size:12px;line-height:1.25}.phone-section-plan .itinerary-day-action-panel{gap:13px;margin-inline:12px;padding:15px}.phone-section-plan .itinerary-day-action-heading{gap:10px}.phone-section-plan .itinerary-day-action-heading strong{font-size:16px}.phone-section-plan .itinerary-day-action-heading span,.phone-section-plan .itinerary-day-action-panel>p{font-size:13px;line-height:1.55}.phone-section-plan .itinerary-day-action-options>button{gap:5px;padding:12px}.phone-section-plan .itinerary-day-action-options span{font-size:14px}.phone-section-plan .itinerary-day-action-options small{font-size:12.5px;line-height:1.55}.phone-section-plan .itinerary-day-action-buttons button{min-height:44px;font-size:13px}.phone-section-plan .itinerary-scroll-region{background:var(--bg)}.phone-section-plan .itinerary-flight-summary{margin-top:9px}}html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .itinerary-mobile-day-kicker{letter-spacing:0;text-transform:none}.transport-routes-section{--transport-accent: #18786d;--transport-accent-soft: #e7f6f3;display:grid;min-width:0;gap:10px;margin-top:2px;padding-top:16px;border-top:1px solid var(--border)}.transport-routes-header{display:flex;min-width:0;align-items:flex-start;justify-content:space-between;gap:14px}.transport-routes-header>div{display:grid;min-width:0;gap:2px}.transport-routes-header h4{margin:0;color:var(--text);font-size:var(--font-size-section-title, 16px);line-height:var(--line-height-tight, 1.2)}.transport-routes-header p{max-width:430px;margin:0;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.transport-add-button{display:inline-flex;min-height:36px;flex:0 0 auto;align-items:center;justify-content:center;gap:5px;padding:7px 10px;font-size:var(--font-size-control, 13px);line-height:var(--line-height-tight, 1.2);white-space:nowrap}.transport-empty{display:grid;width:100%;min-height:66px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px dashed color-mix(in srgb,var(--transport-accent) 34%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--transport-accent-soft) 38%,var(--surface));color:var(--transport-accent);cursor:pointer;font:inherit;text-align:left}.transport-empty>svg:first-child{display:block;width:34px;height:34px;padding:8px;border-radius:10px;background:var(--surface)}.transport-empty>span{display:grid;min-width:0;gap:2px}.transport-empty strong{color:var(--text);font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.transport-empty small{color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.transport-route-list{display:grid;min-width:0;gap:8px}.transport-route-card{position:relative;display:grid;min-width:0;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;overflow:hidden;padding:10px 11px;border:1px solid color-mix(in srgb,var(--transport-accent) 18%,var(--border));border-radius:12px;background:var(--surface);box-shadow:0 3px 12px #221f1b0a}.transport-route-card:before{position:absolute;inset:0 auto 0 0;width:3px;background:var(--transport-accent);content:""}.transport-route-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:var(--transport-accent-soft);color:var(--transport-accent)}.transport-route-main{display:grid;min-width:0;gap:2px}.transport-route-eyebrow{color:var(--transport-accent);font-size:var(--font-size-micro, 11px);font-weight:850;letter-spacing:.06em;line-height:var(--line-height-tight, 1.2);text-transform:uppercase}.transport-route-main>strong{overflow:hidden;color:var(--text);font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35);text-overflow:ellipsis;white-space:nowrap}.transport-route-stops{display:flex;min-width:0;align-items:center;gap:2px;overflow:hidden;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35);white-space:nowrap}.transport-route-stops>span{display:inline-flex;min-width:0;max-width:min(170px,42%);flex:0 1 auto;align-items:center;gap:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transport-route-stops svg{flex:0 0 auto;color:color-mix(in srgb,var(--transport-accent) 70%,var(--text-muted))}.transport-route-meta{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:3px 10px;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .transport-route-eyebrow{letter-spacing:0;text-transform:none}.transport-route-meta>span{display:inline-flex;min-width:0;align-items:center;gap:3px}.transport-route-meta svg{flex:0 0 auto;color:var(--transport-accent)}.transport-route-meta>span[title]{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transport-route-actions{align-self:center}.transport-route-actions button{width:32px;height:32px}.transport-delete-confirm{grid-column:1 / -1;margin:0 -11px -10px;border-radius:0 0 11px 11px}.transport-editor-overlay{z-index:1100}.transport-editor-modal{width:min(680px,calc(100vw - 28px));max-width:680px;max-height:92dvh;padding:22px;transition:opacity .12s ease}.transport-editor-modal .modal-header{align-items:flex-start;margin-bottom:14px}.transport-editor-modal .modal-header>div{display:grid;min-width:0;gap:3px}.transport-editor-modal .modal-header h3{margin:0}.transport-editor-modal .modal-header>button{display:inline-grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:9px}.transport-editor-modal form{display:grid;min-width:0;gap:12px}.transport-editor-modal .form-group{min-width:0;margin:0}.transport-editor-modal .form-group label{margin-bottom:5px;font-size:var(--font-size-control, 13px);line-height:var(--line-height-compact, 1.35)}.transport-editor-modal .form-group label small{color:var(--text-muted);font-size:var(--font-size-meta, 12px);font-weight:550;line-height:var(--line-height-body, 1.5)}.transport-editor-modal .form-group input,.transport-editor-modal .form-group select,.transport-editor-modal .form-group textarea{min-width:0;min-height:36px;padding:9px 10px;font-size:var(--font-size-control, 13px);line-height:var(--line-height-compact, 1.35)}.transport-editor-modal .form-group select:focus{border-color:var(--primary);box-shadow:var(--focus-ring)}.transport-editor-grid{display:grid;min-width:0;grid-template-columns:minmax(110px,.65fr) minmax(90px,.48fr) minmax(190px,1.45fr);gap:10px}.transport-time-row{display:grid;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.transport-stops-editor{display:grid;min-width:0;gap:8px;padding:11px;border:1px solid color-mix(in srgb,var(--transport-accent) 20%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--transport-accent-soft) 28%,var(--surface))}.transport-editor-section-heading{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px}.transport-editor-section-heading>div{display:grid;min-width:0;gap:1px}.transport-editor-section-heading strong{color:var(--text);font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.transport-editor-section-heading small{color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.transport-editor-section-heading>button{display:inline-flex;min-height:36px;flex:0 0 auto;align-items:center;justify-content:center;gap:4px;padding:6px 8px;font-size:var(--font-size-control, 13px);line-height:var(--line-height-tight, 1.2)}.transport-stop-list{display:grid;min-width:0;gap:6px;margin:0;padding:0;list-style:none}.transport-stop-list>li{display:grid;min-width:0;grid-template-columns:25px minmax(0,1fr) auto auto;align-items:center;gap:7px;padding:7px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.transport-stop-list>li.is-mapped{border-color:color-mix(in srgb,var(--transport-accent) 38%,var(--border))}.transport-stop-number{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:var(--bg);color:var(--text-muted);font-size:9px;font-weight:850}.transport-stop-list>li.is-mapped .transport-stop-number{background:var(--transport-accent-soft);color:var(--transport-accent)}.transport-stop-copy{display:grid;min-width:0;gap:3px}.transport-stop-copy label{color:var(--text-muted);font-size:var(--font-size-control, 13px);font-weight:800;line-height:var(--line-height-compact, 1.35)}.transport-stop-copy input{width:100%;min-width:0;min-height:36px;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:2px 0 4px;outline:none;background:transparent;color:var(--text);font-size:var(--font-size-control, 13px);font-weight:700;line-height:var(--line-height-compact, 1.35)}.transport-stop-copy input:focus{border-bottom-color:var(--transport-accent);box-shadow:0 2px color-mix(in srgb,var(--transport-accent) 20%,transparent)}.transport-stop-copy small{overflow:hidden;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35);text-overflow:ellipsis;white-space:nowrap}.transport-map-pick,.transport-stop-remove{display:inline-flex;min-height:32px;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-muted);cursor:pointer;font:inherit}.transport-map-pick{min-height:36px;gap:4px;padding:6px 8px;color:var(--transport-accent);font-size:var(--font-size-control, 13px);font-weight:800;line-height:var(--line-height-tight, 1.2)}.transport-stop-remove{width:32px;padding:0}.transport-map-option{margin:0}.transport-note-field textarea{min-height:58px;resize:vertical}.transport-editor-modal .modal-actions{margin:0;padding-top:10px;border-top:1px solid var(--border)}.transport-editor-modal .modal-actions button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;font-size:var(--font-size-control, 13px);line-height:var(--line-height-tight, 1.2)}.transport-editor-overlay.is-map-picking{background:transparent;pointer-events:none}.transport-editor-overlay.is-map-picking .transport-editor-modal{visibility:hidden;opacity:0;pointer-events:none}.transport-add-button:focus-visible,.transport-empty:focus-visible,.transport-route-actions button:focus-visible,.transport-editor-modal .modal-header>button:focus-visible,.transport-editor-section-heading>button:focus-visible,.transport-map-pick:focus-visible,.transport-stop-remove:focus-visible{outline:none;box-shadow:var(--focus-ring)}@media (hover: hover){.transport-empty:hover,.transport-route-card:hover{border-color:color-mix(in srgb,var(--transport-accent) 48%,var(--border))}.transport-map-pick:hover{border-color:var(--transport-accent);background:var(--transport-accent-soft)}.transport-stop-remove:hover{border-color:#fecaca;background:#fff7f7;color:#dc2626}}@media (pointer: coarse){.transport-add-button,.transport-route-actions button,.transport-editor-modal .modal-header>button,.transport-editor-section-heading>button,.transport-map-pick,.transport-stop-remove,.transport-editor-modal .modal-actions button{min-width:44px;min-height:44px}}@media (max-width: 768px){.transport-routes-section{gap:9px;margin-top:0;padding-top:14px}.transport-routes-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.transport-routes-header h4{font-size:var(--font-size-section-title, 16px)}.transport-routes-header p{max-width:280px;font-size:var(--font-size-meta, 12px)}.transport-add-button{align-self:center}.transport-empty{min-height:64px;grid-template-columns:32px minmax(0,1fr) auto;gap:8px;padding:9px 10px}.transport-empty>svg:first-child{width:32px;height:32px;padding:7px}.transport-route-card{grid-template-columns:32px minmax(0,1fr) auto;align-items:start;gap:8px;padding:9px 9px 9px 10px}.transport-route-icon{width:32px;height:32px;border-radius:9px}.transport-route-main>strong{font-size:var(--font-size-card-title, 14px)}.transport-route-stops>span{max-width:46%}.transport-route-meta>span[title]{max-width:180px}.transport-route-actions{flex-direction:column;gap:3px}.transport-delete-confirm{align-items:stretch;flex-direction:column;margin:1px -9px -9px -10px}.transport-delete-confirm>div{justify-content:flex-end}.transport-editor-overlay{align-items:flex-end;padding:0}.transport-editor-modal{width:100%;max-width:none;max-height:94dvh;border-radius:22px 22px 0 0;padding:18px 14px max(18px,env(safe-area-inset-bottom))}.transport-editor-modal .modal-header{margin-bottom:12px}.transport-editor-modal .modal-header h3{font-size:17px}.transport-editor-modal form{gap:10px}.transport-editor-modal .form-group input,.transport-editor-modal .form-group select,.transport-editor-modal .form-group textarea{font-size:16px}.transport-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.transport-title-field{grid-column:1 / -1}.transport-time-row{gap:9px}.transport-stops-editor{gap:8px;padding:10px}.transport-editor-section-heading>div{padding-right:2px}.transport-stop-list>li{grid-template-columns:24px minmax(0,1fr) 44px auto;gap:6px;padding:7px 6px}.transport-map-pick{width:44px;padding:0}.transport-map-pick span{display:none}.transport-stop-remove{width:44px}.transport-stop-copy input{font-size:16px}.transport-editor-modal .modal-actions{position:sticky;bottom:0;z-index:2;margin:0 -14px -18px;padding:10px 14px max(18px,env(safe-area-inset-bottom));background:var(--surface)}.transport-editor-modal .modal-actions button{min-height:44px}}@media (max-width: 430px){.transport-routes-header p{display:none}.transport-route-meta{gap-inline:7px}.transport-route-meta>span[title]{max-width:135px}.transport-editor-section-heading small{max-width:165px}}@media (max-width: 359px){.transport-routes-header{align-items:start}.transport-add-button{padding-inline:8px;font-size:var(--font-size-control, 13px)}.transport-editor-grid,.transport-time-row{grid-template-columns:minmax(0,1fr)}.transport-title-field{grid-column:auto}.transport-editor-section-heading{align-items:flex-start}.transport-editor-section-heading small{max-width:145px}.transport-stop-list>li{grid-template-columns:22px minmax(0,1fr) 44px 44px;gap:5px}.transport-map-pick,.transport-stop-remove{width:44px;min-width:44px}}@media (prefers-reduced-motion: reduce){.transport-editor-modal{transition:none}}.travel-toolbar-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:7px}.travel-toolbar-actions .flights-add-button{min-height:36px;padding:7px 10px;font-size:var(--font-size-control, 13px);line-height:var(--line-height-tight, 1.2)}.travel-type-filters{position:sticky;top:0;z-index:8;display:inline-flex;align-self:flex-start;gap:4px;padding:4px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 5px 18px #221f1b0f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.travel-type-filters button{display:inline-flex;min-height:32px;align-items:center;justify-content:center;gap:5px;padding:6px 9px;border:0;border-radius:9px;background:transparent;color:var(--text-muted);cursor:pointer;font:inherit;font-size:var(--font-size-control, 13px);font-weight:800;line-height:var(--line-height-tight, 1.2)}.travel-type-filters button small{display:grid;min-width:19px;height:19px;place-items:center;padding:0 5px;border-radius:999px;background:var(--bg);color:var(--text-muted);font-size:9px}.travel-type-filters button.active{background:var(--primary);color:#fff}.travel-type-filters button.active small{background:#fff3;color:#fff}.travel-type-filters button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.travel-timeline{display:grid;min-width:0;gap:15px}.travel-day-group{display:grid;min-width:0;gap:7px}.travel-day-group>header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:0 2px}.travel-day-group>header strong{color:var(--text);font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.travel-day-group>header time{color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.travel-day-items{display:grid;min-width:0;gap:8px}.travel-filter-empty{display:grid;min-height:110px;place-items:center;align-content:center;gap:3px;padding:20px;border:1px dashed var(--border);border-radius:14px;background:var(--surface);color:var(--text-muted);text-align:center}.travel-filter-empty strong{color:var(--text);font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.travel-filter-empty span{font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.travel-empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:7px}.travel-sharing-note{display:flex;align-items:flex-start;gap:6px;padding:2px 3px;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.travel-sharing-note svg{flex:0 0 auto;margin-top:1px;color:#0f766e}.flight-journey{border-radius:13px}.flight-journey>summary.flight-journey-summary{display:grid;min-height:58px;grid-template-columns:32px minmax(0,1fr) 20px;align-items:center;gap:9px;padding:9px 11px;background:color-mix(in srgb,var(--accent-soft) 27%,var(--surface));cursor:pointer;list-style:none}.flight-journey>summary::-webkit-details-marker{display:none}.flight-journey>summary>svg{color:var(--primary);transition:transform .16s ease}.flight-journey[open]>summary>svg{transform:rotate(180deg)}.flight-journey-summary .flight-journey-number{width:30px;height:30px;border-radius:9px}.flight-journey-summary-copy{display:grid;min-width:0;gap:3px}.flight-journey-summary-copy strong{overflow:hidden;color:var(--text);font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35);text-overflow:ellipsis;white-space:nowrap}.flight-journey-summary-copy small{overflow:hidden;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35);text-overflow:ellipsis;white-space:nowrap}.flight-journey[open]>.flight-journey-segments{border-top:1px solid var(--border)}.flight-journey .flight-segment-label{font-size:var(--font-size-micro, 11px);line-height:var(--line-height-tight, 1.2)}.flight-add-leg{display:flex;width:100%;min-height:38px;align-items:center;justify-content:center;gap:6px;border:0;border-top:1px solid var(--border);background:color-mix(in srgb,var(--accent-soft) 22%,var(--surface));color:var(--primary);cursor:pointer;font:inherit;font-size:var(--font-size-control, 13px);font-weight:850;line-height:var(--line-height-tight, 1.2)}.flight-add-leg:hover{background:var(--accent-soft)}.flight-add-leg:focus-visible{outline:none;box-shadow:inset var(--focus-ring)}.travel-day-items>.transport-route-card{border-radius:13px;box-shadow:0 5px 18px #221f1b09}.travel-day-items .transport-route-eyebrow{font-size:var(--font-size-micro, 11px)}.travel-day-items .transport-route-main>strong{font-size:var(--font-size-card-title, 14px)}.travel-day-items .transport-route-stops,.travel-day-items .transport-route-meta{font-size:var(--font-size-meta, 12px)}.flight-editor-modal{width:min(690px,calc(100vw - 28px));max-width:690px;padding:20px}.flight-editor-modal form{display:grid;gap:10px}.flight-editor-leg-path{color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.flight-editor-basics{padding-top:6px;border-top:0}.flight-editor-route-pair{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);align-items:center;gap:0;padding:2px 0;border-top:1px solid var(--border)}.flight-editor-route-pair .flight-editor-section{align-self:stretch;padding:12px 0;border-top:0}.flight-editor-route-pair .flight-route-divider{padding:0 7px}.flight-editor-route-pair .flight-airport-row{grid-template-columns:70px minmax(0,1fr);gap:8px}.flight-editor-disclosure{overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.flight-editor-disclosure>summary{display:grid;min-height:48px;grid-template-columns:20px minmax(0,1fr) 18px;align-items:center;gap:8px;padding:8px 11px;color:var(--primary);cursor:pointer;list-style:none}.flight-editor-disclosure>summary::-webkit-details-marker{display:none}.flight-editor-disclosure>summary>span{display:grid;min-width:0;gap:1px}.flight-editor-disclosure>summary strong{color:var(--text);font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.flight-editor-disclosure>summary small{color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.flight-editor-disclosure>summary>svg:last-child{transition:transform .16s ease}.flight-editor-disclosure[open]>summary>svg:last-child{transform:rotate(180deg)}.flight-editor-disclosure[open]>summary{border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--accent-soft) 24%,var(--surface))}.flight-lookup-disclosure .flight-lookup-section{display:grid;gap:9px;margin:0;padding:11px;border:0;border-radius:0}.flight-lookup-disclosure .flight-lookup-controls{grid-template-columns:minmax(120px,.75fr) minmax(145px,1fr) auto}.flight-editor-advanced-body{display:grid;padding:0 12px 12px}.flight-editor-advanced-body .flight-editor-section:first-child{border-top:0}.flight-terminal-details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.flight-editor-actions{position:sticky;bottom:-20px;z-index:3;align-items:center;margin:2px -20px -20px;padding:11px 20px 20px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface) 96%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.flight-editor-actions>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.flight-editor-actions button{min-height:38px}.flight-save-next{gap:5px}.transport-map-pick{min-width:92px;font-size:var(--font-size-control, 13px);line-height:var(--line-height-tight, 1.2)}@media (max-width: 768px){.flights-workspace-header{gap:9px}.travel-toolbar-actions{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}.travel-toolbar-actions .flights-add-button{min-height:44px;justify-content:center}.travel-toolbar-actions .flights-add-button:first-child{grid-column:1 / -1}.travel-type-filters{width:100%;align-self:stretch}.travel-type-filters button{min-height:44px;flex:1 1 0;padding-inline:6px}.flight-journey>summary.flight-journey-summary{min-height:62px;grid-template-columns:34px minmax(0,1fr) 20px;padding:10px}.flight-journey-summary-copy strong{font-size:var(--font-size-card-title, 14px)}.flight-journey-summary-copy small{font-size:var(--font-size-meta, 12px)}.flight-add-leg{min-height:44px;font-size:var(--font-size-control, 13px)}.flight-editor-modal{padding:16px 14px max(16px,env(safe-area-inset-bottom))}.flight-editor-route-pair{grid-template-columns:minmax(0,1fr)}.flight-editor-route-pair .flight-route-divider{padding:0 20px}.flight-editor-route-pair .flight-airport-row{grid-template-columns:78px minmax(0,1fr)}.flight-lookup-disclosure .flight-lookup-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.flight-lookup-disclosure .flight-lookup-button{grid-column:1 / -1;min-height:44px}.flight-terminal-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flight-editor-disclosure>summary{min-height:52px}.flight-editor-actions{bottom:calc(-1*max(18px,env(safe-area-inset-bottom)));align-items:stretch;margin:2px -14px calc(-1*max(18px,env(safe-area-inset-bottom)));padding:10px 14px max(18px,env(safe-area-inset-bottom))}.flight-editor-actions>div{display:grid;flex:1;grid-template-columns:repeat(2,minmax(0,1fr))}.flight-editor-actions button{min-height:44px}.transport-stop-list>li{grid-template-columns:24px minmax(0,1fr) 44px;grid-template-rows:auto auto;align-items:center}.transport-stop-number{grid-row:1 / span 2;grid-column:1}.transport-stop-copy{grid-row:1;grid-column:2}.transport-map-pick{width:max-content;min-width:112px;min-height:44px;grid-row:2;grid-column:2;justify-self:start;padding:6px 9px;font-size:var(--font-size-control, 13px)}.transport-map-pick span{display:inline}.transport-stop-remove{grid-row:1 / span 2;grid-column:3}}@media (max-width: 430px){.travel-type-filters button svg{display:none}.travel-type-filters button{font-size:var(--font-size-control, 13px)}.flight-terminal-details-grid{grid-template-columns:minmax(0,1fr)}.flight-editor-actions{display:grid;grid-template-columns:minmax(72px,.4fr) minmax(0,1fr);gap:7px}.flight-editor-actions>div{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){.flight-journey>summary>svg,.flight-editor-disclosure>summary>svg:last-child{transition:none}}.day-route-optimizer{display:grid;gap:10px;margin:0 14px 10px;padding:12px;border:1px solid color-mix(in srgb,var(--primary) 22%,var(--border));border-radius:14px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent-soft) 62%,white),var(--surface) 62%);box-shadow:0 9px 26px #221f1b12}.day-route-optimizer.is-collapsed{gap:0;padding:8px 9px;border-color:transparent;background:transparent;box-shadow:none}.day-route-optimizer-heading{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:start;gap:9px}.day-route-optimizer.is-collapsed .day-route-optimizer-heading{align-items:center}.day-route-optimizer-icon{display:grid;width:32px;height:32px;place-items:center;border-radius:10px;background:var(--primary);color:#fff}.day-route-optimizer-heading>div{display:grid;gap:2px;min-width:0}.day-route-optimizer-heading strong{color:var(--text);font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.day-route-optimizer-heading span:not(.day-route-optimizer-icon):not(.day-route-policy){color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.day-route-policy{padding:4px 7px;border:1px solid color-mix(in srgb,var(--primary) 25%,transparent);border-radius:999px;background:#fff;color:var(--primary);font-size:var(--font-size-micro, 11px);font-weight:800;line-height:var(--line-height-tight, 1.2);white-space:nowrap}.day-route-optimizer.is-collapsed .day-route-optimizer-heading>div>span,.day-route-optimizer.is-collapsed .day-route-policy{display:none}.day-route-optimizer-content{display:grid;gap:10px}.day-route-optimizer-content[hidden]{display:none}.day-route-start{display:flex;align-items:center;gap:9px}.day-route-start>small{color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.day-route-optimizer button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:5px;border:1px solid var(--border);border-radius:8px;padding:6px 9px;background:#fff;color:var(--text);font-family:inherit;font-size:var(--font-size-control, 13px);font-weight:800;line-height:var(--line-height-tight, 1.2)}.day-route-optimizer button.btn-primary{border-color:var(--primary);background:var(--primary);color:#fff}.day-route-optimizer button:disabled{cursor:not-allowed;opacity:.5}.day-route-optimizer button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.day-route-optimizer button.day-route-toggle{width:32px;min-height:32px;padding:0}.day-route-toggle svg{transition:transform .18s ease}.day-route-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.day-route-loading,.day-route-error,.day-route-efficient,.day-route-applied{display:flex;align-items:center;gap:8px;min-height:38px;border-radius:10px;padding:8px 9px;background:#fff;color:var(--text-muted);font-size:var(--font-size-body, 13px);line-height:var(--line-height-compact, 1.35)}.day-route-loading svg.is-spinning{animation:day-route-spin .9s linear infinite;color:var(--primary)}.day-route-loading>span{min-width:0;flex:1}.day-route-error{border:1px solid #fed7aa;background:#fff7ed;color:#9a3412}.day-route-error>span,.day-route-efficient>span,.day-route-applied>span{display:grid;flex:1;gap:1px;min-width:0}.day-route-error small,.day-route-efficient small,.day-route-applied small{color:inherit;font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.day-route-efficient,.day-route-applied{border:1px solid #bbf7d0;background:#f0fdf4;color:#166534}.day-route-preview{display:grid;gap:9px}.day-route-order-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.day-route-order-comparison>div{min-width:0;border:1px solid var(--border);border-radius:10px;padding:8px;background:#fff}.day-route-order-comparison>div.is-proposed{border-color:color-mix(in srgb,var(--primary) 38%,var(--border));background:color-mix(in srgb,var(--accent-soft) 52%,white)}.day-route-order-comparison small,.day-route-metrics small{display:block;margin-bottom:3px;color:var(--text-muted);font-size:var(--font-size-micro, 11px);font-weight:800;line-height:var(--line-height-tight, 1.2);letter-spacing:.06em;text-transform:uppercase}.day-route-order-comparison p{margin:0;color:var(--text);font-size:var(--font-size-body, 13px);font-weight:700;line-height:var(--line-height-body, 1.5);overflow-wrap:anywhere}.day-route-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.day-route-metrics>span{border-radius:9px;padding:7px;background:#ffffffc7}.day-route-metrics strong{color:var(--text);font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.day-route-mode-summary{display:flex;flex-wrap:wrap;gap:6px}.day-route-mode-summary>span{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:4px 7px;background:#eef2ff;color:#4338ca;font-size:var(--font-size-micro, 11px);font-weight:800;line-height:var(--line-height-tight, 1.2)}.day-route-mode-summary>span.is-fallback{background:#fff7ed;color:#9a3412}.day-route-schedule-preview{display:grid;gap:0;margin:0;padding:0;list-style:none}.day-route-schedule-preview li{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px;min-height:42px;padding:5px 0}.day-route-schedule-preview li:not(:last-child):after{position:absolute;top:29px;bottom:-5px;left:20px;border-left:1px dashed color-mix(in srgb,var(--primary) 38%,var(--border));content:""}.day-route-schedule-preview time{align-self:start;border-radius:7px;padding:4px 5px;background:#fff;color:var(--primary);font-size:var(--font-size-micro, 11px);font-weight:900;line-height:var(--line-height-tight, 1.2);text-align:center}.day-route-schedule-preview li>span{display:grid;align-content:start;gap:2px;min-width:0;padding-top:2px}.day-route-schedule-preview li strong{color:var(--text);font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35);overflow-wrap:anywhere}.day-route-schedule-preview li small{display:flex;align-items:center;gap:3px;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.day-route-slot-stop{display:flex;min-width:0;align-items:center;gap:5px}.day-route-slot-stop>small{flex:0 0 auto;border-radius:999px;padding:2px 5px;background:#eef2ff;color:#4338ca;font-size:var(--font-size-micro, 11px);font-weight:900;line-height:var(--line-height-tight, 1.2)}.day-route-slot-stop>strong{min-width:0}.day-route-slot-stop>svg{flex:0 0 auto;color:var(--primary)}.day-route-incoming-leg{flex-wrap:wrap}.day-route-incoming-leg>b{border-radius:999px;padding:1px 4px;background:var(--bg);color:var(--text-muted);font-size:var(--font-size-micro, 11px);line-height:var(--line-height-tight, 1.2)}.day-route-notice,.day-route-warning{margin:0;border-radius:8px;padding:7px 8px;background:#ffffffb8;color:var(--text-muted);font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.day-route-notice:has(>svg){display:flex;align-items:center;gap:5px}.day-route-notice.is-warning{background:#fff7ed;color:#9a3412}.day-route-warning{display:flex;align-items:flex-start;gap:5px;background:#fef2f2;color:#b91c1c}html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .day-route-order-comparison small,html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .day-route-metrics small{letter-spacing:0;text-transform:none}.day-route-actions{display:flex;flex-wrap:wrap;gap:7px}@keyframes day-route-spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.day-route-optimizer{margin-inline:10px;padding:11px}.day-route-optimizer.is-collapsed{padding:7px 8px}.day-route-start{align-items:stretch;flex-direction:column}.day-route-start>button{align-self:start}.day-route-optimizer button{min-height:40px}.day-route-optimizer button.day-route-toggle{width:40px;min-height:40px}.day-route-order-comparison{grid-template-columns:minmax(0,1fr)}.day-route-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 430px){.day-route-optimizer-heading{grid-template-columns:32px minmax(0,1fr) auto}.day-route-policy{grid-column:2;justify-self:start}.day-route-toggle{grid-column:3;grid-row:1}.day-route-metrics{grid-template-columns:minmax(0,1fr)}.day-route-actions{display:grid;grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){.day-route-loading svg.is-spinning{animation:none}.day-route-toggle svg{transition:none}.map-route-optimization-status.is-finding>svg{animation:none}.map-route-finding-progress:after{transition:none}}.app-version,.env-label,.map-hotel-label{font-size:var(--font-size-micro, 11px);line-height:var(--line-height-tight, 1.2)}.map-search-modes button,.swap-routes-button,.route-visit-move,.slot-reorder-menu button,.add-parallel-route,.route-choosing-place,.travel-connector-disclosure,.travel-manual-row button,.travel-align-preview button,.visit-move-picker button,.route-recovery-destinations button,.route-recovery-actions button,.custom-cat-input-row .custom-type-btn{font-size:var(--font-size-control, 13px);line-height:var(--line-height-tight, 1.2)}.map-schedule-conflict,.schedule-slot-conflict>p,.slot-feedback,.route-place-recovery,.visit-move-picker,.public-slot-conflict,.pdf-export-control small{font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.slot-shared-time,.travel-connector-summary,.travel-leg-details,.travel-manual-row,.travel-align-preview{font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.travel-manual-row input{font-size:var(--font-size-control, 13px);line-height:var(--line-height-compact, 1.35)}.route-row-label{font-size:var(--font-size-micro, 11px);line-height:var(--line-height-tight, 1.2)}.suggestion-heading{font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.smart-suggestions-intro p,.smart-suggestions-message,.suggestion-card>p,.suggestion-card dl div,.suggestion-preview,.suggestion-preview small{font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.suggestion-card dl div{grid-template-columns:minmax(92px,.75fr) minmax(0,1.25fr)}.map-days-grid button{font-size:var(--font-size-control, 13px);line-height:var(--line-height-tight, 1.2)}.map-transit-legend,.map-proposed-route-legend{font-size:var(--font-size-micro, 11px);line-height:var(--line-height-compact, 1.35)}.map-transit-legend strong,.map-proposed-route-legend strong{font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.map-route-optimization-status strong{font-size:var(--font-size-body, 13px);line-height:var(--line-height-compact, 1.35)}.map-route-optimization-status small{font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.stay-block-header,.stay-shortlist-header,.stay-cost-pill,.stay-pick-pill,.loc-type-badge{font-size:var(--font-size-micro, 11px);line-height:var(--line-height-tight, 1.2)}.stay-total-badge,.stay-candidate-address,.stay-candidate-meta,.stay-google-reviews-header span,.stay-google-reviews>p,.stay-considered-caption,.travel-route-goal small{font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.stay-candidate-place-name,.stay-candidate-name{font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.stay-google-reviews-header strong,.travel-route-goal strong{font-size:var(--font-size-body, 13px);line-height:var(--line-height-compact, 1.35)}.stay-google-reviews-toggle,.stay-considered-list .stay-promote-btn{min-height:32px;font-size:var(--font-size-control, 13px);line-height:var(--line-height-tight, 1.2)}.expenses-total-label,.expenses-total>small,.expense-form-heading small,.expense-section-heading small,.expense-split-toggle small,.expense-share-preview,.expense-inline-error,.expense-field-help,.expense-empty-state p,.expense-all-settled p,.expense-balance-intro p,.expense-privacy-note small,.expense-member-balances small,.expense-settlement-route small,.expense-payment-detail small,.expense-payment-missing,.expense-copy-toast,.expense-payment-history small,.expense-profile-default-heading small,.expense-profile-default-current,.expense-profile-default-confirm small,.expense-region-options small{font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.expense-section-tabs button,.expense-split-label-row>button,.expense-member-picker>button,.expense-delete-confirm button,.expense-payment-history button{font-size:var(--font-size-control, 13px);line-height:var(--line-height-tight, 1.2)}.expense-member-picker>button>span:not(.user-avatar),.expense-member-avatar{font-size:var(--font-size-micro, 11px);line-height:1}.expense-delete-confirm button,.expense-payment-history button{min-height:32px}.expense-form-heading strong,.expense-section-heading strong,.expense-region-options strong{font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.expense-split-toggle strong,.expense-member-balances strong,.expense-member-balances b,.expense-settlement-route b,.expense-payment-detail strong,.expense-payment-history strong,.expense-profile-default-heading strong,.expense-profile-default-confirm strong,.expense-payout-form legend,.expense-payout-member>strong{font-size:var(--font-size-body, 13px);line-height:var(--line-height-compact, 1.35)}.expense-currency-balance>h4,.expense-profile-default-badge{font-size:var(--font-size-micro, 11px);line-height:var(--line-height-tight, 1.2)}.chat-time,.note-panel-msg-meta,.trip-picture-empty span,.trip-picture-actions small,.form-label-hint,.trip-days-settings-hint,.admin-search-result small,.admin-roster-row small{font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.public-badge,.plan-card-public-badge,.plan-card-photo-caption,.trip-picture-crop-frame-label,.admin-roster h4,.admin-role-pill,.plan-card-admin-badge{font-size:var(--font-size-micro, 11px);line-height:var(--line-height-tight, 1.2)}.plan-card-photo-caption{font-family:var(--font-ui)}.trip-picture-size-control,.admin-management-status,.trip-panel-tabs button{font-size:var(--font-size-control, 13px);line-height:var(--line-height-compact, 1.35)}.admin-roster-row strong{font-size:var(--font-size-body, 13px);line-height:var(--line-height-compact, 1.35)}.pdf-export-dialog-header p,.pdf-export-mode-option small,.pdf-export-option-checkbox small,.calendar-export-summary span,.calendar-export-privacy{font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.pdf-export-form legend{font-size:var(--font-size-micro, 11px);line-height:var(--line-height-tight, 1.2)}.pdf-export-inline-options label,.pdf-export-inline-options select,.pdf-export-dialog-actions button,.pdf-export-error{font-size:var(--font-size-control, 13px);line-height:var(--line-height-compact, 1.35)}.pdf-export-mode-option strong,.pdf-export-option-checkbox strong,.calendar-export-summary strong,.flight-journey-header strong{font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.flight-journey-header small{font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.flight-add-connection{font-size:var(--font-size-control, 13px);line-height:var(--line-height-tight, 1.2)}.flight-member-picker button>span:not(.user-avatar){font-size:var(--font-size-micro, 11px);line-height:1}.mobile-trip-nav-item,.phone-stay-summary-copy small,.stays-panel-kicker,.stays-day-heading span{font-size:var(--font-size-meta, 12px);line-height:var(--line-height-tight, 1.2)}.phone-stay-summary-copy>span,.stays-panel-header p,.stays-day-heading strong{font-size:var(--font-size-body, 13px);line-height:var(--line-height-compact, 1.35)}.phone-stay-summary-action{font-size:var(--font-size-control, 13px);line-height:var(--line-height-tight, 1.2)}.feature-guide-eyebrow,.feature-guide-progress-row>span{font-size:var(--font-size-micro, 11px);line-height:var(--line-height-tight, 1.2)}.feature-guide-nav-label,.feature-guide-reopen{font-size:var(--font-size-meta, 12px);line-height:var(--line-height-body, 1.5)}.feature-guide-step li,.feature-guide-button{font-size:var(--font-size-control, 13px);line-height:var(--line-height-body, 1.5)}.travel-details-intro strong{font-size:var(--font-size-card-title, 14px);line-height:var(--line-height-compact, 1.35)}.travel-details-intro small,.travel-method-result small,.travel-time,.travel-leg-details dd{font-size:var(--font-size-meta, 12px);line-height:var(--line-height-compact, 1.35)}.travel-method-name,.travel-detail-lane,.travel-time>em,.travel-leg-details dt,.travel-manual-label,.travel-manual-unit{font-size:var(--font-size-micro, 11px);line-height:var(--line-height-tight, 1.2)}.travel-method-result strong,.travel-connector-card button:not(.travel-mode-btn):not(.travel-method-time){font-size:var(--font-size-control, 13px);line-height:var(--line-height-tight, 1.2)}html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .stay-block-header,html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .stay-shortlist-header,html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .phone-stay-summary-copy small,html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .stays-panel-kicker,html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .stays-day-heading span,html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .collaborators-list h4,html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .admin-roster h4,html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .expense-currency-balance>h4,html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .pdf-export-form legend,html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .feature-guide-eyebrow,html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .feature-guide-progress-row>span,html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .day-route-helper-controls label,html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .day-route-helper-metrics small,html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .day-route-helper-orders>div>small,html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .public-badge,html:is(:lang(zh-TW),:lang(ja),:lang(ko)) .plan-card-photo-caption{letter-spacing:0;text-transform:none}
