:root{--panel-bg:var(--color-surface-2);--panel-border:#ffffff26;--field-bg:#ffffff12;--field-bg-active:#ffffff1f;--text:var(--color-text-primary);--text-muted-local:var(--color-text-muted);--accent:var(--color-accent-start);--positive:#10b981;--negative:#ef4444;--font-numbers:var(--font-mono);--placeholder-color:#ffffff4d;--select-arrow:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E)}[data-theme=light]{--panel-border:#0000001a;--field-bg:#0000000a;--field-bg-active:#00000014;--placeholder-color:#0006;--select-arrow:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230f172a%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E)}.app-main{gap:1.5rem;width:100%;max-width:1200px;margin:0 auto;padding:2rem 1rem 4rem;display:grid}.app-header{text-align:center;border-bottom:1px solid var(--panel-border);margin-bottom:1rem;padding-bottom:2rem}.app-title{background:linear-gradient(135deg, var(--color-accent-start), var(--color-accent-end));-webkit-text-fill-color:transparent;text-transform:uppercase;letter-spacing:-.02em;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(2rem,4vw,3rem);font-weight:800}.header-note{color:var(--text-muted-local);font-family:var(--font-mono);opacity:.9;margin-top:.5rem;font-size:.9rem}@media (width>=960px){.app-main{grid-template-columns:1fr 1fr;align-items:start}.app-header{grid-column:1/-1}}.panel{background:var(--glass-bg);backdrop-filter:blur(12px);border:1px solid var(--panel-border);box-shadow:var(--shadow-lg);border-radius:16px;flex-direction:column;gap:1.25rem;padding:1.5rem;transition:border-color .3s,box-shadow .3s;display:flex}.panel:hover{border-color:var(--accent);box-shadow:0 10px 30px -5px #0003}.panel-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.panel h2{color:var(--text);align-items:center;gap:.5rem;margin:0;font-size:1.25rem;font-weight:700;display:flex}.form-grid-2{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-row{flex-direction:column;gap:.5rem;display:flex}.app-main label{font-size:.75rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted-local);font-weight:700}.app-main input,.app-main select{background:var(--field-bg);border:1px solid var(--panel-border);width:100%;color:var(--text);font-family:var(--font-sans);border-radius:8px;padding:.75rem;font-size:.95rem;transition:all .2s}.app-main select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:var(--select-arrow);cursor:pointer;background-position:right .7rem center;background-repeat:no-repeat;background-size:1rem;padding-right:2.5rem}.app-main select:hover,.app-main select:focus{background:var(--field-bg-active);border-color:var(--accent);box-shadow:0 0 0 2px #dc26264d}.app-main select option{background-color:var(--color-base);color:var(--text)}.app-main select option:hover,.app-main select option:checked{background-color:var(--field-bg-active);color:var(--text)}.app-main input[inputmode=decimal]{font-family:var(--font-numbers)}.app-main input:focus,.app-main select:focus{border-color:var(--accent);background:var(--field-bg-active);outline:none;box-shadow:0 0 0 2px #dc26264d}.app-main input::placeholder{color:var(--placeholder-color)}.app-main button{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.app-main button.primary{background:var(--text);color:var(--color-base);border:1px solid #0000}.app-main button.primary:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.app-main button.primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.app-main button.secondary{background:var(--field-bg);border:1px solid var(--panel-border);color:var(--text-muted-local)}.app-main button.secondary:hover{color:var(--text);border-color:var(--text);background:var(--field-bg-active)}.app-main .btn-xs{border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;padding:.4rem .6rem;font-size:1.1rem;line-height:1;display:inline-flex}.people-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.person-row{background:var(--field-bg);border:1px solid var(--panel-border);border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:.75rem;padding:.5rem .75rem;transition:all .2s;display:grid}.person-row:hover,.person-row:focus-within{border-color:var(--accent);background:var(--field-bg-active)}.person-name{color:var(--text);background:0 0;border:none;padding:0;font-size:1rem;font-weight:600}.person-name:focus{box-shadow:none;background:0 0;border:none}.table-wrapper{border:1px solid var(--panel-border);background:var(--field-bg);border-radius:12px;width:100%;overflow-x:auto}.app-main table{border-collapse:collapse;width:100%;font-size:.9rem}.app-main thead{background:var(--field-bg-active);border-bottom:1px solid var(--panel-border)}.app-main th{text-align:left;font-family:var(--font-mono);text-transform:uppercase;color:var(--text-muted-local);letter-spacing:.05em;white-space:nowrap;padding:.75rem 1rem;font-size:.75rem}.app-main th:nth-child(2),.app-main td:nth-child(2),.app-main th:nth-child(3),.app-main td:nth-child(3){text-align:right}.app-main td{border-bottom:1px solid var(--panel-border);color:var(--text);padding:.75rem 1rem}.app-main tr:last-child td{border-bottom:none}.app-main td:nth-child(2){font-family:var(--font-numbers);font-weight:600}.table-actions{justify-content:flex-end;gap:.5rem;display:flex}.table-actions .btn-xs{width:auto;padding:0 .75rem;font-size:.75rem}.table-actions .btn-delete{width:32px;padding:0;font-size:1.2rem}.balances-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.balance-item{background:var(--field-bg);border:1px solid var(--panel-border);border-left:3px solid var(--text-muted-local);border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:.5rem;padding:1rem;display:grid}.balance-positive{border-left-color:var(--positive);background:linear-gradient(90deg,#10b9811a,#0000)}.balance-negative{border-left-color:var(--negative);background:linear-gradient(90deg,#ef44441a,#0000)}.balance-info{flex-direction:column;gap:.4rem;display:flex}.balance-name{color:var(--text);font-size:1rem;font-weight:700}.balance-metrics{gap:.5rem;display:flex}.metric-badge{font-family:var(--font-mono);background:var(--field-bg-active);color:var(--text-muted-local);white-space:nowrap;border:1px solid var(--panel-border);border-radius:4px;padding:2px 8px;font-size:.75rem}.balance-net{font-family:var(--font-numbers);text-align:right;font-size:1.1rem;font-weight:700}.text-pos{color:var(--positive)}.text-neg{color:var(--negative)}.text-muted{color:var(--text-muted-local);opacity:.7}.settlement-bar{background:var(--field-bg);border:1px solid var(--panel-border);border-radius:12px;justify-content:space-between;align-items:center;padding:1.25rem;display:flex}.total-label{color:var(--text-muted-local);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:.75rem;display:block}.total-val{font-family:var(--font-numbers);color:var(--accent);font-size:1.5rem;font-weight:700}.settlement-results{flex-direction:column;gap:.75rem;display:flex}.transfer-line{color:var(--text);background:#10b98114;border:1px solid #10b9814d;border-radius:8px;justify-content:space-between;align-items:center;padding:1rem;font-size:1rem;display:flex}.transfer-arrow{color:var(--text-muted-local);margin:0 .5rem}.transfer-money{font-family:var(--font-numbers);color:var(--positive);font-weight:700}.form-feedback{color:var(--negative);min-height:1.2em;margin-top:.5rem;font-size:.85rem}.expenses-empty td{text-align:center;color:var(--text-muted-local);padding:2rem;font-style:italic}.settlement-empty{text-align:center;color:var(--text-muted-local);opacity:.8;padding:1rem;font-style:italic}
