:root{font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.6;font-weight:400;color:#333;background-color:#f5f7fa;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}a{font-weight:500;color:#2563eb;text-decoration:none;transition:color .2s ease}a:hover{color:#1d4ed8}body{margin:0;min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e4e8ee)}h1,h2,h3,h4,h5,h6{color:#1e293b;font-weight:600}h1{font-size:2rem;line-height:1.2}h2{font-size:1.5rem;line-height:1.3}button{border-radius:8px;border:none;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#2563eb;color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #2563eb33}button:hover{background-color:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 8px #2563eb4d}button:focus,button:focus-visible{outline:3px solid rgba(37,99,235,.3);outline-offset:2px}button:active{transform:translateY(0)}.card{padding:1.5em;background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000000d,0 1px 3px #00000014}#app{max-width:1400px;margin:0 auto;padding:2rem}input,select,textarea{font-family:inherit;font-size:1rem;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;background-color:#fff;color:#374151;transition:all .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}input::placeholder{color:#9ca3af}table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden}th,td{padding:12px 16px;text-align:left;border-bottom:1px solid #e5e7eb}th{background-color:#f8fafc;font-weight:600;color:#475569;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em}tr:hover{background-color:#f8fafc}tr:last-child td{border-bottom:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.container{max-width:1200px;margin:0 auto;padding:30px;font-family:Segoe UI,system-ui,-apple-system,sans-serif}h1{color:#1e293b;font-size:2rem;font-weight:700;margin-bottom:24px;text-align:center;background:linear-gradient(135deg,#2563eb,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}h2{color:#334155;font-size:1.25rem;font-weight:600;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid #e2e8f0}.card{background:#fff;border:none;padding:24px;margin-bottom:24px;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transition:box-shadow .3s ease}.card:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.filter-section{display:flex;gap:20px;align-items:flex-end;flex-wrap:wrap;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0}.form-group{display:flex;flex-direction:column;gap:6px;flex:1;min-width:180px;position:relative}.area-select-group{flex:2;min-width:320px}.form-group label{font-size:.875rem;font-weight:600;color:#475569}.form-group small{font-size:.75rem;color:#94a3b8;position:absolute;bottom:-20px;left:0;white-space:nowrap}.multi-select-container{position:relative}.tags-input-area{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border:2px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;transition:all .2s ease;min-height:48px;box-sizing:border-box}.tags-input-area:hover{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.multi-select-container.is-open .tags-input-area{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f626}.selected-tags{display:flex;flex-wrap:wrap;gap:6px;flex:1}.tag{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-radius:20px;font-size:.8rem;font-weight:500;animation:tagIn .2s ease}@keyframes tagIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.tag-icon{font-size:.75rem}.tag-remove{display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:#ffffff40;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1rem;line-height:1;transition:background .2s}.tag-remove:hover{background:#fff6}.placeholder{color:#94a3b8;font-size:.9rem}.dropdown-arrow{color:#64748b;transition:transform .2s ease}.multi-select-container.is-open .dropdown-arrow{transform:rotate(180deg)}.dropdown-panel{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000026;z-index:1000;border:1px solid #e2e8f0;overflow:hidden;animation:dropdownIn .2s ease}@keyframes dropdownIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.search-wrapper{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid #f1f5f9;background:#fafbfc}.search-icon{font-size:1rem}.search-input{flex:1;border:none;background:transparent;font-size:.9rem;color:#334155;outline:none}.search-input::placeholder{color:#a0aec0}.quick-actions{display:flex;gap:8px;padding:10px 14px;border-bottom:1px solid #f1f5f9;background:#fafbfc}.action-btn{flex:1;padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#475569;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.action-btn:hover{background:#3b82f6;color:#fff;border-color:#3b82f6}.action-btn.action-clear:hover{background:#ef4444;border-color:#ef4444}.options-list{max-height:200px;overflow-y:auto;padding:8px 0}.option-item{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;transition:background .15s}.option-item:hover{background:#f1f5f9}.option-item.is-selected{background:#eff6ff}.checkbox-input{display:none}.checkbox-custom{width:20px;height:20px;border:2px solid #d1d5db;border-radius:6px;position:relative;transition:all .2s}.option-item.is-selected .checkbox-custom{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#3b82f6}.option-item.is-selected .checkbox-custom:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:.7rem;font-weight:700}.option-label{color:#334155;font-size:.9rem}.no-results{padding:20px;text-align:center;color:#94a3b8;font-size:.9rem}.input-control{padding:12px 14px;border:1px solid #d1d5db;border-radius:10px;min-width:150px;background-color:#fff;color:#374151;font-size:.95rem;transition:all .2s ease;height:48px;box-sizing:border-box}.input-control:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1a}.btn-view{padding:12px 28px;background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;border:none;border-radius:10px;cursor:pointer;height:48px;font-weight:600;font-size:.95rem;text-transform:uppercase;letter-spacing:.5px;transition:all .3s ease;box-shadow:0 4px 6px #2563eb40;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center}.btn-view:hover{background:linear-gradient(135deg,#1d4ed8,#2563eb);transform:translateY(-2px);box-shadow:0 6px 12px #2563eb59}.btn-view:active{transform:translateY(0)}.chart-section{height:400px;padding:24px;background:linear-gradient(180deg,#fff,#fafbfc);display:flex;flex-direction:column}.chart-container{flex:1;position:relative;min-height:0;width:100%}.data-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:16px;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.data-table th{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#475569;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;padding:14px 16px;text-align:center;border-bottom:2px solid #d1d5db}.data-table td{padding:14px 16px;text-align:center;color:#334155;background-color:#fff;border-bottom:1px solid #f1f5f9;font-size:.95rem}.data-table tr:hover td{background-color:#f8fafc}.data-table tr:last-child td{border-bottom:none}.no-data{text-align:center;color:#64748b;margin-top:40px;padding:60px 20px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:16px;border:2px dashed #d1d5db}.no-data p{font-size:1.1rem;font-weight:500}@media(max-width:768px){.container{padding:16px}.filter-section{flex-direction:column}.form-group,.btn-view{width:100%}h1{font-size:1.5rem}}
