:root{--bg-page:#f8fafc;--bg-canvas:#f1f5f9;--bg-card:#fff;--bg-card-hover:#f1f5f9;--bg-surface:#fff;--bg-input:#fff;--bg-sidebar:#fff;--bg-topbar:hsla(0,0%,100%,.95);--text-primary:#0f172a;--text-secondary:#1e293b;--text-muted:#334155;--text-subtle:#475569;--text-gold:#b45309;--text-emerald:#047857;--text-rose:#be123c;--text-blue:#0369a1;--text-purple:#6b21a8;--primary:#1d4ed8;--primary-hover:#1e40af;--primary-light:#eff6ff;--primary-glow:rgba(29,78,216,.2);--accent-gold:#d97706;--accent-gold-light:#fef3c7;--accent-gold-text:#92400e;--accent-gold-glow:rgba(217,119,6,.25);--emerald-credit:#059669;--emerald-bg:#ecfdf5;--emerald-text:#065f46;--emerald-border:#6ee7b7;--rose-debit:#e11d48;--rose-bg:#fff1f2;--rose-text:#9f1239;--rose-border:#fecdd3;--blue-info:#0284c7;--blue-bg:#f0f9ff;--blue-text:#0369a1;--blue-border:#bae6fd;--purple-regal:#7c3aed;--purple-bg:#f5f3ff;--purple-text:#581c87;--purple-border:#ddd6fe;--border-color:#cbd5e1;--border-subtle:#e2e8f0;--border-active:#1d4ed8;--border-card:#cbd5e1;--font-sans:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"JetBrains Mono",monospace;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--shadow-subtle:0 1px 3px 0 rgba(0,0,0,.07),0 1px 2px -1px rgba(0,0,0,.07);--shadow-card:0 4px 6px -1px rgba(0,0,0,.07),0 2px 4px -2px rgba(0,0,0,.07);--shadow-hover:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--shadow-modal:0 20px 25px -5px rgba(0,0,0,.2),0 8px 10px -6px rgba(0,0,0,.15);--transition-smooth:all .2s cubic-bezier(.16,1,.3,1)}body.dark,html.dark{--bg-page:#0b1120;--bg-canvas:#070d19;--bg-card:#131d31;--bg-card-hover:#1b2742;--bg-surface:#1e293b;--bg-input:#0b1329;--bg-sidebar:#0f172a;--bg-topbar:rgba(15,23,42,.95);--text-primary:#fff;--text-secondary:#f1f5f9;--text-muted:#cbd5e1;--text-subtle:#94a3b8;--text-gold:#fbbf24;--text-emerald:#34d399;--text-rose:#fb7185;--text-blue:#38bdf8;--text-purple:#c084fc;--primary:#3b82f6;--primary-hover:#60a5fa;--primary-light:rgba(59,130,246,.2);--primary-glow:rgba(59,130,246,.35);--accent-gold:#f59e0b;--accent-gold-light:rgba(245,158,11,.2);--accent-gold-text:#fbbf24;--accent-gold-glow:rgba(245,158,11,.35);--emerald-credit:#10b981;--emerald-bg:rgba(16,185,129,.2);--emerald-text:#34d399;--emerald-border:rgba(16,185,129,.4);--rose-debit:#f43f5e;--rose-bg:rgba(244,63,94,.2);--rose-text:#fb7185;--rose-border:rgba(244,63,94,.4);--blue-info:#38bdf8;--blue-bg:rgba(56,189,248,.2);--blue-text:#7dd3fc;--blue-border:rgba(56,189,248,.4);--purple-regal:#a855f7;--purple-bg:rgba(168,85,247,.2);--purple-text:#c084fc;--purple-border:rgba(168,85,247,.4);--border-color:#334155;--border-subtle:#1e293b;--border-active:#3b82f6;--border-card:hsla(0,0%,100%,.12);--shadow-subtle:0 1px 3px 0 rgba(0,0,0,.3);--shadow-card:0 4px 6px -1px rgba(0,0,0,.3);--shadow-hover:0 10px 15px -3px rgba(0,0,0,.4);--shadow-modal:0 25px 50px -12px rgba(0,0,0,.6)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{background-color:var(--bg-page);color:var(--text-primary);font-family:var(--font-sans);font-size:14.5px;line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .25s ease,color .25s ease}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:700;letter-spacing:-.02em}h1{font-size:1.75rem}h2{font-size:1.35rem}h3{font-size:1.1rem}a{color:var(--primary);text-decoration:none;transition:var(--transition-smooth)}a:hover{color:var(--primary-hover)}.btn{align-items:center;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-size:.88rem;font-weight:600;gap:.5rem;justify-content:center;padding:.55rem 1.1rem;text-decoration:none;transition:var(--transition-smooth);-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn:disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.btn-primary{background:var(--primary);box-shadow:0 1px 2px #0000000d;color:#fff}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px)}.btn-secondary{background:var(--bg-card);border-color:var(--border-color);box-shadow:var(--shadow-subtle);color:var(--text-secondary)}.btn-secondary:hover{background:var(--bg-canvas);border-color:#cbd5e1;color:var(--text-primary)}.btn-emerald{background:var(--emerald-credit);color:#fff}.btn-emerald:hover{background:#047857;transform:translateY(-1px)}.btn-sm{border-radius:var(--radius-sm);font-size:.8rem;padding:.35rem .75rem}.btn-icon{border-radius:var(--radius-md);height:36px;padding:0;width:36px}.glass-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1.5rem;transition:var(--transition-smooth)}.glass-card:hover{border-color:#cbd5e1;box-shadow:var(--shadow-hover)}html.dark .glass-card:hover{border-color:#ffffff26}.form-group{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.form-label{color:var(--text-secondary);font-size:.82rem;font-weight:600}.form-control{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-sans);font-size:.9rem;outline:none;padding:.65rem .85rem;transition:var(--transition-smooth);width:100%}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.form-control::-moz-placeholder{color:var(--text-subtle)}.form-control::placeholder{color:var(--text-subtle)}select.form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2364748b' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .85rem center;background-repeat:no-repeat;padding-right:2.25rem}.filter-card,.filter-card.glass-card{align-items:center;background:var(--bg-card)!important;border:1.5px solid var(--border-color)!important;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.25rem;padding:1rem 1.25rem}.pill-filters{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.filter-pill{align-items:center;background:var(--bg-canvas)!important;border:1.5px solid var(--border-color)!important;border-radius:var(--radius-full);box-shadow:0 1px 2px #0000000d;color:var(--text-secondary)!important;cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-size:.86rem;font-weight:700;justify-content:center;padding:.5rem 1.15rem;transition:var(--transition-smooth);-webkit-user-select:none;-moz-user-select:none;user-select:none}.filter-pill:hover{background:var(--border-color)!important;border-color:var(--text-muted)!important;color:var(--text-primary)!important;transform:translateY(-1px)}.filter-pill.active{background:var(--primary)!important;border-color:var(--primary)!important;box-shadow:0 3px 12px var(--primary-glow),0 2px 4px #00000026!important;color:#fff!important;font-weight:800!important;transform:translateY(-1px)}.filter-controls{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.search-box{flex:1;min-width:280px;position:relative}.search-icon{color:var(--text-secondary);font-size:.95rem;left:.95rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-input{background-color:var(--bg-card)!important;border:1.5px solid var(--border-color)!important;border-radius:var(--radius-md);color:var(--text-primary)!important;font-family:var(--font-sans);font-size:.9rem;font-weight:500;outline:none;padding:.6rem 2.2rem .6rem 2.6rem!important;transition:var(--transition-smooth);width:100%}.search-input:focus{border-color:var(--primary)!important;box-shadow:0 0 0 3px var(--primary-glow)!important}.search-input::-moz-placeholder{color:var(--text-muted);font-weight:400}.search-input::placeholder{color:var(--text-muted);font-weight:400}.clear-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:.95rem;font-weight:700;justify-content:center;padding:.2rem;position:absolute;right:.85rem;top:50%;transform:translateY(-50%)}.clear-btn,.filter-inputs{align-items:center;display:flex}.filter-inputs{flex:1;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.filter-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bg-card);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23334155' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;border:1.5px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-family:var(--font-sans);font-size:.88rem;font-weight:600;min-width:170px;outline:none;padding:.52rem 2.25rem .52rem .85rem;transition:var(--transition-smooth)}html.dark .filter-select{background-color:var(--bg-card);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2394a3b8' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.filter-select:focus,.filter-select:hover{border-color:var(--primary)}.filter-select:focus{box-shadow:0 0 0 3px var(--primary-glow)}.filter-search{background-color:var(--bg-card);border:1.5px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);flex:1;font-family:var(--font-sans);font-size:.88rem;font-weight:500;min-width:250px;outline:none;padding:.52rem .85rem;transition:var(--transition-smooth)}.filter-search::-moz-placeholder{color:var(--text-muted);font-weight:400}.filter-search::placeholder{color:var(--text-muted);font-weight:400}.filter-search:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.status-quick-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bg-card);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23334155' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .55rem center;background-repeat:no-repeat;border:1.5px solid var(--border-color);border-radius:var(--radius-full);color:var(--text-primary);cursor:pointer;font-size:.82rem;font-weight:700;outline:none;padding:.35rem 1.8rem .35rem .75rem;transition:var(--transition-smooth)}html.dark .status-quick-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23cbd5e1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.status-quick-select:hover{border-color:var(--primary)}.badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:.75rem;font-weight:700;gap:.35rem;letter-spacing:.04em;padding:.25rem .65rem;text-transform:uppercase;white-space:nowrap}.badge-gold{background:var(--accent-gold-light);border:1px solid var(--accent-gold);color:var(--accent-gold-text)}.badge-emerald{background:var(--emerald-bg);border:1px solid var(--emerald-border);color:var(--emerald-text)}.badge-rose{background:var(--rose-bg);border:1px solid var(--rose-border);color:var(--rose-text)}.badge-blue{background:var(--blue-bg);border:1px solid var(--blue-border);color:var(--blue-text)}.badge-purple{background:var(--purple-bg);border:1px solid var(--purple-border);color:var(--purple-text)}.badge-secondary{background:var(--bg-canvas);border:1px solid var(--border-color);color:var(--text-secondary)}.table-wrapper{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow-x:auto;width:100%}.custom-table{border-collapse:collapse;text-align:left;width:100%}.custom-table th{background:var(--bg-canvas);border-bottom:2px solid var(--border-color);color:var(--text-secondary);font-size:.78rem;font-weight:800;letter-spacing:.05em;padding:.85rem 1.1rem;text-transform:uppercase;white-space:nowrap}.custom-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:.9rem;padding:.95rem 1.1rem;vertical-align:middle}.custom-table tr:last-child td{border-bottom:none}.custom-table tbody tr{transition:var(--transition-smooth)}.custom-table tbody tr:hover{background:var(--bg-card-hover)}.mono-amount{font-family:var(--font-mono);font-weight:700;letter-spacing:-.02em}.amount-credit{color:var(--text-emerald)}.amount-debit{color:var(--text-rose)}.receipt-tag{background:var(--primary-light);border:1px solid var(--border-active);border-radius:var(--radius-sm);color:var(--primary);display:inline-block;font-family:var(--font-mono);font-size:.82rem;font-weight:700;padding:.25rem .6rem}.text-gold{color:var(--text-gold)!important}.text-emerald,.text-gold{font-weight:700!important}.text-emerald{color:var(--text-emerald)!important}.text-rose{color:var(--text-rose)!important}.text-blue,.text-rose{font-weight:700!important}.text-blue{color:var(--text-blue)!important}.text-purple{color:var(--text-purple)!important;font-weight:700!important}.text-muted{color:var(--text-muted)!important}.text-secondary{color:var(--text-secondary)!important}.modal-overlay{align-items:center;animation:fadeIn .15s ease-out;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:#0f172a99;display:flex;inset:0;justify-content:center;padding:1.5rem;position:fixed;z-index:9999}.modal-content{animation:slideUp .2s cubic-bezier(.16,1,.3,1);background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-modal);max-height:90vh;max-width:580px;overflow-y:auto;padding:2rem;position:relative;width:100%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.spinner{animation:spin .8s linear infinite;border:2px solid rgba(0,0,0,.1);border-radius:50%;border-top:2px solid var(--primary);height:20px;width:20px}html.dark .spinner{border-color:#ffffff1a;border-top-color:var(--primary)}@keyframes spin{to{transform:rotate(1turn)}}@media print{.mobile-backdrop,.sidebar,.topbar{display:none!important}.page-viewport{margin:0!important;padding:0!important}}.modal-content.modal-sm{max-width:460px}.error-alert{background:var(--rose-bg);border:1px solid var(--rose-border);border-radius:var(--radius-md);color:var(--rose-text);font-size:.9rem;margin:.75rem 0;padding:.65rem .9rem}.btn-outline-rose{background:transparent;border:1px solid var(--rose-border);color:var(--rose-text)}.btn-outline-rose:hover:not(:disabled){background:var(--rose-bg)}
