@font-face{font-family:'Open Sans';font-weight:300;src:url('/assets/open-sans-300.ttf') format('truetype');font-display:swap}
@font-face{font-family:'Open Sans';font-weight:400;src:url('/assets/open-sans-400.ttf') format('truetype');font-display:swap}
@font-face{font-family:'Open Sans';font-weight:600;src:url('/assets/open-sans-600.ttf') format('truetype');font-display:swap}
:root{color-scheme:light;--bg:#dfe8f0;--surface:#fffefa;--surface2:#f5f6f8;--text:#505458;--muted:#767b86;--line:#dfe2e7;--brand:#4e5983;--accent:#ade4eb;--accent-text:#314a51;--lavender:#e7d5ec;--lavender-text:#685374;--positive:#24785d;--negative:#b2525e;--focus:#876399;--shadow:0 8px 30px #2930470b;--hero:#f6f6f5;--avatar:#e8edf7;--ring:#f2e5f6}
:root[data-theme=midnight]{color-scheme:dark;--bg:#161c2b;--surface:#222b3d;--surface2:#293448;--text:#e0e6f2;--muted:#a9b4c9;--line:#394459;--brand:#c6d0fa;--accent:#8ed7e2;--accent-text:#163b46;--lavender:#574765;--lavender-text:#ead5f8;--positive:#82d7b3;--negative:#f2a1b0;--focus:#bf95d5;--shadow:0 8px 30px #0002;--hero:#1c2435;--avatar:#354360;--ring:#4b3c5b}
:root[data-theme=charcoal]{color-scheme:dark;--bg:#161818;--surface:#242727;--surface2:#2d3131;--text:#e3e7e6;--muted:#aab4b1;--line:#3e4643;--brand:#c8e8df;--accent:#a0d9c6;--accent-text:#183d31;--lavender:#454755;--lavender-text:#e0dff5;--positive:#9fdfbd;--negative:#f0ada5;--focus:#9dd0bd;--shadow:0 8px 30px #0002;--hero:#1e2221;--avatar:#3a4943;--ring:#394b42}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:'Open Sans',Arial,sans-serif;font-size:16px;line-height:1.6;min-width:320px}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,select,input{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button,input,select,textarea{border:1px solid var(--line);border-radius:4px}input,select,textarea{width:100%;padding:10px 12px;background:var(--surface);color:var(--text);min-height:44px}input[type=checkbox]{width:18px;min-height:18px;height:18px;accent-color:var(--brand)}input[readonly]{background:var(--surface2)}textarea{resize:vertical;min-height:84px}input:focus,select:focus,textarea:focus{border-color:var(--focus);outline:2px solid color-mix(in srgb,var(--focus),transparent 75%);outline-offset:1px}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:2.1rem;font-weight:300;line-height:1.3;margin-bottom:10px}h2{font-weight:400;font-size:1.35rem;line-height:1.4}h3{font-size:1.05rem;font-weight:600}small,.small{font-size:.875rem}strong{font-weight:600}.muted{color:var(--muted)}.positive{color:var(--positive)}.negative{color:var(--negative)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link{position:fixed;top:-100px;z-index:100;padding:12px;background:var(--surface)}.skip-link:focus{top:0}.site-header{max-width:1060px;min-height:100px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:22px 30px;gap:24px}.brand{display:flex;align-items:center;gap:9px;flex-shrink:0}.brand img{width:149px;height:auto}.brand span{font-size:11px;color:var(--muted);border-left:1px solid var(--line);padding-left:9px;max-width:60px;line-height:1.4}:root:not([data-theme=classic]) .brand img{filter:brightness(1.5)}nav{display:flex;align-items:center;gap:22px;font-size:.875rem}.nav-button{background:transparent;border:0;color:var(--brand);padding:0}.theme-control select{width:auto;border:0;background:var(--surface2);min-height:36px;padding:6px 10px;font-size:.8125rem;max-width:134px}main{max-width:1000px;margin:0 auto;padding:12px 30px 50px;min-height:calc(100vh - 200px)}.site-footer{max-width:1000px;margin:0 auto;padding:24px 30px 28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:.75rem}.site-footer>div{display:flex;gap:22px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 19px;background:var(--surface2);color:var(--text);border:1px solid var(--line);font-size:.9375rem;min-height:44px;line-height:1.4;white-space:nowrap;border-radius:4px;text-decoration:none!important}.button:hover{filter:brightness(.96)}.button.primary{background:var(--accent);color:var(--accent-text);border-color:transparent}.button.secondary{background:var(--lavender);color:var(--lavender-text);border-color:transparent}.button.danger{background:var(--negative);color:var(--surface);border:0}.button.compact{padding:7px 12px;font-size:.875rem;min-height:36px}.button.ghost{background:transparent;border-color:transparent;color:var(--brand)}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.spacer{flex:1}.panel{background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:26px;box-shadow:var(--shadow);margin-bottom:22px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.panel-title h2{margin:0}.panel p:last-child{margin-bottom:0}.eyebrow{text-transform:uppercase;font-size:.6875rem;letter-spacing:.14em;color:var(--muted);font-weight:600;margin-bottom:10px}.pill{border-radius:20px;padding:4px 10px;background:var(--lavender);color:var(--lavender-text);font-size:.75rem;display:inline-flex;align-items:center;gap:5px}.hero{text-align:center;padding:44px 10px 48px}.hero h1{font-size:2.8rem;letter-spacing:-.035em}.hero .subtitle{font-weight:300;font-size:1.6rem;color:var(--lavender-text);margin:14px 0 32px}.hero .button.primary{font-size:1.5rem;font-weight:300;padding:16px 32px}.hero .actions{justify-content:center}.hero .fine{margin:17px 0 0;font-size:.8125rem;color:var(--muted)}.intro-grid{display:grid;grid-template-columns:1fr 1.12fr;gap:40px;margin-top:10px;padding-top:26px;border-top:1px solid var(--line)}.intro-copy h2{font-size:1.7rem;font-weight:300;color:var(--lavender-text)}.intro-copy p{color:var(--muted);font-weight:300}.check-list{padding:0;list-style:none;font-size:.9375rem}.check-list li{padding:5px 0}.check-list li:before{content:'✓';color:var(--positive);margin-right:12px}.demo-box{padding:0;overflow:hidden}.demo-heading{background:var(--surface2);padding:18px 23px;display:flex;align-items:center;justify-content:space-between}.demo-heading h3{margin:0}.demo-row{padding:15px 23px;display:flex;align-items:center;gap:13px;border-top:1px solid var(--line)}.demo-row strong{margin-left:auto}.demo-bottom{padding:15px 23px;border-top:1px solid var(--line);font-size:.875rem;display:flex;justify-content:space-between}.avatar{width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:var(--avatar);color:var(--brand);display:inline-flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:600}.avatar.large{width:42px;height:42px;flex-basis:42px}.form-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:65px;max-width:860px;margin:auto}.form-layout aside{padding-top:47px;font-size:.9375rem;color:var(--muted)}.form-layout aside h3{color:var(--lavender-text);font-weight:400;font-size:1.3rem}.form-layout aside ul{padding-left:22px}.form-layout aside li{margin:12px 0}.field{display:block;margin-bottom:18px}.field>span{display:block;font-size:.875rem;margin-bottom:6px}.field .hint,.hint{font-size:.8125rem;color:var(--muted);margin:6px 0 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.form-grid .wide{grid-column:1/-1}.participant-input{display:flex;gap:10px;align-items:center;margin-bottom:10px}.participant-input input{min-width:0}.participant-input .share-input{width:90px}.icon-button{background:transparent;border:0;color:var(--muted);padding:7px 10px;min-height:40px;font-size:1.2rem}.form-footer{border-top:1px solid var(--line);margin-top:22px;padding-top:20px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:12px 0 28px}.page-heading p{color:var(--muted);font-size:.875rem;margin-bottom:0}.page-heading .actions{padding-top:7px}.group-meta{display:flex;gap:10px;align-items:center;margin-top:9px;flex-wrap:wrap;font-size:.8125rem}.tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin-bottom:24px;overflow:auto}.tabs button{border:0;border-radius:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);padding:12px 0;font-size:.9375rem;white-space:nowrap}.tabs button.active{color:var(--brand);border-bottom-color:var(--brand)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:24px}.stat{padding:20px 24px;background:var(--surface);border:1px solid var(--line);border-radius:6px}.stat>span{display:block;font-size:.8125rem;color:var(--muted)}.stat>strong{display:block;font-size:1.65rem;font-weight:300;line-height:1.6}.stat small{font-size:.75rem;color:var(--muted)}.overview-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;align-items:start}.settlement{padding:17px 0;border-top:1px solid var(--line)}.settlement:first-of-type{border-top:0}.settlement-people{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.settlement-people strong{font-size:.9375rem}.settlement-bottom{display:flex;justify-content:space-between;align-items:center;margin:12px 0 0 44px}.settlement-bottom .amount{font-size:1.3rem;font-weight:300}.empty{text-align:center;padding:34px 15px;color:var(--muted)}.empty .empty-symbol{font-size:2.2rem;color:var(--positive);display:block;margin-bottom:8px}.empty h3{font-weight:400;color:var(--text)}.empty p{font-size:.875rem;margin-bottom:18px}.person-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.person-row:last-child{border:0}.person-row .person-name{flex:1;min-width:0}.person-name small{display:block;color:var(--muted);font-size:.75rem}.person-balance{text-align:right}.person-balance strong{display:block;font-weight:400}.person-balance small{font-size:.75rem;color:var(--muted)}.expense-row{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--line);width:100%;background:none;color:var(--text);border-radius:0;border-left:0;border-right:0;border-top:0;text-align:left}.expense-row:hover{background:var(--surface2)}.expense-row:last-child{border-bottom:0}.category-icon{height:38px;width:38px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--ring);border-radius:7px;color:var(--lavender-text);font-size:1.05rem}.expense-text{min-width:0;flex:1}.expense-text>strong{font-size:.9375rem;display:block;overflow-wrap:anywhere;font-weight:400}.expense-text>small{font-size:.75rem;color:var(--muted)}.expense-amount{text-align:right;font-size:.9375rem;white-space:nowrap}.expense-amount small{display:block;font-size:.6875rem;color:var(--muted)}.panel-foot{padding-top:16px;border-top:1px solid var(--line);margin-top:8px;font-size:.875rem;display:flex;justify-content:space-between;gap:12px}.filter-bar{display:flex;gap:12px;margin-bottom:18px}.filter-bar input{flex:1;min-width:120px}.filter-bar select{width:160px}.category-total{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:.875rem}.bar-track{height:9px;background:var(--surface2);border-radius:5px;margin-bottom:23px;overflow:hidden}.bar-fill{height:100%;background:var(--accent);border-radius:5px}.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.875rem}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}th{font-weight:600;color:var(--muted)}.group-card{display:flex;align-items:center;gap:16px;padding:21px 0;border-bottom:1px solid var(--line)}.group-card:last-child{border:0}.group-card .name{flex:1}.group-card h3{margin:0 0 4px}.group-card p{font-size:.8125rem;color:var(--muted);margin:0}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.feature-grid h2{color:var(--lavender-text);font-weight:300}.feature-grid p{color:var(--muted);font-size:.9375rem}.prose{max-width:760px;margin:auto}.prose h2{margin-top:30px;color:var(--lavender-text)}.prose p,.prose li{font-size:.9375rem}.prose li{margin:8px 0}dialog{padding:0;border:1px solid var(--line);border-radius:9px;width:min(640px,calc(100vw - 28px));max-height:calc(100dvh - 36px);background:var(--surface);color:var(--text);box-shadow:0 20px 80px #0004}dialog::backdrop{background:#17233880;backdrop-filter:blur(3px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:22px 26px 14px;gap:10px}.dialog-header h2{font-weight:300;font-size:1.6rem;margin:0}.dialog-body{padding:0 26px 26px}.dialog-body .tabs{gap:25px}.dialog-body .field{margin-bottom:16px}.dialog-body .form-footer{justify-content:flex-end}.split-person{display:flex;align-items:center;gap:10px;padding:7px 0}.split-person span{flex:1;font-size:.875rem}.split-person input[type=number]{width:110px;min-height:36px;padding:6px 10px}.split-box{background:var(--surface2);padding:14px 17px;border-radius:5px;margin:0 0 18px}.split-box .hint{margin-top:12px}.rate-box{padding:15px;background:var(--surface2);border-radius:5px;margin-bottom:18px;font-size:.875rem}.rate-box input{margin-top:8px}.rate-box label{display:flex;align-items:center;gap:8px}.rate-note{display:block;font-size:.8125rem;color:var(--muted);margin-bottom:10px}.form-error{color:var(--negative);background:color-mix(in srgb,var(--negative),transparent 92%);border-left:3px solid var(--negative);padding:10px 13px;margin:12px 0;font-size:.875rem}.form-error:empty{display:none}.notice{border-left:3px solid var(--accent);padding:12px 16px;background:var(--surface2);font-size:.875rem;margin-bottom:20px}.detail-amount{font-size:2.3rem;font-weight:300;margin-bottom:8px}.detail-meta{color:var(--muted);font-size:.875rem;margin-bottom:22px}.detail-split{display:flex;justify-content:space-between;padding:6px 0;font-size:.875rem}.divider{border:0;border-top:1px solid var(--line);margin:22px 0}.comment{background:var(--surface2);padding:12px 15px;border-radius:5px;margin:10px 0;font-size:.875rem}.comment small{display:block;color:var(--muted);font-size:.6875rem;margin-bottom:5px}.comment p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.receipt-list{display:flex;flex-direction:column;gap:7px}.receipt-link{font-size:.875rem;text-align:left;white-space:normal}.share-row{display:flex;gap:8px;margin-top:8px}.share-row input{min-width:0;font-size:.8125rem}.share-block{margin-bottom:22px}.share-block h3{margin:0 0 4px}.share-block p{font-size:.8125rem;color:var(--muted);margin:0}.danger-zone{border-top:1px solid var(--line);padding-top:18px;margin-top:24px}.note-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.875rem}#toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,20px);padding:12px 22px;background:var(--brand);color:var(--surface);border-radius:6px;z-index:100;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.2s;max-width:calc(100vw - 36px);font-size:.875rem}#toast.visible{opacity:1;transform:translate(-50%,0)}.loading{text-align:center;padding:70px;color:var(--muted)}[hidden]{display:none!important}
@media(min-width:1200px){main{padding-top:25px}.hero{padding-top:48px}}
@media(max-width:760px){.site-header{padding:18px 20px;flex-wrap:wrap;gap:14px;min-height:90px}.brand img{width:132px}.brand span{font-size:10px}nav{width:100%;justify-content:space-between;gap:12px;font-size:.8125rem}.theme-control select{font-size:.75rem;max-width:108px}main{padding:10px 20px 34px}.site-footer{margin:0 20px;padding:20px 0;flex-direction:column;gap:8px}.site-footer>div{justify-content:space-between;gap:10px}.hero{padding:22px 0 30px}.hero h1{font-size:2.05rem}.hero .subtitle{font-size:1.2rem;line-height:1.5;margin:18px 0 26px}.hero .button.primary{font-size:1.2rem}.intro-grid,.form-layout,.overview-grid,.insight-grid,.feature-grid{grid-template-columns:1fr;gap:16px}.intro-grid{gap:22px}.intro-copy h2{font-size:1.4rem}.form-layout aside{padding-top:5px}.panel{padding:20px}.page-heading{flex-direction:column;gap:12px;margin-bottom:20px}.page-heading h1{font-size:1.8rem}.page-heading .actions{padding-top:0;width:100%}.page-heading .actions .button{flex:1}.stats{gap:9px}.stat{padding:12px}.stat>strong{font-size:1.2rem;overflow-wrap:anywhere}.stat>span{font-size:.6875rem}.stat small{font-size:.6875rem}.tabs{gap:26px}.tabs button{font-size:.875rem}.panel-title h2{font-size:1.2rem}.dialog-header{padding:18px 20px 12px}.dialog-body{padding:0 20px 20px}.form-grid{gap:0 12px}.filter-bar{flex-wrap:wrap}.filter-bar select{flex:1;min-width:120px}.settlement-bottom{margin-left:0}.feature-grid .panel{margin-bottom:0}.share-row{flex-wrap:wrap}.share-row input{flex-basis:100%}.share-row .button{width:100%}}
.brand img{width:48px;height:48px;object-fit:contain;filter:none!important}.brand strong{font-weight:600;font-size:1.5rem;color:var(--brand);letter-spacing:-.04em}.brand strong span{font-size:inherit;color:var(--text);border:0;padding:0;line-height:inherit;max-width:none}.settlement-bottom{gap:12px;flex-wrap:wrap}.settlement-bottom .actions{gap:6px}.payment-qr{background:white;border-radius:8px;padding:10px;max-width:310px;margin:20px auto}.payment-qr svg{display:block;width:100%;height:auto}.payment-details{margin:20px 0;background:var(--surface2);padding:14px 18px;border-radius:6px}.payment-details>div{display:flex;gap:18px;justify-content:space-between;padding:7px 0;font-size:.875rem}.payment-details span{color:var(--muted);flex:0 0 75px}.payment-details strong{text-align:right;font-weight:400;overflow-wrap:anywhere}.payment-details .iban{font-family:monospace;font-size:.875rem}.person-name .nav-button{font-size:.75rem;margin-top:3px}.payment-details+ .hint{line-height:1.7}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
