/**
 * ASGS Order of Merit - Custom CSS
 *
 * ASGS Branding and Custom Styles
 */

/* ASGS Brand Colors */
:root {
    --asgs-primary: #1a472a;
    --asgs-secondary: #22825e;
    --asgs-green-light: #56ba8f;
    --asgs-green-lighter: #dcf2e5;
}

/* Utility Classes */
.asgs-card {
    @apply bg-white rounded-lg shadow-md p-6;
}

.asgs-card-header {
    @apply text-xl font-semibold text-asgs-primary mb-4 pb-3 border-b border-gray-200;
}

.asgs-btn-primary {
    @apply bg-asgs-primary text-white px-4 py-2 rounded-md hover:bg-asgs-secondary transition font-medium;
}

.asgs-btn-secondary {
    @apply bg-gray-200 text-gray-700 px-4 py-2 rounded-md hover:bg-gray-300 transition font-medium;
}

.asgs-btn-danger {
    @apply bg-red-600 text-white px-4 py-2 rounded-md hover:bg-red-700 transition font-medium;
}

.asgs-input {
    @apply w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-asgs-secondary focus:border-transparent;
}

.asgs-label {
    @apply block text-sm font-medium text-gray-700 mb-1;
}

.asgs-table {
    @apply min-w-full divide-y divide-gray-200;
}

.asgs-table thead {
    @apply bg-gray-50;
}

.asgs-table th {
    @apply px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider;
}

.asgs-table td {
    @apply px-6 py-4 whitespace-nowrap text-sm text-gray-900;
}

.asgs-table tbody tr:hover {
    @apply bg-gray-50 cursor-pointer;
}

/* Badge Styles */
.asgs-badge {
    @apply inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium;
}

.asgs-badge-success {
    @apply bg-green-100 text-green-800;
}

.asgs-badge-warning {
    @apply bg-yellow-100 text-yellow-800;
}

.asgs-badge-danger {
    @apply bg-red-100 text-red-800;
}

.asgs-badge-info {
    @apply bg-blue-100 text-blue-800;
}

.asgs-badge-gray {
    @apply bg-gray-100 text-gray-800;
}

/* Alert Styles */
.asgs-alert {
    @apply p-4 rounded-md mb-4;
}

.asgs-alert-success {
    @apply bg-green-50 border-l-4 border-green-400 text-green-800;
}

.asgs-alert-error {
    @apply bg-red-50 border-l-4 border-red-400 text-red-800;
}

.asgs-alert-warning {
    @apply bg-yellow-50 border-l-4 border-yellow-400 text-yellow-800;
}

.asgs-alert-info {
    @apply bg-blue-50 border-l-4 border-blue-400 text-blue-800;
}

/* Tournament Type Badges */
.badge-strokeplay {
    @apply asgs-badge asgs-badge-info;
}

.badge-stableford {
    @apply asgs-badge asgs-badge-success;
}

/* Tournament Status Badges */
.badge-draft {
    @apply asgs-badge asgs-badge-gray;
}

.badge-upcoming {
    @apply asgs-badge asgs-badge-info;
}

.badge-completed {
    @apply asgs-badge asgs-badge-success;
}

.badge-archived {
    @apply asgs-badge asgs-badge-warning;
}

/* Verification Status Badges */
.badge-pending {
    @apply asgs-badge asgs-badge-warning;
}

.badge-verified {
    @apply asgs-badge asgs-badge-success;
}

.badge-disputed {
    @apply asgs-badge asgs-badge-danger;
}

/* Loading Spinner */
.asgs-spinner {
    @apply inline-block w-4 h-4 border-2 border-white border-t-transparent rounded-full animate-spin;
}

/* Empty State */
.asgs-empty-state {
    @apply text-center py-12 text-gray-500;
}

.asgs-empty-state-icon {
    @apply text-6xl mb-4 text-gray-300;
}

/* Pagination */
.asgs-pagination {
    @apply flex items-center justify-between border-t border-gray-200 px-4 py-3 sm:px-6;
}

.asgs-pagination-btn {
    @apply relative inline-flex items-center px-4 py-2 text-sm font-medium rounded-md border border-gray-300 bg-white text-gray-700 hover:bg-gray-50 disabled:opacity-50 disabled:cursor-not-allowed;
}

/* Form Grid */
.asgs-form-grid {
    @apply grid grid-cols-1 md:grid-cols-2 gap-6;
}

.asgs-form-group {
    @apply mb-4;
}

/* Stats Cards */
.asgs-stat-card {
    @apply bg-white rounded-lg shadow p-6;
}

.asgs-stat-value {
    @apply text-3xl font-bold text-asgs-primary;
}

.asgs-stat-label {
    @apply text-sm text-gray-500 mt-1;
}

/* Matrix View Styles */
[x-cloak] {
    display: none !important;
}

/* Sticky column shadow effect for matrix view */
.matrix-sticky-shadow {
    box-shadow: 2px 0 5px -2px rgba(0, 0, 0, 0.1);
}

/* Matrix cell highlighting */
.matrix-cell-participated {
    background-color: #fef3c7; /* yellow-100 */
    font-weight: 600;
}

.matrix-cell-empty {
    background-color: #f9fafb; /* gray-50 */
    color: #9ca3af; /* gray-400 */
}
