:root{--primary:#8b36ff;--primary2:#b177ff;--accent:#ff6b3d;--green:#22b879;--blue:#2498ff;--ink:#161827;--muted:#8d91a3;--bg:#f7f4ff;--card:#fff;--shadow:0 18px 45px rgba(50,28,100,.12);--radius:26px}*{box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}.app-body{background:linear-gradient(180deg,#f4efff 0,#fff 42%);min-height:100vh;padding-bottom:96px}.app-shell{width:min(100%,520px);margin:0 auto;padding:18px 16px 22px}.app-topbar{display:flex;align-items:center;justify-content:space-between;margin:10px 0 18px}.app-topbar h1{font-size:28px;line-height:1.1;margin:0;font-weight:800}.app-topbar.compact h1{font-size:26px}.tiny-label{text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:800;color:var(--primary)}.icon-btn{height:46px;width:46px;border-radius:16px;background:#fff;box-shadow:var(--shadow);display:grid;place-items:center;color:var(--ink);text-decoration:none}.balance-card{position:relative;overflow:hidden;border-radius:32px;padding:24px;color:#fff;background:radial-gradient(circle at 10% 10%,#5cc2ff 0,transparent 24%),linear-gradient(135deg,#7f35ff 0,#ba72ff 52%,#ff7b59 100%);box-shadow:0 24px 50px rgba(135,54,255,.28)}.balance-card h2{font-size:34px;font-weight:900;margin:2px 0 0}.month-select{border:0;background:rgba(255,255,255,.18);color:#fff;padding:8px 12px;border-radius:999px;font-size:12px;outline:0}.month-select option{color:#111}.balance-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}.balance-grid div{padding:14px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-radius:20px}.balance-grid span{display:block;font-size:12px;opacity:.82}.balance-grid strong{font-size:18px}.kpi-grid,.report-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}.kpi-card,.mini-summary{background:#fff;border-radius:24px;padding:18px;box-shadow:var(--shadow);min-height:128px}.kpi-card i{height:42px;width:42px;display:grid;place-items:center;border-radius:16px;margin-bottom:14px;font-size:20px}.kpi-card.income i{background:#e9fff5;color:var(--green)}.kpi-card.expense i{background:#fff0ec;color:var(--accent)}.kpi-card span,.mini-summary span{display:block;color:var(--muted);font-weight:700;font-size:13px}.kpi-card strong,.mini-summary strong{font-size:19px;font-weight:900}.quick-buttons{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:10px 0 18px}.quick-action{border:0;border-radius:24px;padding:18px;display:flex;align-items:center;gap:12px;font-weight:800;background:#fff;box-shadow:var(--shadow);color:var(--ink)}.quick-action i{font-size:22px}.quick-action.income i,.quick-action.income{color:var(--green)}.quick-action.expense i,.quick-action.expense{color:var(--accent)}.content-card,.filter-card{background:#fff;border-radius:28px;padding:18px;box-shadow:var(--shadow);margin-bottom:16px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-head h2{font-size:18px;margin:0;font-weight:900}.section-head a,.section-head span{font-size:12px;color:var(--muted);font-weight:800;text-decoration:none}.transaction-list,.record-cards{display:grid;gap:12px}.tx-card{display:flex;align-items:center;gap:12px;padding:12px;border-radius:18px;background:#fbfaff;border:1px solid #f0ecff}.tx-icon{height:44px;width:44px;border-radius:16px;display:grid;place-items:center;flex:none}.tx-card.income .tx-icon{background:#e9fff5;color:var(--green)}.tx-card.expense .tx-icon{background:#fff0ec;color:var(--accent)}.tx-main{min-width:0;flex:1}.tx-main strong{display:block;font-size:14px}.tx-main span{display:block;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-amount{font-weight:900;white-space:nowrap}.tx-card.income .tx-amount{color:var(--green)}.tx-card.expense .tx-amount{color:#e94343}.empty-state{text-align:center;color:var(--muted);padding:22px}.bottom-nav{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);width:min(calc(100% - 24px),520px);height:72px;background:#fff;border-radius:28px;box-shadow:0 20px 55px rgba(31,20,60,.18);display:grid;grid-template-columns:1fr 1fr 86px 1fr 1fr;align-items:center;padding:0 10px;z-index:1000}.nav-item{text-decoration:none;color:#a1a4b4;display:grid;place-items:center;font-size:11px;font-weight:800;gap:2px}.nav-item i{font-size:20px}.nav-item.active{color:var(--primary)}.nav-add{height:64px;width:64px;border:0;border-radius:50%;background:linear-gradient(135deg,#7d2cff,#b67cff);color:#fff;font-size:28px;display:grid;place-items:center;margin:-28px auto 0;box-shadow:0 18px 35px rgba(130,50,255,.35)}.app-modal,.transaction-sheet{border:0;border-radius:30px;box-shadow:var(--shadow)}.modal-dialog-end{display:flex;align-items:flex-end;min-height:100%;margin:0 auto;max-width:520px}.transaction-sheet{border-radius:30px 30px 0 0}.sheet-handle{width:54px;height:5px;background:#e6e0f7;border-radius:999px;margin:10px auto 0}.app-input{border:1px solid #ece8f7;border-radius:16px;padding:12px 14px;background:#fbfaff}.form-label{font-size:12px;font-weight:900;color:#64687a}.app-btn{background:linear-gradient(135deg,#7d2cff,#b67cff);border:0}.app-alert{border-radius:16px;border:0}.suggestion-box{position:relative}.suggestion-menu{position:absolute;left:0;right:0;top:4px;background:#fff;border:1px solid #eee8ff;border-radius:16px;box-shadow:var(--shadow);z-index:2000;overflow:hidden}.suggestion-menu button{display:block;width:100%;border:0;background:#fff;text-align:left;padding:10px 14px;font-weight:700}.suggestion-menu button:hover{background:#f6f1ff}.record-card{padding:14px;border-radius:20px;background:#fbfaff;border:1px solid #efeaff}.record-actions{display:flex;gap:8px;margin-top:10px}.record-actions button{border:0;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:800}.edit-btn{background:#efe7ff;color:var(--primary)}.delete-btn{background:#fff0ec;color:#d93c25}.mini-summary{min-height:96px}.mini-summary{background:#f2eaff}.mini-summary.expense{background:#fff0ec}.chart-card canvas{max-width:100%}.account-breakdown{display:grid;gap:10px;margin-top:16px}.account-row{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;border-radius:16px;background:#fbfaff}.account-row small{color:var(--muted);font-weight:700}.profile-card{text-align:center}.profile-avatar{height:84px;width:84px;border-radius:28px;background:linear-gradient(135deg,#7d2cff,#ff7b59);display:grid;place-items:center;color:#fff;font-size:34px;font-weight:900;margin:0 auto 12px}.login-body{min-height:100vh;display:grid;place-items:center;background:#cdb5ff;padding:18px}.login-card{width:min(100%,430px);min-height:760px;background:#fff;border-radius:38px;overflow:hidden;box-shadow:0 30px 70px rgba(61,31,125,.22);display:flex;flex-direction:column}.login-art{height:270px;position:relative;background:linear-gradient(135deg,#8a67ec,#b895ff);overflow:hidden}.orb{position:absolute;border-radius:50%;background:rgba(255,255,255,.18)}.orb-one{width:320px;height:320px;left:-100px;top:-80px}.orb-two{width:240px;height:240px;right:-80px;bottom:-80px}.wallet-icon{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);height:112px;width:112px;border-radius:34px;background:#fff;color:var(--primary);display:grid;place-items:center;font-size:54px;box-shadow:0 25px 60px rgba(72,40,150,.22)}.login-content{padding:36px 30px}.login-content h1{text-align:center;font-size:28px;font-weight:900}.login-subtitle{text-align:center;color:var(--muted);font-weight:600}.pin-dots{display:flex;justify-content:center;gap:12px;margin:22px 0}.pin-dots span{height:14px;width:14px;border-radius:50%;background:#ebe5f9}.pin-dots span.filled{background:var(--primary)}.pin-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pin-pad button{height:58px;border:0;border-radius:20px;background:#f5f0ff;font-size:22px;font-weight:900;color:var(--ink)}.pin-pad .pin-submit{background:linear-gradient(135deg,#7d2cff,#b67cff);color:#fff}@media (max-width:390px){.balance-card h2{font-size:29px}.kpi-card,.quick-action,.content-card,.filter-card{border-radius:22px;padding:15px}.bottom-nav{height:68px}.nav-add{height:58px;width:58px}.app-shell{padding-left:12px;padding-right:12px}}@media (min-width:768px){.app-shell{padding-top:28px}.modal-dialog-end{align-items:center}.transaction-sheet{border-radius:30px}.record-cards{display:none!important}}
