@font-face{font-family:DM Sans;src:url(/assets/DMSans-Variable-BqFM0jsg.woff2)format("woff2-variations"),url(/assets/DMSans-Variable-BqFM0jsg.woff2)format("woff2");font-weight:100 1000;font-style:normal;font-display:swap}@font-face{font-family:DM Sans;src:url(/assets/DMSans-Variable-Italic-tJNFpw6F.woff2)format("woff2-variations"),url(/assets/DMSans-Variable-Italic-tJNFpw6F.woff2)format("woff2");font-weight:100 1000;font-style:italic;font-display:swap}:root{--brand-25:#fff8f9;--brand-50:#fff1f3;--brand-100:#ffe1e7;--brand-200:#ffc9d2;--brand-300:#ff9cac;--brand-400:#ff6e85;--brand-500:#ff385c;--brand-600:#e31c5f;--brand-700:#b3134b;--plum-50:#fdf2f8;--plum-100:#fbcfe8;--plum-600:#c11574;--gray-25:#fdfdfc;--gray-50:#fafaf9;--gray-100:#f5f4f3;--gray-200:#e8e6e4;--gray-300:#d7d3d0;--gray-400:#a9a29d;--gray-500:#79716b;--gray-600:#57534d;--gray-700:#44403b;--gray-800:#292524;--gray-900:#1c1917;--success:#078768;--success-bg:#ecfdf3;--success-border:#abefc6;--warning:#ec9c00;--warning-ink:#92400e;--warning-bg:#fffaeb;--warning-border:#fedf89;--error:#f04438;--error-bg:#fef3f2;--error-border:#fecdca;--info:#2e90fa;--info-bg:#eff8ff;--danger-600:#d92d20;--fg-primary:#1c1917;--fg-secondary:#44403b;--fg-tertiary:#57534d;--fg-muted:#79716b;--fg-link:#e31c5f;--border-primary:#d7d3d0;--border-secondary:#e8e6e4;--border-tertiary:#f5f4f3;--bg-page:#faf7f6;--bg-card:#fff;--bg-page-rgb:250, 247, 246;--bg-card-rgb:255, 255, 255;--bg-elevated:#fff;--scrim:#1c191766;--hover-veil:#00000008;--toast-bg:#1c1917;--toast-fg:#fff;--danger-hover-bg:#fcdcda;--glass-bg:#ffffff8c;--glass-border:#ffffffc7;--bg-nav-2:#ffeece;--bg-nav-5:#f4f1fe;--grad-primary:linear-gradient(135deg, #ff385c 0%, #d70466 100%);--grad-button:linear-gradient(135deg, #e61e4d 0%, #d70466 100%);--grad-hero:radial-gradient(120% 120% at 0% 0%, #ff7a8e 0%, #ff385c 38%, #d70466 100%);--shadow-xs:0px 1px 2px #1c19170d;--shadow-sm:0px 1px 3px #1c19171a, 0px 1px 2px #1c19170f;--shadow-md:0px 4px 8px -2px #1c19171a, 0px 2px 4px -2px #1c19170f;--shadow-lg:0px 12px 16px -4px #1c19171a, 0px 4px 6px -2px #1c19170d;--shadow-xl:0px 20px 24px -4px #1c19171a, 0px 8px 8px -4px #1c19170a;--shadow-card:0px 0px 2px #ff385c14, 0px 4px 8px #1c19170d;--shadow-subtle:0px 0px 4px #ff385c0f, 0px 12px 24px #e31c5f14;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--radius-xl:12px;--radius-2xl:16px;--radius-3xl:20px;--radius-full:9999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--font-display:"DM Sans", system-ui, -apple-system, sans-serif;--font-body:"DM Sans", system-ui, -apple-system, sans-serif;--font-ui:"DM Sans", system-ui, -apple-system, sans-serif;--text-xs:12px;--lh-xs:18px;--text-base:16px;--text-sm:14px;--lh-sm:20px;--text-md:16px;--lh-md:24px;--text-lg:18px;--lh-lg:28px;--text-xl:20px;--lh-xl:30px;--text-2xl:24px;--lh-2xl:32px;--text-3xl:30px;--lh-3xl:38px;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--tap:44px;--ease:cubic-bezier(.4, 0, .2, 1);--dur-fast:.15s;--dur-base:.3s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}html,body,#root{background:var(--bg-page);min-height:100vh;color:var(--fg-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;color:var(--fg-primary);margin:0}h1{font-size:var(--text-3xl);line-height:var(--lh-3xl);font-weight:var(--fw-semibold);letter-spacing:-.025em}h2{font-size:var(--text-2xl);line-height:var(--lh-2xl);font-weight:var(--fw-semibold)}h3{font-size:var(--text-lg);line-height:var(--lh-lg);font-weight:var(--fw-semibold)}h4{font-size:var(--text-md);line-height:var(--lh-md);font-weight:var(--fw-semibold)}p{color:var(--fg-secondary);line-height:var(--lh-md);margin:0}button{font:inherit;font-family:var(--font-ui);font-weight:var(--fw-semibold);color:var(--fg-secondary);background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-md);cursor:pointer;min-height:var(--tap);transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);padding:8px 14px}@media (hover:hover){button:hover:not(:disabled):not(.on){background:var(--gray-100);border-color:var(--gray-400)}button.link:hover{background:0 0;text-decoration:underline}}button:focus-visible{outline-offset:0;outline:4px solid #e31c5f3d}button:disabled{opacity:.5;cursor:not-allowed}button.link{color:var(--fg-link);min-height:32px;font-weight:var(--fw-medium);border-radius:var(--radius-sm);background:0 0;border:none;margin:-4px -6px;padding:4px 6px}a.link,a.link:visited,:where(a),:where(a:visited){color:var(--fg-link)}a.link{font-weight:var(--fw-medium);text-decoration:none}a.link:hover{text-decoration:underline}.boot,.empty{min-height:60vh;color:var(--fg-muted);font-size:var(--text-sm);place-items:center;display:grid}.identity-picker{background:var(--bg-page);max-width:560px;min-height:100vh;margin:0 auto;padding:56px 20px 80px}.identity-header{text-align:center;margin-bottom:var(--space-8)}.identity-header .logo-wrap{border-radius:var(--radius-2xl);background:var(--brand-50);width:64px;height:64px;margin:0 auto var(--space-5);box-shadow:var(--shadow-subtle);place-items:center;display:grid}.identity-header .logo-wrap img{width:36px;height:36px}.identity-header h1{font-size:var(--text-2xl);line-height:var(--lh-2xl);margin-bottom:var(--space-2)}.identity-header p{color:var(--fg-tertiary);font-size:var(--text-sm);margin:2px 0}.identity-header .hint{margin-top:var(--space-6);color:var(--fg-secondary);font-weight:var(--fw-semibold);font-size:var(--text-md)}.identity-list{gap:10px;padding:0;list-style:none;display:grid}.identity-card{align-items:center;gap:var(--space-3);background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:var(--radius-xl);text-align:left;width:100%;min-height:68px;box-shadow:var(--shadow-xs);transition:box-shadow var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);padding:14px 16px;display:flex}@media (hover:hover){.identity-card:hover{box-shadow:var(--shadow-md);border-color:var(--gray-300)}}.identity-card .name{flex-direction:column;flex:1;gap:2px;display:flex}.identity-card .name strong{font-size:var(--text-md);color:var(--fg-primary);font-weight:var(--fw-semibold)}.identity-card .name small{color:var(--fg-tertiary);font-size:var(--text-xs);text-transform:capitalize}.avatar-unknown{background:var(--gray-200);color:var(--fg-muted);filter:grayscale()}.avatar{border-radius:var(--radius-full);color:#fff;font-weight:var(--fw-bold);font-family:var(--font-ui);flex-shrink:0;place-items:center;line-height:1;display:inline-grid}.avatar-xs{width:22px;height:22px;font-size:11px}.avatar-sm{width:32px;height:32px;font-size:14px}.avatar-md{width:44px;height:44px;font-size:18px}.avatar-stack{display:inline-flex}.avatar-stack .avatar{border:2px solid var(--bg-card);margin-left:-6px}.avatar-stack .avatar:first-child{margin-left:0}.name-tag{border-radius:var(--radius-full);background:var(--gray-50);border:1px solid var(--border-secondary);font-size:var(--text-xs);color:var(--fg-secondary);font-weight:var(--fw-medium);align-items:center;gap:6px;padding:3px 10px 3px 3px;display:inline-flex}.name-tag.muted{color:var(--fg-muted);background:var(--gray-50);border-style:dashed;padding-left:10px}.badge{border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--fw-semibold);font-family:var(--font-ui);background:var(--gray-100);color:var(--gray-700);border:1px solid var(--border-secondary);align-items:center;gap:4px;padding:3px 10px;line-height:18px;display:inline-flex}.badge.free-rider{background:var(--bg-nav-2);color:var(--warning-ink);border-color:var(--warning-border)}.badge.late{background:var(--plum-50);color:var(--plum-600);border-color:var(--plum-100)}.badge.driver{background:var(--brand-50);color:var(--brand-600);border-color:var(--brand-100)}.badge.car{background:var(--bg-nav-5);color:#6941c6;border-color:#e9d7fe}.badge.warn{background:var(--error-bg);color:var(--error);border-color:var(--error-border)}.badge.me{background:var(--brand-600);color:#fff;border-color:var(--brand-600)}.app-shell{max-width:760px;padding-bottom:calc(76px + env(safe-area-inset-bottom));flex-direction:column;min-height:100vh;margin:0 auto;display:flex}.app-header{z-index:5;background:rgba(var(--bg-page-rgb), .82);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-secondary);justify-content:space-between;align-items:center;padding:12px 20px;display:flex;position:sticky;top:0}.app-header .title{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.app-header .title>div{min-width:0}.app-header .title .logo{border-radius:var(--radius-md);background:var(--brand-50);place-items:center;width:36px;height:36px;display:grid}.app-header .title .logo img{width:24px;height:24px}.app-header .title strong{line-height:1.2;font-size:var(--text-sm);color:var(--fg-primary);font-weight:var(--fw-semibold);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.app-header .title small{color:var(--fg-tertiary);font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.app-header .me{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--fg-secondary);align-items:center;gap:8px;display:flex}.app-main{padding:var(--space-5) var(--space-5) var(--space-8);flex:1}.bottom-nav{background:rgba(var(--bg-card-rgb), .92);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border-secondary);padding-bottom:env(safe-area-inset-bottom);z-index:10;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{color:var(--fg-muted);font-size:11px;line-height:14px;font-family:var(--font-ui);font-weight:var(--fw-semibold);transition:color var(--dur-fast) var(--ease);flex-direction:column;align-items:center;gap:2px;min-width:0;min-height:56px;padding:8px 2px;text-decoration:none;display:flex}.bottom-nav a small{font-size:inherit;text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.bottom-nav a span{font-size:22px}.bottom-nav a.active{color:var(--brand-600)}.bottom-nav a.active span{transform:scale(1.05)}.itinerary-tab{gap:var(--space-4);display:grid}.itinerary-overview{gap:var(--space-4);padding:var(--space-4);background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);grid-template-columns:minmax(0,1fr) 180px;align-items:stretch;display:grid}.itinerary-overview-copy{flex-direction:column;justify-content:center;gap:4px;min-width:0;display:flex}.overview-kicker{color:var(--brand-700);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:0}.itinerary-overview h2{font-size:var(--text-xl);line-height:var(--lh-xl);letter-spacing:0}.itinerary-overview p{color:var(--fg-tertiary);font-size:var(--text-sm)}.itinerary-progress-card{padding:var(--space-3);border-radius:var(--radius-md);background:var(--gray-50);border:1px solid var(--border-tertiary);align-content:center;gap:2px;min-width:0;display:grid}.itinerary-progress-card span,.itinerary-progress-card small{color:var(--fg-tertiary);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--fw-medium)}.itinerary-progress-card strong{color:var(--fg-primary);font-size:var(--text-2xl);line-height:var(--lh-2xl);font-family:var(--font-display)}.itinerary-progress-track{height:7px;margin-top:var(--space-2);border-radius:var(--radius-full);background:var(--gray-200);overflow:hidden}.itinerary-progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--success), var(--info));height:100%;transition:width var(--dur-base) var(--ease);display:block}.itinerary-day-nav{z-index:4;overscroll-behavior-x:contain;scrollbar-width:none;margin:0 0 var(--space-1);background:rgba(var(--bg-page-rgb), .97);-webkit-backdrop-filter:blur(8px);gap:8px;padding:10px 0 12px;display:flex;position:sticky;top:60px;overflow-x:auto}.itinerary-day-nav::-webkit-scrollbar{display:none}.itinerary-day-nav button{text-align:left;border-radius:var(--radius-md);background:rgba(var(--bg-card-rgb), .86);border-color:var(--border-secondary);min-width:116px;min-height:50px;box-shadow:var(--shadow-xs);flex:none;align-content:center;gap:1px;padding:8px 12px;display:grid}.itinerary-day-nav button span{color:var(--fg-primary);font-size:var(--text-sm);font-weight:var(--fw-bold);line-height:18px}.itinerary-day-nav button small{color:var(--fg-tertiary);font-size:11px;line-height:16px;font-weight:var(--fw-medium);white-space:nowrap}.itinerary-day-nav button.is-active{border-color:var(--brand-600);background:var(--brand-50);box-shadow:0 0 0 3px #ff385c2e}.itinerary-day-nav button.is-active span,.itinerary-day-nav button.is-open span{color:var(--brand-700)}@media (hover:hover){.itinerary-day-nav button:hover:not(:disabled){background:var(--bg-card);border-color:var(--brand-200);transform:translateY(-1px)}}.jump-today{left:50%;bottom:calc(84px + env(safe-area-inset-bottom));z-index:9;border-radius:var(--radius-full);background:var(--bg-card);min-height:0;color:var(--brand-700);border:1px solid var(--brand-200);box-shadow:var(--shadow-lg);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--fw-semibold);padding:8px 16px;position:fixed;transform:translate(-50%)}@media (hover:hover){button.jump-today:hover{background:var(--brand-50);border-color:var(--brand-300)}}.day-stack{gap:var(--space-3);display:grid}.day-section{scroll-margin-top:144px}.day-header{gap:var(--space-4);width:100%;min-height:0;padding:var(--space-4);text-align:left;background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.day-section.is-open .day-header{border-color:var(--brand-200);box-shadow:var(--shadow-card)}.day-section.is-today .day-header{border-color:var(--brand-300);background:linear-gradient(180deg, var(--bg-card) 0%, var(--brand-25) 100%)}.day-header-main,.day-header-meta{min-width:0}.day-header-main{gap:4px;display:grid}.day-kicker{border-radius:var(--radius-full);background:var(--gray-100);width:fit-content;color:var(--fg-tertiary);font-family:var(--font-ui);font-size:11px;font-weight:var(--fw-bold);padding:2px 8px;line-height:16px}.day-section.is-today .day-kicker,.day-section.is-open .day-kicker{background:var(--brand-600);color:#fff}.day-title-row{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.day-title{color:var(--fg-primary);font-family:var(--font-display);font-size:var(--text-lg);line-height:var(--lh-lg);font-weight:var(--fw-bold);letter-spacing:0}.day-date,.day-subtitle{color:var(--fg-tertiary);font-family:var(--font-ui);font-size:var(--text-sm);line-height:var(--lh-sm)}.day-subtitle{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.day-header-meta{justify-content:flex-end;align-items:center;gap:8px;display:flex}.day-count,.day-time-range,.day-weather{border-radius:var(--radius-full);background:var(--gray-50);min-height:26px;color:var(--fg-secondary);border:1px solid var(--border-secondary);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--fw-semibold);white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:6px;padding:3px 9px;line-height:18px;display:inline-flex}.day-count{border-radius:var(--radius-md);flex-direction:column;align-items:flex-start;gap:0;line-height:16px}.day-count span{color:var(--fg-muted);font-size:11px;font-weight:var(--fw-medium)}.day-caret{border-radius:var(--radius-full);background:var(--gray-100);width:28px;height:28px;color:var(--fg-tertiary);transition:transform var(--dur-base) var(--ease), color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);place-items:center;display:grid}.day-section.is-open .day-caret{background:var(--brand-50);color:var(--brand-700);transform:rotate(180deg)}@media (hover:hover){button.day-header:hover:not(:disabled){background:var(--bg-card);border-color:var(--brand-200);box-shadow:var(--shadow-sm);transform:translateY(-1px)}}.day-panel{padding-top:var(--space-3);animation:itinerary-panel-in var(--dur-base) var(--ease)}@keyframes itinerary-panel-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.timeline{margin:0;padding:0;list-style:none;position:relative}.timeline:before{content:"";background:linear-gradient(to bottom, var(--border-secondary), #e8e6e400);width:2px;position:absolute;top:8px;bottom:8px;left:76px}.timeline-item{grid-template-columns:66px 28px 1fr;align-items:start;gap:12px;padding:8px 0;display:grid}.timeline-item .time-col{text-align:right;font-variant-numeric:tabular-nums;padding-top:16px}.timeline-item .time-col strong{font-size:var(--text-sm);font-family:var(--font-ui);font-weight:var(--fw-bold);color:var(--fg-primary);display:block}.timeline-item .time-col small{color:var(--fg-muted);font-size:var(--text-xs)}.timeline-item .dot{border-radius:var(--radius-full);background:var(--bg-card);border:2px solid var(--brand-200);width:28px;height:28px;box-shadow:var(--shadow-xs);z-index:1;place-items:center;margin-top:12px;font-size:14px;display:grid;position:relative}.timeline-item .content{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-secondary);min-width:0;box-shadow:var(--shadow-card);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);padding:14px 16px 16px}@media (hover:hover){.timeline-item .content:hover{border-color:var(--gray-300);box-shadow:var(--shadow-sm);transform:translateY(-1px)}}.timeline-item .item-topline{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.timeline-item .category-chip{border-radius:var(--radius-full);background:var(--gray-100);min-height:24px;color:var(--fg-tertiary);font-family:var(--font-ui);font-size:11px;font-weight:var(--fw-bold);align-items:center;padding:3px 8px;line-height:16px;display:inline-flex}.timeline-item .title{color:var(--fg-primary);font-size:var(--text-md);line-height:var(--lh-md);font-weight:var(--fw-bold);letter-spacing:0;margin:0}.timeline-item .loc{margin-top:var(--space-2);border-radius:var(--radius-md);background:var(--gray-50);border:1px solid var(--border-tertiary);color:var(--fg-secondary);font-size:var(--text-xs);line-height:var(--lh-sm);overflow-wrap:anywhere;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:7px;padding:8px 10px;display:grid}.timeline-item .notes{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--fg-secondary);line-height:var(--lh-sm)}.timeline-item .notes ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.timeline-item .notes li{overflow-wrap:anywhere;padding-left:16px;position:relative}.timeline-item .notes li:before{content:"";border-radius:var(--radius-full);background:var(--brand-300);width:5px;height:5px;position:absolute;top:.65em;left:2px}.timeline-item .content .meta{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-tertiary);font-size:var(--text-xs);color:var(--fg-tertiary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.timeline-item .people-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.timeline-item .meta .owner,.timeline-item .meta .parts{align-items:center;gap:6px;display:inline-flex}.owner-label,.parts-label{color:var(--fg-muted);font-family:var(--font-ui);font-weight:var(--fw-medium);font-size:var(--text-xs)}.cat-meal .dot{border-color:var(--warning-border);background:var(--warning-bg)}.cat-activity .dot{border-color:var(--brand-200);background:var(--brand-50)}.cat-travel .dot{background:var(--info-bg);border-color:#b2ddff}.cat-setup .dot{background:var(--bg-nav-5);border-color:#e9d7fe}.cat-rest .dot{background:#f0fdfa;border-color:#99f6e4}.cat-meal .category-chip{background:var(--warning-bg);color:var(--warning-ink)}.cat-activity .category-chip{background:var(--brand-50);color:var(--brand-700)}.cat-travel .category-chip{background:var(--info-bg);color:#175cd3}.cat-setup .category-chip{background:var(--bg-nav-5);color:#6941c6}.cat-rest .category-chip{color:#0f766e;background:#f0fdfa}@media (width<=640px){.itinerary-overview{padding:var(--space-3);grid-template-columns:1fr}.itinerary-overview h2{font-size:var(--text-lg);line-height:var(--lh-lg)}.itinerary-progress-card{align-items:center;column-gap:var(--space-3);grid-template-columns:1fr auto}.itinerary-progress-card small,.itinerary-progress-track{grid-column:1/-1}.itinerary-day-nav{margin-left:calc(var(--space-5) * -1);margin-right:calc(var(--space-5) * -1);padding-left:var(--space-5);padding-right:var(--space-5);top:60px}.itinerary-day-nav button{min-width:104px}.day-section{scroll-margin-top:136px}.day-header{gap:var(--space-3);padding:var(--space-3);grid-template-columns:1fr}.day-header-meta{flex-wrap:wrap;justify-content:flex-start}.day-subtitle{white-space:normal}.day-count{flex-direction:row;align-items:center;gap:6px}.timeline:before{left:54px}.timeline-item{grid-template-columns:44px 22px minmax(0,1fr);gap:8px}.timeline-item .time-col{padding-top:14px}.timeline-item .time-col strong{font-size:var(--text-xs)}.timeline-item .time-col small{font-size:11px;display:block}.timeline-item .dot{width:22px;height:22px;margin-top:12px;font-size:12px}.timeline-item .content{padding:12px}.timeline-item .item-topline{align-items:flex-start}.timeline-item .title{font-size:var(--text-sm);line-height:var(--lh-sm)}.timeline-item .notes{font-size:var(--text-xs)}.timeline-item .content .meta{align-items:flex-start}}@media (prefers-reduced-motion:reduce){.day-panel,.itinerary-progress-track span,.day-caret,.timeline-item .content,.itinerary-day-nav button,.day-header{transition:none;animation:none}}.itinerary-toolbar{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;margin-bottom:0}.itinerary-toolbar .ai-btn{margin-left:auto}.itinerary-view-toggle{border:1px solid var(--border-secondary);border-radius:var(--radius-full);background:var(--gray-100);gap:2px;padding:3px;display:inline-flex}.itinerary-view-toggle button{border-radius:var(--radius-full);min-height:34px;color:var(--fg-tertiary);font-size:var(--text-sm);font-weight:var(--fw-semibold);background:0 0;border:0;align-items:center;gap:6px;padding:5px 12px;display:inline-flex}.itinerary-view-toggle button.on{background:var(--bg-card);color:var(--fg-primary);box-shadow:var(--shadow-sm)}.itinerary-export-btn,.day-route-link{border:1px solid var(--border-secondary);border-radius:var(--radius-full);background:var(--bg-card);min-height:40px;color:var(--fg-secondary);font-size:var(--text-sm);font-weight:var(--fw-semibold);box-shadow:var(--shadow-xs);justify-content:center;align-items:center;gap:7px;padding:7px 13px;text-decoration:none;display:inline-flex}.itinerary-item-actions{align-items:center;gap:5px;margin-left:auto;display:inline-flex}.itinerary-order-btn{border-radius:var(--radius-full);background:var(--bg-card);border-color:var(--border-secondary);width:38px;height:38px;min-height:38px;color:var(--fg-tertiary);place-items:center;padding:0;display:grid}.itinerary-flags{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.itinerary-flags span{border-radius:var(--radius-full);background:var(--plum-50);color:var(--plum-600);border:1px solid var(--plum-100);font-size:11px;font-weight:var(--fw-semibold);padding:2px 7px}.form-label{color:var(--fg-secondary);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--fw-semibold)}.itinerary-route-options .switch-field{min-width:0}.day-map-panel{gap:var(--space-4);padding:var(--space-4);border:1px solid var(--border-secondary);border-radius:var(--radius-xl);background:var(--bg-card);box-shadow:var(--shadow-card);display:grid}.day-map-header{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.day-map-header h3{font-size:var(--text-xl);margin:3px 0}.day-map-header p{color:var(--fg-tertiary);font-size:var(--text-sm)}.day-route-link{color:var(--brand-700);border-color:var(--brand-200);flex-shrink:0}.day-map-layout{gap:var(--space-4);grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);min-width:0;display:grid}.day-map-stage{border:1px solid var(--border-secondary);border-radius:var(--radius-xl);background:var(--gray-50);min-width:0;min-height:460px;overflow:hidden}.day-map-canvas-wrap,.day-map-canvas{width:100%;min-height:460px;position:relative}.day-map-canvas{background:var(--gray-100)}.day-map-loading{z-index:1;background:linear-gradient(100deg, var(--gray-100) 30%, var(--gray-50) 50%, var(--gray-100) 70%);background-size:220% 100%;animation:1.3s linear infinite skeleton-shimmer;position:absolute;inset:0}.day-map-provider-note,.day-map-empty{min-height:320px;padding:var(--space-5);text-align:center;color:var(--fg-tertiary);flex-direction:column;justify-content:center;align-items:center;gap:9px;display:flex}.day-map-provider-note strong,.day-map-empty strong{color:var(--fg-primary)}.day-map-provider-note p,.day-map-empty p{max-width:34em;font-size:var(--text-sm)}.day-map-provider-note a{color:var(--brand-700);font-weight:var(--fw-semibold);align-items:center;gap:6px;margin-top:4px;display:inline-flex}.day-map-marker{border-radius:var(--radius-full);background:var(--brand-600);color:#fff;width:32px;height:32px;min-height:32px;box-shadow:var(--shadow-md);font-weight:var(--fw-bold);border:3px solid #fff;padding:0}.day-map-marker.is-selected{background:var(--plum-600);transform:scale(1.18)}.day-stop-list{flex-direction:column;gap:7px;max-height:460px;margin:0;padding:0 4px 0 0;list-style:none;display:flex;overflow-y:auto}.day-stop-list li button{text-align:left;background:var(--bg-card);border-color:var(--border-secondary);border-radius:var(--radius-lg);grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:62px;padding:9px 11px;display:grid}.day-stop-list li button.is-selected{border-color:var(--brand-300);background:var(--brand-50);box-shadow:0 0 0 3px #ff385c1a}.day-stop-number{border-radius:var(--radius-full);background:var(--brand-600);color:#fff;width:27px;height:27px;font-size:var(--text-xs);font-weight:var(--fw-bold);place-items:center;display:grid}.day-stop-copy{gap:2px;min-width:0;display:grid}.day-stop-copy strong,.day-stop-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.day-stop-copy strong{color:var(--fg-primary);font-size:var(--text-sm)}.day-stop-copy small{color:var(--fg-tertiary);font-size:var(--text-xs)}.day-stop-time{color:var(--fg-tertiary);font-size:var(--text-xs);white-space:nowrap}.day-route-limit{border-radius:var(--radius-md);background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-ink);font-size:var(--text-xs);padding:9px 11px}.unresolved-stops{padding-top:var(--space-3);border-top:1px solid var(--border-tertiary)}.unresolved-stops h4{font-size:var(--text-sm);margin-bottom:8px}.unresolved-stops ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.unresolved-stops li{color:var(--fg-secondary);font-size:var(--text-sm);grid-template-columns:18px minmax(0,1fr) minmax(0,1fr);align-items:center;gap:7px;display:grid}.unresolved-stops li small{color:var(--fg-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.location-option{cursor:pointer}.fatal-error{min-height:100vh;padding:var(--space-5);background:var(--bg-page);place-items:center;display:grid}.fatal-error .empty-state{max-width:520px;padding:var(--space-6);border:1px solid var(--border-secondary);border-radius:var(--radius-2xl);background:var(--bg-card);box-shadow:var(--shadow-card);text-align:center}.fatal-error p{margin:var(--space-3) 0 var(--space-5);color:var(--fg-tertiary)}@media (width<=760px){.itinerary-toolbar .ai-btn{margin-left:0}.day-map-header{flex-direction:column;align-items:flex-start}.day-map-layout{grid-template-columns:1fr}.day-map-stage,.day-map-canvas-wrap,.day-map-canvas{min-height:360px}.day-stop-list{max-height:none}}@media (width<=480px){.itinerary-toolbar{grid-template-columns:1fr auto;display:grid}.itinerary-view-toggle{grid-column:1/-1}.itinerary-view-toggle button{flex:1;justify-content:center}.itinerary-toolbar .ai-btn{justify-content:center}.itinerary-export-btn{padding-inline:10px}.itinerary-route-options{grid-template-columns:1fr}.day-map-panel{padding:var(--space-3)}.day-map-stage,.day-map-canvas-wrap,.day-map-canvas{min-height:300px}.day-stop-list li button{grid-template-columns:28px minmax(0,1fr)}.day-stop-time{grid-column:2}.unresolved-stops li{grid-template-columns:18px minmax(0,1fr)}.unresolved-stops li small{grid-column:2}}.tasks-header,.gear-header{align-items:center;gap:var(--space-4);padding:var(--space-1) 0 var(--space-5);display:flex}.tasks-summary h2,.gear-header h2{font-size:var(--text-xl);margin:0 0 2px}.tasks-summary p,.gear-header p{color:var(--fg-tertiary);font-size:var(--text-sm);margin:0}.progress-ring{color:var(--brand-600);flex-shrink:0;position:relative}.progress-ring-label{pointer-events:none;line-height:1;font-family:var(--font-ui);flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;inset:0}.progress-ring-label .ring-value{align-items:baseline;gap:1px;display:inline-flex}.progress-ring-label strong{font-size:16px;font-weight:var(--fw-bold);color:var(--fg-primary);line-height:1}.progress-ring-label small{color:var(--fg-muted);font-size:10px;font-weight:var(--fw-medium);line-height:1}.progress-ring-label em{color:var(--fg-muted);font-size:8px;font-style:normal;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.06em;line-height:1}.filters{margin-bottom:var(--space-3);flex-wrap:wrap;gap:6px;display:flex}.filters button{font-size:var(--text-xs);font-family:var(--font-ui);border-radius:var(--radius-full);background:var(--bg-card);min-height:32px;color:var(--fg-secondary);border:1px solid var(--border-secondary);padding:6px 12px}.filters button.on{background:var(--brand-600);color:#fff;border-color:var(--brand-600)}.task-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.task-row{grid-template-columns:var(--tap) 1fr;gap:var(--space-3);background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:var(--radius-xl);min-height:68px;box-shadow:var(--shadow-xs);transition:box-shadow var(--dur-fast) var(--ease), opacity var(--dur-fast) var(--ease);align-items:start;padding:12px 14px;display:grid}@media (hover:hover){.task-row:hover{box-shadow:var(--shadow-sm)}}.task-row.checked{opacity:.55;background:var(--gray-50)}.task-row.checked .task-title{color:var(--fg-tertiary)}.task-row .task-title{width:fit-content;position:relative}.task-row .task-title:after{content:"";background:var(--fg-tertiary);transform-origin:0;height:1.5px;transition:transform .32s var(--ease) 40ms;border-radius:1px;position:absolute;top:54%;left:-2px;right:-2px;transform:scaleX(0)}.task-row.checked .task-title:after{transform:scaleX(1)}.task-row.checked .check{animation:.42s cubic-bezier(.34,1.56,.64,1) check-pop}@keyframes check-pop{0%{transform:scale(.6)}55%{transform:scale(1.15)}to{transform:scale(1)}}.task-row.pending{animation:1s infinite pulse}@keyframes pulse{50%{background:var(--gray-50)}}.task-row .check{width:var(--tap);height:var(--tap);min-height:var(--tap);border-radius:var(--radius-full);background:var(--bg-card);border:2px solid var(--border-primary);color:#0000;transition:all var(--dur-fast) var(--ease);place-items:center;padding:0;font-size:18px;display:grid}.task-row.checked .check{background:var(--brand-600);border-color:var(--brand-600);color:#fff}.task-body{flex-direction:column;gap:4px;min-width:0;padding-top:6px;display:flex}.task-title{font-weight:var(--fw-medium);word-break:break-word;color:var(--fg-primary);line-height:1.4;font-size:var(--text-sm)}.task-notes{font-size:var(--text-xs);color:var(--fg-tertiary);line-height:var(--lh-sm)}.task-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.task-meta .assignees{gap:2px;display:inline-flex}.task-meta .last-edit{color:var(--fg-muted);font-size:11px;font-family:var(--font-ui);align-items:center;gap:4px;display:inline-flex}.gear-group{margin-bottom:var(--space-6)}.gear-group h3{font-size:var(--text-xs);color:var(--fg-tertiary);margin:0 0 var(--space-3);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-ui)}.gear-grid{grid-template-columns:1fr;gap:10px;display:grid}@media (width>=540px){.gear-grid{grid-template-columns:1fr 1fr}}.gear-card{background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);transition:box-shadow var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);flex-direction:column;gap:10px;padding:14px;display:flex}@media (hover:hover){.gear-card:hover{box-shadow:var(--shadow-sm)}}.gear-card.ok{border-color:var(--brand-200)}.gear-card.warn{border-color:var(--warning-border);background:var(--warning-bg)}.gear-card header{align-items:center;gap:10px;display:flex}.gear-card .gear-emoji{border-radius:var(--radius-md);background:var(--brand-50);place-items:center;width:36px;height:36px;font-size:20px;display:grid}.gear-card.warn .gear-emoji{background:var(--warning-bg)}.gear-card .gear-name{flex:1;min-width:0}.gear-card .gear-name strong{font-size:var(--text-sm);color:var(--fg-primary);line-height:1.35;font-weight:var(--fw-semibold);display:block}.gear-card .gear-name small{color:var(--fg-tertiary);font-size:var(--text-xs)}.gear-count{font-weight:var(--fw-bold);font-size:var(--text-sm);border-radius:var(--radius-full);background:var(--gray-100);color:var(--gray-700);font-family:var(--font-ui);border:1px solid var(--border-secondary);padding:3px 10px}.gear-count.ok{background:var(--success-bg);color:var(--success);border-color:var(--success-border)}.gear-count.warn{background:var(--error-bg);color:var(--error);border-color:var(--error-border)}.gear-count.mid{background:var(--warning-bg);color:var(--warning-ink);border-color:var(--warning-border)}.claims{font-size:var(--text-xs);color:var(--fg-secondary);flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.claims li{font-family:var(--font-ui);align-items:center;gap:6px;display:flex}.claims li.muted{color:var(--fg-muted);font-style:italic}.claims .qty{color:var(--fg-tertiary);font-weight:var(--fw-semibold)}.claims em{color:var(--fg-muted);font-style:normal}.gear-actions{padding-top:var(--space-3);border-top:1px solid var(--border-tertiary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.gear-stepper{align-items:center;gap:8px;display:inline-flex}.gear-step{border-radius:var(--radius-md);width:44px;min-height:44px;font-size:18px;font-weight:var(--fw-bold);padding:0}.gear-brought-btn{border-radius:var(--radius-md);min-height:44px;font-size:var(--text-sm);white-space:nowrap;margin-left:auto;padding:6px 16px}.my-qty{font-size:var(--text-xs);color:var(--fg-tertiary);font-family:var(--font-ui)}.my-qty strong{color:var(--fg-primary);font-size:var(--text-sm);font-weight:var(--fw-bold);margin-left:4px}.sub-tabs{background:var(--gray-100);border-radius:var(--radius-full);margin-bottom:var(--space-5);z-index:4;gap:4px;padding:4px;display:flex;position:sticky;top:64px}.sub-tab{border-radius:var(--radius-full);min-height:40px;font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--fg-tertiary);font-family:var(--font-ui);background:0 0;border:0;flex:1;justify-content:center;align-items:center;gap:6px;padding:6px 10px;text-decoration:none;display:inline-flex}.sub-tab:focus-visible{outline-offset:2px;outline:3px solid #ff385c59}.sub-tab span{font-size:16px}.sub-tab.on{background:var(--bg-card);color:var(--fg-primary);box-shadow:var(--shadow-sm)}@media (hover:hover){.sub-tab:hover:not(.on):not(:disabled){background:var(--hover-veil)}}button.primary{background:var(--grad-button);color:#fff;font-weight:var(--fw-semibold);border-color:#0000;box-shadow:0 1px 2px #1c19171a,0 1px 3px #ff385c52,inset 0 1px #ffffff2e}@media (hover:hover){button.primary:hover:not(:disabled){background:linear-gradient(135deg,#d11945 0%,#be045b 100%);border-color:#0000;transform:translateY(-1px);box-shadow:0 3px 8px #ff385c61,inset 0 1px #fff3}}button.primary:active:not(:disabled){transform:translateY(0)}button.link.tiny{font-size:var(--text-xs);margin-left:8px}.payments-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.payments-header .totals{gap:var(--space-3);flex-wrap:wrap;flex:auto;display:flex}.payments-header .total-stat{border-radius:var(--radius-xl);background:var(--bg-card);border:1px solid var(--border-secondary);min-width:148px;box-shadow:var(--shadow-xs);flex-direction:column;gap:2px;padding:12px 14px;display:flex}.payments-header .total-stat small{color:var(--fg-tertiary);font-size:var(--text-xs);font-family:var(--font-ui)}.payments-header .total-stat strong{font-size:var(--text-xl);color:var(--fg-primary);font-family:var(--font-ui);font-weight:var(--fw-bold)}.payments-header .total-stat.muted strong{font-size:var(--text-md);color:var(--fg-secondary)}.payments-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.export-btn{background:var(--bg-card);color:var(--fg-secondary);border:1px solid var(--border-primary);font-size:var(--text-sm);font-weight:var(--fw-semibold);align-items:center;gap:6px;display:inline-flex}.export-btn .pro-tag{font-size:9px;font-weight:var(--fw-bold);letter-spacing:.04em;background:var(--brand-50);color:var(--brand-600);border:1px solid var(--brand-100);border-radius:999px;padding:1px 5px}.export-modal{max-width:440px}.export-intro{color:var(--fg-tertiary);font-size:var(--text-sm);margin:0 0 var(--space-3)}.export-empty{color:var(--fg-muted);font-size:var(--text-sm)}.export-options{flex-direction:column;gap:10px;display:flex}.export-option{text-align:left;background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);align-items:center;gap:12px;width:100%;padding:14px 16px;display:flex}@media (hover:hover){.export-option:hover:not(:disabled){border-color:var(--brand-300);background:var(--brand-50)}}.export-option-icon{font-size:22px}.export-option-text{flex-direction:column;gap:2px;display:flex}.export-option-text strong{font-size:var(--text-sm);color:var(--fg-primary)}.export-option-text small{font-size:var(--text-xs);color:var(--fg-tertiary)}.empty-state{background:var(--bg-card);border:1px dashed var(--border-secondary);border-radius:var(--radius-xl);padding:var(--space-8) var(--space-5);text-align:center}.empty-state h3{margin-bottom:4px}.empty-state p{color:var(--fg-tertiary);font-size:var(--text-sm)}.expense-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.expense-row{background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);transition:box-shadow var(--dur-fast) var(--ease);grid-template-columns:40px 1fr;align-items:start;gap:12px;padding:12px 14px;display:grid}@media (hover:hover){.expense-row:hover{box-shadow:var(--shadow-sm)}}.expense-cat{border-radius:var(--radius-md);background:var(--brand-50);place-items:center;width:40px;height:40px;font-size:20px;display:grid}.expense-body{grid-template-columns:1fr auto;grid-template-areas:"title amount""meta actions";align-items:center;gap:6px 10px;min-width:0;display:grid}.expense-title{min-width:0;font-size:var(--text-sm);color:var(--fg-primary);font-weight:var(--fw-semibold);grid-area:title;align-items:center;display:flex}.expense-title-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.expense-amt{border-radius:var(--radius-full);font-size:var(--text-md);color:var(--brand-700);font-family:var(--font-ui);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;white-space:nowrap;background:#ff385c14;border:1px solid #ff385c29;grid-area:amount;justify-self:end;align-items:center;padding:6px 10px;display:inline-flex}.expense-meta{min-width:0;font-size:var(--text-xs);color:var(--fg-tertiary);font-family:var(--font-ui);flex-wrap:wrap;grid-area:meta;align-items:center;gap:6px;display:flex}.expense-meta .meta-payer{align-items:center;gap:4px;display:inline-flex}.expense-meta em{color:var(--fg-secondary);font-style:normal;font-weight:var(--fw-medium)}.expense-meta .dot{color:var(--gray-300)}.expense-meta .per-head{color:var(--fg-secondary)}.expense-action{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border-secondary);width:40px;height:40px;min-height:40px;color:var(--fg-muted);flex-shrink:0;align-self:center;place-items:center;padding:0;display:grid}.expense-action svg{display:block}@media (hover:hover){button.expense-action:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-300);color:var(--fg-secondary)}button.expense-action.danger:hover:not(:disabled){background:var(--error-bg);border-color:var(--error-border);color:var(--error)}}.modal-backdrop{z-index:100;background:var(--scrim);-webkit-backdrop-filter:blur(8px);padding-bottom:env(safe-area-inset-bottom);animation:backdrop-fade var(--dur-base) var(--ease);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal-backdrop.is-busy{cursor:progress}@media (width>=640px){.modal-backdrop{align-items:center;padding:20px}}@keyframes backdrop-fade{0%{opacity:0}}.modal{background:var(--bg-card);border-radius:var(--radius-3xl) var(--radius-3xl) 0 0;width:100%;max-width:520px;max-height:92dvh;box-shadow:var(--shadow-xl);flex-direction:column;animation:.42s cubic-bezier(.3,1.25,.34,1) modal-slide-up;display:flex;overflow:hidden}@media (width>=640px){.modal{border-radius:var(--radius-2xl)}}@keyframes modal-slide-up{0%{opacity:.4;transform:translateY(48px)scale(.985)}}.modal-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-tertiary);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.modal-header h3{margin:0}.modal-close{border-radius:var(--radius-full);width:40px;height:40px;min-height:40px;color:var(--fg-muted);font-size:14px;line-height:1;font-weight:var(--fw-semibold);background:0 0;border:1px solid #0000;place-items:center;margin:-4px -6px -4px 0;padding:0;display:grid}@media (hover:hover){button.modal-close:hover:not(:disabled){background:var(--gray-100);color:var(--fg-secondary)}}.modal-body{padding:var(--space-4) var(--space-5);gap:var(--space-4);flex-direction:column;display:flex;overflow-y:auto}.modal-footer{gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-tertiary);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;display:flex}.modal-footer button{min-width:100px}@media (width<=639px){.modal-footer button{flex:120px;min-width:0}}.form-label-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;display:flex}.form-row{flex-direction:column;gap:8px;display:flex}.form-row label{font-size:var(--text-sm);color:var(--fg-secondary);font-weight:var(--fw-semibold);font-family:var(--font-ui);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;display:flex}.form-row .hint{font-weight:var(--fw-regular);color:var(--fg-tertiary);font-size:var(--text-xs);flex-shrink:0;align-items:center;display:inline-flex}.field-hint{font-size:var(--text-xs);color:var(--fg-tertiary);line-height:var(--lh-sm);margin:0}.form-row input[type=text],.form-row input[type=number]{width:100%;min-height:var(--tap);font:inherit;font-family:var(--font-body);font-size:var(--text-md);color:var(--fg-primary);background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-md);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);padding:10px 12px}.form-row input:focus{border-color:var(--brand-500);outline:none;box-shadow:0 0 0 4px #ff385c2e}.amount-input{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-md);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);align-items:stretch;display:flex;overflow:hidden}.amount-input:focus-within{border-color:var(--brand-500);box-shadow:0 0 0 4px #ff385c2e}.amount-prefix{font-family:var(--font-ui);font-size:var(--text-xl);font-weight:var(--fw-bold);color:var(--fg-muted);-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;padding-left:14px;display:inline-flex}.amount-input input[type=number]{min-width:0;min-height:var(--tap);font-family:var(--font-ui);font-size:var(--text-xl);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;color:var(--fg-primary);box-shadow:none;background:0 0;border:0;border-radius:0;outline:0;flex:1;padding:10px 12px}.amount-input input[type=number]:focus{box-shadow:none;border:0}.amount-input input::placeholder{color:var(--fg-muted);font-weight:var(--fw-regular)}.amount-convert{font-size:var(--text-sm);color:var(--fg-tertiary);font-family:var(--font-ui);font-variant-numeric:tabular-nums;margin:6px 2px 0}.revision-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.revision-list li{background:var(--gray-50);border:1px solid var(--border-secondary);border-radius:var(--radius-md);padding:8px 12px}.revision-meta{font-size:var(--text-xs);color:var(--fg-tertiary);font-family:var(--font-ui);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.revision-meta .revision-was{color:var(--fg-secondary);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;margin-left:auto}.revision-reason{font-size:var(--text-sm);color:var(--fg-secondary);margin-top:2px}.amount-input .suffix-static{border-left:1px solid var(--border-secondary);background:var(--gray-50);min-height:var(--tap);font-family:var(--font-ui);font-weight:var(--fw-semibold);font-size:var(--text-md);color:var(--fg-secondary);letter-spacing:.02em;flex-shrink:0;align-items:center;padding:0 16px;display:inline-flex}.fuel-card{gap:var(--space-3);border:1px solid var(--brand-100);background:var(--brand-25);border-radius:var(--radius-xl);flex-direction:column;padding:14px;display:flex}.fuel-card-head{font-family:var(--font-ui);font-weight:var(--fw-semibold);font-size:var(--text-sm);color:var(--brand-700)}.fuel-result{justify-content:space-between;align-items:center;gap:var(--space-3);background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);padding:12px 14px;display:flex}.fuel-result-amount{flex-direction:column;gap:2px;min-width:0;display:flex}.fuel-result-amount small{font-size:var(--text-xs);color:var(--fg-tertiary);font-family:var(--font-ui)}.fuel-result-amount strong{font-size:var(--text-lg);color:var(--fg-primary);font-family:var(--font-ui);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums}.fuel-result button{flex-shrink:0}.fuel-thanks{color:var(--brand-600);font-weight:var(--fw-medium)}.amount-input input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.amount-input input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.amount-input input[type=number]{appearance:textfield}.chip-group{flex-wrap:wrap;gap:6px;display:flex}.chip{min-height:36px;font-size:var(--text-sm);border-radius:var(--radius-full);background:var(--bg-card);color:var(--fg-secondary);border:1px solid var(--border-secondary);align-items:center;gap:4px;padding:6px 12px;display:inline-flex}.chip.on{background:var(--brand-600);color:#fff;border-color:var(--brand-600)}.payer-grid{flex-wrap:wrap;gap:6px;display:flex}.payer-pill{max-width:100%;min-height:40px;font-size:var(--text-sm);border-radius:var(--radius-full);background:var(--bg-card);color:var(--fg-secondary);border:1px solid var(--border-secondary);align-items:center;gap:6px;padding:4px 12px 4px 4px;display:inline-flex}.payer-pill.on{background:var(--brand-600);color:#fff;border-color:var(--brand-600)}.payer-pill.on .avatar{border:2px solid #fff}.payer-pill .pname{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:42vw;overflow:hidden}.participants-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.participant-toggle{min-height:44px;font-size:var(--text-sm);text-align:left;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border-secondary);color:var(--fg-secondary);grid-template-columns:24px 22px 1fr;align-items:center;gap:8px;padding:8px 12px;display:grid}.participant-toggle.on{background:var(--brand-50);border-color:var(--brand-300);color:var(--brand-700)}.participant-toggle .check{border-radius:var(--radius-xs);border:1.5px solid var(--border-primary);color:#0000;background:var(--bg-card);place-items:center;width:20px;height:20px;font-size:13px;display:grid}.participant-toggle.on .check{background:var(--brand-600);border-color:var(--brand-600);color:#fff}.participant-toggle .pname{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.split-preview{font-size:var(--text-xs);color:var(--fg-tertiary);font-family:var(--font-ui);margin-top:6px}.split-preview strong{color:var(--brand-700);font-size:var(--text-sm)}.form-error{background:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--error);overflow-wrap:anywhere;padding:10px 12px}.settlement-summary{gap:var(--space-3);margin-bottom:var(--space-5);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=480px){.settlement-summary{grid-template-columns:1fr 1fr}.settlement-summary .summary-stat:last-child{grid-column:1/-1}.settlement-summary .summary-stat strong{font-size:var(--text-md);overflow-wrap:anywhere}}.settlement-summary .summary-stat{background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);flex-direction:column;gap:4px;padding:12px 14px;display:flex}.settlement-summary .summary-stat small{font-size:var(--text-xs);color:var(--fg-tertiary);font-family:var(--font-ui)}.settlement-summary .summary-stat strong{font-size:var(--text-md);color:var(--fg-primary);font-family:var(--font-ui);font-weight:var(--fw-bold)}.balances-section,.transfers-section{margin-bottom:var(--space-6)}.balances-section h3,.transfers-section h3{font-size:var(--text-md);margin-bottom:4px}.section-hint{color:var(--fg-tertiary);font-size:var(--text-xs);margin-bottom:var(--space-3);font-family:var(--font-ui)}.balances-list,.transfers-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.balance-row{background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);grid-template-columns:32px 1fr auto;align-items:center;gap:12px;padding:10px 14px;display:grid}.balance-row.me{border-color:var(--brand-300)}.balance-row .balance-name{flex-direction:column;gap:2px;min-width:0;display:flex}.balance-row .balance-name strong{font-size:var(--text-sm);color:var(--fg-primary);font-weight:var(--fw-semibold)}.balance-row .balance-name small{font-size:var(--text-xs);color:var(--fg-tertiary);font-family:var(--font-ui)}.balance-net{font-family:var(--font-ui);flex-direction:column;align-items:flex-end;gap:2px;display:flex}.balance-net strong{font-size:var(--text-md);font-weight:var(--fw-bold)}.balance-net small{text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:var(--fw-semibold);color:var(--fg-muted)}.balance-net.owed strong{color:var(--success)}.balance-net.owes strong{color:var(--error)}.balance-net.even strong{color:var(--fg-muted)}.balance-net.owed small{color:var(--success)}.balance-net.owes small{color:var(--error)}.transfer-row{background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"parties amount""action action";align-items:center;gap:8px 12px;padding:10px 14px;display:grid}.transfer-parties{flex-wrap:wrap;grid-area:parties;align-items:center;gap:8px;min-width:0;display:flex}.transfer-party{align-items:center;gap:8px;min-width:0;display:inline-flex}.transfer-row .party{font-size:var(--text-sm);color:var(--fg-primary);font-weight:var(--fw-semibold);overflow-wrap:anywhere;min-width:0}.transfer-row .arrow{text-align:center;color:var(--fg-muted);font-weight:var(--fw-bold)}.transfer-row .amount{text-align:right;font-family:var(--font-ui);font-weight:var(--fw-bold);color:var(--fg-primary);font-size:var(--text-md);font-variant-numeric:tabular-nums;white-space:nowrap;grid-area:amount}.transfer-row .settle-btn{min-height:40px;font-size:var(--text-sm);border-radius:var(--radius-md);grid-area:action;justify-content:center;justify-self:stretch;align-items:center;gap:6px;display:inline-flex}@media (width>=560px){.transfer-row{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"parties amount action"}.transfer-row .settle-btn{justify-self:end;min-width:0}}.transfer-row.from-me{background:var(--error-bg);border-color:var(--error-border)}.transfer-row.from-me .amount{color:var(--error)}.transfer-row.to-me{background:var(--success-bg);border-color:var(--success-border)}.transfer-row.to-me .amount{color:var(--success)}.balanced{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--fw-medium);text-align:center;padding:14px}.members-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.member-list{margin:var(--space-2) 0 0;flex-direction:column;gap:8px;padding:0;list-style:none;display:flex}.member-list li{align-items:center;gap:var(--space-3);background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);transition:box-shadow var(--dur-fast) var(--ease);padding:12px 14px;display:flex}@media (hover:hover){.member-list li:hover{box-shadow:var(--shadow-sm)}}.member-list li.me{border-color:var(--brand-500);box-shadow:0 0 0 4px #ff385c1f}.member-list .info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.member-list .info strong{font-size:var(--text-sm);color:var(--fg-primary);font-weight:var(--fw-semibold);overflow-wrap:anywhere}.member-list .info small{color:var(--fg-tertiary);font-size:var(--text-xs)}.member-list .info .phone{color:var(--fg-muted);font-variant-numeric:tabular-nums;letter-spacing:.02em;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px}.member-list .tags{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;display:flex}.member-list .info .email{color:var(--fg-muted);word-break:break-all;font-size:11px}.avatar{overflow:hidden}.avatar img{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.avatar-more{color:var(--fg-secondary);font-size:10px;font-weight:var(--fw-bold);background:var(--gray-100)!important}.signin-screen{background:var(--bg-page);place-items:start center;min-height:100vh;padding:56px 20px 80px;display:grid}.signin-card{background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:var(--radius-3xl);width:100%;max-width:420px;box-shadow:var(--shadow-card);gap:var(--space-4);text-align:center;flex-direction:column;align-items:center;padding:40px 28px;display:flex}.signin-logo{border-radius:var(--radius-2xl);background:var(--grad-hero);place-items:center;width:64px;height:64px;display:grid;box-shadow:0 8px 20px #ff385c59,inset 0 1px #ffffff40}.signin-logo img{filter:brightness(0)invert();width:36px;height:36px}.signin-card h1{font-size:var(--text-2xl);margin:0}.signin-subtitle{color:var(--fg-tertiary);font-size:var(--text-sm);margin:0}.signin-hint{color:var(--fg-muted);font-size:var(--text-xs);margin:0}.google-btn{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-md);width:100%;font-weight:var(--fw-semibold);color:var(--fg-secondary);font-size:var(--text-md);min-height:var(--tap);box-shadow:var(--shadow-xs);justify-content:center;align-items:center;gap:10px;padding:12px 16px;display:inline-flex}@media (hover:hover){.google-btn:hover:not(:disabled){background:var(--gray-50);box-shadow:var(--shadow-sm)}}.dashboard{max-width:760px;min-height:100vh;padding-bottom:env(safe-area-inset-bottom);flex-direction:column;margin:0 auto;display:flex}.dashboard-header{z-index:5;background:rgba(var(--bg-page-rgb), .82);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-secondary);justify-content:space-between;align-items:center;padding:12px 20px;display:flex;position:sticky;top:0}.dashboard-header .brand{font-size:var(--text-md);font-weight:var(--fw-semibold);color:var(--fg-primary);align-items:center;gap:8px;display:flex}.brand-logo{font-size:22px}.dashboard-main{padding:var(--space-5) var(--space-5) var(--space-8);flex:1}.dashboard-title{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;display:flex}.dashboard-title h1{font-size:var(--text-2xl);margin:0}.btn-link{border-radius:var(--radius-md);min-height:var(--tap);font-weight:var(--fw-semibold);font-size:var(--text-sm);border:1px solid #0000;justify-content:center;align-items:center;padding:10px 16px;text-decoration:none;display:inline-flex}.btn-link.primary{background:var(--grad-button);color:#fff;border-color:#0000;box-shadow:0 1px 2px #1c19171a,0 1px 3px #ff385c52,inset 0 1px #ffffff2e}@media (hover:hover){.btn-link.primary:hover{background:linear-gradient(135deg,#d11945 0%,#be045b 100%);border-color:#0000;transform:translateY(-1px);box-shadow:0 3px 8px #ff385c61}}.trip-grid{gap:12px;margin:0;padding:0;list-style:none;display:grid}@media (width>=540px){.trip-grid{grid-template-columns:1fr 1fr}}.trip-card{background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:var(--radius-xl);color:inherit;box-shadow:var(--shadow-xs);transition:box-shadow var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);grid-template-columns:56px 1fr auto;align-items:center;gap:12px;padding:14px;text-decoration:none;display:grid}@media (hover:hover){.trip-card:hover{box-shadow:var(--shadow-md);border-color:var(--gray-300)}}.trip-cover{border-radius:var(--radius-xl);background:linear-gradient(135deg, var(--brand-50), var(--brand-100));border:1px solid #ff385c1f;place-items:center;width:56px;height:56px;font-size:28px;display:grid}.trip-info{flex-direction:column;gap:2px;min-width:0;display:flex}.trip-info strong{font-size:var(--text-md);color:var(--fg-primary);font-weight:var(--fw-semibold);flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.ongoing-badge{background:var(--brand-50);color:var(--brand-600);border-color:var(--brand-100)}.trip-info small{color:var(--fg-tertiary);font-size:var(--text-xs)}.trip-info .trip-dates{font-family:var(--font-ui);font-variant-numeric:tabular-nums;letter-spacing:.01em}.role-badge{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--fw-semibold);border-radius:var(--radius-full);background:var(--gray-100);color:var(--gray-700);border:1px solid var(--border-secondary);align-items:center;padding:3px 10px;line-height:18px;display:inline-flex}.role-badge.role-owner{background:var(--brand-50);color:var(--brand-600);border-color:var(--brand-100)}.role-badge.role-admin{background:var(--plum-50);color:var(--plum-600);border-color:var(--plum-100)}.role-badge.role-viewer{background:var(--gray-100);color:var(--gray-500);border-color:var(--border-secondary)}.me-menu{align-items:center;display:flex;position:relative}.me-btn{background:rgba(var(--bg-card-rgb), .84);border:1px solid var(--border-secondary);cursor:pointer;min-height:0;box-shadow:var(--shadow-xs);transition:transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);border-radius:50%;justify-content:center;align-items:center;padding:3px;display:inline-flex}.me-btn:focus-visible{border-color:var(--brand-500);outline:none;box-shadow:0 0 0 4px #ff385c2e}.me-btn:hover{border-color:var(--gray-300);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.me-dropdown{background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:var(--radius-xl);min-width:240px;box-shadow:var(--shadow-lg);z-index:30;flex-direction:column;margin-top:10px;padding:8px;display:flex;position:absolute;top:100%;right:0}.me-info{border-bottom:1px solid var(--border-tertiary);flex-direction:column;gap:2px;padding:10px 12px;display:flex}.me-info strong{font-size:var(--text-sm);color:var(--fg-primary)}.me-info small{font-size:var(--text-xs);color:var(--fg-tertiary);word-break:break-all}.me-item{box-sizing:border-box;text-align:left;width:100%;min-height:40px;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--fg-secondary);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:0;align-items:center;padding:10px 12px;text-decoration:none;display:flex}@media (hover:hover){.me-item:hover{background:var(--gray-50);color:var(--fg-primary)}}.page-narrow{max-width:560px;padding:var(--space-5);margin:0 auto}.page-back-header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);display:flex}.page-back-header h1{font-size:var(--text-2xl);margin:0}.page-back-header .back-link{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border-secondary);width:38px;height:38px;color:var(--fg-secondary);flex-shrink:0;place-items:center;text-decoration:none;display:grid}.page-back-header .back-link svg{display:block}@media (hover:hover){.page-back-header .back-link:hover{background:var(--gray-50);color:var(--fg-primary)}}.create-trip-page{padding-top:clamp(24px,5vw,40px);padding-bottom:clamp(28px,6vw,48px)}.create-trip-hero{gap:var(--space-4);margin-bottom:var(--space-5);flex-direction:column;display:flex}.create-trip-back{border:1px solid var(--border-secondary);background:rgba(var(--bg-card-rgb), .82);color:var(--fg-secondary);font-size:var(--text-sm);font-weight:var(--fw-semibold);box-shadow:var(--shadow-xs);border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:8px 12px;text-decoration:none;display:inline-flex}.create-trip-heading{gap:var(--space-4);grid-template-columns:minmax(0,1fr) auto;align-items:end;display:grid}.create-trip-kicker{margin:0 0 var(--space-2);font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--brand-600)}.create-trip-hero h1{margin:0;font-size:clamp(2rem,6vw,2.75rem);line-height:1.05}.create-trip-copy{margin:var(--space-2) 0 0;max-width:46ch;color:var(--fg-secondary);font-size:var(--text-md)}.create-trip-preview{border-radius:var(--radius-xl);background:linear-gradient(135deg,#d7046624,#ff385c0f);border:1px solid #ff385c33;grid-template-columns:52px 1fr;align-items:center;gap:12px;min-width:190px;padding:12px 14px;display:grid}.create-trip-preview-emoji{background:rgba(var(--bg-card-rgb), .8);border-radius:16px;place-items:center;width:52px;height:52px;font-size:28px;display:grid}.create-trip-preview strong{color:var(--fg-primary);font-size:var(--text-sm);display:block}.create-trip-preview small{color:var(--fg-secondary);font-size:var(--text-xs);margin-top:2px;display:block}.card-form{background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:var(--radius-2xl);padding:var(--space-5);gap:var(--space-4);box-shadow:var(--shadow-card);flex-direction:column;display:flex}.create-trip-form{gap:var(--space-5)}.form-section{gap:var(--space-4);flex-direction:column;display:flex}.form-section+.form-section{padding-top:var(--space-5);border-top:1px solid var(--border-tertiary)}.form-section-accent{padding:var(--space-4);border-radius:var(--radius-xl);background:linear-gradient(#ff385c0a,#d7046614);border:1px solid #ff385c29}.form-section-accent+.form-section{border-top:0;padding-top:0}.form-section-header{flex-direction:column;gap:4px;display:flex}.form-section-header h2{font-size:var(--text-lg);color:var(--fg-primary);margin:0}.form-section-header p{color:var(--fg-secondary);font-size:var(--text-sm);margin:0}.card-form .form-footer{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-2);align-items:center;display:flex}.form-row textarea,.form-row select,.form-row input[type=date],.form-row input[type=time],.form-row input[type=tel]{width:100%;min-height:var(--tap);font:inherit;font-family:var(--font-body);font-size:var(--text-md);color:var(--fg-primary);background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:10px 12px}.form-row textarea{resize:vertical;min-height:80px}.form-row textarea:focus,.form-row select:focus,.form-row input:focus{border-color:var(--brand-500);outline:none;box-shadow:0 0 0 4px #ff385c2e}.form-grid-2{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.switch-field,.form-row label.switch-field{justify-content:stretch;align-items:center;gap:var(--space-3);border:1px solid var(--border-secondary);border-radius:var(--radius-xl);background:var(--bg-card);cursor:pointer;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);grid-template-columns:auto minmax(0,1fr);padding:14px 16px;display:grid}@media (hover:hover){.switch-field:hover:not(.is-disabled){border-color:var(--gray-300)}}.switch-field.is-disabled{opacity:.6;cursor:not-allowed}.switch{flex-shrink:0;display:inline-flex;position:relative}.switch input{opacity:0;width:100%;height:100%;cursor:inherit;margin:0;position:absolute;inset:0}.switch-track{border-radius:var(--radius-full);background:var(--gray-300);width:44px;height:26px;transition:background var(--dur-fast) var(--ease);align-items:center;padding:3px;display:inline-flex}.switch-thumb{border-radius:var(--radius-full);width:20px;height:20px;transition:transform var(--dur-fast) var(--ease);background:#fff;transform:translate(0);box-shadow:0 1px 2px #1c191733}.switch input:checked~.switch-track{background:var(--brand-500)}.switch input:checked~.switch-track .switch-thumb{transform:translate(18px)}.switch input:focus-visible~.switch-track{outline-offset:1px;outline:4px solid #ff385c3d}.switch-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.switch-copy strong{color:var(--fg-primary);font-size:var(--text-sm);font-weight:var(--fw-semibold)}.switch-copy small{color:var(--fg-tertiary);font-size:var(--text-xs);line-height:var(--lh-sm)}.location-input{position:relative}.location-input>input[type=text]{width:100%;min-height:var(--tap);font:inherit;font-family:var(--font-body);font-size:var(--text-md);color:var(--fg-primary);background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-md);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);padding:10px 12px}.location-input>input[type=text]:focus{border-color:var(--brand-500);outline:none;box-shadow:0 0 0 4px #ff385c2e}.location-coordinates{margin-top:8px}.location-coordinates summary{width:fit-content;min-height:var(--tap);border-radius:var(--radius-sm);cursor:pointer;color:var(--fg-secondary);font-size:var(--text-sm);font-weight:var(--fw-semibold);align-items:center;gap:8px;margin-left:-6px;padding:0 6px;list-style:none;display:inline-flex}.location-coordinates summary::-webkit-details-marker{display:none}.location-coordinates summary:before{content:"";border-bottom:2px solid;border-right:2px solid;flex:none;width:7px;height:7px;margin-top:-3px;transition:transform .15s;transform:rotate(-45deg)}.location-coordinates[open] summary:before{margin-top:-5px;transform:rotate(45deg)}@media (hover:hover){.location-coordinates summary:hover{color:var(--fg-primary);background:var(--gray-50)}}.location-coordinates summary:focus-visible{outline-offset:0;outline:4px solid #e31c5f3d}.location-coordinate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px;display:grid}.location-coordinate-grid label{gap:4px;display:grid}.location-coordinate-grid label>span{color:var(--fg-tertiary);font-size:var(--text-xs);font-weight:var(--fw-semibold)}.location-coordinate-grid input{width:100%}.location-map{border-radius:var(--radius-lg);border:1px solid var(--border-secondary);margin-top:8px;position:relative;overflow:hidden}.location-map iframe{border:0;width:100%;height:140px;display:block}.location-map-open{background:var(--gray-50);width:100%;height:140px;color:var(--fg-secondary);font-size:var(--text-sm);font-weight:var(--fw-semibold);border:0;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.location-map-open svg{color:var(--brand-500)}@media (hover:hover){.location-map-open:hover{background:var(--gray-100)}}.location-map-link{background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:var(--radius-md);width:28px;height:28px;color:var(--fg-secondary);box-shadow:var(--shadow-xs);place-items:center;font-size:14px;text-decoration:none;display:grid;position:absolute;top:8px;right:8px}@media (width<=420px){.location-coordinate-grid{grid-template-columns:1fr}}.segmented{background:var(--gray-100);border:1px solid var(--border-secondary);border-radius:var(--radius-full);grid-auto-columns:1fr;grid-auto-flow:column;gap:2px;padding:3px;display:grid}.segmented-option{border-radius:var(--radius-full);min-height:40px;font-size:var(--text-sm);font-weight:var(--fw-semibold);font-family:var(--font-ui);color:var(--fg-tertiary);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);background:0 0;border:0;padding:6px 12px}.segmented-option.on{background:var(--bg-card);color:var(--fg-primary);box-shadow:var(--shadow-sm)}@media (hover:hover){.segmented-option:not(.on):hover{color:var(--fg-secondary)}}.lang-switcher{border-bottom:1px solid var(--border-tertiary);justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.lang-switcher-label{font-size:var(--text-xs);color:var(--fg-tertiary);font-family:var(--font-ui);font-weight:var(--fw-medium);white-space:nowrap}.lang-switcher-options{background:var(--gray-100);border-radius:var(--radius-full);gap:2px;padding:2px;display:inline-flex}.lang-option{border-radius:var(--radius-full);min-height:28px;font-size:var(--text-xs);font-weight:var(--fw-semibold);font-family:var(--font-ui);color:var(--fg-tertiary);background:0 0;border:0;align-items:center;gap:5px;padding:3px 12px;display:inline-flex}.theme-switcher .lang-option span{white-space:nowrap}.lang-option.on{background:var(--bg-card);color:var(--fg-primary);box-shadow:var(--shadow-sm)}.me-dropdown .lang-switcher{flex-direction:column;align-items:stretch;gap:6px}.me-dropdown .lang-switcher-options{width:100%}.me-dropdown .lang-option{flex:1 1 0;justify-content:center}.emoji-picker{grid-template-columns:repeat(8,1fr);gap:4px;display:grid}.emoji-option{background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:var(--radius-md);place-items:center;min-width:0;min-height:44px;padding:6px;font-size:22px;display:grid}.emoji-option.on{border-color:var(--brand-600);background:var(--brand-50)}@media (width<=720px){.create-trip-heading{grid-template-columns:1fr}.create-trip-preview{min-width:0}}@media (width<=560px){.form-grid-2{grid-template-columns:1fr}.form-row label.toggle-card{padding:12px 14px}}button.danger{background:var(--error-bg);color:var(--error);border-color:var(--error-border);font-weight:var(--fw-semibold)}@media (hover:hover){button.danger:hover:not(:disabled){background:var(--danger-hover-bg);border-color:var(--error)}}.danger-zone{margin-top:var(--space-3);padding:var(--space-4);border:1px dashed var(--error-border);border-radius:var(--radius-lg);background:var(--error-bg);gap:var(--space-2);flex-direction:column;display:flex}.danger-zone h4{font-size:var(--text-sm);color:var(--error);margin:0}.trip-preview{grid-template-columns:80px 1fr;align-items:start;gap:16px;margin-bottom:16px;display:grid}.trip-cover-large{border-radius:var(--radius-2xl);background:linear-gradient(135deg, var(--brand-50), var(--brand-100));border:1px solid #ff385c1f;place-items:center;width:80px;height:80px;font-size:40px;display:grid}.trip-preview-info{flex-direction:column;gap:4px;min-width:0;display:flex}.trip-preview-info h2{font-size:var(--text-xl);margin:0}.trip-preview-meta{font-size:var(--text-sm);color:var(--fg-tertiary);margin:0}.trip-preview-desc{font-size:var(--text-sm);color:var(--fg-secondary);margin-top:8px}.trip-preview-members{gap:4px;margin-top:8px;display:flex}.join-card{background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:var(--radius-2xl);padding:var(--space-5);gap:var(--space-4);box-shadow:var(--shadow-card);flex-direction:column;display:flex}.app-header .back-link{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border-secondary);width:38px;height:38px;color:var(--fg-secondary);flex-shrink:0;place-items:center;text-decoration:none;display:grid}.app-header .back-link svg{display:block}@media (hover:hover){.app-header .back-link:hover{background:var(--gray-50);color:var(--fg-primary)}}.trip-cover-mini{border-radius:var(--radius-md);background:var(--brand-50);place-items:center;width:36px;height:36px;font-size:18px;display:grid}.app-header .header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.icon-btn{background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:var(--radius-md);width:40px;height:40px;min-height:40px;color:var(--fg-secondary);place-items:center;padding:0;font-size:16px;display:grid}.icon-btn.small{width:36px;height:36px;min-height:36px;font-size:14px}@media (hover:hover){.icon-btn:hover{background:var(--gray-50)}}.shell-banner{margin:var(--space-3) var(--space-5) 0;border-radius:var(--radius-lg);background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--fg-secondary);font-size:var(--text-sm);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.shell-banner .link{white-space:nowrap}.share-modal{max-width:480px}.share-link{gap:10px;display:grid}.share-link+.share-link{padding-top:var(--space-4);border-top:1px solid var(--border-tertiary)}.share-link-head{align-items:flex-start;gap:10px;display:flex}.share-link-head>div{gap:2px;min-width:0;display:grid}.share-link-head strong{font-size:var(--text-sm);color:var(--fg-primary)}.share-link-head small{font-size:var(--text-xs);color:var(--fg-tertiary);line-height:1.5}.share-link-icon{border-radius:var(--radius-md);background:var(--brand-50);width:32px;height:32px;color:var(--brand-600);flex-shrink:0;place-items:center;display:grid}.share-link-row{gap:8px;display:flex}.share-link-row input{min-width:0;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--fg-secondary);text-overflow:ellipsis;flex:1}.share-link-row button{flex-shrink:0;align-items:center;gap:6px;min-width:96px;display:inline-flex}.readonly-pill{border-radius:var(--radius-full);background:var(--gray-100);color:var(--fg-tertiary);font-size:var(--text-xs);font-weight:var(--fw-semibold);white-space:nowrap;flex-shrink:0;padding:2px 9px}.trip-signin-btn{min-height:38px;font-size:var(--text-sm);white-space:nowrap;padding:8px 16px}.toast-banner{background:var(--toast-bg);color:var(--toast-fg);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--fw-medium);z-index:100;box-shadow:var(--shadow-md);padding:8px 16px;position:fixed;top:80px;left:50%;transform:translate(-50%)}.fab{right:20px;bottom:calc(96px + env(safe-area-inset-bottom));background:var(--grad-button);color:#fff;width:56px;height:56px;min-height:56px;font-size:28px;font-weight:var(--fw-bold);z-index:20;border-color:#0000;border-radius:50%;place-items:center;padding:0;display:grid;position:fixed;box-shadow:0 8px 20px #ff385c66,0 2px 6px #1c191729,inset 0 1px #ffffff38}@media (hover:hover){.fab:hover:not(:disabled){background:linear-gradient(135deg,#d11945 0%,#be045b 100%);border-color:#0000;transform:translateY(-2px)scale(1.02);box-shadow:0 12px 26px #ff385c75,0 3px 8px #1c19172e}}.toast-viewport{bottom:calc(96px + env(safe-area-inset-bottom));z-index:200;pointer-events:none;flex-direction:column;gap:6px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{background:var(--toast-bg);color:var(--toast-fg);border-radius:var(--radius-lg);font-size:var(--text-sm);box-shadow:var(--shadow-lg);pointer-events:auto;align-items:center;gap:9px;padding:10px 14px;animation:.3s cubic-bezier(.3,1.25,.34,1) both toast-in;display:flex}.toast-leave{animation:toast-out .24s var(--ease) both}@keyframes toast-in{0%{opacity:0;transform:translateY(14px)scale(.96)}}@keyframes toast-out{to{opacity:0;transform:translateY(8px)scale(.97)}}.toast-icon{flex-shrink:0;place-items:center;display:grid}.toast-success .toast-icon{animation:.48s cubic-bezier(.34,1.56,.64,1) 60ms both toast-pop}@keyframes toast-pop{0%{transform:scale(0)}}.toast-msg{min-width:0}.toast-action{border-radius:var(--radius-full);min-height:0;color:inherit;font-size:var(--text-xs);font-weight:var(--fw-bold);font-family:var(--font-ui);background:#ffffff1f;border:1px solid #ffffff40;margin-left:4px;padding:4px 10px}.toast-success{background:var(--success);color:#fff}.toast-error{background:var(--error);color:#fff}.timeline-item.status-done .content{opacity:.72}.timeline-item.status-done .content .title{color:var(--fg-tertiary);text-decoration:line-through}.status-pill{border-radius:var(--radius-full);background:var(--gray-100);min-height:24px;color:var(--fg-secondary);border:1px solid var(--border-secondary);font-size:11px;font-family:var(--font-ui);font-weight:var(--fw-semibold);padding:2px 8px}.status-pill.status-pending{background:var(--gray-100);color:var(--gray-700)}.status-pill.status-in_progress{background:var(--warning-bg);color:var(--warning-ink);border-color:var(--warning-border)}.status-pill.status-done{background:var(--success-bg);color:var(--success);border-color:var(--success-border)}.sub-list{border-top:1px solid var(--border-tertiary);flex-direction:column;gap:4px;margin:8px 0 0;padding:8px 0 0;list-style:none;display:flex}.sub-list li label{font-size:var(--text-sm);color:var(--fg-secondary);cursor:pointer;align-items:center;gap:8px;display:flex}.sub-list .done{color:var(--fg-muted);text-decoration:line-through}.sub-list input[type=checkbox]{width:18px;height:18px}.subitem-edit-list{font-size:var(--text-sm);flex-direction:column;gap:4px;margin:0 0 6px;padding:0;list-style:none;display:flex}.subitem-edit-list li{background:var(--gray-50);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:6px 10px;display:flex}.subitem-add{gap:8px;display:flex}.subitem-add input{flex:1}.expense-actions{grid-area:actions;place-self:center end;gap:6px;display:flex}.settled-section{margin-top:var(--space-5)}.settled-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.settled-row{background:var(--success-bg);border:1px solid var(--success-border);border-radius:var(--radius-md);font-size:var(--text-sm);align-items:center;gap:8px;padding:8px 12px;display:flex}.settled-check{color:var(--success);font-weight:var(--fw-bold)}.settled-row .party{font-size:var(--text-sm);color:var(--fg-primary);font-weight:var(--fw-semibold)}.settled-row .arrow{color:var(--fg-muted)}.settled-row .amount{font-family:var(--font-ui);font-weight:var(--fw-bold);margin-left:auto}.amount-input .suffix-select{appearance:none;border:0;border-left:1px solid var(--border-secondary);width:auto;min-height:var(--tap);background-color:var(--gray-50);font-family:var(--font-ui);font-weight:var(--fw-semibold);color:var(--fg-secondary);font-size:var(--text-md);letter-spacing:.02em;cursor:pointer;transition:background-color var(--dur-fast) var(--ease);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2379716B' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border-radius:0;outline:0;flex-shrink:0;padding:0 34px 0 16px}@media (hover:hover){.amount-input .suffix-select:hover{background-color:var(--gray-100)}}.amount-input .suffix-select:focus,.amount-input .suffix-select:focus-visible{background-color:var(--gray-100);box-shadow:none;outline:none}.member-edit-summary{padding:var(--space-3) 0;border-bottom:1px solid var(--border-tertiary);margin-bottom:var(--space-2);align-items:center;gap:12px;display:flex}.member-edit-summary>div{flex-direction:column;gap:2px;display:flex}.member-edit-summary strong{font-size:var(--text-md);color:var(--fg-primary)}.member-edit-summary small{color:var(--fg-tertiary);font-size:var(--text-xs)}.member-options-grid{gap:12px;display:grid}.member-toggle-card{min-height:72px}.member-detail-card{border:1px solid var(--border-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);background:linear-gradient(#ff385c0a,#d704660f);padding:14px 16px}.member-detail-card .form-row{gap:8px}.member-detail-card .form-row label{justify-content:flex-start}.leave-row{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border-tertiary);text-align:center}.danger-link{color:var(--error)!important}.brought{color:var(--success);font-size:10px;font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.06em;margin-left:auto}@media (width>=640px){.member-options-grid{grid-template-columns:1fr 1fr}}.confirm-dialog .modal-body h3{margin-bottom:8px}.confirm-dialog .modal-body p{font-size:var(--text-sm);color:var(--fg-secondary)}.tab-toolbar{margin-bottom:var(--space-4);justify-content:flex-end;display:flex}.ai-btn{border-radius:var(--radius-full);border:1px solid var(--brand-200);background:linear-gradient(135deg, var(--brand-50), var(--bg-card));min-height:40px;color:var(--brand-700);font-weight:var(--fw-semibold);font-size:var(--text-sm);box-shadow:var(--shadow-xs);align-items:center;gap:8px;padding:8px 16px;display:inline-flex}@media (hover:hover){button.ai-btn:hover:not(:disabled){border-color:var(--brand-300);background:linear-gradient(135deg, var(--brand-100), var(--brand-50));box-shadow:var(--shadow-sm);transform:translateY(-1px)}}.ai-window-field{flex-direction:column;gap:4px;display:flex}.ai-window-label{font-size:var(--text-xs);color:var(--fg-tertiary);font-family:var(--font-ui);font-weight:var(--fw-medium)}.ai-window-field input[type=date]{width:100%;min-height:var(--tap);font:inherit;font-family:var(--font-body);font-size:var(--text-md);color:var(--fg-primary);background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:8px 12px}.ai-window-field input[type=date]:focus{border-color:var(--brand-500);outline:none;box-shadow:0 0 0 4px #ff385c2e}.ai-examples{flex-wrap:wrap;gap:6px;display:flex}.ai-chip{font-size:var(--text-xs);text-align:left;border-radius:var(--radius-full);background:var(--gray-50);min-height:0;color:var(--fg-secondary);border:1px solid var(--border-secondary);font-weight:var(--fw-medium);padding:6px 12px}@media (hover:hover){button.ai-chip:hover:not(:disabled){background:var(--brand-50);border-color:var(--brand-200);color:var(--brand-700)}}.ai-loading{padding:var(--space-8) var(--space-2);color:var(--fg-secondary);font-size:var(--text-sm);justify-content:center;align-items:center;gap:12px;display:flex}.ai-spinner{border:2.5px solid var(--brand-100);border-top-color:var(--brand-500);border-radius:50%;flex-shrink:0;width:20px;height:20px;animation:.7s linear infinite ai-spin}@keyframes ai-spin{to{transform:rotate(360deg)}}.ai-suggestions{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ai-suggestion{text-align:left;border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--border-secondary);grid-template-columns:22px 28px 1fr;align-items:center;gap:10px;width:100%;min-height:0;padding:10px 12px;display:grid}.ai-suggestion.on{background:var(--brand-50);border-color:var(--brand-300)}.ai-suggestion .check{border-radius:var(--radius-xs);border:1.5px solid var(--border-primary);color:#0000;background:var(--bg-card);place-items:center;width:20px;height:20px;font-size:13px;display:grid}.ai-suggestion.on .check{background:var(--brand-600);border-color:var(--brand-600);color:#fff}.ai-emoji{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--brand-50), var(--brand-100));place-items:center;width:28px;height:28px;font-size:16px;display:grid}.ai-suggestion-body{flex-direction:column;gap:2px;min-width:0;display:flex}.ai-suggestion-body strong{font-size:var(--text-sm);color:var(--fg-primary);font-weight:var(--fw-semibold)}.ai-suggestion-body small{font-size:var(--text-xs);color:var(--fg-tertiary);font-family:var(--font-ui)}.lp{background:var(--bg-page);min-height:100vh;color:var(--fg-primary);isolation:isolate;overflow-x:clip}.lp section,.lp .lp-nav{padding-left:max(20px, env(safe-area-inset-left));padding-right:max(20px, env(safe-area-inset-right))}.lp-nav{z-index:20;align-items:center;gap:var(--space-4);background:rgba(var(--bg-page-rgb), .82);-webkit-backdrop-filter:blur(12px);max-width:1120px;margin:0 auto;padding-top:14px;padding-bottom:14px;display:flex;position:sticky;top:0}.lp-brand{min-height:var(--tap);color:var(--fg-primary);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.lp-brand strong{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:-.02em}.lp-logo{border-radius:var(--radius-md);background:var(--grad-hero);place-items:center;width:36px;height:36px;display:grid;box-shadow:0 4px 12px #ff385c4d}.lp-logo img{filter:brightness(0)invert();width:22px;height:22px}.lp-nav-links{gap:var(--space-5);margin-left:var(--space-4);display:none}.lp-nav-links a{min-height:var(--tap);border-radius:var(--radius-sm);color:var(--fg-secondary);font-weight:var(--fw-medium);font-size:var(--text-sm);align-items:center;padding:0 6px;text-decoration:none;display:inline-flex}.lp-nav-links a:hover{color:var(--fg-primary)}.lp-nav-actions{align-items:center;gap:8px;margin-left:auto;display:inline-flex}.lp-nav-actions .lang-switcher{border:0;padding:0}.lp-nav-actions .lang-switcher-label{display:none}.lp-cta{border-radius:var(--radius-full);background:var(--grad-button);color:#fff;font-family:var(--font-ui);font-weight:var(--fw-semibold);font-size:var(--text-sm);min-height:var(--tap);cursor:pointer;transition:transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);border:1px solid #0000;justify-content:center;align-items:center;padding:10px 18px;text-decoration:none;display:inline-flex;box-shadow:0 1px 2px #1c19171a,0 1px 3px #ff385c52,inset 0 1px #ffffff2e}@media (hover:hover){.lp-cta:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #ff385c66}}.lp-ghost{border:1px solid var(--border-primary);border-radius:var(--radius-full);background:var(--bg-card);color:var(--fg-secondary);font-family:var(--font-ui);font-weight:var(--fw-semibold);font-size:var(--text-sm);min-height:var(--tap);cursor:pointer;justify-content:center;align-items:center;padding:10px 18px;text-decoration:none;display:inline-flex}@media (hover:hover){.lp-ghost:hover:not(:disabled){background:var(--gray-100);border-color:var(--gray-400)}}.lp-cta-lg{font-size:var(--text-md);padding:14px 26px}.lp-hero{gap:var(--space-10);grid-template-columns:1fr;align-items:center;max-width:1120px;margin:0 auto;padding-top:clamp(40px,8vw,88px);padding-bottom:clamp(40px,8vw,80px);display:grid;position:relative}.lp-badge{border-radius:var(--radius-full);background:var(--brand-50);color:var(--brand-700);border:1px solid var(--brand-100);font-size:var(--text-xs);font-weight:var(--fw-semibold);font-family:var(--font-ui);margin-bottom:var(--space-4);padding:6px 14px;display:inline-block}.lp-hero h1{letter-spacing:-.03em;margin-bottom:var(--space-4);font-size:clamp(34px,6vw,56px);line-height:1.05}.lp-hero-sub{font-size:var(--text-lg);color:var(--fg-tertiary);max-width:34em;line-height:1.5}.lp-hero-ctas{margin-top:var(--space-6);flex-wrap:wrap;gap:12px;display:flex}.lp-trust{margin-top:var(--space-4);font-size:var(--text-xs);color:var(--fg-tertiary);font-family:var(--font-ui)}.lp-hero-art{z-index:1;place-items:center;display:grid;position:relative}.lp-scene-live{place-items:center;width:100%;display:grid}.lp-scene{aspect-ratio:10/8.2;border-radius:var(--radius-3xl);width:100%;max-width:560px;box-shadow:var(--shadow-xl), 0 24px 60px #e31c5f29;border:1px solid #ffffffa6;position:relative;overflow:hidden}.lp-scene svg{width:100%;height:100%;display:block}.lp-scene .cs-l1,.lp-scene .cs-l2,.lp-scene .cs-l3,.lp-scene .cs-l4,.lp-scene .cs-l5{will-change:transform}.cs-stars circle{opacity:.35;animation:3.6s ease-in-out infinite cs-twinkle}.cs-stars circle:nth-child(2n){animation-delay:1.2s}.cs-stars circle:nth-child(3n){animation-delay:2.3s}@keyframes cs-twinkle{0%,to{opacity:.25}50%{opacity:.85}}.cs-flame,.cs-fire-glow{transform-box:fill-box;transform-origin:50% 90%}.cs-flame{animation:2.6s ease-in-out infinite cs-flicker}@keyframes cs-flicker{0%,to{transform:scale(1)}30%{transform:scale(1.07,.94)}62%{transform:scale(.94,1.09)}}.cs-fire-glow{animation:2.6s ease-in-out infinite cs-glow-pulse}@keyframes cs-glow-pulse{0%,to{opacity:.75}50%{opacity:1}}.cs-spark-a,.cs-spark-b{transform-box:fill-box;animation:3.4s ease-in-out infinite cs-spark}.cs-spark-b{animation-delay:1.6s}@keyframes cs-spark{0%{opacity:0;transform:translateY(0)}25%{opacity:1}to{opacity:0;transform:translateY(-30px)}}.cs-door{animation:4.2s ease-in-out infinite cs-door-glow}@keyframes cs-door-glow{0%,to{opacity:.9}50%{opacity:1}}.lp-chip{border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(10px)saturate(1.3);white-space:nowrap;background:#ffffffb8;border:1px solid #ffffffd9;align-items:center;gap:8px;padding:8px 12px;animation:6s ease-in-out infinite lp-chip-float;display:flex;position:absolute;box-shadow:0 8px 24px #6e335038}.lp-chip-emoji{font-size:17px;line-height:1}.lp-chip-main{flex-direction:column;line-height:1.2;display:flex}.lp-chip-main strong{font-size:var(--text-xs);font-weight:var(--fw-bold);color:var(--fg-primary)}.lp-chip-main small{color:var(--fg-tertiary);font-size:10px;font-family:var(--font-ui)}.lp-chip-badge{border-radius:var(--radius-full);background:var(--brand-600);color:#fff;font-size:10px;font-weight:var(--fw-bold);font-family:var(--font-ui);padding:2px 8px}.lp-chip-trip{top:6%;left:5%}.lp-chip-wx{animation-delay:1.6s;top:16%;right:6%}.lp-chip-exp{animation-delay:2.8s;top:52%;right:4%}.lp-chip-settle{animation-delay:2.1s;bottom:6%;left:7%}@keyframes lp-chip-float{0%,to{translate:0}50%{translate:0 -9px}}.lp-glow{z-index:-1;border-radius:var(--radius-full);pointer-events:none;background:radial-gradient(closest-side,#ff385c24,#ff8d6912 55%,#0000 72%);width:520px;height:520px;animation:24s ease-in-out infinite alternate lp-glow-drift;position:absolute}.lp-glow-a{top:-80px;left:-160px}.lp-glow-b{background:radial-gradient(closest-side,#ff9a6c29,#ff385c0f 58%,#0000 75%);width:640px;height:640px;animation-duration:30s;top:100px;right:-180px}.lp-glow-c{margin-left:-300px;animation-duration:27s;top:20px;left:50%}.lp-glow-d{bottom:-100px;right:-140px}@keyframes lp-glow-drift{0%{transform:translate(0,0)scale(1)}to{transform:translate(44px,26px)scale(1.08)}}.lp-glass{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(14px)saturate(1.35)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.lp-glass{background:var(--bg-card);border-color:var(--border-secondary)}.lp-chip{background:#fffffff2}}[data-reveal]{opacity:0;transition:opacity .65s var(--ease), transform .65s var(--ease);transition-delay:var(--rd,0s);transform:translateY(24px)scale(.985)}[data-reveal].revealed{opacity:1;transform:none}@media (hover:hover) and (prefers-reduced-motion:no-preference){.lp-plan.revealed{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));will-change:transform;transition:transform .16s}}.lp-magnetic{transform:translate(var(--mx,0px), var(--my,0px));transition:transform .2s var(--ease), box-shadow var(--dur-fast) var(--ease);will-change:transform}@media (hover:hover){.lp-cta.lp-magnetic:hover:not(:disabled){transform:translate(var(--mx,0px), calc(var(--my,0px) - 1px))}}.lp-grad-title{background:linear-gradient(100deg, var(--fg-primary) 0%, var(--fg-primary) 34%, #e31c5f 46%, #ff385c 52%, #e31c5f 58%, var(--fg-primary) 70%, var(--fg-primary) 100%);color:#0000;background-position:120% 0;background-size:250% 100%;-webkit-background-clip:text;background-clip:text;animation:9s linear infinite lp-grad-pan}@keyframes lp-grad-pan{0%{background-position:120% 0}to{background-position:-130% 0}}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transition:none;transform:none}.lp-chip,.lp-glow,.lp-grad-title,.lp-magnetic,.cs-stars circle,.cs-flame,.cs-fire-glow,.cs-spark-a,.cs-spark-b,.cs-door{animation:none}.lp-magnetic{transform:none}}.lp-section{max-width:1120px;margin:0 auto;padding-top:clamp(48px,8vw,88px);padding-bottom:clamp(8px,2vw,16px);position:relative}.lp-section-alt{background:var(--bg-card);border-top:1px solid var(--border-secondary);border-bottom:1px solid var(--border-secondary);max-width:none}.lp-section-alt>*{max-width:1120px;margin-left:auto;margin-right:auto}.lp-kicker{text-align:center;color:var(--brand-600);font-family:var(--font-ui);font-weight:var(--fw-semibold);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.08em}.lp-section-title{text-align:center;letter-spacing:-.02em;margin:var(--space-2) auto var(--space-8);max-width:18em;font-size:clamp(26px,4vw,38px)}.lp-features{grid-template-columns:1fr;gap:16px;display:grid}.lp-feature{background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xs);padding:24px}.lp-feature-emoji{border-radius:var(--radius-xl);background:var(--brand-50);width:48px;height:48px;margin-bottom:var(--space-3);place-items:center;font-size:24px;display:inline-grid}.lp-feature h3{font-size:var(--text-lg);margin-bottom:6px}.lp-feature p{color:var(--fg-tertiary);font-size:var(--text-sm);line-height:1.55}.lp-steps{grid-template-columns:1fr;gap:20px;padding-bottom:clamp(40px,6vw,64px);display:grid}.lp-step{text-align:center}.lp-step-n{border-radius:var(--radius-full);background:var(--grad-button);color:#fff;width:44px;height:44px;font-family:var(--font-ui);font-weight:var(--fw-bold);font-size:var(--text-lg);margin-bottom:var(--space-3);place-items:center;display:inline-grid;box-shadow:0 4px 12px #ff385c4d}.lp-step h3{font-size:var(--text-md);margin-bottom:4px}.lp-step p{color:var(--fg-tertiary);font-size:var(--text-sm);max-width:24em;margin:0 auto}.lp-plans{grid-template-columns:1fr;align-items:stretch;gap:16px;display:grid}.lp-plan{background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xs);flex-direction:column;padding:24px;display:flex;position:relative}.lp-plan-featured{border-color:var(--brand-300);box-shadow:0 0 0 4px #ff385c1a, var(--shadow-md)}.lp-plan-pop{border-radius:var(--radius-full);background:var(--brand-600);color:#fff;font-size:var(--text-xs);font-weight:var(--fw-semibold);font-family:var(--font-ui);white-space:nowrap;padding:3px 12px;position:absolute;top:-11px;left:50%;transform:translate(-50%)}.lp-plan h3{font-size:var(--text-lg)}.lp-price{align-items:baseline;gap:6px;margin:8px 0 2px;display:flex}.lp-price strong{font-size:var(--text-3xl);font-family:var(--font-ui);letter-spacing:-.02em}.lp-price span{color:var(--fg-muted);font-size:var(--text-sm);font-family:var(--font-ui)}.lp-plan-tag{color:var(--fg-tertiary);font-size:var(--text-sm);margin-bottom:var(--space-4)}.lp-plan ul{margin:0 0 var(--space-5);flex-direction:column;flex:1;gap:10px;padding:0;list-style:none;display:flex}.lp-plan li{font-size:var(--text-sm);color:var(--fg-secondary);padding-left:26px;position:relative}.lp-plan li:before{content:"✓";color:var(--success);font-weight:var(--fw-bold);position:absolute;top:-1px;left:0}.lp-plan-cta{width:100%}.lp-pricing-note{text-align:center;color:var(--fg-muted);font-size:var(--text-xs);margin-top:var(--space-5);max-width:40em;margin-left:auto;margin-right:auto}.lp-final{text-align:center;background:var(--grad-hero);color:#fff;border-radius:var(--radius-3xl);max-width:1120px;box-shadow:var(--shadow-xl);margin:clamp(48px,8vw,88px) auto;padding:clamp(40px,7vw,72px) 24px}.lp-final h2{color:#fff;letter-spacing:-.02em;max-width:18em;margin:0 auto var(--space-3);font-size:clamp(26px,4vw,38px)}.lp-final p{color:#ffffffe0;font-size:var(--text-lg);margin-bottom:var(--space-6)}.lp-final .lp-cta{color:var(--brand-700);background:#fff;box-shadow:0 8px 24px #0000002e}@media (hover:hover){.lp-final .lp-cta:hover:not(:disabled){background:#fff;box-shadow:0 12px 28px #00000038}}.lp-footer{max-width:1120px;padding:var(--space-8) 20px calc(var(--space-10) + env(safe-area-inset-bottom));justify-content:space-between;align-items:center;gap:var(--space-4);border-top:1px solid var(--border-secondary);flex-wrap:wrap;margin:0 auto;display:flex}.lp-footer .lp-brand small{color:var(--fg-tertiary);font-size:var(--text-xs);display:block}.lp-footer-rights{color:var(--fg-tertiary);font-size:var(--text-xs);font-family:var(--font-ui)}@media (width>=720px){.lp-nav-links{display:inline-flex}.lp-nav-actions .lang-switcher-label{display:none}.lp-hero{grid-template-columns:1.05fr .95fr}.lp-hero-copy{text-align:left}.lp-features{grid-template-columns:1fr 1fr}.lp-steps,.lp-plans{grid-template-columns:repeat(3,1fr)}}@media (width<=719px){.lp-hero{text-align:center;gap:var(--space-6);padding-top:clamp(20px,6vw,40px)}.lp-hero-sub{margin-left:auto;margin-right:auto}.lp-hero-ctas{justify-content:center}.lp-hero h1{font-size:clamp(30px,8.6vw,40px)}.lp-scene{aspect-ratio:16/9;border-radius:var(--radius-2xl);max-width:420px}.lp-chip{gap:6px;padding:6px 10px}.lp-chip-emoji{font-size:14px}.lp-glow{width:360px;height:360px}}.lp-cta,.lp-ghost,.lp-brand strong{white-space:nowrap}@media (width<=719px){.lp-nav .lp-ghost{display:none}}.upgrade-modal{text-align:center;max-width:420px}.upgrade-modal .modal-body{align-items:center;gap:var(--space-3);padding-top:var(--space-6)}.upgrade-icon{border-radius:var(--radius-2xl);background:var(--brand-50);border:1px solid var(--brand-100);place-items:center;width:56px;height:56px;font-size:28px;display:grid}.upgrade-title{font-size:var(--text-xl)}.upgrade-reason{color:var(--fg-tertiary);font-size:var(--text-sm);max-width:30em}.upgrade-options{margin:var(--space-2) 0 0;flex-direction:column;gap:8px;width:100%;padding:0;list-style:none;display:flex}.upgrade-options li{text-align:left;background:var(--gray-50);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--fg-secondary);align-items:center;gap:10px;padding:12px 14px;display:flex}.upgrade-notice{color:var(--fg-muted);font-size:var(--text-xs);margin-top:4px}.plan-cards{width:100%;margin-top:var(--space-2);flex-direction:column;gap:10px;display:flex}.plan-card{text-align:left;background:var(--bg-card);border:1.5px solid var(--border-secondary);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);flex-direction:column;gap:4px;padding:14px 16px;display:flex;position:relative}@media (hover:hover){.plan-card:hover:not(:disabled){border-color:var(--brand-300)}}.plan-card.on{border-color:var(--brand-500);background:var(--brand-50);box-shadow:0 0 0 3px #ff385c24}.plan-card:disabled{cursor:default;opacity:.7}.plan-card-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.plan-name{font-weight:var(--fw-semibold);color:var(--fg-primary);font-size:var(--text-sm)}.plan-price{font-weight:var(--fw-bold);color:var(--fg-primary);font-size:var(--text-base)}.plan-price small{font-weight:var(--fw-medium);color:var(--fg-tertiary);font-size:var(--text-xs);margin-left:2px}.plan-desc{font-size:var(--text-xs);color:var(--fg-tertiary)}.plan-badge{background:var(--brand-500);color:#fff;font-size:10px;font-weight:var(--fw-bold);letter-spacing:.03em;border-radius:999px;padding:2px 8px;position:absolute;top:-9px;right:12px}.account-page{gap:var(--space-4);flex-direction:column;display:flex}.account-card{background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);padding:var(--space-4) var(--space-5);flex-direction:column;gap:12px;display:flex}.account-profile{align-items:center;gap:var(--space-4);flex-direction:row}.account-identity{flex-direction:column;gap:2px;min-width:0;display:flex}.account-identity strong{font-size:var(--text-base);color:var(--fg-primary)}.account-identity small{font-size:var(--text-sm);color:var(--fg-tertiary);word-break:break-all}.account-section-title{font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);margin:0}.account-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.account-label{font-size:var(--text-sm);color:var(--fg-tertiary)}.account-value{font-size:var(--text-sm);color:var(--fg-primary);font-weight:var(--fw-medium);text-align:right;align-items:center;gap:8px;display:inline-flex}.plan-pill{font-size:var(--text-xs);font-weight:var(--fw-semibold);background:var(--gray-100);color:var(--fg-secondary);border-radius:999px;align-items:center;padding:3px 10px;display:inline-flex}.plan-pill.pro{background:var(--brand-500);color:#fff}.account-status{font-size:var(--text-xs);color:var(--fg-tertiary);font-weight:var(--fw-medium)}.account-status.ending{color:var(--danger-600,#d6334a)}.account-sync-spinner{width:12px;height:12px;color:var(--fg-muted);opacity:.6;margin:0 0 0 2px}.account-action{align-self:stretch;margin-top:4px}.account-hint{font-size:var(--text-xs);color:var(--fg-muted);margin:0}.account-signout{color:var(--danger-600,#d6334a);font-size:var(--text-sm);font-weight:var(--fw-semibold);cursor:pointer;background:0 0;border:0;align-self:center;padding:10px 16px}.account-page .lang-switcher{border:0;padding:0}.skeleton{border-radius:var(--radius-sm);background:var(--gray-100);width:100%;height:14px;display:inline-block;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg, transparent, var(--skeleton-sheen), transparent);animation:1.5s ease-in-out infinite skeleton-sweep;position:absolute;inset:0;transform:translate(-100%)}:root{--skeleton-sheen:#ffffffa6}:root[data-theme=dark]{--skeleton-sheen:#ffffff12}@keyframes skeleton-sweep{to{transform:translate(100%)}}.skeleton-list{padding:var(--space-2) 0;gap:12px;display:grid}.skeleton-row{background:var(--bg-card);border:1px solid var(--border-tertiary);border-radius:var(--radius-xl);align-items:center;gap:12px;padding:12px 14px;display:flex}.skeleton-row .skeleton{flex-shrink:0}.skeleton-lines{flex:1;gap:8px;display:grid}.skeleton-lines .skeleton{flex-shrink:1}.skeleton-card{background:var(--bg-card);border:1px solid var(--border-tertiary);border-radius:var(--radius-2xl);gap:12px;padding:14px;display:grid}.skeleton-card .skeleton-row{background:0 0;border:0;padding:0}.empty-state .empty-state-icon{border-radius:var(--radius-full);background:var(--brand-50);width:64px;height:64px;color:var(--brand-600);margin-bottom:var(--space-3);place-items:center;display:inline-grid}.empty-state .empty-state-icon svg{width:30px;height:30px}.empty-state-action{margin-top:var(--space-4);flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.tab-panel{animation:page-in .24s var(--ease) backwards}.page-in{animation:page-in .26s var(--ease) backwards}@keyframes page-in{0%{opacity:0;transform:translateY(10px)}}.anim-in{animation:item-in .26s var(--ease) backwards}@keyframes item-in{0%{opacity:0;transform:translateY(8px)scale(.99)}}button:not(:disabled):active{transform:scale(.98)}button.jump-today:not(:disabled):active{transform:translate(-50%)scale(.98)}.lp-magnetic:not(:disabled):active{transform:translate(var(--mx,0px), var(--my,0px)) scale(.98)}.btn-spinner{border-radius:var(--radius-full);opacity:.85;vertical-align:-2px;border:2px solid;border-right-color:#0000;width:14px;height:14px;margin-right:7px;animation:.64s linear infinite btn-spin;display:inline-block}@keyframes btn-spin{to{transform:rotate(360deg)}}.form-row.invalid input,.form-row.invalid textarea,.form-row.invalid select{border-color:var(--error)}.form-row.invalid input:focus,.form-row.invalid textarea:focus,.form-row.invalid select:focus{border-color:var(--error);box-shadow:0 0 0 4px #f0443824}.form-row.shake{animation:field-shake .32s var(--ease)}@keyframes field-shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}45%{transform:translate(4px)}70%{transform:translate(-3px)}85%{transform:translate(2px)}}.field-error{color:var(--error);font-size:var(--text-xs);font-family:var(--font-ui);font-weight:var(--fw-medium);margin:6px 0 0}.icon-btn svg{display:block}a:focus-visible,summary:focus-visible,[role=button]:focus-visible,[tabindex="0"]:focus-visible,.me-item:focus-visible,.trip-card:focus-visible{outline-offset:2px;border-radius:var(--radius-sm);outline:3px solid #ff385c59}.bottom-nav a:focus-visible{outline-offset:-3px;border-radius:var(--radius-md)}.form-row input:focus-visible,.form-row select:focus-visible,.form-row textarea:focus-visible{outline:none}.bottom-nav a svg{width:22px;height:22px}.bottom-nav a .nav-emoji{font-size:22px;line-height:1}@media (prefers-reduced-motion:reduce){.skeleton:after,.tab-panel,.page-in,.anim-in,.toast,.toast-leave,.toast-success .toast-icon,.modal,.modal-backdrop,.task-row.checked .check,.form-row.shake{animation:none}.task-row .task-title:after{transition:none}button:not(:disabled):active{transform:none}}.scan-btn{border-radius:var(--radius-md);font-size:var(--text-sm);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.receipt-modal{max-width:640px}.receipt-body{gap:var(--space-4);display:grid}.receipt-step{gap:var(--space-3);display:grid}.receipt-step-title{font-size:var(--text-md);font-weight:var(--fw-bold);color:var(--fg-primary);flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.receipt-step-progress{color:var(--fg-muted);font-size:var(--text-xs);font-family:var(--font-ui)}.receipt-subhead{margin:var(--space-2) 0 0;font-size:var(--text-sm);font-weight:var(--fw-bold);color:var(--fg-secondary)}.receipt-card{gap:var(--space-3);padding:var(--space-4);background:var(--gray-50);border:1px solid var(--border-tertiary);border-radius:var(--radius-xl);display:grid}.receipt-banner{border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--fw-medium);font-family:var(--font-ui);flex-wrap:wrap;align-items:center;gap:8px;padding:9px 12px;display:flex}.receipt-banner.warn{background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border)}.receipt-banner-sub{color:var(--fg-tertiary);font-weight:var(--fw-regular);flex-basis:100%}.receipt-drop{border:2px dashed var(--border-primary);border-radius:var(--radius-2xl);padding:var(--space-4);background:var(--gray-25);transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease)}.receipt-drop-cta{width:100%;min-height:148px;color:var(--fg-tertiary);background:0 0;border:0;place-items:center;gap:6px;display:grid}.receipt-drop-cta strong{color:var(--fg-secondary);font-size:var(--text-sm)}.receipt-drop-cta small{color:var(--fg-muted);font-size:var(--text-xs);text-align:center}.receipt-drop-cta>svg{color:var(--brand-500)}.receipt-pick-btn{align-items:center;gap:6px;margin-top:2px;display:inline-flex}.receipt-pick-btn svg{color:currentColor}.receipt-thumbs{flex-wrap:wrap;gap:10px;display:flex}.receipt-thumb{border-radius:var(--radius-lg);border:1px solid var(--border-secondary);background:var(--bg-card);width:84px;height:108px;position:relative;overflow:hidden}.receipt-thumb img{object-fit:cover;width:100%;height:100%;display:block}.receipt-thumb.status-error{border-color:var(--error)}.receipt-thumb-remove{border-radius:var(--radius-full);color:#fff;background:#1c1917a6;border:0;place-items:center;width:24px;height:24px;min-height:24px;padding:0;display:grid;position:absolute;top:4px;right:4px}.receipt-thumb-add{color:var(--fg-muted);background:0 0;border-style:dashed;place-items:center;display:grid}.receipt-scanning{text-align:center;padding:var(--space-4) 0;justify-items:center}.receipt-scanning strong{color:var(--fg-primary);align-items:center;gap:8px;display:inline-flex}.receipt-scanning p{color:var(--fg-tertiary);font-size:var(--text-sm)}.receipt-scan-stage{border-radius:var(--radius-xl);border:1px solid var(--border-secondary);width:150px;height:190px;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.receipt-scan-stage img{object-fit:cover;width:100%;height:100%;display:block}.receipt-scan-beam{background:linear-gradient(#0000,#ff385c47 82%,#ff385cbf);height:34%;animation:1.6s ease-in-out infinite alternate receipt-beam;position:absolute;top:0;left:0;right:0}@keyframes receipt-beam{0%{transform:translateY(-40%)}to{transform:translateY(220%)}}.receipt-scan-skeleton{justify-items:start;gap:8px;width:min(320px,90%);display:grid}.receipt-scan-skeleton .skeleton{height:12px}.receipt-head-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.receipt-head-grid label:first-child{grid-column:1/-1}.receipt-head-grid label,.receipt-fees-grid label{min-width:0;font-size:var(--text-xs);color:var(--fg-tertiary);font-family:var(--font-ui);font-weight:var(--fw-medium);gap:4px;display:grid}.receipt-head-grid input,.receipt-head-grid select,.receipt-fees-grid input{width:100%;min-width:0}.receipt-head-grid input,.receipt-head-grid select,.receipt-fees-grid input,.receipt-item-row input,.receipt-guest-add input,.receipt-advanced-grid input,.receipt-advanced-unitprice input,.receipt-advanced-mode select,.receipt-fee-option select{min-height:var(--tap);border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-card);color:var(--fg-primary);font:inherit;font-size:var(--text-sm);padding:8px 10px}label.uncertain input,label.uncertain select,.receipt-item-row.uncertain input{border-color:var(--warning);background:var(--warning-bg);box-shadow:0 0 0 3px #ec9c001f}.receipt-items-head{font-size:var(--text-xs);color:var(--fg-muted);font-family:var(--font-ui);font-weight:var(--fw-semibold);grid-template-columns:minmax(0,1fr) 48px 82px 30px;gap:8px;display:grid}.receipt-item-row{grid-template-columns:minmax(0,1fr) 48px 82px 30px;align-items:center;gap:8px;display:grid}.receipt-item-row input{width:100%;min-width:0}.receipt-item-row .icon-btn{width:30px;height:30px;min-height:30px;color:var(--fg-muted);border-radius:var(--radius-md);background:0 0;border:0;place-items:center;padding:0;display:grid}.receipt-add-item{justify-self:start;align-items:center;gap:4px;display:inline-flex}.receipt-fees-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}@media (width<=480px){.receipt-fees-grid{grid-template-columns:1fr 1fr}}.receipt-guest-list{flex-wrap:wrap;gap:8px;display:flex}.receipt-guest-add{gap:8px;display:flex}.receipt-guest-add input{flex:1}.receipt-guest-add button{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.receipt-guest-remove{min-height:0;color:var(--fg-muted);background:0 0;border:0;place-items:center;padding:2px;display:grid}.guest-bubble{border-radius:var(--radius-full);background:var(--gray-300);width:22px;height:22px;color:var(--fg-primary);font-size:11px;font-weight:var(--fw-bold);flex-shrink:0;place-items:center;display:inline-grid}.receipt-payer-block{gap:8px;display:grid}.receipt-payer-merchant{color:var(--fg-muted);font-size:var(--text-xs);font-weight:var(--fw-regular)}.receipt-assign-row{border-bottom:1px solid var(--border-tertiary);gap:6px;padding:10px 0;display:grid}.receipt-assign-row:last-of-type{border-bottom:0}.receipt-assign-row.has-issue{background:linear-gradient(90deg, var(--error-bg), transparent);border-radius:var(--radius-md);padding-left:8px}.receipt-assign-main{align-items:center;gap:10px;display:flex}.receipt-assign-name{flex:1;min-width:0;display:grid}.receipt-assign-name strong{font-size:var(--text-sm);color:var(--fg-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.receipt-assign-name small{color:var(--fg-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.receipt-chip-row{flex-wrap:wrap;gap:6px;padding:2px 3px 3px 0;display:flex}.receipt-face{border-radius:var(--radius-full);opacity:.42;width:34px;height:34px;min-height:34px;transition:opacity var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);background:0 0;border:2px solid #0000;place-items:center;padding:2px;display:grid;position:relative}.receipt-face.on{opacity:1;border-color:var(--brand-500)}.receipt-face:not(:disabled):active{transform:scale(.9)}.receipt-face-check{border-radius:var(--radius-full);background:var(--brand-500);color:#fff;border:2px solid var(--bg-card);place-items:center;width:15px;height:15px;display:grid;position:absolute;bottom:-3px;right:-3px}.receipt-mode-chip{border-radius:var(--radius-full);background:var(--plum-50);color:var(--plum-600);border:1px solid var(--plum-100);font-size:var(--text-xs);font-weight:var(--fw-semibold);font-family:var(--font-ui);white-space:nowrap;padding:4px 10px}.receipt-mode-chip.mode-excluded,.receipt-mode-chip.mode-separate{background:var(--gray-100);color:var(--fg-tertiary);border-color:var(--border-secondary)}.receipt-advanced-btn{border-radius:var(--radius-full);border:1px solid var(--border-secondary);background:var(--bg-card);width:32px;height:32px;min-height:32px;color:var(--fg-muted);place-items:center;padding:0;display:grid}.receipt-advanced-btn.on{border-color:var(--brand-300);color:var(--brand-600);background:var(--brand-50)}.receipt-advanced{background:var(--bg-card);border:1px solid var(--border-tertiary);border-radius:var(--radius-lg);gap:10px;padding:12px;display:grid}.receipt-advanced-mode{font-size:var(--text-xs);color:var(--fg-tertiary);font-family:var(--font-ui);gap:4px;display:grid}.receipt-advanced-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}@media (width<=480px){.receipt-advanced-grid,.receipt-modal .participants-grid{grid-template-columns:1fr}.receipt-assign-main{flex-wrap:wrap}.receipt-assign-name{flex:1 1 0}.receipt-chip-row{flex-basis:100%;order:3}}.receipt-advanced-grid label{font-size:var(--text-xs);align-items:center;gap:8px;display:flex}.receipt-advanced-grid label input{width:90px;margin-left:auto}.receipt-advanced-unitprice{font-size:var(--text-xs);color:var(--fg-tertiary);align-items:center;gap:8px;display:flex}.receipt-bulk-row{justify-content:flex-end;display:flex}.receipt-fee-option{font-size:var(--text-sm);color:var(--fg-secondary);font-weight:var(--fw-medium);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.receipt-person{align-items:center;gap:7px;min-width:0;display:inline-flex}.receipt-person-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.receipt-person-list li{font-size:var(--text-sm);justify-content:space-between;align-items:center;gap:10px;display:flex}.receipt-amount{font-family:var(--font-ui);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;color:var(--fg-primary);white-space:nowrap}.receipt-summary-payer{font-size:var(--text-sm);color:var(--fg-secondary);font-weight:var(--fw-semibold)}.receipt-summary-items{gap:6px;margin:0;padding:0;list-style:none;display:grid}.receipt-summary-items li{font-size:var(--text-xs);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;align-items:baseline;gap:8px;display:grid}.receipt-summary-item-name{color:var(--fg-primary);font-weight:var(--fw-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.receipt-summary-item-name em{color:var(--fg-muted);font-style:normal}.receipt-summary-people{color:var(--fg-tertiary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.receipt-done{text-align:center;padding:var(--space-6) 0;justify-items:center}.receipt-done h4{font-size:var(--text-xl)}.receipt-done p{color:var(--fg-tertiary);max-width:30em}.receipt-footer{background:var(--bg-card)}.receipt-footer button{align-items:center;gap:4px;display:inline-flex}.itemized-badge{background:var(--brand-50);color:var(--brand-700);border-color:var(--brand-100);vertical-align:2px;flex-shrink:0;align-items:center;gap:4px;margin-left:8px;display:inline-flex}@media (prefers-reduced-motion:reduce){.receipt-scan-beam{opacity:.4;animation:none}.receipt-face:not(:disabled):active{transform:none}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.app-header,.lp-nav{background:rgba(var(--bg-page-rgb), .97)}.bottom-nav{background:rgba(var(--bg-card-rgb), .98)}.itinerary-day-nav button,.me-btn{background:rgba(var(--bg-card-rgb), .97)}}.trip-section{margin-bottom:var(--space-6)}.trip-section:last-child{margin-bottom:0}.trip-section-title{margin:0 0 var(--space-3);font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted)}.dashboard-banner{margin-bottom:var(--space-4);background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--fg-secondary);flex-wrap:wrap;align-items:center;gap:10px 12px;padding:12px 14px;display:flex}.dashboard-banner p{overflow-wrap:anywhere;flex:16em;min-width:0;margin:0}.dashboard-banner .btn-spinner{flex-shrink:0}.dashboard-banner-actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.dashboard-banner.is-error{background:var(--error-bg);border-color:var(--error-border);color:var(--error)}.dashboard-banner.is-pending{color:var(--fg-primary)}.dashboard-banner.is-success{background:var(--brand-50);border-color:var(--brand-100);color:var(--fg-primary)}.account-inline-error{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.account-inline-error span{overflow-wrap:anywhere}.lang-switcher-compact{border:0;gap:0;padding:0}.lang-switcher-compact .lang-switcher-options{padding:2px}.lang-switcher-compact .lang-option{min-width:44px;min-height:40px;font-size:var(--text-sm);justify-content:center;padding:0 10px}@media (width<=719px){.lp-nav{gap:var(--space-3)}}@media (width<=479px){:root[lang=en] .lp-nav .lp-brand strong{display:none}}@media (width<=719px){.lp-hero{gap:var(--space-6);padding-top:clamp(20px,5vw,36px)}.lp-hero-art .lp-scene{max-height:min(36vh,280px)}.lp-chip-wx{display:none}}.lp-price-alt{color:var(--fg-muted);font-size:var(--text-xs);font-family:var(--font-ui);margin:0 0 4px}.lp-plan-note{text-align:center;color:var(--fg-muted);font-size:var(--text-xs);font-family:var(--font-ui);margin:10px 0 0;line-height:1.4}.lp-preview{margin:var(--space-2) auto 0;max-width:1120px;padding-bottom:clamp(40px,6vw,64px)}.lp-preview-grid{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=720px){.lp-preview-grid{grid-template-columns:1.15fr 1fr;align-items:start}}.lp-preview-card{background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:var(--radius-2xl);min-width:0;box-shadow:var(--shadow-xs);padding:18px 18px 16px}.lp-preview-head{flex-direction:column;gap:2px;margin-bottom:12px;display:flex}.lp-preview-kicker{color:var(--brand-600);font-family:var(--font-ui);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.lp-preview-title{font-size:var(--text-md);color:var(--fg-primary)}.lp-preview-timeline{pointer-events:none}.lp-preview .timeline-item{grid-template-columns:48px 28px 1fr}.lp-preview-timeline.timeline:before{left:73px}.lp-preview-transfers{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.lp-preview .transfer-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"parties amount"}.lp-preview-avatar-a{background:var(--brand-600)}.lp-preview-avatar-b{background:var(--gray-500)}.lp-preview-avatar-c{background:var(--warning)}.lp-preview-avatar-me{background:var(--success)}.lp-preview-foot{color:var(--fg-tertiary);font-size:var(--text-xs);font-family:var(--font-ui);margin:10px 0 0}.lp-preview-caption{text-align:center;color:var(--fg-muted);font-size:var(--text-xs);font-family:var(--font-ui);margin-top:10px}.payments-header .total-stat-sub{color:var(--fg-muted);font-size:var(--text-xs);font-family:var(--font-ui);line-height:1.3}.export-btn[aria-busy=true]{cursor:progress}.export-btn{white-space:nowrap}@media (width<=480px){.payments-header .totals{width:100%}.payments-header .total-stat{flex:140px;min-width:0}.payments-header .payments-actions{width:100%}.payments-header .payments-actions>button{white-space:nowrap;flex:auto;justify-content:center;min-width:0;padding-inline:10px}}.export-modal .skeleton-list{gap:10px;display:grid}.receipt-body:focus,.receipt-body:focus-visible{outline:none}@media (width<=480px){.receipt-footer{flex-wrap:nowrap}.receipt-footer button{white-space:nowrap;flex:1 1 0;justify-content:center;min-width:0;padding-inline:10px}}.readonly-hint{margin:0 0 var(--space-3);border-radius:var(--radius-md);background:var(--gray-50);border:1px solid var(--border-tertiary);color:var(--fg-tertiary);font-size:var(--text-xs);font-family:var(--font-ui);line-height:var(--lh-sm);padding:8px 12px}.tasks-summary .filter-scope-caption{color:var(--fg-muted);font-size:var(--text-xs);font-family:var(--font-ui);margin:2px 0 0}.tasks-tab.has-fab,.gear-tab.has-fab{padding-bottom:88px}.gear-card .gear-status{font-size:var(--text-xs);font-family:var(--font-ui);color:var(--fg-tertiary);margin:-4px 0 0}.gear-card .gear-status.ok{color:var(--success)}.gear-card .gear-status.warn{color:var(--error)}.gear-actions .gear-cap-hint{flex-basis:100%;margin:0}.task-row .task-title,.gear-card .gear-name strong{overflow-wrap:anywhere}@media (width<=420px){.emoji-picker{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}}.create-trip-preview>div{min-width:0}.create-trip-preview strong{overflow-wrap:anywhere}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.day-nav-kicker{border-radius:var(--radius-full);background:var(--brand-600);color:#fff;width:fit-content;font-family:var(--font-ui);font-size:10px;font-weight:var(--fw-bold);letter-spacing:.02em;margin-bottom:2px;padding:1px 7px;line-height:14px}.timeline-item .content{min-width:0}.timeline-item .title{overflow-wrap:anywhere;min-width:0}.day-header-main{min-width:0}.day-title{overflow-wrap:anywhere}.signin-inline{flex-direction:column;align-items:center;gap:8px;max-width:100%;display:inline-flex}.signin-inline-error{background:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius-md);max-width:32ch;color:var(--error);font-size:var(--text-xs);line-height:var(--lh-sm);font-family:var(--font-ui);text-align:left;overflow-wrap:anywhere;margin:0;padding:8px 12px}.signin-inline--float{position:relative}.signin-inline--float .signin-inline-error{background:var(--bg-card);width:max-content;max-width:min(280px,100vw - 32px);box-shadow:var(--shadow-lg);z-index:31;margin-top:8px;position:absolute;top:100%;right:0}.btn-link.secondary{background:var(--bg-card);border-color:var(--border-secondary);color:var(--fg-secondary);gap:6px}@media (hover:hover){.btn-link.secondary:hover{background:var(--gray-50);color:var(--fg-primary)}}.btn-link.primary{gap:6px}.btn-link.is-disabled{opacity:.55;pointer-events:none}.join-visibility{border-radius:var(--radius-lg);background:var(--gray-50);border:1px solid var(--border-tertiary);text-align:left;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.join-visibility.is-public{background:var(--brand-50);border-color:var(--brand-100)}.join-visibility-icon{background:var(--bg-card);width:28px;height:28px;color:var(--fg-secondary);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.join-visibility.is-public .join-visibility-icon{color:var(--brand-600)}.join-visibility>div{flex-direction:column;gap:2px;min-width:0;display:flex}.join-visibility strong{font-size:var(--text-sm);color:var(--fg-primary)}.join-visibility small{font-size:var(--text-xs);color:var(--fg-secondary);line-height:var(--lh-sm)}.join-shares-note{font-size:var(--text-xs);color:var(--fg-tertiary);line-height:var(--lh-sm);margin:0}.join-actions{flex-direction:column;gap:10px;display:flex}.join-actions .primary{width:100%}.join-view-link{font-size:var(--text-sm);margin-top:12px;display:inline-block}.signin-card .join-visibility{margin-top:12px}.trip-preview-name{overflow-wrap:anywhere}.app-header .title .title-text{flex:0 auto}.members-viewer-note{margin:0 0 var(--space-3);border-radius:var(--radius-lg);background:var(--gray-50);border:1px solid var(--border-tertiary);color:var(--fg-secondary);align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.members-viewer-note svg{flex-shrink:0;margin-top:2px}.members-viewer-note>div{flex-direction:column;gap:2px;min-width:0;display:flex}.members-viewer-note strong{font-size:var(--text-sm);color:var(--fg-primary)}.members-viewer-note small{font-size:var(--text-xs);line-height:var(--lh-sm)}.member-modal{max-width:480px}.billing-policy{padding-block:var(--space-6) var(--space-10);overflow-wrap:anywhere}.billing-policy-nav{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-8);flex-wrap:wrap;display:flex}.billing-policy h1{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.3}.billing-policy h2{font-size:var(--text-lg);margin-bottom:var(--space-3)}.billing-policy p{line-height:1.85}.billing-policy section{margin-top:var(--space-6)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--brand-25:#271a1e;--brand-50:#301e25;--brand-100:#40232d;--brand-200:#572b39;--brand-300:#7a3448;--brand-400:#e84a6e;--brand-500:#ff5470;--brand-600:#ff7a90;--brand-700:#ffa3b2;--plum-50:#2e1e28;--plum-100:#45283a;--plum-600:#ee85be;--gray-25:#1e1a18;--gray-50:#262120;--gray-100:#2c2725;--gray-200:#37312d;--gray-300:#4a423d;--gray-400:#6e645d;--gray-500:#968b84;--gray-600:#b5aaa3;--gray-700:#d9d1cc;--gray-800:#e9e2de;--gray-900:#f5efec;--success:#3dd68c;--success-bg:#12291f;--success-border:#1f4a36;--warning:#f5b84f;--warning-bg:#2e2410;--warning-border:#4a3a14;--error:#f97066;--error-bg:#331715;--error-border:#55201c;--info:#6cb5ff;--info-bg:#14263a;--danger-600:#f97066;--warning-ink:#f5b84f;--fg-primary:#f5efec;--fg-secondary:#d9d1cc;--fg-tertiary:#b5aaa3;--fg-muted:#968b84;--fg-link:#ff7a90;--border-primary:#4a423d;--border-secondary:#37312d;--border-tertiary:#2a2523;--bg-page:#171412;--bg-card:#211d1b;--bg-page-rgb:23, 20, 18;--bg-card-rgb:33, 29, 27;--bg-elevated:#2a2523;--bg-nav-2:#3a2b10;--bg-nav-5:#2c2438;--scrim:#0009;--hover-veil:#ffffff0d;--toast-bg:#362f2c;--toast-fg:#f5efec;--danger-hover-bg:#4a211d;--glass-bg:#211d1b8c;--glass-border:#ffffff17;--grad-primary:linear-gradient(135deg, #f0446a 0%, #c90560 100%);--grad-button:linear-gradient(135deg, #de2450 0%, #c90560 100%);--grad-hero:radial-gradient(120% 120% at 0% 0%, #e85c74 0%, #e13153 38%, #b80457 100%);--shadow-xs:0px 1px 2px #00000059;--shadow-sm:0px 1px 3px #0006, 0px 1px 2px #0000004d;--shadow-md:0px 4px 8px -2px #0000006b, 0px 2px 4px -2px #00000052;--shadow-lg:0px 12px 16px -4px #00000075, 0px 4px 6px -2px #0000004d;--shadow-xl:0px 20px 24px -4px #00000080, 0px 8px 8px -4px #00000047;--shadow-card:0px 0px 2px #ff547024, 0px 4px 8px #0006;--shadow-subtle:0px 0px 4px #ff54701a, 0px 12px 24px #00000073}[data-theme=dark] .cat-meal .category-chip{color:#ffc46b}[data-theme=dark] .cat-travel .dot{border-color:#1e3a5c}[data-theme=dark] .cat-travel .category-chip{color:#7cbbff}[data-theme=dark] .cat-setup .dot{border-color:#4a3a6b}[data-theme=dark] .cat-setup .category-chip{color:#c6a9ff}[data-theme=dark] .cat-rest .dot{background:#0f2e29;border-color:#1f4a42}[data-theme=dark] .cat-rest .category-chip{color:#4adbc0;background:#0f2e29}[data-theme=dark] .badge.free-rider{color:#f5b84f}[data-theme=dark] .badge.car{color:#c6a9ff;border-color:#4a3a6b}[data-theme=dark] .lp-glow{opacity:.5}[data-theme=dark] .lp-scene{border-color:#ffffff24}[data-theme=dark] .lp-final .lp-cta{color:#b3134b}
