:root{color-scheme:light dark;--color-background:#f6f5f2;--color-surface:#fff;--color-text:#1c1917;--color-text-muted:#6b6460;--color-border:#e7e3dd;--color-control-border:#8a817a;--color-accent:#0e7c66;--color-accent-soft:#e3f3ee;--color-on-accent:#fff;--color-gives:#c2410c;--color-receives:#0e7c66;--color-error:#b42318;--color-warning-background:#fff4e5;--color-warning-border:#f0b429;--color-avatar-text:#1c1917;--color-avatar-1:#f8d3bf;--color-avatar-2:#f3e1a9;--color-avatar-3:#cbebd9;--color-avatar-4:#c6e3f2;--color-avatar-5:#d2d9f7;--color-avatar-6:#e3d3f2;--color-avatar-7:#f5cfdb;--color-avatar-8:#dce5c7;--shadow-card:0 1px 2px #1c19170f;--radius-card:12px;--radius-control:10px;--radius-pill:999px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--font-size-page-title:1.75rem;--font-size-section-title:1.25rem;--font-size-body:1rem;--font-size-caption:.875rem;--font-size-small:.8125rem;--touch-target:2.75rem;--icon-size:1.25rem;--avatar-size:1.75rem;--column-width:40rem;--column-width-wide:72rem;--breakdown-name-width:7rem;--breakdown-column-gap:var(--space-5);--breakdown-column-gap-compact:var(--space-3);--overview-separator-offset:calc(-1 * var(--space-2) - .15em);--button-hover-brightness:.92;--duration-fast:.15s}@media (prefers-color-scheme:dark){:root{--color-background:#171513;--color-surface:#221f1c;--color-text:#f2efea;--color-text-muted:#b1a9a1;--color-border:#3a3531;--color-control-border:#857c74;--color-accent:#4cc9a9;--color-accent-soft:#17362f;--color-on-accent:#0b1f1a;--color-gives:#fb9a5b;--color-receives:#4cc9a9;--color-error:#f97066;--color-warning-background:#3a2a12;--color-warning-border:#b7791f;--shadow-card:0 1px 2px #0006}}*,:before,:after{box-sizing:border-box}body{font-family:system-ui,sans-serif;font-size:var(--font-size-body);color:var(--color-text);background:var(--color-background);overflow-wrap:anywhere;margin:0;line-height:1.5}main{gap:var(--space-4);max-width:var(--column-width);padding:var(--space-5) var(--space-4);flex-direction:column;margin:0 auto;display:flex}.page-header{margin-bottom:var(--space-2)}.page-toolbar{gap:0 var(--space-4);margin-bottom:var(--space-2);flex-wrap:wrap;justify-content:flex-end;align-items:center;display:flex}.currency-select select{width:auto;max-width:100%}.language-link{min-height:var(--touch-target);padding:0 var(--space-2);color:var(--color-accent);border-radius:var(--radius-control);align-items:center;font-weight:600;display:inline-flex}.page-header h1{margin-bottom:var(--space-1)}.page-subtitle{margin-bottom:var(--space-3);color:var(--color-text-muted)}.overview{gap:0 var(--space-4);font-size:var(--font-size-caption);flex-wrap:wrap;margin:0;font-weight:600;display:flex;overflow:hidden}.overview-item{white-space:nowrap;position:relative}.overview-item+.overview-item:before{left:var(--overview-separator-offset);color:var(--color-text-muted);content:"·";font-weight:400;position:absolute}.layout,.layout-main,.layout-side{gap:var(--space-4);flex-direction:column;display:flex}section{gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);flex-direction:column;display:flex}h1,h2{margin-top:0;line-height:1.25}h1{font-size:var(--font-size-page-title)}h2{font-size:var(--font-size-section-title);margin-bottom:0}p{margin:0}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.form{gap:var(--space-3);flex-direction:column;display:flex}.field{gap:var(--space-1);flex-direction:column;display:flex}.field label,legend{font-size:var(--font-size-caption);color:var(--color-text-muted)}fieldset{border:0;min-width:0;margin:0;padding:0}legend{margin-bottom:var(--space-2);padding:0}.inline-form{column-gap:var(--space-2);row-gap:var(--space-1);grid-template-columns:minmax(0,1fr) auto;align-items:end;display:grid}.inline-form .field{display:contents}.inline-form label{grid-column:1/-1}.chips{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.chip{gap:var(--space-2);max-width:100%;padding-left:var(--space-2);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-pill);align-items:center;display:inline-flex}.chips:empty,.expenses:empty{display:none}.participant-name{min-width:0;font-weight:500}.chip-toggle{gap:var(--space-2);max-width:100%;min-height:var(--touch-target);padding:0 var(--space-3) 0 var(--space-2);color:var(--color-text-muted);cursor:pointer;background:var(--color-surface);border:1px solid var(--color-control-border);border-radius:var(--radius-pill);align-items:center;display:inline-flex;position:relative}.chip-toggle:has(input:checked){color:var(--color-text);background:var(--color-accent-soft);border-color:var(--color-accent)}.chip-toggle:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:2px}.chip-name{min-width:0}.chip-check{width:var(--icon-size);height:var(--icon-size);color:var(--color-accent);opacity:0;flex-shrink:0}.chip-toggle:has(input:checked) .chip-check{opacity:1}.expenses{margin:0;padding:0;list-style:none}.expense{gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;display:grid}.expense:last-child{border-bottom:0}.expense-text{flex-direction:column;display:flex}.expense-payer{font-weight:600}.expense-beneficiaries{font-size:var(--font-size-caption);color:var(--color-text-muted)}.expense-amount{font-weight:600}.empty-state{gap:var(--space-3);padding:var(--space-3) var(--space-4);color:var(--color-text-muted);background:var(--color-background);border:1px dashed var(--color-control-border);border-radius:var(--radius-control);align-items:center;margin:0;display:flex}.empty-state svg{width:var(--icon-size);height:var(--icon-size);color:var(--color-accent);flex-shrink:0}input[type=text],select{width:100%;min-height:var(--touch-target);padding:0 var(--space-3);font:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-control-border);border-radius:var(--radius-control)}select{appearance:none;padding-inline-end:calc(var(--space-3) + var(--icon-size) + var(--space-2))}input[aria-invalid=true]{border-color:var(--color-error)}input[readonly]{background:var(--color-background)}::placeholder{color:var(--color-text-muted);opacity:1}.select-box{position:relative}.select-chevron{width:var(--icon-size);height:var(--icon-size);color:var(--color-text-muted);pointer-events:none;margin-block:auto;position:absolute;inset-block:0;inset-inline-end:calc(var(--space-3) - var(--icon-size) / 4)}.button{min-height:var(--touch-target);padding:0 var(--space-4);font:inherit;cursor:pointer;border-radius:var(--radius-control);border:1px solid #0000;justify-content:center;align-items:center;font-weight:600;line-height:1.25;display:inline-flex}.button-primary{color:var(--color-on-accent);background:var(--color-accent)}.button-primary:hover{filter:brightness(var(--button-hover-brightness))}.button-secondary{color:var(--color-text);border-color:var(--color-control-border);background:0 0}.button-secondary:hover{background:var(--color-accent-soft)}.icon-button{width:var(--touch-target);height:var(--touch-target);color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-pill);background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button:hover{color:var(--color-text);background:var(--color-accent-soft)}.icon-button svg{width:var(--icon-size);height:var(--icon-size)}.message{font-size:var(--font-size-caption);color:var(--color-error);margin:0}.message:empty{margin-bottom:calc(-1 * var(--space-3))}.message.message-success{gap:var(--space-2);color:var(--color-accent);align-items:center;display:flex}.message-icon{width:var(--icon-size);height:var(--icon-size);flex-shrink:0}.field-error{font-size:var(--font-size-caption);color:var(--color-error);margin:0}.field>.field-error:empty{margin-top:calc(-1 * var(--space-1))}section>.field-error:empty{margin-bottom:calc(-1 * var(--space-3))}fieldset>.field-error:not(:empty){margin-top:var(--space-2)}.undo{gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-control);justify-content:space-between;align-items:center;display:flex}.undo p{min-width:0}.undo button{flex-shrink:0}.summary-status+.breakdown{margin-top:var(--space-4)}.transfers-count{margin-bottom:var(--space-3);font-weight:600}.transfers{gap:var(--space-2);margin:0 0 var(--space-4);flex-direction:column;padding:0;list-style:none;display:flex}.transfer{gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-accent-soft);border:1px solid var(--color-border);border-radius:var(--radius-card);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"people amount""route route";align-items:center;display:grid}.transfer-people{gap:var(--space-2);grid-area:people;align-items:center;display:inline-flex}.transfer-people svg{width:var(--icon-size);height:var(--icon-size);color:var(--color-text-muted)}.transfer-route{grid-area:route;font-weight:600}.transfer-amount{font-size:var(--font-size-section-title);grid-area:amount;font-weight:700}.breakdown{border-top:1px solid var(--color-border)}.breakdown>summary{padding:var(--space-3) 0;cursor:pointer;font-weight:600}.table-scroll{overflow-x:auto}.breakdown table{width:100%;font-size:var(--font-size-caption);border-collapse:collapse}.breakdown th,.breakdown td{padding:var(--space-2) 0;text-align:right;overflow-wrap:normal;border-bottom:1px solid var(--color-border)}.breakdown th:first-child{text-align:left;padding-left:0}.breakdown th:not(:first-child),.breakdown td{padding-left:var(--breakdown-column-gap)}.breakdown tbody th{max-width:var(--breakdown-name-width);overflow-wrap:anywhere}.breakdown thead th{color:var(--color-text-muted);font-weight:500}.breakdown tbody th{font-weight:600}.outcome{font-variant-numeric:tabular-nums;font-weight:600}.outcome-receives{color:var(--color-receives)}.outcome-gives{color:var(--color-gives)}.outcome-settled{color:var(--color-text-muted)}.breakdown>p{margin-bottom:var(--space-3)}.breakdown>.note{margin:var(--space-2) 0 0}.note{font-size:var(--font-size-caption);color:var(--color-text-muted)}.how-it-works-steps{gap:var(--space-2);padding-left:var(--space-5);color:var(--color-text-muted);flex-direction:column;margin:0;display:flex}.notice{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-warning-background);border:1px solid var(--color-warning-border);border-radius:var(--radius-card);display:flex}.notice p{margin:0}.notice button{flex-shrink:0}.avatar{width:var(--avatar-size);height:var(--avatar-size);font-size:var(--font-size-caption);color:var(--color-avatar-text);border-radius:var(--radius-pill);flex-shrink:0;justify-content:center;align-items:center;font-weight:600;line-height:1;display:inline-flex}.avatar-tone-1{background:var(--color-avatar-1)}.avatar-tone-2{background:var(--color-avatar-2)}.avatar-tone-3{background:var(--color-avatar-3)}.avatar-tone-4{background:var(--color-avatar-4)}.avatar-tone-5{background:var(--color-avatar-5)}.avatar-tone-6{background:var(--color-avatar-6)}.avatar-tone-7{background:var(--color-avatar-7)}.avatar-tone-8{background:var(--color-avatar-8)}.amount{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}@media (prefers-reduced-motion:no-preference){.button,.icon-button,.chip-toggle,.chip-check,input[type=text],select{transition:background-color var(--duration-fast), border-color var(--duration-fast), color var(--duration-fast), filter var(--duration-fast), opacity var(--duration-fast)}}@media (width<=480px){main{padding-inline:var(--space-2)}section{padding:var(--space-3)}.breakdown table{font-size:var(--font-size-small)}.breakdown th:not(:first-child),.breakdown td{padding-left:var(--breakdown-column-gap-compact)}}@media (width>=900px){main{max-width:var(--column-width-wide)}.layout{gap:var(--space-5);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;display:grid}.layout-side{top:var(--space-6);max-height:calc(100dvh - 2 * var(--space-6));padding:var(--space-1);margin:calc(-1 * var(--space-1));position:sticky;overflow-y:auto}}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[hidden]{display:none}
