:root{font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;color:#172b26;background:#f6f8f7;font-synthesis:none;--green:#185e4d;--dark:#173b31;--muted:#788980;--line:#e6ece8;--card:#fff}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.hidden{display:none!important}.app{max-width:570px;min-height:100vh;margin:auto;padding:0 20px 112px;background:#f6f8f7}.app-header{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.branding{display:flex;align-items:center;gap:11px}.branding strong{font-size:17px;letter-spacing:-.6px}.brand-mark{background:var(--dark);width:39px;height:39px;border-radius:13px;position:relative;display:flex;align-items:center;justify-content:center;gap:0}.brand-mark span{width:11px;height:14px;border:2px solid white;border-radius:8px;transform:rotate(-36deg) translateX(1px)}.brand-mark span+span{transform:rotate(36deg) translateX(-1px);margin-left:-3px}.brand-mark.large{height:62px;width:62px;border-radius:19px;margin:0 auto 18px}.brand-mark.large span{width:17px;height:21px}.eyebrow{font-size:10px;color:#8a9891;font-weight:800;letter-spacing:1.6px;line-height:1.9}.live-label{font-size:11px;font-weight:700;color:#598275;white-space:nowrap}.live-dot{display:inline-block;background:#33b37a;width:6px;height:6px;border-radius:50%;margin-right:6px;vertical-align:middle}.top-heading{display:flex;justify-content:space-between;align-items:center;padding:26px 1px 18px}.top-heading h1{margin:0;font-size:29px;letter-spacing:-1.35px;line-height:1.25}.round-btn{width:35px;height:35px;border-radius:50%;border:1px solid #e2e9e5;background:#fff;display:grid;place-items:center;color:var(--green)}svg{width:20px;height:20px}.member-select{display:flex;background:#eaf0ec;padding:4px;border-radius:12px;margin-bottom:21px}.member-btn{flex:1;background:transparent;border:0;border-radius:9px;height:35px;color:#7a8a80;font-size:13px;font-weight:750}.member-btn.active{background:white;color:var(--dark);box-shadow:0 2px 8px #203f2d12}.month-line{display:flex;justify-content:center;align-items:center;gap:13px;margin:1px 0 19px}.month-line h2{font-size:17px;letter-spacing:-.4px;margin:0;min-width:120px;text-align:center}.plain-icon{width:30px;height:30px;display:grid;place-items:center;border:0;background:transparent;color:#74847b;font-size:17px}.total-card{border-radius:19px;background:#1b5545;color:#fff;padding:24px 24px 22px;box-shadow:0 12px 26px #0f473e18}.total-head{display:flex;justify-content:space-between;font-size:12px;font-weight:650;opacity:.8}.spark{font-size:16px;color:#bfe9cf}.total-amount{font-weight:820;font-size:36px;letter-spacing:-1.5px;margin:10px 0 26px;white-space:nowrap}.total-amount span{font-size:17px;letter-spacing:-.5px;font-weight:600;margin-left:3px}.summary-details{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #ffffff24;padding-top:16px}.summary-details>div{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:11px;color:#d7ede1}.summary-details strong{font-size:12px;color:#fff;white-space:nowrap}.summary-dot{height:6px;width:6px;border-radius:50%}.summary-dot.pos{background:#93d5ac}.summary-dot.neg{background:#f5c89a}.calendar-card,.trend-chart-section,.trend-list-section{margin-top:20px;border-radius:18px;background:#fff;padding:22px 15px 18px;border:1px solid #f0f2f0}.calendar-caption{display:flex;justify-content:space-between;align-items:center;margin:0 5px 15px}.calendar-caption strong{font-size:15px}.calendar-caption span{font-size:10px;color:#94a199}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;text-align:center}.cal-week{height:30px;display:flex;align-items:center;justify-content:center;color:#a0ada5;font-size:11px;font-weight:700}.cal-week:first-child{color:#d47c6f}.cal-week:nth-child(7){color:#6086bd}.cal-day{padding:5px 1px 2px;min-height:67px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;background:transparent;border:1px solid transparent;border-radius:10px;color:#394c44;min-width:0}.cal-day.empty{pointer-events:none}.cal-day .number{width:27px;height:27px;display:grid;place-items:center;font-weight:650;font-size:12px;border-radius:50%}.cal-day.today .number{box-shadow:inset 0 0 0 1px #2d8a68}.cal-day.selected{background:#eff7f2;border-color:#d7e9dc}.cal-day.selected .number{background:var(--green);color:#fff}.cal-day .daily-money{font-size:9px;white-space:nowrap;letter-spacing:-.5px;color:#36816a;font-weight:750;margin-top:3px}.cal-day .daily-money.negative{color:#c47b64}.transactions-section{padding:31px 2px 0}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-title-row h2{margin:0;font-size:19px;letter-spacing:-.65px}.add-button{border:1px solid #e5eae7;background:white;border-radius:10px;font-size:12px;font-weight:750;color:var(--green);padding:10px 12px;white-space:nowrap}.add-button span{font-size:17px;margin-right:1px}.day-total-line{display:flex;align-items:center;justify-content:space-between;margin-top:23px;padding:0 0 13px;border-bottom:1px solid var(--line);color:#85938b;font-size:12px}.day-total-line strong{color:#263e33;font-size:14px}.transaction-list{padding-top:2px}.transaction{border-bottom:1px solid var(--line);display:flex;align-items:center;padding:17px 0;gap:12px;width:100%;background:transparent;text-align:left;border-top:0;border-left:0;border-right:0}.txn-symbol{flex-shrink:0;width:40px;height:40px;border-radius:13px;background:#eaf3ec;display:grid;place-items:center;color:#3f8d6d;font-size:17px;font-weight:800}.txn-symbol.cancel{background:#fdf0e8;color:#ca8b62}.txn-symbol.review{background:#fef4da;color:#bd8736}.txn-content{flex:1;min-width:0}.txn-content strong{display:block;font-size:14px;color:#243a30;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.3px}.txn-content small{display:block;color:#9aa69f;font-size:11px;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.txn-right{text-align:right;white-space:nowrap}.txn-right strong{font-size:14px;color:#213c31;display:block}.txn-right strong.cancel{color:#c67a5d}.txn-right strong.review{color:#b8873c}.txn-right small{font-size:10px;color:#a2ada6;display:block;margin-top:5px}.empty-state{text-align:center;padding:50px 10px;color:#9aa59f}.empty-state strong{display:block;font-size:15px;color:#58685e;margin-bottom:7px}.empty-state span{font-size:12px}.review-notice{border-radius:10px;padding:10px 13px;background:#fff8e8;color:#957032;font-size:12px;margin-top:16px;line-height:1.6}.trend-hero{background:#fff;border:1px solid #ebf0eb;border-radius:18px;padding:25px 23px}.trend-hero-label{font-size:13px;color:#61796d;margin-top:9px}.trend-hero-amount{font-size:36px;font-weight:850;color:var(--dark);letter-spacing:-1.4px;margin:8px 0}.trend-hero-amount span{font-size:17px;letter-spacing:0;margin-left:4px}.trend-hero p{font-size:11px;color:#a0aca4;margin:16px 0 0}.trend-chart-section,.trend-list-section{padding:23px 20px 20px}.trend-chart{height:240px;display:flex;align-items:stretch;gap:9px;border-bottom:1px solid #e6ece8;margin-top:25px;padding:0 2px}.bar-col{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;min-width:0;gap:8px}.bar-figure{font-size:10px;font-weight:750;color:#607c6c;white-space:nowrap}.bar-slot{height:180px;width:100%;max-width:48px;display:flex;align-items:end}.bar-fill{width:100%;background:linear-gradient(180deg,#6ec49d,#2d8a6a);border-radius:9px 9px 2px 2px;min-height:2px}.bar-col.current .bar-fill{background:linear-gradient(180deg,#286951,#184d3e)}.bar-col.negative .bar-fill{background:#dbb0a1}.bar-month{font-size:11px;color:#93a097;white-space:nowrap;padding-bottom:10px}.bar-col.current .bar-month{font-weight:850;color:var(--green)}.trend-list{margin-top:16px}.trend-row{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.trend-row:last-child{border-bottom:0}.trend-row div:first-child{font-weight:700;font-size:13px}.trend-row div:last-child{text-align:right}.trend-row strong{display:block;font-size:14px}.trend-row small{display:block;color:#97a39b;font-size:11px;margin-top:5px}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(570px,100%);height:calc(75px + env(safe-area-inset-bottom));padding:9px 20px calc(9px + env(safe-area-inset-bottom));display:flex;background:#ffffffee;backdrop-filter:blur(18px);border-top:1px solid #e7eee8;z-index:10}.nav-btn{flex:1;border:0;background:transparent;color:#9aa9a0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;font-weight:800;font-size:11px}.nav-btn svg{width:23px;height:23px}.nav-btn.active{color:var(--green)}dialog{width:min(470px,calc(100% - 28px));max-height:calc(100vh - 40px);border:0;border-radius:20px;box-shadow:0 25px 95px #0f241e35;padding:25px;overflow:auto}dialog::backdrop{background:#0b1e16a6}.dialog-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:23px}.dialog-head h2{margin:0;font-size:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{font-size:12px;font-weight:750;color:#65796d;display:flex;flex-direction:column;gap:7px}.form-grid label.full{grid-column:span 2}.form-grid input,.form-grid select,.connect input{width:100%;min-width:0;height:45px;border:1px solid #dce5df;border-radius:9px;padding:0 12px;background:#fff;color:#1f372b;outline:none}.form-grid input:focus,.form-grid select:focus,.connect input:focus{border-color:#297555;box-shadow:0 0 0 3px #29755520}.dialog-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:22px}.primary-button{background:#195a49;color:#fff;border:0;border-radius:10px;height:44px;padding:0 21px;font-weight:800}.delete-button{border:1px solid #f2d4ce;color:#b96050;background:#fff8f6;border-radius:10px;padding:0 16px;font-weight:800;margin-right:auto}.raw-text-area{margin-top:18px;border-radius:10px;background:#f7faf8;padding:13px;font-size:12px;color:#6c7b72;overflow-wrap:anywhere}.raw-text-area p{white-space:pre-wrap;margin-bottom:0}.edit-form small#form-error,.connect small{color:#b44b42;display:block;margin-top:9px}.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(95px + env(safe-area-inset-bottom));background:#213d32;color:white;padding:11px 18px;border-radius:12px;font-size:12px;box-shadow:0 5px 18px #172f2440;z-index:25;white-space:nowrap}.connect{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:25px}.connect-card{background:#fff;border:1px solid #eaf0eb;border-radius:24px;width:min(390px,100%);text-align:center;padding:40px 29px;box-shadow:0 15px 40px #142c1b0c}.connect h1{margin:0;font-size:24px}.connect p{font-size:13px;line-height:1.9;color:#8a9b90;margin:13px 0 27px}.connect form{text-align:left}.connect form label{display:block;font-size:12px;font-weight:750;color:#667a6c;margin-bottom:8px}.connect .primary-button{width:100%;margin-top:12px}@media(max-width:360px){.app{padding-left:13px;padding-right:13px}.calendar-card{padding:20px 10px}.cal-day .daily-money{font-size:8px}.total-amount{font-size:31px}.summary-details{flex-wrap:wrap}.calendar-caption span{font-size:9px}}
