.btn-primary{align-items:center;background-color:#2563eb;border:1px solid transparent;border-radius:.375rem;color:#fff;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .15s ease-in-out}.btn-primary:hover{background-color:#1d4ed8}.btn-primary:focus{box-shadow:0 0 0 2px #3b82f6;outline:none}.btn-primary:disabled{cursor:not-allowed;opacity:.5}.btn-secondary{align-items:center;background-color:#4b5563;border:1px solid transparent;border-radius:.375rem;color:#fff;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .15s ease-in-out}.btn-secondary:hover{background-color:#374151}.btn-secondary:focus{box-shadow:0 0 0 2px #6b7280;outline:none}.btn-secondary:disabled{cursor:not-allowed;opacity:.5}.btn-outline{align-items:center;background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;color:#374151;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .15s ease-in-out}.btn-outline:hover{background-color:#f9fafb}.btn-outline:focus{box-shadow:0 0 0 2px #3b82f6;outline:none}.btn-outline:disabled{cursor:not-allowed;opacity:.5}.btn-danger-sm{align-items:center;background-color:#dc2626;border:1px solid transparent;border-radius:.375rem;color:#fff;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;padding:.5rem;transition:all .15s ease-in-out}.btn-danger-sm:hover{background-color:#b91c1c}.btn-danger-sm:focus{box-shadow:0 0 0 2px #ef4444;outline:none}.btn-sm{font-size:.75rem;padding:.375rem .75rem}.btn-lg{font-size:1rem;padding:.75rem 1.5rem}.tab-button{align-items:center;border-bottom:2px solid;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:4px;padding:1rem .25rem;transition:all .15s ease-in-out}.tab-active{border-bottom-color:#3b82f6;color:#2563eb}.tab-inactive{border-bottom-color:transparent;color:#6b7280}.tab-inactive:hover{border-bottom-color:#d1d5db;color:#374151}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{color:#374151;font-weight:500}.form-input,.form-label{display:block;font-size:.875rem}.form-input{border:1px solid #d1d5db;border-radius:.375rem;box-shadow:0 1px 2px #0000000d;height:50px;padding:.5rem .75rem;width:100%}.form-input::-moz-placeholder{color:#9ca3af}.form-input::placeholder{color:#9ca3af}.form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f6;outline:none}.form-select{border:1px solid #d1d5db;border-radius:.375rem;box-shadow:0 1px 2px #0000000d;cursor:pointer;display:block;font-size:.875rem;height:50px;padding:.5rem .75rem;width:100%}.form-select:focus{border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f6;outline:none}.form-textarea{border:1px solid #d1d5db;border-radius:.375rem;box-shadow:0 1px 2px #0000000d;display:block;font-size:.875rem;padding:.5rem .75rem;resize:vertical;width:100%}.form-textarea::-moz-placeholder{color:#9ca3af}.form-textarea::placeholder{color:#9ca3af}.form-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f6;outline:none}.admin-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.admin-card-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:between;margin-bottom:1rem;padding-bottom:1rem}.admin-card-title{color:#111827;font-size:1.125rem;font-weight:600}.admin-table{border:1px solid #e5e7eb;border-collapse:collapse;border-radius:.5rem;overflow:hidden;width:100%}.admin-table thead{background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.admin-table th{color:#111827;font-size:.875rem;font-weight:500;padding:1rem;text-align:left}.admin-table td{border-top:1px solid #e5e7eb;padding:1rem}.admin-table tbody tr:hover{background-color:#f9fafb}.status-active{color:#059669;font-weight:500}.status-inactive{color:#6b7280;font-weight:500}.status-pending{color:#d97706;font-weight:500}.status-error{color:#dc2626;font-weight:500}.badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.badge-primary{background-color:#dbeafe;color:#1e40af}.badge-success{background-color:#d1fae5;color:#065f46}.badge-warning{background-color:#fef3c7;color:#92400e}.badge-danger{background-color:#fee2e2;color:#991b1b}.badge-gray{background-color:#f3f4f6;color:#374151}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.loading-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.empty-state{background-color:#f9fafb;border-radius:.5rem;padding:3rem 1rem;text-align:center}.empty-state-icon{color:#9ca3af;height:3rem;margin:0 auto .5rem;width:3rem}.empty-state-title{color:#111827;font-size:.875rem;font-weight:500;margin-top:.5rem}.empty-state-description{color:#6b7280;font-size:.875rem;margin-top:.25rem}.modal-overlay{align-items:center;background-color:#00000080;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:1rem;position:fixed;z-index:50}.modal-content{background-color:#fff;border-radius:.5rem;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column;max-height:90vh;max-width:56rem;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem}.modal-title{color:#111827;font-size:1.125rem;font-weight:600}.modal-close{border-radius:9999px;padding:.5rem;transition:background-color .15s ease-in-out}.modal-close:hover{background-color:#f3f4f6}.modal-body{flex:1;overflow-y:auto;padding:1.5rem}@media(max-width:768px){.btn-sm{font-size:.75rem;padding:.25rem .5rem}.admin-card{padding:1rem}.admin-table td,.admin-table th{padding:.75rem}}.overlay{align-items:center;background-color:transparent;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;transition:all .2s ease-in-out;width:100%}.overlay:hover{background-color:#00000080}
