:root{--bg-body: #080c14;--bg-surface: #0e1320;--bg-surface-elevated: #131929;--bg-card: rgba(16, 23, 38, .75);--bg-card-hover: rgba(22, 32, 53, .88);--bg-card-solid: #111827;--bg-input: rgba(255, 255, 255, .045);--bg-input-focus: rgba(255, 255, 255, .08);--glass-border: rgba(255, 255, 255, .08);--glass-border-hover: rgba(255, 255, 255, .16);--accent: #3b82f6;--accent-hover: #60a5fa;--accent-glow: rgba(59, 130, 246, .22);--green: #10b981;--green-glow: rgba(16, 185, 129, .18);--red: #f43f5e;--red-glow: rgba(244, 63, 94, .18);--yellow: #f59e0b;--purple: #8b5cf6;--cyan: #06b6d4;--gradient-primary: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);--gradient-green: linear-gradient(135deg, #10b981 0%, #06b6d4 100%);--gradient-red: linear-gradient(135deg, #f43f5e 0%, #ea580c 100%);--gradient-gold: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--radius-xl: 18px;--radius: 14px;--radius-sm: 8px;--radius-xs: 6px;--shadow-sm: 0 2px 10px rgba(0, 0, 0, .35);--shadow-md: 0 8px 30px -4px rgba(0, 0, 0, .5), inset 0 1px 0 rgba(255, 255, 255, .06);--shadow-lg: 0 16px 50px -8px rgba(0, 0, 0, .65), inset 0 1px 0 rgba(255, 255, 255, .08);--shadow-glow: 0 0 25px -5px var(--accent-glow);--transition: .25s cubic-bezier(.16, 1, .3, 1);--sidebar-w: 256px;--sidebar-collapsed: 68px;--topbar-h: 64px}[data-theme=light]{--bg-body: #f3f6fc;--bg-surface: #ffffff;--bg-surface-elevated: #f8fafc;--bg-card: rgba(255, 255, 255, .94);--bg-card-hover: #ffffff;--bg-card-solid: #ffffff;--bg-input: #f8fafc;--bg-input-focus: #ffffff;--glass-border: rgba(203, 213, 225, .7);--glass-border-hover: rgba(148, 163, 184, .8);--accent: #2563eb;--accent-hover: #1d4ed8;--accent-glow: rgba(37, 99, 235, .15);--green: #16a34a;--green-glow: rgba(22, 163, 74, .15);--red: #e11d48;--red-glow: rgba(225, 29, 72, .15);--yellow: #d97706;--purple: #7c3aed;--cyan: #0891b2;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 20px -2px rgba(15, 23, 42, .06), 0 2px 6px -1px rgba(15, 23, 42, .04);--shadow-lg: 0 12px 35px -4px rgba(15, 23, 42, .1), 0 4px 12px -2px rgba(15, 23, 42, .05)}[data-theme=light] body{background:var(--bg-body);color:var(--text-primary)}[data-theme=light] ::-webkit-scrollbar-thumb{background:#94a3b866}[data-theme=light] .sidebar{background:#fff;border-right-color:#e2e8f0e6;box-shadow:0 2px 12px #0000000a}[data-theme=light] .sidebar-brand{background:#f8fafccc;border-bottom-color:#e2e8f0e6}[data-theme=light] .sidebar-footer{background:#f8fafccc;border-top-color:#e2e8f0e6}[data-theme=light] .nav-item{color:var(--text-secondary)}[data-theme=light] .nav-item:hover{background:#f1f5f9;color:var(--text-primary)}[data-theme=light] .nav-item.active{background:#2563eb14;color:var(--accent)}[data-theme=light] .topbar{background:#ffffffd9;border-bottom-color:#e2e8f0e6;box-shadow:0 2px 10px #00000008}[data-theme=light] .search-box{background:#f8fafc;border-color:#cbd5e1cc}[data-theme=light] .search-box input{color:var(--text-primary)}[data-theme=light] .select-styled{background:#f8fafc;border-color:#cbd5e1cc;color:var(--text-primary)}[data-theme=light] .select-styled option{background:#fff;color:var(--text-primary)}[data-theme=light] .topbar-user,[data-theme=light] .db-status-badge{background:#f8fafc;border-color:#e2e8f0e6}[data-theme=light] .card,[data-theme=light] .stat-card{background:#fff;border-color:#e2e8f0e6;box-shadow:0 2px 12px #0f172a0a}[data-theme=light] .stat-card:hover{box-shadow:0 10px 25px -4px #0f172a14;border-color:#cbd5e1e6}[data-theme=light] .account-card{background:#fff;border-color:#e2e8f0e6;box-shadow:0 2px 12px #0f172a0a}[data-theme=light] .account-card:hover{background:#fff;box-shadow:0 10px 25px -4px #0f172a14;border-color:#cbd5e1e6}[data-theme=light] .account-card-footer{border-top-color:#e2e8f0e6}[data-theme=light] .account-card-trx-badge{background:#f1f5f9;border-color:#e2e8f0e6;color:var(--text-secondary)}[data-theme=light] .account-edit-btn{background:#f8fafc;border-color:#cbd5e1cc;color:var(--text-secondary)}[data-theme=light] .month-chart-row{background:#f8fafc;border-color:#e2e8f0e6}[data-theme=light] .month-chart-row:hover{background:#f1f5f9}[data-theme=light] .chart-bar-track{background:#94a3b826;border-color:#94a3b833}[data-theme=light] .monthly-chart-legend{border-bottom-color:#e2e8f0e6}[data-theme=light] .legend-badge,[data-theme=light] .cat-chart-row{background:#f8fafc;border-color:#e2e8f0e6}[data-theme=light] .cat-chart-row .chart-bar-track{background:#94a3b826}[data-theme=light] .data-table thead th{border-bottom-color:#e2e8f0e6;background:#f8fafc}[data-theme=light] .data-table tbody tr{border-bottom-color:#f1f5f9e6}[data-theme=light] .data-table tbody tr:hover{background:#f8fafc}[data-theme=light] .data-table tfoot td{border-top-color:#cbd5e1cc;background:#f8fafc}[data-theme=light] .modal{background:#fff;border-color:#cbd5e1e6;box-shadow:0 20px 50px #0f172a26}[data-theme=light] .modal-header{background:#f8fafc;border-bottom-color:#e2e8f0e6}[data-theme=light] .modal-footer{background:#f8fafc;border-top-color:#e2e8f0e6}[data-theme=light] .form-group input,[data-theme=light] .form-group select,[data-theme=light] .form-group textarea{background:#f8fafc;border-color:#cbd5e1e6;color:var(--text-primary)}[data-theme=light] .form-group select option{background:#fff;color:var(--text-primary)}[data-theme=light] .form-group input:focus,[data-theme=light] .form-group select:focus,[data-theme=light] .form-group textarea:focus{background:#fff}[data-theme=light] .login-card{background:#fffffff0;border-color:#cbd5e1cc;box-shadow:0 20px 50px #0f172a1a}[data-theme=light] .login-bg{background:radial-gradient(ellipse at 20% 50%,rgba(37,99,235,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(168,85,247,.06) 0%,transparent 50%),radial-gradient(ellipse at 50% 80%,rgba(22,163,74,.06) 0%,transparent 50%)}.btn-theme-toggle{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .8rem;border-radius:var(--radius-sm);background:#ffffff0d;border:1px solid var(--glass-border);color:var(--text-primary);font-size:.82rem;font-weight:600;cursor:pointer;transition:var(--transition);white-space:nowrap}.btn-theme-toggle:hover{background:#ffffff1a;border-color:var(--glass-border-hover);color:var(--accent);transform:translateY(-1px)}.btn-theme-toggle i{font-size:.9rem;color:#f59e0b;transition:transform .3s ease}.btn-theme-toggle:hover i{transform:rotate(25deg)}[data-theme=light] .btn-theme-toggle{background:#f8fafc;border-color:#cbd5e1e6;color:var(--text-primary)}[data-theme=light] .btn-theme-toggle:hover{background:#f1f5f9;border-color:var(--accent)}[data-theme=light] .btn-theme-toggle i{color:#6366f1}.login-theme-toggle-wrapper{position:absolute;top:1.5rem;right:1.5rem;z-index:10}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-body);color:var(--text-primary);min-height:100vh;overflow-x:hidden;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none;color:inherit}button,input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff38}.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-w);height:100vh;background:var(--bg-surface);border-right:1px solid var(--glass-border);display:flex;flex-direction:column;z-index:100;transition:width var(--transition),transform var(--transition);box-shadow:var(--shadow-md)}.sidebar.collapsed{width:var(--sidebar-collapsed)}.sidebar.collapsed .brand-text-block,.sidebar.collapsed .brand-text,.sidebar.collapsed .brand-subtext,.sidebar.collapsed .nav-item span,.sidebar.collapsed .user-info{display:none}.sidebar.collapsed .sidebar-brand{justify-content:center;padding:1.15rem .5rem}.sidebar.collapsed .brand-header-row{justify-content:center}.sidebar.collapsed .brand-logo-icon{margin:0 auto}.sidebar.collapsed .nav-item{justify-content:center;padding:.75rem .5rem}.sidebar.collapsed .nav-item i{margin-right:0;font-size:1.15rem}.sidebar.collapsed .sidebar-footer{justify-content:center;padding:1rem .35rem}.sidebar.collapsed .user-avatar{margin:0 auto}.sidebar.collapsed .btn-logout{display:none}.sidebar-brand{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:1.15rem 1.25rem;border-bottom:1px solid var(--glass-border);background:#ffffff04}.brand-header-row{display:flex;align-items:center;gap:.75rem;width:100%}.brand-logo-icon{width:38px;height:38px;background:linear-gradient(135deg,#10b981,#3b82f6);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#fff;flex-shrink:0;box-shadow:0 4px 14px #10b98159}.brand-text-block{display:flex;flex-direction:column;min-width:0;line-height:1.2}.brand-text{font-size:.95rem;font-weight:800;background:var(--gradient-green);-webkit-background-clip:text;-webkit-text-fill-color:transparent;white-space:nowrap;text-align:left;letter-spacing:-.01em}.brand-subtext{font-size:.68rem;color:var(--text-muted);white-space:nowrap;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.sidebar-close-btn{display:none;margin-left:auto;background:#ffffff0f;border:1px solid var(--glass-border);color:var(--text-secondary);width:32px;height:32px;border-radius:8px;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition)}.sidebar-close-btn:hover{background:#f43f5e33;color:var(--red);border-color:#f43f5e66}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:3px;padding:.8rem .65rem;overflow-y:auto}.nav-item{position:relative;display:flex;align-items:center;gap:.75rem;padding:.68rem 1rem;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.88rem;font-weight:500;transition:var(--transition);cursor:pointer;border:1px solid transparent}.nav-item i{width:18px;text-align:center;font-size:.95rem;flex-shrink:0}.nav-item:hover{background:#ffffff0b;color:var(--text-primary);transform:translate(2px)}.nav-item.active{background:linear-gradient(90deg,#3b82f629,#8b5cf60f);color:#60a5fa;font-weight:600;border-color:#3b82f640;box-shadow:0 2px 12px #3b82f626}.nav-item.active:before{content:"";position:absolute;left:0;top:15%;bottom:15%;width:3px;background:var(--gradient-primary);border-radius:0 4px 4px 0}.sidebar-footer{display:flex;align-items:center;gap:.75rem;padding:1rem 1.15rem;border-top:1px solid var(--glass-border);background:#ffffff04}.user-avatar{width:36px;height:36px;background:var(--gradient-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;color:#fff;flex-shrink:0;box-shadow:0 2px 8px #0000004d}.user-info{display:flex;flex-direction:column;min-width:0;flex:1}.user-name{font-size:.82rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:.72rem;color:var(--text-muted)}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#04070dbf;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:95;opacity:0;pointer-events:none;transition:opacity .25s ease}.sidebar-backdrop.active{opacity:1;pointer-events:auto}.main-wrapper{margin-left:var(--sidebar-w);min-height:100vh;transition:margin-left var(--transition);display:flex;flex-direction:column}.sidebar.collapsed~.main-wrapper{margin-left:var(--sidebar-collapsed)}.topbar{position:sticky;top:0;height:var(--topbar-h);background:#080c14d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border);display:flex;align-items:center;gap:.85rem;padding:0 1.5rem;z-index:90;box-shadow:0 4px 20px #00000040}.sidebar-toggle{background:#ffffff0d;border:1px solid var(--glass-border);color:var(--text-secondary);font-size:1.05rem;cursor:pointer;transition:var(--transition);width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-toggle:hover{background:#ffffff1a;color:var(--text-primary);border-color:#ffffff26}.search-box{flex:1;max-width:380px;position:relative}.search-box i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:.85rem}.search-box input{width:100%;padding:.55rem .85rem .55rem 2.4rem;border:1px solid var(--glass-border);border-radius:var(--radius);background:var(--bg-input);color:var(--text-primary);font-size:.85rem;transition:var(--transition)}.search-box input::placeholder{color:var(--text-muted)}.search-box input:focus{outline:none;border-color:var(--accent);background:var(--bg-input-focus);box-shadow:0 0 0 3px var(--accent-glow)}.topbar-actions{display:flex;align-items:center;gap:.6rem;margin-left:auto}.topbar-user{display:flex;align-items:center;gap:.55rem;padding:.3rem .75rem;background:#ffffff09;border:1px solid var(--glass-border);border-radius:20px}.topbar-name{font-size:.82rem;font-weight:600;color:var(--text-primary)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.55rem 1.15rem;background:var(--gradient-primary);color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;cursor:pointer;transition:var(--transition);white-space:nowrap;box-shadow:0 2px 10px #3b82f64d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f673;filter:brightness(1.08)}.btn-primary:active{transform:translateY(0) scale(.98)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.52rem 1rem;background:var(--bg-input);color:var(--text-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;cursor:pointer;transition:var(--transition);white-space:nowrap}.btn-secondary:hover{background:var(--bg-input-focus);color:var(--text-primary);border-color:#ffffff26;transform:translateY(-1px)}.btn-secondary:active{transform:translateY(0) scale(.98)}.btn-sm{padding:.35rem .65rem;font-size:.78rem;border-radius:var(--radius-xs)}.btn-danger{color:var(--red)}.btn-danger:hover{background:var(--red-glow)}.select-styled{padding:.48rem .8rem;background:var(--bg-input);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.82rem;cursor:pointer;transition:var(--transition);font-weight:500}.select-styled:hover{border-color:#ffffff26;color:var(--text-primary)}.select-styled:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.select-styled option{background:#131929;color:var(--text-primary)}.view{display:none;padding:1.25rem;animation:fadeSlideIn .35s ease}.view.active{display:block}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.view-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem;margin-bottom:1.25rem}.view-header h2{font-size:1.4rem;font-weight:700;display:flex;align-items:center;gap:.5rem}.view-header h2 i{font-size:1.1rem}.view-subtitle{font-size:.82rem;color:var(--text-muted)}.view-actions{display:flex;gap:.5rem;align-items:center}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.25rem}.stat-card{background:#101726c7;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius);padding:1.25rem 1.35rem;display:flex;align-items:center;gap:1rem;transition:var(--transition);position:relative;overflow:hidden;box-shadow:0 4px 16px #00000040}.stat-card:after{content:"";position:absolute;top:0;left:0;width:100%;height:3px}.stat-income:after{background:var(--gradient-green)}.stat-expense:after{background:var(--gradient-red)}.stat-profit:after{background:var(--gradient-primary)}.stat-subs:after{background:var(--gradient-gold)}.stat-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px -4px #0000008c;border-color:#ffffff2e}.stat-icon{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.stat-income .stat-icon{background:var(--green-glow);color:var(--green);border:1px solid rgba(16,185,129,.3)}.stat-expense .stat-icon{background:var(--red-glow);color:var(--red);border:1px solid rgba(244,63,94,.3)}.stat-profit .stat-icon{background:#3b82f626;color:var(--accent);border:1px solid rgba(59,130,246,.3)}.stat-subs .stat-icon{background:#f59e0b26;color:var(--yellow);border:1px solid rgba(245,158,11,.3)}.stat-info{display:flex;flex-direction:column;gap:.35rem;flex:1;min-width:0}.stat-label-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%}.stat-label{font-size:.74rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-value{font-size:clamp(1.2rem,1.5vw,1.5rem);font-weight:800;line-height:1.15;font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap}.stat-trend{font-size:.68rem;font-weight:700;padding:2px 7px;border-radius:20px;white-space:nowrap;flex-shrink:0}.stat-trend.up{background:var(--green-glow);color:var(--green);border:1px solid rgba(16,185,129,.3)}.stat-trend.down{background:var(--red-glow);color:var(--red);border:1px solid rgba(244,63,94,.3)}.card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius);padding:1.15rem;transition:var(--transition)}.card h3{font-size:.95rem;font-weight:600;margin-bottom:.85rem;color:var(--text-secondary);display:flex;align-items:center;gap:.4rem}.card h3 i{font-size:.85rem}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin-bottom:1.25rem}.dashboard-grid .wide{grid-column:1 / -1}.chart-container{min-height:180px;display:flex;flex-direction:column;gap:.45rem}.chart-legend{display:flex;gap:1rem;margin-top:.5rem;justify-content:center}.legend-item{display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--text-muted)}.legend-dot.l-income{background:var(--green)}.legend-dot.l-expense{background:var(--red)}.table-responsive{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.85rem}.data-table thead th{text-align:left;padding:.65rem .5rem;color:var(--text-muted);font-weight:600;font-size:.76rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--glass-border);white-space:nowrap}.data-table tbody tr{border-bottom:1px solid rgba(255,255,255,.025);transition:var(--transition)}.data-table tbody tr:hover{background:#ffffff06}.data-table td{padding:.6rem .5rem;color:var(--text-secondary)}.data-table tfoot td{padding:.75rem .5rem;font-weight:700;border-top:2px solid var(--glass-border)}.amount-income{color:var(--green);font-weight:700}.amount-expense{color:var(--red);font-weight:700}.amount-profit{font-weight:800}.amount-positive{color:var(--green)}.amount-negative{color:var(--red)}.type-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:.72rem;font-weight:600}.type-income{background:var(--green-glow);color:var(--green)}.type-expense{background:var(--red-glow);color:var(--red)}.summary-bar{display:flex;gap:1rem;margin-bottom:1rem;padding:1rem 1.25rem;border-radius:var(--radius);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);flex-wrap:wrap}.income-bar{background:#22c55e0f}.expense-bar{background:#ef44440f}.summary-item{display:flex;flex-direction:column}.summary-label{font-size:.75rem;color:var(--text-muted)}.summary-value{font-size:1.3rem;font-weight:800}.income-bar .summary-value{color:var(--green)}.expense-bar .summary-value{color:var(--red)}.cashflow-timeline{display:flex;flex-direction:column;gap:.5rem}.cf-day-header{font-size:.82rem;font-weight:700;color:var(--text-muted);padding:.5rem 0;border-bottom:1px solid var(--glass-border);margin-top:.5rem}.cf-item{display:flex;align-items:center;gap:.85rem;padding:.85rem 1rem;border-radius:var(--radius-sm);background:var(--bg-card);border:1px solid var(--glass-border);transition:var(--transition)}.cf-item:hover{background:var(--bg-card-hover);transform:translate(4px)}.cf-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.cf-icon.cf-in{background:var(--green-glow);color:var(--green)}.cf-icon.cf-out{background:var(--red-glow);color:var(--red)}.cf-info{flex:1;min-width:0}.cf-desc{font-size:.88rem;font-weight:600;color:var(--text-primary)}.cf-cat{font-size:.78rem;color:var(--text-muted)}.cf-amount{font-size:1rem;font-weight:800;white-space:nowrap}.cf-amount.cf-pos{color:var(--green)}.cf-amount.cf-neg{color:var(--red)}.cf-balance{text-align:right;min-width:120px}.cf-balance-label{font-size:.7rem;color:var(--text-muted)}.cf-balance-value{font-size:.88rem;font-weight:700}.cat-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.cat-item{display:flex;align-items:center;gap:.65rem;padding:.6rem .75rem;border-radius:var(--radius-sm);background:#ffffff08;margin-bottom:.35rem;transition:var(--transition)}.cat-item:hover{background:#ffffff0f}.cat-emoji{font-size:1.3rem}.cat-name{flex:1;font-size:.88rem;font-weight:500}.cat-count{font-size:.78rem;color:var(--text-muted);margin-right:.5rem}.report-total td{color:var(--text-primary)!important;font-size:.92rem}.margin-positive{color:var(--green)!important}.margin-negative{color:var(--red)!important}.profit-bar-group{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.profit-label{width:40px;font-size:.76rem;color:var(--text-muted);text-align:right;flex-shrink:0;font-weight:600}.profit-bar-container{flex:1;display:flex;align-items:center;height:24px;position:relative}.profit-bar-center{position:absolute;left:50%;width:1px;height:100%;background:var(--glass-border)}.profit-bar{height:20px;border-radius:4px;position:absolute;transition:width .8s cubic-bezier(.22,1,.36,1);display:flex;align-items:center;font-size:.7rem;font-weight:700;color:#fff;padding:0 6px}.profit-bar.bar-pos{background:var(--gradient-green);left:50%}.profit-bar.bar-neg{background:var(--gradient-red);right:50%;direction:rtl}.profit-value{font-size:.75rem;font-weight:700;white-space:nowrap;margin-left:.5rem}.modal-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#04070dc7;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:200;align-items:center;justify-content:center;padding:1.25rem}.modal-overlay.open{display:flex;animation:fadeSlideIn .25s cubic-bezier(.16,1,.3,1)}.modal{background:#0d1322;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);width:100%;max-width:580px;max-height:90vh;box-shadow:0 25px 60px -10px #000c,0 0 0 1px #ffffff14;animation:slideUp .3s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;overflow:hidden}.modal-sm{max-width:420px}.modal-lg{max-width:820px}@keyframes slideUp{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.5rem;border-bottom:1px solid var(--glass-border);background:#ffffff05;flex-shrink:0}.modal-header h3{font-size:1.1rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.modal-close{background:#ffffff0d;border:1px solid var(--glass-border);color:var(--text-secondary);font-size:1rem;cursor:pointer;transition:var(--transition);width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:#f43f5e33;color:var(--red);border-color:#f43f5e4d}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--glass-border);background:#ffffff05;flex-shrink:0}.form-row{display:flex;gap:.85rem}.form-group{flex:1;margin-bottom:.95rem}.form-group label{display:block;font-size:.78rem;font-weight:600;color:var(--text-secondary);margin-bottom:.35rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.6rem .85rem;background:var(--bg-input);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.88rem;transition:var(--transition)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);background:var(--bg-input-focus);box-shadow:0 0 0 3px var(--accent-glow)}.form-group textarea{resize:vertical;min-height:80px}.form-group select option{background:#131929;color:var(--text-primary)}.toast-container{position:fixed;top:76px;right:1.5rem;z-index:300;display:flex;flex-direction:column;gap:.5rem}.toast{display:flex;align-items:center;gap:.75rem;padding:.85rem 1.25rem;background:#131a2c;border:1px solid var(--glass-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);font-size:.85rem;color:var(--text-primary);animation:slideInRight .35s cubic-bezier(.16,1,.3,1);min-width:280px}.toast.toast-success{border-left:4px solid var(--green)}.toast.toast-error{border-left:4px solid var(--red)}.toast.toast-info{border-left:4px solid var(--accent)}@keyframes slideInRight{0%{opacity:0;transform:translate(35px)}to{opacity:1;transform:translate(0)}}@media (max-width: 1200px){.accounts-summary-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}@media (max-width: 1024px){.sidebar{width:var(--sidebar-collapsed)}.sidebar .brand-text,.sidebar .nav-item span,.sidebar .user-info{display:none}.sidebar .sidebar-brand{justify-content:center;padding:1.15rem .5rem}.sidebar .brand-header-row{justify-content:center}.sidebar .nav-item{justify-content:center;padding:.75rem .5rem}.sidebar .nav-item i{margin-right:0;font-size:1.15rem}.main-wrapper{margin-left:var(--sidebar-collapsed)}.stats-grid,.accounts-summary-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}@media (max-width: 768px){.sidebar{transform:translate(-100%);width:270px;z-index:100;box-shadow:10px 0 40px #000000b3}.sidebar.mobile-open{transform:translate(0)}.sidebar.mobile-open .brand-text,.sidebar.mobile-open .nav-item span,.sidebar.mobile-open .user-info{display:initial}.sidebar.mobile-open .sidebar-brand{justify-content:initial;padding:1.15rem 1.25rem}.sidebar.mobile-open .brand-header-row{justify-content:space-between}.sidebar.mobile-open .sidebar-close-btn{display:flex}.sidebar.mobile-open .nav-item{justify-content:initial;padding:.7rem 1.1rem}.sidebar.mobile-open .nav-item i{margin-right:.65rem}.main-wrapper{margin-left:0!important;width:100%}.topbar{padding:0 1rem;gap:.6rem}.search-box{max-width:200px}.topbar-actions{gap:.45rem}.topbar-actions .select-styled,.topbar-user .topbar-name,.btn-new-trans .btn-label{display:none}.btn-new-trans{padding:.52rem .75rem;border-radius:10px}.view{padding:1rem .85rem}.view-header{gap:.5rem;margin-bottom:1rem}.view-header h2{font-size:1.2rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-card{padding:1rem;gap:.75rem}.stat-value{font-size:1.2rem}.stat-icon{width:40px;height:40px;font-size:1.05rem}.form-row{flex-direction:column;gap:0}.cat-grid{grid-template-columns:1fr}.summary-bar{padding:.85rem 1rem;gap:.75rem}.summary-value{font-size:1.15rem}.accounts-summary-grid{grid-template-columns:1fr}.accounts-header{flex-direction:column;align-items:flex-start;gap:.6rem}.accounts-header-actions{width:100%;justify-content:space-between}.modal{width:95%;max-width:95vw;margin:.5rem;max-height:88vh;border-radius:16px}.modal-header{padding:1rem 1.2rem}.modal-body{padding:1.15rem 1.2rem}.modal-footer{padding:.85rem 1.2rem}.login-card{width:94%;padding:2rem 1.5rem;border-radius:18px}.hint-grid{grid-template-columns:1fr}}@media (max-width: 540px){.topbar{padding:0 .75rem;gap:.45rem}.sidebar-toggle{width:34px;height:34px;font-size:.95rem}.search-box{max-width:130px}.search-box input{padding:.45rem .6rem .45rem 1.85rem;font-size:.78rem}.search-box i{left:10px;font-size:.75rem}.db-status-badge{padding:3px 8px;font-size:.7rem}.topbar-user{padding:2px 6px}.role-badge{font-size:.68rem;padding:2px 6px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.55rem}.stat-card{padding:.85rem .75rem;flex-direction:column;align-items:flex-start;gap:.5rem}.stat-icon{width:34px;height:34px;font-size:.95rem}.stat-value{font-size:1.05rem}.stat-label{font-size:.7rem}.stat-trend{position:absolute;top:.85rem;right:.75rem;font-size:.65rem;padding:2px 6px}.cf-item{flex-direction:column;align-items:flex-start;gap:.5rem;padding:.75rem}.cf-balance{width:100%;text-align:left;margin-top:.25rem;padding-top:.4rem;border-top:1px dashed var(--glass-border);display:flex;justify-content:space-between;align-items:center}.toast-container{right:.75rem;left:.75rem;top:72px}.toast{min-width:unset;width:100%;font-size:.82rem;padding:.7rem 1rem}.receipt-modal-wrapper .modal-body{padding:.75rem}.receipt-document{padding:1.25rem .85rem;font-size:.82rem}.receipt-header{flex-direction:column;gap:.85rem}.receipt-company{flex-direction:column;gap:.5rem}.receipt-signatures{flex-direction:column;gap:1.25rem}.sig-box{width:100%}}@media (max-width: 380px){.stats-grid{grid-template-columns:1fr}.view-header h2{font-size:1.1rem}.search-box{display:none}}.login-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;display:flex;align-items:center;justify-content:center;background:var(--bg-body)}.login-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 50%,rgba(79,140,255,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(168,85,247,.06) 0%,transparent 50%),radial-gradient(ellipse at 50% 80%,rgba(34,197,94,.05) 0%,transparent 50%);animation:bgPulse 8s ease-in-out infinite alternate}@keyframes bgPulse{0%{opacity:.6}to{opacity:1}}.login-card{position:relative;z-index:1;background:var(--bg-card);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--glass-border);border-radius:20px;padding:2.5rem 2.5rem 2rem;width:100%;max-width:440px;box-shadow:var(--shadow-lg);animation:slideUp .5s cubic-bezier(.22,1,.36,1)}.login-logo{text-align:center;margin-bottom:1.75rem}.login-logo-img{width:180px;height:auto;margin:0 auto .75rem;display:block;object-fit:contain;filter:drop-shadow(0 2px 12px rgba(79,140,255,.3))}.login-icon{width:56px;height:56px;margin:0 auto .75rem;background:var(--gradient-green);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff}.login-logo h1{font-size:1.6rem;font-weight:900;background:var(--gradient-green);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.login-logo p{font-size:.82rem;color:var(--text-muted);margin-top:.25rem}.brand-logo-img{width:38px;height:38px;object-fit:contain;border-radius:8px;filter:drop-shadow(0 1px 4px rgba(79,140,255,.25));flex-shrink:0}.login-page .form-group{margin-bottom:1rem}.login-page .form-group label{display:flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;color:var(--text-secondary);margin-bottom:.3rem}.login-page .form-group input{width:100%;padding:.7rem .9rem;background:var(--bg-input);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.92rem;transition:var(--transition)}.login-page .form-group input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.password-wrapper{position:relative}.password-wrapper input{padding-right:2.5rem}.toggle-pass{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.9rem;transition:var(--transition)}.toggle-pass:hover{color:var(--text-primary)}.login-error{color:var(--red);font-size:.82rem;font-weight:500;min-height:1.2em;margin-bottom:.5rem}.btn-login{width:100%;padding:.75rem;border:none;border-radius:var(--radius-sm);background:var(--gradient-primary);color:#fff;font-size:.95rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:var(--transition)}.btn-login:hover{transform:translateY(-1px);box-shadow:0 4px 20px var(--accent-glow)}.login-hint{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--glass-border)}.login-hint h4{font-size:.78rem;color:var(--text-muted);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.hint-grid{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.hint-item{display:flex;flex-direction:column;gap:2px;padding:.4rem .6rem;border-radius:var(--radius-xs);background:#ffffff06;font-size:.78rem}.hint-item code{font-size:.72rem;color:var(--text-muted)}.hint-role{font-weight:600;font-size:.72rem}.role-badge{display:inline-flex;align-items:center;gap:3px;padding:3px 10px;border-radius:20px;font-size:.72rem;font-weight:700;white-space:nowrap}.role-owner{background:#eab30826;color:#facc15}.role-admin{background:#ef44441f;color:#f87171}.role-manager{background:#4f8cff1f;color:#60a5fa}.role-staff{background:#22c55e1f;color:#4ade80}.role-viewer{background:#6b72801f;color:#9ca3af}.role-bca,.role-bri{background:#3b82f626;color:#60a5fa}.role-mandiri{background:#eab30826;color:#facc15}.role-tunai{background:#22c55e26;color:#4ade80}.role-qris{background:#a855f726;color:#c084fc}.status-active{color:var(--green)}.status-inactive{color:var(--text-muted)}.topbar-user{display:flex;align-items:center;gap:.5rem;padding:.35rem .75rem;border-radius:var(--radius-sm);background:#ffffff0a;border:1px solid var(--glass-border)}.topbar-name{font-size:.82rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.btn-logout{background:none;border:none;color:var(--text-muted);font-size:.95rem;cursor:pointer;transition:var(--transition);padding:.35rem;margin-left:auto}.btn-logout:hover{color:var(--red)}.role-legend{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.25rem;padding:1rem 1.25rem;background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius);font-size:.82rem;color:var(--text-secondary)}.role-legend-item{display:flex;align-items:center;gap:.6rem}.app-wrapper{display:flex;min-height:100vh}.modal-lg{max-width:800px;width:95%}.accounts-card{margin-bottom:1.25rem;background:var(--bg-card);border:1px solid var(--glass-border);padding:1.15rem 1.35rem}.accounts-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.9rem}.accounts-header-actions{display:flex;align-items:center;gap:.75rem}.btn-xs{padding:.28rem .65rem;font-size:.75rem;border-radius:var(--radius-xs)}.accounts-header h3{font-size:.95rem;font-weight:700;display:flex;align-items:center;gap:.5rem;color:var(--text-primary)}.accounts-note{font-size:.75rem;color:var(--text-muted)}.accounts-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.85rem}.account-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:1.15rem 1.25rem;min-height:165px;background:#101726c7;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius);transition:all .25s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 16px #00000040;overflow:hidden}.account-card:after{content:"";position:absolute;top:0;left:0;right:0;height:3px}.account-card-bri:after{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.account-card-mandiri:after{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.account-card-tunai:after{background:linear-gradient(90deg,#10b981,#34d399)}.account-card-qris:after{background:linear-gradient(90deg,#8b5cf6,#c084fc)}.account-card:hover{background:#162036f2;transform:translateY(-3px);border-color:#ffffff2e;box-shadow:0 12px 28px -4px #0000008c,0 0 15px -3px var(--accent-glow)}.account-card-header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.85rem}.account-card-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.15rem;flex-shrink:0}.account-icon-bca,.account-icon-bri{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.account-icon-mandiri{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.account-icon-tunai{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3)}.account-icon-qris{background:#8b5cf626;color:#c084fc;border:1px solid rgba(139,92,246,.3)}.account-card-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.account-card-title-line{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.account-card-name{font-size:.88rem;color:var(--text-primary);font-weight:700;white-space:nowrap}.account-card-account-num{font-size:.73rem;color:var(--text-muted);font-family:Consolas,Courier New,monospace;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.account-badge{display:inline-flex;align-items:center;padding:1px 7px;border-radius:6px;font-size:.65rem;font-weight:700;width:fit-content;text-transform:uppercase;letter-spacing:.5px}.account-badge-bri,.account-badge-bca{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.25)}.account-badge-mandiri{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.25)}.account-badge-tunai{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.25)}.account-badge-qris{background:#8b5cf626;color:#c084fc;border:1px solid rgba(139,92,246,.25)}.account-edit-btn{background:#ffffff0d;border:1px solid var(--glass-border);color:var(--text-muted);width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.75rem;cursor:pointer;transition:var(--transition);flex-shrink:0}.account-edit-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:scale(1.08)}.account-card-body{display:flex;flex-direction:column;gap:2px;margin-bottom:.85rem}.account-balance-caption{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;font-weight:600}.account-card-balance{font-size:1.35rem;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1.2}.account-card-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-top:.65rem;border-top:1px solid rgba(255,255,255,.06)}.account-card-trx-badge{font-size:.72rem;color:var(--text-secondary);font-weight:600;display:inline-flex;align-items:center;gap:5px;background:#ffffff0a;padding:2px 8px;border-radius:12px;border:1px solid var(--glass-border)}.account-card-action{font-size:.72rem;color:var(--text-muted);font-weight:600;display:inline-flex;align-items:center;gap:4px;transition:var(--transition)}.account-card:hover .account-card-action{color:var(--accent);transform:translate(2px)}.monthly-chart-box{display:flex;flex-direction:column;gap:.85rem;width:100%}.monthly-chart-legend{display:flex;align-items:center;justify-content:flex-end;gap:1.25rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.05)}.legend-item{display:flex;align-items:center;gap:.45rem;font-size:.75rem;color:var(--text-secondary);font-weight:600}.legend-dot{width:10px;height:10px;border-radius:3px}.legend-dot.l-income{background:#22c55e;box-shadow:0 0 8px #22c55e66}.legend-dot.l-expense{background:#ef4444;box-shadow:0 0 8px #ef444466}.legend-badge{font-size:.68rem;color:var(--text-muted);background:#ffffff0a;padding:2px 8px;border-radius:6px;border:1px solid var(--glass-border)}.monthly-chart-list{display:flex;flex-direction:column;gap:.75rem}.month-chart-row{display:flex;align-items:center;gap:1rem;padding:.65rem .85rem;background:#ffffff04;border:1px solid rgba(255,255,255,.04);border-radius:10px;transition:var(--transition)}.month-chart-row:hover{background:#ffffff09;border-color:#ffffff14}.month-col-label{display:flex;flex-direction:column;min-width:68px;text-align:left}.month-name-text{font-size:.85rem;font-weight:700;color:var(--text-primary)}.month-year-text{font-size:.68rem;color:var(--text-muted);font-weight:600}.month-col-bars{flex:1;display:flex;flex-direction:column;gap:.45rem;min-width:0}.bar-track-wrap{display:flex;flex-direction:column;gap:3px}.bar-label-top{display:flex;align-items:center;justify-content:space-between;font-size:.72rem}.bar-type-label{color:var(--text-muted);font-weight:500;font-size:.68rem;text-transform:uppercase;letter-spacing:.4px}.bar-amount-val{font-weight:700;font-variant-numeric:tabular-nums}.chart-bar-track{width:100%;height:9px;background:#ffffff0d;border-radius:5px;overflow:hidden;position:relative;border:1px solid rgba(255,255,255,.04)}.chart-bar-fill{height:100%;border-radius:5px;display:block;transition:width .6s cubic-bezier(.16,1,.3,1)}.bar-fill-income{background:linear-gradient(90deg,#10b981,#22c55e)!important;box-shadow:0 0 10px #22c55e73}.bar-fill-expense{background:linear-gradient(90deg,#f43f5e,#ef4444)!important;box-shadow:0 0 10px #ef444473}.month-col-net{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:110px;flex-shrink:0}.net-caption{font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.net-pill{font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:8px;font-variant-numeric:tabular-nums;white-space:nowrap}.net-surplus{background:#22c55e1f;color:#4ade80;border:1px solid rgba(34,197,94,.25)}.net-deficit{background:#ef44441f;color:#f87171;border:1px solid rgba(239,68,68,.25)}.category-chart-list{display:flex;flex-direction:column;gap:.65rem;width:100%}.cat-chart-row{display:flex;flex-direction:column;gap:5px;padding:.45rem .65rem;background:#ffffff05;border-radius:8px;border:1px solid rgba(255,255,255,.03)}.cat-chart-row .chart-bar-track{height:10px;background:#ffffff0f}.cat-chart-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.cat-name-label{font-size:.78rem;color:var(--text-secondary);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cat-amount-val{font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums;flex-shrink:0}.chart-empty-state{color:var(--text-muted);text-align:center;padding:2.5rem 1rem;font-size:.82rem}@media (max-width: 900px){.accounts-summary-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 500px){.accounts-summary-grid{grid-template-columns:1fr}}.receipt-scroll-container{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.5rem}.receipt-modal-wrapper .modal-body{padding:1.25rem 1.5rem}.receipt-document{background:#fff;color:#1a1a2e;border-radius:10px;padding:2rem 2.2rem;font-family:Inter,sans-serif;box-shadow:0 10px 30px #00000026;border:1px solid #e2e8f0;position:relative;min-width:540px}.receipt-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #0f172a;padding-bottom:1rem;margin-bottom:1.25rem}.receipt-company{display:flex;gap:1rem;align-items:center}.receipt-logo-icon{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;overflow:hidden;flex-shrink:0}.receipt-logo-icon img{width:100%;height:100%;object-fit:contain}.receipt-company-info h2{font-size:1.15rem;font-weight:900;color:#0f172a;margin:0;letter-spacing:.5px}.receipt-company-info p{font-size:.75rem;color:#475569;margin:2px 0 0;line-height:1.35}.receipt-meta-box{text-align:right}.receipt-type-badge{display:inline-block;font-size:.75rem;font-weight:800;padding:4px 10px;border-radius:6px;margin-bottom:6px;text-transform:uppercase}.badge-income-receipt{background:#dcfce7;color:#15803d;border:1px solid #86efac}.badge-expense-receipt{background:#fee2e2;color:#b91c1c;border:1px solid #fca5a5}.receipt-no{font-size:.95rem;font-weight:800;color:#0f172a}.receipt-date{font-size:.78rem;color:#64748b;margin-top:2px}.receipt-title{text-align:center;font-size:1.25rem;font-weight:900;letter-spacing:1px;color:#0f172a;text-transform:uppercase;margin-bottom:1.25rem;position:relative}.receipt-title:after{content:"";display:block;width:60px;height:3px;background:#3b82f6;margin:6px auto 0;border-radius:2px}.receipt-table-info{width:100%;border-collapse:collapse;margin-bottom:1.25rem;font-size:.88rem}.receipt-table-info td{padding:8px 10px;vertical-align:top}.receipt-table-info td.field-label{width:28%;color:#64748b;font-weight:600;border-bottom:1px dashed #e2e8f0}.receipt-table-info td.field-sep{width:2%;color:#64748b;border-bottom:1px dashed #e2e8f0}.receipt-table-info td.field-val{width:70%;color:#0f172a;font-weight:600;border-bottom:1px dashed #e2e8f0}.receipt-terbilang-box{background:#f8fafc;border:1px solid #cbd5e1;border-left:4px solid #3b82f6;padding:.75rem 1rem;border-radius:6px;margin-bottom:1.25rem;font-size:.85rem;color:#334155}.receipt-terbilang-box strong{color:#0f172a}.receipt-summary-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:.75rem 1rem;background:#f1f5f9;border-radius:8px}.receipt-nominal-box{display:flex;align-items:center;gap:.75rem}.receipt-nominal-label{font-size:.85rem;font-weight:700;color:#475569}.receipt-nominal-val{font-size:1.35rem;font-weight:900;color:#0f172a}.receipt-stamp-paid{border:2px solid #16a34a;color:#16a34a;padding:4px 14px;border-radius:6px;font-weight:900;font-size:.95rem;letter-spacing:2px;text-transform:uppercase;transform:rotate(-5deg);display:inline-block}.receipt-signatures{display:flex;justify-content:space-between;margin-top:1.5rem;padding-top:.5rem}.sig-box{width:40%;text-align:center;font-size:.82rem;color:#475569}.sig-space{height:60px;display:flex;align-items:center;justify-content:center}.sig-digital-badge{font-size:.7rem;color:#2563eb;background:#eff6ff;border:1px dashed #93c5fd;padding:3px 8px;border-radius:4px}.sig-name{font-weight:800;color:#0f172a;border-top:1px solid #0f172a;padding-top:4px;margin-top:4px}.sig-title{font-size:.72rem;color:#64748b}.report-modal-wrapper .modal-body{padding:1.25rem 1.5rem}.report-document{background:#fff;color:#0f172a;padding:2.2rem;border-radius:10px;font-family:Inter,sans-serif;box-shadow:0 10px 30px #00000026;min-width:540px}.report-doc-header{text-align:center;border-bottom:2px solid #0f172a;padding-bottom:1rem;margin-bottom:1.25rem}.report-doc-header h2{font-size:1.3rem;font-weight:900;color:#0f172a}.report-doc-header p{font-size:.8rem;color:#475569;margin:2px 0}.report-doc-title{text-align:center;font-size:1.15rem;font-weight:800;margin:1.25rem 0 .5rem;text-transform:uppercase}.report-doc-period{text-align:center;font-size:.85rem;color:#64748b;margin-bottom:1.25rem}.report-doc-table{width:100%;border-collapse:collapse;font-size:.85rem;margin-bottom:1.5rem}.report-doc-table th,.report-doc-table td{border:1px solid #cbd5e1;padding:8px 12px}.report-doc-table th{background:#f1f5f9;font-weight:800;color:#0f172a;text-align:left}.report-doc-table tfoot td{font-weight:800;background:#f8fafc}.report-signatures{display:flex;justify-content:space-between;margin-top:2rem}@media print{body{background:#fff!important;color:#000!important}.sidebar,.topbar,.toast-container,.no-print,button,.login-page{display:none!important}.app-wrapper{display:block!important}.main-wrapper{margin-left:0!important}.view{display:none!important}.modal-overlay{position:static!important;display:block!important;background:transparent!important;padding:0!important}.modal{max-width:100%!important;box-shadow:none!important;border:none!important;background:transparent!important}.modal-body{padding:0!important}.receipt-document,.report-document{box-shadow:none!important;border:1px solid #000!important;padding:1.5cm!important;margin:0 auto!important}}.btn-excel{background:linear-gradient(135deg,#107c41,#185a30)!important;color:#fff!important;border:1px solid rgba(16,124,65,.4)!important;font-weight:600}.btn-excel:hover{background:linear-gradient(135deg,#15803d,#166534)!important;box-shadow:0 4px 14px #107c4159;transform:translateY(-1px)}.btn-pdf{background:linear-gradient(135deg,#dc2626,#991b1b)!important;color:#fff!important;border:1px solid rgba(220,38,38,.4)!important;font-weight:600}.btn-pdf:hover{background:linear-gradient(135deg,#ef4444,#b91c1c)!important;box-shadow:0 4px 14px #dc262659;transform:translateY(-1px)}.btn-outline{background:#ffffff0a!important;border:1px solid var(--glass-border)!important;color:var(--text-secondary)!important}.btn-outline:hover{background:#ffffff14!important;color:var(--text-primary)!important}.db-status-badge{display:flex;align-items:center;gap:.45rem;padding:.35rem .75rem;border-radius:20px;font-size:.75rem;font-weight:700;cursor:pointer;transition:var(--transition);border:1px solid rgba(16,185,129,.3);background:#10b9811a;color:#10b981}.db-status-badge:hover{transform:translateY(-1px);box-shadow:0 2px 10px #10b98133}.db-status-badge.offline{border-color:#f59e0b4d;background:#f59e0b1a;color:#f59e0b}.db-status-dot{width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 8px #10b981}.db-status-badge.offline .db-status-dot{background:#f59e0b;box-shadow:0 0 8px #f59e0b}.database-banner{display:flex;gap:1.25rem;align-items:center;padding:1.5rem 1.65rem;background:linear-gradient(135deg,#3b82f614,#8b5cf60d);border:1px solid rgba(59,130,246,.25);margin-bottom:1.25rem;border-radius:var(--radius)}.database-banner.offline{background:linear-gradient(135deg,#f59e0b14,#ef44440d);border-color:#f59e0b40}.db-banner-icon{width:54px;height:54px;border-radius:14px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.6rem;flex-shrink:0;box-shadow:0 6px 16px #3b82f64d}.database-banner.offline .db-banner-icon{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 6px 16px #f59e0b4d}.db-banner-info{flex:1}.db-badge-online{display:inline-flex;align-items:center;padding:2px 8px;border-radius:12px;font-size:.68rem;font-weight:700;background:#10b98126;color:#10b981;border:1px solid rgba(16,185,129,.3)}.db-badge-online.offline{background:#f59e0b26;color:#f59e0b;border-color:#f59e0b4d}.db-meta-tags{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.5rem}.db-tag{display:inline-flex;align-items:center;gap:.4rem;background:#ffffff0a;border:1px solid var(--glass-border);padding:.25rem .65rem;border-radius:6px;font-size:.75rem;color:var(--text-secondary)}.db-tag strong{color:var(--text-primary)}
