body{-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary:#3b82f6;--primary-hover:#2563eb;--bg:#f3f4f6;--sidebar:#1e293b;--text:#1f2937;--text-light:#6b7280;--danger:#ef4444;--success:#10b981;--header-height:60px;--sidebar-width:260px}body{-webkit-font-smoothing:antialiased;background-color:#f3f4f6;background-color:var(--bg);color:#1f2937;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0;overflow-x:hidden}.app-container{display:flex;min-height:100vh;position:relative;width:100%}.sidebar{background-color:#1e293b;background-color:var(--sidebar);bottom:0;box-sizing:border-box;color:#fff;display:flex;flex-direction:column;left:0;padding:24px;position:fixed;top:0;width:260px;width:var(--sidebar-width);z-index:50}.brand{align-items:center;display:flex;gap:12px;margin-bottom:40px;padding-left:8px}.brand h2{color:#fff;font-size:20px;font-weight:700;margin:0}.sidebar nav{display:flex;flex:1 1;flex-direction:column;gap:8px}.sidebar nav button{align-items:center;background:none;border:none;border-radius:8px;color:#94a3b8;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:12px;padding:12px 16px;text-align:left;transition:all .2s ease;width:100%}.sidebar nav button:hover{background-color:#ffffff0d;color:#fff}.sidebar nav button.active{background-color:#3b82f6;background-color:var(--primary);box-shadow:0 4px 12px #3b82f64d;color:#fff}.content{box-sizing:border-box;flex:1 1;margin-left:260px;margin-left:var(--sidebar-width);min-height:100vh;padding:32px;width:calc(100% - 260px);width:calc(100% - var(--sidebar-width))}.top-bar{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:32px}.top-bar h1{color:#1e293b;color:var(--sidebar);font-size:24px;font-weight:700;margin:0}.menu-toggle,.mobile-header,.sidebar-overlay{display:none}@media (max-width:768px){.app-container{flex-direction:column}.mobile-header{align-items:center;background:#1e293b;background:var(--sidebar);box-shadow:0 2px 10px #0000001a;color:#fff;display:flex;height:60px;height:var(--header-height);justify-content:space-between;left:0;padding:0 20px;position:fixed;right:0;top:0;z-index:60}.menu-toggle{background:none;border:none;color:#fff;cursor:pointer;display:block;padding:0}.sidebar{bottom:0;left:0;padding-top:20px;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s ease-in-out;width:280px;z-index:70}.sidebar.open{box-shadow:5px 0 15px #0000004d;transform:translateX(0)}.brand{margin-bottom:20px}.sidebar-overlay{background:#00000080;bottom:0;display:block;left:0;opacity:0;pointer-events:none;position:fixed;right:0;top:0;transition:opacity .3s;z-index:65}.sidebar-overlay.active{opacity:1;pointer-events:auto}.content{margin-left:0;padding:80px 20px 20px;padding-top:calc(var(--header-height) + 20px);width:100%}.dashboard-grid{grid-template-columns:1fr}.top-bar{align-items:flex-start;flex-direction:column;gap:10px}.top-bar h1{font-size:20px}.top-bar button{justify-content:center;width:100%}.filter-bar{align-items:stretch!important;flex-direction:column;gap:10px!important}.filter-bar select{width:100%}}.btn-primary{align-items:center;background-color:#3b82f6;background-color:var(--primary);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 24px;transition:background .2s;white-space:nowrap}.btn-primary:hover{background-color:#2563eb;background-color:var(--primary-hover)}.btn-icon-primary{align-items:center;background-color:#eff6ff;border:1px solid #dbeafe;border-radius:6px;color:#3b82f6;color:var(--primary);cursor:pointer;display:flex;justify-content:center;padding:6px;transition:all .2s}.btn-icon-primary:hover{background-color:#3b82f6;background-color:var(--primary);color:#fff}.dashboard-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:2fr 1fr;margin-bottom:24px}.card{background:#fff;border:1px solid #f1f5f9;border-radius:16px;box-shadow:0 4px 6px -1px #0000000d;padding:24px}.summary-card{background:linear-gradient(135deg,#fff,#f8fafc);border-left:5px solid #3b82f6;border-left:5px solid var(--primary);grid-column:1/-1}.summary-card h3{color:#6b7280;color:var(--text-light);font-size:14px;letter-spacing:.5px;margin:0;text-transform:uppercase}.big-number{font-size:32px;font-weight:800;margin:8px 0 0}.big-number,.chart-card h3{color:#1e293b;color:var(--sidebar)}.chart-card h3{font-size:18px;margin-bottom:20px;margin-top:0}.table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.table{border-collapse:initial;border-spacing:0;margin-top:10px;min-width:600px;width:100%}.table th{border-bottom:2px solid #e2e8f0;color:#6b7280;color:var(--text-light);font-size:13px;font-weight:600;padding:16px;text-align:left;text-transform:uppercase}.table td{border-bottom:1px solid #f1f5f9;padding:16px;vertical-align:middle}.table-row{transition:background .1s}.table-row:hover{background-color:#f8fafc}.btn-icon{background:none;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;padding:8px;transition:all .2s}.btn-icon:hover{background-color:#fef2f2;color:#ef4444;color:var(--danger)}.badge-month{background-color:#f1f5f9;border-radius:6px;color:#475569;font-size:12px;font-weight:700;padding:4px 10px;text-transform:uppercase}.badge-category{background-color:#eff6ff;border-radius:20px;color:#3b82f6;color:var(--primary);font-size:12px;font-weight:600;padding:4px 12px;white-space:nowrap}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0f172a99;bottom:0;box-sizing:border-box;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;max-width:500px;overflow-y:auto;padding:24px;position:relative;width:100%}.close-btn{align-items:center;background:#f1f5f9;border:none;border-radius:50%;color:#64748b;cursor:pointer;display:flex;font-weight:700;height:30px;justify-content:center;position:absolute;right:15px;top:15px;width:30px}.form-container h3{color:#1e293b;color:var(--sidebar);font-size:20px;margin-bottom:24px;margin-top:0}.form-group{margin-bottom:20px}.form-group label{color:#1f2937;color:var(--text);display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-group input,.form-group select{background-color:#fff;border:1px solid #cbd5e1;border-radius:8px;box-sizing:border-box;font-size:15px;padding:12px;width:100%}.form-row{display:flex;flex-wrap:wrap;gap:16px}.form-row .form-group{flex:1 1;min-width:140px}.btn-save{background-color:#10b981;background-color:var(--success);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;margin-top:10px;padding:14px;width:100%}.btn-save:hover{background-color:#059669}.recharts-default-tooltip{background-color:#fffffff2!important;border:none!important;border-radius:12px!important;box-shadow:0 10px 15px -3px #0000001a!important;padding:12px!important}.tab-btn:hover{background-color:#f1f5f9!important;border-radius:8px 8px 0 0}@media print{@page{size:auto;margin:1.5cm}body{background-color:#fff;color:#000;font-size:12px;overflow:visible!important}.btn-icon,.btn-primary,.filter-bar,.mobile-header,.modal-overlay,.no-print,.sidebar,.top-bar{display:none!important}.app-container{display:block!important}.app-container,.content{height:auto!important;overflow:visible!important;width:auto!important}.content{margin:0!important;max-width:none!important;padding:0!important}.card,.export-container .print-area{background:#0000!important;border:1px solid #eee!important;box-shadow:none!important;margin:0!important;padding:20px!important;page-break-inside:avoid;width:auto!important}table{border-collapse:collapse!important;width:100%!important}tr{page-break-inside:avoid}td,th{border-bottom:1px solid #ddd!important;font-size:11px!important;padding:8px!important}h1{font-size:20px!important}.big-number{font-size:18px!important}}
/*# sourceMappingURL=main.f7a75e33.css.map*/