.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#94a3b8}@keyframes blob{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-50px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}.animate-blob{animation:blob 7s infinite}.animation-delay-2000{animation-delay:2s}.animation-delay-4000{animation-delay:4s}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeIn .3s ease-out}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.slide-in-from-top-2{animation:slideInFromTop .3s ease-out}@keyframes zoomIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.zoom-in-95{animation:zoomIn .2s ease-out}@keyframes fadeInBackdrop{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeInBackdrop .2s ease-out}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.reports-page{padding:2rem;max-width:1100px;margin:0 auto}.reports-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.5rem}.reports-title{font-size:1.5rem;font-weight:700;color:#0f172a;margin:0 0 .25rem}.reports-subtitle{font-size:.875rem;color:#64748b;margin:0}.reports-filters{display:flex;align-items:flex-end;gap:1rem;padding:1.25rem 1.5rem;margin-bottom:1.5rem;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:.35rem}.filter-group label{font-size:.75rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.05em}.filter-input{padding:.5rem .75rem;border:1px solid #cbd5e1;border-radius:.5rem;font-size:.875rem;color:#1e293b;background:#f8fafc}.filter-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.btn-primary{padding:.55rem 1.25rem;background:#16425b;color:#fff;border:none;border-radius:.5rem;font-weight:600;font-size:.875rem;cursor:pointer;transition:background .15s}.btn-primary:hover:not(:disabled){background:#0f2d3f}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.report-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:.5rem;padding:.75rem 1rem;font-size:.875rem;margin-bottom:1.25rem}.reports-tabs{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.report-tab{padding:.5rem 1rem;border:1.5px solid #e2e8f0;border-radius:.5rem;background:#fff;color:#475569;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.report-tab:hover{border-color:#6366f1;color:#6366f1}.report-tab.active{border-color:#16425b;background:#16425b;color:#fff}.reports-chart-card{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:1.5rem}.chart-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.chart-card-title{font-size:1rem;font-weight:600;color:#1e293b;margin:0}.btn-csv{padding:.45rem 1rem;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:.5rem;font-size:.8rem;font-weight:500;color:#475569;cursor:pointer;transition:all .15s}.btn-csv:hover{background:#e2e8f0;border-color:#94a3b8}.chart-card-body{min-height:260px}.report-chart{width:100%;height:auto;display:block}.chart-tick{font-size:10px;fill:#64748b;font-family:inherit}.chart-legend{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem}.chart-legend-item{display:flex;align-items:center;gap:.35rem;font-size:.78rem;color:#475569}.chart-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.report-summary-bar{display:flex;gap:2rem;flex-wrap:wrap;margin-top:1rem;padding-top:1rem;border-top:1px solid #f1f5f9;font-size:.85rem;color:#64748b}.report-summary-bar strong{color:#1e293b}.report-chart-spacer{height:1.5rem}.report-subtitle{font-size:.875rem;font-weight:600;color:#475569;margin:0 0 .5rem}.report-classification-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;margin-top:1.25rem}.classif-card{display:flex;flex-direction:column;gap:.25rem;padding:.75rem 1rem;border-left:3px solid;border-radius:.5rem;background:#f8fafc}.classif-label{font-size:.72rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.classif-value{font-size:1rem;font-weight:700;color:#1e293b}.classif-count{font-size:.75rem;color:#94a3b8}.chart-placeholder{display:flex;align-items:center;justify-content:center;min-height:200px;color:#94a3b8;font-size:.875rem;text-align:center;padding:2rem}.reports-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:#64748b;gap:.75rem}.reports-empty-state .empty-icon{font-size:3rem}.reports-empty-state p{font-size:.9rem}.chart-wrap{position:relative;width:100%}.report-data-toggle{display:inline-flex;align-items:center;gap:.4rem;margin-top:1rem;padding:.45rem .9rem;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:.5rem;font-size:.8rem;font-weight:500;color:#475569;cursor:pointer;transition:all .15s}.report-data-toggle:hover{background:#e2e8f0;border-color:#94a3b8;color:#1e293b}.report-data-grid-wrapper{margin-top:.75rem;border:1px solid #e2e8f0;border-radius:.5rem;overflow:hidden;animation:fadeIn .2s ease-out}.report-data-grid-scroll{max-height:400px;overflow:auto}.report-data-table{width:100%;border-collapse:collapse;font-size:.8rem}.report-data-table thead{position:sticky;top:0;z-index:1}.report-data-table th{background:#16425b;color:#fff;padding:.55rem .75rem;text-align:right;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.report-data-table th:first-child{text-align:left}.report-data-table td{padding:.45rem .75rem;text-align:right;color:#334155;border-bottom:1px solid #f1f5f9;white-space:nowrap}.report-data-table td:first-child{text-align:left;font-weight:500;color:#1e293b}.report-data-table tbody tr:nth-child(2n){background:#f8fafc}.report-data-table tbody tr:hover{background:#eff6ff}
