@charset "UTF-8";*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0;padding:0;background:#f5f5f5}html,body{height:100%}button{font-family:inherit}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.ml-0{margin-left:0}.mr-0{margin-right:0}.mx-0{margin-left:0;margin-right:0}.my-0{margin-top:0;margin-bottom:0}.m-0{margin:0}.mt-1{margin-top:.5rem}.mb-1{margin-bottom:.5rem}.ml-1{margin-left:.5rem}.mr-1{margin-right:.5rem}.mx-1{margin-left:.5rem;margin-right:.5rem}.my-1{margin-top:.5rem;margin-bottom:.5rem}.m-1{margin:.5rem}.mt-2{margin-top:1rem}.mb-2{margin-bottom:1rem}.ml-2{margin-left:1rem}.mr-2{margin-right:1rem}.mx-2{margin-left:1rem;margin-right:1rem}.my-2{margin-top:1rem;margin-bottom:1rem}.m-2{margin:1rem}.mt-3{margin-top:1.5rem}.mb-3{margin-bottom:1.5rem}.ml-3{margin-left:1.5rem}.mr-3{margin-right:1.5rem}.mx-3{margin-left:1.5rem;margin-right:1.5rem}.my-3{margin-top:1.5rem;margin-bottom:1.5rem}.m-3{margin:1.5rem}.mt-4{margin-top:2rem}.mb-4{margin-bottom:2rem}.ml-4{margin-left:2rem}.mr-4{margin-right:2rem}.mx-4{margin-left:2rem;margin-right:2rem}.my-4{margin-top:2rem;margin-bottom:2rem}.m-4{margin:2rem}.mt-5{margin-top:3rem}.mb-5{margin-bottom:3rem}.ml-5{margin-left:3rem}.mr-5{margin-right:3rem}.mx-5{margin-left:3rem;margin-right:3rem}.my-5{margin-top:3rem;margin-bottom:3rem}.m-5{margin:3rem}.pt-0{padding-top:0}.pb-0{padding-bottom:0}.pl-0{padding-left:0}.pr-0{padding-right:0}.px-0{padding-left:0;padding-right:0}.py-0{padding-top:0;padding-bottom:0}.p-0{padding:0}.pt-1{padding-top:.5rem}.pb-1{padding-bottom:.5rem}.pl-1{padding-left:.5rem}.pr-1{padding-right:.5rem}.px-1{padding-left:.5rem;padding-right:.5rem}.py-1{padding-top:.5rem;padding-bottom:.5rem}.p-1{padding:.5rem}.pt-2{padding-top:1rem}.pb-2{padding-bottom:1rem}.pl-2{padding-left:1rem}.pr-2{padding-right:1rem}.px-2{padding-left:1rem;padding-right:1rem}.py-2{padding-top:1rem;padding-bottom:1rem}.p-2{padding:1rem}.pt-3{padding-top:1.5rem}.pb-3{padding-bottom:1.5rem}.pl-3{padding-left:1.5rem}.pr-3{padding-right:1.5rem}.px-3{padding-left:1.5rem;padding-right:1.5rem}.py-3{padding-top:1.5rem;padding-bottom:1.5rem}.p-3{padding:1.5rem}.pt-4{padding-top:2rem}.pb-4{padding-bottom:2rem}.pl-4{padding-left:2rem}.pr-4{padding-right:2rem}.px-4{padding-left:2rem;padding-right:2rem}.py-4{padding-top:2rem;padding-bottom:2rem}.p-4{padding:2rem}.pt-5{padding-top:3rem}.pb-5{padding-bottom:3rem}.pl-5{padding-left:3rem}.pr-5{padding-right:3rem}.px-5{padding-left:3rem;padding-right:3rem}.py-5{padding-top:3rem;padding-bottom:3rem}.p-5{padding:3rem}.d-none{display:none}.d-block{display:block}.d-flex{display:flex}.d-grid{display:grid}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.align-items-center{align-items:center}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.w-100{width:100%}.w-75{width:75%}.w-50{width:50%}.w-25{width:25%}.h-100{height:100%}.h-75{height:75%}.h-50{height:50%}.h-25{height:25%}.dashboard-section{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:30px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid #e0e0e0}.section-header h2{margin:0;font-size:20px;font-weight:600;color:#333;display:flex;align-items:center;gap:8px}.section-header h2 .section-icon{font-size:24px}.btn-refresh{padding:10px 20px;background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s ease;box-shadow:0 2px 8px #2196f34d}.btn-refresh:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #2196f366}.btn-refresh:active:not(:disabled){transform:translateY(0)}.btn-refresh:disabled{background:#ccc;cursor:not-allowed;box-shadow:none}.stats-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:20px}.stat-card{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:20px;display:flex;align-items:center;gap:20px;border-left:4px solid transparent;min-height:100px;transition:transform .3s ease,box-shadow .3s ease}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.stat-card .stat-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;font-size:28px;flex-shrink:0}.stat-card .stat-content{flex:1;min-width:0}.stat-card .stat-content h3{margin:0 0 4px;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.stat-card .stat-content .stat-number{margin:0;font-size:32px;font-weight:700;color:#333;line-height:1.2}.stat-card .stat-content .stat-percentage{margin:4px 0 0;font-size:14px;font-weight:500;color:#999}.stat-card .stat-content .stat-desc{margin:4px 0 0;font-size:12px;color:#999}.stat-card.blue{border-left-color:#2196f3}.stat-card.green{border-left-color:#4caf50}.stat-card.orange{border-left-color:#ff9800}.stat-card.red{border-left-color:#f44336}.stat-card.purple{border-left-color:#9c27b0}.stat-card.yellow{border-left-color:#ffc107d9}.stat-card.teal{border-left-color:#009688}.stat-card.grey{border-left-color:#999}.chart-container{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:30px;height:400px;margin-top:20px}.chart-container.hidden{display:none}.chart-container canvas{max-width:100%;max-height:100%}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;background:#fff;border-radius:12px}.loading-container .spinner{width:48px;height:48px;border:4px solid #e0e0e0;border-top-color:#2196f3;border-radius:50%;animation:spin 1s linear infinite}.loading-container p{margin-top:20px;color:#666;font-size:14px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-container{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:30px;text-align:center;border-left:4px solid #f44336}.error-container p{color:#f44336;font-size:16px;margin-bottom:20px}.error-container button{padding:10px 24px;background:#f44336;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:background .3s ease}.error-container button:hover{background:#d32f2f}.no-data-container{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:30px;text-align:center;color:#999}.no-data-container p{margin:0;font-size:16px}.last-update{text-align:right;margin-top:12px}.last-update small{font-size:12px;color:#999}.legend-box{background:#f8f9fb;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:20px;margin-top:20px}.legend-box h3{margin:0 0 12px;font-size:16px;font-weight:600;color:#333;display:flex;align-items:center;gap:8px}.legend-box ul{list-style:none;padding:0;margin:0}.legend-box ul li{padding:6px 0;font-size:14px;color:#666;line-height:1.5}.legend-box ul li strong{color:#333}.legend-box ul li:before{content:"\2022";color:#2196f3;font-weight:700;margin-right:8px}@media (max-width: 768px){.dashboard-section{padding:20px}.section-header{flex-direction:column;gap:12px;text-align:center}.section-header h2{font-size:18px}.stats-cards{grid-template-columns:1fr}.stat-card .stat-content .stat-number{font-size:28px}.chart-container{height:300px;padding:20px}}.header-controls{display:flex;align-items:flex-start;gap:15px;position:relative;z-index:10}.quarter-select{padding:10px 15px;font-size:14px;font-weight:500;border:2px solid #e0e0e0;border-radius:8px;background-color:#fff;color:#333;cursor:pointer;transition:all .3s ease;outline:none;min-width:200px}.quarter-select:hover:not(:disabled){border-color:#2196f3;box-shadow:0 2px 8px #2196f333}.quarter-select:focus{border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a}.quarter-select:disabled{opacity:.5;cursor:not-allowed;background-color:#f5f5f5}.quarter-select option{padding:10px}@media (max-width: 768px){.header-controls{flex-direction:column;align-items:flex-start;gap:10px}.quarter-select{width:100%;min-width:unset}.period-summary{flex-direction:column;align-items:flex-start;margin-left:0;width:100%}.period-summary .period-badges{flex-wrap:wrap}}
