:root{--green:#61e39e;--aqua:#70e6db;--teal:#1a9e9e;--deep:#1c6e9e;--accent:#15b79e;--accent-text:#0e8f7b;--brand-gradient:linear-gradient(135deg, var(--green) 0%, var(--aqua) 50%, var(--teal) 100%);--button-gradient:linear-gradient(135deg, #14a06f 0%, #0e8a80 55%, #0c6f78 100%);--bg:#f3faf7;--text:#10201c;--muted:#5d6d69;--surface:#ffffffc7;--surface-solid:#fff;--border:#10201c17;--hover:#15b79e14;--grid:#10201c12;--input:#10201c0b;--pos:#0e8f7b;--neg:#d6363d;--warn:#c07a0a;--shadow:0 1px 2px #10201c0d, 0 8px 24px #10201c0f;--radius:18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}@media (prefers-color-scheme:dark){:root{--accent:#3ad4b0;--accent-text:#5fe2c2;--bg:#0b1412;--text:#e6f1ee;--muted:#93a6a1;--surface:#ffffff0f;--surface-solid:#16211e;--border:#ffffff17;--hover:#3ad4b01a;--grid:#ffffff12;--input:#ffffff0f;--pos:#4fd9b6;--neg:#ff6b6f;--warn:#f0b44a;--shadow:0 1px 2px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:radial-gradient(1200px 520px at -10% -10%, #61e39e47, transparent 60%), radial-gradient(900px 420px at 110% -5%, #70e6db33, transparent 60%), var(--bg);color:var(--text);background-attachment:fixed;font-size:16px;line-height:1.4}a{color:var(--accent-text);text-decoration:none}button{font:inherit;color:inherit}input,select,textarea{font:inherit;color:var(--text)}h1,h2,h3{margin:0}.muted{color:var(--muted)}.small{font-size:13px}.strong{font-weight:600}.center{text-align:center}.pad{padding:24px 0}.grow{flex:1}.min0{min-width:0}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pos{color:var(--pos)}.neg{color:var(--neg)}.warn{color:var(--warn)}.stack{flex-direction:column;gap:14px;display:flex}.row-gap{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.right{text-align:right;flex-shrink:0}.amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.screen{flex-direction:column;max-width:680px;min-height:100dvh;margin:0 auto;display:flex}.topbar{z-index:10;padding:calc(env(safe-area-inset-top) + 10px) 16px 10px;background:color-mix(in srgb, var(--bg) 72%, transparent);-webkit-backdrop-filter:blur(18px)saturate(160%);grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid;position:sticky;top:0}.topbar-title{text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:650;overflow:hidden}.topbar-large{grid-template-columns:1fr auto;padding-bottom:4px}.topbar-large .topbar-side:first-child{display:none}.topbar-large .topbar-title{text-align:left;letter-spacing:-.02em;font-size:32px;font-weight:750}.topbar-side{align-items:center;gap:8px;min-width:0;display:flex}.topbar-actions{justify-content:flex-end}.title-with-icon{align-items:center;gap:6px;display:inline-flex}.wordmark{box-sizing:content-box;width:auto;max-width:100%;height:50px;padding:4px 6px;display:block}@media (width<=480px){.wordmark{height:40px}}.topbar-large .topbar-title:has(.wordmark){overflow:visible}.content{padding:8px 16px calc(env(safe-area-inset-bottom) + 110px);flex:1}.footer-bar{z-index:10;padding:10px 16px calc(env(safe-area-inset-bottom) + 12px);background:linear-gradient(to top, var(--bg) 55%, transparent);position:sticky;bottom:0}.app-footer{text-align:center;color:var(--muted);margin:32px 0 0;font-size:13px;line-height:1.5}.app-footer p{margin:0}.app-footer-meta{opacity:.8;font-variant-numeric:tabular-nums;font-size:11px}.auth .app-footer{margin-top:24px}.center-screen{place-items:center;min-height:100dvh;padding:24px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px)saturate(160%)}.section{margin:0 0 18px}.section>.card{padding:6px 14px}.section-title{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:4px 4px 8px;font-size:13px;font-weight:600}.section-footer{color:var(--muted);margin:8px 4px 0;font-size:13px}.summary{text-align:center;padding:16px;font-size:17px}.summary.pos{color:var(--pos)}.summary.neg{color:var(--neg)}.icon-tile{color:#fff;border-radius:28%;flex-shrink:0;place-items:center;line-height:1;display:inline-grid}.icon-tile-brand{background:var(--brand-gradient);box-shadow:0 3px 10px #1a9e9e4d}.avatar{background:var(--brand-gradient);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:14px;font-weight:700;display:inline-grid}.avatar-img,.avatar-dino{background:0 0;border-radius:50%;flex-shrink:0;display:block}.avatar-img{object-fit:cover;background:var(--input)}.avatar-btn{border:1px solid var(--border);background:var(--surface);border-radius:50%;flex-shrink:0;place-items:center;width:38px;height:38px;display:inline-grid;overflow:hidden}.profile-photo{align-items:center;gap:18px;padding:12px 0;display:flex}.profile-photo-actions{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.btn.disabled{opacity:.5;pointer-events:none}.dino-picker{grid-template-columns:repeat(5,1fr);gap:8px;padding:6px 0 12px;display:grid}@media (width<=480px){.dino-picker{gap:6px}.dino-picker button{padding:8px 2px;font-size:11px}}.dino-picker button{border:1px solid var(--border);background:var(--input);cursor:pointer;color:var(--text);border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;font-size:13px;font-weight:600;display:flex}.dino-picker button.selected{border-color:var(--accent);background:var(--hover);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 35%, transparent)}.badge{background:var(--hover);color:var(--accent-text);border-radius:99px;padding:2px 8px;font-size:12px;font-weight:600}.group-row{color:inherit;align-items:center;gap:14px;padding:14px;transition:transform .12s;display:flex}.group-row:active{transform:scale(.985)}.row-title{font-size:16px;font-weight:600;line-height:1.3}.row-title-regular{font-weight:500}.row-sub{margin-top:2px;font-size:14px;line-height:1.35}.list-empty{color:var(--muted);font-size:14px}.chevron{color:var(--muted);font-size:22px;line-height:1}.list{padding:0;overflow:hidden}.list-row{color:inherit;border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 14px;display:flex}.list-row:last-child{border-bottom:0}a.list-row:active,a.list-row:hover{background:var(--hover)}.legend{flex-direction:column;gap:10px;margin-top:6px;display:flex}.legend-row{align-items:center;gap:10px;font-size:15px;display:flex}.legend-subs{color:var(--muted);flex-direction:column;gap:2px;margin:4px 0 0 38px;padding:0;font-size:13px;list-style:none;display:flex}.legend-subs li{font-variant-numeric:tabular-nums;justify-content:space-between;gap:10px;display:flex}.field-hint{color:var(--accent);font-weight:500}.kv{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.kv:last-child{border-bottom:0}.kv span:last-child{text-align:right}.btn{border:1px solid var(--border);background:var(--surface-solid);cursor:pointer;color:var(--text);border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-weight:600;transition:transform .1s,opacity .15s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--button-gradient);color:#fff;text-shadow:0 1px 1px #00000026;border:0;box-shadow:0 6px 18px #1a9e9e52}.btn-block{width:100%;margin-top:10px}.btn-pill{border-radius:99px;padding:15px 18px;font-size:17px}.btn-small{border-radius:10px;padding:7px 12px;font-size:14px}.btn-danger-outline{color:var(--neg);border-color:color-mix(in srgb, var(--neg) 40%, transparent);background:0 0}.icon-btn{background:var(--surface);border:1px solid var(--border);cursor:pointer;width:38px;height:38px;color:var(--text);-webkit-backdrop-filter:blur(12px);border-radius:50%;flex-shrink:0;place-items:center;display:inline-grid}.link-btn{color:var(--accent-text);cursor:pointer;background:0 0;border:0;padding:6px 0;font-weight:600}.add-row{padding:12px 0;display:block}.menu-pop{z-index:1000;background:var(--surface-solid);min-width:230px;max-width:calc(100vw - 16px);padding:6px;position:fixed;box-shadow:0 12px 40px #0000002e}.date-btn{border:1px solid var(--border);background:var(--input);width:100%;height:42px;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:6px;min-width:0;padding:8px 12px;font-size:16px;display:flex}.date-btn:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}.date-repeat{flex:none;font-size:14px}.date-dialog{width:min(360px,100%)}.cal-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.cal-head strong{font-size:16px}.cal-head .icon-btn{font-size:22px;line-height:1}.cal-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal-weekday{color:var(--muted);padding:4px 0;font-size:12px;font-weight:600}.cal-day{aspect-ratio:1;color:var(--text);font:inherit;cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:50%;place-items:center;font-size:15px;display:grid}.cal-day:hover{background:var(--hover)}.cal-day.out{color:var(--muted);opacity:.55}.cal-day.today{box-shadow:inset 0 0 0 1.5px var(--accent)}.cal-day.selected{background:var(--button-gradient);color:#fff;font-weight:700}.cal-options{border-top:1px solid var(--border);margin-top:10px;padding-top:6px}.cal-options .field.inline select{width:auto;max-width:60%}.cal-note{margin:4px 0 0}.repeat-mark{font-size:.85em}.bell-btn{position:relative}.bell-badge{background:var(--neg);color:#fff;text-align:center;font-variant-numeric:tabular-nums;min-width:18px;height:18px;box-shadow:0 0 0 2px var(--bg);border-radius:9px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px;position:absolute;top:-4px;right:-4px}.notif-panel{z-index:1000;background:var(--surface-solid);flex-direction:column;max-height:min(72vh,560px);padding:6px;display:flex;position:fixed;box-shadow:0 12px 40px #0000002e}.notif-head{padding:8px 10px 6px;font-size:15px;font-weight:700}.notif-list{overscroll-behavior:contain;flex-direction:column;gap:2px;display:flex;overflow-y:auto}.notif-item{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:flex-start;gap:10px;padding:10px;display:flex}div.notif-item{cursor:default}button.notif-item:hover{background:var(--hover)}.notif-item.fresh{background:color-mix(in srgb, var(--accent) 10%, transparent)}.notif-text{overflow-wrap:anywhere;flex-direction:column;flex:1;gap:2px;min-width:0;font-size:14px;line-height:1.35;display:flex}.notif-when{color:var(--muted);font-size:12px}.notif-dot{background:var(--accent);border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px}.notif-empty{text-align:center;margin:0;padding:18px 12px;font-size:14px}.notif-more{border:1px solid var(--border);background:var(--input);color:inherit;font:inherit;cursor:pointer;border-radius:12px;margin:6px 4px 2px;padding:10px;font-weight:600}.dialog-backdrop{z-index:1100;padding:16px 16px calc(env(safe-area-inset-bottom) + 16px);background:#08141161;place-items:center;animation:.15s fade;display:grid;position:fixed;inset:0}.dialog{background:var(--surface-solid);width:min(440px,100%);padding:20px 18px 16px}.dialog h3{margin-bottom:4px;font-size:18px}.dialog p{margin:0 0 6px}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:10px;display:flex}@keyframes fade{0%{opacity:0}}.menu-item{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;width:100%;padding:11px 12px;display:block}.menu-item:hover{background:var(--hover)}.menu-item.danger{color:var(--neg)}.segmented{background:var(--input);border-radius:12px;grid-auto-columns:1fr;grid-auto-flow:column;gap:2px;margin:0 0 14px;padding:3px;display:grid}.segmented button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:8px 4px;font-size:14px;font-weight:600}.segmented button.active{background:var(--surface-solid);color:var(--text);box-shadow:0 1px 3px #0000001f}.form{flex-direction:column;gap:12px;margin-top:18px;display:flex}.field{flex-direction:column;gap:4px;min-width:0;padding:6px 0;display:flex}.field>span{color:var(--muted);font-size:13px;font-weight:600}.field.inline{flex-direction:row;justify-content:space-between;align-items:center}.field-row{gap:10px;display:flex}.field-row>.field.grow{flex:1 1 0}.field-static{padding:10px 0}input:not([type=checkbox]):not([type=file]),select,textarea,.search{border:1px solid var(--border);background:var(--input);border-radius:12px;outline:none;width:100%;padding:8px 12px;font-size:16px}input:not([type=checkbox]):not([type=file]),select{min-width:0;height:42px}input[type=date]{text-align:left;display:block}input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}@supports (-webkit-touch-callout:none){input[type=date]{appearance:none}}.amount-input{text-align:right;font-variant-numeric:tabular-nums}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}textarea{resize:vertical;margin:8px 0}.field.inline input{width:auto}.form-error{color:var(--neg);margin:8px 2px;font-size:14px}.form-info{color:var(--pos);margin:8px 2px;font-size:14px}.form-card{flex-direction:column;gap:10px;padding:14px;display:flex}.search{background:var(--surface)}.search-field{display:block;position:relative}.search-field input.search{padding-left:40px}.search-icon{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.icon-picker{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.icon-picker button{aspect-ratio:1;border:1px solid var(--border);background:var(--input);cursor:pointer;border-radius:12px;font-size:22px}.icon-picker button.selected{background:var(--hover);border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 35%, transparent)}.person-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 0;display:flex}.person-edit{border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr auto;align-items:center;gap:8px;padding:8px 0;display:grid}.person-edit:has(>:nth-child(2):last-child){grid-template-columns:1fr 1fr}.add-row-actions{justify-content:space-between;gap:12px;display:flex}.block{display:block}.suggest-wrap{min-width:0;position:relative}.card:has(.suggest){z-index:40;position:relative}.suggest{z-index:30;background:var(--surface-solid);-webkit-backdrop-filter:none;width:max(100%,260px);max-height:260px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 12px 32px #00000029}.suggest-item{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:8px;display:flex}.suggest-item.active,.suggest-item:hover{background:var(--hover)}.address-book{flex-direction:column;gap:10px;max-height:min(80dvh,640px);display:flex}.address-list{overscroll-behavior:contain;flex-direction:column;margin:0 -6px;display:flex;overflow-y:auto}.address-row{cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:8px 6px;display:flex}.address-row:hover{background:var(--hover)}.address-row input{width:20px;height:20px;accent-color:var(--accent);flex:none}.rate-row{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 0;display:grid}.map-row{border-bottom:1px solid var(--border);grid-template-columns:1fr auto minmax(140px,1.2fr);align-items:center;gap:10px;padding:8px 0;display:grid}.map-row:last-child{border-bottom:0}.split-list{flex-direction:column;display:flex}.split-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:8px 0;display:flex}.split-row.off{opacity:.55}.check{cursor:pointer;flex:1;align-items:center;gap:10px;display:flex}.check input{width:20px;height:20px;accent-color:var(--accent)}.split-input{text-align:right;max-width:120px}.split-tools{gap:16px;padding:4px 0;display:flex}.split-summary{border-top:1px solid var(--border);justify-content:space-between;padding:10px 0;font-weight:600;display:flex}.date-range{padding:8px 14px}.chips{flex-wrap:wrap;gap:6px;padding:8px 0;display:flex}.chip{border:1px solid var(--border);background:var(--input);cursor:pointer;color:var(--text);border-radius:99px;padding:6px 12px;font-size:13px;font-weight:600}.chip-on{background:var(--accent);border-color:var(--accent);color:#fff}.chart-card{padding:14px 14px 10px}.card-head{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.card-head h3{font-size:16px;font-weight:650}.chart-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;margin-bottom:6px;display:flex}.chart-controls .segmented{flex:0 260px;margin:0}.chart-note{margin:6px 2px 0}.charts-grid{gap:14px;display:grid}.file-drop{border:2px dashed var(--border);cursor:pointer;color:var(--accent-text);border-radius:14px;flex-direction:column;align-items:center;gap:6px;margin:8px 0;padding:22px 12px;font-weight:600;display:flex;position:relative}.file-drop input{opacity:0;cursor:pointer;position:absolute;inset:0}.file-drop-icon{font-size:30px}.empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:48px 16px;display:flex}.empty-icon{font-size:44px}.empty h3{font-size:20px}.empty p{color:var(--muted);max-width:360px;margin:0 0 8px}.spinner-wrap{flex-direction:column;align-items:center;gap:12px;padding:48px 0;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.banner{border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:12px 14px;font-size:14px;display:flex}.banner-error{background:color-mix(in srgb, var(--neg) 12%, transparent);color:var(--neg)}.banner-ok{background:color-mix(in srgb, var(--pos) 12%, transparent);color:var(--pos);flex-wrap:wrap}.auth{min-height:100dvh;padding:calc(env(safe-area-inset-top) + 24px) 16px 24px;grid-template-rows:1fr auto;place-items:center;display:grid}.auth-card{text-align:center;width:100%;max-width:400px;padding:28px 22px}.auth-card h1{letter-spacing:-.02em;margin-top:10px;font-size:26px}.auth-card .form{text-align:left}.auth-logo{border-radius:22%;width:76px;height:76px;box-shadow:0 8px 24px #1a9e9e59}.auth-links{color:var(--muted);flex-direction:column;gap:10px;margin-top:18px;font-size:14px;display:flex}.section-head{justify-content:space-between;align-items:baseline;display:flex}.section-head .section-title{margin-right:0}.section-action{color:var(--accent-text);cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:13px;font-weight:600}.side-link{margin:10px 0 0;display:inline-block}.stats{grid-template-columns:repeat(3,1fr);padding:14px 6px;display:grid}.stat{text-align:center;flex-direction:column;align-items:center;gap:4px;padding:0 6px;display:flex}.stat+.stat{border-left:1px solid var(--border)}.stat-label{color:var(--muted);font-size:13px}.stat-value{font-variant-numeric:tabular-nums;font-size:17px;font-weight:700}.owe-columns{gap:14px;display:grid}.debt-row{align-items:flex-start}.debt-lines{color:var(--muted);flex-direction:column;gap:3px;margin:6px 0 0;padding:0;font-size:13px;line-height:1.4;list-style:none;display:flex}.debt-group{color:var(--text);font-weight:500}.debt-lines a{color:inherit}.debt-lines a:hover{color:var(--text)}.invite-card{margin-top:14px}.invite-card h3{font-size:15px}.home-tabs{margin-bottom:4px}.home-side{flex-direction:column;gap:18px;display:flex}@media (width<=899px){.home[data-tab=summary] .pane:not(.pane-summary),.home[data-tab=groups] .pane:not(.pane-groups),.home[data-tab=friends] .pane:not(.pane-friends){display:none}.stat-value{font-size:15px}}@media (width>=720px){.content{padding-top:16px}.owe-columns{grid-template-columns:1fr 1fr}.charts-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}}@media (width>=900px){.screen-wide{max-width:1120px}.home{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:24px;display:grid}.home-tabs{display:none}.home-side{grid-area:1/1;position:sticky;top:76px}.home-main{grid-area:1/2}.stat-value{font-size:20px}}
