@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700&family=Outfit:wght@500;600;700;800&display=swap";:root{--font-body: "DM Sans", system-ui, -apple-system, sans-serif;--font-display: "Outfit", system-ui, -apple-system, sans-serif;--color-text-primary: #141413;--color-text-secondary: #65635e;--color-background-primary: #f5f3ef;--color-background-secondary: #e9e6df;--color-surface: #fdfcf9;--color-surface-raised: #ffffff;--color-border-secondary: #d4d2cc;--color-border-tertiary: #e8e6e1;--accent: #1d9e75;--accent-mid: #168a62;--accent-soft: rgba(29, 158, 117, .12);--accent-softer: rgba(29, 158, 117, .08);--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 22px;--shadow-xs: 0 1px 2px rgba(20, 20, 19, .04);--shadow-sm: 0 4px 20px rgba(20, 20, 19, .06), 0 1px 3px rgba(20, 20, 19, .04);--shadow-md: 0 12px 40px rgba(20, 20, 19, .09), 0 4px 12px rgba(20, 20, 19, .05);--shadow-nav: 0 -10px 40px rgba(20, 20, 19, .08);--shadow-glow-accent: 0 4px 18px rgba(29, 158, 117, .32);--blur-glass: saturate(160%) blur(18px);--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--tabbar-visual-h: 78px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;height:100%;overflow:hidden}body{font-family:var(--font-body);background:var(--color-background-primary);background-image:radial-gradient(120% 80% at 100% 0%,rgba(29,158,117,.07) 0%,transparent 55%),radial-gradient(90% 60% at 0% 100%,rgba(99,102,241,.05) 0%,transparent 50%),linear-gradient(180deg,#eef2ef 0%,var(--color-background-primary) 45%,#f3f1ec 100%);color:var(--color-text-primary);font-size:15px;line-height:1.5;min-height:100%;min-height:100dvh;min-height:-webkit-fill-available;height:100%;display:flex;flex-direction:column;overflow:hidden;overflow-x:hidden;overscroll-behavior-y:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#root{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden;width:100%}.app{max-width:420px;margin:0 auto;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding-left:var(--safe-left);padding-right:var(--safe-right);width:100%}h1,h2,h3,.syne{font-family:var(--font-display);letter-spacing:-.02em}.screen{display:none;flex-direction:column;flex:1 1 auto;min-height:0;padding:0;overflow:hidden}.screen.active{display:flex}.auth-wrap{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;padding:calc(1.5rem + var(--safe-top)) 1.25rem calc(1.5rem + var(--safe-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.auth-logo{text-align:center;margin-bottom:2rem}.auth-logo .brand-mark--hero{justify-content:center;margin-bottom:.5rem}.auth-logo p{font-size:13px;color:var(--color-text-secondary);margin-top:4px;font-weight:300;max-width:280px;margin-left:auto;margin-right:auto}.brand-mark{display:inline-flex;align-items:center;flex-wrap:nowrap;gap:.1em;line-height:1}.brand-mark-trip{font-family:var(--font-display);font-weight:800;color:var(--color-text-primary);letter-spacing:-.04em}.brand-mark--hero{align-items:baseline}.brand-mark--hero .brand-mark-trip{font-size:clamp(1.75rem,6vw,2.15rem)}.brand-logo-img{display:block;width:auto;object-fit:contain}.brand-logo-img--hero{height:clamp(2.65rem,13vw,3.45rem)}.brand-mark--topbar .brand-mark-trip{font-size:clamp(1rem,4vw,1.15rem)}.brand-logo-img--topbar{height:26px}.topbar-brand{display:flex;align-items:center;min-width:0}.brand-logo-img--inline{height:22px}.brand-mark--inline{flex-shrink:0}.modal-title-with-brand{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.modal-title-with-brand>span{line-height:1.2}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:1rem}.modal-head .modal-title{margin-bottom:0;flex:1;min-width:0}.brand-mark--icon{width:100%;height:100%;justify-content:center;align-items:center}.brand-logo-img--icon{height:28px;width:auto;max-width:100%}.brand-mark--empty{justify-content:center}.brand-logo-img--empty{height:clamp(3rem,18vw,3.75rem);width:auto}.empty-brand-wrap{margin-bottom:.75rem}.auth-tabs{display:flex;background:#ffffff8c;border:1px solid rgba(20,20,19,.06);border-radius:var(--radius-md);padding:4px;margin-bottom:1.25rem;box-shadow:var(--shadow-xs)}.auth-tab{flex:1;text-align:center;padding:12px 8px;min-height:44px;border-radius:var(--radius-sm);font-size:13px;font-weight:700;cursor:pointer;color:var(--color-text-secondary);border:none;background:transparent;font-family:var(--font-body);transition:background .2s ease,color .2s ease,box-shadow .2s ease;touch-action:manipulation}.auth-tab.active{background:var(--color-surface);color:var(--color-text-primary);border:1px solid rgba(20,20,19,.06);box-shadow:var(--shadow-xs)}.field{margin-bottom:1rem}.field label{display:block;font-size:11px;font-weight:600;color:var(--color-text-secondary);margin-bottom:5px;text-transform:uppercase;letter-spacing:.5px}.field input:not([type=checkbox]):not([type=radio]){width:100%;min-height:48px;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid rgba(20,20,19,.1);background:#ffffffeb;color:var(--color-text-primary);font-family:var(--font-body);font-size:16px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .15s ease,box-shadow .15s ease}.field input:not([type=checkbox]):not([type=radio]):focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field-password-inner{position:relative;width:100%}.field--password .field-password-inner input:not([type=checkbox]):not([type=radio]){padding-right:3.75rem}.field-password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);min-height:40px;min-width:44px;padding:6px 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:#1d9e75;font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:.02em;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.field-password-toggle:active{opacity:.85}.field-password-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.custom-dd{position:relative;width:100%}.custom-dd-btn{width:100%;min-height:48px;padding:10px 38px 10px 14px;border-radius:var(--radius-sm);border:1px solid rgba(20,20,19,.1);background:#ffffffeb;color:var(--color-text-primary);font-family:var(--font-body);font-size:15px;line-height:1.3;text-align:left;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;touch-action:manipulation;transition:border-color .15s ease,box-shadow .15s ease}.custom-dd-btn:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.custom-dd.open .custom-dd-btn{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.custom-dd-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-dd-chev{flex-shrink:0;font-size:10px;color:var(--color-text-secondary);transition:transform .2s}.custom-dd.open .custom-dd-chev{transform:rotate(180deg);color:var(--accent)}.custom-dd-list{list-style:none;margin:0;padding:6px 0;background:var(--color-background-primary);border:.5px solid var(--color-border-secondary);border-radius:12px;box-shadow:0 12px 40px #00000024,0 0 0 .5px var(--color-border-tertiary);overflow-x:hidden;overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}.custom-dd-item{padding:13px 16px;font-size:15px;font-family:var(--font-body);color:var(--color-text-primary);cursor:pointer;border-bottom:.5px solid var(--color-border-tertiary);transition:background .1s;min-height:48px;display:flex;align-items:center;touch-action:auto}.custom-dd-item:last-child{border-bottom:none}.custom-dd-item:active,.custom-dd-item:hover{background:var(--color-background-secondary)}.custom-dd-item--sel{background:#e1f5ee;color:#0f6e56;font-weight:600}.custom-dd-item--sel:after{content:"✓";margin-left:auto;padding-left:8px;font-size:13px;color:#1d9e75}.field.field--split{margin-bottom:0;padding-top:.25rem}.field.field--split>.sec-label{display:block;margin-bottom:10px}.split-hint{font-size:13px;line-height:1.45;color:var(--color-text-secondary);margin:0 0 12px;padding:0 2px}.split-member-list{display:flex;flex-direction:column;gap:2px;max-height:240px;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px 10px;margin:0 0 12px;background:var(--color-background-secondary);border-radius:12px;border:.5px solid var(--color-border-tertiary)}.split-member-row{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 8px;border-radius:8px;cursor:pointer;font-size:14px;color:var(--color-text-primary);touch-action:manipulation}.split-member-row:active{background:#0000000a}.field label.split-member-row{text-transform:none;letter-spacing:normal;font-size:14px;font-weight:500;color:var(--color-text-primary);margin-bottom:0;display:flex}.split-member-row--master{padding:14px 16px;margin:0 0 12px;background:var(--color-background-secondary);border-radius:12px;border:.5px solid var(--color-border-secondary)}.field label.split-member-row--master{font-weight:600;font-size:15px;line-height:1.35;display:flex}.split-member-row--master span{flex:1;min-width:0}.split-member-row input[type=checkbox]{width:22px;height:22px;min-height:22px;min-width:22px;margin:0;padding:0;flex-shrink:0;align-self:center;border-radius:6px;cursor:pointer;accent-color:#1d9e75;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.split-select-all{margin-top:0!important;min-height:44px!important;padding:11px 16px!important;font-size:14px!important;font-weight:600!important}.modal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:1.25rem;padding-top:4px}.modal-actions .btn-full{flex:1;min-width:120px}.btn-full{width:100%;min-height:48px;padding:13px 16px;border-radius:12px;border:none;font-family:var(--font-display);font-size:15px;font-weight:700;cursor:pointer;transition:transform .12s,background .15s;letter-spacing:.2px;touch-action:manipulation}.btn-full:active{transform:scale(.98)}.btn-primary{background:linear-gradient(180deg,#24a878 0%,var(--accent-mid) 100%);color:#fff;box-shadow:var(--shadow-glow-accent)}.btn-primary:hover{filter:brightness(1.05)}.btn-secondary{background:#ffffffe6;color:var(--color-text-primary);border:1px solid rgba(20,20,19,.1)!important;box-shadow:var(--shadow-xs)}.err-msg{color:#d85a30;font-size:12px;margin-bottom:.75rem;padding:8px 12px;background:#faece7;border-radius:8px;display:none;word-break:break-word}.err-msg.show{display:block}.topbar{display:flex;align-items:center;gap:10px;padding:calc(.75rem + var(--safe-top)) 1rem .65rem;flex-shrink:0;background:#fdfcf9c7;border-bottom:1px solid rgba(20,20,19,.06);box-shadow:var(--shadow-xs);backdrop-filter:var(--blur-glass);-webkit-backdrop-filter:var(--blur-glass)}.topbar-title{flex:1;min-width:0;font-family:var(--font-display);font-size:clamp(1rem,4vw,1.1rem);font-weight:800;letter-spacing:-.03em;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-title--with-pill{white-space:normal;display:flex;flex-direction:column;align-items:flex-start;gap:3px;overflow:visible}.topbar-title-text{display:block;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-viewer-pill{flex-shrink:0;font-family:var(--font-body);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#534ab7;background:#eeedfe;border:.5px solid rgba(175,169,236,.6);padding:3px 8px;border-radius:6px;line-height:1.2}.viewer-readonly-banner{margin-bottom:.85rem;background:linear-gradient(180deg,#f4f3fb,#eeedfe80);border-color:#afa9ec73}.viewer-readonly-banner-text{font-size:13px;line-height:1.5;color:var(--color-text-secondary);margin:0}.organizer-share-readonly{margin-bottom:1rem;padding-bottom:1rem;border-bottom:.5px solid var(--color-border-tertiary)}.organizer-share-readonly-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);margin-bottom:6px}.organizer-share-readonly-hint{font-size:12px;line-height:1.45;color:var(--color-text-secondary);margin:0 0 10px}.organizer-share-readonly-actions{display:flex;flex-wrap:wrap;gap:10px}.organizer-share-btn{flex:1 1 140px}.icon-btn{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:var(--radius-md);border:1px solid rgba(20,20,19,.08);background:#ffffffb3;color:var(--color-text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;flex-shrink:0;touch-action:manipulation;box-shadow:var(--shadow-xs);transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.icon-btn:active{transform:scale(.94)}@media(hover:hover){.icon-btn:hover{background:#fffffff2;box-shadow:var(--shadow-sm)}}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:100;max-width:420px;margin:0 auto;width:100%;border-top:1px solid rgba(20,20,19,.07);background:#fdfcf9db;backdrop-filter:var(--blur-glass);-webkit-backdrop-filter:var(--blur-glass);padding:10px 6px calc(10px + var(--safe-bottom));flex-shrink:0;box-shadow:var(--shadow-nav)}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;padding:8px 6px;min-height:52px;border:none;border-radius:var(--radius-md);background:transparent;touch-action:manipulation;transition:background .2s ease,transform .15s ease}.nav-item .nav-icon{font-size:22px;line-height:1;transition:transform .2s ease}.nav-item .nav-label{font-size:10px;font-weight:700;color:var(--color-text-secondary);font-family:var(--font-body);letter-spacing:.04em}.nav-item.active{background:var(--accent-soft)}.nav-item.active .nav-label{color:var(--accent)}.nav-item.active .nav-icon{transform:scale(1.06)}.nav-item:active{transform:scale(.97)}.trip-search-wrap{position:relative;margin-bottom:.75rem}.trip-search-input{width:100%;box-sizing:border-box;padding:.65rem 2.25rem .65rem .85rem;border-radius:var(--radius-lg);border:1px solid rgba(20,20,19,.1);background:var(--color-surface);font-family:var(--font-body);font-size:16px;color:var(--color-text-primary);box-shadow:var(--shadow-sm)}.trip-search-input::placeholder{color:var(--color-text-secondary)}.trip-search-input:focus{outline:none;border-color:#1d9e75;box-shadow:0 0 0 2px #1d9e7533}.trip-search-clear{position:absolute;right:4px;top:50%;transform:translateY(-50%);border:none;background:transparent;color:var(--color-text-secondary);font-size:14px;padding:8px 10px;min-height:44px;cursor:pointer;font-family:var(--font-body)}.content{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;padding:1rem;padding-bottom:calc(1.25rem + env(safe-area-inset-bottom,0px))}#s-trip>.content,#s-trip-public>.content{padding-bottom:calc(1.25rem + var(--tabbar-visual-h) + var(--safe-bottom))}.card{background:var(--color-surface);border:1px solid rgba(20,20,19,.06);border-radius:var(--radius-lg);padding:1.05rem 1.15rem;margin-bottom:.85rem;box-shadow:var(--shadow-sm)}.sec-label{font-size:10px;font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.6rem}.settle-actions{display:flex;gap:10px;margin-bottom:.85rem;flex-wrap:wrap}.btn-settle-secondary,.btn-settle-primary{flex:1 1 140px;min-height:48px;padding:12px 14px;border-radius:12px;font-family:var(--font-body);font-weight:700;font-size:13px;cursor:pointer;touch-action:manipulation;border:none}.btn-settle-secondary{background:#ffffffd9;color:var(--color-text-primary);border:1px solid rgba(20,20,19,.08);box-shadow:var(--shadow-xs)}.btn-settle-primary{background:linear-gradient(180deg,#24a878 0%,var(--accent-mid) 100%);color:#fff;box-shadow:var(--shadow-glow-accent)}.btn-settle-secondary:active,.btn-settle-primary:active{transform:scale(.98);opacity:.95}.settle-per-lead{font-size:12px;line-height:1.5;color:var(--color-text-secondary);margin:0 0 .75rem}.settle-per-lead strong{color:var(--color-text-primary);font-weight:700}.settle-per-table{border-top:.5px solid var(--color-border-tertiary);padding-top:8px}.settle-per-head{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px 12px;padding:0 0 8px;margin-bottom:2px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary)}.settle-per-head span:nth-child(2),.settle-per-head span:nth-child(3){text-align:right;white-space:nowrap}.settle-per-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px 12px;padding:8px 0;border-bottom:.5px solid var(--color-border-tertiary);font-size:12px}.settle-per-row:last-child{border-bottom:none;padding-bottom:0}.settle-per-name{font-weight:600;color:var(--color-text-primary);min-width:0;word-break:break-word}.settle-per-amt{font-family:var(--font-display);font-weight:800;font-size:13px;color:var(--color-text-primary);text-align:right;white-space:nowrap}.settle-summary-lead{font-size:13px;line-height:1.55;color:var(--color-text-primary);margin:0 0 .85rem}.settle-net-list{list-style:none;margin:0;padding:10px 0 0;border-top:.5px solid var(--color-border-tertiary)}.settle-net-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px 10px;padding:8px 0;border-bottom:.5px solid var(--color-border-tertiary);font-size:12px}.settle-net-row:last-child{border-bottom:none;padding-bottom:0}.settle-net-name{font-weight:600;color:var(--color-text-primary);min-width:0;word-break:break-word}.settle-net-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:3px 8px;border-radius:6px;white-space:nowrap}.settle-net-tag.recv{background:#e1f5ee;color:#0f6e56}.settle-net-tag.owe{background:#faece7;color:#b84a28}.settle-net-tag.even{background:var(--color-background-secondary);color:var(--color-text-secondary)}.settle-net-amt{font-family:var(--font-display);font-weight:800;font-size:13px;color:var(--color-text-primary);text-align:right;white-space:nowrap}.trip-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--color-surface);border:1px solid rgba(20,20,19,.06);border-radius:var(--radius-md);margin-bottom:.65rem;cursor:pointer;transition:background .15s ease,box-shadow .2s ease,transform .2s ease;min-height:56px;touch-action:manipulation;box-shadow:var(--shadow-sm)}.trip-card:active{background:var(--color-background-secondary);transform:scale(.992)}@media(hover:hover){.trip-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}}.trip-icon{width:48px;height:48px;border-radius:var(--radius-md);background:linear-gradient(145deg,#e4eef9,#dff5ed 55%,#e8f7f0);box-shadow:inset 0 1px #ffffffa6;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.trip-info{flex:1;min-width:0}.trip-name{font-weight:700;font-size:14px;font-family:var(--font-display);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trip-meta{font-size:11px;color:var(--color-text-secondary);margin-top:2px}.trip-code{font-family:var(--font-display);font-size:10px;font-weight:700;color:#0f6e56;background:linear-gradient(180deg,#e8f7f1,#dff0e8);padding:5px 10px;border-radius:8px;flex-shrink:0;max-width:38%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid rgba(29,158,117,.15)}.code-banner{background:linear-gradient(145deg,#e8f7f1,#dff5eb,#d8f0e6);border:1px solid rgba(29,158,117,.22);border-radius:var(--radius-lg);padding:1rem 1.1rem;text-align:center;margin-bottom:.85rem;box-shadow:var(--shadow-sm),inset 0 1px #ffffff80}.code-text{font-family:var(--font-display);font-size:clamp(1.35rem,7vw,1.8rem);font-weight:800;color:#0f6e56;letter-spacing:clamp(2px,1.5vw,6px);word-break:break-all}.code-hint{font-size:11px;color:#1d9e75;margin-top:2px;font-weight:500}.invite-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.invite-btn{min-height:48px;padding:10px 8px;border-radius:10px;border:none;font-family:var(--font-display);font-weight:700;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;touch-action:manipulation;line-height:1.2;text-align:center}.invite-btn:active{transform:scale(.98)}.invite-btn-wa{background:#25d366;color:#fff}.invite-btn-wa .invite-ico{font-size:16px}.invite-btn-mail{background:var(--color-background-secondary);color:var(--color-text-primary);border:.5px solid var(--color-border-secondary)}.stats-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:.95rem}.stats-row.stats-row--expenses{grid-template-columns:repeat(2,minmax(0,1fr))}.stat--expenses-span{grid-column:1 / -1;container-type:inline-size;padding:1rem 1rem .95rem;text-align:center;background:linear-gradient(165deg,#fffffffa,#f1f9f5a6 55%,#e8f7f259);border:1px solid rgba(29,158,117,.18);box-shadow:0 4px 14px #1d9e7512,var(--shadow-xs)}.stat--expenses-span .stat-lbl{font-size:10px;letter-spacing:.08em;color:#2d6b52}.stat-val--expenses-span{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 12px;margin-top:10px;font-size:clamp(1rem,4.2vw,1.45rem);text-align:center;line-height:1.2}.stat-expenses-range{font-family:var(--font-display);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.045em;color:var(--color-text-primary);white-space:nowrap;flex:0 1 auto;min-width:0;font-size:clamp(.8rem,3.5vw,1.35rem)}@supports (font-size: 1cqi){.stat-expenses-range{font-size:clamp(.75rem,min(3.5vw,14cqi),1.35rem)}}.stat-expenses-range-sep{color:var(--color-text-secondary);font-weight:800;font-size:1rem;flex-shrink:0;opacity:.65;padding:0 2px}.stat-expenses-hint{font-size:11px;line-height:1.45;color:var(--color-text-secondary);text-align:center;font-weight:500;max-width:22rem;margin:10px auto 0}.stats-row.stats-row--settle{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:420px){.stats-row.stats-row--settle{grid-template-columns:repeat(2,minmax(0,1fr))}}.stat{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;min-width:0;min-height:5.5rem;padding:.8rem .55rem .75rem;background:linear-gradient(180deg,#fffffff2,#faf9f7eb);border:1px solid rgba(20,20,19,.08);border-radius:var(--radius-lg);box-shadow:0 2px 10px #1414130b,0 0 0 1px #ffffff80 inset}.stats-row--settle .stat:nth-child(1){background:linear-gradient(180deg,#f6fdfa,#e8f7f2);border-color:#1d9e7538}.stats-row--settle .stat:nth-child(2){background:linear-gradient(180deg,#fffaf8,#fdf4f0);border-color:#d85a3026}.stats-row--settle .stat:nth-child(2) .stat-lbl{color:#a34a2a}.stats-row--settle .stat:nth-child(3){background:linear-gradient(180deg,#f6fdfa,#e8f7f2);border-color:#1d9e7533}.stats-row--settle .stat:nth-child(3) .stat-lbl{color:#2d6b52}.stats-row--settle .stat:nth-child(4){background:linear-gradient(180deg,#f8f7fc,#eeedfe);border-color:#534ab72e}.stats-row--settle .stat:nth-child(4) .stat-lbl{color:#534ab7}.stats-row--settle .stat{container-type:inline-size;container-name:settle-stat;padding-left:.42rem;padding-right:.42rem}.stats-row--expenses:not(.stats-row--settle)>.stat:not(.stat--expenses-span){background:linear-gradient(180deg,#fffffffa,#f8f7fc80);border-color:#534ab71a}.stat-lbl{font-size:10px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.07em;font-weight:700;line-height:1.3;word-break:normal;overflow-wrap:normal;-webkit-hyphens:manual;hyphens:manual}.stat-val{font-family:var(--font-display);font-weight:800;color:var(--color-text-primary);margin-top:auto;padding-top:6px;font-variant-numeric:tabular-nums;letter-spacing:-.03em;line-height:1.15;white-space:nowrap;min-width:0;overflow:visible;text-align:center;align-self:center;width:100%;box-sizing:border-box;font-size:clamp(.82rem,2.75vw + .45rem,1.28rem)}.stats-row--settle .stat-val{padding-left:1px;padding-right:1px;letter-spacing:-.055em;font-size:clamp(10px,2.65vw + .32rem,15px)}@supports (font-size: 1cqi){.stats-row--settle .stat-val{font-size:clamp(10px,min(2.65vw + .32rem,22cqi),15px)}}@media(min-width:380px){.stat-val{font-size:clamp(.92rem,2.2vw + .55rem,1.32rem)}.stats-row--settle .stat-val{font-size:clamp(11px,2.35vw + .38rem,16px)}}@media(min-width:480px){.stats-row--settle .stat-val{font-size:clamp(12px,2.1vw + .42rem,17px)}}@supports (font-size: 1cqi){@media(min-width:380px){.stats-row--settle .stat-val{font-size:clamp(11px,min(2.35vw + .38rem,24cqi),16px)}}@media(min-width:480px){.stats-row--settle .stat-val{font-size:clamp(12px,min(2.1vw + .42rem,26cqi),17px)}}}.stat--expenses-span .stat-val--expenses-span{overflow:visible;text-overflow:clip;white-space:normal}.trip-code,.code-text,.exp-amt,.s-amt{font-variant-numeric:tabular-nums}.exp-row{display:flex;align-items:flex-start;gap:10px;padding:12px 0;border-bottom:.5px solid var(--color-border-tertiary)}.exp-row:last-child{border-bottom:none}.exp-cat{width:42px;height:42px;border-radius:var(--radius-sm);background:linear-gradient(145deg,#f5f3ef,#ebe8e2);border:1px solid rgba(20,20,19,.06);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;box-shadow:var(--shadow-xs)}.exp-body{flex:1;min-width:0}.exp-title{font-weight:600;font-size:13px;color:var(--color-text-primary);word-break:break-word}.exp-sub{font-size:11px;color:var(--color-text-secondary);margin-top:2px}.exp-split-toggle{display:inline;padding:0;margin:0;border:none;background:none;font:inherit;font-size:11px;font-weight:600;color:var(--color-text-secondary);text-decoration:underline;text-underline-offset:2px;cursor:pointer;touch-action:manipulation}.exp-split-toggle--partial{color:#0f6e56;text-decoration:none;border-bottom:1px dashed rgba(15,110,86,.45)}.exp-split-toggle:focus-visible{outline:2px solid #1d9e75;outline-offset:2px;border-radius:2px}.exp-split-names{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;padding-top:8px;border-top:.5px solid var(--color-border-tertiary)}.exp-split-pill{display:inline-block;font-size:11px;font-weight:600;padding:4px 9px;border-radius:8px;background:#e1f5ee;color:#0f6e56;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exp-amt{font-family:var(--font-display);font-weight:800;font-size:14px;color:#0f6e56;white-space:nowrap}.settle-whopays-hint{font-size:12px;line-height:1.45;color:var(--color-text-secondary);margin:0 0 .75rem}.settle-row{display:flex;flex-direction:column;gap:10px;padding:14px 14px 12px;background:linear-gradient(180deg,rgba(255,255,255,.72) 0%,var(--color-background-secondary) 100%);border:1px solid rgba(20,20,19,.07);border-radius:var(--radius-md);margin-bottom:10px;font-size:12px;box-shadow:var(--shadow-xs)}.settle-row--paid{border-color:#1d9e7566;background:linear-gradient(180deg,#ffffffd9,#e1f5ee8c)}.settle-row-names{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:6px 8px}.s-from{font-weight:700;color:#d85a30;min-width:0;line-height:1.35;word-break:break-word}.s-arr{color:var(--color-text-secondary);font-size:15px;line-height:1;flex-shrink:0;padding:0 2px}.s-to{font-weight:700;color:#0f6e56;min-width:0;line-height:1.35;text-align:right;word-break:break-word}.settle-row-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px;border-top:.5px dashed var(--color-border-tertiary)}.s-amt{font-family:var(--font-display);font-weight:800;font-size:15px;color:var(--color-text-primary);letter-spacing:-.02em;min-width:0;flex:1 1 auto}.settle-paid-cell{flex:0 0 auto;display:flex;justify-content:flex-end}.settle-paid-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 16px;border-radius:12px;border:1px solid rgba(20,20,19,.12);background:var(--color-surface);font-family:var(--font-body);font-weight:700;font-size:13px;color:var(--color-text-primary);cursor:pointer;touch-action:manipulation;box-shadow:0 1px 2px #1414130a;white-space:nowrap}.settle-paid-toggle__icon{font-size:14px;line-height:1;opacity:.85}.settle-paid-toggle.is-on .settle-paid-toggle__icon{opacity:1}.settle-paid-toggle.is-on{background:linear-gradient(180deg,#e8f7f2,#d8f0e8);border-color:#1d9e75;color:#0f6e56;box-shadow:0 1px #1d9e7533}.settle-paid-toggle:active{transform:scale(.98)}.settle-paid-badge{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 14px;border-radius:12px;font-family:var(--font-body);font-weight:700;font-size:13px;color:var(--color-text-secondary);background:#ffffffa6;border:1px solid rgba(20,20,19,.08);white-space:nowrap}.settle-paid-badge__icon{font-size:14px;line-height:1;opacity:.7}.settle-paid-badge.is-on{background:linear-gradient(180deg,#e8f7f2,#d8f0e8);border-color:#1d9e7573;color:#0f6e56}.settle-paid-badge.is-on .settle-paid-badge__icon{opacity:1}@media(max-width:320px){.settle-row-footer{flex-wrap:wrap}.settle-paid-cell{flex:1 1 100%;justify-content:stretch}.settle-paid-toggle,.settle-paid-badge{width:100%}}.member-list{display:flex;flex-direction:column;margin-top:2px;overflow:visible}.member-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:.5px solid var(--color-border-tertiary)}.member-row:last-child{border-bottom:none}.member-row-body{flex:1;min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:6px}.member-row-name{font-weight:600;font-size:14px;color:var(--color-text-primary);word-break:break-word;line-height:1.35}.member-row-badge{font-size:10px;font-weight:700;color:#0f6e56;background:#e1f5ee;padding:2px 8px;border-radius:6px;flex-shrink:0}.member-row-badge--guest{color:#5c5a56;background:#e8e6e1}.avatar{width:26px;height:26px;border-radius:50%;background:#e1f5ee;color:#0f6e56;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:var(--font-display)}.fab{width:56px;height:56px;min-width:56px;min-height:56px;border-radius:50%;background:linear-gradient(145deg,#26b882 0%,var(--accent-mid) 55%,#157a55 100%);color:#fff;border:none;font-size:28px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .15s ease,box-shadow .2s ease;touch-action:manipulation;box-shadow:0 8px 24px #1d9e756b,0 0 0 1px #fff3 inset}.fab:active{transform:scale(.92)}@media(hover:hover){.fab:hover{box-shadow:0 10px 28px #1d9e7580,0 0 0 1px #ffffff40 inset}}.confirm-bg{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:10050;background:#00000080;align-items:center;justify-content:center;padding:1.25rem;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.confirm-bg.open{display:flex}.confirm-dialog{width:100%;max-width:340px;background:var(--color-surface);border-radius:var(--radius-xl);padding:1.35rem 1.25rem calc(1.15rem + env(safe-area-inset-bottom,0px));box-shadow:var(--shadow-md);border:1px solid rgba(20,20,19,.07)}.confirm-title{font-family:var(--font-display);font-weight:800;font-size:1.15rem;letter-spacing:-.03em;color:var(--color-text-primary);margin-bottom:.5rem}.confirm-msg{font-size:14px;line-height:1.5;color:var(--color-text-secondary);margin:0 0 1.25rem}.confirm-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.btn-confirm-cancel{flex:1 1 auto;min-height:48px;padding:12px 14px;border-radius:12px;border:.5px solid var(--color-border-tertiary);background:var(--color-background-secondary);color:var(--color-text-primary);font-family:var(--font-body);font-weight:600;font-size:14px;cursor:pointer;touch-action:manipulation}.btn-confirm-ok{flex:1 1 auto;min-height:48px;padding:12px 14px;border-radius:var(--radius-sm);border:none;background:linear-gradient(180deg,#24a878 0%,var(--accent-mid) 100%);color:#fff;font-family:var(--font-body);font-weight:700;font-size:14px;cursor:pointer;touch-action:manipulation;box-shadow:var(--shadow-glow-accent)}.btn-confirm-danger{background:#c94a2d;color:#fff}.btn-confirm-danger:active,.btn-confirm-ok:active,.btn-confirm-cancel:active{opacity:.92;transform:scale(.98)}.modal-bg{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#1416187a;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);align-items:flex-end;justify-content:center;padding:0;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.modal-bg.open{display:flex}.modal-bg:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.modal{position:relative;z-index:1;background:var(--color-surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:1rem 1.25rem calc(1.5rem + var(--safe-bottom));width:100%;max-width:420px;max-height:min(92dvh,92vh);display:flex;flex-direction:column;min-height:0;box-shadow:0 -12px 48px #14141324;border:1px solid rgba(20,20,19,.06);border-bottom:none}.modal-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.modal-handle{width:40px;height:5px;background:var(--color-border-secondary);border-radius:3px;margin:0 auto 1rem;flex-shrink:0}.modal-title{font-family:var(--font-display);font-weight:800;font-size:1.1rem;letter-spacing:-.02em;color:var(--color-text-primary);margin-bottom:1rem}.row-flex{display:flex;gap:10px;flex-wrap:wrap}.row-flex .field{flex:1 1 140px;min-width:0}.loading{text-align:center;padding:2.5rem 1rem;color:var(--color-text-secondary);font-size:13px}.spinner{width:28px;height:28px;border:2.5px solid var(--color-border-tertiary);border-top-color:#1d9e75;border-radius:50%;animation:spin .7s linear infinite;margin:0 auto .75rem}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation:none;border-top-color:#1d9e75;opacity:.7}.dot-anim span{animation:none!important}.trip-card:hover{transform:none}}.empty{text-align:center;padding:2.5rem 1.25rem;color:var(--color-text-secondary);background:var(--color-surface);border-radius:var(--radius-lg);border:1px dashed rgba(20,20,19,.1);margin:.25rem 0 .5rem}.empty-icon{font-size:36px;display:block;margin-bottom:.5rem}.toast{position:fixed;bottom:calc(88px + var(--safe-bottom));left:50%;transform:translate(-50%);max-width:calc(100vw - 2rem);background:#20201eeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fafaf9;padding:12px 20px;border-radius:999px;font-size:13px;font-weight:600;opacity:0;transition:opacity .28s ease;pointer-events:none;z-index:10001;text-align:center;word-break:break-word;padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));box-shadow:0 8px 32px #00000038,0 0 0 1px #ffffff0f inset;letter-spacing:.01em}.toast.show{opacity:1}.home-actions{padding:.85rem 1rem calc(.85rem + var(--safe-bottom));border-top:1px solid rgba(20,20,19,.06);display:flex;gap:12px;align-items:center;flex-shrink:0;background:#fdfcf9e0;backdrop-filter:var(--blur-glass);-webkit-backdrop-filter:var(--blur-glass);box-shadow:0 -4px 24px #1414130a}.ai-card{border:1px solid rgba(120,110,220,.22);background:linear-gradient(160deg,#faf9ff,#f3f0ff 45%,#f8f7fd);border-radius:var(--radius-lg);padding:1.1rem 1.15rem;margin-bottom:.85rem;box-shadow:var(--shadow-sm)}.ai-badge{display:inline-flex;align-items:center;gap:5px;background:linear-gradient(180deg,#ebe8ff,#e4dff9);color:#4338a8;font-size:11px;font-weight:800;border-radius:8px;padding:4px 10px;margin-bottom:.75rem;border:1px solid rgba(120,110,220,.15);letter-spacing:.02em}.dot-anim span{display:inline-block;width:5px;height:5px;background:#1d9e75;border-radius:50%;margin:0 1px;animation:bop .9s infinite}.dot-anim span:nth-child(2){animation-delay:.15s}.dot-anim span:nth-child(3){animation-delay:.3s}@keyframes bop{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-4px)}}.del-btn{font-size:11px;color:#d85a30;background:none;border:none;cursor:pointer;padding:8px 6px;margin:-4px;min-height:44px;font-family:var(--font-body);font-weight:600;touch-action:manipulation}#jt-code{font-size:16px!important;letter-spacing:2px}.pwa-update-bar{position:fixed;top:0;left:0;right:0;z-index:10003;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:calc(8px + env(safe-area-inset-top,0px)) 12px 10px;background:#1d9e75;color:#fff;font-size:13px;font-weight:600;box-shadow:0 2px 12px #0000001f}.pwa-update-text{flex:1 1 auto;text-align:center;min-width:0}.pwa-update-btn{border:none;background:#fff;color:#0f6e56;font-weight:700;font-size:12px;padding:6px 14px;border-radius:8px;cursor:pointer;touch-action:manipulation;font-family:var(--font-body)}.pwa-update-dismiss{border:none;background:transparent;color:#ffffffe6;font-size:16px;line-height:1;padding:6px 8px;cursor:pointer;touch-action:manipulation}.pwa-install-banner{position:fixed;top:calc(10px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);width:min(420px,calc(100vw - 24px));z-index:10002;animation:pwa-install-in .35s ease-out}.pwa-install-banner.pwa-install-below-update{top:calc(52px + env(safe-area-inset-top,0px))}@keyframes pwa-install-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.pwa-install-inner{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:14px;padding:14px 16px;box-shadow:0 8px 28px #0000001f}.pwa-install-copy{margin-bottom:12px}.pwa-install-title{font-family:var(--font-display);font-weight:800;font-size:1.05rem;color:var(--color-text-primary);letter-spacing:-.02em}.pwa-install-desc{margin:6px 0 0;font-size:13px;line-height:1.45;color:var(--color-text-secondary)}.pwa-install-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.pwa-install-primary{border:none;border-radius:10px;padding:10px 18px;min-height:44px;background:#1d9e75;color:#fff;font-weight:700;font-size:13px;cursor:pointer;font-family:var(--font-body);touch-action:manipulation}.pwa-install-secondary{border:.5px solid var(--color-border-tertiary);border-radius:10px;padding:10px 16px;min-height:44px;background:var(--color-background-secondary);color:var(--color-text-primary);font-weight:600;font-size:13px;cursor:pointer;font-family:var(--font-body);touch-action:manipulation}@media(prefers-reduced-motion:reduce){.pwa-install-banner{animation:none}}
