:root{--navy:#143765;--navy2:#08213f;--blue:#2f6feb;--text:#12213b;--muted:#68758a;--line:#dde5ef;--panel:#fff;--soft:#f6f8fb;--gold:#d8a52d}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:linear-gradient(rgba(248,251,255,.78),rgba(248,251,255,.88)),url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="1600" height="1000"%3E%3Cdefs%3E%3ClinearGradient id="g" x1="0" y1="0" x2="1" y2="1"%3E%3Cstop stop-color="%23eaf1f8"/%3E%3Cstop offset="1" stop-color="%23d7e1ec"/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width="100%25" height="100%25" fill="url(%23g)"/%3E%3C/svg%3E');background-size:cover;background-attachment:fixed}.topbar{height:88px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:14px;font-size:22px;font-weight:700}.brand img{width:48px;height:48px;border-radius:13px;object-fit:cover}.top-actions{display:flex;align-items:center;gap:18px;color:var(--muted)}.lang{border:0;background:transparent;font-weight:700;color:var(--text)}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#eaf0ff;color:#2d5eb0}.page-shell{max-width:1200px;margin:40px auto;padding:0 24px 48px}.card,.panel,.stat-card,.tabs{background:var(--panel);border:1px solid rgba(215,225,236,.95);box-shadow:0 10px 30px rgba(18,42,71,.08)}.hero{display:flex;justify-content:space-between;align-items:center;padding:30px 28px;border-radius:18px}.eyebrow{letter-spacing:.18em;font-size:12px;font-weight:800;color:var(--muted)}h1{margin:12px 0 0;font-size:34px}.date-btn,.segmented button,.tabs button{border:0;background:transparent}.date-btn{padding:14px 18px;border:1px solid var(--line);border-radius:14px;background:#fff}.toolbar{display:flex;justify-content:space-between;align-items:center;margin:26px 0}.segmented{background:#f0f4f9;border:1px solid var(--line);padding:4px;border-radius:12px}.segmented button{padding:12px 18px;border-radius:9px;color:var(--muted)}.segmented .active{background:#fff;color:var(--text);box-shadow:0 2px 8px rgba(18,42,71,.08)}.primary{border:0;border-radius:12px;background:var(--blue);color:#fff;padding:14px 18px;font-weight:700;cursor:pointer}.summary-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:20px}.stat-card{padding:26px;border-radius:18px;min-height:165px}.stat-card.dark{background:var(--navy);color:white}.label{font-size:15px;color:inherit;opacity:.8}.value{font-size:36px;font-weight:800;margin-top:16px}.hint{margin-top:22px;opacity:.75;font-size:14px}.tabs{display:inline-flex;margin:26px 0 22px;border-radius:12px;padding:4px}.tabs button{padding:12px 20px;color:var(--muted)}.tabs .active{color:var(--blue);font-weight:700}.content-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px}.panel{border-radius:18px;padding:26px}.panel h2{font-size:20px;margin:0}.panel-head{display:flex;align-items:center;justify-content:space-between}.icon-btn{border:0;background:transparent;font-size:22px;cursor:pointer}.spending-wrap{display:flex;align-items:center;gap:28px;min-height:250px}.donut{width:180px;height:180px;border-radius:50%;background:conic-gradient(#dfe8f2 0deg 360deg);display:grid;place-items:center;position:relative}.donut:after{content:"";width:122px;height:122px;border-radius:50%;background:white;position:absolute}.donut div{z-index:1;text-align:center}.donut span{display:block;color:var(--muted);font-size:13px}.donut strong{font-size:22px}.empty{display:flex;min-height:220px;align-items:center;justify-content:center;flex-direction:column;color:var(--muted);gap:8px}.empty-icon{font-size:30px}.recent-panel{margin-top:24px}.list{list-style:none;margin:16px 0 0;padding:0}.list li{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--line)}.list .meta{color:var(--muted);font-size:13px}.amount.income{color:#108a61}.amount.expense{color:#c45b37}.error-banner{background:#fff0ef;border:1px solid #f5d2ce;color:#9b4b40;padding:14px 16px;border-radius:12px;margin:-8px 0 18px}.hidden{display:none!important}.modal-backdrop{position:fixed;inset:0;background:rgba(8,25,45,.45);display:grid;place-items:center;z-index:20;padding:20px}.modal{background:#fff;border-radius:18px;padding:24px;width:min(460px,100%);box-shadow:0 24px 70px rgba(8,25,45,.28)}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal label{display:block;margin-top:15px;font-weight:600}.modal input,.modal select{width:100%;margin-top:7px;border:1px solid var(--line);border-radius:10px;padding:12px;font:inherit}.full{width:100%;margin-top:20px}.linkish{color:var(--blue)}
@media(max-width:800px){.top-actions>span{display:none}.summary-grid,.content-grid{grid-template-columns:1fr}.toolbar{align-items:stretch;gap:12px;flex-direction:column}.primary{width:100%}.hero{align-items:flex-start;gap:20px;flex-direction:column}.date-btn{width:100%}.spending-wrap{flex-direction:column;justify-content:center}.tabs{width:100%;overflow:auto}.page-shell{margin-top:24px}.topbar{padding:0 18px}.brand span{font-size:19px}}
.toolbar-actions,.row-end{display:flex;align-items:center;gap:10px}.secondary{border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);padding:13px 16px;font-weight:700;cursor:pointer}.delete-btn{border:0;background:#f6f8fb;color:#8a94a6;width:30px;height:30px;border-radius:9px;font-size:20px;cursor:pointer}.delete-btn:hover{background:#fff0ef;color:#b84b42}@media(max-width:800px){.toolbar-actions{width:100%}.toolbar-actions>*{flex:1}.secondary{padding:12px 10px}}
