@import url("https://fonts.googleapis.com/css2?family=Archivo+Black&family=IBM+Plex+Mono:ital,wght@0,400;0,500;0,600;1,400&display=swap");:root{color-scheme:dark;--bg:#0b0b0b;--surface:#111111;--surface-strong:#181818;--surface-hover:#202020;--text:#f0f0ec;--muted:#92928c;--line:#393936;--line-strong:#696963;--accent:#ff3b30;--accent-dark:#c82119;--danger:#ff746c;--success:#d6ff3f;--font-display:"Archivo Black","Arial Black",sans-serif;--font-mono:"IBM Plex Mono","Courier New",monospace}*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body,html{width:100%;max-width:100%;overflow-x:clip}body{margin:0;min-height:100dvh;font-family:var(--font-mono);color:var(--text);background:var(--bg)}body:before{position:fixed;inset:0;z-index:100;pointer-events:none;content:"";opacity:.13;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(255,255,255,.035) 0,rgba(255,255,255,.035) 4px)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,select{cursor:pointer}h1,h2,h3,p{text-wrap:pretty}h1,h2,h3{margin:0}h1,h2{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.055em}h3{line-height:1.25}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skip-link{position:fixed;left:1rem;top:1rem;z-index:120;padding:.75rem 1rem;color:var(--bg);background:var(--text);transform:translateY(-200%)}.skip-link:focus-visible{transform:translateY(0)}.page-shell{min-height:100dvh;padding:1rem}.page-frame{width:min(100%,82rem);max-width:100%;margin:0 auto}.stack{display:grid;grid-gap:1rem;gap:1rem}.expense-card__index,.member-index,.panel-index,.section-eyebrow,.settlement-card__step{margin:0;color:var(--muted);font-size:.7rem;font-weight:600;letter-spacing:.11em;line-height:1.2;text-transform:uppercase}.panel-index{color:var(--accent);font-size:clamp(2.6rem,8vw,5.5rem);font-family:var(--font-display);letter-spacing:-.06em}.muted{color:var(--muted)}.card,.dialog-panel,.empty-state{border:1px solid var(--line);background:var(--surface)}.card,.empty-state{padding:1rem}.button{display:inline-flex;min-height:2.9rem;align-items:center;justify-content:center;border:1px solid var(--line-strong);padding:.72rem 1rem;color:var(--text);background:transparent;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;transition:color .14s ease,background-color .14s ease,border-color .14s ease,transform .14s ease}.button:hover{border-color:var(--text);color:var(--bg);background:var(--text)}.button:active{transform:translateY(2px)}.button:disabled{cursor:not-allowed;color:#5d5d59;border-color:#30302e;background:#161615;transform:none}.button--primary{border-color:var(--accent);color:var(--text);background:var(--accent)}.button--primary:hover{color:var(--bg);background:var(--text)}.button--primary:hover,.button--secondary{border-color:var(--text)}.button--ghost{min-height:2.2rem;border-color:transparent;padding:.4rem .55rem;color:var(--muted);background:transparent}.button--ghost:hover{border-color:var(--line);color:var(--text);background:var(--surface-hover)}.button--danger{border-color:var(--danger);color:var(--danger)}.button--wide{width:100%;min-height:3.6rem}.button--square{width:3.5rem;min-width:3.5rem;padding:0;font-size:1.25rem}.field{display:grid;grid-gap:.45rem;gap:.45rem}.field__label{color:var(--muted);font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.field__error,.form-message--error{color:var(--danger);font-size:.75rem}.input,.textarea{width:100%;border:1px solid var(--line-strong);border-radius:0;padding:.9rem .85rem;color:var(--text);background:var(--bg);transition:border-color .14s ease,background-color .14s ease}.input{min-height:3.25rem}.input:hover,.textarea:hover{border-color:var(--text)}.input:focus,.textarea:focus{border-color:var(--accent);background:#0f0f0f}.input::placeholder,.textarea::placeholder{color:#656560;opacity:1}.input--error{border-color:var(--danger)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text) 50%),linear-gradient(135deg,var(--text) 50%,transparent 50%);background-position:calc(100% - 1rem) calc(50% - 2px),calc(100% - .7rem) calc(50% - 2px);background-repeat:no-repeat;background-size:5px 5px}.textarea{min-height:6.5rem;resize:vertical}.form-message{margin:0;border-left:3px solid;padding:.7rem .8rem;background:#18110f}.form-message--success{color:var(--success);background:#14180a}.page-shell--home{display:grid;align-items:center;padding-block:1.25rem}.home-intro{display:grid;min-height:18rem;align-content:space-between;border:1px solid var(--line);border-bottom:0;padding:1rem}.brand-lockup{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.brand-lockup span{color:var(--accent);font-family:var(--font-display);font-size:1.25rem;letter-spacing:-.05em}.home-intro h1{max-width:12ch;margin-top:1.5rem;font-size:clamp(3.4rem,11vw,8.6rem);line-height:.83}.home-console{display:grid}.hero-card,.return-card{position:relative;display:grid;grid-gap:1.5rem;gap:1.5rem;overflow:hidden}.hero-card{border-bottom:0}.panel-heading{position:relative;z-index:1}.panel-heading h2{margin-top:.2rem;font-size:clamp(1.8rem,5vw,3.2rem);line-height:.9}.start-form{position:relative;z-index:1;display:grid;grid-gap:.85rem;gap:.85rem}.open-trip-form{display:flex;gap:.5rem}.open-trip-form .field{flex:1 1}.recent-trips{display:grid;grid-gap:.75rem;gap:.75rem;border-top:1px solid var(--line);padding-top:1rem}.member-list,.recent-list{display:grid;grid-gap:0;gap:0;margin:0;padding:0;list-style:none}.recent-link{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:.8rem 0;font-size:.82rem;transition:padding .14s ease,color .14s ease}.recent-link:hover{padding-left:.5rem;color:var(--accent)}.site-footer{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--line);border-top:0;color:var(--muted);font-size:.62rem;letter-spacing:.07em;text-transform:uppercase}.site-footer span{flex:1 1 auto;border-right:1px solid var(--line);padding:.8rem 1rem;text-align:center}.site-footer span:last-child{border-right:0}.trip-header{padding:0}.trip-header__top{display:grid;grid-template-columns:3.6rem minmax(0,1fr) auto;align-items:stretch}.trip-brand{display:grid;min-height:5.5rem;place-items:center;border-right:1px solid var(--line);color:var(--accent);font-family:var(--font-display);font-size:1.5rem}.trip-title{display:grid;min-width:0;align-content:center;padding:.75rem 1rem}.trip-title h1{overflow:hidden;margin-top:.15rem;font-size:clamp(1.8rem,5vw,3.8rem);line-height:.9;text-overflow:ellipsis;white-space:nowrap}.trip-header__top>.button{align-self:stretch;border-width:0 0 0 1px;border-color:var(--line)}.trip-nav{display:flex;border-top:1px solid var(--line)}.trip-nav__link{position:relative;flex:1 1;border-right:1px solid var(--line);padding:.85rem 1rem;color:var(--muted);font-size:.7rem;font-weight:600;letter-spacing:.06em;text-align:center;text-transform:uppercase;transition:color .14s ease,background-color .14s ease}.trip-nav__link:last-child{border-right:0}.trip-nav__link:hover{color:var(--text);background:var(--surface-hover)}.trip-nav__link--active{color:var(--text);background:var(--surface-strong)}.trip-nav__link--active:after{position:absolute;right:.65rem;bottom:.55rem;width:.4rem;height:.4rem;content:"";background:var(--accent)}.setup-grid,.workspace-grid{display:grid;align-items:start;grid-gap:1rem;gap:1rem}.workspace-main,.workspace-sidebar{min-width:0}.setup-grid{border:1px solid var(--line)}.setup-copy{display:grid;min-height:18rem;align-content:end;grid-gap:.8rem;gap:.8rem;padding:1rem}.setup-copy h2{max-width:8ch;font-size:clamp(2.5rem,8vw,5rem);line-height:.88}.setup-grid>.card{border-width:1px 0 0}.balance-card__header,.dialog-panel__footer,.expense-card__actions,.expense-card__top,.filters,.section-bar,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.section-bar,.section-heading{align-items:end;flex-wrap:wrap}.section-bar h2,.section-heading h2{margin-top:.15rem;font-size:clamp(1.8rem,5vw,3rem);line-height:.9}.inline-form{grid-template-columns:minmax(0,1fr) auto;align-items:start}.inline-form .form-message{grid-column:1/-1}.member-list{border:1px solid var(--line);border-bottom:0}.member-row{display:grid;grid-template-columns:2.2rem minmax(0,1fr) auto;align-items:center;border-bottom:1px solid var(--line);min-height:3rem}.member-row--archived{opacity:.45}.member-index{padding-left:.65rem}.member-name{overflow:hidden;padding:.65rem;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.member-row form{align-self:stretch}.member-row form .button{height:100%;border-left:1px solid var(--line)}.member-badge,.member-pill{display:inline-flex;min-width:0;align-items:center;gap:.5rem;font-size:.76rem;font-weight:600}.member-badge__dot,.member-pill__dot{width:.55rem;height:.55rem;flex:0 0 auto}.balance-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:1px;gap:1px;border:1px solid var(--line);background:var(--line)}.balance-card{min-width:0;container-type:inline-size;border:0;background:var(--surface)}.balance-card__amount,.expense-card__amount{margin:1.4rem 0;font-family:var(--font-display);font-size:clamp(2rem,7vw,4.4rem);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.06em;line-height:.85}.balance-card__meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:0;gap:0;margin:0;border-top:1px solid var(--line)}.balance-card__amount{font-size:clamp(1.75rem,17cqi,4.4rem);overflow-wrap:anywhere}.balance-card__meta div{padding-top:.7rem}.balance-card__meta div+div{border-left:1px solid var(--line);padding-left:.7rem}.balance-card__meta dd,.balance-card__meta dt{margin:0;font-size:.72rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.balance-card__meta dt{color:var(--muted);text-transform:uppercase}.balance-card__meta dd{margin-top:.2rem}.status-chip{border:1px solid var(--line);padding:.3rem .45rem;color:var(--muted);font-size:.62rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.status-chip--receive{border-color:var(--accent);color:var(--accent)}.status-chip--pay{border-color:var(--text);color:var(--text)}.checkbox-grid,.filters,.form-row{display:grid;grid-gap:.75rem;gap:.75rem}.filters{align-items:end}.expense-card{position:relative;display:grid;grid-gap:.7rem;gap:.7rem;padding-left:3.5rem}.expense-card__index{position:absolute;left:1rem;top:1.25rem;color:var(--accent)}.expense-card__top{align-items:start}.expense-card h3{font-size:.95rem}.expense-card p{margin:.25rem 0 0;font-size:.72rem}.expense-card__amount{flex:0 0 auto;margin:0;font-size:clamp(1.5rem,5vw,2.6rem);text-align:right}.expense-card__actions{justify-content:flex-start;border-top:1px solid var(--line);padding-top:.6rem}.expense-form,.expense-form__body{display:grid;grid-gap:1rem;gap:1rem}.expense-form__body--reset{animation:form-reset .42s ease}.fieldset{display:grid;grid-gap:.7rem;gap:.7rem;margin:0;border:0;padding:0}.checkbox-grid{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.checkbox{display:flex;align-items:flex-start;gap:.6rem;border:1px solid var(--line);padding:.7rem;background:var(--bg)}.checkbox__input{margin-top:.15rem;accent-color:var(--accent)}.checkbox__content{display:grid;grid-gap:.15rem;gap:.15rem}.checkbox__label{font-size:.78rem;font-weight:600}.checkbox__hint{color:var(--muted);font-size:.65rem}.settlement-actions{display:flex;align-items:flex-end;gap:.6rem}.settlement-actions .field{min-width:7.5rem}.exchange-rate-card{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem;border-color:var(--line-strong);background:var(--surface-strong)}.exchange-rate-field{flex:0 1 28rem}.exchange-rate-input{display:grid;grid-template-columns:auto minmax(6rem,9rem) auto;align-items:center;grid-gap:.65rem;gap:.65rem;font-size:.78rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.exchange-rate-input .input{min-height:2.8rem;padding-block:.65rem}.exchange-rate-copy{flex:1 1 18rem;margin:0 0 .2rem;color:var(--muted);font-size:.7rem}.settlement-card{position:relative;overflow:hidden}.settlement-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.settlement-card h3{margin-top:.5rem;font-family:var(--font-display);font-size:clamp(1.4rem,5vw,2.7rem);letter-spacing:-.045em;line-height:.95;text-transform:uppercase}.settlement-card__done{margin:.8rem 0 0;color:var(--success);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}.settlement-card__conversion{margin:.6rem 0 0;color:var(--muted);font-size:.7rem}.settlement-toggle{display:inline-grid;width:3.5rem;height:3.5rem;flex:0 0 auto;place-items:center;border:1px solid var(--line-strong);border-radius:0;color:var(--text);background:var(--bg);transition:background-color .14s ease,border-color .14s ease}.settlement-toggle:hover{border-color:var(--text)}.settlement-toggle__box{display:grid;width:1.5rem;height:1.5rem;place-items:center;border:1px solid var(--line-strong)}.settlement-toggle__check{width:1rem;height:1rem}.settlement-toggle__check path{fill:none;stroke:var(--bg);stroke-linecap:square;stroke-linejoin:miter;stroke-width:3;opacity:0}.settlement-toggle--checked{border-color:var(--success);background:var(--success)}.settlement-toggle--checked .settlement-toggle__box{border-color:var(--bg);background:var(--success)}.settlement-toggle--checked .settlement-toggle__check path{opacity:1}.empty-state{display:grid;min-height:12rem;align-content:center;justify-items:start;grid-gap:.8rem;gap:.8rem}.empty-state h1,.empty-state h2{max-width:13ch;font-size:clamp(2rem,7vw,4rem);line-height:.9}.empty-state p{max-width:42ch;margin:0;color:var(--muted);font-size:.78rem}.empty-state__action{margin-top:.5rem}.overlay{position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.8)}.dialog-panel{position:fixed;left:50%;top:50%;z-index:50;width:min(calc(100vw - 1rem),42rem);max-height:calc(100dvh - 1rem);overflow:auto;padding:1rem;transform:translate(-50%,-50%)}.dialog-panel--sheet{inset:0 0 0 auto;width:min(36rem,100vw);max-height:100dvh;border-width:0 0 0 1px;transform:none}.dialog-panel__header{display:grid;grid-gap:.35rem;gap:.35rem;border-bottom:1px solid var(--line);margin-bottom:1rem;padding-bottom:1rem}.dialog-panel__header h2{font-size:clamp(2rem,8vw,4rem);line-height:.88}.dialog-panel__header p{margin:0;color:var(--muted);font-size:.74rem}.dialog-panel__footer{position:-webkit-sticky;position:sticky;bottom:-1rem;z-index:2;justify-content:flex-end;border-top:1px solid var(--line);margin-top:.5rem;margin-inline:-1rem;padding:1rem;background:var(--surface)}.toast-viewport{position:fixed;right:1rem;top:1rem;z-index:80;width:min(24rem,calc(100vw - 2rem))}.toast{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;grid-gap:.8rem;gap:.8rem;border:1px solid var(--text);padding:.9rem;color:var(--text);background:var(--bg)}.toast[data-state=open]{animation:toast-in .18s ease-out}.toast[data-state=closed]{animation:toast-out .14s ease-in forwards}.toast__badge{display:grid;width:1.6rem;height:1.6rem;place-items:center;color:var(--bg);background:var(--accent);font-weight:600}.toast--success .toast__badge{background:var(--success)}.toast__description,.toast__title{margin:0}.toast__title{font-size:.78rem;font-weight:600;text-transform:uppercase}.toast__description{margin-top:.2rem;color:var(--muted);font-size:.7rem}@keyframes toast-in{0%{opacity:0;transform:translateX(.75rem)}}@keyframes toast-out{to{opacity:0;transform:translateX(.75rem)}}@keyframes form-reset{50%{opacity:.35;transform:translateY(.25rem)}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (min-width:760px){.home-intro,.page-shell{padding:1.5rem}.home-intro{min-height:25rem}.home-console{grid-template-columns:minmax(0,1.35fr) minmax(20rem,.8fr)}.hero-card,.return-card{min-height:26rem;padding:1.5rem}.hero-card{border-right:0;border-bottom:1px solid var(--line)}.start-form{grid-template-columns:repeat(2,minmax(0,1fr));align-self:end}.start-form .button,.start-form .field:first-child,.start-form .form-message{grid-column:1/-1}.return-card{align-content:space-between}.workspace-grid{grid-template-columns:minmax(17rem,21rem) minmax(0,1fr)}.setup-grid{grid-template-columns:minmax(0,1.1fr) minmax(20rem,.9fr)}.setup-grid>.card{min-height:22rem;border-width:0 0 0 1px}.workspace-main .balance-grid{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}.filters,.form-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:759px){.page-shell{width:100%;max-width:100%;overflow-x:clip;padding:.5rem}.page-frame,.workspace-grid,.workspace-main,.workspace-sidebar{width:100%;max-width:100%;min-width:0}.stack{gap:.75rem}.card,.empty-state{padding:.85rem}.trip-header{padding:0}.trip-header__top{grid-template-columns:2.8rem minmax(0,1fr) auto}.trip-header__top>.button{grid-column:auto;border-width:0 0 0 1px;padding-inline:.65rem;font-size:.66rem}.trip-brand{min-height:4.5rem;font-size:1.2rem}.trip-title{padding:.65rem .75rem}.trip-title h1{font-size:clamp(1.35rem,6.5vw,2.1rem)}.trip-nav__link{padding:.72rem .35rem}.expense-card__top{display:grid}.expense-card__amount{text-align:left}.settlement-actions{width:100%}.settlement-actions .field{flex:1 1}.dialog-panel--sheet{inset:0;display:flex;width:100%;max-width:none;height:100dvh;max-height:none;flex-direction:column;border:0;padding:0;overflow:hidden;overscroll-behavior:contain}.dialog-panel--sheet .dialog-panel__header{flex:0 0 auto;margin:0;padding:max(1rem,env(safe-area-inset-top)) 1rem .85rem}.dialog-panel--sheet .dialog-panel__header h2{font-size:clamp(2rem,11vw,3rem)}.dialog-panel--sheet .expense-form{min-height:0;flex:1 1;display:flex;flex-direction:column;gap:0;overflow:hidden}.dialog-panel--sheet .expense-form__body{min-height:0;flex:1 1;gap:.8rem;padding:.9rem 1rem;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.dialog-panel--sheet .form-row{grid-template-columns:minmax(0,1.25fr) minmax(6.25rem,.75fr);gap:.65rem}.dialog-panel--sheet .input{min-width:0}.dialog-panel--sheet .textarea{min-height:5.25rem;resize:none}.dialog-panel--sheet .checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.dialog-panel--sheet .checkbox{min-width:0;padding:.65rem}.dialog-panel--sheet .checkbox__content{min-width:0}.dialog-panel--sheet .checkbox__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dialog-panel--sheet .checkbox__hint{display:none}.dialog-panel--sheet .form-message{margin:.75rem 1rem 0}.dialog-panel--sheet .dialog-panel__footer{position:static;flex:0 0 auto;gap:.65rem;margin:0;padding:.75rem 1rem max(.75rem,env(safe-area-inset-bottom))}.dialog-panel--sheet .dialog-panel__footer .button{min-height:3.2rem;flex:1 1}}