:root { color-scheme: light; --ink:#211b42; --muted:#716d88; --paper:#f4f1fb; --card:#fff; --purple:#5c43d8; --purple-dark:#2f246c; --lime:#bce85f; --aqua:#55d6c8; --orange:#ff9568; --danger:#c34358; --line:#e6e1f0; --shadow:0 20px 60px rgba(37,27,79,.14); font-family:Inter,ui-rounded,"SF Pro Rounded","Segoe UI",system-ui,sans-serif; }
*{box-sizing:border-box}html{min-width:320px;background:var(--paper)}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;color:var(--ink);background:radial-gradient(circle at 10% 0,rgba(85,214,200,.16),transparent 25rem),var(--paper)}button,input,select{font:inherit}button{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(92,67,216,.3);outline-offset:3px}.app-shell{width:min(100%,900px);min-height:100vh;min-height:100dvh;margin:auto;background:rgba(244,241,251,.7)}
.topbar{position:sticky;top:0;z-index:20;height:68px;padding:max(12px,env(safe-area-inset-top)) 19px 8px;display:flex;align-items:center;justify-content:space-between;background:rgba(244,241,251,.82);backdrop-filter:blur(18px)}.brand-btn{display:flex;align-items:center;gap:9px;border:0;background:transparent;cursor:pointer}.brand-btn>span,.setup-brand>span{display:grid;place-items:center;color:var(--purple-dark);font-weight:1000;background:var(--lime);transform:rotate(-4deg);box-shadow:0 7px 16px rgba(91,67,216,.14)}.brand-btn>span{width:38px;height:38px;border-radius:13px 13px 13px 4px}.brand-btn b{font-size:1.04rem;letter-spacing:-.04em}.top-actions{display:flex;gap:7px}.icon-btn,.close-btn{width:40px;height:40px;border:1px solid var(--line);border-radius:13px;background:white;box-shadow:0 5px 15px rgba(37,27,79,.06);font-weight:900;cursor:pointer}.icon-btn:disabled{opacity:.38;cursor:default}
.screen{display:none;padding:16px 20px calc(108px + env(safe-area-inset-bottom))}.screen.is-active{display:block;animation:rise .25s ease both}.setup-screen{position:relative;min-height:100vh;min-height:100dvh;padding:32px clamp(18px,6vw,70px) calc(55px + env(safe-area-inset-bottom));background:radial-gradient(circle at 90% 7%,rgba(188,232,95,.3),transparent 14rem),linear-gradient(145deg,#21194f,#4936a7 58%,#5c43d8);color:white}.setup-screen::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 70%,rgba(255,255,255,.035) 70% 72%,transparent 72%);pointer-events:none}.setup-brand{position:relative;z-index:1;display:flex;align-items:center;gap:12px}.setup-brand>span{width:52px;height:52px;border-radius:17px 17px 17px 5px;font-size:1.55rem}.setup-brand b,.setup-brand small{display:block}.setup-brand b{letter-spacing:.12em}.setup-brand small{margin-top:4px;color:rgba(255,255,255,.58);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.setup-copy{position:relative;z-index:1;margin:clamp(50px,10vh,110px) 0 30px}.eyebrow{margin:0 0 9px;color:var(--purple);font-size:.7rem;font-weight:950;letter-spacing:.14em}.setup-copy .eyebrow{color:var(--aqua)}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{margin:0;line-height:1;letter-spacing:-.048em}.setup-copy h1{font-size:clamp(3.2rem,10vw,6rem)}.setup-copy h1 em{color:var(--lime);font-style:normal}.setup-copy>p:not(.eyebrow){max-width:550px;margin:21px 0 0;color:rgba(255,255,255,.72);line-height:1.55}
.setup-card{position:relative;z-index:2;padding:24px;display:grid;grid-template-columns:1fr 130px;gap:17px;border-radius:28px;color:var(--ink);background:white;box-shadow:0 25px 65px rgba(11,8,38,.35)}.field{display:grid;gap:7px}.field>span,.field-label>span{color:var(--muted);font-size:.75rem;font-weight:850}.field input,.field select{width:100%;min-width:0;min-height:49px;padding:11px 13px;border:1px solid #ddd7eb;border-radius:13px;color:var(--ink);background:#fff}.field input:focus,.field select:focus{border-color:var(--purple)}.member-setup,.setup-card>.btn,.setup-card>.text-btn,.setup-card>.form-error{grid-column:1/-1}.field-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.field-label small{color:var(--muted)}#setup-members{display:grid;gap:8px}.setup-member{display:grid;grid-template-columns:1fr 38px;gap:7px}.setup-member button{border:0;border-radius:11px;color:var(--danger);background:#fff0f2;font-weight:900;cursor:pointer}.mini-btn{margin-top:9px;padding:7px 0;border:0;color:var(--purple);background:transparent;font-size:.82rem;font-weight:850;cursor:pointer}.btn{min-height:49px;padding:12px 17px;border:0;border-radius:14px;font-weight:900;cursor:pointer}.btn-primary{color:white;background:linear-gradient(135deg,var(--purple),#7b5fea);box-shadow:0 9px 24px rgba(92,67,216,.25)}.btn-large{min-height:57px}.text-btn{padding:7px;border:0;color:var(--purple);background:transparent;font-weight:850;cursor:pointer}.text-btn.danger{color:var(--danger)}.form-error{min-height:1.15em;margin:0;color:var(--danger);font-size:.79rem;font-weight:750}
.overview-hero{position:relative;overflow:hidden;padding:30px;border-radius:30px;color:white;background:radial-gradient(circle at 92% 12%,rgba(188,232,95,.36),transparent 8rem),linear-gradient(145deg,#21194f,#5941c8);box-shadow:var(--shadow)}.overview-hero::after{content:"€";position:absolute;right:28px;top:19px;color:rgba(255,255,255,.06);font-size:9rem;font-weight:1000;transform:rotate(7deg)}.overview-hero>.eyebrow{color:var(--aqua)}.overview-hero>h1{position:relative;z-index:1;font-size:clamp(2.5rem,8vw,4.7rem)}.total-card{position:relative;z-index:1;margin-top:34px;padding:21px;border:1px solid rgba(255,255,255,.14);border-radius:20px;background:rgba(255,255,255,.09);backdrop-filter:blur(8px)}.total-card small,.total-card strong,.total-card span{display:block}.total-card small{color:rgba(255,255,255,.6);font-weight:750}.total-card strong{margin:4px 0;font-size:clamp(2.1rem,8vw,3.7rem);letter-spacing:-.06em}.total-card span{color:var(--lime);font-size:.76rem;font-weight:850}.quick-actions{position:relative;z-index:1;margin-top:17px;display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.quick-actions button{min-height:76px;padding:10px;border:1px solid rgba(255,255,255,.11);border-radius:17px;color:white;background:rgba(255,255,255,.08);cursor:pointer}.quick-actions span,.quick-actions b{display:block}.quick-actions span{font-size:1.4rem}.quick-actions b{margin-top:5px;font-size:.73rem}
.content-section{margin-top:32px}.content-section.no-pad{margin-top:38px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:13px;margin:0 4px 14px}.section-head h2{font-size:1.75rem}.balance-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.balance-card{padding:17px;border:1px solid rgba(37,27,79,.07);border-radius:19px;background:white;box-shadow:0 7px 22px rgba(37,27,79,.05)}.avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;color:var(--purple-dark);background:var(--lime);font-weight:950}.balance-card b,.balance-card small,.balance-card strong{display:block}.balance-card b{margin-top:14px}.balance-card small{margin:4px 0;color:var(--muted);font-size:.72rem}.balance-card strong{font-size:1.13rem}.positive{color:#27826f}.negative{color:var(--danger)}.neutral{color:var(--muted)}
.expense-list{display:grid;gap:9px}.expense-row{padding:13px;display:grid;grid-template-columns:45px 1fr auto;align-items:center;gap:11px;border:1px solid rgba(37,27,79,.07);border-radius:17px;background:white;box-shadow:0 5px 18px rgba(37,27,79,.04)}.expense-icon{width:45px;height:45px;display:grid;place-items:center;border-radius:14px;background:#f0edff;font-size:1.2rem}.expense-copy{min-width:0}.expense-copy b,.expense-copy small{display:block}.expense-copy b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expense-copy small{margin-top:4px;color:var(--muted);font-size:.7rem}.expense-amount{text-align:right}.expense-amount b,.expense-amount small{display:block}.expense-amount small{margin-top:4px;color:var(--muted);font-size:.68rem}.expense-delete{grid-column:1/-1;display:none;padding:6px;border:0;color:var(--danger);background:#fff0f2;border-radius:10px;cursor:pointer}.expense-row.is-open .expense-delete{display:block}.empty-card{padding:38px 20px;text-align:center;border:2px dashed #ded9e9;border-radius:22px}.empty-card>span{font-size:2.4rem}.empty-card>b{display:block;margin-top:8px}.empty-card p{margin:7px 0 16px;color:var(--muted);font-size:.83rem}.page-head{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:15px}.page-head h1{font-size:clamp(2.5rem,8vw,4.3rem)}.search{min-height:48px;padding:0 14px;display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:15px;background:white;box-shadow:0 6px 18px rgba(37,27,79,.05)}.search span{color:var(--purple);font-size:1.5rem}.search input{flex:1;min-width:0;border:0;outline:0;background:transparent}.expense-list-full{margin-top:15px}
.settle-intro{padding:19px;display:flex;align-items:center;gap:14px;border-radius:20px;color:white;background:linear-gradient(135deg,var(--purple-dark),var(--purple))}.settle-icon{flex:0 0 53px;width:53px;height:53px;display:grid;place-items:center;border-radius:17px;color:var(--purple-dark);background:var(--lime);font-size:1.7rem;font-weight:950}.settle-intro b{font-size:1.1rem}.settle-intro p{margin:6px 0 0;color:rgba(255,255,255,.68);font-size:.78rem;line-height:1.4}.transfer-list{margin-top:16px;display:grid;gap:10px}.transfer-card{position:relative;padding:17px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:9px;border:1px solid rgba(37,27,79,.07);border-radius:20px;background:white;box-shadow:0 7px 22px rgba(37,27,79,.05)}.transfer-person{text-align:center}.transfer-person .avatar{margin:auto}.transfer-person b{display:block;margin-top:8px;font-size:.78rem}.transfer-arrow{text-align:center}.transfer-arrow span{display:block;color:var(--purple);font-size:1.5rem;font-weight:900}.transfer-arrow strong{display:block;margin-top:5px;white-space:nowrap;font-size:.88rem}.ledger{overflow:hidden;border:1px solid rgba(37,27,79,.07);border-radius:20px;background:white}.ledger-row{padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #efecf5}.ledger-row:last-child{border-bottom:0}.ledger-row b{font-size:.85rem}.ledger-row span{font-weight:900}.history-list{display:grid;gap:9px}.history-row{padding:14px;display:grid;grid-template-columns:40px 1fr;gap:11px;border-radius:17px;background:white}.history-row>span{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:#f0edff}.history-row b,.history-row small{display:block}.history-row b{font-size:.83rem;line-height:1.4}.history-row small{margin-top:4px;color:var(--muted);font-size:.68rem}
.tabbar{position:fixed;z-index:30;left:50%;bottom:max(10px,env(safe-area-inset-bottom));width:min(calc(100% - 20px),680px);min-height:70px;padding:8px 11px;display:grid;grid-template-columns:1fr 1fr 64px 1fr 1fr;align-items:end;border:1px solid rgba(37,27,79,.08);border-radius:23px;background:rgba(255,255,255,.92);box-shadow:0 14px 45px rgba(37,27,79,.2);backdrop-filter:blur(20px);transform:translateX(-50%)}.tabbar button{height:51px;padding:5px 2px;border:0;border-radius:13px;color:var(--muted);background:transparent;font-size:.62rem;font-weight:850;cursor:pointer}.tabbar button>span{display:block;margin-bottom:4px;font-size:1.13rem}.tabbar button.is-active{color:var(--purple);background:#f0edff}.tabbar .tab-main{align-self:center;width:56px;height:56px;margin:auto;color:white;background:linear-gradient(145deg,var(--purple),#7d61e7);box-shadow:0 10px 24px rgba(92,67,216,.34);font-size:1.8rem}.tabbar .tab-main span{margin:0}
.modal{width:min(calc(100% - 26px),560px);max-height:calc(100dvh - 26px);padding:0;border:0;border-radius:25px;color:var(--ink);background:transparent;box-shadow:var(--shadow)}.modal::backdrop{background:rgba(19,13,49,.64);backdrop-filter:blur(4px)}.modal-card{padding:23px;display:grid;gap:16px;border-radius:25px;background:var(--card)}.modal-head{display:flex;align-items:start;justify-content:space-between;gap:13px}.modal-head h2{font-size:1.8rem}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.amount-field>div{display:flex;align-items:center;border:1px solid #ddd7eb;border-radius:13px;background:white}.amount-field>div:focus-within{border-color:var(--purple)}.amount-field b{padding-left:13px}.amount-field input{border:0;outline:0}.participant-box,.split-box{margin:0;padding:15px;border:1px solid var(--line);border-radius:17px}.participant-box legend,.split-box legend{padding:0 6px;font-size:.87rem;font-weight:900}.participant-actions{display:flex;justify-content:flex-end;gap:7px;margin:-8px 0 7px}.participant-actions button{padding:4px;border:0;color:var(--purple);background:transparent;font-size:.7rem;font-weight:800;cursor:pointer}.participant-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.participant-option input{position:absolute;opacity:0}.participant-option span{padding:9px;display:flex;align-items:center;gap:7px;border:1px solid #e3dfed;border-radius:12px;font-size:.76rem;font-weight:800;cursor:pointer}.participant-option span::before{content:"";flex:0 0 19px;width:19px;height:19px;border:2px solid #cfc9dc;border-radius:7px}.participant-option input:checked+span{border-color:var(--purple);background:#f0edff}.participant-option input:checked+span::before{content:"✓";display:grid;place-items:center;border-color:var(--purple);color:white;background:var(--purple);font-size:.68rem}.segments{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:4px;border-radius:12px;background:#f2eff8}.segments button{min-height:35px;padding:6px;border:0;border-radius:9px;color:var(--muted);background:transparent;font-size:.7rem;font-weight:850;cursor:pointer}.segments button.is-active{color:var(--purple);background:white;box-shadow:0 3px 10px rgba(37,27,79,.09)}.split-box>p{margin:10px 2px;color:var(--muted);font-size:.72rem}.custom-split-row{padding:6px 0;display:grid;grid-template-columns:1fr 110px;align-items:center;gap:9px;border-bottom:1px solid #efecf5}.custom-split-row:last-child{border-bottom:0}.custom-split-row label{font-size:.77rem;font-weight:800}.custom-split-row input{width:100%;min-height:38px;padding:7px 9px;border:1px solid #ddd7eb;border-radius:10px;text-align:right}.split-check{margin-top:8px;color:var(--muted);font-size:.7rem;font-weight:800}.split-check.is-error{color:var(--danger)}.settings-form{display:grid;gap:12px}.member-manage{overflow:hidden;border:1px solid var(--line);border-radius:17px}.manage-row{padding:11px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:6px;border-bottom:1px solid #efecf5}.manage-row:last-child{border-bottom:0}.manage-row b{font-size:.8rem}.manage-row button{width:35px;height:35px;border:0;border-radius:10px;color:var(--purple);background:#f0edff;cursor:pointer}.manage-row .remove{color:var(--danger);background:#fff0f2}.menu-action{padding:12px;display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;column-gap:10px;text-align:left;border:1px solid var(--line);border-radius:15px;background:white;cursor:pointer}.menu-action>span{grid-row:1/3;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#f0edff;font-size:1.2rem}.menu-action small{margin-top:3px;color:var(--muted)}.file-drop{min-height:150px;display:grid;place-items:center;align-content:center;gap:7px;text-align:center;border:2px dashed #d5cfe3;border-radius:18px;cursor:pointer}.file-drop input{position:absolute;opacity:0}.file-drop span{font-size:2rem}.file-drop small{color:var(--muted)}
.toast{position:fixed;z-index:50;left:50%;bottom:calc(92px + env(safe-area-inset-bottom));max-width:calc(100% - 36px);padding:12px 17px;border-radius:13px;color:white;background:var(--purple-dark);box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translate(-50%,18px);transition:.2s ease;font-size:.82rem;font-weight:800}.toast.is-visible{opacity:1;transform:translate(-50%,0)}
@keyframes rise{from{opacity:0;transform:translateY(7px)}}@media(min-width:720px){.screen{padding-inline:34px}.balance-grid{grid-template-columns:repeat(3,1fr)}.setup-card{padding:30px}.overview-hero{padding:38px}.expense-list-full{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.screen{padding:9px 14px calc(104px + env(safe-area-inset-bottom))}.setup-screen{padding-inline:17px}.setup-copy{margin-top:48px}.setup-copy h1{font-size:3.15rem}.setup-card{grid-template-columns:1fr;padding:20px}.setup-card>*{grid-column:1!important}.overview-hero{padding:23px;border-radius:25px}.balance-grid{grid-template-columns:1fr 1fr}.field-grid{grid-template-columns:1fr}.participant-grid{grid-template-columns:1fr 1fr}.modal-card{padding:20px}.page-head{min-height:82px}.tabbar{width:calc(100% - 14px);border-radius:21px}.tabbar button{font-size:.57rem}}
@media(max-width:350px){.setup-copy h1{font-size:2.75rem}.setup-copy>p:not(.eyebrow){font-size:.86rem}.setup-card{padding:17px}.quick-actions{gap:6px}.quick-actions button{min-height:70px}.balance-grid{grid-template-columns:1fr}.participant-grid{grid-template-columns:1fr}.transfer-card{grid-template-columns:1fr 72px 1fr;padding:13px}.tabbar{padding-inline:5px;grid-template-columns:1fr 1fr 56px 1fr 1fr}.tabbar .tab-main{width:51px;height:51px}.tabbar button{font-size:.52rem}.modal{width:calc(100% - 14px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
