:root{--print-paper:#f6f3eb;--print-ink:#303b33;--print-line:#dcded1;--print-accent:#a14e2d;--print-muted:#667065;--studio-paper:var(--print-paper);--studio-ink:var(--print-ink);--studio-line:var(--print-line);--studio-accent:var(--print-accent);--studio-muted:var(--print-muted);--studio-button:#344335;--studio-button-hover:#263528;--accent-rgb:161, 78, 45;--focus-ring:#a14e2d;--on-accent:#fff;--on-status:#fff;--brand-25:#f8f4ed;--brand-50:#eee9de;--brand-100:#e3d9c8;--brand-200:#cdbca4;--brand-300:#b99e80;--brand-400:#aa7754;--brand-500:var(--studio-accent);--brand-600:var(--studio-accent);--brand-700:#7d3d24;--plum-50:#eeeadf;--plum-100:#d8cfbc;--plum-600:#706044;--gray-25:#fcfaf4;--gray-50:#f0eee4;--gray-100:#eaeade;--gray-200:var(--studio-line);--gray-300:#c7ccbd;--gray-400:#929d8c;--gray-500:var(--studio-muted);--gray-600:#53604f;--gray-700:#465143;--gray-800:var(--studio-ink);--gray-900:#252e28;--success:#3d6345;--success-bg:#e8ede2;--success-border:#c5d2be;--warning:#96661e;--warning-ink:#785218;--warning-bg:#f6edda;--warning-border:#ddca9f;--error:#a53c2d;--error-bg:#f4e6df;--error-border:#dfb6a7;--info:#446268;--info-bg:#e8edeb;--danger-600:var(--error);--fg-primary:var(--studio-ink);--fg-secondary:#465143;--fg-tertiary:var(--studio-muted);--fg-muted:var(--studio-muted);--fg-link:var(--studio-accent);--border-primary:#bdc4b5;--border-secondary:var(--studio-line);--border-tertiary:#e7e7db;--bg-page:var(--studio-paper);--bg-card:#fcfaf4;--bg-page-rgb:246, 243, 235;--bg-card-rgb:252, 250, 244;--bg-elevated:#fcfaf4;--scrim:#1e282073;--hover-veil:#303b330a;--toast-bg:var(--studio-ink);--toast-fg:var(--studio-paper);--danger-hover-bg:var(--error-bg);--glass-bg:var(--bg-card);--glass-border:var(--border-secondary);--bg-nav-2:var(--warning-bg);--bg-nav-5:var(--plum-50);--grad-primary:var(--studio-button);--grad-button:var(--studio-button);--grad-hero:var(--studio-button);--shadow-xs:none;--shadow-sm:0 1px 2px #303b330d;--shadow-md:0 4px 12px #303b3314;--shadow-lg:0 8px 24px #303b331a;--shadow-xl:0 16px 40px #303b331f;--shadow-card:none;--shadow-subtle:none;--radius-xs:3px;--radius-sm:4px;--radius-md:4px;--radius-lg:4px;--radius-xl:4px;--radius-2xl:5px;--radius-3xl:5px;--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:Georgia, "Times New Roman", "Noto Serif TC", serif;--font-body:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-ui:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", 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:4px solid rgba(var(--accent-rgb), .24);outline-offset:0}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:12px}.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:var(--plum-600);border-color:var(--plum-100)}.badge.warn{background:var(--error-bg);color:var(--error);border-color:var(--error-border)}.badge.me{background:var(--brand-600);color:var(--on-accent);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:var(--bg-page);-webkit-backdrop-filter:none;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:var(--bg-card);-webkit-backdrop-filter:none;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:12px;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:var(--success);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:none;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:12px;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 rgba(var(--accent-rgb), .18)}.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:var(--bg-card)}.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:12px;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:var(--on-accent)}.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:12px;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:var(--border-secondary);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:12px;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{border-color:var(--border-primary);background:var(--info-bg)}.cat-setup .dot{border-color:var(--plum-100);background:var(--bg-nav-5)}.cat-rest .dot{border-color:var(--success-border);background:var(--success-bg)}.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:var(--info)}.cat-setup .category-chip{background:var(--bg-nav-5);color:var(--plum-600)}.cat-rest .category-chip{background:var(--success-bg);color:var(--success)}@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:12px;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:12px;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);width:32px;height:32px;min-height:32px;color:var(--on-accent);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 rgba(var(--accent-rgb), .1)}.day-stop-number{border-radius:var(--radius-full);background:var(--brand-600);width:27px;height:27px;color:var(--on-accent);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:12px;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:var(--on-accent);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:var(--on-accent)}.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:12px;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:3px solid rgba(var(--accent-rgb), .35);outline-offset:2px}.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);box-shadow:0 1px 2px #1c19171a, 0 1px 3px rgba(var(--accent-rgb), .32), inset 0 1px 0 #ffffff2e;border-color:#0000}@media (hover:hover){button.primary:hover:not(:disabled){background:var(--studio-button-hover);box-shadow:0 3px 8px rgba(var(--accent-rgb), .38), inset 0 1px 0 #fff3;border-color:#0000;transform:translateY(-1px)}}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);background:rgba(var(--accent-rgb), .08);border:1px solid rgba(var(--accent-rgb), .16);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;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:none;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);box-shadow:0 0 0 4px rgba(var(--accent-rgb), .18);outline:none}.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 rgba(var(--accent-rgb), .18)}.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:var(--on-accent);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:var(--on-accent);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:var(--on-accent)}.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:12px;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 rgba(var(--accent-rgb), .12)}.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:12px}.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:12px}.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:12px;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);width:64px;height:64px;box-shadow:0 8px 20px rgba(var(--accent-rgb), .35), inset 0 1px 0 #ffffff40;place-items:center;display:grid}.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:var(--bg-page);-webkit-backdrop-filter:none;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;box-shadow:0 1px 2px #1c19171a, 0 1px 3px rgba(var(--accent-rgb), .32), inset 0 1px 0 #ffffff2e;border-color:#0000}@media (hover:hover){.btn-link.primary:hover{background:var(--studio-button-hover);box-shadow:0 3px 8px rgba(var(--accent-rgb), .38);border-color:#0000;transform:translateY(-1px)}}.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:var(--brand-50);border:1px solid rgba(var(--accent-rgb), .12);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);box-shadow:0 0 0 4px rgba(var(--accent-rgb), .18);outline:none}.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);border:1px solid rgba(var(--accent-rgb), .2);background:var(--brand-50);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:1px solid rgba(var(--accent-rgb), .16);border-radius:var(--radius-xl);background:var(--brand-50)}.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);box-shadow:0 0 0 4px rgba(var(--accent-rgb), .18);outline:none}.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:4px solid rgba(var(--accent-rgb), .24);outline-offset:1px}.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);box-shadow:0 0 0 4px rgba(var(--accent-rgb), .18);outline:none}.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:4px solid rgba(var(--accent-rgb), .24);outline-offset:0}.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:var(--brand-50);border:1px solid rgba(var(--accent-rgb), .12);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);box-shadow:0 8px 20px rgba(var(--accent-rgb), .4), 0 2px 6px #1c191729, inset 0 1px 0 #ffffff38;z-index:20;border-color:#0000;border-radius:50%;place-items:center;padding:0;display:grid;position:fixed}@media (hover:hover){.fab:hover:not(:disabled){background:var(--studio-button-hover);box-shadow:0 12px 26px rgba(var(--accent-rgb), .46), 0 3px 8px #1c19172e;border-color:#0000;transform:translateY(-2px)scale(1.02)}}.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:var(--on-status)}.toast-error{background:var(--error);color:var(--on-status)}.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:12px;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);background:var(--brand-50);box-shadow:var(--shadow-xs);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:12px;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:var(--brand-50);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:var(--brand-100);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);box-shadow:0 0 0 4px rgba(var(--accent-rgb), .18);outline:none}.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:var(--on-accent)}.ai-emoji{border-radius:var(--radius-md);background:var(--brand-50);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)}.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 rgba(var(--accent-rgb), .14)}.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:12px;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)}.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);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)}.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:3px solid rgba(var(--accent-rgb), .35);outline-offset:2px;border-radius:var(--radius-sm)}.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:var(--brand-100);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:12px;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:var(--error-bg);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{background:var(--bg-page)}.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}.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}.itinerary-tab.has-fab,.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);width:fit-content;color:var(--on-accent);font-family:var(--font-ui);font-size:12px;font-weight:var(--fw-bold);letter-spacing:.02em;margin-bottom:2px;padding:1px 7px;line-height:14px}.itinerary-day-nav button.is-active .day-nav-kicker,.itinerary-day-nav button.is-open .day-nav-kicker{color:var(--on-accent)}.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)}.brand-mark{object-fit:contain;flex-shrink:0;display:block}.skip-link{z-index:1000;background:var(--bg-card);color:var(--fg-primary);border:2px solid var(--focus-ring);border-radius:var(--radius-md);padding:12px 18px;text-decoration:none;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:none}:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible,[role=button]:focus-visible,[tabindex="0"]:focus-visible,.sub-tab:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}:is(.app-header,.dashboard-header,.bottom-nav,.me-btn){-webkit-backdrop-filter:none}button.primary,.btn-link.primary,.fab{background:var(--studio-button);color:#fff;border:1px solid var(--studio-button);box-shadow:none;border-radius:var(--radius-md)}@media (hover:hover){button.primary:hover:not(:disabled),.btn-link.primary:hover,.fab:hover:not(:disabled){background:var(--studio-button-hover);border-color:var(--studio-button-hover);box-shadow:none;transform:none}}.signin-logo{width:48px;height:48px;box-shadow:none;background:0 0}.signin-logo img{filter:none}.signin-card{padding:32px 24px}.identity-header .logo-wrap{box-shadow:none;background:0 0}:is(.trip-cover,.trip-cover-mini,.create-trip-preview,.ai-emoji,.ai-btn,.ai-suggestion,.day-header){background:var(--bg-card)}:is(.badge,.name-tag,.status-pill,.readonly-pill,.plan-pill,.plan-badge,.itinerary-view-toggle,.itinerary-view-toggle button,.day-route-link,.sub-tabs,.sub-tab,.lang-switcher-options,.lang-option,.receipt-mode-chip,.receipt-advanced-btn,.toast-action){border-radius:var(--radius-md)}:is(.trip-card,.timeline-item .content,.gear-card,.account-card,.task-row,.empty-state){box-shadow:none}.empty-state{padding:28px 20px}.empty-state .empty-state-icon{border-radius:var(--radius-md);background:0 0;width:48px;height:48px}.empty-state h3{font-size:var(--text-xl)}.empty-state p{max-width:44ch;font-size:var(--text-sm);margin-inline:auto}:is(.trip-section-title,.account-section-title,.overview-kicker){font-family:var(--font-ui);font-size:var(--text-sm);text-transform:none;letter-spacing:0}.bottom-nav a{font-size:12px;line-height:18px}.lp-kicker{color:var(--fg-muted);font-size:var(--text-sm);font-family:var(--font-ui)}button{min-width:var(--tap)}button.link,.lang-option,.lang-switcher-compact .lang-option,.segmented-option,.itinerary-view-toggle button,.itinerary-export-btn,.day-route-link,.sub-tab,.trip-signin-btn,.me-item,.toast-action,.receipt-guest-remove{min-height:var(--tap)}.icon-btn,.icon-btn.small,.receipt-item-row .icon-btn,.receipt-thumb-remove,.receipt-face,.receipt-advanced-btn,.itinerary-order-btn,.expense-action,.modal-close,.day-map-marker,.app-header .back-link{width:var(--tap);height:var(--tap);min-height:var(--tap);flex-shrink:0}.receipt-thumb-remove{border-radius:0 0 0 var(--radius-md);top:0;right:0}.receipt-items-head,.receipt-item-row{grid-template-columns:minmax(0,1fr) 48px 82px 44px}.receipt-guest-add{flex-wrap:wrap}.receipt-guest-add input{min-width:120px}.receipt-assign-main{flex-wrap:wrap}.receipt-assign-name{flex-basis:120px}.receipt-mode-chip{white-space:normal}.receipt-guest-remove{min-width:var(--tap)}.receipt-thumb{width:100px;height:124px}.receipt-face{opacity:.72}.receipt-scan-beam{background:var(--brand-100);opacity:.45}button.status-pill{min-height:var(--tap)}:is(.amount,.plan-price,.balance-net,.total-stat strong){font-variant-numeric:tabular-nums}.studio-page{background:var(--bg-page);min-height:100vh;color:var(--fg-primary)}.studio-header,.studio-main,.studio-footer{width:min(100% - 64px,1120px);margin-inline:auto}.studio-header{border-bottom:1px solid var(--border-secondary);justify-content:space-between;align-items:center;gap:24px;padding-block:24px;display:flex}.studio-brand{min-height:var(--tap);color:var(--fg-primary);align-items:center;gap:12px;text-decoration:none;display:inline-flex}.studio-brand strong{font-family:var(--font-display);font-size:24px;font-weight:400}.studio-brand small{color:var(--fg-muted);font-size:12px;line-height:1.5;display:block}.studio-nav{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.studio-nav a{min-width:var(--tap);min-height:var(--tap);color:var(--fg-secondary);font-size:var(--text-sm);align-items:center;text-decoration:none;display:inline-flex}.studio-nav a:hover{color:var(--fg-link);text-underline-offset:4px;text-decoration:underline}.studio-hero{max-width:900px;padding-block:clamp(48px,8vw,96px) 44px}.studio-eyebrow{color:var(--fg-link);font-size:var(--text-sm);margin-bottom:20px;line-height:1.5}.studio-hero h1{letter-spacing:-.035em;text-wrap:balance;max-width:16ch;font-size:clamp(38px,5.8vw,66px);font-weight:400;line-height:1.13}:root[lang^=zh] .studio-hero h1{letter-spacing:0;max-width:15em;font-size:clamp(34px,4.5vw,56px);line-height:1.4}.studio-lead{max-width:650px;color:var(--fg-secondary);margin-top:24px;font-size:19px;line-height:1.65}.studio-start{flex-wrap:wrap;align-items:center;gap:16px;margin-top:28px;display:flex}.studio-start button,button.studio-start{min-height:50px;font-size:var(--text-md);justify-content:center;align-items:center;gap:10px;padding:13px 20px;display:inline-flex}.studio-note{color:var(--fg-muted);font-size:var(--text-sm);line-height:1.6}.studio-hero>.studio-note{margin-top:12px}.studio-hero .form-error{max-width:650px;margin-top:16px}.studio-preview{border:1px solid var(--border-primary);border-radius:var(--radius-lg);background:var(--bg-card);margin:0;overflow:hidden}.studio-preview-head{border-bottom:1px solid var(--border-secondary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:24px 28px;display:flex}.studio-preview-head h2{font-size:25px;font-weight:400}.studio-preview-head p,.studio-preview-head small{color:var(--fg-muted);font-size:var(--text-sm)}.studio-preview-head>div{gap:6px;display:grid}.studio-preview-head>span{color:var(--fg-muted);font-size:var(--text-sm)}.studio-preview-image{width:100%;height:auto;display:block}.studio-preview figcaption{border-top:1px solid var(--border-secondary);color:var(--fg-muted);background:var(--gray-50);font-size:var(--text-sm);padding:14px 28px;line-height:1.5}.studio-section{border-bottom:1px solid var(--border-secondary);padding-block:72px}.studio-section-heading{gap:14px;max-width:680px;margin-bottom:32px;display:grid}.studio-section-heading h2{font-size:clamp(28px,3.5vw,38px);font-weight:400;line-height:1.25}.studio-section-heading p{font-size:var(--text-md);line-height:1.7}.studio-tasks{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;display:grid}.studio-task{min-width:0}.studio-number{color:var(--fg-link);font-size:var(--text-sm);font-variant-numeric:tabular-nums;margin-bottom:16px;display:block}.studio-task>svg{color:var(--fg-link);margin-bottom:16px}.studio-task h3{margin-bottom:12px;font-size:24px;font-weight:400}.studio-task p{font-size:var(--text-md);line-height:1.7}.studio-pricing{border:1px solid var(--border-secondary);border-radius:var(--radius-lg);background:var(--bg-card);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.studio-plan{min-width:0;padding:28px}.studio-plan+.studio-plan{border-left:1px solid var(--border-secondary)}.studio-plan h3{margin-bottom:16px;font-size:24px;font-weight:400}.studio-plan>p{line-height:1.6;font-size:var(--text-sm)}.studio-plan>strong,.studio-plan .studio-price{margin-bottom:12px;font-size:24px;font-weight:500;display:block}.studio-plan ul{gap:12px;margin-block:24px 0;padding-left:18px;display:grid}.studio-plan li{color:var(--fg-secondary);font-size:var(--text-sm);padding-left:3px;line-height:1.6}.studio-capacity{background:var(--gray-50);border-left:3px solid var(--studio-accent);margin-top:20px;padding:20px 24px}.studio-capacity p{font-size:var(--text-sm);line-height:1.7}.studio-capacity strong{color:var(--fg-primary);font-weight:600}.studio-footer{font-size:var(--text-sm);flex-wrap:wrap;justify-content:space-between;gap:20px;padding-block:32px 44px;display:flex}.studio-footer p{color:var(--fg-muted);font-size:var(--text-sm)}.studio-footer nav{flex-wrap:wrap;gap:12px 24px;display:flex}.studio-footer a{min-height:var(--tap);color:var(--fg-link);text-underline-offset:4px;align-items:center;display:inline-flex}.studio-section a{color:var(--fg-link);text-underline-offset:4px}.studio-page svg{flex-shrink:0}@media (width<=760px){.studio-header,.studio-main,.studio-footer{width:calc(100% - 40px)}.studio-header{flex-wrap:wrap;gap:12px;padding-block:16px}.studio-nav{gap:16px}.studio-nav>a{display:none}.studio-brand{gap:9px}.studio-brand strong{font-size:22px}.studio-hero{padding-block:40px 32px}.studio-hero h1{font-size:clamp(36px,8vw,52px)}.studio-lead{margin-top:20px;font-size:17px;line-height:1.65}.studio-start{align-items:flex-start;gap:12px;margin-top:24px}.studio-preview-head{gap:10px;padding:20px}.studio-preview-head h2{font-size:22px}.studio-preview figcaption{padding:14px 20px}.studio-section{padding-block:48px}.studio-tasks{grid-template-columns:1fr;gap:28px}.studio-task{border-top:1px solid var(--border-secondary);padding-top:24px}.studio-number{margin-bottom:10px}.studio-pricing{grid-template-columns:1fr}.studio-plan{padding:24px}.studio-plan+.studio-plan{border-left:0;border-top:1px solid var(--border-secondary)}.studio-footer{gap:12px;padding-block:24px 32px}.studio-footer nav{gap:4px 20px;width:100%}}@media (width<=480px){.studio-brand small{max-width:155px}.studio-header .lang-option{padding-inline:8px}.studio-start>button{width:100%}.app-header{gap:8px;padding-inline:12px}.app-header .title{gap:8px}.app-header .header-actions{gap:4px}.app-header .trip-cover-mini{display:none}.dashboard-title{flex-wrap:wrap;align-items:flex-start;gap:16px}.receipt-card{padding:12px}.receipt-items-head,.receipt-item-row{grid-template-columns:minmax(0,1fr) 44px 70px 44px;gap:5px}.receipt-item-row input{padding-inline:6px}.receipt-assign-row{gap:12px}.receipt-head-grid,.receipt-fees-grid{grid-template-columns:minmax(0,1fr)}.receipt-head-grid label:first-child{grid-column:auto}.itinerary-item-actions,.account-row{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.flow-notes,.finance-rules{border:1px solid var(--border-secondary);background:var(--gray-50);border-radius:var(--radius-md);gap:8px;margin-bottom:20px;padding:16px;display:grid}.flow-notes p,.finance-rules p{font-size:var(--text-sm);line-height:1.65}.flow-notes h2,.flow-notes h3{font-size:var(--text-lg);font-weight:400}.trip-start-links{border-top:1px solid var(--border-secondary);flex-wrap:wrap;flex-basis:100%;justify-content:center;gap:4px 20px;margin-top:20px;padding-top:16px;display:flex}.trip-start-links p{font-size:var(--text-sm);flex-basis:100%}.trip-start-links a{min-height:var(--tap);color:var(--fg-link);font-size:var(--text-sm);text-underline-offset:4px;align-items:center;display:inline-flex}.ai-draft-item{background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:var(--radius-md);padding:16px}.ai-draft-select{min-height:var(--tap);font-size:var(--text-sm);cursor:pointer;align-items:center;gap:12px;line-height:1.5;display:flex}.ai-draft-select input{width:20px;height:20px;accent-color:var(--studio-button);flex-shrink:0}.ai-draft-fields{gap:12px;margin-top:12px;display:grid}.ai-draft-fields .form-row{min-width:0;margin:0}.ai-draft-fields :is(input,select,textarea){width:100%;min-width:0}.my-settlement{background:var(--bg-card);border-left:3px solid var(--studio-accent);font-size:var(--text-lg);color:var(--fg-primary);margin-bottom:20px;padding:16px}.transfer-row{grid-template-areas:"parties amount""direction direction""action action"}.transfer-direction{color:var(--fg-secondary);font-size:var(--text-sm);grid-area:direction}.transfer-error{grid-column:1/-1;margin:0}.transfer-row .settle-btn{min-height:var(--tap)}.receipt-scan-result{font-size:var(--text-sm);color:var(--fg-primary);background:var(--bg-card);border-top:1px solid var(--border-secondary);text-align:center;padding:6px;position:absolute;bottom:0;left:0;right:0}.account-data-actions h2{font-size:var(--text-xl);font-weight:400}.account-data-actions p{font-size:var(--text-sm);line-height:1.65}.account-data-actions a{min-height:var(--tap);color:var(--fg-link);font-size:var(--text-sm);text-underline-offset:4px;align-items:center;display:inline-flex}.network-status{background:var(--warning-bg);border-bottom:1px solid var(--warning-border);color:var(--warning-ink);font-size:var(--text-sm);text-align:center;padding:12px 20px;line-height:1.5}button.jump-today,.filters button,button.chip,button.payer-pill,.me-btn,.ai-btn,button.ai-chip,button.ai-suggestion{min-height:var(--tap)}.me-btn,.page-back-header .back-link{min-width:var(--tap);min-height:var(--tap);height:var(--tap)}.studio-intro{max-width:650px;color:var(--fg-muted);font-size:var(--text-md);margin-top:16px;line-height:1.65}.studio-preview-head .studio-eyebrow{margin-bottom:0}.studio-ai{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:start;gap:40px;display:grid}.studio-ai h2{font-size:clamp(28px,3.5vw,38px);font-weight:400;line-height:1.25}.studio-ai p{line-height:1.8}.studio-plan>strong{font-size:var(--text-sm);margin-top:24px;margin-bottom:0}.studio-plan ul+p{margin-top:24px}.studio-plan small{color:var(--fg-muted);font-size:var(--text-sm);margin-top:10px;line-height:1.65;display:block}.studio-pricing+.studio-note{margin-top:20px}.studio-capacity h3{font-size:var(--text-lg);margin-bottom:8px}.studio-footer>span{min-height:var(--tap);color:var(--fg-muted);align-items:center;display:inline-flex}@media (width>=560px){.transfer-row{grid-template-areas:"parties amount action""direction direction direction"}}@media (width<=760px){.studio-ai{grid-template-columns:1fr;gap:20px}}@media (width<=480px){.studio-start .signin-inline{align-items:stretch;width:100%}.studio-start .signin-inline>button{width:100%}.studio-start .signin-inline-error{max-width:none}.ai-draft-item{padding:12px}.ai-draft-fields .form-grid-2{grid-template-columns:1fr}.form-row :is(input,textarea,select),.receipt-body :is(input,textarea,select){font-size:var(--text-md)}.transfer-row{grid-template-columns:minmax(0,1fr);grid-template-areas:"parties""amount""direction""action"}.transfer-row .amount{text-align:left}}.itinerary-export-btn,.filters button,.chip,.payer-pill,.ai-btn,.ai-chip,.day-kicker,.day-nav-kicker,.day-time-range,.day-weather,.timeline-item .category-chip,.itinerary-flags span{border-radius:var(--radius-md)}.billing-policy a,.initial-language a{min-height:var(--tap);min-width:var(--tap);text-underline-offset:4px;overflow-wrap:anywhere;align-items:center;display:inline-flex}.initial-language{gap:4px;display:flex}.initial-language a{border:1px solid var(--border-secondary);border-radius:var(--radius-sm);justify-content:center;padding:8px}.finance-rules summary{min-height:var(--tap);cursor:pointer;color:var(--fg-primary);padding-block:11px;line-height:22px}.finance-rules summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--studio-paper:#1d251f;--studio-ink:#eeeede;--studio-line:#414b3e;--studio-accent:#dfa080;--studio-muted:#b2baaa;--studio-button:#3e5140;--studio-button-hover:#49624c;--accent-rgb:223, 160, 128;--focus-ring:#dfa080;--on-accent:#252e28;--on-status:#252e28;--brand-25:#262c24;--brand-50:#30362b;--brand-100:#424334;--brand-200:#5a5842;--brand-300:#797157;--brand-400:#b88c68;--brand-500:#b26944;--brand-600:var(--studio-accent);--brand-700:#ecc0a1;--plum-50:#33342a;--plum-100:#4c4b3a;--plum-600:#cdc09c;--gray-25:#252e26;--gray-50:#29322a;--gray-100:#323b30;--gray-200:var(--studio-line);--gray-300:#525c4c;--gray-400:#7b8873;--gray-500:var(--studio-muted);--gray-600:#c1c7b8;--gray-700:#d3d8c8;--gray-800:#e1e4d5;--gray-900:var(--studio-ink);--success:#acc599;--success-bg:#2b3a2b;--success-border:#4c6245;--warning:#d5ba7f;--warning-ink:#e1c68c;--warning-bg:#393322;--warning-border:#625535;--error:#eba792;--error-bg:#402e26;--error-border:#6b4637;--info:#a7c2bd;--info-bg:#293b38;--fg-primary:var(--studio-ink);--fg-secondary:#d3d8c8;--fg-tertiary:var(--studio-muted);--fg-muted:var(--studio-muted);--fg-link:var(--studio-accent);--border-primary:#64705d;--border-secondary:var(--studio-line);--border-tertiary:#354032;--bg-page:var(--studio-paper);--bg-card:#252e26;--bg-page-rgb:29, 37, 31;--bg-card-rgb:37, 46, 38;--bg-elevated:#303a30;--scrim:#08100aad;--hover-veil:#eeeede0d;--toast-bg:#e5e7d8;--toast-fg:#252e28;--shadow-sm:0 1px 2px #0000001f;--shadow-md:0 4px 12px #0000002e;--shadow-lg:0 8px 24px #00000038;--shadow-xl:0 16px 40px #00000047}[data-theme=dark] :is(.badge.me,.day-stop-number,.day-nav-kicker,.ai-suggestion.on .check){color:var(--bg-page)}[data-theme=dark] .brand-mark,[data-theme=dark] .brand-logo img,[data-theme=dark] .signin-logo img{filter:brightness(1.6)saturate(.7)}
