*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}.app{min-height:100vh}.navbar{background-color:#1a1a1a;color:#fff;padding:1rem 2rem;box-shadow:0 2px 4px #0000001a}.navbar h1{font-size:1.5rem;font-weight:600}.nav-links{display:flex;gap:2rem;margin-top:.5rem}.nav-links a{color:#aaa;text-decoration:none;transition:color .2s}.nav-links a:hover,.nav-links a.active{color:#fff}.container{max-width:1400px;margin:0 auto;padding:2rem}.card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;margin-bottom:1.5rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.stat-card h3{font-size:.875rem;color:#666;text-transform:uppercase;font-weight:600;margin-bottom:.5rem}.stat-card .value{font-size:2rem;font-weight:700;color:#1a1a1a}.upload-zone{border:2px dashed #ccc;border-radius:8px;padding:3rem;text-align:center;cursor:pointer;transition:all .3s;background:#fafafa}.upload-zone:hover,.upload-zone.active{border-color:#4caf50;background:#f0fff0}.upload-zone.active{border-color:#2196f3;background:#e3f2fd}.upload-icon{font-size:3rem;color:#999;margin-bottom:1rem}.btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .2s;font-weight:500}.btn-primary{background-color:#4caf50;color:#fff}.btn-primary:hover{background-color:#45a049}.btn-secondary{background-color:#2196f3;color:#fff}.btn-secondary:hover{background-color:#0b7dda}.btn:disabled{opacity:.5;cursor:not-allowed}.table-container{overflow-x:auto;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}table{width:100%;border-collapse:collapse}th{background-color:#f8f8f8;padding:1rem;text-align:left;font-weight:600;border-bottom:2px solid #e0e0e0;cursor:pointer;-webkit-user-select:none;user-select:none}th:hover{background-color:#efefef}td{padding:1rem;border-bottom:1px solid #e0e0e0}tr:hover{background-color:#fafafa}.filters{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.filter-input{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;min-width:200px}.pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:1.5rem;padding:1rem}.pagination button{padding:.5rem 1rem;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer}.pagination button:hover:not(:disabled){background-color:#f0f0f0}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination .page-info{margin:0 1rem;font-weight:500}.loading{text-align:center;padding:3rem;color:#666}.error{background-color:#ffebee;color:#c62828;padding:1rem;border-radius:4px;margin-bottom:1rem}.success{background-color:#e8f5e9;color:#2e7d32;padding:1rem;border-radius:4px;margin-bottom:1rem}.checkbox-group{display:flex;align-items:center;gap:.5rem;margin:1rem 0}.progress-bar{width:100%;height:8px;background-color:#e0e0e0;border-radius:4px;overflow:hidden;margin:1rem 0}.progress-fill{height:100%;background-color:#4caf50;transition:width .3s ease}
