@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-vietnamese-400-normal-CRcqvyg1.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-400-normal-BuGn0gnm.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-ext-400-normal-CiZNW1ec.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-400-normal-DYBYyMQr.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-400-normal-PpnXBOrz.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-400-normal-bXgqVju9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-vietnamese-500-normal-DREgrEoJ.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-500-normal-CfdwVo8-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-latin-ext-500-normal-h0Fp6aX0.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-500-normal-CK0UkkKf.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-latin-500-normal-B6LVzGNe.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-500-normal-BJkVuMHw.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-vietnamese-600-normal-nyU-ZL2p.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-600-normal-DkpCIyan.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-latin-ext-600-normal-BNd8euf0.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-600-normal-BeUwKxhG.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-latin-600-normal-BZDkUTrt.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-600-normal-5IO4e7bK.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-vietnamese-700-normal-Csr0PCuG.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-700-normal-By_5yT39.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-latin-ext-700-normal-C8_gqRu2.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-700-normal-4Hjo2OtD.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-latin-700-normal-DlW1Zbsh.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-700-normal-C2EtzaOi.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fraunces-vietnamese-400-normal-CvGt0Ybw.woff2)format("woff2"),url(/assets/fraunces-vietnamese-400-normal-B65MOf9T.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fraunces-latin-ext-400-normal-D8gbi3Gu.woff2)format("woff2"),url(/assets/fraunces-latin-ext-400-normal-UihxqfOe.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fraunces-latin-400-normal-6IfK1voy.woff2)format("woff2"),url(/assets/fraunces-latin-400-normal-NUPT2cO8.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-vietnamese-600-normal-BjlAJixd.woff2)format("woff2"),url(/assets/fraunces-vietnamese-600-normal-DlAl5EAR.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-ext-600-normal-BtzmzP0X.woff2)format("woff2"),url(/assets/fraunces-latin-ext-600-normal-B0Dy4lqi.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-600-normal-BFCDtZfi.woff2)format("woff2"),url(/assets/fraunces-latin-600-normal-DL5QCzvS.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-paper:oklch(98.9% .008 85);--color-surface:oklch(99.6% .005 85);--color-paper-2:oklch(96.8% .016 83);--color-cream:oklch(95.4% .036 83);--color-gold:oklch(82.5% .143 83);--color-accent:var(--color-gold);--color-accent-ink:var(--color-ink);--color-gold-soft:oklch(94% .059 85);--color-gold-deep:oklch(50% .101 65);--color-ink:oklch(27% .028 63);--color-ink-2:oklch(39% .023 64);--color-muted:oklch(49% .019 67);--color-rule:oklch(92% .014 80);--color-leaf:oklch(41% .064 153);--color-leaf-soft:oklch(94.4% .021 145);--color-terra:oklch(51% .096 39);--color-terra-soft:oklch(94% .026 42);--color-blue:oklch(46% .044 238);--color-blue-soft:oklch(94% .017 240);--color-lilac:oklch(45% .05 322);--color-lilac-soft:oklch(94% .018 322);--color-error:oklch(46% .16 29);--color-focus:oklch(45% .09 62);--color-overlay:oklch(24% .018 65/.35);--color-shadow:oklch(30% .026 65/.1);--color-transparent:oklch(100% 0 0/0);--font-display:"Fraunces", "Times New Roman", serif;--font-body:"Be Vietnam Pro", sans-serif;--space-xs:4px;--space-sm:8px;--space-12:12px;--space-md:16px;--space-20:20px;--space-lg:24px;--space-28:28px;--space-xl:32px;--space-36:36px;--space-40:40px;--space-44:44px;--space-2xl:48px;--space-3xl:64px;--text-xs:.72rem;--text-sm:.82rem;--text-base:.9375rem;--text-md:1.125rem;--text-lg:1.5rem;--text-xl:2rem;--text-display:clamp(2.5rem, 4.2vw, 4rem);--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-full:50%;--rule:1px solid var(--color-rule);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-short:.15s;--dur-press:.1s;--dur-medium:.25s;--z-map:0;--z-header:5;--z-nav:10;--z-popover:20;--z-feedback:30}*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}html{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:16px}body{min-width:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:var(--color-transparent)}button{cursor:pointer;color:inherit;background:0 0;border:none}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.55;cursor:not-allowed}button:active:not(:disabled),a.primary-button:active{transform:translateY(1px)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{overflow-wrap:anywhere;min-width:0;font-style:normal}svg{flex-shrink:0}strong,b{font-weight:600}button,.primary-button,.secondary-button{white-space:nowrap}.app-shell{min-height:100dvh}.sidebar{display:none}.app-content{min-width:0}.topbar{justify-content:space-between;gap:var(--space-md);min-height:72px;padding:var(--space-md);border-bottom:var(--rule);background:var(--color-paper);z-index:var(--z-header);align-items:center;display:flex;position:relative}.topbar-title,.topbar-actions{gap:var(--space-sm);align-items:center;min-width:0;display:flex}.mobile-logo{align-items:center;gap:var(--space-xs);font:600 1.6rem var(--font-display);letter-spacing:-.04em;display:flex}.mobile-logo svg{color:var(--color-gold-deep)}.desktop-greeting,.live-clocks{display:none}.demo-pill{color:var(--color-gold-deep);background:var(--color-gold-soft);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);white-space:nowrap;font-size:.65rem}.icon-button{min-width:44px;min-height:44px;padding:var(--space-sm);border-radius:var(--radius-sm);justify-content:center;align-items:center;display:inline-flex}.notification-button{position:relative}.notification-count{min-width:17px;height:17px;padding:0px var(--space-xs);border-radius:var(--radius-full);background:var(--color-leaf);color:var(--color-surface);place-items:center;font-size:10px;display:grid;position:absolute;top:1px;right:2px}.profile-button{align-items:center;gap:var(--space-xs);min-height:44px;display:flex}.avatar{border-radius:var(--radius-full);background:var(--color-gold-soft);width:48px;height:48px;color:var(--color-gold-deep);flex-shrink:0;justify-content:center;align-items:center;font-size:20px;font-weight:600;display:inline-flex}.avatar.small{width:31px;height:31px;font-size:12px}.avatar-viet{background:var(--color-leaf);color:var(--color-surface)}.avatar-linh{background:var(--color-terra-soft);color:var(--color-terra)}.avatar-vi{background:var(--color-lilac-soft);color:var(--color-lilac)}.avatar-huong{background:var(--color-gold-soft);color:var(--color-gold-deep)}.avatar-hung{background:var(--color-blue-soft);color:var(--color-blue)}.avatar-phuong{background:var(--color-leaf-soft);color:var(--color-leaf)}.main-content{padding:var(--space-lg) var(--space-md) 100px;max-width:1440px;margin:auto}.trip-hero{border-radius:var(--radius-lg);background:var(--color-cream);grid-template-columns:minmax(0,1fr);display:grid;overflow:clip}.hero-copy{padding:var(--space-lg);padding-bottom:var(--space-xl)}.trip-season{align-items:center;gap:var(--space-sm);color:var(--color-gold-deep);font-size:var(--text-xs);font-weight:500;display:flex}.hero-copy h1{font-family:var(--font-display);letter-spacing:-.035em;margin:var(--space-20) 0 var(--space-md);font-size:2.25rem;font-weight:400;line-height:1.16}.hero-copy p{color:var(--color-ink-2);font-size:var(--text-sm)}.hero-dates{align-items:center;gap:var(--space-sm);margin-top:var(--space-lg);font-size:var(--text-xs);flex-wrap:wrap;display:flex}.hero-dates strong{font-size:var(--text-base);font-variant-numeric:tabular-nums}.hero-dates>span{color:var(--color-muted);padding-left:var(--space-sm);border-left:var(--rule)}.hero-image{height:210px;position:relative}.hero-image img{object-fit:cover;object-position:55% 50%;width:100%;height:100%;display:block}.hero-image figcaption{background:var(--color-cream);padding:var(--space-xs) var(--space-sm);opacity:.9;border-radius:4px;font-size:10px;position:absolute;bottom:12px;right:12px}.overview-columns{gap:var(--space-xl);margin-top:var(--space-xl);grid-template-columns:minmax(0,1fr);display:grid}.overview-main,.overview-aside{min-width:0}.section-heading{justify-content:space-between;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.section-heading h2{font-size:var(--text-md);font-weight:600;line-height:1.45}.section-heading p{font-size:var(--text-xs);margin-top:var(--space-xs);color:var(--color-muted)}.text-button{justify-content:center;align-items:center;gap:var(--space-sm);min-height:44px;font-size:var(--text-xs);color:var(--color-ink-2);padding:var(--space-sm) 0;font-weight:500;display:inline-flex}.day-picker{gap:var(--space-xs);padding:var(--space-xs);border:var(--rule);background:var(--color-surface);border-radius:var(--radius-md);grid-template-columns:repeat(8,minmax(0,1fr));display:grid}.day-picker button{align-items:center;gap:var(--space-sm);padding:var(--space-sm) 0 var(--space-sm);border-radius:8px;flex-direction:column;min-width:0;display:flex}.day-picker button>span{color:var(--color-muted);font-size:10px}.day-picker strong{font-variant-numeric:tabular-nums;font-size:16px;font-weight:500;line-height:1.25}.day-picker i{border-radius:var(--radius-full);background:var(--color-transparent);width:4px;height:4px}.day-picker button.selected{background:var(--color-gold-soft);color:var(--color-gold-deep)}.day-picker button.selected>span{color:var(--color-gold-deep)}.day-picker button.selected i{background:var(--color-gold-deep)}.day-title{justify-content:space-between;align-items:center;gap:var(--space-md);margin:var(--space-lg) 0 var(--space-sm);display:flex}.day-caption{color:var(--color-muted);font-size:var(--text-xs);line-height:1.6;display:block}.day-title h3{font-family:var(--font-display);margin-top:var(--space-sm);font-size:1.55rem;font-weight:400}.small-leaf{color:var(--color-gold-deep)}.timeline-row{align-items:start;gap:var(--space-sm);width:100%;padding:var(--space-20) 0;text-align:left;white-space:normal;border-bottom:var(--rule);grid-template-columns:41px 32px minmax(0,1fr) 15px;display:grid;position:relative}.timeline-row:last-child{border-bottom:none}.event-time{font-size:var(--text-xs);font-variant-numeric:tabular-nums;padding-top:var(--space-sm);color:var(--color-ink-2)}.event-icon{border-radius:var(--radius-full);background:var(--color-paper-2);color:var(--color-muted);place-items:center;width:32px;height:32px;display:grid}.event-icon.gold{background:var(--color-gold-soft);color:var(--color-gold-deep)}.event-content{gap:var(--space-sm);flex-direction:column;min-width:0;display:flex}.event-title{font-weight:500;font-size:var(--text-base);line-height:1.55}.event-note{font-size:var(--text-xs);color:var(--color-muted);line-height:1.75}.status{gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--color-paper-2);color:var(--color-muted);white-space:nowrap;border-radius:4px;align-items:center;width:fit-content;font-size:10px;line-height:1.5;display:inline-flex}.status.green{background:var(--color-leaf-soft);color:var(--color-leaf)}.row-arrow{color:var(--color-muted);margin-top:var(--space-sm)}.full-width{width:100%}.more-activities{border-top:var(--rule)}.map-preview-section{margin-top:var(--space-xl)}.map-preview{border-radius:var(--radius-md);border:var(--rule);position:relative;overflow:clip}.trip-map{background:var(--color-leaf-soft);width:100%;height:450px;z-index:var(--z-map)}.trip-map.compact{height:240px}.map-preview-label,.map-maplabel{padding:var(--space-sm) var(--space-12);background:var(--color-surface);border-radius:var(--radius-sm);gap:var(--space-sm);font-size:var(--text-xs);z-index:2;box-shadow:0 2px 10px var(--color-shadow);align-items:center;display:flex;position:absolute;top:12px;left:12px}.overview-aside{gap:var(--space-lg);align-content:start;display:grid}.weather-card{background:var(--color-leaf);color:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-lg)}.weather-header{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.weather-header>span{align-items:center;gap:var(--space-xs);font-size:var(--text-xs);display:flex}.weather-number{font-size:3.4rem;font-family:var(--font-display);margin-top:var(--space-sm);font-variant-numeric:tabular-nums;line-height:1.4}.weather-number>span{font:400 1.4rem var(--font-body);padding-left:var(--space-sm)}.weather-card p{font-size:var(--text-xs)}.weather-details{justify-content:space-between;gap:var(--space-sm);margin:var(--space-md) 0;font-size:var(--text-xs);flex-wrap:wrap;display:flex}.weather-details span{align-items:center;gap:var(--space-xs);display:flex}.data-source{color:var(--color-muted);align-items:center;gap:var(--space-xs);font-size:10px;line-height:1.7;display:inline-flex}.weather-card .data-source{color:var(--color-leaf-soft)}.sun-card,.outfit-card{background:var(--color-surface);border:var(--rule);padding:var(--space-20);border-radius:var(--radius-md)}.mini-heading{gap:var(--space-sm);margin-bottom:var(--space-md);align-items:center;display:flex}.mini-heading svg{color:var(--color-gold-deep)}.mini-heading h3,.sun-card>h3{font-size:var(--text-sm);font-weight:500}.sun-times{gap:var(--space-lg);padding-bottom:var(--space-sm);font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.sun-times span{gap:var(--space-sm);align-items:center;font-size:17px;display:flex}.sun-times svg{color:var(--color-gold-deep)}.sun-card p,.outfit-card p{font-size:var(--text-xs);color:var(--color-muted);margin:var(--space-sm) 0}.outfit-swatches{gap:var(--space-sm);display:flex}.swatch{border:var(--rule);border-radius:var(--radius-full);width:29px;height:29px}.swatch.cream{background:var(--color-cream)}.swatch.ochre{background:var(--color-gold)}.swatch.olive{background:var(--color-leaf)}.swatch.brown{background:var(--color-ink-2)}.crew-summary{padding:var(--space-xs)}.avatar-stack{flex-wrap:wrap;align-items:center;display:flex}.avatar-stack .avatar+.avatar{margin-left:calc(-1 * var(--space-xs));border:2px solid var(--color-paper)}.stack-caption{width:100%;color:var(--color-muted);font-size:var(--text-xs);margin-top:var(--space-12)}.phuong-note{gap:var(--space-sm);padding:var(--space-md) 0 var(--space-xs);align-items:start;display:flex}.phuong-note p{font-size:var(--text-xs);color:var(--color-muted)}.tiny-dot{border-radius:var(--radius-full);background:var(--color-gold-deep);width:6px;height:6px;margin-top:var(--space-sm);flex-shrink:0;display:inline-block}.tiny-dot.green-dot{background:var(--color-leaf)}.primary-button,.secondary-button{min-height:44px;padding:var(--space-12) var(--space-md);justify-content:center;align-items:center;gap:var(--space-sm);font-size:var(--text-sm);border-radius:var(--radius-sm);font-weight:500;display:inline-flex}.primary-button{background:var(--color-accent);color:var(--color-accent-ink);border:1px solid var(--color-accent)}.secondary-button{border:var(--rule);background:var(--color-surface)}.leader-strip{align-items:center;gap:var(--space-md);background:var(--color-gold-soft);border-radius:var(--radius-md);margin-top:var(--space-xl);padding:var(--space-lg);flex-wrap:wrap;display:flex}.leader-icon{color:var(--color-gold-deep)}.leader-strip h3{font-size:var(--text-sm);font-weight:500}.leader-strip p{font-size:var(--text-xs);color:var(--color-muted);margin-top:var(--space-xs)}.leader-strip .primary-button{width:100%}.page-footer{gap:var(--space-sm);border-top:var(--rule);margin-top:var(--space-2xl);padding-top:var(--space-lg);color:var(--color-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;font-size:10px;display:flex}.page-footer span{align-items:center;gap:var(--space-xs);display:flex}.mobile-nav{border-top:var(--rule);background:var(--color-surface);z-index:var(--z-nav);padding:var(--space-sm) 0 max(var(--space-sm),env(safe-area-inset-bottom));grid-template-columns:repeat(6,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{align-items:center;gap:var(--space-xs);min-height:47px;padding:var(--space-xs) 0;color:var(--color-muted);flex-direction:column;font-size:9px;display:flex}.mobile-nav .active{color:var(--color-gold-deep)}.mobile-nav .active svg{stroke-width:2.3px}.page-intro h1{font-family:var(--font-display);letter-spacing:-.035em;margin:var(--space-md) 0;font-size:clamp(2rem,3.6vw,3rem);font-weight:400;line-height:1.2}.page-intro>p{color:var(--color-muted);font-size:var(--text-sm);max-width:60ch}.paper-panel{background:var(--color-surface);border:var(--rule);border-radius:var(--radius-md);padding:var(--space-lg);min-width:0}.itinerary-layout{gap:var(--space-lg);margin-top:var(--space-lg);display:grid}.itinerary-layout .section-heading h2{font-family:var(--font-display);margin-top:var(--space-sm);font-size:24px;font-weight:400}.panel-footnote{font-size:var(--text-xs);color:var(--color-muted);margin-top:var(--space-md);line-height:1.8}.itinerary-notes{gap:var(--space-lg);align-content:start;display:grid}.commitment-note{margin-top:var(--space-md)}.commitment-note strong{font-size:var(--text-sm)}.route-note{padding:var(--space-lg);background:var(--color-gold-soft);border-radius:var(--radius-md)}.route-note h3{font-size:var(--text-sm)}.route-note p{color:var(--color-ink-2);font-size:var(--text-xs);margin:var(--space-sm) 0}.map-tools{justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.filter-chips{gap:var(--space-sm);flex-wrap:wrap;display:flex}.filter-chips button{min-height:44px;padding:var(--space-sm) var(--space-12);border:var(--rule);background:var(--color-surface);border-radius:var(--radius-sm);font-size:var(--text-xs)}.filter-chips button.active{border-color:var(--color-gold);background:var(--color-gold-soft);color:var(--color-gold-deep)}.location-button{font-size:var(--text-xs)}.map-layout{gap:var(--space-lg);display:grid}.full-map{border:var(--rule);border-radius:var(--radius-md);min-width:0;position:relative;overflow:clip}.place-details{background:var(--color-surface);border:var(--rule);border-radius:var(--radius-md);padding:var(--space-lg);min-width:0}.place-details>h2{font-family:var(--font-display);margin:var(--space-md) 0 var(--space-xs);font-size:27px;font-weight:400}.place-details>p{font-size:var(--text-xs);color:var(--color-muted);margin:var(--space-12) 0 var(--space-md)}.korean-name{color:var(--color-muted);font-size:var(--text-sm);border-bottom:var(--rule);padding-bottom:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.place-note{align-items:start;gap:var(--space-sm);padding:var(--space-md) 0;border-bottom:var(--rule);display:flex}.place-note svg{color:var(--color-gold-deep)}.place-note h3{font-size:var(--text-xs);margin-bottom:var(--space-xs);font-weight:600}.place-note p{font-size:var(--text-xs);color:var(--color-muted)}.place-details .primary-button{margin-top:var(--space-lg)}.source-link{justify-content:flex-start}.map-place-list{gap:var(--space-sm);margin-top:var(--space-lg);display:grid}.map-place-list button{align-items:center;gap:var(--space-sm);border-bottom:var(--rule);min-height:52px;padding:var(--space-sm);font-size:var(--text-xs);justify-content:space-between;display:flex}.map-place-list button>span:nth-child(2){text-align:left;flex:1}.map-place-list .active{background:var(--color-gold-soft);border-radius:var(--radius-sm);border-color:var(--color-transparent)}.place-list-icon{color:var(--color-gold-deep);display:flex}.inline-note{gap:var(--space-md);padding:var(--space-20);background:var(--color-paper-2);border-radius:var(--radius-md);margin-top:var(--space-xl);align-items:start;display:flex}.inline-note>svg{color:var(--color-gold-deep);margin-top:var(--space-xs)}.inline-note p{font-size:var(--text-xs);color:var(--color-muted)}.marker-root{background:0 0;border:none}.map-pin{background:var(--color-gold);border:2px solid var(--color-surface);border-radius:var(--radius-full);width:35px;height:35px;color:var(--color-ink);box-shadow:0 2px 8px var(--color-shadow);font:600 17px var(--font-body);justify-content:center;align-items:center;display:flex}.map-pin.photo{background:var(--color-terra-soft);color:var(--color-terra)}.map-pin.walk{background:var(--color-leaf-soft);color:var(--color-leaf)}.map-pin.chosen{outline:3px solid var(--color-gold-deep);outline-offset:2px}.my-location-dot{background:var(--color-blue);border:3px solid var(--color-surface);border-radius:var(--radius-full);width:18px;height:18px;box-shadow:0 0 0 6px var(--color-blue-soft);display:block}.leaflet-container{font-family:var(--font-body)}.leaflet-control-zoom a{width:44px!important;height:44px!important;color:var(--color-ink)!important;background:var(--color-surface)!important;line-height:44px!important}.leaflet-control-attribution{color:var(--color-muted);background:var(--color-surface)!important;font-size:10px!important}.leaflet-control-attribution a{min-height:0;color:var(--color-blue)}.leaflet-tooltip{background:var(--color-surface);color:var(--color-ink);border:var(--rule);box-shadow:0 2px 8px var(--color-shadow)}.arrival-note{align-items:center;gap:var(--space-md);padding:var(--space-lg);border-radius:var(--radius-md);background:var(--color-gold-soft);margin-bottom:var(--space-lg);display:flex}.arrival-note svg{color:var(--color-gold-deep)}.arrival-note p{font-size:var(--text-xs);color:var(--color-muted);margin-top:var(--space-xs)}.flight-grid{gap:var(--space-lg);display:grid}.flight-card{padding:var(--space-lg);background:var(--color-surface);border:var(--rule);border-radius:var(--radius-md)}.flight-card-top{gap:var(--space-sm);font-size:var(--text-xs);justify-content:space-between;align-items:center;display:flex}.flight-card-top>span:first-child{gap:var(--space-sm);align-items:center;display:flex}.flight-card-top svg{color:var(--color-terra)}.flight-route{align-items:center;gap:var(--space-sm);margin:var(--space-lg) 0;grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr);display:grid}.flight-route>div:not(.flight-route-line){gap:var(--space-xs);flex-direction:column;display:flex}.flight-route>div:last-child{text-align:right}.flight-route>div>span{font-size:var(--text-xs);color:var(--color-muted)}.flight-route strong{font-family:var(--font-display);font-size:33px;font-weight:400;line-height:1.4}.flight-route b{font-variant-numeric:tabular-nums;font-size:21px;font-weight:500}.flight-route-line{align-items:center;gap:var(--space-sm);flex-direction:column;display:flex}.flight-route-line svg{color:var(--color-gold-deep)}.flight-route-line>span{padding-top:var(--space-sm);border-top:1px dashed var(--color-rule);text-align:center;width:100%;font-size:10px!important}.flight-meta{font-size:var(--text-xs);border-top:1px dashed var(--color-rule);padding:var(--space-md) 0;justify-content:space-between;gap:var(--space-sm);display:flex}.flight-meta>span{gap:var(--space-sm);align-items:center;display:flex}.flight-members{gap:var(--space-sm);flex-wrap:wrap;display:flex}.flight-members>span{align-items:center;gap:var(--space-xs);font-size:10px;display:flex}.flight-members .avatar.small{width:23px;height:23px;font-size:10px}.flight-airports{border-top:var(--rule);padding-top:var(--space-12);margin-top:var(--space-md)}.flight-airports p{align-items:start;gap:var(--space-sm);color:var(--color-muted);font-size:10px;line-height:1.8;display:flex}.flight-airports svg{margin-top:var(--space-xs)}.airfare-total{margin-top:var(--space-lg);align-items:center;gap:var(--space-sm) var(--space-lg);padding:var(--space-lg);background:var(--color-paper-2);border-radius:var(--radius-md);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.airfare-total strong{font-size:18px}.airfare-total>span:last-child{font-size:var(--text-xs);color:var(--color-muted)}.home-grid{gap:var(--space-lg);display:grid}.home-card{padding:var(--space-lg);background:var(--color-surface);border:var(--rule);border-radius:var(--radius-md)}.home-icon{color:var(--color-gold-deep);margin-bottom:var(--space-md);display:inline-flex}.home-address{font-size:var(--text-sm);margin:var(--space-sm) 0;overflow-wrap:anywhere;line-height:1.8}.home-members,.home-dates{font-size:var(--text-xs);color:var(--color-muted);line-height:1.8}.home-card .text-button{margin-top:var(--space-sm)}.copy-done,[data-copied=true] .copy-idle{display:none}[data-copied=true] .copy-done{display:inline}.broadcast-panel>div:first-child>svg{color:var(--color-gold-deep)}.broadcast-panel h2{font-size:var(--text-md);margin:var(--space-sm) 0 var(--space-sm)}.broadcast-panel p{color:var(--color-muted);font-size:var(--text-xs)}.quick-buttons{gap:var(--space-sm);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.member-grid{gap:var(--space-md);display:grid}.member-card{padding:var(--space-lg);border:var(--rule);background:var(--color-surface);border-radius:var(--radius-md)}.member-card-head{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.member-card h2{margin-top:var(--space-md);font-size:var(--text-md);line-height:1.5}.member-card>p{align-items:center;gap:var(--space-xs);color:var(--color-muted);margin-top:var(--space-xs);font-size:10px;display:flex}.location-state{align-items:start;gap:var(--space-sm);font-size:var(--text-xs);color:var(--color-muted);margin:var(--space-lg) 0 var(--space-md);display:flex}.location-state .tiny-dot{background:var(--color-rule)}.location-state .green-dot{background:var(--color-leaf)}.member-actions{gap:var(--space-sm);display:flex}.member-actions .secondary-button{font-size:var(--text-xs);flex:1}.member-actions .icon-button{border:var(--rule)}.contact-number{color:var(--color-muted);font-size:var(--text-xs);margin-top:var(--space-sm);display:block}.phuong-schedule{margin-top:var(--space-2xl)}.schedule-rows>div{gap:var(--space-sm);border-top:var(--rule);padding:var(--space-md) 0;font-size:var(--text-xs);grid-template-columns:45px 80px minmax(0,1fr);align-items:center;display:grid}.schedule-rows .data-source{grid-column:2/-1}.schedule-period{color:var(--color-gold-deep)}.phuong-places{border-top:var(--rule);padding-top:var(--space-md)}.phuong-places p{font-size:var(--text-xs);margin-bottom:var(--space-sm);color:var(--color-muted);overflow-wrap:anywhere}.notice-feed{margin-top:var(--space-2xl)}.empty-inline{align-items:center;gap:var(--space-md);padding:var(--space-lg);background:var(--color-paper-2);border-radius:var(--radius-md);display:flex}.empty-inline p{font-size:var(--text-xs);color:var(--color-muted)}.notice-card{padding:var(--space-lg);background:var(--color-surface);border:var(--rule);border-radius:var(--radius-md);margin-top:var(--space-md)}.notice-card>p{font-size:var(--text-sm);margin:var(--space-sm) 0 var(--space-md)}.notice-responses{gap:var(--space-sm);margin-bottom:var(--space-sm);flex-wrap:wrap;display:flex}.notice-responses button{align-items:center;gap:var(--space-xs);min-height:44px;padding:var(--space-sm) var(--space-12);border:var(--rule);border-radius:var(--radius-sm);font-size:var(--text-xs);display:flex}.notice-responses button.selected{background:var(--color-leaf-soft);color:var(--color-leaf);border-color:var(--color-leaf-soft)}.expense-summaries{gap:var(--space-md);margin-bottom:var(--space-xl);display:grid}.expense-summaries>div{padding:var(--space-lg);background:var(--color-paper-2);border-radius:var(--radius-md);gap:var(--space-sm);flex-direction:column;display:flex}.expense-summaries span{font-size:var(--text-xs);color:var(--color-muted)}.expense-summaries strong{font-family:var(--font-display);font-size:29px;font-weight:400}.expense-panel .section-heading .primary-button{font-size:var(--text-xs);padding:var(--space-sm) var(--space-12)}.expense-empty{padding:var(--space-xl) 0;text-align:center}.empty-receipt{background:var(--color-gold-soft);width:76px;height:76px;color:var(--color-gold-deep);border-radius:var(--radius-full);margin:0 auto var(--space-lg);place-items:center;display:grid}.expense-empty h3{font-family:var(--font-display);font-size:27px;font-weight:400}.expense-empty p{color:var(--color-muted);font-size:var(--text-xs);margin:var(--space-12) 0}.expense-row{gap:var(--space-sm);padding:var(--space-lg) 0;border-top:var(--rule);grid-template-columns:28px minmax(0,1fr);display:grid}.expense-icon{color:var(--color-gold-deep)}.expense-row h3{font-size:var(--text-sm)}.expense-person{gap:var(--space-sm);color:var(--color-muted);margin-top:var(--space-sm);align-items:center;font-size:10px;display:flex}.expense-person .avatar{width:23px;height:23px}.expense-amount{gap:var(--space-sm);flex-wrap:wrap;grid-column:2;justify-content:space-between;align-items:center;display:flex}.expense-amount strong{font-size:var(--text-sm)}.expense-amount button{color:var(--color-muted);font-size:10px}.split-summary{margin-top:var(--space-xl)}.split-summary>h2{font-size:var(--text-md);margin-bottom:var(--space-md)}.split-rows>div{border-bottom:var(--rule);justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-12) 0;font-size:var(--text-xs);flex-wrap:wrap;display:flex}.split-rows>div>span:last-child{color:var(--color-muted)}.member-label{align-items:center;gap:var(--space-sm);display:inline-flex}.notice-foot{justify-content:space-between;gap:var(--space-md);align-items:center;display:flex}.notification-popover{z-index:var(--z-popover);width:min(350px,100% - 32px);padding:var(--space-lg);border:var(--rule);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:0 12px 36px var(--color-shadow);position:absolute;top:66px;right:16px}.notification-popover .section-heading{margin-bottom:var(--space-sm)}.notification-popover h2{font-size:var(--text-sm)}.notification-popover p{font-size:var(--text-xs);color:var(--color-muted)}.notification-item{gap:var(--space-sm);padding:var(--space-md) 0;white-space:normal;text-align:left;border-bottom:var(--rule);flex-direction:column;width:100%;display:flex}.notification-item strong{font-size:var(--text-xs)}.notification-item>span{font-size:var(--text-xs);color:var(--color-muted);line-height:1.7}.feedback-bar{z-index:var(--z-feedback);border-radius:var(--radius-sm);background:var(--color-ink);color:var(--color-paper);padding:var(--space-md) var(--space-md);justify-content:space-between;gap:var(--space-md);font-size:var(--text-xs);box-shadow:0 5px 15px var(--color-shadow);line-height:1.7;display:flex;position:fixed;bottom:92px;left:16px;right:16px}.feedback-bar button{color:var(--color-gold);font-size:var(--text-xs);min-height:44px;font-weight:600}.sheet-dialog{padding:var(--space-lg);border:var(--rule);border-radius:var(--radius-lg);background:var(--color-surface);width:min(480px,100% - 24px);max-height:88dvh;color:var(--color-ink);box-shadow:0 16px 48px var(--color-shadow);margin:auto;overflow-y:auto}.sheet-dialog::backdrop{background:var(--color-overlay)}.dialog-head{gap:var(--space-md);margin-bottom:var(--space-lg);justify-content:space-between;align-items:start;display:flex}.dialog-head h2{font-family:var(--font-display);font-size:27px;font-weight:400;line-height:1.4}.dialog-head .icon-button{margin-top:calc(-1 * var(--space-sm));margin-right:calc(-1 * var(--space-sm))}.dialog-description{font-size:var(--text-sm);color:var(--color-muted);margin-bottom:var(--space-md)}.field-label{font-size:var(--text-sm);margin:var(--space-md) 0 var(--space-sm);font-weight:500;display:block}input:not([type=checkbox]),textarea,select{background:var(--color-paper);color:var(--color-ink);border:var(--rule);border-radius:var(--radius-sm);min-height:48px;padding:var(--space-12);width:100%;font-size:16px}.sheet-dialog textarea{resize:vertical}.sheet-dialog input[aria-invalid=true]{border-color:var(--color-error)}.pin-input{letter-spacing:.3em;font-size:23px!important}.form-help{font-size:var(--text-xs);color:var(--color-muted);min-height:1.7em;margin:var(--space-sm) 0 var(--space-md)}.error-text{color:var(--color-error)}.form-columns{gap:var(--space-md);grid-template-columns:minmax(0,2fr) minmax(0,1fr);display:grid}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:1px}.sheet-dialog input,.sheet-dialog select,.sheet-dialog textarea{outline:2px solid var(--color-transparent);outline-offset:1px}.sheet-dialog input:focus-visible,.sheet-dialog select:focus-visible,.sheet-dialog textarea:focus-visible{outline-color:var(--color-focus)}.sheet-dialog .primary-button{min-height:48px}.login-card{text-align:left;width:min(100%,360px)}.recipient-row{align-items:center;gap:var(--space-xs);margin:var(--space-md) 0 var(--space-lg);display:flex}.recipient-row>span:last-child{font-size:var(--text-xs);color:var(--color-muted);margin-left:var(--space-sm)}.participant-fieldset{margin:var(--space-lg) 0 0;border:none;padding:0}.participant-fieldset legend{font-size:var(--text-sm);margin-bottom:var(--space-sm);padding:0;font-weight:500}.participant-fieldset>div{gap:var(--space-sm);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.participant-fieldset label{gap:var(--space-sm);min-height:44px;font-size:var(--text-xs);background:var(--color-paper);padding:var(--space-sm) var(--space-sm);border-radius:var(--radius-sm);align-items:center;display:flex}.participant-fieldset input{accent-color:var(--color-leaf);width:16px;height:16px}.activity-place>p{font-size:var(--text-sm);color:var(--color-muted);margin-top:var(--space-12)}.activity-place .place-note>p{font-size:var(--text-xs)}.activity-read p{font-size:var(--text-sm);margin-bottom:var(--space-md)}.spinner{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-page{justify-content:center;align-items:center;gap:var(--space-lg);min-height:100dvh;padding:var(--space-xl);text-align:center;flex-direction:column;display:flex}.loading-page>svg{color:var(--color-gold-deep)}.loading-page h1{font-family:var(--font-display);font-size:36px;font-weight:400}.loading-page p{color:var(--color-muted);font-size:var(--text-sm)}@media (hover:hover) and (pointer:fine){.primary-button:hover{background:var(--color-gold-soft)}.secondary-button:hover,.icon-button:hover{background:var(--color-paper-2)}.text-button:hover,.timeline-row:hover .event-title{color:var(--color-gold-deep)}.day-picker button:not(.selected):hover,.desktop-nav button:not(.active):hover{background:var(--color-paper-2)}.filter-chips button:hover{border-color:var(--color-gold)}}@media (width>=23rem){.hero-copy h1{font-size:2.65rem}}@media (width>=40rem){.main-content{padding:var(--space-xl) var(--space-xl) 112px}.topbar{padding-inline:var(--space-xl)}.live-clocks{gap:var(--space-xs);color:var(--color-muted);font-variant-numeric:tabular-nums;flex-direction:column;font-size:10px;display:flex}.live-clocks strong{color:var(--color-ink);margin-left:var(--space-xs)}.topbar-actions{gap:var(--space-md)}.trip-hero{grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr);min-height:300px}.hero-copy{padding:var(--space-28);padding-bottom:var(--space-40)}.hero-copy h1{font-size:3rem}.hero-image{height:100%;min-height:310px}.hero-dates{gap:var(--space-sm)}.hero-dates>span{font-size:10px}.overview-columns{gap:var(--space-lg);grid-template-columns:minmax(0,1fr) 240px}.weather-card{padding:var(--space-20)}.weather-number{font-size:3rem}.event-note{font-size:11px}.event-title{font-size:14px}.day-picker{gap:var(--space-xs)}.day-picker button{padding:var(--space-12) 0 var(--space-sm)}.day-picker strong{font-size:18px}.day-picker button>span{font-size:11px}.timeline-row{gap:var(--space-sm);grid-template-columns:44px 34px minmax(0,1fr) 14px}.leader-strip{flex-wrap:nowrap}.leader-strip .primary-button{width:auto;margin-left:auto}.leader-strip p{font-size:11px}.flight-grid,.home-grid,.member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flight-card{padding:var(--space-20)}.flight-route{grid-template-columns:minmax(0,1fr) 65px minmax(0,1fr)}.flight-route strong{font-size:34px}.expense-summaries{grid-template-columns:repeat(3,minmax(0,1fr))}.expense-summaries strong{font-size:25px}.map-place-list{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-rows>div{grid-template-columns:55px 95px minmax(0,1fr) 135px}.schedule-rows .data-source{grid-column:auto}.expense-row{grid-template-columns:35px minmax(0,1fr) auto}.expense-amount{flex-direction:column;grid-column:auto;align-items:end}.broadcast-panel{justify-content:space-between;align-items:center;gap:var(--space-lg);display:flex}.quick-buttons{max-width:310px;margin:0}}@media (width>=64rem){.sidebar{width:218px;padding:var(--space-36) var(--space-20) var(--space-20);border-right:var(--rule);background:var(--color-paper);z-index:var(--z-nav);flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}.app-content{margin-left:216px}.mobile-nav,.mobile-logo{display:none}.desktop-greeting{font-size:var(--text-sm);font-weight:500;display:inline}.desktop-greeting>span{color:var(--color-muted);font-weight:400}.topbar-title{gap:var(--space-md)}.topbar{min-height:86px}.wordmark{align-items:center;gap:var(--space-sm);text-align:left;width:fit-content;display:flex}.brand-leaf{color:var(--color-gold-deep)}.wordmark>span:last-child{font:400 2.25rem var(--font-display);letter-spacing:-.05em;line-height:1.2}.brand-sub{font:400 10px var(--font-body);color:var(--color-muted);letter-spacing:.02em;margin-top:var(--space-xs);display:block}.sidebar-trip{margin:var(--space-44) var(--space-sm) var(--space-lg)}.sidebar-trip>span{color:var(--color-muted);letter-spacing:.08em;font-size:9px;display:block}.sidebar-trip>strong{margin-top:var(--space-sm);font-size:13px;display:block}.sidebar-trip>p{color:var(--color-muted);margin-top:var(--space-sm);font-size:9px}.desktop-nav{gap:var(--space-sm);display:grid}.desktop-nav button{align-items:center;gap:var(--space-12);text-align:left;padding:var(--space-12) var(--space-12);min-height:48px;color:var(--color-muted);border-radius:7px;font-size:11px;display:flex}.desktop-nav button.active{background:var(--color-gold-soft);color:var(--color-gold-deep)}.nav-dot{background:var(--color-gold-deep);border-radius:var(--radius-full);width:5px;height:5px;margin-left:auto}.sidebar-bottom{padding-top:var(--space-lg);margin-top:auto}.demo-note{gap:var(--space-xs);color:var(--color-muted);align-items:center;font-size:9px;display:flex}.demo-note .tiny-dot{margin-top:0}.sidebar-bottom>p{color:var(--color-muted);margin:var(--space-12) 0 var(--space-lg);font-size:10px;line-height:1.8}.sidebar-profile{align-items:center;gap:var(--space-sm);padding-top:var(--space-md);border-top:var(--rule);display:flex}.sidebar-profile>span:nth-child(2){gap:var(--space-xs);flex-direction:column;display:flex}.sidebar-profile strong{font-size:12px}.sidebar-profile small{color:var(--color-muted);font-size:9px}.sidebar-profile button{margin-left:auto}.main-content{padding-bottom:var(--space-2xl)}.hero-copy h1{font-size:var(--text-display)}.hero-copy{flex-direction:column;justify-content:center;display:flex}.hero-image{min-height:330px}.hero-copy .hero-dates{margin-top:var(--space-lg)}.itinerary-layout{grid-template-columns:minmax(0,1fr) 270px}.map-layout{grid-template-columns:minmax(0,1fr) 310px;align-items:stretch}.trip-map{height:100%;min-height:610px}.trip-map.compact{height:235px;min-height:0}.member-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.member-card{padding:var(--space-20)}.member-card h2{font-size:15px}.member-card>p{gap:var(--space-xs);font-size:9px}.member-actions .secondary-button{padding-inline:var(--space-sm);font-size:10px}.map-place-list{grid-template-columns:repeat(3,minmax(0,1fr))}.feedback-bar{max-width:460px;bottom:25px;left:auto;right:30px}.notification-popover{top:73px;right:32px}}@media (width>=80rem){.sidebar{width:236px;padding-inline:var(--space-lg)}.app-content{margin-left:236px}.main-content{padding:var(--space-36) var(--space-40) var(--space-2xl)}.topbar{padding-inline:var(--space-40)}.overview-columns{gap:var(--space-xl);grid-template-columns:minmax(0,1fr) 278px}.trip-hero{grid-template-columns:minmax(0,.94fr) minmax(0,1.15fr)}.hero-copy{padding:var(--space-xl) var(--space-36) var(--space-44)}.hero-image{min-height:340px}.event-title{font-size:15px}.event-note{font-size:12px}.timeline-row{gap:var(--space-md);grid-template-columns:49px 36px minmax(0,1fr) 17px}.event-icon{width:36px;height:36px}.day-title h3{font-size:27px}.member-card{padding:var(--space-lg)}.member-card h2{font-size:16px}.member-card>p{font-size:10px}.member-actions .secondary-button{font-size:11px}.flight-card{padding:var(--space-28)}.flight-route strong{font-size:43px}.flight-route{grid-template-columns:minmax(0,1fr) 110px minmax(0,1fr)}.flight-route b{font-size:25px}.expense-summaries strong{font-size:32px}.live-clocks{gap:var(--space-md);flex-direction:row}.live-clocks>span:last-child{border-left:var(--rule);padding-left:var(--space-md)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html{background:var(--color-paper)}p{font-size:14px;line-height:1.65}.topbar{min-height:60px;padding:var(--space-sm) var(--space-20);border-bottom-color:var(--color-rule)}.mobile-logo{gap:var(--space-xs);letter-spacing:-.035em;font-size:23px}.demo-pill{background:var(--color-paper-2);color:var(--color-muted);padding:var(--space-xs);font-size:9px}.topbar-actions{gap:var(--space-xs)}.profile-button>svg{display:none}.live-clocks{gap:var(--space-xs);color:var(--color-muted);flex-direction:column;font-size:10px;display:flex}.live-clocks strong{color:var(--color-ink);font-variant-numeric:tabular-nums;font-weight:500}.live-clocks>span:last-child{display:none}.avatar.small{width:32px;height:32px}.main-content{padding:var(--space-lg) var(--space-20) calc(96px + env(safe-area-inset-bottom));max-width:1100px}.trip-masthead{justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);padding-bottom:var(--space-20);border-bottom:var(--rule);display:flex;position:relative}.trip-masthead:after{content:"";background:var(--color-gold);width:36px;height:2px;position:absolute;bottom:-1px;left:0}.trip-period{letter-spacing:.035em;color:var(--color-gold-deep);font-variant-numeric:tabular-nums;font-size:11px}.trip-masthead h1{font:600 25px/1.3 var(--font-body);letter-spacing:-.04em;margin:0 0 var(--space-sm)}.trip-masthead p{color:var(--color-muted);font-size:12px}.masthead-leaf{color:var(--color-gold-deep);flex-shrink:0;transform:rotate(12deg)}.conditions-strip{padding:var(--space-md) 0;background:var(--color-paper-2);border-radius:var(--radius-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.condition-item{padding-inline:var(--space-md);min-width:0}.condition-item+.condition-item{border-left:var(--rule)}.condition-label{gap:var(--space-sm);color:var(--color-muted);white-space:nowrap;align-items:center;font-size:11px;display:flex}.condition-label svg{color:var(--color-gold-deep)}.condition-value{gap:var(--space-xs);margin-top:var(--space-sm);flex-direction:column;display:flex}.condition-value strong{font:500 24px/1.1 var(--font-body);letter-spacing:-.04em;font-variant-numeric:tabular-nums}.condition-value>span{color:var(--color-muted);font-size:10px;line-height:1.5}.conditions-source{justify-content:space-between;gap:var(--space-sm);margin-top:var(--space-sm);color:var(--color-muted);flex-wrap:wrap;font-size:9px;line-height:1.5;display:flex}.conditions-source a{text-underline-offset:2px;text-decoration:underline}.dashboard-layout{gap:var(--space-xl);margin-top:var(--space-lg);display:grid}.dashboard-essentials{min-width:0}.section-heading{margin-bottom:var(--space-md);gap:var(--space-sm)}.section-heading h2{font:600 16px/1.4 var(--font-body)}.section-heading p{font-size:12px}.text-button{font-size:12px;line-height:1}.day-section .section-heading{margin-bottom:var(--space-sm)}.day-picker{padding:0 0 var(--space-md);gap:var(--space-xs);border:0;border-bottom:var(--rule);background:0 0;border-radius:0}.day-picker button{padding:var(--space-sm) 0;gap:var(--space-sm);border-radius:var(--radius-sm);min-height:56px}.day-picker button>span{font-size:10px}.day-picker strong{font-size:16px;font-weight:500}.day-picker i{display:none}.day-picker button.selected{color:var(--color-accent-ink);background:var(--color-gold-soft)}.day-title{margin:var(--space-20) 0 var(--space-xs)}.day-caption{font-size:11px}.day-title h3{font:500 18px/1.5 var(--font-body);margin-top:var(--space-xs)}.timeline-row{gap:var(--space-sm);padding:var(--space-md) 0;border-bottom:0;grid-template-columns:40px 28px minmax(0,1fr) 12px}.timeline-row:before{content:"";background:var(--color-rule);width:1px;position:absolute;top:44px;bottom:-16px;left:61px}.timeline-row:last-child:before{display:none}.event-icon{background:var(--color-paper);border:var(--rule);width:28px;height:28px}.event-icon.gold{background:var(--color-gold-soft);border-color:var(--color-gold-soft)}.event-icon svg{width:14px;height:14px}.event-time{padding-top:var(--space-xs);font-size:11px}.event-title{font-size:14px;line-height:1.5}.event-note{font-size:12px;line-height:1.6}.event-content{gap:var(--space-xs)}.status{color:var(--color-muted);background:0 0;padding:0;font-size:9px;line-height:1.5}.status.green{color:var(--color-leaf);background:0 0}.status svg{width:11px;height:11px}.row-arrow{width:12px;height:12px;margin-top:var(--space-sm)}.more-activities{padding:var(--space-sm) 0;border-top:0}.plan-disclaimer{color:var(--color-muted);margin-top:var(--space-xs);font-size:10px;line-height:1.6;display:block}.trip-shortcuts{border-top:var(--rule);border-bottom:var(--rule)}.trip-shortcuts button{gap:var(--space-12);text-align:left;width:100%;min-height:72px;padding:var(--space-md) 0;white-space:normal;align-items:center;display:flex}.trip-shortcuts button+button{border-top:var(--rule)}.shortcut-icon{border-radius:var(--radius-sm);background:var(--color-paper-2);width:36px;height:36px;color:var(--color-gold-deep);place-items:center;display:grid}.trip-shortcuts button>span:nth-child(2){gap:var(--space-xs);flex-direction:column;flex:1;display:flex}.trip-shortcuts strong{font-size:14px;font-weight:500}.trip-shortcuts small{color:var(--color-muted);font-size:11px;line-height:1.6}.trip-shortcuts button>svg{color:var(--color-muted)}.phuong-brief{gap:var(--space-12);margin-top:var(--space-lg);align-items:start;display:flex}.phuong-brief>div{flex:1;min-width:0}.phuong-brief h3{margin-bottom:var(--space-xs);font-size:13px;font-weight:500}.phuong-brief p{color:var(--color-muted);font-size:12px}.phuong-brief .icon-button{width:28px;min-width:28px;padding:0}.outfit-brief{margin-top:var(--space-lg);border-top:var(--rule);padding-top:var(--space-20)}.outfit-brief .mini-heading{gap:var(--space-sm);margin-bottom:var(--space-sm)}.mini-heading h3{font-size:13px}.outfit-brief p{color:var(--color-muted);font-size:12px}.outfit-brief .outfit-swatches{gap:var(--space-xs);margin-left:auto}.outfit-brief .swatch{width:14px;height:14px}.data-source{font-size:10px}.leader-quick{margin-top:var(--space-lg);justify-content:center;align-items:center;gap:var(--space-sm);width:100%;min-height:48px;padding:var(--space-12);background:var(--color-gold-soft);border-radius:var(--radius-sm);color:var(--color-accent-ink);font-size:13px;display:flex}.leader-quick>svg:first-child{color:var(--color-gold-deep)}.group-link{margin:var(--space-xs) auto 0;display:flex}.mobile-nav{padding:var(--space-sm) var(--space-sm) max(8px,env(safe-area-inset-bottom));background:var(--color-paper);grid-template-columns:repeat(5,minmax(0,1fr))}.mobile-nav button{min-height:48px;padding:var(--space-xs) 0;gap:var(--space-xs);font-size:10px}.mobile-nav svg{width:21px;height:21px}.mobile-nav button.active{color:var(--color-gold-deep);position:relative}.mobile-nav button.active:before{content:"";background:var(--color-gold);border-radius:2px;width:20px;height:2px;position:absolute;top:-8px}.page-footer{padding-top:var(--space-md);margin-top:var(--space-xl);font-size:9px}.page-footer>span:last-child{display:none}.page-intro{margin:0 0 var(--space-lg)}.page-intro .trip-season{font-size:11px}.page-intro h1{font:600 25px/1.3 var(--font-body);letter-spacing:-.04em;margin:var(--space-sm) 0}.page-intro>p{max-width:60ch;font-size:13px}.paper-panel,.sun-card,.outfit-card,.place-details{background:0 0;border:0;border-radius:0;padding:0}.itinerary-layout{gap:var(--space-xl);margin-top:var(--space-lg)}.itinerary-layout .section-heading h2{font:500 18px/1.5 var(--font-body)}.itinerary-notes{padding-top:var(--space-lg);border-top:var(--rule)}.itinerary-notes h3{font-size:14px}.itinerary-notes p{color:var(--color-muted);font-size:12px}.route-note{background:var(--color-paper-2);padding:var(--space-md)}.trip-map{height:360px;min-height:0}.filter-chips{gap:var(--space-xs)}.filter-chips button{border-color:var(--color-transparent);background:var(--color-paper-2);padding-inline:var(--space-12);font-size:12px}.map-tools{gap:var(--space-12)}.place-details>h2{font:500 20px/1.4 var(--font-body)}.place-details>p,.place-note p,.inline-note p{font-size:13px}.inline-note{padding:var(--space-md);border-radius:var(--radius-sm)}.arrival-note{padding:var(--space-md);background:var(--color-paper-2)}.arrival-note strong{font-size:13px}.arrival-note p{font-size:12px}.flight-grid{gap:var(--space-lg)}.flight-card{padding:var(--space-md);box-shadow:none;border-radius:var(--radius-md);background:var(--color-surface)}.flight-card .status{background:var(--color-paper-2);padding:var(--space-xs)}.flight-airports p{font-size:11px}.home-card{padding:var(--space-md) 0;border:0;border-bottom:var(--rule);background:0 0;border-radius:0}.home-icon{display:none}.home-card h3{font-size:16px}.home-address,.home-members,.home-dates{font-size:12px}.homes-section{margin-top:var(--space-xl)}.member-grid{grid-template-columns:minmax(0,1fr);gap:0}.member-card{gap:var(--space-xs) var(--space-12);border:0;border-bottom:var(--rule);padding:var(--space-20) 0;background:0 0;border-radius:0;grid-template-columns:36px minmax(0,1fr);display:grid}.member-card-head{grid-area:1/1/5;align-self:start}.member-card-head .avatar{width:36px;height:36px;font-size:15px}.member-card-head .status{display:none}.member-card h2{grid-column:2;margin:0;font-size:14px;font-weight:500}.member-card>p{grid-column:2;margin:0;font-size:11px}.location-state{margin:var(--space-xs) 0;gap:var(--space-xs);grid-column:2;font-size:11px}.member-actions{grid-column:2}.member-actions .secondary-button{padding:var(--space-sm) var(--space-12);flex:0 auto;justify-content:flex-start;min-height:44px;font-size:12px}.member-actions .icon-button{margin-left:auto}.contact-number{grid-column:2;margin:0;font-size:11px}.broadcast-panel{padding:var(--space-md);background:var(--color-paper-2);border-radius:var(--radius-md);margin-bottom:var(--space-sm)}.broadcast-panel>div:first-child>svg{display:none}.broadcast-panel h2{margin:0 0 var(--space-xs);font-size:14px}.quick-buttons .primary-button,.quick-buttons .secondary-button{padding-inline:var(--space-sm);font-size:11px}.expense-summaries{gap:var(--space-sm);grid-template-columns:repeat(3,minmax(0,1fr))}.expense-summaries>div{padding:var(--space-12) var(--space-sm);border-radius:var(--radius-sm);background:var(--color-paper-2)}.expense-summaries>div:first-child{background:var(--color-gold-soft)}.expense-summaries span{font-size:9px}.expense-summaries strong{font:500 15px/1.4 var(--font-body);overflow-wrap:anywhere}.expense-panel{padding:0}.expense-empty{padding-block:var(--space-lg);text-align:left}.empty-receipt{display:none}.expense-empty h3{font:500 16px/1.5 var(--font-body)}.expense-empty p{font-size:13px}.empty-inline,.notice-card{padding:var(--space-md);background:var(--color-paper-2);border-radius:var(--radius-sm);border:0}.notification-popover{top:60px}.dialog-head h2{font:600 21px/1.5 var(--font-body)}.primary-button,.secondary-button{font-size:13px;line-height:1}@media (width<=22.4rem){.topbar .demo-pill{display:none}}@media (hover:hover) and (pointer:fine){.leader-quick:hover{background:var(--color-cream)}.trip-shortcuts button:hover strong{color:var(--color-gold-deep)}}@media (width>=48rem){.main-content{padding-inline:var(--space-xl)}.trip-masthead h1{font-size:25px}.trip-masthead{margin-bottom:var(--space-20)}.conditions-strip,.conditions-source{max-width:520px}.condition-value{align-items:baseline;gap:var(--space-sm);flex-direction:row}.dashboard-layout{gap:var(--space-40);grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.dashboard-essentials{padding-top:var(--space-md)}.dashboard-essentials .trip-shortcuts{border-top:0}.member-grid{column-gap:var(--space-xl);grid-template-columns:repeat(2,minmax(0,1fr))}.expense-summaries strong{font-size:21px}.expense-summaries>div{padding:var(--space-md)}.expense-summaries span{font-size:11px}}@media (width>=64rem){.sidebar{width:200px;padding:var(--space-xl) var(--space-md)}.app-content{margin-left:200px}.sidebar-trip{margin:var(--space-xl) var(--space-sm) var(--space-lg)}.desktop-nav button{padding:var(--space-12) var(--space-sm);font-size:12px}.topbar{min-height:64px;padding-inline:var(--space-xl)}.desktop-greeting{font-size:12px}.sidebar-bottom>p{display:none}.main-content{padding-top:var(--space-xl);padding-bottom:var(--space-xl)}.live-clocks{gap:var(--space-md);flex-direction:row}.live-clocks>span:last-child{display:inline}.trip-masthead h1{font-size:25px}.day-title h3{font-size:19px}.timeline-row{gap:var(--space-sm);grid-template-columns:40px 28px minmax(0,1fr) 12px}.event-title{font-size:14px}.event-note{font-size:12px}.event-icon{width:28px;height:28px}.day-picker strong{font-size:16px}.member-card{padding:var(--space-20) 0}.member-card h2{font-size:14px}.itinerary-notes{border-top:0;padding-top:0}.trip-map{min-height:420px}.flight-card{padding:var(--space-md)}}@media (prefers-reduced-motion:reduce){.masthead-leaf{transform:none}}
