:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#302043;background:#f7f4fc;font-synthesis:none;--purple:#7040bf;--muted:#80728f}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 10% 0%,#ece0ff,transparent 55%),#f7f4fc;min-height:100vh}.app{max-width:1020px;margin:0 auto;padding:64px 28px 28px}.header{position:relative;margin-bottom:38px}.eyebrow,.section-kicker{font-size:11px;font-weight:750;letter-spacing:2px;color:var(--purple);margin:0 0 12px}h1{font-size:clamp(32px,5vw,48px);letter-spacing:-2px;margin:0;font-weight:750}h1 span{color:#ad8ad5;font-weight:400}.subtitle{color:var(--muted);font-size:16px}.storage-badge{display:inline-block;font-size:12px;background:#eee5fa;color:#714c98;border:1px solid #e2d3f4;border-radius:30px;padding:8px 12px}.summary{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:32px}.summary-card{padding:30px;border-radius:22px;background:#fff;border:1px solid #eadff5;box-shadow:0 8px 25px #47226706}.primary{color:#fff;background:linear-gradient(120deg,#7845c9,#54289d);border:0;box-shadow:0 12px 25px #7140bf22}.summary-label{font-size:14px;font-weight:600}.summary-value{font-size:clamp(26px,4vw,36px);font-weight:750;letter-spacing:-1px;margin:12px 0;overflow-wrap:anywhere}.summary-note{font-size:12px;opacity:.7}.section{background:#fff;border:1px solid #eadff5;border-radius:22px;margin-bottom:24px;padding:28px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}h2{font-size:21px;letter-spacing:-.5px;margin:0}.section-kicker{font-size:10px;margin-bottom:8px}.button{border:0;border-radius:11px;background:var(--purple);color:#fff;padding:12px 17px;font:inherit;font-size:13px;font-weight:650;cursor:pointer}.button:hover{background:#592aa1}.button.secondary{background:#f0e9f8;color:#62428a}.empty-state{text-align:center;padding:28px 12px 36px;color:var(--muted)}.empty-icon{margin:auto;background:#f1eafa;border-radius:16px;color:#976dcc;font-size:28px;width:50px;height:50px;line-height:48px}.empty-state h3{font-size:16px;color:#59446f;margin:16px 0 8px}.empty-state p{font-size:13px;margin:0}.record{display:flex;align-items:center;gap:18px;padding:18px 0;border-top:1px solid #f0eaf6}.record-info{flex:1;min-width:0}.record-title{font-weight:600;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.record-date{font-size:12px;color:var(--muted);margin-top:6px}.record-amount{font-size:17px;font-weight:700;color:var(--purple);overflow-wrap:anywhere}.delete{background:none;border:0;color:#927ea6;font:inherit;font-size:12px;cursor:pointer;padding:8px}.delete:hover{color:#ad345c}footer{text-align:center;color:#92839f;font-size:11px;padding:12px}dialog{width:min(460px,calc(100% - 32px));padding:28px;border:1px solid #e2d5ef;border-radius:22px;color:#302043;box-shadow:0 24px 80px #30204333}dialog::backdrop{background:#25123466;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.close{background:none;border:0;font-size:28px;color:#80728f;cursor:pointer}label{display:block;font-size:13px;font-weight:650;margin:18px 0 8px}label span{font-weight:400;color:var(--muted);font-size:11px;margin-left:4px}input,textarea{width:100%;font:inherit;font-size:15px;border:1px solid #ddcfe9;border-radius:10px;padding:12px;background:#fcfaff;color:#302043}textarea{resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}:focus-visible{outline:3px solid #b692e7;outline-offset:3px}#notice{background:#fff1d7;color:#6d4e13;padding:14px;border-radius:12px;margin-bottom:20px;font-size:13px}@media(max-width:600px){.app{padding:36px 16px 20px}.summary{gap:12px}.summary-card{padding:20px 16px}.summary-value{font-size:25px}.section{padding:22px 18px}.section-heading{align-items:flex-start;flex-direction:column;gap:16px}.record{gap:8px;flex-wrap:wrap}.record-info{flex-basis:60%}.record-amount{font-size:15px}.delete{margin-left:auto}h2{font-size:20px}}
[hidden]{display:none!important}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(100%,460px);background:white;border:1px solid #eadff5;border-radius:24px;padding:36px;box-shadow:0 20px 70px #7040bf12}.login-card h1{font-size:34px}.login-submit{width:100%;margin-top:24px}.login-error{color:#a52d50;font-size:13px}.account-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;font-size:12px;color:var(--muted);overflow-wrap:anywhere}
body{background:linear-gradient(#f6f1ffbb,#f6f1ffdd),url("background.jpg") center/cover no-repeat;background-attachment:fixed}button,input,textarea{touch-action:manipulation}.money-input{position:relative}.money-input>span{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:18px;color:var(--purple);font-weight:650}.money-input input{padding-left:36px}.field-hint{font-size:11px;color:var(--muted);margin:8px 0 0}dialog{max-height:calc(100dvh - 32px);overflow-y:auto}.button,.delete,.close{min-height:44px}.account-row>span{min-width:0}.account-row>button{flex-shrink:0}
@media(max-width:600px){body{background-attachment:scroll}.app{padding:28px 16px 20px}.summary{grid-template-columns:1fr;gap:14px}.summary-card{padding:24px}.summary-value{font-size:32px}.section-heading{gap:18px}.section-heading .button{width:100%;font-size:14px}.record{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.record-info{grid-column:1/-1}.record-amount{font-size:18px}.delete{margin:0;padding:10px 12px}.login-card{padding:28px 22px}.login-card h1{font-size:30px;letter-spacing:-1px}.login-shell{padding:16px}input,textarea{font-size:16px;min-width:0}dialog{padding:22px;width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.form-actions .button{flex:1}.account-row{align-items:flex-start}footer{line-height:1.7}}
.password-input{position:relative}.password-input input{padding-right:72px}.password-input button{position:absolute;right:4px;top:4px;bottom:4px;border:0;border-radius:7px;min-width:60px;min-height:40px;background:#eee5fa;color:#62428a;font:inherit;font-size:13px;font-weight:650;cursor:pointer}
