:root, body {
  --bg:#f5f7fb; --bg2:#ffffff; --bg3:#edf1f8; --bg4:#e0e7f2; --bg5:#c3cde0;
  --accent:#2854d9; --accent2:#2145b4; --coral:#2854d9; --coral-light:#4169e1;
  --accent-glow:rgba(40,84,217,.08); --accent-glow2:rgba(40,84,217,.16);
  --text:#17233c; --text2:#34425a; --text3:#52617a; --text4:#65728a;
  --border:rgba(28,49,85,.1); --border2:rgba(28,49,85,.16); --border3:rgba(28,49,85,.3);
  --green:#08766c; --green2:#07685f; --blue:#2854d9; --pink:#08766c;
  --serif:system-ui,-apple-system,"Segoe UI",sans-serif;
  --sans:system-ui,-apple-system,"Segoe UI",sans-serif; --mono:var(--sans);
  --paper:#f5f7fb; --cream:#fff; --ink:#17233c; --brick:#2854d9; --muted:#52617a;
  --line:rgba(28,49,85,.17); --line-soft:rgba(28,49,85,.1);
  --shadow:0 3px 16px rgba(28,49,85,.04); --shadow-lg:0 20px 60px rgba(28,49,85,.09);
}
body.dark-mode {
  --bg:#111a2b; --bg2:#19243a; --bg3:#23304a; --bg4:#30405b; --bg5:#435575;
  --text:#f3f6ff; --text2:#dce4f5; --text3:#b8c7e0; --text4:#9daecc;
  --accent:#3865e5; --accent2:#8baaff; --coral:#8baaff; --green:#5bd0b3; --green2:#5bd0b3;
  --border:rgba(200,220,255,.12); --border2:rgba(200,220,255,.2); --border3:rgba(200,220,255,.3);
}
body.theme-green {--accent:#2854d9;--accent2:#2145b4;--accent-glow:rgba(40,84,217,.08);--accent-glow2:rgba(40,84,217,.16);}
body.dark-mode.theme-green {--accent:#3865e5;--accent2:#8baaff;--accent-glow:rgba(75,120,240,.15);--accent-glow2:rgba(75,120,240,.25);}
body {font-family:var(--sans); background:var(--bg); color:var(--text); background-image:none;}
body::before {background-image:none;}
*,*::before,*::after {box-sizing:border-box;}
button,input,select,textarea {font-family:inherit;}
input,select,textarea {font-size:16px!important;}
button,a,input,select,textarea {touch-action:manipulation;}
:focus-visible {outline:3px solid #4379ef;outline-offset:3px;}
.logo,.auth-logo,.brand,.brand em,.logo em,.display,.display em,h1,h2,h3 {font-family:var(--sans);font-style:normal;letter-spacing:-.035em;}
.logo,.auth-logo,.brand {font-weight:750;}
.auth-logo {font-size:1.7rem;}
.auth-overlay {padding:24px 16px;background:var(--bg);}
.auth-card {max-width:440px;padding:30px 26px;border-radius:22px;border:1px solid var(--border);}
.auth-card p,.auth-card label,.auth-card .auth-link {font-size:.9rem!important;line-height:1.6;}
.auth-input {min-height:48px;background:var(--bg2);border-radius:10px;}
.auth-btn {min-height:46px;border-radius:10px;font-size:.95rem;box-shadow:none;}
.auth-btn-primary,.ob-btn {background:var(--accent);color:white;}
.header {background:var(--bg2);padding:16px 24px;}
.app-container {max-width:1120px;margin:auto;}
.screen {padding:24px 24px 110px;}
.section-title,.screen h2 {font-size:1.5rem;}
.stat-label,.stat-change,.section-label,.form-label,.toggle-btn,.nav-label,.expense-meta,.category-name,.settings-label {font-size:.875rem;letter-spacing:0;}
.stat-value,.settlement-amount {font-variant-numeric:tabular-nums;font-weight:750;letter-spacing:-.04em;}
.stat-card,.settings-card,.add-form,.category-item,.transfer-item {border-radius:16px;box-shadow:var(--shadow);}
.stat-card {padding:20px;}
.settlement-card {border:1px solid var(--border2);background:var(--bg2);box-shadow:var(--shadow-lg);border-radius:22px;}
.settlement-card::before {display:none;}
.person1-bg {background:#2854d9;}
.person2-bg {background:#08766c;}
.tag-person1 {background:#e9efff;color:#2145b4;}
.tag-person2 {background:#dff4ee;color:#07685f;}
.toggle-group {padding:4px;background:var(--bg3);border-radius:12px;}
.toggle-btn {min-height:42px;border-radius:8px;}
.add-form {max-width:660px;margin:0 auto;padding:24px;}
.add-form .form-label {font-size:.9rem;}
.add-form input,.add-form select {min-height:48px;}
.bottom-nav {box-shadow:0 -5px 25px rgba(28,49,85,.06);border-radius:20px 20px 0 0;}
.nav-item {min-height:54px;}
.modal-card {border-radius:20px;}
.trial-note {font-size:.875rem;color:var(--text3);line-height:1.5;}
.trial-banner {margin:16px 24px 0;padding:12px 16px;border:1px solid var(--border2);background:var(--accent-glow);border-radius:12px;font-size:.875rem;color:var(--text2);}
.trial-banner[hidden] {display:none;}
.display {font-size:clamp(2rem,5vw,3.5rem);line-height:1.13;}
.hero {padding:48px 0 32px;}
.nav {background:var(--bg2);}
.eyebrow {font-family:var(--sans);font-size:.8rem;letter-spacing:.05em;}
.btn {font-family:var(--sans);border-radius:10px;min-height:46px;font-size:.95rem;box-shadow:none;}
.btn-primary,.nav-links .nav-cta {background:var(--accent);color:white;border-radius:10px;}
@media(max-width:600px){
 .screen {padding:18px 14px 110px;}.header {padding:14px;}.logo {font-size:1.35rem;}
 .auth-card {padding:24px 20px;}.add-form {padding:18px;}.stat-card {padding:15px;}
 .settlement-amount {font-size:2rem;}.display {font-size:2.1rem;}.hero {padding:30px 0;}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important;}}
