:root{
  --bg:#f4f6f3;--card:#fff;--ink:#15231f;--muted:#6d7c76;--line:#e2e8e4;
  --primary:#173f35;--primary2:#2f5d50;--soft:#eaf2ef;--accent:#d7e7df;
  --danger:#b94444;--shadow:0 10px 30px rgba(25,52,45,.07)
}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;font-family:Pretendard,"Apple SD Gothic Neo",system-ui,sans-serif;color:var(--ink);background:var(--bg)}
button,input,select{font:inherit}.app-shell{max-width:1080px;margin:0 auto;padding:24px 20px 104px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.topbar h1{margin:2px 0 0;font-size:26px}.eyebrow,.section-kicker{margin:0;color:var(--primary2);font-size:11px;letter-spacing:.14em;font-weight:800}.icon-btn,.month-arrow,.close-btn{border:0;background:transparent;cursor:pointer;color:var(--ink)}.icon-btn{width:42px;height:42px;border-radius:14px;background:var(--card);box-shadow:var(--shadow);font-size:22px}.card{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.month-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;margin-bottom:16px}.month-center{text-align:center}.month-center .label{display:block;color:var(--muted);font-size:12px;margin-bottom:3px}.month-center strong{font-size:18px}.month-arrow{font-size:32px;width:48px;height:48px}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.summary-card{padding:18px;background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.summary-card.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.summary-card span{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}.summary-card.primary span,.summary-card.primary small{color:#dce9e4}.summary-card strong{display:block;font-size:22px}.summary-card small{display:block;color:var(--muted);margin-top:8px;font-size:11px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading h2{margin:4px 0 0;font-size:19px}.transfer-card,.loan-card,.card:not(.month-bar){padding:20px;margin-bottom:16px}.badge{font-size:11px;font-weight:700;background:var(--soft);color:var(--primary2);padding:7px 10px;border-radius:999px}.transfer-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1.2fr;align-items:center;gap:10px;margin-top:18px}.transfer-flow>div:not(.operator){border:1px solid var(--line);border-radius:14px;padding:13px}.transfer-flow span,.loan-grid span{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.transfer-flow strong,.loan-grid strong{font-size:16px}.transfer-flow .result{background:var(--soft);border-color:var(--accent)!important}.operator{text-align:center;color:var(--muted);font-weight:800}.helper-text{font-size:12px;color:var(--muted);margin:12px 0 0}.primary-btn{border:0;background:var(--primary);color:#fff;border-radius:12px;padding:10px 14px;font-weight:700;cursor:pointer}.primary-btn.full{width:100%;padding:13px}.filter-row{display:flex;gap:8px;overflow:auto;margin:18px 0 10px}.chip{white-space:nowrap;border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:999px;padding:8px 12px;cursor:pointer}.chip.active{background:var(--soft);color:var(--primary);border-color:var(--accent);font-weight:700}.expense-list{display:flex;flex-direction:column}.expense-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:14px 4px;border-bottom:1px solid var(--line)}.expense-row:last-child{border-bottom:0}.expense-title{font-weight:700;margin-bottom:4px}.expense-meta{font-size:12px;color:var(--muted)}.expense-amount{text-align:right;font-weight:800}.expense-split{display:block;color:var(--muted);font-size:11px;margin-top:4px}.empty-state{text-align:center;color:var(--muted);padding:30px 0}.loan-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.loan-grid>div{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fbfcfb}.bottom-nav{position:fixed;z-index:20;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,1080px);display:grid;grid-template-columns:repeat(5,1fr);background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border:1px solid var(--line);border-bottom:0;border-radius:20px 20px 0 0;padding:7px 8px max(7px,env(safe-area-inset-bottom));box-shadow:0 -8px 30px rgba(26,52,45,.08)}.nav-item{border:0;background:transparent;color:var(--muted);padding:7px 0;cursor:pointer}.nav-item span,.nav-item small{display:block}.nav-item span{font-size:18px}.nav-item small{font-size:10px;margin-top:2px}.nav-item.active{color:var(--primary);font-weight:800}.dialog{border:0;padding:0;background:transparent}.dialog::backdrop{background:rgba(18,33,29,.45);backdrop-filter:blur(3px)}.dialog-card{width:min(92vw,440px);background:#fff;border-radius:22px;padding:20px;box-shadow:0 22px 70px rgba(0,0,0,.18)}.dialog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.dialog-header h2{margin:0}.close-btn{font-size:26px}.dialog label{display:block;font-size:12px;color:var(--muted);margin-top:12px}.dialog input,.dialog select{width:100%;margin-top:6px;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink)}.dialog .primary-btn{margin-top:18px}
@media(max-width:780px){.app-shell{padding:18px 14px 96px}.summary-grid{grid-template-columns:repeat(2,1fr)}.transfer-flow{grid-template-columns:1fr 1fr}.operator{display:none}.transfer-flow .result{grid-column:1/-1}.loan-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:440px){.summary-card strong{font-size:18px}.summary-grid{gap:8px}.summary-card{padding:14px}.section-heading{align-items:flex-start}.primary-btn{font-size:12px}.transfer-flow{grid-template-columns:1fr}.transfer-flow .result{grid-column:auto}.loan-grid{grid-template-columns:1fr 1fr}}
