:root{--font-main:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--bg-app:#f1f5f9;--bg-card:#fff;--bg-card-hover:#fff;--border-color:#0f172a0d;--border-color-active:#0f172a1a;--text-primary:#0f172a;--text-secondary:#334155;--text-muted:#64748b;--color-income:#10b981;--color-income-bg:#10b9811a;--color-expense:#ef4444;--color-expense-bg:#ef44441a;--color-transfer:#3b82f6;--color-transfer-bg:#3b82f61a;--color-fajar:#7c3aed;--color-fajar-glow:#7c3aed26;--color-aina:#db2777;--color-aina-glow:#db277726;--color-bersama:#f59e0b;--color-bersama-glow:#f59e0b26;--bottom-nav-height:72px;--header-height:64px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--bg-app);color:var(--text-primary);overscroll-behavior-y:contain;background-image:radial-gradient(circle at 10% 20%,#06b6d414 0%,#0000 40%),radial-gradient(circle at 90% 80%,#d946ef14 0%,#0000 40%);justify-content:center;align-items:stretch;height:100dvh;display:flex;overflow:hidden}svg{stroke-width:1.5px!important}#root{justify-content:center;width:100%;height:100%;display:flex}.app-container{border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);background-color:#f8fafcfa;flex-direction:column;width:100%;max-width:480px;height:100vh;max-height:100vh;transition:max-width .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #0000001a}@media (width>=768px){.app-container{max-width:100%;box-shadow:none;border:none;height:100vh;max-height:100vh;overflow:hidden}.app-header{z-index:101;border-bottom:1px solid var(--border-color);width:100%;max-width:100%;left:0;transform:none}.app-nav{border-right:1px solid var(--border-color)!important;z-index:100!important;width:240px!important;max-width:240px!important;height:100vh!important;box-shadow:none!important;background-color:#fff!important;border-top:none!important;flex-direction:column!important;justify-content:flex-start!important;padding-top:80px!important;display:flex!important;position:fixed!important;top:0!important;bottom:0!important;left:0!important;transform:none!important}.desktop-compose-btn{color:#fff;width:85%;font-family:var(--font-main);cursor:pointer;background:linear-gradient(135deg,#fbbf24 0%,#f59e0b 100%);border:none;border-radius:50px;justify-content:center;align-items:center;gap:8px;margin:15px auto 25px;padding:12px 24px;font-size:.85rem;font-weight:700;transition:transform .2s,box-shadow .2s;box-shadow:0 10px 15px -3px #f59e0b4d;display:flex!important}.desktop-compose-btn:hover{transform:translateY(-2px);box-shadow:0 12px 20px -3px #f59e0b66}.nav-fab-placeholder{display:none!important}.nav-item{border-radius:0!important;flex-direction:row!important;justify-content:flex-start!important;gap:12px!important;width:100%!important;height:auto!important;padding:14px 24px!important}.nav-item.active{border-left:4px solid var(--color-fajar)!important;background-color:#f1f5f9!important}body[data-active-user=Aina] .nav-item.active{border-left-color:var(--color-aina)!important}body[data-active-user=Bersama] .nav-item.active{border-left-color:var(--color-bersama)!important}.app-content{margin-left:240px!important;margin-top:var(--header-height)!important;padding-bottom:40px!important}.tab-section-buku,.tab-section-dompet,.admin-view{width:100%;max-width:1200px;margin:0 auto;padding:20px 32px 40px}.summary-cards{grid-template-columns:repeat(3,1fr)!important}.tab-section-buku{grid-template-rows:auto auto 1fr;grid-template-columns:1fr 360px;align-items:start;column-gap:24px;display:grid!important}.tab-section-buku .month-selector,.tab-section-buku .summary-cards{grid-column:1/-1}.tab-section-buku .filter-alert,.tab-section-buku .section-title-wrapper{grid-column:1}.tab-section-buku .transaction-list-container{grid-area:4/1}.tab-section-dompet{grid-template-columns:360px 1fr!important;align-items:start!important;column-gap:24px!important;display:grid!important}}.app-header{height:var(--header-height);border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;background-color:#f8fafcd9;justify-content:space-between;align-items:center;width:100%;max-width:480px;padding:0 20px;display:flex;position:fixed;top:0;left:50%;transform:translate(-50%)}.header-logo{cursor:pointer;align-items:center;gap:8px;display:flex}.header-logo h1{letter-spacing:-.025em;background:linear-gradient(135deg,#0f172a 0%,#475569 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.25rem;font-weight:800}.logo-icon{width:22px;height:22px;color:var(--color-fajar);transition:color .3s}body[data-active-user=Aina] .logo-icon{color:var(--color-aina)}body[data-active-user=Bersama] .logo-icon{color:var(--color-bersama)}.profile-switch{background-color:#0f172a0d;border-radius:50px;align-items:center;gap:2px;padding:4px;display:flex}.profile-tab{cursor:pointer;font-family:var(--font-main);color:var(--text-secondary);background:0 0;border:none;border-radius:50px;align-items:center;gap:6px;padding:5px 10px;font-size:.72rem;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.profile-tab span{display:none}.profile-tab.active span{display:inline}.avatar{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:.65rem;font-weight:700;display:flex}.avatar-fajar{background-color:var(--color-fajar)}.avatar-aina{background-color:var(--color-aina)}.avatar-bersama{background-color:var(--color-bersama)}.profile-tab.active{color:#0f172a;background-color:#fff;box-shadow:0 4px 10px #0f172a0d}body[data-active-user=Fajar] .profile-tab[data-user=Fajar]{box-shadow:0 0 10px var(--color-fajar-glow);border:1px solid #7c3aed66}body[data-active-user=Aina] .profile-tab[data-user=Aina]{box-shadow:0 0 10px var(--color-aina-glow);border:1px solid #db277766}body[data-active-user=Bersama] .profile-tab[data-user=Bersama]{box-shadow:0 0 10px var(--color-bersama-glow);border:1px solid #f59e0b66}body[data-active-user=Bersama] .nav-item.active{color:var(--color-bersama)}.app-content{-webkit-overflow-scrolling:touch;min-height:0;margin-top:var(--header-height);padding:10px 20px 20px;padding-bottom:calc(var(--bottom-nav-height) + 80px);flex:1;overflow-y:auto}.tab-content{animation:.3s fadeIn;display:none}.tab-content.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.month-selector{background:0 0;border:none;border-radius:0;justify-content:space-between;align-items:center;margin-bottom:16px;padding:8px 4px;display:flex;position:relative}.month-selector span{letter-spacing:-.01em;color:var(--text-primary);font-size:1.15rem;font-weight:800}.month-selector button{color:var(--text-secondary);cursor:pointer;background:#fff;border:1px solid #0f172a0a;border-radius:50%;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex;box-shadow:0 4px 12px #00000004}.month-selector button:hover{background-color:#f1f5f9;transform:scale(1.05)}.summary-cards{grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:20px;display:grid}.card{background-color:var(--bg-card);border-radius:20px;flex-direction:column;gap:6px;padding:14px 12px;display:flex;box-shadow:0 4px 20px #00000003;border:1px solid #0f172a14!important}.card-income{color:#137333!important;background-color:#e6f4ea!important;border:none!important}.card-expense{color:#c5221f!important;background-color:#fce8e6!important;border:none!important}.card-net{color:#1a73e8!important;background-color:#e8f0fe!important;border:none!important}.card-icon{border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;margin-bottom:2px;display:flex}.card-income .card-icon{color:#fff!important;background-color:#137333!important}.card-expense .card-icon{color:#fff!important;background-color:#c5221f!important}.card-net .card-icon{color:#fff!important;background-color:#1a73e8!important}.card-label{color:var(--text-secondary);font-size:.65rem;font-weight:500}.card-info h3{white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:700;overflow:hidden}.section-title-wrapper{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-title{color:var(--text-primary);font-size:.95rem;font-weight:700}.badge{color:var(--text-secondary);border:1px solid var(--border-color);background-color:#0f172a0d;border-radius:50px;padding:3px 8px;font-size:.72rem}.date-divider{color:var(--text-muted);align-items:center;gap:8px;margin:14px 0 6px;font-size:.75rem;font-weight:600;display:flex}.date-divider:after{content:"";background-color:var(--border-color);flex:1;height:1px}.day-group{flex-direction:column;gap:8px;display:flex}.transaction-item{background-color:#fff;border-radius:20px;justify-content:space-between;align-items:center;padding:14px 16px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;box-shadow:0 4px 18px #00000004}.transaction-item.tx-type-pemasukan{border:1px solid #10b98138!important}.transaction-item.tx-type-pengeluaran{border:1px solid #ef444438!important}.transaction-item.tx-type-transfer{border:1px solid #0f172a1f!important}.transaction-item.tx-type-pemasukan:hover{background-color:#f0fdf4;transform:translateY(-1.5px);box-shadow:0 6px 20px #10b9810f;border-color:#10b98166!important}.transaction-item.tx-type-pengeluaran:hover{background-color:#fef2f2;transform:translateY(-1.5px);box-shadow:0 6px 20px #ef44440f;border-color:#ef444466!important}.transaction-item.tx-type-transfer:hover{background-color:#f8fafc;transform:translateY(-1.5px);box-shadow:0 6px 20px #0f172a0f;border-color:#0f172a40!important}.transaction-left{align-items:center;gap:12px;min-width:0;display:flex}.tx-icon-wrapper{width:44px;height:44px;color:var(--text-secondary);background-color:#f1f5f9;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.tx-type-pemasukan .tx-icon-wrapper{background-color:var(--color-income-bg);color:var(--color-income)}.tx-type-pengeluaran .tx-icon-wrapper{background-color:var(--color-expense-bg);color:var(--color-expense)}.tx-type-transfer .tx-icon-wrapper{background-color:var(--color-transfer-bg);color:var(--color-transfer)}.tx-meta{flex-direction:column;gap:2px;min-width:0;display:flex}.tx-category{color:var(--text-primary);font-size:.85rem;font-weight:600}.tx-wallet-desc{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:6px;min-width:0;font-size:.72rem;display:flex}.wallet-badge{background-color:#0f172a0d;border-radius:4px;padding:1px 6px;font-weight:500}.tx-description{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.transaction-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;margin-left:8px;display:flex}.tx-amount{white-space:nowrap;font-size:.9rem;font-weight:700}.tx-type-pemasukan .tx-amount{color:var(--color-income)}.tx-type-pengeluaran .tx-amount{color:var(--color-expense)}.tx-type-transfer .tx-amount{color:var(--text-primary)}.tx-date{color:var(--text-muted);font-size:.68rem}.tx-user-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:4px;margin-right:4px;padding:1px 6px;font-size:.65rem;font-weight:700;display:inline-block}.tx-user-badge.badge-fajar{background-color:var(--color-fajar-glow);color:var(--color-fajar)}.tx-user-badge.badge-aina{background-color:var(--color-aina-glow);color:var(--color-aina)}.empty-state{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:40px 20px;display:flex}.empty-state i{width:32px;height:32px}.wallet-group{margin-bottom:24px}.wallet-group-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.wallet-group-header h3{color:var(--text-secondary);align-items:center;gap:6px;font-size:.85rem;font-weight:600;display:flex}.group-icon{width:18px;height:18px}.group-total{color:var(--text-primary);font-size:.95rem;font-weight:700}.wallet-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=480px){.wallet-grid{grid-template-columns:1fr!important}}.wallet-card{background-color:var(--bg-card);cursor:pointer;border:1px solid #0f172a1a;border-radius:20px;flex-direction:row;align-items:center;gap:12px;padding:15px 14px;transition:all .2s;display:flex;box-shadow:0 4px 15px #00000004}.wallet-card:hover{border-color:#0f172a26;transform:translateY(-2px);box-shadow:0 8px 24px #00000008}.wallet-name{color:var(--text-secondary);font-size:.9rem;font-weight:500}.wallet-balance{color:var(--text-primary);font-size:1.05rem;font-weight:700}.wallet-logo-real{object-fit:contain;background-color:#0000;border-radius:6px;flex-shrink:0;width:28px;height:28px}.wallet-logo-fallback{width:20px;height:20px;color:var(--text-secondary)}.filter-alert{color:var(--text-primary);background-color:#3b82f614;border:1px solid #3b82f626;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:10px 14px;font-size:.8rem;display:flex}.btn-clear-filter{color:#3b82f6;cursor:pointer;background:0 0;border:none;align-items:center;gap:2px;font-size:.78rem;font-weight:600;display:flex}.fab-btn{right:20px;bottom:calc(var(--bottom-nav-height) + 20px);background:linear-gradient(135deg, var(--color-fajar) 0%, #0891b2 100%);color:#fff;cursor:pointer;z-index:100;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;box-shadow:0 10px 15px -3px #06b6d466,0 4px 6px -4px #06b6d466}body[data-active-user=Aina] .fab-btn{background:linear-gradient(135deg, var(--color-aina) 0%, #c084fc 100%);box-shadow:0 10px 15px -3px #d946ef66,0 4px 6px -4px #d946ef66}body[data-active-user=Bersama] .fab-btn{background:linear-gradient(135deg, var(--color-bersama) 0%, #f59e0b 100%);box-shadow:0 10px 15px -3px #f59e0b66,0 4px 6px -4px #f59e0b66}@media (width>=480px){.fab-btn{right:calc(50% - 220px)}}.key-equal-sm{border-radius:12px;background:var(--color-fajar)!important;color:#fff!important}body[data-active-user=Aina] .key-equal-sm{background:var(--color-aina)!important}.desktop-compose-btn{display:none}body[data-active-user=Fajar] .fab-btn-center,body[data-active-user=Fajar] .desktop-compose-btn{background:linear-gradient(135deg,#7c3aed 0%,#a78bfa 100%)!important;box-shadow:0 10px 20px #7c3aed4d!important}body[data-active-user=Aina] .fab-btn-center,body[data-active-user=Aina] .desktop-compose-btn{background:linear-gradient(135deg,#db2777 0%,#f472b6 100%)!important;box-shadow:0 10px 20px #db27774d!important}body[data-active-user=Bersama] .fab-btn-center,body[data-active-user=Bersama] .desktop-compose-btn{background:linear-gradient(135deg,#ea580c 0%,#f59e0b 100%)!important;box-shadow:0 10px 20px #ea580c4d!important}.nav-fab-placeholder{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.fab-btn-center{cursor:pointer;color:#fff;z-index:110;border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;transition:all .2s;display:flex;position:absolute;bottom:24px;border:3.5px solid #fff!important;box-shadow:0 8px 24px #0f172a38!important}.fab-btn-center:active{transform:scale(.93)}.fab-btn-center span{margin-top:-3px;font-size:2rem;font-weight:300;line-height:1}.app-nav{z-index:1000;background-color:#fff;border-top:1.5px solid #0f172a1f;border-radius:20px 20px 0 0;justify-content:space-around;align-items:center;width:100%;max-width:480px;height:66px;padding:0 16px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -8px 24px #0f172a14}.app-nav:before{content:"";z-index:1;background-color:#fff;border:1.5px solid #0f172a1f;border-radius:50%;width:80px;height:80px;position:absolute;top:-34px;left:50%;transform:translate(-50%);box-shadow:0 -6px 15px #0f172a0a}.app-nav:after{content:"";z-index:2;background-color:#fff;width:82px;height:35px;position:absolute;top:0;left:50%;transform:translate(-50%)}.nav-item{color:#64748b;cursor:pointer;font-family:var(--font-main);z-index:3;background:0 0;border:none;border-radius:12px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:4px;width:72px;height:56px;padding:4px 0;transition:all .25s;display:flex;position:relative}body[data-active-user=Fajar] .nav-item.active{box-shadow:none!important;color:var(--color-fajar)!important;background-color:#0000!important}body[data-active-user=Aina] .nav-item.active{box-shadow:none!important;color:var(--color-aina)!important;background-color:#0000!important}body[data-active-user=Bersama] .nav-item.active{box-shadow:none!important;color:var(--color-bersama)!important;background-color:#0000!important}.nav-item i,.nav-item svg{opacity:.85;box-sizing:content-box;background-color:#0000;border-radius:12px;padding:5px 14px;transition:all .25s cubic-bezier(.4,0,.2,1);width:20px!important;height:20px!important}body[data-active-user=Fajar] .nav-item.active i,body[data-active-user=Fajar] .nav-item.active svg{opacity:1;box-shadow:0 4px 10px #7c3aed40;background-color:var(--color-fajar)!important;color:#fff!important}body[data-active-user=Aina] .nav-item.active i,body[data-active-user=Aina] .nav-item.active svg{opacity:1;box-shadow:0 4px 10px #db277740;background-color:var(--color-aina)!important;color:#fff!important}body[data-active-user=Bersama] .nav-item.active i,body[data-active-user=Bersama] .nav-item.active svg{opacity:1;box-shadow:0 4px 10px #f59e0b40;background-color:var(--color-bersama)!important;color:#fff!important}.nav-item span{letter-spacing:-.015em;font-size:.72rem;font-weight:700;color:inherit!important;display:block!important}#wallet-details-modal,#edit-tx-modal,.modal-overlay{z-index:2000;visibility:hidden;opacity:0;justify-content:center;align-items:flex-end;transition:visibility 0s linear .3s,opacity .3s;display:flex;position:fixed;inset:0}#wallet-details-modal.open,#edit-tx-modal.open,.modal-overlay.open{visibility:visible;opacity:1;transition:visibility linear,opacity .3s}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#02061766;position:absolute;inset:0}.redesigned-modal{z-index:2001;background-color:#fff;border-top-left-radius:24px;border-top-right-radius:24px;flex-direction:column;width:100%;max-width:480px;height:92dvh;max-height:92dvh;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;transform:translateY(100%);box-shadow:0 -10px 25px #0000000d;padding:max(8px, env(safe-area-inset-top)) 0 0 0!important}#wallet-details-modal.open .redesigned-modal,#edit-tx-modal.open .redesigned-modal,.modal-overlay.open .redesigned-modal{transform:translateY(0)!important}.modal-nav-top{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 16px 8px;display:flex}.btn-icon-nav{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:6px;display:flex}.btn-icon-nav svg{width:20px;height:20px}.modal-user-badge{color:var(--text-secondary);border-bottom:1px dashed var(--border-color);background-color:#f1f5f9;flex-shrink:0;padding:8px 16px;font-size:.8rem}.modal-middle-container{flex-direction:column;flex:1;display:flex;overflow-y:auto}.category-grid-wrapper{grid-template-columns:repeat(2,1fr);gap:12px;width:100%;display:grid}.category-item{cursor:pointer;border:1px solid var(--border-color);background-color:#f8fafc;border-radius:14px;flex-direction:row;align-items:center;gap:12px;width:100%;padding:10px 14px;transition:all .2s;display:flex}.category-item:active{transform:scale(.97)}.category-icon-circle{border:1px solid var(--border-color);width:44px;min-width:44px;height:44px;color:var(--text-secondary);background-color:#e2e8f0;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.category-icon-circle svg{width:20px!important;height:20px!important}.category-label{color:var(--text-secondary);white-space:normal;text-align:left;font-size:.82rem;font-weight:500;line-height:1.3}.category-item.selected{border-color:#0000}.category-item.selected .category-icon-circle{color:#fff;border-color:#0000}body[data-active-user=Fajar] .category-item.selected{background:#7c3aed14;border-color:#7c3aed4d}body[data-active-user=Fajar] .category-item.selected .category-icon-circle{background:linear-gradient(135deg, var(--color-fajar) 0%, #6d28d9 100%)}body[data-active-user=Aina] .category-item.selected{background:#db277714;border-color:#db27774d}body[data-active-user=Aina] .category-item.selected .category-icon-circle{background:linear-gradient(135deg, var(--color-aina) 0%, #be185d 100%)}body[data-active-user=Bersama] .category-item.selected{background:#f59e0b14;border-color:#f59e0b4d}body[data-active-user=Bersama] .category-item.selected .category-icon-circle{background:linear-gradient(135deg, var(--color-bersama) 0%, #fbbf24 100%)}.calculator-panel{border-top:1px solid var(--border-color);background-color:#f8fafc;flex-direction:column;flex-shrink:0;display:flex}.calc-display-row{justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;display:flex}.calc-display-row.row-top{border-bottom:1px dashed var(--border-color);background-color:#e2e8f0}.calc-display-row.row-bottom{border-bottom:1px solid var(--border-color);background-color:#f1f5f9}.calc-wallet-trigger,.calc-date-trigger{border:1px solid var(--border-color);font-family:var(--font-main);color:var(--text-primary);cursor:pointer;white-space:nowrap;background-color:#fff;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:.75rem;font-weight:600;display:flex}.calc-note-wrapper{flex:1}.calc-note-wrapper input{width:100%;font-family:var(--font-main);color:var(--text-primary);background:0 0;border:none;outline:none;font-size:.85rem}.calc-amount-display{align-items:baseline;gap:2px;display:flex}#calc-amount-value{font-size:1.4rem;font-weight:800}.keypad-grid{background-color:#fff;grid-template-columns:repeat(4,1fr);gap:8px;padding:8px 12px 12px;display:grid}.key-btn{height:48px;font-family:var(--font-main);color:var(--text-primary);cursor:pointer;background:#f8fafc;border-radius:14px;justify-content:center;align-items:center;font-size:1.1rem;font-weight:600;transition:all .15s;display:flex;border:1px solid #0f172a14!important}.key-btn:active{background-color:#cbd5e1;transform:scale(.95)}.key-op{color:var(--text-secondary);background-color:#f1f5f9;font-weight:600;border:1px solid #0f172a1f!important}.key-save-btn{grid-column:span 3;justify-content:center;align-items:center;gap:8px;font-size:.95rem;font-weight:700;display:flex;box-shadow:0 4px 12px #06b6d426;background:linear-gradient(135deg, var(--color-fajar) 0%, #0891b2 100%)!important;color:#fff!important;border:none!important;border-radius:14px!important;height:48px!important;margin:0!important}body[data-active-user=Aina] .key-save-btn{box-shadow:0 4px 12px #d946ef26;background:linear-gradient(135deg, var(--color-aina) 0%, #c084fc 100%)!important}body[data-active-user=Bersama] .key-save-btn{box-shadow:0 4px 12px #f59e0b26;background:linear-gradient(135deg, var(--color-bersama) 0%, #fbbf24 100%)!important}.key-equal-sm{grid-column:4;font-weight:700;color:var(--text-primary)!important;background-color:#e2e8f0!important;border:none!important;border-radius:14px!important;height:48px!important;margin:0!important}.key-equal-sm:active{background-color:#cbd5e1!important}.key-back{color:var(--color-expense);background-color:#f1f5f9}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-secondary);font-size:.8rem;font-weight:500}.form-group input{border:1px solid var(--border-color);color:var(--text-primary);font-family:var(--font-main);background-color:#f8fafc;border-radius:10px;outline:none;padding:10px 14px;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus{border-color:var(--color-fajar);box-shadow:0 0 0 3px var(--color-fajar-glow);background-color:#fff}body[data-active-user=Aina] .form-group input:focus{border-color:var(--color-aina);box-shadow:0 0 0 3px var(--color-aina-glow)}body[data-active-user=Bersama] .form-group input:focus{border-color:var(--color-bersama);box-shadow:0 0 0 3px var(--color-bersama-glow)}.form-group select{border:1px solid var(--border-color);color:var(--text-primary);font-family:var(--font-main);appearance:none;cursor:pointer;background-color:#f8fafc;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b' stroke-width='2.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:16px;border-radius:10px;outline:none;padding:10px 40px 10px 14px;font-size:.9rem;transition:border-color .2s,box-shadow .2s,background-color .2s}.form-group select:focus{border-color:var(--color-fajar);box-shadow:0 0 0 3px var(--color-fajar-glow);background-color:#fff}body[data-active-user=Aina] .form-group select:focus{border-color:var(--color-aina);box-shadow:0 0 0 3px var(--color-aina-glow)}body[data-active-user=Bersama] .form-group select:focus{border-color:var(--color-bersama);box-shadow:0 0 0 3px var(--color-bersama-glow)}.btn-submit{background:linear-gradient(135deg, var(--color-fajar) 0%, #0891b2 100%);color:#fff;font-family:var(--font-main);cursor:pointer;border:none;border-radius:12px;padding:12px;font-size:.95rem;font-weight:700}body[data-active-user=Aina] .btn-submit{background:linear-gradient(135deg, var(--color-aina) 0%, #c084fc 100%)}.icon-option-btn{border:1px solid var(--border-color);width:42px;height:42px;color:var(--text-secondary);cursor:pointer;background-color:#f1f5f9;border-radius:50%;justify-content:center;align-items:center;display:flex}.icon-option-btn.selected{color:#fff;border-color:#0000}body[data-active-user=Fajar] .icon-option-btn.selected{background-color:var(--color-fajar)}body[data-active-user=Aina] .icon-option-btn.selected{background-color:var(--color-aina)}.icon-option-btn svg{width:18px!important;height:18px!important}.cat-logo-real{object-fit:contain;border-radius:4px;width:24px;height:24px}.admin-view{flex-direction:column;gap:20px;padding-bottom:40px;display:flex}.admin-card{border:1px solid var(--border-color);background:#fff;border-radius:12px;margin-bottom:20px;padding:16px;box-shadow:0 1px 3px #0000000d}.admin-grid-layout{flex-direction:column;gap:20px;display:flex}@media (width>=768px){.admin-grid-layout{flex-direction:row;align-items:flex-start}.admin-grid-layout>.admin-card{flex:1;margin-bottom:0}}.card-header-admin{border-bottom:1px solid var(--border-color);align-items:center;gap:10px;margin-bottom:16px;padding-bottom:10px;display:flex}.card-header-admin h2{font-size:1rem;font-weight:700}.file-upload-area{border:2px dashed var(--border-color);text-align:center;cursor:pointer;background-color:#f8fafc;border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:20px;display:flex}.file-preview{object-fit:contain;max-width:80px;max-height:80px;display:none}.list-items-container{flex-direction:column;gap:8px;max-height:300px;margin-top:16px;display:flex;overflow-y:auto}.item-row{border:1px solid var(--border-color);background:#f8fafc;border-radius:12px;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.item-info{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.item-name{white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.item-sub{color:var(--text-secondary);font-size:.68rem}.action-buttons{align-items:center;gap:4px;display:flex}.btn-action{cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:6px;display:flex}.btn-edit{color:var(--color-primary)}.btn-delete{color:var(--color-expense)}.btn-edit:hover{background-color:#06b6d414}.btn-delete:hover{background-color:#ef444414}.btn-pasang{background-color:var(--color-fajar);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:4px;padding:5px 10px;font-size:.72rem;font-weight:700;display:flex}body[data-active-user=Aina] .btn-pasang{background-color:var(--color-aina)}@media print{html,body{margin:0;padding:0;font-size:11pt;color:#000!important;background:#fff!important;height:auto!important;overflow:visible!important}.app-header,.app-nav,.fab-btn,.no-print,.modal-overlay,.month-selector{display:none!important}.tab-section-analisis{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}.print-only-header{text-align:center;margin-bottom:30px!important;display:block!important}.section-title-wrapper{page-break-after:avoid;margin-top:20px!important;margin-bottom:10px!important}canvas{page-break-inside:avoid;max-width:100%!important;height:auto!important}.transaction-list-container,.list-items-container{max-height:none!important;overflow:visible!important}.transaction-item,.item-row{page-break-inside:avoid}}body[data-active-user=Bersama] .btn-pasang{background-color:var(--color-bersama)}.savings-goal-card{transition:transform .2s,box-shadow .2s,border-color .2s}.savings-goal-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000000f;border-color:#06b6d433!important}.balance-card-premium{background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%);border-radius:24px;flex-direction:column;gap:16px;margin-bottom:24px;padding:24px;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px #0f172a26;color:#fff!important;border:none!important}.balance-card-header{opacity:.8;letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:.75rem;font-weight:600;display:flex}.visa-logo{opacity:.9;font-size:1.1rem;font-style:italic;font-weight:900}.balance-card-amount{letter-spacing:-.02em;font-size:1.8rem;font-weight:800}.balance-card-footer{opacity:.7;justify-content:space-between;align-items:center;margin-top:10px;font-family:monospace;font-size:.8rem;display:flex}.card-decor-leaves{opacity:.15;pointer-events:none;background-image:radial-gradient(circle,#fbbf24 10%,#0000 11%),radial-gradient(circle,#fbbf24 10%,#0000 11%);background-position:0 0,10px 10px;background-size:20px 20px;width:120px;height:120px;position:absolute;bottom:-20px;right:-20px}.bsi-logo{font-family:"Plus Jakarta Sans", var(--font-main), sans-serif;color:#00a39e;letter-spacing:-.05em;-webkit-user-select:none;user-select:none;align-items:flex-start;font-weight:800;line-height:1;display:inline-flex}.bsi-star{fill:#f8af3c;width:.55em;height:.55em;margin-top:-.18em;margin-left:.05em;stroke:none!important}
