.dashboard-gauge{background:#fff;border:1px solid #e8e8e8;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;height:100%;padding:16px;transition:all .3s ease}.dashboard-gauge:hover{border-color:#3498db;box-shadow:0 4px 16px #0000001f;transform:translateY(-4px)}.gauge-title{color:#666;font-size:.875rem;font-weight:600;margin-bottom:12px;min-height:40px;text-align:center}.gauge-circle-container,.gauge-title{align-items:center;display:flex;justify-content:center}.gauge-circle-container{margin:12px 0;min-height:120px;position:relative}.gauge-circle{position:relative}.gauge-circle-bg{fill:none;stroke:#f0f0f0}.gauge-circle-fill{fill:none;stroke-linecap:round;transition:stroke-dashoffset 1.2s ease-in-out}.gauge-value{left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.gauge-number{color:inherit;font-size:2rem;font-weight:700;line-height:1}.gauge-max{color:#999;font-size:.875rem;margin-top:2px}.gauge-rating-label{margin:8px 0 12px;text-align:center}.gauge-raw-data{border-top:1px solid #e8e8e8;margin-top:auto;padding-top:12px}.raw-data-title{color:#999;font-size:.75rem;margin-bottom:6px;text-align:left}.raw-data-row{align-items:center;display:flex;font-size:.75rem;justify-content:space-between;margin-bottom:4px}.raw-data-name{color:#666;flex-shrink:0}.raw-data-value{color:#333;flex-shrink:0;font-weight:500;margin-left:8px;text-align:right}.main-rating-gauge{background:linear-gradient(135deg,#f8f9fa,#fff);border:2px solid #e3f2fd;padding:24px}.main-rating-gauge .gauge-title{color:#2c3e50;font-size:1rem;margin-bottom:16px}.main-rating-gauge .gauge-circle-container{min-height:160px}.main-rating-gauge .gauge-number{font-size:3rem}.main-rating-gauge .gauge-max{font-size:1rem}.rating-excellent{color:#4caf50}.rating-excellent .gauge-circle-fill{stroke:#4caf50}.rating-good{color:#8bc34a}.rating-good .gauge-circle-fill{stroke:#8bc34a}.rating-fair{color:#ff9800}.rating-fair .gauge-circle-fill{stroke:#ff9800}.rating-poor{color:#f44336}.rating-poor .gauge-circle-fill{stroke:#f44336}.rating-warning{color:#ff5722}.rating-warning .gauge-circle-fill{stroke:#ff5722}.vehicle-gauge-small{height:36px;position:relative;width:36px}.vehicle-gauge-small .gauge-circle-bg{stroke:#f0f0f0;stroke-width:4}.vehicle-gauge-small .gauge-circle-fill{stroke-width:4}.vehicle-gauge-small .gauge-value{font-size:.7rem;font-weight:700}@media (max-width:1200px){.gauge-number{font-size:1.8rem}.main-rating-gauge .gauge-number{font-size:2.5rem}.gauge-circle-container{min-height:110px}}@media (max-width:768px){.gauge-number{font-size:1.6rem}.main-rating-gauge .gauge-number{font-size:2rem}.gauge-circle-container{min-height:100px}.raw-data-row{font-size:.7rem}}@media (max-width:480px){.dashboard-gauge{padding:12px}.gauge-number{font-size:1.4rem}.main-rating-gauge .gauge-number{font-size:1.8rem}.gauge-title{font-size:.8rem;min-height:36px}}.app-container{display:flex;flex-direction:column;min-height:100vh}.app-header{background:linear-gradient(135deg,#2c3e50,#3498db);box-shadow:0 2px 10px #0000001a;color:#fff;padding:1rem 2rem}.app-main{flex:1 1;margin:0 auto;max-width:1400px;padding:2rem;width:100%}.app-footer{background:#f8f9fa;border-top:1px solid #e9ecef;color:#6c757d;padding:1rem 2rem;text-align:center}.card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:1.5rem;padding:1.5rem;transition:transform .2s,box-shadow .2s}.card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.card-title{color:#2c3e50;font-size:1.25rem;font-weight:600;margin-bottom:1rem}.btn{align-items:center;border:none;border-radius:4px;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;gap:.5rem;justify-content:center;padding:.5rem 1rem;transition:all .2s}.btn-primary{background:#3498db;color:#fff}.btn-primary:hover{background:#2980b9}.btn-secondary{background:#f8f9fa;border:1px solid #dee2e6;color:#2c3e50}.btn-secondary:hover{background:#e9ecef}.btn-danger{background:#e74c3c;color:#fff}.btn-danger:hover{background:#c0392b}.form-group{margin-bottom:1rem}.form-label{color:#495057;display:block;font-weight:500;margin-bottom:.5rem}.form-control{border:1px solid #ced4da;border-radius:4px;font-size:1rem;padding:.5rem .75rem;transition:border-color .2s;width:100%}.form-control:focus{border-color:#3498db;outline:none}.form-error{color:#e74c3c;font-size:.875rem;margin-top:.25rem}.table-container{border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow-x:auto}.table{background:#fff;border-collapse:collapse;width:100%}.table th{background:#f8f9fa;border-bottom:2px solid #dee2e6;color:#495057;font-weight:600;padding:.75rem 1rem;text-align:left;white-space:nowrap}.table td{border-bottom:1px solid #e9ecef;padding:.75rem 1rem;vertical-align:middle}.table tr:hover{background:#f8f9fa}.loader{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;display:inline-block;height:50px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loader-container{align-items:center;display:flex;justify-content:center;min-height:200px}.alert{border:1px solid #0000;border-radius:4px;margin-bottom:1rem;padding:1rem}.alert-success{background-color:#d4edda;border-color:#c3e6cb;color:#155724}.alert-error{background-color:#f8d7da;border-color:#f5c6cb;color:#721c24}.alert-warning{background-color:#fff3cd;border-color:#ffeaa7;color:#856404}.alert-info{background-color:#d1ecf1;border-color:#bee5eb;color:#0c5460}.modal-overlay{align-items:center;animation:fadeIn .3s;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:slideIn .3s;background:#fff;border-radius:8px;box-shadow:0 10px 40px #0000004d;max-height:90%;max-width:90%;overflow:auto}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mt-5{margin-top:3rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mb-5{margin-bottom:3rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:3rem}@media (max-width:768px){.app-header,.app-main,.card{padding:1rem}.table td,.table th{padding:.5rem}}
/*# sourceMappingURL=main.6568f49b.css.map*/