:root{--color-bg:#f4f5f7;--color-surface:#fff;--color-text:#1c1e21;--color-text-secondary:#6b7280;--color-border:#e2e4e9;--status-confirmed:#1a7f4b;--status-confirmed-bg:#e6f4ec;--status-manual-pending:#b45309;--status-manual-pending-bg:#fdf3e3;--status-paid:#3b5bdb;--status-paid-bg:#eaeefc;--status-partial:#0b7285;--status-partial-bg:#e3f2f6;--status-overdue:#c92a2a;--status-overdue-bg:#fdecec;--font-sans:system-ui, "PingFang SC", "Noto Sans CJK SC", "Microsoft YaHei", sans-serif;--font-size-amount:32px;--font-size-amount-sm:20px;--font-size-title:20px;--font-size-body:16px;--font-size-caption:13px;--line-height-tight:1.2;--radius-card:14px;--radius-pill:999px;--shadow-card:0 1px 3px #1c1e2114;--spacing-card:16px;--spacing-tight:8px;--tap-min:44px;--page-max-width:640px;--page-padding:16px;--overlay-bg:#1c1e218c}*,:before,:after{box-sizing:border-box}html{font-family:var(--font-sans);font-size:var(--font-size-body);color:var(--color-text);background:var(--color-bg);-webkit-text-size-adjust:100%;line-height:1.45}body{margin:0}#root{max-width:var(--page-max-width);padding:var(--page-padding);min-height:100dvh;margin:0 auto}.card{background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:var(--spacing-card)}.amount{font-size:var(--font-size-amount);font-weight:700;line-height:var(--line-height-tight);font-variant-numeric:tabular-nums}.amount--sm{font-size:var(--font-size-amount-sm)}.status-badge{border-radius:var(--radius-pill);font-size:var(--font-size-caption);border:2px solid #0000;padding:2px 10px;display:inline-block}.status-badge--confirmed{color:var(--status-confirmed);background:var(--status-confirmed-bg)}.status-badge--manual-pending{color:var(--status-manual-pending);background:var(--status-manual-pending-bg);border-color:var(--status-manual-pending);border-style:dashed}.status-badge--paid{color:var(--status-paid);background:var(--status-paid-bg)}.status-badge--partial{color:var(--status-partial);background:var(--status-partial-bg)}.status-badge--overdue{color:var(--status-overdue);background:var(--status-overdue-bg)}button,a{min-height:var(--tap-min);min-width:var(--tap-min)}.text-secondary{color:var(--color-text-secondary);font-size:var(--font-size-caption)}.page-title{font-size:var(--font-size-title);margin:0 0 var(--spacing-card)}.card+.card{margin-top:var(--spacing-card)}.card-title{font-size:var(--font-size-body);margin:0 0 var(--spacing-tight);font-weight:600}.topbar{justify-content:space-between;align-items:center;gap:var(--spacing-tight);margin-bottom:var(--spacing-card);flex-wrap:wrap;display:flex}.topbar .page-title{margin-bottom:0}.topbar-session{align-items:center;gap:var(--spacing-tight);min-width:0;display:flex}.topbar-user{overflow-wrap:anywhere}.field{gap:var(--spacing-tight);margin:0 0 var(--spacing-card);flex-direction:column;display:flex}.field-label{font-size:var(--font-size-caption);color:var(--color-text-secondary)}.field-input{width:100%;min-height:var(--tap-min);font:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:0 var(--spacing-tight)}.btn{font:inherit;min-height:var(--tap-min);padding:0 var(--spacing-card);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);color:var(--color-text);cursor:pointer}.btn:disabled{opacity:.6}.btn--danger{background:var(--status-overdue);border-color:var(--status-overdue);color:var(--color-surface)}.form-error{color:var(--status-overdue);font-size:var(--font-size-caption);margin:0 0 var(--spacing-tight);overflow-wrap:anywhere}.member-list{margin:0;padding:0;list-style:none}.member-row{justify-content:space-between;align-items:center;gap:var(--spacing-tight);padding:var(--spacing-tight) 0;border-bottom:1px solid var(--color-border);display:flex}.member-row:last-child{border-bottom:none}.member-text{gap:var(--spacing-tight);flex-direction:column;flex:1;min-width:0;display:flex}.member-name{overflow-wrap:anywhere}.member-note{color:var(--color-text-secondary);font-size:var(--font-size-caption);overflow-wrap:anywhere}.tabs{gap:var(--spacing-tight);margin-bottom:var(--spacing-card);flex-wrap:wrap;display:flex}.tabs .btn{flex:1}.btn[aria-pressed=true]{background:var(--color-text);color:var(--color-surface);border-color:var(--color-text)}.segmented{gap:var(--spacing-tight);margin-bottom:var(--spacing-tight);flex-wrap:wrap;display:flex}.account-list{margin:0;padding:0;list-style:none}.account-row{padding:var(--spacing-tight) 0;border-bottom:1px solid var(--color-border)}.account-row:last-child{border-bottom:none}.account-head{align-items:baseline;gap:var(--spacing-tight);flex-wrap:wrap;display:flex}.account-name{overflow-wrap:anywhere;min-width:0;font-weight:600}.account-meta{margin:var(--spacing-tight) 0;overflow-wrap:anywhere}.account-uncleared{align-items:baseline;gap:var(--spacing-tight);margin:0 0 var(--spacing-tight);flex-wrap:wrap;display:flex}.account-uncleared .field-label{width:100%;margin:0}.account-note{color:var(--color-text-secondary);font-size:var(--font-size-caption);margin:0 0 var(--spacing-tight);overflow-wrap:anywhere}.account-actions{gap:var(--spacing-tight);flex-wrap:wrap;display:flex}.amount--manual{color:var(--status-manual-pending)}.amount--inline{font-size:var(--font-size-caption);font-weight:600}.status-badge--archived{color:var(--color-text-secondary);background:var(--color-bg)}.overlay{background:var(--overlay-bg);padding:var(--page-padding);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.overlay-panel{width:100%;max-width:var(--page-max-width);max-height:calc(100vh - 2 * var(--page-padding));overflow-y:auto}
