body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}.container{max-width:1200px;margin:0 auto;padding:20px}.card{background:#fff;border-radius:8px;margin-bottom:20px;padding:20px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.btn{cursor:pointer;border:none;border-radius:4px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.btn-primary{color:#fff;background-color:#007bff}.btn-primary:hover{background-color:#0056b3}.btn-secondary{color:#fff;background-color:#6c757d}.btn-secondary:hover{background-color:#545b62}.btn-success{color:#fff;background-color:#28a745}.btn-success:hover{background-color:#1e7e34}.btn-danger{color:#fff;background-color:#dc3545}.btn-danger:hover{background-color:#c82333}.form-group{margin-bottom:15px}.form-label{color:#333;margin-bottom:5px;font-weight:500;display:block}.form-control{border:1px solid #ddd;border-radius:4px;width:100%;padding:8px 12px;font-size:14px}.form-control:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 2px rgba(0,123,255,.25)}.table{border-collapse:collapse;width:100%;margin-top:20px}.table th,.table td{text-align:left;border-bottom:1px solid #ddd;padding:12px}.table th{color:#333;background-color:#f8f9fa;font-weight:600}.table tbody tr:hover{background-color:#f8f9fa}.alert{border-radius:4px;margin-bottom:20px;padding:12px 16px}.alert-success{color:#155724;background-color:#d4edda;border:1px solid #c3e6cb}.alert-danger{color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb}.alert-info{color:#0c5460;background-color:#d1ecf1;border:1px solid #bee5eb}.loading{text-align:center;padding:40px}.spinner{border:4px solid #f3f3f3;border-top-color:#007bff;border-radius:50%;width:40px;height:40px;margin:0 auto;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.text-center{text-align:center}.text-right{text-align:right}.mb-3{margin-bottom:1rem}.mt-3{margin-top:1rem}.d-flex{display:flex}.justify-content-between{justify-content:space-between}.align-items-center{align-items:center}.gap-2{gap:.5rem}