.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}:root{--bg-base: #e8ecf8;--bg-soft: #e2e8f7;--bg-elev: #ffffff;--bg-tinted: #f3f5ff;--ink: #0b1220;--ink-soft: #475173;--ink-muted: #8a93b3;--hairline: #e0e5f5;--hairline-strong: #c9d0eb;--brand: #5b6cf2;--brand-deep: #3a47c7;--brand-soft: #e6e9ff;--brand-tint: #f1f3ff;--rose: #f4759d;--amber: #f6a847;--teal: #2dd4bf;--good: #10b981;--good-soft: #d1fae5;--warm: #f59e0b;--warm-soft: #fef3c7;--bad: #ef4444;--bad-soft: #fee2e2;--info: #0ea5e9;--info-soft: #e0f2fe;--line-brand: #06c755;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .05);--shadow-sm: 0 4px 16px -4px rgba(15, 23, 42, .1), 0 2px 6px -2px rgba(91, 108, 242, .08);--shadow-md: 0 12px 32px -12px rgba(15, 23, 42, .14), 0 4px 14px -4px rgba(91, 108, 242, .1);--shadow-lg: 0 24px 60px -20px rgba(15, 23, 42, .22);--shadow-pop: 0 16px 48px -16px rgba(91, 108, 242, .42);--radius-xs: 8px;--radius-sm: 12px;--radius: 16px;--radius-lg: 22px;--radius-xl: 28px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--grad-brand: linear-gradient(135deg, #6366f1 0%, #ec4899 60%, #f59e0b 100%);--grad-brand-soft: linear-gradient(135deg, #eef0ff 0%, #fff1f6 60%, #fff7e6 100%);--grad-card: linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.86));--header-bg: rgba(255, 255, 255, .72);--header-border: rgba(180, 190, 230, .55);--app-bg-overlay-1: #6ec5ff;--app-bg-overlay-2: #ffa3b8;--app-bg-overlay-3: #ffc96b;--app-bg-overlay-4: #5ee4c5;--app-bg-overlay-5: #c8b6ff;--app-bg-base: #f2f5ff;--bg-card: var(--bg-elev);--z-modal-backdrop: 1050;--z-modal: 1060;--z-toast: 1200;--z-block-ui: 5000;--z-error-modal-backdrop: calc(var(--z-block-ui) + 100);--z-error-modal: calc(var(--z-block-ui) + 110);--z-itin-modal-scrim: calc(var(--z-block-ui) - 2);--z-itin-modal-panel: calc(var(--z-block-ui) - 1);--modal-backdrop: rgba(15, 23, 42, .46)}[data-theme=dark]{--bg-base: #060818;--bg-soft: #0c1028;--bg-elev: #141c3a;--bg-tinted: #1c2652;--ink: #f5f7ff;--ink-soft: #b8c0e8;--ink-muted: #7c86b0;--hairline: rgba(139, 162, 255, .14);--hairline-strong: rgba(167, 183, 255, .24);--brand: #8b5cf6;--brand-deep: #c4b5fd;--brand-soft: rgba(139, 92, 246, .22);--brand-tint: rgba(99, 102, 241, .14);--good: #34d399;--good-soft: #0d2818;--warm: #fcd34d;--warm-soft: #3b2f0f;--bad: #fb7185;--bad-soft: #3b1420;--info: #22d3ee;--info-soft: #0a2530;--bg-card: var(--bg-elev);--shadow-xs: 0 1px 3px rgba(0, 0, 0, .5);--shadow-sm: 0 8px 24px -10px rgba(0, 0, 0, .65), 0 0 0 1px rgba(129, 140, 255, .1) inset, 0 12px 40px -24px rgba(99, 102, 241, .18);--shadow-md: 0 16px 40px -14px rgba(0, 0, 0, .78), 0 0 0 1px rgba(167, 139, 250, .12) inset, 0 20px 50px -28px rgba(139, 92, 246, .2);--shadow-lg: 0 32px 72px -22px rgba(0, 0, 0, .88), 0 0 80px -30px rgba(99, 102, 241, .15);--shadow-pop: 0 14px 40px -10px rgba(139, 92, 246, .45), 0 8px 32px -12px rgba(56, 189, 248, .2);--grad-brand: linear-gradient(135deg, #6366f1 0%, #8b5cf6 28%, #d946ef 58%, #06b6d4 100%);--grad-brand-soft: linear-gradient(145deg, #0f1430 0%, #1a1035 40%, #0a2530 72%, #101828 100%);--grad-card: linear-gradient(180deg, rgba(28, 36, 72, .95), rgba(20, 28, 58, .9));--header-bg: rgba(8, 10, 22, .82);--header-border: rgba(139, 162, 255, .18);--app-bg-overlay-1: #818cf8;--app-bg-overlay-2: #f472b6;--app-bg-overlay-3: #fbbf24;--app-bg-overlay-4: #22d3ee;--app-bg-overlay-5: #c084fc;--app-bg-base: #060818;color-scheme:dark;--modal-backdrop: rgba(2, 4, 16, .78)}*{box-sizing:border-box}.cdk-overlay-container{z-index:2147480000!important}.ft-cdk-block-ui-pane.cdk-overlay-pane{pointer-events:auto!important;max-width:none!important;width:100vw!important;height:100vh!important;max-height:100vh!important}@supports (height: 100dvh){.ft-cdk-block-ui-pane.cdk-overlay-pane{height:100dvh!important;max-height:100dvh!important}}.ft-cdk-error-modal-pane.cdk-overlay-pane{pointer-events:auto!important;max-width:none!important;width:100vw!important;height:100vh!important;max-height:100vh!important;z-index:var(--z-error-modal)!important}@supports (height: 100dvh){.ft-cdk-error-modal-pane.cdk-overlay-pane{height:100dvh!important;max-height:100dvh!important}}html,body{margin:0;padding:0;min-height:100%;background:var(--bg-base);color:var(--ink);font-family:Plus Jakarta Sans,Noto Sans Thai,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Sarabun,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.5;letter-spacing:-.005em;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}a{color:var(--brand-deep);text-decoration:none}a:hover{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}input,select,textarea,button{font:inherit;color:inherit}h1,h2,h3,h4{letter-spacing:-.015em;color:var(--ink)}button{cursor:pointer;border:0;border-radius:999px;padding:.6rem 1.2rem;font-weight:600;font-size:.92rem;background:var(--brand);color:#fff;box-shadow:0 1px #ffffff1a inset,0 1px 2px #3a47c740;transition:transform .12s ease,box-shadow .15s ease,background-color .15s ease,opacity .12s ease}button:hover{background:var(--brand-deep);transform:translateY(-1px);box-shadow:0 6px 14px -6px #3a47c780}button:active{transform:translateY(0)}button:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}button.ghost{background:var(--bg-elev);color:var(--brand-deep);border:1px solid var(--brand-soft);box-shadow:var(--shadow-xs)}button.ghost:hover{background:var(--brand-tint);border-color:var(--brand)}a.ghost{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;border-radius:999px;padding:.6rem 1.2rem;font-weight:600;font-size:.92rem;background:var(--bg-elev);color:var(--brand-deep);border:1px solid var(--brand-soft);box-shadow:var(--shadow-xs);text-decoration:none!important;transition:transform .12s ease,box-shadow .15s ease,background-color .15s ease,border-color .15s ease,opacity .12s ease}a.ghost:hover{background:var(--brand-tint);border-color:var(--brand);transform:translateY(-1px)}a.ghost:active{transform:translateY(0)}a.ghost.sm{padding:.4rem .85rem;font-size:.85rem}a.ghost:focus-visible{outline:2px solid var(--brand);outline-offset:2px}button.subtle{background:var(--bg-soft);color:var(--ink);box-shadow:none}button.subtle:hover{background:var(--hairline)}button.danger{background:var(--bad);color:#fff;box-shadow:0 1px 2px #ef44444d}button.danger:hover{background:#dc2626;color:#fff;box-shadow:0 6px 14px -6px #ef444480}button.ghost.danger{background:var(--bad-soft);color:#b91c1c;border:1px solid color-mix(in srgb,var(--bad) 32%,var(--hairline));box-shadow:var(--shadow-xs)}button.ghost.danger:hover{background:color-mix(in srgb,var(--bad) 14%,var(--bad-soft));color:#991b1b;border-color:color-mix(in srgb,var(--bad) 45%,var(--hairline))}[data-theme=dark] button.ghost.danger{background:color-mix(in srgb,var(--bad) 16%,var(--bg-soft));color:#fecdd3;border-color:color-mix(in srgb,var(--bad) 50%,var(--hairline-strong))}[data-theme=dark] button.ghost.danger:hover{background:color-mix(in srgb,var(--bad) 26%,var(--bg-soft));color:#fff5f5;border-color:color-mix(in srgb,var(--bad) 65%,var(--hairline-strong))}button.warm{background:var(--warm);color:#1f2937;box-shadow:0 1px 2px #f59e0b4d}button.warm:hover{background:#d97706}button.line{background:var(--line-brand);color:#fff;box-shadow:0 1px 2px #06c7554d}button.line:hover{background:#04a945}button.cta{background:var(--grad-brand);padding:.85rem 1.6rem;font-size:1rem;box-shadow:var(--shadow-pop)}button.icon-btn{padding:.55rem;width:38px;height:38px;display:inline-grid;place-items:center}button.sm{padding:.4rem .85rem;font-size:.85rem}button.lg{padding:.85rem 1.5rem;font-size:1rem}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),select,textarea{width:100%;background:var(--bg-elev);border:1px solid var(--hairline);border-radius:var(--radius-sm);padding:.7rem .9rem;outline:none;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease;font-size:.95rem}input::placeholder,textarea::placeholder{color:var(--ink-muted)}input:hover,select:hover,textarea:hover{border-color:var(--hairline-strong)}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px #5b6cf229;background:var(--bg-elev)}select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%23475173' d='M6 8L0 0h12z'/></svg>");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}[data-theme=dark] select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%23c5cdec' d='M6 8L0 0h12z'/></svg>")}input[type=file]{padding:.5rem;font-size:.9rem}label{font-size:.78rem;color:var(--ink-soft);font-weight:600;letter-spacing:.02em;text-transform:uppercase;display:block;margin-bottom:6px}.app-shell{position:relative;min-height:100vh;background:radial-gradient(900px 540px at -5% -10%,var(--app-bg-overlay-1) 0%,transparent 60%),radial-gradient(820px 480px at 105% -15%,var(--app-bg-overlay-2) 0%,transparent 60%),radial-gradient(760px 460px at 110% 90%,var(--app-bg-overlay-3) 0%,transparent 65%),radial-gradient(700px 460px at -10% 110%,var(--app-bg-overlay-4) 0%,transparent 65%),radial-gradient(720px 520px at 50% 55%,var(--app-bg-overlay-5) 0%,transparent 70%),var(--app-bg-base);background-attachment:fixed;background-repeat:no-repeat;transition:background-color .25s ease;isolation:isolate}[data-theme=dark] .app-shell{background:radial-gradient(ellipse 95% 60% at 8% -8%,rgba(129,140,248,.5) 0%,transparent 52%),radial-gradient(ellipse 85% 55% at 96% 4%,rgba(244,114,182,.38) 0%,transparent 48%),radial-gradient(ellipse 80% 50% at 102% 96%,rgba(251,191,36,.2) 0%,transparent 50%),radial-gradient(ellipse 75% 48% at -6% 92%,rgba(34,211,238,.28) 0%,transparent 50%),radial-gradient(ellipse 70% 65% at 52% 38%,rgba(192,132,252,.22) 0%,transparent 58%),linear-gradient(165deg,#080a1a,#0f1438 42%,#060818 88%)}[data-theme=light] .app-shell{background:radial-gradient(ellipse 120% 80% at 5% -15%,color-mix(in srgb,var(--app-bg-overlay-1) 72%,white) 0%,transparent 58%),radial-gradient(ellipse 100% 75% at 98% -8%,color-mix(in srgb,var(--app-bg-overlay-2) 68%,white) 0%,transparent 55%),radial-gradient(ellipse 95% 70% at 102% 100%,color-mix(in srgb,var(--app-bg-overlay-3) 65%,white) 0%,transparent 52%),radial-gradient(ellipse 90% 70% at -8% 100%,color-mix(in srgb,var(--app-bg-overlay-4) 62%,white) 0%,transparent 52%),radial-gradient(ellipse 85% 75% at 50% 42%,color-mix(in srgb,var(--app-bg-overlay-5) 45%,white) 0%,transparent 62%),linear-gradient(180deg,#ffffff 0%,var(--app-bg-base) 42%,color-mix(in srgb,var(--app-bg-overlay-4) 14%,var(--app-bg-base)) 100%),var(--app-bg-base)}.app-shell:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:conic-gradient(from var(--bg-angle, 0deg) at 50% 50%,transparent 0deg,color-mix(in srgb,var(--app-bg-overlay-2) 18%,transparent) 90deg,transparent 180deg,color-mix(in srgb,var(--app-bg-overlay-1) 18%,transparent) 270deg,transparent 360deg);mix-blend-mode:overlay;animation:bg-drift 60s linear infinite}@property --bg-angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@keyframes bg-drift{to{--bg-angle: 360deg}}.app-shell:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:radial-gradient(circle at 1px 1px,rgba(15,23,42,.06) 1px,transparent 0);background-size:22px 22px;opacity:.5;mix-blend-mode:multiply}[data-theme=dark] .app-shell:after{background-image:radial-gradient(circle at 1px 1px,rgba(199,210,255,.07) 1px,transparent 0);mix-blend-mode:screen;opacity:.55}[data-theme=dark] .app-shell:before{background:conic-gradient(from var(--bg-angle, 0deg) at 50% 45%,transparent 0deg,color-mix(in srgb,var(--app-bg-overlay-2) 30%,transparent) 55deg,color-mix(in srgb,var(--app-bg-overlay-5) 22%,transparent) 115deg,transparent 175deg,color-mix(in srgb,var(--app-bg-overlay-1) 28%,transparent) 235deg,color-mix(in srgb,var(--app-bg-overlay-4) 24%,transparent) 305deg,transparent 360deg);mix-blend-mode:soft-light;opacity:.85}[data-theme=light] .app-shell:before{background:conic-gradient(from var(--bg-angle, 0deg) at 50% 45%,transparent 0deg,color-mix(in srgb,var(--app-bg-overlay-2) 26%,transparent) 75deg,transparent 155deg,color-mix(in srgb,var(--app-bg-overlay-1) 24%,transparent) 235deg,color-mix(in srgb,var(--app-bg-overlay-4) 18%,transparent) 310deg,transparent 360deg);mix-blend-mode:soft-light;opacity:.9}[data-theme=light] .app-shell:after{opacity:.55;background-size:20px 20px}@media (prefers-reduced-motion: reduce){.app-shell:before{animation:none}}.app-header{position:sticky;top:0;z-index:40;backdrop-filter:saturate(150%) blur(18px);background:var(--header-bg);border-bottom:1px solid var(--header-border)}.app-header-inner{max-width:1180px;margin:0 auto;padding:12px 22px;display:flex;align-items:center;gap:18px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.05rem;color:var(--ink)}.brand:hover{text-decoration:none}.brand .logo{width:36px;height:36px;border-radius:11px;background:var(--grad-brand);display:grid;place-items:center;color:#fff;font-weight:800;font-size:.85rem;letter-spacing:.04em;box-shadow:var(--shadow-pop)}.brand-name{background:linear-gradient(120deg,var(--ink) 0%,var(--brand-deep) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}nav.tabs{display:flex;gap:4px;flex-wrap:wrap;margin-left:8px}nav.tabs a{padding:8px 14px;border-radius:999px;color:var(--ink-soft);font-weight:600;font-size:.92rem;letter-spacing:-.005em;display:inline-flex;align-items:center;gap:6px;transition:background-color .15s ease,color .15s ease}nav.tabs a:hover{background:var(--bg-soft);color:var(--ink);text-decoration:none}nav.tabs .nav-disabled{padding:8px 14px;border-radius:999px;color:var(--ink-soft);font-weight:600;font-size:.92rem;letter-spacing:-.005em;display:inline-flex;align-items:center;gap:6px;opacity:.42;cursor:not-allowed;pointer-events:none}nav.tabs a.active{background:var(--brand);color:#fff;box-shadow:0 4px 12px -4px #5b6cf280}nav.tabs a.active:hover{background:var(--brand-deep);color:#fff}.user-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:999px;background:var(--bg-elev);border:1px solid var(--hairline);font-weight:600;font-size:.86rem;color:var(--ink);box-shadow:var(--shadow-xs)}.user-chip .avatar{width:26px;height:26px;border-radius:50%;background:var(--grad-brand);display:grid;place-items:center;color:#fff;font-weight:700;font-size:.78rem}.user-chip .avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}a.user-chip{text-decoration:none;cursor:pointer;color:inherit}span.user-chip.user-chip--profile-locked{cursor:default;opacity:.93}.bottom-nav span.bn-item.bn-item--disabled{opacity:.42;cursor:not-allowed;pointer-events:none}.user-chip.mobile-only,.seg-toggle.mobile-only{display:none}.bottom-nav{display:none;position:fixed;left:0;right:0;bottom:0;z-index:40;background:color-mix(in srgb,var(--bg-elev) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--hairline);box-shadow:0 -6px 22px #00000014;padding:6px 4px;padding-bottom:max(6px,env(safe-area-inset-bottom));gap:2px}.bottom-nav .bn-item{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:7px 2px 5px;background:transparent;border:0;border-radius:12px;color:var(--ink-muted);font-size:.66rem;font-weight:600;letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:background-color .15s ease,color .15s ease,transform .1s ease}.bottom-nav .bn-item:hover{background:var(--bg-soft);color:var(--ink-soft)}.bottom-nav .bn-item:active{transform:scale(.96)}.bottom-nav .bn-item:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.bottom-nav .bn-icon{font-size:1.2rem;line-height:1}.bottom-nav .bn-label{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom-nav .bn-item.active{color:var(--brand);background:var(--brand-tint)}.bottom-nav .bn-item.active .bn-icon{filter:drop-shadow(0 1px 2px rgba(0,0,0,.15))}.bottom-nav .bn-item.bn-options.active{color:var(--brand);background:var(--brand-tint)}.ft-modal-backdrop{position:fixed;inset:0;z-index:var(--z-modal-backdrop);background:var(--modal-backdrop);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ft-modal-backdrop.ft-modal-backdrop--error{z-index:var(--z-error-modal-backdrop)}.ft-modal{position:fixed;z-index:var(--z-modal);left:50%;top:50%;transform:translate(-50%,-50%);width:min(92vw,400px);max-height:min(88dvh,600px);background:var(--bg-elev);border:1px solid var(--hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;display:flex;flex-direction:column}.ft-modal--narrow{width:min(92vw,360px);max-height:min(85dvh,480px)}.ft-modal--alert{border-top:3px solid var(--bad)}[data-theme=dark] .ft-modal{background:linear-gradient(180deg,#ffffff0d,#fff0 36%),var(--bg-elev)}.ft-modal__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 16px 12px;border-bottom:1px solid var(--hairline);flex-shrink:0}.ft-modal__title{margin:0;font-size:1.05rem;font-weight:800;letter-spacing:-.02em;color:var(--ink)}.ft-modal__close{flex-shrink:0;min-width:40px;min-height:40px;border-radius:11px;font-size:1.1rem;line-height:1;padding:0;display:grid;place-items:center}.ft-modal__body{padding:18px 16px 20px;overflow-y:auto;flex:1;min-height:0;display:flex;flex-direction:column;gap:18px}.ft-modal__body--center{text-align:center;align-items:stretch;padding:22px 20px}.ft-modal.ft-modal--error{z-index:var(--z-error-modal);inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(88vw,340px);max-height:none;border-radius:var(--radius-lg);border:1px solid var(--hairline);box-shadow:var(--shadow-lg);overflow:visible}.ft-error-modal__panel{padding:22px 20px 18px;display:flex;flex-direction:column;align-items:stretch;gap:10px;text-align:center}.ft-error-modal__label{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bad)}.ft-error-modal__message{margin:0;font-size:.95rem;line-height:1.55;color:var(--ink);white-space:pre-wrap;word-break:break-word}.ft-error-modal__ok{margin-top:8px;width:100%;justify-content:center;background:var(--bg-soft);border:1px solid var(--hairline);color:var(--ink);font-weight:700}.ft-error-modal__ok:hover{background:var(--bg-tinted);border-color:var(--hairline-strong)}@media (max-width: 560px){.ft-modal.ft-modal--error{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(88vw,340px);max-width:none;max-height:none;border-radius:var(--radius-lg);padding-bottom:0}}.ft-modal.ft-modal--center{inset:50% auto auto 50%;transform:translate(-50%,-50%)}@media (max-width: 560px){.ft-modal.ft-modal--center{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(90vw,360px);max-width:none;border-radius:var(--radius-lg);padding-bottom:0}}@media (max-width: 560px){.ft-modal{inset:auto 0 0;transform:none;width:100%;max-width:none;max-height:min(92dvh,720px);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding-bottom:max(0px,env(safe-area-inset-bottom))}}.options-modal-row{display:flex;flex-direction:column;gap:10px}.options-modal-label{font-size:.78rem;font-weight:600;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em}.options-modal-toggle.seg-toggle{align-self:flex-start}.toast{position:fixed;left:50%;transform:translate(-50%);z-index:var(--z-toast);max-width:min(92vw,420px);padding:14px 20px;border-radius:14px;font-weight:600;font-size:.92rem;line-height:1.45;box-shadow:var(--shadow-lg);animation:toast-in .22s ease;text-align:center;word-break:break-word;border:1px solid color-mix(in srgb,var(--hairline-strong) 70%,transparent)}.app-shell.has-bottom-nav .toast{bottom:calc(90px + env(safe-area-inset-bottom))}.app-shell:not(.has-bottom-nav) .toast{bottom:max(24px,calc(16px + env(safe-area-inset-bottom)))}.toast[data-variant=default]{background:#0b1220;color:#f8fafc;border-color:#ffffff24}[data-theme=dark] .toast[data-variant=default]{background:var(--bg-elev);color:var(--ink);border-color:var(--hairline-strong)}.toast[data-variant=success]{background:linear-gradient(135deg,color-mix(in srgb,var(--good) 88%,#fff) 0%,var(--good) 100%);color:#052e1a;border-color:color-mix(in srgb,var(--good) 40%,var(--hairline))}[data-theme=dark] .toast[data-variant=success]{color:#ecfdf5;background:linear-gradient(135deg,color-mix(in srgb,var(--good) 35%,var(--bg-elev)),color-mix(in srgb,var(--good) 55%,var(--bg-soft)))}.toast[data-variant=error]{background:linear-gradient(135deg,color-mix(in srgb,var(--bad) 92%,#fff),color-mix(in srgb,var(--bad) 100%,#991b1b));color:#fff;border-color:color-mix(in srgb,var(--bad) 45%,transparent)}.toast[data-variant=info]{background:linear-gradient(135deg,color-mix(in srgb,var(--info) 22%,var(--bg-elev)) 0%,var(--bg-elev) 100%);color:var(--ink);border-color:color-mix(in srgb,var(--info) 35%,var(--hairline))}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@media (min-width: 881px){.app-shell.has-bottom-nav .toast{bottom:max(24px,calc(16px + env(safe-area-inset-bottom)))}}@media (max-width: 880px){.app-shell.has-bottom-nav .app-header{display:none}.app-shell.has-bottom-nav main.app-main{padding-top:max(12px,env(safe-area-inset-top));padding-bottom:calc(72px + env(safe-area-inset-bottom))}nav.tabs.desktop,.user-chip.desktop,.seg-toggle.desktop,.icon-toggle.desktop{display:none}.seg-toggle.mobile-only{display:inline-flex}.user-chip.mobile-only{display:inline-flex;padding:3px;gap:0;background:var(--bg-elev);border:1px solid var(--hairline);border-radius:999px;box-shadow:var(--shadow-xs)}.user-chip.mobile-only .avatar{width:32px;height:32px}.app-header-inner{gap:8px;padding:10px 14px}.bottom-nav{display:flex}.bottom-nav .bn-label{font-size:.6rem}main.app-main{padding-bottom:28px}}@media (max-width: 480px){.brand-name{display:none}.app-header-inner{gap:6px;padding:10px 12px}}main.app-main{max-width:1180px;margin:0 auto;padding:28px 22px 32px}.app-breadcrumb{margin:-4px 0 18px;font-size:.84rem;line-height:1.35}.app-breadcrumb__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 2px;color:var(--ink-muted)}.app-breadcrumb__item{display:inline-flex;align-items:center;gap:2px;max-width:100%}.app-breadcrumb a{color:var(--brand);font-weight:600;text-decoration:none;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-breadcrumb a:hover{text-decoration:underline}.app-breadcrumb__current{color:var(--ink);font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-breadcrumb__sep{color:var(--hairline-strong);font-weight:500;padding:0 4px 0 2px;-webkit-user-select:none;user-select:none}@media (max-width: 640px){.app-breadcrumb{margin:-2px 0 14px;font-size:.8rem}}@media (max-width: 640px){main.app-main{padding:18px 16px max(12px,env(safe-area-inset-bottom))}.page-header{margin-bottom:14px;gap:12px}.section-title{margin:20px 0 8px}.card{padding:18px 16px;border-radius:var(--radius)}.card .card-sub{margin-bottom:14px}}@media (max-width: 480px){main.app-main{padding:16px 20px max(12px,env(safe-area-inset-bottom));padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}}@media (max-width: 380px){main.app-main{padding:14px 22px max(10px,env(safe-area-inset-bottom));padding-left:max(22px,env(safe-area-inset-left));padding-right:max(22px,env(safe-area-inset-right))}}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}.page-header h1{margin:0;font-size:clamp(1.4rem,2.2vw,1.85rem);font-weight:800}.page-header .sub{color:var(--ink-soft);font-size:.92rem;margin-top:4px}.trip-detail-page-hero{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:12px 16px;margin:0 0 18px;padding:18px 20px 20px;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--hairline) 72%,var(--brand) 14%);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.trip-detail-page-hero--loading{background:var(--grad-brand-soft)}.trip-detail-page-hero[class*=trip-bg--] .trip-detail-page-title{color:#fff;text-shadow:0 1px 14px rgba(0,0,0,.35)}.trip-detail-page-hero[class*=trip-bg--] .trip-detail-page-sub{color:#ffffffeb;text-shadow:0 1px 10px rgba(0,0,0,.28)}.trip-detail-page-hero[class*=trip-bg--] .trip-detail-page-emoji{filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}.trip-detail-page-hero:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad-brand);opacity:.88;pointer-events:none}.trip-detail-page-hero--loading .trip-detail-page-hero-main{flex:1 1 min(100%,280px);min-width:0}.trip-detail-page-title{margin:0;font-size:clamp(1.4rem,2.2vw,1.85rem);font-weight:800;letter-spacing:-.02em;color:var(--ink)}.trip-detail-page-sub{margin:6px 0 0;font-size:.92rem;line-height:1.5;color:var(--ink-soft);max-width:52rem}.trip-detail-page-hero-main{flex:1 1 min(100%,240px);min-width:0}.trip-detail-page-hero-aside{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0;margin-left:auto}.trip-detail-page-emoji{font-size:clamp(2rem,4vw,2.45rem);line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));-webkit-user-select:none;user-select:none;flex-shrink:0;align-self:center}[data-theme=light] .trip-detail-hero-share-btn{background:#ffffffeb;border-color:color-mix(in srgb,var(--hairline) 80%,transparent)}[data-theme=dark] .trip-detail-hero-share-btn{background:#12162ab8;border-color:color-mix(in srgb,var(--hairline) 70%,transparent);color:var(--ink)}[data-theme=light] .trip-detail-hero-status-pill{background:#ffffffe6}[data-theme=dark] .trip-detail-hero-status-pill{background:#12162ab8}@media (max-width: 560px){.trip-detail-page-hero-main{width:100%;padding-right:3.15rem;box-sizing:border-box}.trip-detail-page-emoji{position:absolute;top:max(12px,env(safe-area-inset-top,0px));right:max(14px,env(safe-area-inset-right,0px));margin:0;z-index:2;font-size:clamp(1.7rem,9vw,2.35rem)}.trip-detail-page-hero--loading .trip-detail-page-hero-main{padding-right:3.15rem}.trip-detail-page-hero--loading .trip-skel-hero-emoji{position:absolute;top:max(12px,env(safe-area-inset-top,0px));right:max(14px,env(safe-area-inset-right,0px));margin:0;z-index:2;align-self:auto}.trip-detail-page-hero-aside{width:100%;margin-left:0;justify-content:flex-start}}.section-title{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin:24px 0 10px}.card{background:var(--bg-elev);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow-sm);position:relative}.card+.card{margin-top:16px}.trip-itinerary-shell{--itin-outer-pad: 0px;margin:0;padding:0;background:transparent;border:none;box-shadow:none;position:relative}body.display-compact .trip-itinerary-shell{margin-left:-22px;margin-right:-22px;width:calc(100% + 44px)}body.display-compact.liff-in-client .trip-itinerary-shell{margin-left:calc(-1*max(12px,env(safe-area-inset-left,0px)));margin-right:calc(-1*max(12px,env(safe-area-inset-right,0px)));width:calc(100% + max(12px,env(safe-area-inset-left,0px)) + max(12px,env(safe-area-inset-right,0px)))}.card:has(.itin-modal-scrim),.card:has(.trip-roster-scrim),.card:has(.trip-new-modal-scrim),.card:has(.join-blocker-scrim),.card:has(.setup-modal-scrim),.card:has(.poll-dialog-scrim){backdrop-filter:none!important;-webkit-backdrop-filter:none!important}[data-theme=dark] .card{background:linear-gradient(180deg,#ffffff0a,#fff0 40%),var(--bg-elev);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);box-shadow:var(--shadow-sm),inset 0 1px #ffffff0f}[data-theme=dark] .card.elevated{box-shadow:var(--shadow-md),inset 0 1px #ffffff14}[data-theme=dark] .stat-card{background:linear-gradient(180deg,#ffffff0a,#fff0 40%),var(--bg-elev);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);box-shadow:var(--shadow-sm),inset 0 1px #ffffff0f}[data-theme=dark] .brand .brand-name{background:linear-gradient(105deg,#fff 10%,var(--brand) 42%,#5eead4 88%);-webkit-background-clip:text;background-clip:text;color:transparent}[data-theme=dark] .page-header h1{text-shadow:0 2px 40px rgba(124,140,255,.22)}[data-theme=light] .card{background:linear-gradient(165deg,#fffffff7,#ffffffe6 40%,#f8fafff0);border:1px solid rgba(255,255,255,.95);box-shadow:var(--shadow-sm),0 1px #fffffffa inset,0 22px 48px -28px #5b6cf22e;backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%)}[data-theme=light] .card.tinted{background:linear-gradient(160deg,#faf8fff5,#f1f3ffeb);border-color:color-mix(in srgb,var(--brand) 18%,var(--hairline))}[data-theme=light] .card.elevated{box-shadow:var(--shadow-md),0 1px #fffffff2 inset,0 28px 56px -24px #5b6cf238}[data-theme=light] .stat-card{background:linear-gradient(155deg,#fffffffa,#fcfdffed);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow-sm),0 1px #fffffff2 inset,0 18px 44px -26px #5b6cf224;backdrop-filter:blur(12px) saturate(145%);-webkit-backdrop-filter:blur(12px) saturate(145%)}[data-theme=light] .home-stat-grid .stat-card:nth-child(1){background:linear-gradient(145deg,#fff,#eff6fff7 55%,#e0f2fe80);border-color:color-mix(in srgb,#3b82f6 28%,var(--hairline));box-shadow:var(--shadow-sm),0 1px #fffffff2 inset,0 16px 40px -22px #3b82f647}[data-theme=light] .home-stat-grid .stat-card:nth-child(2){background:linear-gradient(145deg,#fff,#fdf2f8f7 55%,#fce7f38c);border-color:color-mix(in srgb,#ec4899 26%,var(--hairline));box-shadow:var(--shadow-sm),0 1px #fffffff2 inset,0 16px 40px -22px #ec489938}[data-theme=light] .home-stat-grid .stat-card:nth-child(3){background:linear-gradient(145deg,#fff,#fffbebfa 55%,#fef3c78c);border-color:color-mix(in srgb,#f59e0b 28%,var(--hairline));box-shadow:var(--shadow-sm),0 1px #fffffff2 inset,0 16px 40px -22px #f59e0b3d}[data-theme=light] .brand .brand-name{background:linear-gradient(105deg,var(--ink) 12%,var(--brand-deep) 42%,#0d9488 88%);-webkit-background-clip:text;background-clip:text;color:transparent}[data-theme=light] .page-header h1{text-shadow:0 1px 0 rgba(255,255,255,.95),0 2px 28px rgba(91,108,242,.14),0 8px 32px rgba(236,72,153,.08)}[data-theme=light] .app-header{background:color-mix(in srgb,var(--header-bg) 88%,transparent);box-shadow:0 1px #ffffffb3 inset,0 8px 28px -12px #5b6cf21a}.card .card-title{font-size:1.02rem;font-weight:700;margin:0 0 4px;letter-spacing:-.01em;display:flex;align-items:center;gap:8px}.card .card-sub{color:var(--ink-soft);font-size:.9rem;margin:0 0 16px}.family-card-head{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.family-card-head-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.family-card-head-top .card-title{flex:1 1 12rem;min-width:0}.family-invite-hint{margin-bottom:0!important;max-width:100%;overflow-wrap:anywhere;word-break:break-word;line-height:1.5}.family-card-actions{justify-content:flex-end}.card.tinted{background:var(--bg-tinted)}.card.elevated{box-shadow:var(--shadow-md)}.card.flat{box-shadow:none}.card.bordered{border-color:var(--hairline-strong)}.card-divider{height:1px;background:var(--hairline);margin:16px -22px}.stat-card{background:var(--bg-elev);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:18px 20px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:4px;position:relative;overflow:hidden}.stat-card .label{color:var(--ink-soft);font-size:.8rem;font-weight:600;text-transform:none;letter-spacing:0;margin:0}.stat-card .value{font-size:1.6rem;font-weight:800;letter-spacing:-.02em;color:var(--ink)}.stat-card .meta{color:var(--ink-muted);font-size:.84rem}.stat-card .accent-dot{position:absolute;width:110px;height:110px;border-radius:50%;right:-30px;top:-30px;filter:blur(6px);opacity:.55}.stat-card.ring{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft),var(--shadow-sm)}.home-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:stretch}.home-stat-grid .stat-card{padding:10px 8px 12px;min-width:0;gap:2px;border-radius:12px}.home-stat-grid .stat-card .accent-dot{width:56px;height:56px;right:-18px;top:-18px;opacity:.85}.home-stat-grid .stat-card .label{font-size:.92rem;line-height:1.2;font-weight:800;letter-spacing:-.015em;color:var(--ink);padding-right:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-stat-grid .stat-card .value{font-size:.9rem;line-height:1.35;font-weight:600;color:var(--ink-soft);word-break:break-word}.home-stat-grid .stat-card .meta{display:none}.home-stat-grid .stat-card .row{margin-top:auto;padding-top:6px;width:100%}.home-stat-grid .stat-card .row>a{flex:1;min-width:0;display:flex}.home-stat-grid .stat-card .row .ghost.sm{width:100%;justify-content:center;padding:5px 4px;font-size:.62rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-stat-label-short,.home-stat-btn-short{display:none}.home-stat-btn-icon{display:none;align-items:center;justify-content:center;line-height:0}.home-stat-btn-icon svg{display:block}@media (max-width: 899px){.home-stat-grid .home-stat-label-full{display:none}.home-stat-grid .home-stat-label-short{display:block}.home-stat-grid .home-stat-btn-full,.home-stat-grid .home-stat-btn-short{display:none}.home-stat-grid .home-stat-btn-icon{display:flex}.home-stat-grid .stat-card .label{min-height:auto;-webkit-line-clamp:2;font-size:1rem}.home-stat-grid .stat-card .value{font-size:.88rem;line-height:1.35;letter-spacing:0;font-weight:600}.home-stat-grid .stat-card .row .ghost.sm.home-stat-action-btn{min-height:44px;padding:10px 8px;font-size:0}}@media (min-width: 900px){.home-stat-grid{gap:16px}.home-stat-grid .home-stat-label-full{display:block}.home-stat-grid .home-stat-label-short{display:none}.home-stat-grid .stat-card{padding:18px 20px;border-radius:var(--radius-lg);gap:4px}.home-stat-grid .stat-card .accent-dot{width:110px;height:110px;right:-30px;top:-30px;opacity:1}.home-stat-grid .stat-card .label{font-size:1.05rem;font-weight:700;-webkit-line-clamp:unset;display:block;overflow:visible;padding-right:0}.home-stat-grid .stat-card .value{font-size:1.12rem;font-weight:600;color:var(--ink-soft);word-break:normal}.home-stat-grid .stat-card .meta{display:block;font-size:.8rem}.home-stat-grid .stat-card .row{margin-top:10px;padding-top:0}.home-stat-grid .stat-card .row .ghost.sm{width:auto;justify-content:flex-start;padding:6px 12px;font-size:.86rem;white-space:normal;overflow:visible;text-overflow:unset}.home-stat-grid .stat-card .row .ghost.sm.home-stat-action-btn{min-height:unset;font-size:.86rem}.home-stat-grid .home-stat-btn-icon{display:none}.home-stat-grid .home-stat-btn-full{display:inline}.home-stat-grid .home-stat-btn-short{display:none}}.home-active-list{display:flex;flex-direction:column;gap:14px;margin-top:4px}.home-active-row{display:flex;flex-direction:column;gap:12px;padding:14px 14px 16px;border:1px solid var(--hairline);border-radius:14px;background:var(--bg-base)}a.home-active-main-link{display:block;text-decoration:none;color:inherit;margin:-4px;padding:4px;border-radius:12px;transition:background .15s ease;outline:none}a.home-active-main-link:hover{background:color-mix(in srgb,var(--brand) 6%,transparent)}a.home-active-main-link:focus-visible{box-shadow:0 0 0 2px var(--brand-tint),0 0 0 4px var(--brand)}.home-active-top{display:flex;gap:14px;align-items:flex-start;min-width:0}.home-active-row .thumb{flex-shrink:0;width:52px;height:52px;border-radius:14px;display:grid;place-items:center;position:relative;overflow:hidden;line-height:1}.home-active-row .thumb .emoji{font-size:1.45rem;filter:drop-shadow(0 2px 6px rgba(0,0,0,.22));position:relative;z-index:1}.home-active-body{flex:1;min-width:0}.home-active-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.home-active-title{font-weight:700;font-size:1rem;color:var(--ink);margin:0;line-height:1.3}.home-active-name{min-width:0}.home-active-dates{font-size:.84rem;color:var(--ink-soft);margin:0 0 4px}.home-active-dest{font-size:.8rem;color:var(--ink-muted);margin:0}.home-active-actions{display:flex;flex-direction:column;gap:8px;width:100%;min-width:0}.home-active-actions>a.home-act-btn{flex:none;width:100%}.home-active-actions a.home-act-btn,.home-active-actions a.home-act-btn:visited{text-decoration:none}.home-act-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;font-size:.8rem;font-weight:600;border:1px solid var(--hairline-strong);background:var(--bg-elev);color:var(--ink-soft);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease;width:100%;box-sizing:border-box;white-space:nowrap;text-align:center;line-height:1.2}@media (min-width: 881px){.home-active-actions{flex-direction:row;flex-wrap:wrap}.home-active-actions>a.home-act-btn{flex:0 1 auto;width:auto;min-width:auto}.home-act-btn{width:auto;padding:7px 12px;font-size:.78rem;white-space:normal}}.home-act-btn:hover{background:var(--bg-soft);color:var(--ink);border-color:var(--brand-soft)}.home-act-btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.home-act-btn.primary:hover{background:var(--brand-deep);border-color:var(--brand-deep);color:#fff}.home-show-all-row{margin-top:6px;display:flex;justify-content:center}.home-show-all-row a{text-decoration:none}.grid{display:grid;gap:16px}.grid.cols-2,.grid.cols-3{grid-template-columns:1fr}.grid.cols-4{grid-template-columns:1fr 1fr}@media (min-width: 640px){.grid.cols-2,.grid.cols-4{grid-template-columns:repeat(2,1fr)}}@media (min-width: 900px){.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.col{display:flex;flex-direction:column;gap:10px}.spacer{flex:1}.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--brand-tint);color:var(--brand-deep);font-size:.76rem;font-weight:700;letter-spacing:.005em;border:1px solid transparent}.pill.warm{background:var(--warm-soft);color:#92400e}.pill.good{background:var(--good-soft);color:#047857}.pill.bad{background:var(--bad-soft);color:#b91c1c}.pill.info{background:var(--info-soft);color:#075985}.pill.outline{background:transparent;border-color:var(--hairline-strong);color:var(--ink-soft)}.pill.lg{padding:6px 14px;font-size:.85rem}.empty{padding:36px 18px;text-align:center;color:var(--ink-muted);border:1.5px dashed var(--hairline-strong);border-radius:var(--radius);background:linear-gradient(0deg,#eef0fb4d,#eef0fb4d),var(--bg-elev)}.empty.compact{padding:18px 12px}.page-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:56px 16px;min-height:220px;text-align:center}.page-loader.compact{padding:28px 12px;min-height:140px;gap:10px}.page-loader-logo{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:1rem;letter-spacing:.04em;background:var(--grad-brand);box-shadow:0 10px 22px -10px #3a47c78c;animation:page-loader-pulse 1.6s ease-in-out infinite}.page-loader.compact .page-loader-logo{width:38px;height:38px;font-size:.85rem;border-radius:11px}.page-loader-bar{width:120px;height:3px;border-radius:999px;background:color-mix(in srgb,var(--brand) 18%,transparent);overflow:hidden;position:relative}.page-loader-bar:before{content:"";position:absolute;left:0;top:0;bottom:0;width:40%;background:linear-gradient(90deg,transparent,var(--brand),transparent);animation:page-loader-slide 1.2s linear infinite}.page-loader-text{font-size:.875rem;font-weight:500;letter-spacing:.02em;color:var(--ink-soft);margin:0}.page-loader-sub{font-size:.78rem;color:var(--ink-muted);margin:-6px 0 0}@keyframes page-loader-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes page-loader-slide{0%{transform:translate(-100%)}to{transform:translate(360%)}}@media (prefers-reduced-motion: reduce){.page-loader-logo{animation:none}.page-loader-bar:before{animation:none;opacity:.5}}.skeleton-card{background:var(--bg-elev);border:1px solid var(--hairline);border-radius:16px;padding:18px 20px;margin-bottom:12px;box-shadow:var(--shadow-xs)}.skeleton-line{height:12px;border-radius:6px;background:linear-gradient(90deg,color-mix(in srgb,var(--hairline) 75%,transparent),color-mix(in srgb,var(--hairline) 35%,transparent),color-mix(in srgb,var(--hairline) 75%,transparent));background-size:200% 100%;animation:skeleton-shimmer 1.4s linear infinite;margin-bottom:9px}.skeleton-line:last-child{margin-bottom:0}.skeleton-line.title{height:18px;width:55%;margin-bottom:14px}.skeleton-line.short{width:38%}.skeleton-line.medium{width:72%}.skeleton-line.long{width:92%}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.skeleton-line,.trip-skel-hero-emoji,.trip-skel-chip,.trip-skel-pill,.trip-skel-tab,.trip-skel-tab.active,.trip-skel-btn,.trip-skel-avatar,.trip-detail-skeleton-hero .skeleton-line.trip-skel-on-hero{animation:none}}.hero{background:var(--grad-brand);color:#fff;border-radius:28px;padding:48px 32px;box-shadow:var(--shadow-pop);position:relative;overflow:hidden}.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;filter:blur(40px)}.hero:before{width:280px;height:280px;background:#ffffff40;top:-80px;right:-60px}.hero:after{width:220px;height:220px;background:#fff0c866;bottom:-80px;left:-40px}.hero h1{font-size:clamp(1.8rem,3vw,2.4rem);margin:0 0 12px;font-weight:800;line-height:1.15;position:relative;z-index:2}.hero p{margin:0 0 24px;opacity:.94;max-width:540px;font-size:1.02rem;position:relative;z-index:2}.hero .actions{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:2}.hero .cta{background:#fff;color:var(--brand-deep)}.hero .cta:hover{background:#f8f9ff;color:var(--brand-deep)}.list{display:grid;gap:10px}.list .item{background:var(--bg-elev);border:1px solid var(--hairline);border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:8px;transition:border-color .12s ease,transform .12s ease,box-shadow .12s ease;min-width:0}.list .item>.row{min-width:0;width:100%}.list .item:hover{border-color:var(--brand-soft);transform:translateY(-1px);box-shadow:var(--shadow-sm);text-decoration:none}.list .item .item-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.98rem}.user-line-id-display{display:block;max-width:100%;margin-top:2px;overflow-wrap:anywhere;word-break:break-word;line-height:1.35}.trip-tile{position:relative;display:flex;flex-direction:column;gap:12px;padding:18px;border-radius:var(--radius-lg);background:var(--bg-elev);border:1px solid var(--hairline);box-shadow:var(--shadow-xs);transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease;overflow:hidden}.trip-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--brand-soft);text-decoration:none}.trip-tile .cover{height:70px;border-radius:var(--radius);margin:-18px -18px 4px;position:relative;overflow:hidden}.trip-tile .cover.muted{background:linear-gradient(135deg,#c7d2fe,#fbcfe8 70%,#fde68a)}[data-theme=dark] .trip-tile .cover.muted{background:linear-gradient(135deg,#1e2547,#2a1731 70%,#2a2310)}.trip-tile .cover .glyph{position:absolute;inset:0;background:radial-gradient(60% 60% at 80% 20%,rgba(255,255,255,.28),transparent 55%),radial-gradient(60% 60% at 20% 80%,rgba(255,255,255,.14),transparent 60%);pointer-events:none}.trip-tile .cover .cover-emoji{position:absolute;right:16px;bottom:8px;font-size:1.7rem;opacity:.8}.trip-tile .name{font-weight:800;font-size:1.05rem;letter-spacing:-.01em}.trip-tile .meta{color:var(--ink-soft);font-size:.86rem}.trip-tile .footer{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.trip-theme--sea{background:linear-gradient(135deg,#0ea5e9,#38bdf8 32%,#6366f1 68%,#818cf8)}[data-theme=dark] .trip-theme--sea{background:linear-gradient(135deg,#0c4a6e,#164e63 38%,#312e81)}.trip-theme--mountain{background:linear-gradient(135deg,#0d9488,#059669,#65a30d 72%,#ca8a04)}[data-theme=dark] .trip-theme--mountain{background:linear-gradient(135deg,#134e4a,#14532d 42%,#713f12)}.trip-theme--city{background:linear-gradient(135deg,#64748b,#475569 32%,#6d28d9 65%,#a78bfa)}[data-theme=dark] .trip-theme--city{background:linear-gradient(135deg,#1e293b,#312e81 45%,#4c1d95)}.trip-theme--adventure{background:linear-gradient(135deg,#ea580c,#dc2626 38%,#b45309 70%,#eab308)}[data-theme=dark] .trip-theme--adventure{background:linear-gradient(135deg,#7c2d12,#7f1d1d 40%,#78350f)}.trip-bg--sea{background:linear-gradient(135deg,#0ea5e9,#38bdf8 32%,#6366f1 68%,#818cf8)}[data-theme=dark] .trip-bg--sea{background:linear-gradient(135deg,#0c4a6e,#164e63 38%,#312e81)}.trip-bg--lagoon{background:linear-gradient(135deg,#06b6d4,#0891b2 40%,#0e7490)}[data-theme=dark] .trip-bg--lagoon{background:linear-gradient(135deg,#164e63,#155e75 45%,#0f766e)}.trip-bg--coral{background:linear-gradient(135deg,#fb7185,#f97316 45%,#fbbf24)}[data-theme=dark] .trip-bg--coral{background:linear-gradient(135deg,#9f1239,#9a3412,#854d0e)}.trip-bg--sunset{background:linear-gradient(135deg,#f472b6,#a855f7 40%,#fb923c)}[data-theme=dark] .trip-bg--sunset{background:linear-gradient(135deg,#831843,#4c1d95 45%,#7c2d12)}.trip-bg--sakura{background:linear-gradient(135deg,#fda4af,#f9a8d4 35%,#e9d5ff)}[data-theme=dark] .trip-bg--sakura{background:linear-gradient(135deg,#881337,#701a75 42%,#4c1d95)}.trip-bg--mountain{background:linear-gradient(135deg,#0d9488,#059669,#65a30d 72%,#ca8a04)}[data-theme=dark] .trip-bg--mountain{background:linear-gradient(135deg,#134e4a,#14532d 42%,#713f12)}.trip-bg--forest{background:linear-gradient(135deg,#166534,#15803d 40%,#22c55e 78%,#4ade80)}[data-theme=dark] .trip-bg--forest{background:linear-gradient(135deg,#052e16,#14532d,#166534)}.trip-bg--snow{background:linear-gradient(135deg,#e2e8f0,#bae6fd 45%,#7dd3fc)}[data-theme=dark] .trip-bg--snow{background:linear-gradient(135deg,#334155,#475569 40%,#0369a1)}.trip-bg--aurora{background:linear-gradient(135deg,#34d399,#22d3ee 40%,#a78bfa 75%,#c084fc)}[data-theme=dark] .trip-bg--aurora{background:linear-gradient(135deg,#065f46,#155e75 38%,#5b21b6)}.trip-bg--city{background:linear-gradient(135deg,#64748b,#475569 32%,#6d28d9 65%,#a78bfa)}[data-theme=dark] .trip-bg--city{background:linear-gradient(135deg,#1e293b,#312e81 45%,#4c1d95)}.trip-bg--neon{background:linear-gradient(135deg,#ec4899,#a855f7 35%,#06b6d4)}[data-theme=dark] .trip-bg--neon{background:linear-gradient(135deg,#831843,#6b21a8 40%,#155e75)}.trip-bg--slate{background:linear-gradient(135deg,#94a3b8,#64748b 45%,#475569)}[data-theme=dark] .trip-bg--slate{background:linear-gradient(135deg,#1e293b,#334155 55%,#0f172a)}.trip-bg--midnight{background:linear-gradient(135deg,#1e3a8a,#312e81 40%,#0f172a)}[data-theme=dark] .trip-bg--midnight{background:linear-gradient(135deg,#0f172a,#1e1b4b,#020617)}.trip-bg--adventure{background:linear-gradient(135deg,#ea580c,#dc2626 38%,#b45309 70%,#eab308)}[data-theme=dark] .trip-bg--adventure{background:linear-gradient(135deg,#7c2d12,#7f1d1d 40%,#78350f)}.trip-bg--desert{background:linear-gradient(135deg,#fcd34d,#f59e0b 45%,#d97706)}[data-theme=dark] .trip-bg--desert{background:linear-gradient(135deg,#713f12,#78350f 45%,#451a03)}.trip-bg--canyon{background:linear-gradient(135deg,#dc2626,#b91c1c,#9a3412 70%,#ca8a04)}[data-theme=dark] .trip-bg--canyon{background:linear-gradient(135deg,#450a0a,#7f1d1d 45%,#78350f)}.trip-bg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:8px;margin-top:8px}.trip-bg-pick{margin:0;padding:0;height:40px;border-radius:10px;border:2px solid transparent;cursor:pointer;box-shadow:var(--shadow-xs);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.trip-bg-pick:hover{transform:scale(1.04)}.trip-bg-pick.picked{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-tint)}.emoji-preset-grid{display:flex;flex-wrap:wrap;gap:6px;max-height:200px;overflow-y:auto;padding:4px;border-radius:12px;border:1px solid var(--hairline);background:var(--bg-soft)}.emoji-preset-btn{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;font-size:1.35rem;border-radius:10px;border:1px solid transparent;background:var(--bg-elev);cursor:pointer;padding:0;line-height:1;transition:transform .12s ease,border-color .12s ease,background-color .15s ease}.emoji-preset-btn:hover{transform:scale(1.06);border-color:var(--brand-soft);background:var(--brand-tint)}.emoji-preset-btn.picked{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-tint)}.perm-toggle-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:14px 10px 12px;border-radius:14px;border:2px solid var(--border);background:var(--bg-card);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;position:relative;text-align:center;-webkit-user-select:none;user-select:none;min-height:88px}.perm-toggle-card:hover{border-color:var(--brand-soft);box-shadow:0 2px 8px #6366f11a}.perm-toggle-card.perm-on{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 8%,var(--bg-card));box-shadow:0 2px 10px #6366f124}.perm-icon{font-size:1.45rem;line-height:1}.perm-label{font-size:.82rem;font-weight:600;color:var(--ink);line-height:1.25}.perm-state-dot{width:8px;height:8px;border-radius:50%;background:var(--border);transition:background .15s;position:absolute;top:10px;right:10px}.perm-state-dot.on{background:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 25%,transparent)}.trip-hero-cover{position:relative;min-height:116px;overflow:hidden}.trip-hero-emoji{font-size:clamp(1.85rem,5vw,2.65rem);line-height:1;filter:drop-shadow(0 2px 8px rgba(0,0,0,.35));-webkit-user-select:none;user-select:none;flex-shrink:0;align-self:center}.trip-hero-cover:before,.trip-hero-cover:after{content:"";position:absolute;border-radius:999px;filter:blur(10px)}.trip-hero-cover:before{width:220px;height:220px;right:-50px;top:-120px;background:#ffffff57}.trip-hero-cover:after{width:180px;height:180px;left:-40px;bottom:-110px;background:#ffdcaa57}.trip-hero-text{min-width:0}.trip-hero-content{position:relative;z-index:1;padding:16px 18px 18px;display:grid;grid-template-columns:1fr auto auto;gap:12px 14px;color:#fff;align-items:center}.trip-hero-kicker{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;opacity:.92}.trip-hero-title{font-size:clamp(1.05rem,2vw,1.35rem);font-weight:800;letter-spacing:-.015em;line-height:1.2;margin-top:6px}.trip-hero-meta{margin-top:8px;font-size:.84rem;opacity:.95;line-height:1.35}.trip-hero-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px;align-self:center}@media (max-width: 720px){.trip-hero-content{grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:start}.trip-hero-text{grid-column:1;grid-row:1}.trip-hero-emoji{grid-column:2;grid-row:1;align-self:start;padding-top:2px}.trip-hero-actions{grid-column:1 / -1;grid-row:2;align-items:flex-start;flex-direction:row;flex-wrap:wrap;align-self:stretch}}.join-invite-card{padding:0;max-width:520px;margin:24px auto;overflow:hidden}.join-invite-card.family-invite-shell{overflow:visible}.join-trip-meta-pills{flex-wrap:wrap;gap:8px;margin-bottom:14px}.join-trip-line-pill{max-width:min(220px,100%)}.join-trip-family-hint{font-size:.88rem;margin:0 0 14px;line-height:1.55}.join-trip-family-hint a{font-weight:600}.family-invite-shell.card{position:relative;overflow:visible;border:1px solid color-mix(in srgb,var(--brand) 32%,var(--hairline-strong));box-shadow:var(--shadow-md),0 0 0 1px color-mix(in srgb,#fff 50%,transparent) inset,0 20px 50px color-mix(in srgb,var(--brand) 22%,transparent),0 12px 32px color-mix(in srgb,#ec4899 12%,transparent)}[data-theme=dark] .family-invite-shell.card{border-color:color-mix(in srgb,var(--brand) 38%,var(--hairline-strong));box-shadow:var(--shadow-lg),0 0 0 1px #ffffff0f inset,0 20px 48px color-mix(in srgb,var(--brand) 25%,transparent)}.family-invite-root{display:flex;flex-direction:column;border-radius:inherit;overflow:hidden}.family-invite-hero{position:relative;min-height:172px}.family-invite-shimmer{position:absolute;inset:0;z-index:2;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.18) 42%,transparent 68%);background-size:220% 100%;animation:family-invite-shimmer-move 3.8s ease-in-out infinite;pointer-events:none}@keyframes family-invite-shimmer-move{0%,to{background-position:120% 0}50%{background-position:-20% 0}}.family-invite-bokeh{position:absolute;inset:0;z-index:0;opacity:.65;pointer-events:none;background-image:radial-gradient(circle at 14% 24%,rgba(255,255,255,.45) 0,transparent 32%),radial-gradient(circle at 86% 22%,rgba(253,224,71,.35) 0,transparent 28%),radial-gradient(circle at 72% 88%,rgba(255,255,255,.22) 0,transparent 26%),radial-gradient(circle at 40% 78%,rgba(167,139,250,.25) 0,transparent 22%)}.family-invite-ribbon{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:5;font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#fff;padding:7px 15px;border-radius:999px;background:linear-gradient(180deg,#ffffff38,#0000001f);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.45);box-shadow:0 4px 16px #00000026,0 0 24px #ffffff1f;max-width:calc(100% - 36px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.family-invite-hero-content{align-items:center;grid-template-columns:1fr auto;position:relative;z-index:3;padding-top:44px}.family-invite-house-name{font-size:clamp(1.25rem,3.5vw,1.75rem);margin-top:8px;text-shadow:0 2px 20px rgba(0,0,0,.35),0 0 40px rgba(255,255,255,.15);letter-spacing:-.02em}.family-invite-hero-emoji{font-size:clamp(2.2rem,6.5vw,3.15rem);filter:drop-shadow(0 4px 14px rgba(0,0,0,.28));animation:family-invite-float 3s ease-in-out infinite}@keyframes family-invite-float{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-8px) rotate(4deg)}}.family-invite-footer{position:relative;padding:22px 22px 24px;background:linear-gradient(180deg,color-mix(in srgb,var(--brand-soft) 65%,var(--bg-elev)) 0%,var(--bg-elev) 55%,color-mix(in srgb,var(--teal) 6%,var(--bg-elev)) 100%);border-top:1px solid color-mix(in srgb,var(--brand) 15%,var(--hairline))}[data-theme=dark] .family-invite-footer{background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 14%,var(--bg-elev)) 0%,var(--bg-elev) 100%)}.family-invite-tagline-box{padding:15px 16px;margin-bottom:16px;border-radius:var(--radius);background:linear-gradient(135deg,color-mix(in srgb,var(--brand-soft) 85%,var(--bg-elev)) 0%,var(--bg-elev) 70%);border:1px solid var(--hairline);border-left:4px solid var(--line-brand);box-shadow:var(--shadow-xs)}[data-theme=dark] .family-invite-tagline-box{background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 12%,var(--bg-soft)) 0%,var(--bg-elev) 100%);border-left-color:#4ade80}.family-invite-tagline{margin:0;font-size:.9rem;line-height:1.6;font-weight:500;color:var(--ink);text-align:center}[data-theme=dark] .family-invite-tagline{color:var(--ink-soft)}.family-invite-actions{display:flex;flex-direction:column;gap:12px}.family-invite-btn-primary{width:100%;justify-content:center;padding:14px 18px;font-size:1.02rem;font-weight:700;border-radius:var(--radius-sm);border:none;color:#fff;cursor:pointer;background:linear-gradient(125deg,#5b6cf2,#7c3aed,#2563eb 90%,#5b6cf2);background-size:240% auto;animation:family-invite-cta-shine 5s ease infinite;box-shadow:0 6px 22px color-mix(in srgb,var(--brand) 45%,transparent),0 0 0 1px #ffffff1f inset;transition:filter .15s ease,transform .12s ease}@keyframes family-invite-cta-shine{0%,to{background-position:0% center}50%{background-position:100% center}}.family-invite-btn-primary:hover:not(:disabled){filter:brightness(1.08) saturate(1.05);transform:translateY(-1px)}.family-invite-btn-primary:active:not(:disabled){transform:translateY(0)}.family-invite-btn-primary:disabled{opacity:.65;cursor:not-allowed;animation:none}.family-invite-btn-login{width:100%;justify-content:center;padding:14px 18px;font-size:1.02rem;font-weight:700;border-radius:var(--radius-sm);border:2px solid color-mix(in srgb,#ea580c 55%,var(--hairline-strong));cursor:pointer;color:#fff;background:linear-gradient(125deg,#fb923c,#ea580c 48%,#f97316);box-shadow:0 6px 20px color-mix(in srgb,#ea580c 35%,transparent),0 0 0 1px #ffffff1a inset;transition:filter .15s ease,transform .12s ease}.family-invite-btn-login:hover:not(:disabled){filter:brightness(1.06) saturate(1.04);transform:translateY(-1px)}.family-invite-btn-login:active:not(:disabled){transform:translateY(0)}.family-invite-btn-home{width:100%;justify-content:center;padding:12px 18px;font-size:.95rem;font-weight:600;border-radius:var(--radius-sm);cursor:pointer;background:color-mix(in srgb,var(--bg-elev) 92%,var(--brand-soft));color:var(--ink-soft);border:1.5px solid var(--hairline-strong);transition:background .15s ease,border-color .15s ease,color .15s ease}.family-invite-btn-home:hover{background:var(--bg-soft);border-color:color-mix(in srgb,var(--brand) 35%,var(--hairline-strong));color:var(--ink)}@media (prefers-reduced-motion: reduce){.family-invite-shimmer,.family-invite-hero-emoji,.family-invite-btn-primary{animation:none!important}}.trip-detail-skeleton-hero{position:relative;min-height:132px;background:linear-gradient(118deg,color-mix(in srgb,var(--brand) 52%,var(--bg-elev)),color-mix(in srgb,#0ea5e9 40%,var(--bg-tinted)) 42%,color-mix(in srgb,var(--brand) 38%,var(--bg-soft)))}.trip-detail-skeleton-hero .skeleton-line.trip-skel-on-hero{opacity:1;background:linear-gradient(90deg,#ffffff24,#ffffff52 48%,#ffffff24);background-size:200% 100%}[data-theme=dark] .trip-detail-skeleton-hero .skeleton-line.trip-skel-on-hero{background:linear-gradient(90deg,#ffffff1a,#ffffff42 48%,#ffffff1a);background-size:200% 100%}.trip-skel-hero-emoji{width:48px;height:48px;border-radius:14px;flex-shrink:0;align-self:center;background:linear-gradient(90deg,#ffffff29,#ffffff5c 48%,#ffffff29);background-size:200% 100%;animation:skeleton-shimmer 1.35s linear infinite;box-shadow:0 2px 12px #0000001f}.trip-skel-chip{height:30px;width:84px;border-radius:999px;background:linear-gradient(90deg,#fff3,#ffffff6b 48%,#fff3);background-size:200% 100%;animation:skeleton-shimmer 1.35s linear infinite}.trip-skel-chip.wide{width:118px}.trip-skel-chip.pill{width:72px;height:34px}.trip-skel-pill-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.trip-skel-pill{height:28px;width:88px;border-radius:999px;border:1px solid var(--hairline);background:linear-gradient(90deg,color-mix(in srgb,var(--bg-soft) 88%,var(--hairline)),color-mix(in srgb,var(--bg-elev) 75%,var(--hairline)),color-mix(in srgb,var(--bg-soft) 88%,var(--hairline)));background-size:200% 100%;animation:skeleton-shimmer 1.35s linear infinite}.trip-skel-pill.short{width:64px}.trip-skel-tab{flex:1;min-width:100px;min-height:38px;border-radius:10px;display:block;background:linear-gradient(90deg,var(--bg-soft) 0%,var(--bg-elev) 45%,var(--bg-soft) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.35s linear infinite}.trip-skel-tab.active{background:linear-gradient(90deg,color-mix(in srgb,var(--bg-elev) 88%,var(--brand) 8%),color-mix(in srgb,var(--bg-elev) 70%,var(--brand) 18%),color-mix(in srgb,var(--bg-elev) 88%,var(--brand) 8%));background-size:200% 100%}.trip-skel-btn{height:36px;min-width:100px;border-radius:10px;background:linear-gradient(90deg,var(--bg-soft) 0%,var(--bg-elev) 48%,var(--bg-soft) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.35s linear infinite}.trip-skel-member-row{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}.trip-skel-member-row:last-child{margin-bottom:0}.trip-skel-avatar{width:40px;height:40px;border-radius:999px;flex-shrink:0;background:linear-gradient(90deg,var(--bg-soft) 0%,var(--bg-elev) 48%,var(--bg-soft) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.35s linear infinite}.kpi{display:flex;align-items:baseline;gap:6px}.kpi .num{font-size:1.55rem;font-weight:800;letter-spacing:-.02em}.kpi .lbl{color:var(--ink-soft);font-size:.85rem}.tabbar{display:flex;gap:4px;background:var(--bg-soft);padding:4px;border-radius:14px;border:1px solid var(--hairline);flex-wrap:wrap}.tabbar a,.tabbar button{flex:1;min-width:110px;text-align:center;background:transparent;color:var(--ink-soft);font-weight:600;border:0;padding:8px 12px;font-size:.92rem;border-radius:10px;box-shadow:none}.tabbar a:hover,.tabbar button:hover{background:var(--bg-elev);color:var(--ink);transform:none;opacity:.95}.tabbar a.active,.tabbar button.active{background:var(--bg-elev);color:var(--brand-deep);box-shadow:var(--shadow-xs)}.block-ui{position:fixed;inset:0;width:100%;max-width:none;height:100%;min-height:100vh;min-height:100dvh;min-height:-webkit-fill-available;margin:0;box-sizing:border-box;z-index:var(--z-block-ui);background:#0b122073;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;animation:blockui-in .18s ease both}@keyframes blockui-in{0%{opacity:0;backdrop-filter:blur(0)}to{opacity:1;backdrop-filter:blur(6px)}}body.ft-itin-modal-open main.app-main,body.ft-poll-dialog-open main.app-main{position:relative;z-index:var(--z-itin-modal-panel)}body.ft-itin-modal-open .app-header,body.ft-poll-dialog-open .app-header,body.ft-itin-modal-open .bottom-nav,body.ft-poll-dialog-open .bottom-nav{z-index:1}.block-ui-box{background:var(--bg-elev);border:1px solid var(--hairline);border-radius:20px;padding:28px 36px;display:flex;flex-direction:column;align-items:center;gap:16px;box-shadow:0 24px 64px #00000038,0 4px 16px #00000014;min-width:220px;animation:blockui-box-in .22s cubic-bezier(.34,1.56,.64,1) both}@keyframes blockui-box-in{0%{transform:scale(.82) translateY(12px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.block-ui-spinner{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:1rem;letter-spacing:.04em;background:var(--grad-brand);box-shadow:0 10px 22px -10px #3a47c78c;animation:page-loader-pulse 1.6s ease-in-out infinite}.block-ui-spinner:before{content:"FT"}.block-ui-msg{font-size:.95rem;font-weight:600;color:var(--ink);text-align:center;line-height:1.4}.inline-edit-form{background:var(--bg-tinted);border:1.5px solid var(--brand-soft);border-radius:12px;padding:16px;animation:fade-in .15s ease both}@keyframes fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.inline-edit-title{font-weight:800;font-size:.92rem;color:var(--brand-deep);margin-bottom:12px}.share-section{margin-top:18px;border:1px solid var(--hairline);border-radius:12px;overflow:hidden}.share-header{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-soft);border-bottom:1px solid var(--hairline);flex-wrap:wrap}.share-title{font-weight:700;font-size:.88rem;color:var(--ink)}.share-hint{font-size:.8rem;color:var(--ink-muted);margin-left:auto}.share-hint.warn{color:var(--bad);font-weight:600}.share-hint.ok{color:var(--good);font-weight:600}.share-rows{padding:6px 8px;display:flex;flex-direction:column;gap:2px}.share-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 12px;padding:8px;border-radius:8px;transition:background .12s}.share-row:hover{background:var(--bg-soft)}.share-check-label{display:flex;align-items:center;gap:8px;cursor:pointer;min-width:0;max-width:100%;overflow:hidden;font-size:.9rem;line-height:1.4}.share-check-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--brand);flex-shrink:0;margin-top:2px}.share-family-name{font-weight:600;color:var(--ink);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4}.share-amount-wrap{display:flex;align-items:center;gap:5px;flex-shrink:0;justify-self:end;max-width:100%}.share-amount-input{width:88px!important;max-width:100%;text-align:right;font-weight:700;padding:5px 8px!important;font-size:.9rem!important}body.display-compact .share-amount-input{width:72px!important;padding:5px 6px!important}.share-unit{font-size:.82rem;color:var(--ink-muted);white-space:nowrap}.share-auto-label{font-size:.82rem;color:var(--ink-muted);white-space:nowrap;justify-self:end}.tabbar.subtab{border-radius:10px;background:var(--bg-elev);border:1px solid var(--hairline);margin-bottom:4px}.tabbar.subtab button{min-width:0;flex:unset}.exp-toolbar{display:flex;flex-direction:column;gap:0;align-items:stretch;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--hairline)}.exp-toolbar>.exp-kpi-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 14px 16px;margin:0 0 14px;border-radius:14px;border:1px solid color-mix(in srgb,var(--brand) 32%,var(--hairline));background:linear-gradient(160deg,color-mix(in srgb,var(--brand) 14%,var(--bg-elev)) 0%,var(--bg-elev) 48%,color-mix(in srgb,var(--brand-soft) 55%,var(--bg-elev)) 100%);box-shadow:0 4px 18px #0f172a0f}.exp-kpi{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:78px;padding:12px 10px;border-radius:12px;background:var(--bg-elev);border:1px solid var(--hairline);text-align:center}.exp-kpi-num{font-size:1.55rem;font-weight:800;color:var(--brand-deep);line-height:1;letter-spacing:-.02em}@supports (-webkit-background-clip: text) or (background-clip: text){.exp-kpi-total .exp-kpi-num{color:transparent;background:linear-gradient(120deg,var(--brand-deep),color-mix(in srgb,var(--brand) 70%,var(--ink)));-webkit-background-clip:text;background-clip:text}}.exp-kpi-lbl{font-size:.7rem;color:var(--ink-muted);font-weight:600;text-transform:uppercase;letter-spacing:.07em}.exp-toolbar-body{display:flex;flex-direction:column;gap:14px}.exp-toolbar-toggle{display:none}.exp-toolbar-toggle-chevron{font-size:.65rem;opacity:.75}@media (max-width: 767px){.exp-toolbar-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;margin:0 0 12px;padding:10px 14px;font-weight:700;font-size:.88rem;border-radius:11px;border:1.5px solid var(--hairline);background:var(--bg-elev);color:var(--ink)}.exp-toolbar-body.exp-toolbar-body--collapsed{display:none!important}}.exp-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;width:100%}.exp-filters .filter-group select{width:100%;min-width:0;padding:11px 12px;font-size:.9rem;border-radius:11px;border:1.5px solid var(--hairline);background:var(--bg-elev);font-weight:600;color:var(--ink)}.exp-filters .filter-group select:focus{outline:none;border-color:color-mix(in srgb,var(--brand) 55%,var(--hairline));box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 22%,transparent)}.exp-controls{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin-left:0;padding-top:4px}.exp-controls .exp-view-toggle{flex:1 1 auto;min-width:min(100%,220px);border-radius:11px;overflow:hidden;border:1.5px solid var(--hairline);box-shadow:0 1px 3px #0f172a0a}.exp-controls .exp-view-toggle button{padding:11px 12px;font-size:.86rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:6px}.exp-view-icon{font-size:1.05rem;opacity:.9}.exp-controls .exp-page-size{flex:0 1 140px;min-width:118px}.exp-controls .exp-page-size select{width:100%;padding:11px 10px;font-size:.88rem;border-radius:11px;font-weight:600}.exp-add-more-toggle{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:100%;margin-top:12px;font-weight:700}.exp-add-more-fields{margin-top:12px}.filter-group{display:flex;flex-direction:column;gap:3px}.filter-group select{min-width:140px}.filter-label{font-size:.78rem;font-weight:600;color:var(--ink-muted)}.exp-toolbar .filter-group{gap:5px}.exp-toolbar .filter-label{font-size:.72rem;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em}.btn-group{display:flex;border-radius:8px;overflow:hidden;border:1px solid var(--hairline)}.btn-group button{border-radius:0;border:0;background:var(--bg-soft);color:var(--ink-soft);font-size:.82rem;padding:6px 12px;flex:1;font-weight:600;box-shadow:none;min-width:0}.btn-group button:hover{background:var(--brand-soft);color:var(--brand-deep);transform:none}.btn-group button.active{background:var(--brand);color:#fff}.btn-group button+button{border-left:1px solid var(--hairline)}@media (min-width: 768px){.exp-toolbar{flex-direction:row;flex-wrap:wrap;align-items:flex-end;gap:14px 22px}.exp-toolbar>.exp-kpi-row{margin:0;padding:0;border:none;box-shadow:none;background:transparent;display:flex;flex-direction:row;align-items:flex-end;gap:22px}.exp-kpi{min-height:0;padding:0;background:transparent;border:none;align-items:flex-start;text-align:left}.exp-toolbar .exp-kpi-lbl{text-transform:none;letter-spacing:normal;font-size:.75rem;font-weight:500}.exp-toolbar-body{flex:1 1 320px;flex-direction:row;flex-wrap:wrap;align-items:flex-end;justify-content:flex-end;gap:12px 18px}.exp-filters{flex:1 1 260px;display:flex;flex-wrap:wrap;max-width:440px}.exp-filters .filter-group select{width:auto;min-width:140px;padding:8px 10px;font-size:.86rem;border-radius:8px;border-width:1px;font-weight:600}.exp-controls{flex:0 0 auto;padding-top:0;margin-left:0}.exp-controls .exp-view-toggle{min-width:0;border-radius:8px}.exp-controls .exp-view-toggle button{padding:6px 12px;font-size:.82rem;font-weight:600}.exp-controls .exp-page-size select{padding:8px 10px;font-size:.84rem;border-radius:8px}}.exp-table-wrap{overflow-x:auto;margin:0 -2px}.exp-table{width:100%;border-collapse:collapse;font-size:.88rem}.exp-table th{background:var(--bg-soft);color:var(--ink-muted);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;padding:8px 12px;text-align:left;border-bottom:2px solid var(--hairline);white-space:nowrap}.exp-table td{padding:10px 12px;border-bottom:1px solid var(--hairline);vertical-align:middle}.exp-table tbody tr:last-child td{border-bottom:none}.exp-table tbody tr:hover td{background:var(--bg-tinted)}.exp-table tfoot td{padding:10px 12px;border-top:2px solid var(--hairline);background:var(--bg-soft)}.exp-table .nowrap{white-space:nowrap}.pagination{display:flex;align-items:center;gap:4px;margin-top:16px;flex-wrap:wrap}.pagination button{min-width:34px;height:34px;padding:0 8px;font-size:.85rem;font-weight:600;border-radius:8px;background:var(--bg-soft);color:var(--ink-soft);border:1px solid var(--hairline);box-shadow:none}.pagination button:hover{background:var(--brand-soft);color:var(--brand-deep);transform:none}.pagination button:disabled{opacity:.35;cursor:default}.heatmap{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(2px,1.2vw,8px);width:100%;max-width:100%;min-width:0;box-sizing:border-box;touch-action:none;-webkit-tap-highlight-color:transparent}.heatmap.heatmap-weekdays{margin-bottom:clamp(2px,.4vw,6px)}.heatmap .weekday-label{text-align:center;color:var(--ink-soft);font-weight:700;font-size:clamp(.62rem,2.8vw,.92rem);line-height:1.1;padding:0 0 2px;min-width:0;overflow:hidden;text-overflow:ellipsis}.heatmap .cell{aspect-ratio:1 / 1;min-width:0;overflow:hidden;background:var(--brand-tint);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:clamp(3px,1.5vw,9px);font-size:clamp(.62rem,2.6vw,.9rem);color:var(--brand-deep);cursor:pointer;transition:transform .08s ease,box-shadow .12s ease;-webkit-user-select:none;user-select:none;touch-action:none}.heatmap .cell:has(.count){padding-bottom:clamp(14px,4.2vw,22px)}.heatmap .cell:hover{transform:scale(1.05);box-shadow:var(--shadow-xs)}.heatmap .cell.empty{background:var(--bg-soft);color:var(--ink-muted);cursor:default}.heatmap .cell.me-yes{box-shadow:inset 0 0 0 2.5px var(--good)}.heatmap .cell.me-no{box-shadow:inset 0 0 0 2.5px var(--bad)}.heatmap .cell.weekend{background-color:#dbeafe}.heatmap .cell.th-holiday{background-color:#fff3e0!important;position:relative}.heatmap .cell.th-holiday:after{content:"\1f38c";position:absolute;top:2px;right:3px;font-size:.52rem;line-height:1;opacity:.85}.heatmap .cell.out-of-range{background-color:#f1f5f9!important;opacity:.45;cursor:not-allowed!important;pointer-events:none}.heatmap .cell.out-of-range:hover{transform:none;box-shadow:none}.holiday-list{margin-top:10px;display:flex;flex-direction:column;gap:4px}.holiday-item{display:flex;align-items:center;gap:10px;font-size:.83rem;padding:3px 6px;border-radius:6px;background:#fff8ec;border-left:3px solid #fbbf24}.holiday-date{font-weight:700;color:var(--amber);white-space:nowrap;min-width:36px}.holiday-name{color:var(--ink-soft)}.month-block{margin-bottom:28px;min-width:0;width:100%;max-width:100%}.month-block-title{font-size:1rem;font-weight:800;color:var(--brand-deep);margin-bottom:8px;display:flex;align-items:center;gap:8px}.month-block-range-label{font-size:.78rem;font-weight:500;color:var(--ink-muted);padding:2px 8px;border-radius:20px;background:var(--brand-soft)}.trip-avail-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}.trip-avail-header__title{flex:1 1 auto;min-width:0}.trip-avail-header__title .card-title{margin-bottom:0}.trip-avail-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;flex:0 1 auto;min-width:0}.trip-avail-toolbar__checks{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.trip-avail-check{display:flex;align-items:center;gap:5px;font-size:.83rem;cursor:pointer;white-space:nowrap;margin:0}.trip-avail-save{flex:0 0 auto}.trip-avail-month-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px}.trip-avail-month-nav{display:flex;align-items:center;justify-content:center;gap:8px;flex:1 1 200px;min-width:0}.trip-avail-month-label{flex:1;min-width:0;text-align:center;font-size:1rem}.trip-avail-filter{flex:1 1 220px;min-width:0}.trip-avail-range-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;font-size:.83rem}.trip-avail-range-text{flex:1 1 180px;min-width:0;display:flex;align-items:center;gap:6px}@media (max-width: 640px){.trip-avail-header{flex-direction:column;align-items:stretch;gap:6px;margin-bottom:8px}.trip-avail-header__title{flex:none}.trip-avail-toolbar{width:100%;flex-direction:column;align-items:stretch;flex:none}.trip-avail-save{width:100%}.trip-avail-month-bar,.trip-avail-range-bar{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:8px}.trip-avail-month-nav{width:100%;flex:none;justify-content:space-between}.trip-avail-filter{width:100%;flex:none}}body.display-compact app-trip-detail .trip-avail-header{flex-direction:column;align-items:stretch;gap:6px;margin-bottom:8px}body.display-compact app-trip-detail .trip-avail-header__title{flex:none}body.display-compact app-trip-detail .trip-avail-toolbar{width:100%;flex-direction:column;align-items:stretch;flex:none}body.display-compact app-trip-detail .trip-avail-save{width:100%}body.display-compact app-trip-detail .trip-avail-month-bar,body.display-compact app-trip-detail .trip-avail-range-bar{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:8px}body.display-compact app-trip-detail .trip-avail-month-nav{width:100%;flex:none;justify-content:space-between}body.display-compact app-trip-detail .trip-avail-filter{width:100%;flex:none}.cal-legend{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:10px;font-size:.8rem;color:var(--ink-soft)}.cal-legend-item{display:flex;align-items:center;gap:5px}.cal-legend-dot{width:12px;height:12px;border-radius:3px;flex-shrink:0}.cal-legend-dot.weekend{background:#dbeafe;border:1px solid #93c5fd}.cal-legend-dot.holiday{background:#fff3e0;border:1px solid #fcd34d}.cal-legend-dot.oor{background:#f1f5f9;border:1px solid #cbd5e1;opacity:.5}[data-theme=dark] .heatmap .cell.weekend{background-color:#1a2f4a!important;color:#c7dbff}[data-theme=dark] .heatmap .cell.weekend .day{color:#dbeafe}[data-theme=dark] .heatmap .cell.weekend .count{color:#e8f0ff}[data-theme=dark] .heatmap .cell.th-holiday{background-color:#3b2a12!important;color:#fde68a}[data-theme=dark] .heatmap .cell.th-holiday .day{color:#fef3c7}[data-theme=dark] .heatmap .cell.th-holiday .count{color:#fef9c3}[data-theme=dark] .heatmap .cell.out-of-range{background-color:#12172c!important;opacity:.5}[data-theme=dark] .holiday-item{background:var(--bg-tinted);border-left-color:var(--warm)}[data-theme=dark] .holiday-date{color:#fcd34d}[data-theme=dark] .cal-legend-dot.weekend{background:#1a2f4a;border-color:#3d5a80}[data-theme=dark] .cal-legend-dot.holiday{background:#3b2a12;border-color:#b45309}[data-theme=dark] .cal-legend-dot.oor{background:#12172c;border-color:#353d6d;opacity:.7}.heatmap .cell .count{position:absolute;left:50%;bottom:clamp(2px,1.2vw,7px);transform:translate(-50%);width:100%;padding:0 2px;box-sizing:border-box;text-align:center;font-size:clamp(.52rem,2.2vw,.95rem);font-weight:700;color:var(--ink);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.heatmap .cell .day{color:var(--ink-soft);font-weight:800;font-size:clamp(.72rem,4.2vw,1.55rem);line-height:1;flex-shrink:0;pointer-events:none}.avatar-circle{width:32px;height:32px;border-radius:50%;background:var(--grad-brand);display:inline-grid;place-items:center;color:#fff;font-weight:700;font-size:.85rem;flex-shrink:0}.avatar-circle.lg{width:44px;height:44px;font-size:1rem}.settlement-pay-card{overflow:hidden}.settlement-pay-row{display:flex;align-items:flex-start;flex-wrap:wrap;gap:clamp(10px,3vw,14px);width:100%;min-width:0;box-sizing:border-box}.settlement-pay-qr-col{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:6px;width:min(148px,36vw);min-width:0}.settlement-pay-qr-img.qr-preview{width:100%;max-width:140px;height:auto;display:block;box-sizing:border-box}.settlement-pay-qr-hint{font-size:.72rem;text-align:center;line-height:1.25;max-width:100%;padding:0 2px;hyphens:auto}.settlement-recipient-details{flex:1 1 190px;min-width:min(190px,100%);overflow:hidden;overflow-wrap:break-word;word-break:break-word;padding-inline-end:6px;text-align:start}.settlement-recipient-section-kicker{margin-bottom:10px}.settlement-recipient-row{display:flex;flex-direction:row;align-items:flex-start;gap:12px;margin-bottom:14px}.settlement-recipient-row:last-of-type{margin-bottom:0}.settlement-recipient-brand{flex-shrink:0}.settlement-recipient-abbr{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 8px;border-radius:10px;font-size:.68rem;font-weight:800;color:#fff;letter-spacing:.04em;text-shadow:0 1px 2px rgba(0,0,0,.2)}.settlement-recipient-brand-emoji{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;font-size:1.25rem;border-radius:10px;background:var(--bg-soft);border:1px solid var(--hairline);box-sizing:border-box}.settlement-recipient-brand--pp{display:flex;align-items:center;justify-content:center}.settlement-recipient-pp-mark{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;font-size:1.2rem;border-radius:10px;background:color-mix(in srgb,var(--good, #10b981) 14%,var(--bg-elev));border:1px solid color-mix(in srgb,var(--good, #10b981) 38%,var(--hairline));box-sizing:border-box}.settlement-recipient-kvs{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.settlement-kv{display:flex;flex-direction:column;gap:2px}.settlement-kv-label{font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);line-height:1.25}.settlement-kv-value{font-size:.9rem;font-weight:600;color:var(--ink);line-height:1.4}.settlement-kv-value--mono{letter-spacing:.04em;font-variant-numeric:tabular-nums}.settlement-recipient-note{margin-top:12px;padding-top:10px;border-top:1px dashed var(--hairline);font-size:.84rem;line-height:1.45}.settlement-recipient-details>div,.settlement-recipient-details strong{max-width:100%}.qr-preview{max-width:140px;border-radius:14px;border:1px solid var(--hairline);background:var(--bg-elev);padding:8px}.muted{color:var(--ink-muted)}.soft{color:var(--ink-soft)}.bold{font-weight:700}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hr{height:1px;background:var(--hairline);margin:18px 0;border:0}.choice{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;border:1px solid var(--hairline);background:var(--bg-elev);cursor:pointer;transition:border-color .12s ease,background-color .12s ease;-webkit-user-select:none;user-select:none}.choice:hover{border-color:var(--brand-soft);background:var(--brand-tint)}.choice input{accent-color:var(--brand)}.choice.active{border-color:var(--brand);background:var(--brand-tint)}.choice .title{font-weight:700;font-size:.95rem}.choice .desc{font-weight:400;color:var(--ink-soft);font-size:.85rem}.icon-toggle{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--bg-elev);border:1px solid var(--hairline);color:var(--ink);cursor:pointer;padding:0;font-size:1rem;transition:background-color .15s ease,transform .12s ease,border-color .15s ease;box-shadow:var(--shadow-xs)}.icon-toggle:hover{background:var(--bg-soft);border-color:var(--hairline-strong);transform:none}.icon-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.icon-toggle.lang{font-size:.78rem;font-weight:800;letter-spacing:.04em}.seg-toggle{position:relative;display:inline-flex;align-items:stretch;background:var(--bg-elev);border:1px solid var(--hairline);border-radius:999px;padding:3px;box-shadow:var(--shadow-xs);isolation:isolate;-webkit-user-select:none;user-select:none;height:38px;box-sizing:border-box}.seg-toggle:before{content:"";position:absolute;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);border-radius:999px;background:var(--brand);box-shadow:0 1px 4px #0000002e;transition:transform .25s cubic-bezier(.4,.05,.2,1);z-index:0}.seg-toggle[data-active="1"]:before{transform:translate(100%)}.seg-toggle .seg{position:relative;z-index:1;display:inline-grid;place-items:center;flex:1 1 0;min-width:38px;height:30px;padding:0 12px;background:transparent;border:0;border-radius:999px;color:var(--ink-muted);cursor:pointer;font-size:.92rem;font-weight:600;letter-spacing:.04em;transition:color .18s ease}.seg-toggle .seg:hover:not(.active){color:var(--ink)}.seg-toggle .seg.active{color:#fff}.seg-toggle .seg:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:999px}.seg-toggle.lang .seg{font-size:.78rem;font-weight:800;letter-spacing:.06em}.seg-toggle.theme .seg{font-size:1rem;padding:0 8px}.seg-toggle.theme .seg.active{filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}.seg-toggle.compact{height:32px;padding:2px}.seg-toggle.compact:before{top:2px;bottom:2px;left:2px;width:calc(50% - 2px)}.seg-toggle.compact .seg{height:26px;min-width:30px;padding:0 8px;font-size:.7rem}.seg-toggle.compact.theme .seg{font-size:.85rem;padding:0 6px}.search-bar{position:relative;display:flex;align-items:center;width:100%}.search-bar .icon{position:absolute;left:14px;color:var(--ink-muted);pointer-events:none;display:grid;place-items:center}.search-bar input{padding-left:42px!important;padding-right:80px!important}.search-bar .clear-btn{position:absolute;right:8px;width:auto;height:28px;padding:0 10px;border-radius:999px;font-size:.78rem;background:var(--bg-soft);color:var(--ink-soft);border:0;box-shadow:none;cursor:pointer}.search-bar .clear-btn:hover{background:var(--hairline);color:var(--ink);transform:none}.trip-row{display:grid;grid-template-columns:92px 1fr auto;gap:16px;align-items:center;padding:14px 16px;border-radius:var(--radius-lg);background:var(--bg-elev);border:1px solid var(--hairline);box-shadow:var(--shadow-xs);transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background-color .15s ease;text-decoration:none;color:inherit;position:relative;overflow:hidden}.trip-row:hover{transform:translateY(-1px);border-color:var(--brand-soft);box-shadow:var(--shadow-sm);text-decoration:none}.trip-row .thumb{position:relative;height:72px;border-radius:14px;display:grid;place-items:center;color:#fff;overflow:hidden}.trip-row .thumb.muted{background:linear-gradient(135deg,#c7d2fe,#fbcfe8 70%,#fde68a);color:#1f2937}[data-theme=dark] .trip-row .thumb.muted{background:linear-gradient(135deg,#1e2547,#2a1731 70%,#2a2310);color:#e7eaf5}.trip-row .thumb .emoji{font-size:1.9rem;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25))}.trip-row .thumb .glyph{position:absolute;inset:0;background:radial-gradient(60% 60% at 80% 20%,rgba(255,255,255,.32),transparent 55%),radial-gradient(60% 60% at 20% 80%,rgba(255,255,255,.18),transparent 60%);pointer-events:none}.trip-row .body{min-width:0;display:flex;flex-direction:column;gap:6px}.trip-row .title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.trip-row .name{font-weight:800;font-size:1.05rem;letter-spacing:-.01em}.trip-row .meta-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:var(--ink-soft);font-size:.86rem}.trip-row .meta-row .dot{width:4px;height:4px;border-radius:50%;background:var(--ink-muted);display:inline-block}.trip-row .meta-row .item{display:inline-flex;align-items:center;gap:6px}.trip-row .pills{display:flex;gap:6px;flex-wrap:wrap}.trip-row .right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:0}.trip-row .right .open-cta{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--brand-tint);color:var(--brand-deep);font-weight:700;font-size:.82rem;border:1px solid var(--brand-soft);transition:background-color .15s ease,transform .12s ease}.trip-row:hover .right .open-cta{background:var(--brand);color:#fff;border-color:var(--brand)}@media (max-width: 720px){.trip-row{grid-template-columns:64px 1fr;padding:12px;gap:12px}.trip-row .thumb{height:64px}.trip-row .right{grid-column:1 / -1;flex-direction:row;align-items:center;justify-content:space-between}}.pagination{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:18px;flex-wrap:wrap}.pagination button{background:var(--bg-elev);color:var(--ink);border:1px solid var(--hairline);border-radius:10px;padding:6px 12px;font-size:.88rem;font-weight:600;box-shadow:none;min-width:38px}.pagination button:hover{background:var(--bg-soft);border-color:var(--hairline-strong);transform:none}.pagination button.active{background:var(--brand);color:#fff;border-color:var(--brand)}.pagination button:disabled{background:var(--bg-soft);color:var(--ink-muted);cursor:not-allowed;opacity:.6}.pagination .ellipsis-gap{color:var(--ink-muted);padding:0 4px}.cat-combo{position:relative}.cat-combo-row{display:flex;align-items:center;gap:6px;border:1.5px solid var(--hairline-strong);border-radius:10px;background:var(--bg-elev);padding:0 10px;cursor:text;transition:border-color .15s}.cat-combo-row:focus-within{border-color:var(--brand)}.cat-icon{font-size:1.15rem;flex-shrink:0;-webkit-user-select:none;user-select:none}.cat-input{flex:1;border:none;background:transparent;padding:9px 0;font-size:.92rem;outline:none;color:var(--ink);min-width:0}.cat-caret{font-size:.72rem;color:var(--ink-muted);transition:transform .18s;-webkit-user-select:none;user-select:none;flex-shrink:0}.cat-caret.open{transform:rotate(180deg)}.cat-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-elev);border:1.5px solid var(--hairline-strong);border-radius:12px;box-shadow:0 8px 24px #00000021;z-index:200;max-height:240px;overflow-y:auto;padding:6px 0}.cat-opt{display:flex;align-items:center;gap:8px;padding:9px 14px;font-size:.92rem;cursor:pointer;color:var(--ink);transition:background .1s}.cat-opt:hover{background:var(--bg-soft)}.cat-opt-icon{font-size:1.1rem}.cat-opt-custom{color:var(--ink-muted);font-style:italic;border-top:1px solid var(--hairline);margin-top:4px;padding-top:10px}.auth-overlay{position:fixed;inset:0;background:#00000073;backdrop-filter:blur(4px);z-index:999;display:flex;align-items:center;justify-content:center;padding:16px}button.line-cta{background:#06c755;color:#fff}button.line-cta:hover{background:#05b84d}button.email-cta{background:var(--brand-soft);color:var(--brand-deep);border:1.5px solid var(--brand, #5b6cf2)}button.email-cta:hover{background:var(--brand-tint)}.join-blocker-scrim{position:fixed;inset:0;background:var(--modal-backdrop);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:var(--z-itin-modal-scrim);display:flex;align-items:center;justify-content:center;padding:16px;animation:join-blocker-fade-in .2s ease-out}.family-confirm-scrim,.modal-backdrop{position:fixed;inset:0;background:var(--modal-backdrop, rgba(0, 0, 0, .4));backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:var(--z-itin-modal-scrim);display:flex;align-items:center;justify-content:center;padding:16px}@keyframes join-blocker-fade-in{0%{opacity:0}to{opacity:1}}.join-blocker-card{max-width:400px;width:100%;border-radius:var(--radius-xl);overflow:hidden;background:var(--bg-elev);border:1px solid var(--hairline-strong);box-shadow:var(--shadow-lg),var(--shadow-pop);animation:join-blocker-pop .32s cubic-bezier(.16,1,.3,1)}@keyframes join-blocker-pop{0%{opacity:0;transform:scale(.94) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.join-blocker-hero{padding:24px 22px 20px;background:var(--grad-brand);color:#fff;text-align:center;position:relative}.join-blocker-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:40%;background:linear-gradient(180deg,transparent,rgba(0,0,0,.12));pointer-events:none}.join-blocker-icon{font-size:2.25rem;line-height:1;margin-bottom:10px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.25));position:relative;z-index:1}.join-blocker-kicker{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;opacity:.92;margin-bottom:8px;position:relative;z-index:1}.join-blocker-title{font-size:1.2rem;font-weight:800;line-height:1.35;margin:0;text-wrap:balance;position:relative;z-index:1;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.15)}.join-blocker-panel{background:#fff;color:#0b1220}[data-theme=dark] .join-blocker-panel{background:#12162e;color:#e8ecff}.join-blocker-body{margin:0;padding:20px 22px 6px;font-size:.95rem;line-height:1.65;font-weight:500;color:#1e293b}[data-theme=dark] .join-blocker-body{color:#e8ecff}.join-blocker-actions{padding:12px 22px 20px;display:flex;justify-content:stretch;gap:10px;flex-wrap:wrap}.join-blocker-actions button{flex:1;min-width:120px;border-radius:var(--radius-sm);font-weight:600;padding:11px 16px}.join-blocker-actions button.join-blocker-manage{background:var(--brand);color:#fff;border:1px solid color-mix(in srgb,var(--brand) 65%,#000);box-shadow:0 2px 10px color-mix(in srgb,var(--brand) 35%,transparent)}.join-blocker-actions button.join-blocker-manage:hover:not(:disabled){filter:brightness(1.07)}.join-blocker-actions button.join-blocker-dismiss{background:transparent;border:1px solid var(--hairline-strong);color:var(--ink-soft)}[data-theme=dark] .join-blocker-actions button.join-blocker-dismiss{border-color:var(--hairline-strong);color:#c5cdec}.join-blocker-actions button.join-blocker-dismiss:hover:not(:disabled){background:var(--bg-soft)}.payment-receive-shell{border-radius:var(--radius);padding:16px 16px 14px;background:linear-gradient(145deg,color-mix(in srgb,var(--brand) 14%,transparent) 0%,transparent 42%),linear-gradient(200deg,color-mix(in srgb,var(--rose) 10%,transparent) 0%,transparent 50%),var(--bg-elev);border:1px solid color-mix(in srgb,var(--brand) 22%,var(--hairline));box-shadow:var(--shadow-sm)}.payment-receive-lead{margin:0 0 12px;font-size:.84rem;font-weight:600;line-height:1.5;color:var(--ink-soft)}.payment-mode-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media (max-width: 640px){.payment-mode-cards{grid-template-columns:1fr}}.payment-mode-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:92px;padding:11px 12px 12px;border-radius:var(--radius-sm);border:2px solid var(--hairline);background:var(--bg-elev);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .12s ease;box-sizing:border-box}.payment-mode-card:hover{border-color:color-mix(in srgb,var(--brand) 45%,var(--hairline))}.payment-mode-card:active{transform:scale(.99)}.payment-mode-card input[type=radio]{position:absolute;opacity:0;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.payment-mode-card--selected{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 28%,transparent),var(--shadow-xs);background:linear-gradient(180deg,var(--bg-elev),color-mix(in srgb,var(--brand) 7%,var(--bg-elev)))}.payment-mode-card:focus-within{outline:2px solid color-mix(in srgb,var(--brand) 55%,transparent);outline-offset:2px}.payment-mode-card-ico{font-size:1.35rem;line-height:1;margin-bottom:2px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.08))}.payment-mode-card-title{font-size:.92rem;font-weight:800;color:var(--ink);letter-spacing:.01em}.payment-mode-card-sub{font-size:.72rem;font-weight:500;line-height:1.35;color:var(--ink-muted)}.payment-receive-fields{margin-top:14px;padding:14px 14px 8px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg-elev) 92%,var(--brand-soft));border:1px solid var(--hairline)}.payment-save-error{margin-top:12px;padding:10px 12px;border-radius:var(--radius-xs);font-size:.82rem;font-weight:600;line-height:1.45;color:#b91c1c;background:var(--bad-soft);border:1px solid rgba(239,68,68,.28)}[data-theme=dark] .payment-receive-shell{background:linear-gradient(145deg,color-mix(in srgb,var(--brand) 22%,transparent) 0%,transparent 45%),linear-gradient(200deg,color-mix(in srgb,var(--rose) 14%,transparent) 0%,transparent 55%),var(--bg-elev);border-color:color-mix(in srgb,var(--brand) 35%,var(--hairline-strong))}[data-theme=dark] .payment-receive-fields{background:color-mix(in srgb,var(--bg-elev) 88%,var(--brand) 12%)}[data-theme=dark] .payment-save-error{color:#fecaca;background:color-mix(in srgb,#ef4444 18%,var(--bg-soft));border-color:#ef444459}@media (max-width: 480px){.payment-receive-shell{padding:12px 10px 10px}.payment-receive-lead{font-size:.78rem;margin-bottom:8px;line-height:1.45}.payment-receive-fields{margin-top:10px;padding:10px 10px 6px}.payment-mode-card{min-height:0;padding:9px 10px 10px;gap:1px}.payment-mode-card-title{font-size:.85rem}.payment-mode-card-sub{font-size:.68rem;line-height:1.3}}.payment-mode-row{display:flex;flex-wrap:wrap;gap:10px 18px;margin-bottom:4px}.payment-mode-option{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600;color:var(--ink-soft);cursor:pointer}.payment-mode-option input{accent-color:var(--brand)}.family-bank-preview-card{width:100%;max-width:200px;min-height:160px;border-radius:var(--radius-sm);border:1px solid var(--hairline);background:var(--bg-elev);box-shadow:var(--shadow-xs);padding:14px 14px 12px;box-sizing:border-box}.profile-bank-preview.family-bank-preview-card{max-width:180px}.family-bank-preview-head{display:flex;justify-content:center;margin-bottom:10px}.family-bank-abbr-fallback{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 8px;border-radius:10px;font-size:.72rem;font-weight:800;color:#fff;letter-spacing:.04em;text-shadow:0 1px 2px rgba(0,0,0,.2)}.family-bank-brand-editor{display:flex;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap}.family-bank-logo-lg{width:40px;height:40px;object-fit:contain;border-radius:8px;background:var(--bg-soft);padding:4px}.family-bank-abbr-fallback-lg{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;font-size:.65rem;font-weight:800;color:#fff;letter-spacing:.03em;text-shadow:0 1px 2px rgba(0,0,0,.2)}.profile-bank-brand.family-bank-brand-editor{margin-top:6px}.field-label{font-size:.8125rem;font-weight:500;color:var(--ink-soft);display:block;margin-bottom:4px}.field-input{width:100%;padding:9px 12px;border:1.5px solid var(--hairline-strong);border-radius:10px;font-size:.9375rem;color:var(--ink);background:var(--bg-base);box-sizing:border-box;transition:border-color .15s;outline:none}.field-input:focus{border-color:var(--brand)}.field-input:disabled{opacity:.6}.otp-input{letter-spacing:6px;font-size:1.25rem;text-align:center}.field-hint{font-size:.75rem;color:var(--ink-muted);margin:-4px 0 0}.payment-saved-preview-label{margin:0 0 8px;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}.payment-saved-bank-preview{margin-bottom:14px;max-width:360px}.payment-saved-bank-preview.family-bank-preview-card{min-height:0}.payment-saved-bank-preview.family-bank-preview-card .family-bank-preview-head{margin-bottom:6px}.payment-saved-bank-preview .family-bank-abbr-fallback{min-width:36px;height:36px;padding:0 6px;font-size:.62rem;border-radius:8px}.payment-saved-bank-hint{font-size:.68rem;margin-bottom:4px;line-height:1.35}.payment-saved-bank-name{font-size:.8125rem;font-weight:600;line-height:1.35;color:var(--ink)}.payment-saved-bank-number{font-size:.8125rem;font-weight:600;letter-spacing:.04em;line-height:1.4;margin-top:2px;color:var(--ink-soft)}.payment-saved-bank-owner{margin-top:8px;display:flex;flex-direction:column;gap:3px}.payment-saved-bank-owner-label{font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);line-height:1.3}.payment-saved-bank-owner-value{font-size:.8125rem;font-weight:600;line-height:1.4;color:var(--ink);word-break:break-word}.payment-qr-img{width:160px;height:160px;border-radius:12px;border:1px solid var(--hairline);box-shadow:0 2px 8px #00000014}.payment-qr-img.payment-pp-qr-img{width:148px;height:148px}.payment-qr-caption{display:flex;flex-direction:column;gap:2px;align-items:center;text-align:center;font-size:.78rem;line-height:1.4;color:var(--ink-soft)}.payment-qr-id{font-weight:600;color:var(--ink);letter-spacing:.04em}.payment-qr-empty{width:160px;min-height:160px;border-radius:12px;border:2px dashed var(--hairline);background:var(--bg-soft, rgba(0, 0, 0, .03));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:0 12px;box-sizing:border-box}.payment-qr-emoji{font-size:2rem}.payment-qr-empty-text{font-size:.78rem;text-align:center;color:var(--ink-soft);line-height:1.35}.profile-payment-page-col,.payment-payment-page-col,.family-payment-page-col{width:100%}.payment-pp-fields .payment-pp-qr-layout{display:grid;grid-template-columns:minmax(140px,auto) minmax(0,1fr);gap:18px 22px;align-items:start}@media (max-width: 540px){.payment-pp-fields .payment-pp-qr-layout{grid-template-columns:1fr;justify-items:stretch}.payment-pp-qr-panel{justify-self:center;max-width:200px}}.payment-pp-qr-panel{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 8px 6px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg-elev) 85%,var(--brand-soft));border:1px dashed color-mix(in srgb,var(--brand) 35%,var(--hairline));box-sizing:border-box}.payment-pp-qr-empty{width:100%;max-width:160px;min-height:148px;aspect-ratio:1;border-radius:12px;border:2px dashed var(--hairline);background:#00000005;box-sizing:border-box}.payment-pp-input-column{min-width:0}.payment-id-input{font-size:1rem;font-weight:600;letter-spacing:.04em}@media (max-width: 480px){.profile-payment-shell .field-label,.family-payment-shell .field-label{font-size:.75rem;margin-bottom:3px}.profile-payment-shell .field-input,.family-payment-shell .field-input{padding:7px 10px;font-size:.8125rem;line-height:1.4}.profile-payment-shell .field-hint,.family-payment-shell .field-hint{font-size:.7rem}.payment-saved-bank-preview.family-bank-preview-card{padding:10px 10px 8px;max-width:100%}.profile-payment-shell .payment-id-input,.family-payment-shell .payment-id-input{font-size:.875rem}}.profile-payment-shell .profile-payment-save-row{margin-top:14px;justify-content:flex-end}body.display-compact .app-header,body.display-compact app-breadcrumb,body.display-compact .bottom-nav{display:none!important}body.display-compact .app-shell main.app-main{padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom));max-width:640px;margin-left:auto;margin-right:auto}body.display-compact.liff-in-client .app-shell main.app-main{max-width:none;width:100%;margin-left:0;margin-right:0;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}body.display-compact .trip-detail-full-chrome,body.display-compact .page-header{display:none!important}body.display-compact .family-invite-btn-home{display:none}.ft-modal--wide{width:min(96vw,560px);max-height:min(92dvh,720px)}@media (max-width: 560px){.ft-modal--wide{inset:auto 0 0;transform:none;width:100%;max-width:none;max-height:min(92dvh,720px);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding-bottom:max(0px,env(safe-area-inset-bottom))}}.bill-card{padding:14px;margin-bottom:10px;transition:border-color .15s}.bill-card--active{border-color:var(--brand)}.bill-card--cancelled{opacity:.6}.bill-seq-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;border-radius:8px;background:color-mix(in srgb,var(--brand) 16%,var(--bg-soft));color:var(--brand-deep);font-size:.78rem;font-weight:800;padding:0 6px;flex-shrink:0}.bill-card__name{font-weight:700;font-size:.95rem;color:var(--ink)}.bill-status-pill{font-size:.7rem}.bill-chevron{color:var(--ink-muted);font-size:.8rem;flex-shrink:0;margin-top:4px}.bill-pick-row{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--hairline);transition:background .1s}.bill-pick-row:last-child{border-bottom:none}.bill-pick-row:hover{background:var(--bg-soft)}.bill-pick-row--checked{background:color-mix(in srgb,var(--brand) 7%,transparent)}.bill-pick-row__body{flex:1;min-width:0}.bill-pick-row__desc{font-weight:600;font-size:.9rem}.bill-pick-row__amount{font-weight:700;font-size:.9rem;color:var(--brand-deep);white-space:nowrap;flex-shrink:0}.bill-pick-total{display:flex;justify-content:space-between;align-items:center;padding:10px 0 2px;font-size:.9rem;font-weight:700;border-top:2px solid var(--hairline);margin-top:10px}.exp-bill-badge{display:inline-flex;align-items:center;padding:1px 7px;border-radius:999px;background:color-mix(in srgb,var(--brand) 14%,transparent);border:1px solid color-mix(in srgb,var(--brand) 30%,transparent);color:var(--brand-deep);font-size:.68rem;font-weight:700;white-space:nowrap}.trip-note-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--hairline);font-size:.72rem;line-height:1.3;color:var(--ink-muted)}.trip-note-meta__by{font-weight:600;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%}.trip-note-meta__sep{opacity:.6}.trip-note-meta__at{white-space:nowrap}.ft-access-gate-page{display:flex;justify-content:center;align-items:flex-start;padding:clamp(12px,4vw,36px) 16px 32px;min-height:min(72vh,560px)}body.display-compact .ft-access-gate-page{min-height:min(78vh,640px);padding-top:clamp(8px,3vw,24px)}.ft-access-gate-page--fixed>.ft-access-gate-page{min-height:0;width:100%;padding:0;align-items:center}.ft-access-gate-page--fixed{position:fixed;inset:0;z-index:9999;min-height:100%;align-items:center;padding:24px 16px;background:radial-gradient(120% 80% at 50% -10%,rgba(91,108,242,.14),transparent 55%),radial-gradient(80% 60% at 100% 100%,rgba(244,114,182,.08),transparent 50%),var(--bg, #f8fafc)}[data-theme=dark] .ft-access-gate-page--fixed{background:radial-gradient(120% 80% at 50% -10%,rgba(91,108,242,.2),transparent 55%),radial-gradient(80% 60% at 100% 100%,rgba(244,114,182,.1),transparent 50%),var(--bg, #0f172a)}.ft-access-gate{width:100%;max-width:452px;overflow:hidden;padding:0}.ft-access-gate__accent{height:6px;background:linear-gradient(90deg,var(--brand) 0%,var(--amber) 55%,#f472b6 100%);flex-shrink:0}.ft-access-gate__inner{position:relative;isolation:isolate;text-align:center;padding:28px 26px 30px;background:var(--bg-elev)}.ft-access-gate__inner:before{content:"";position:absolute;inset:0;background:var(--grad-brand-soft);opacity:.38;pointer-events:none;z-index:0}.ft-access-gate__inner:after{content:"";position:absolute;inset:0;background:radial-gradient(100% 90% at 50% -15%,rgba(91,108,242,.16),transparent 58%);pointer-events:none;z-index:0}.ft-access-gate__kicker,.ft-access-gate__pill,.ft-access-gate__badge,.ft-access-gate__title,.ft-access-gate__sub,.ft-access-gate__hint,.ft-access-gate__body,.ft-access-gate__cta,.ft-access-gate__foot,.ft-access-gate-actions{position:relative;z-index:1}.ft-access-gate__kicker{display:block;margin:0 0 16px;font-size:.71rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-deep)}[data-theme=dark] .ft-access-gate__kicker{color:var(--brand-soft)}.ft-access-gate__badge{display:flex;align-items:center;justify-content:center;width:5.75rem;height:5.75rem;margin:0 auto 16px;border-radius:50%;color:var(--brand);background:radial-gradient(circle at 35% 30%,rgba(91,108,242,.2),transparent 65%);border:1px solid rgba(91,108,242,.22);box-shadow:inset 0 1px #ffffff38,0 10px 32px #5b6cf21f}.ft-access-gate__badge svg{opacity:.96}.ft-access-gate__emoji{font-size:2.35rem;line-height:1}.ft-access-gate__spinner{width:2.25rem;height:2.25rem;border:3px solid rgba(91,108,242,.18);border-top-color:var(--brand);border-radius:50%;animation:ft-access-gate-spin .75s linear infinite}@keyframes ft-access-gate-spin{to{transform:rotate(360deg)}}.ft-access-gate__pill{display:inline-flex;margin:0 0 14px;font-weight:650}.ft-access-gate__title{margin:0 0 12px;font-size:clamp(1.32rem,3.8vw,1.62rem);font-weight:850;line-height:1.26;letter-spacing:-.02em;color:var(--ink)}.ft-access-gate__sub{margin:0 auto 14px;font-size:.94rem;line-height:1.53;color:var(--ink);max-width:36em}.ft-access-gate__hint{margin:0 auto 22px;font-size:.875rem;line-height:1.53;max-width:36em}.ft-access-gate__body:not(:empty){margin:0 auto 18px;max-width:100%;text-align:left}.ft-access-gate__body:not(:empty) .trip-join-gate-code-panel{margin-top:0}.ft-access-gate__cta{margin:0 auto;font-weight:750;width:min(100%,320px)}.ft-access-gate__foot{margin:18px auto 0;font-size:.82rem;line-height:1.52;max-width:32em}.ft-access-gate-actions{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:12px}.ft-access-gate-join-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 16px}.ft-access-gate-join-meta .pill{max-width:100%}.lcard-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(160deg,#fff5fa,#f6f4ff)}.lcard-card{width:100%;max-width:340px;background:#fff;border-radius:22px;padding:28px 24px;text-align:center;box-shadow:0 18px 50px #be185d24;border:1px solid #fce7f3;animation:lcard-pop .28s ease}@keyframes lcard-pop{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.lcard-icon{width:72px;height:72px;margin:0 auto 16px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.1rem;background:linear-gradient(135deg,#fbcfe8,#f9a8d4)}.lcard-card[data-state=error] .lcard-icon{background:linear-gradient(135deg,#fecaca,#fca5a5)}.lcard-card[data-state=already] .lcard-icon{background:linear-gradient(135deg,#bbf7d0,#86efac)}.lcard-title{font-size:1.2rem;font-weight:800;color:#831843;letter-spacing:-.01em}.lcard-card[data-state=error] .lcard-title{color:#b91c1c}.lcard-card[data-state=already] .lcard-title{color:#047857}.lcard-msg{margin-top:8px;font-size:.95rem;font-weight:600;color:#0f172a;line-height:1.5}.lcard-sub{margin-top:14px;font-size:.8rem;color:#94a3b8}.lcard-close-btn{margin-top:18px;padding:10px 28px;border:none;border-radius:999px;background:linear-gradient(135deg,#f472b6,#db2777);color:#fff;font-weight:700;font-size:.92rem;cursor:pointer}.join-gate{display:flex;justify-content:center;align-items:flex-start;padding:28px 16px;min-height:56vh}.join-gate__card{width:100%;max-width:380px;display:flex;flex-direction:column;align-items:center;text-align:center;padding:34px 26px 30px;border-radius:24px;background:radial-gradient(120% 90% at 50% 0%,#fff5fa,#fff 58%);border:1px solid #fce0ee;box-shadow:0 18px 50px -18px #db277752,0 4px 14px -8px #be185d2e}.join-gate__icon{width:72px;height:72px;border-radius:22px;display:inline-flex;align-items:center;justify-content:center;font-size:2rem;background:linear-gradient(135deg,#f9a8d4,#db2777);box-shadow:0 10px 24px -8px #db27778c;margin-bottom:18px}.join-gate__title{margin:0 0 8px;font-size:1.22rem;font-weight:800;letter-spacing:-.01em;color:var(--ink, #0f172a)}.join-gate__text{margin:0 0 24px;font-size:.92rem;line-height:1.6;color:var(--ink-muted, #64748b)}.join-gate__btn{width:100%;padding:13px 24px;border:none;border-radius:999px;background:linear-gradient(135deg,#f472b6,#db2777);color:#fff;font-weight:700;font-size:.98rem;cursor:pointer;box-shadow:0 10px 22px -10px #db277799;transition:transform .08s ease,box-shadow .15s ease}.join-gate__btn:active{transform:translateY(1px)}[data-theme=dark] .join-gate__card{background:radial-gradient(120% 90% at 50% 0%,#2a1422 0%,var(--bg-elev) 60%);border-color:#4a2238}.farewell-gate{min-height:70vh;align-items:center}.farewell-gate__icon{background:linear-gradient(135deg,#fda4af,#db2777 55%,#9333ea);box-shadow:0 12px 30px -10px #9333ea80}.farewell-gate .join-gate__btn{background:linear-gradient(135deg,#fb7aa8,#db2777)}.lcard-spinner{width:30px;height:30px;border-radius:50%;border:3px solid #fbcfe8;border-top-color:#ec4899;animation:lcard-spin .8s linear infinite}@keyframes lcard-spin{to{transform:rotate(360deg)}}.exp-subtab-group{display:flex;gap:6px;padding:5px;margin-bottom:14px;background:var(--bg-soft);border:1px solid var(--hairline);border-radius:999px}.exp-subtab-btn{flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 12px;border:none;border-radius:999px;background:transparent;color:var(--ink-soft);font-size:.9rem;font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.exp-subtab-btn .exp-subtab-ico{font-size:1rem}.exp-subtab-btn.active{background:var(--bg-elev);color:var(--brand-deep);box-shadow:var(--shadow-xs)}[data-theme=dark] .exp-subtab-btn.active{background:color-mix(in srgb,var(--brand) 24%,var(--bg-elev));color:#fff}.settlement-share-line-btn{display:inline-flex;align-items:center;gap:4px;border:none;border-radius:999px;background:#06c755;color:#fff;font-weight:700;cursor:pointer}.settlement-share-line-btn:hover:not(:disabled){background:#05b54d}.settlement-share-line-btn:disabled{opacity:.55;cursor:default}.compact-profile-bar{display:flex;align-items:center;gap:8px;padding:max(6px,env(safe-area-inset-top)) 12px 6px;background:var(--bg-elev);border-bottom:1px solid var(--hairline);position:sticky;top:0;z-index:30}.compact-profile-bar__id{display:flex;align-items:center;gap:8px;min-width:0;flex:1 1 auto;text-decoration:none;color:var(--ink)}.compact-profile-bar__avatar{flex-shrink:0;width:30px;height:30px;border-radius:50%;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background:var(--brand-soft, #e9e3ff);color:var(--brand, #6b4bff);font-size:.78rem;font-weight:800}.compact-profile-bar__avatar img{width:100%;height:100%;object-fit:cover}.compact-profile-bar__name{font-weight:700;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.cbar-actions{flex-shrink:0;display:flex;align-items:center;gap:6px}.cbar-icon-btn{flex-shrink:0;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid var(--hairline);background:var(--bg-soft);color:var(--ink);font-size:1rem;line-height:1;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .08s ease}.cbar-icon-btn:active{transform:scale(.93)}.cbar-icon-btn:hover{background:var(--bg-tinted, var(--bg-soft))}.cbar-icon-btn--lang{font-size:.72rem;font-weight:800;letter-spacing:.04em;color:var(--brand-deep, var(--brand))}.cbar-pill{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;height:34px;padding:0 12px;border-radius:999px;border:1px solid transparent;font-size:.78rem;font-weight:700;text-decoration:none;white-space:nowrap;cursor:pointer}.cbar-pill__ico{font-size:.9em;line-height:1}.cbar-pill--pay{background:color-mix(in srgb,var(--brand) 12%,var(--bg-elev));border-color:color-mix(in srgb,var(--brand) 30%,transparent);color:var(--brand-deep, var(--brand))}.cbar-pill--pay:active{transform:scale(.97)}.cbar-pill--exit{background:color-mix(in srgb,var(--bad, #dc2626) 12%,var(--bg-elev));border-color:color-mix(in srgb,var(--bad, #dc2626) 38%,transparent);color:var(--bad, #dc2626)}.cbar-pill--exit .cbar-pill__ico{font-weight:800}.cbar-pill:disabled{opacity:.6;cursor:default}@media (max-width: 380px){.compact-profile-bar{gap:6px;padding-left:10px;padding-right:10px}.cbar-actions{gap:5px}.cbar-pill{padding:0 10px}.cbar-pill--pay .cbar-pill__label{display:none}.cbar-pill--pay{padding:0;width:34px;justify-content:center}}body.display-compact .join-invite-card,body.display-compact .trip-join-gate-card{margin-top:0;border-radius:var(--radius-lg)}.compact-trip-chrome{display:none;margin-bottom:12px;padding:10px 12px 12px;border-radius:var(--radius-lg);border:1px solid var(--hairline);background:var(--bg-elev);box-shadow:var(--shadow-xs)}body.display-compact .compact-trip-chrome{display:block}.compact-trip-chrome__row{display:flex;align-items:center;gap:10px;margin-bottom:10px;min-width:0}.compact-trip-chrome__exit{flex-shrink:0;padding:6px 10px;border-radius:999px;border:1px solid var(--hairline);background:var(--bg-soft);color:var(--brand-deep);font-size:.78rem;font-weight:700;cursor:pointer}.compact-trip-chrome__title{flex:1;min-width:0;font-size:1rem;font-weight:800;color:var(--ink)}.compact-tab-strip-wrap{display:flex;align-items:center;gap:6px;min-width:0}.compact-tab-strip{display:flex;gap:6px;flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;padding:2px 0;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x;scrollbar-width:none;cursor:grab}.compact-tab-strip--grabbing{cursor:grabbing;touch-action:none;user-select:none;-webkit-user-select:none}.compact-tab-strip--grabbing .compact-tab-strip__btn{pointer-events:none}.compact-tab-strip::-webkit-scrollbar{display:none}.compact-tab-strip__btn{flex:0 0 auto;padding:8px 12px;border-radius:999px;border:1px solid var(--hairline);background:var(--bg-soft);color:var(--ink-soft);font-size:.82rem;font-weight:700;white-space:nowrap;cursor:pointer;touch-action:manipulation}.compact-tab-strip-arrow{flex-shrink:0;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid var(--hairline);background:var(--bg-soft);color:var(--ink);font-size:1.35rem;line-height:1;font-weight:700;cursor:pointer;padding:0;transition:background .12s ease,opacity .12s ease}.compact-tab-strip-arrow:hover:not(.is-disabled){background:var(--bg-elev);border-color:color-mix(in srgb,var(--brand) 35%,var(--hairline))}.compact-tab-strip-arrow.is-disabled{opacity:.32;cursor:default;pointer-events:none}body.display-compact .compact-omit{display:none!important}.compact-tab-strip__btn.active{background:color-mix(in srgb,var(--brand) 14%,var(--surface));border-color:color-mix(in srgb,var(--brand) 40%,var(--hairline));color:var(--brand-deep)}.compact-page-chrome{display:none;margin-bottom:12px;padding:14px 16px;border-radius:var(--radius-lg);border:1px solid var(--hairline);background:radial-gradient(130% 150% at 0% 0%,color-mix(in srgb,var(--brand) 16%,transparent),transparent 58%),var(--bg-elev);box-shadow:var(--shadow-xs);position:relative;overflow:hidden}.compact-page-chrome:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--brand),var(--brand-deep))}body.display-compact .compact-page-chrome{display:block}body.display-compact .compact-page-chrome__exit,body.display-compact .compact-trip-chrome__exit{display:none!important}.compact-page-chrome__title{font-size:1.12rem;font-weight:800;color:var(--ink);letter-spacing:-.01em}.compact-page-chrome__bar{display:flex;align-items:center;gap:8px;margin-bottom:8px}.compact-page-chrome__bar .compact-page-chrome__exit{margin-bottom:0}.compact-page-chrome__back{display:inline-flex;align-items:center;justify-content:center;width:34px;height:32px;border-radius:999px;border:1px solid var(--hairline);background:var(--bg-soft);color:var(--brand-deep);font-size:1rem;font-weight:800;cursor:pointer;flex-shrink:0}body.display-compact app-trip-detail section.card input,body.display-compact app-trip-detail section.card select,body.display-compact app-trip-detail section.card textarea{font-size:1.02rem;padding:12px 14px}body.display-compact app-trip-detail .trip-itinerary-shell input,body.display-compact app-trip-detail .trip-itinerary-shell select,body.display-compact app-trip-detail .trip-itinerary-shell textarea{font-size:1.02rem;padding:12px 14px}body.display-compact app-trip-detail section.card label{font-size:.88rem;font-weight:700}body.display-compact app-trip-detail .trip-itinerary-shell label{font-size:.88rem;font-weight:700}body.display-compact app-trip-detail section.card .card-title{font-size:1.15rem}body.display-compact app-trip-detail .trip-itinerary-shell .card-title{font-size:1.15rem}body.display-compact .expenses-shortcut-compact-hint{margin:0 0 12px;font-size:.88rem;color:var(--muted);text-align:center}.trip-roster-modal.poll-modal-shell{background:linear-gradient(168deg,color-mix(in srgb,var(--brand-tint) 72%,var(--bg-elev)) 0%,var(--bg-elev) 46%,color-mix(in srgb,var(--amber, #f6a847) 9%,var(--bg-elev)) 100%);border:1px solid color-mix(in srgb,var(--brand) 20%,var(--hairline-strong, var(--hairline)));box-shadow:var(--shadow-md),0 0 0 1px color-mix(in srgb,var(--brand) 5%,transparent)}[data-theme=dark] .trip-roster-modal.poll-modal-shell{background:linear-gradient(168deg,color-mix(in srgb,var(--brand) 17%,var(--bg-elev)) 0%,var(--bg-elev) 52%,color-mix(in srgb,var(--warm, #f59e0b) 9%,var(--bg-elev)) 100%);border-color:color-mix(in srgb,var(--brand) 30%,transparent)}.poll-modal-shell .trip-roster-head{padding:15px 24px 13px;background:linear-gradient(126deg,color-mix(in srgb,var(--brand-soft) 52%,transparent),color-mix(in srgb,var(--warm-soft) 92%,transparent));border-bottom:1px solid color-mix(in srgb,var(--brand) 16%,var(--hairline-strong, var(--hairline)))}[data-theme=dark] .poll-modal-shell .trip-roster-head{background:linear-gradient(126deg,color-mix(in srgb,var(--brand) 32%,transparent),color-mix(in srgb,var(--warm) 13%,transparent))}.trip-poll-modal{max-width:min(560px,100%);max-height:min(92vh,900px)}.trip-roster-body.poll-modal-sheet{display:flex;flex-direction:column;gap:14px;padding:14px 24px 22px;overflow-y:auto}.poll-form-panel{padding:16px 18px;border-radius:var(--radius, 14px);border:1px solid color-mix(in srgb,var(--brand) 11%,var(--hairline-strong, var(--hairline)));background:linear-gradient(150deg,color-mix(in srgb,var(--brand-soft) 16%,var(--bg-elev)) 0%,color-mix(in srgb,var(--bg-tinted, var(--brand-tint)) 24%,var(--bg-elev)) 48%,var(--bg-elev) 100%);box-shadow:var(--shadow-xs)}[data-theme=dark] .poll-form-panel{border-color:color-mix(in srgb,var(--brand) 22%,transparent);background:linear-gradient(150deg,color-mix(in srgb,var(--brand) 14%,var(--bg-elev)) 0%,var(--bg-elev) 100%)}.poll-field-label{display:block;font-size:.72rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 8px}.poll-field-hint{margin:-2px 0 10px;font-size:.8rem;line-height:1.45}.poll-choice-list{display:flex;flex-direction:column;gap:12px}.poll-choice-card{padding:12px 14px;border-radius:12px;border:1px solid color-mix(in srgb,var(--brand) 14%,var(--hairline-strong, var(--hairline)));background:linear-gradient(160deg,color-mix(in srgb,var(--brand-tint) 35%,var(--bg-elev)) 0%,var(--bg-elev) 100%)}[data-theme=dark] .poll-choice-card{background:linear-gradient(160deg,color-mix(in srgb,var(--brand) 10%,var(--bg-elev)) 0%,var(--bg-elev) 100%)}.poll-note-context{margin-top:10px;padding:10px 12px;border-radius:12px;border:1px solid color-mix(in srgb,var(--brand) 12%,var(--hairline-strong, var(--hairline)));background:color-mix(in srgb,var(--brand-tint) 18%,var(--bg-elev))}[data-theme=dark] .poll-note-context{background:color-mix(in srgb,var(--brand) 8%,var(--bg-elev))}.poll-note-context__title{font-size:.86rem;font-weight:650;line-height:1.35}.poll-note-context__url{margin-top:3px;font-size:.76rem;line-height:1.35}.poll-modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:2px;padding-top:14px;border-top:1px dashed color-mix(in srgb,var(--hairline-strong, var(--hairline)) 70%,transparent)}.poll-add-option-wide{box-sizing:border-box;width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;margin-top:12px;border-radius:12px;font-family:inherit;font-size:.92rem;font-weight:800;cursor:pointer;border:1.6px dashed color-mix(in srgb,var(--brand) 42%,var(--hairline-strong, var(--hairline)));background:color-mix(in srgb,var(--brand-soft) 38%,var(--bg-elev));color:var(--brand-deep, var(--brand));transition:border-color .15s ease,background .15s ease,transform .12s ease}.poll-add-option-wide--lead{margin-top:4px}.poll-add-option-wide:hover:not(:disabled){border-color:color-mix(in srgb,var(--brand) 55%,var(--hairline-strong));background:color-mix(in srgb,var(--brand-soft) 55%,var(--bg-elev));transform:translateY(-1px)}.poll-add-option-wide:disabled{opacity:.52;cursor:not-allowed;transform:none}[data-theme=dark] .poll-add-option-wide{color:var(--ink-soft)}.poll-modal-sheet textarea,.poll-modal-sheet select,.poll-modal-sheet .poll-deadline-input,.poll-modal-sheet input[type=text],.poll-modal-sheet input[type=url],.poll-modal-sheet input[type=date],.poll-modal-sheet input[type=time]{font-family:inherit;box-sizing:border-box;width:100%;border-radius:12px;border:1px solid color-mix(in srgb,var(--hairline-strong, var(--hairline)) 86%,var(--brand) 16%);background:var(--bg-elev)}.poll-modal-sheet textarea{min-height:92px;padding:12px;line-height:1.42}.poll-modal-sheet input[type=url],.poll-modal-sheet input[type=text]{padding:9px 10px;font-size:.9rem}[data-theme=dark] .poll-modal-sheet textarea,[data-theme=dark] .poll-modal-sheet select,[data-theme=dark] .poll-modal-sheet .poll-deadline-input,[data-theme=dark] .poll-modal-sheet input[type=text],[data-theme=dark] .poll-modal-sheet input[type=url],[data-theme=dark] .poll-modal-sheet input[type=date],[data-theme=dark] .poll-modal-sheet input[type=time]{background:color-mix(in srgb,var(--bg-soft, var(--bg-base)) 35%,var(--bg-elev))}
