/* ATC Fall Conference 2025 - Custom Design CSS */
/* Corporate Blue Color Overrides with !important for DaisyUI */

/* Primary Button Overrides */
.btn-primary {
    background-color: #003366 !important;
    border-color: #003366 !important;
    color: white !important;
}

.btn-primary:hover {
    background-color: #002244 !important;
    border-color: #002244 !important;
    color: white !important;
}

.btn-primary:focus {
    background-color: #002244 !important;
    border-color: #002244 !important;
    color: white !important;
}

.btn-primary:active {
    background-color: #001122 !important;
    border-color: #001122 !important;
    color: white !important;
}

/* Secondary Button Overrides */
.btn-secondary {
    background-color: #5F7E9E !important;
    border-color: #5F7E9E !important;
    color: white !important;
}

.btn-secondary:hover {
    background-color: #4A6B8A !important;
    border-color: #4A6B8A !important;
    color: white !important;
}

/* Accent Button Overrides */
.btn-accent {
    background-color: #003366 !important;
    border-color: #003366 !important;
    color: white !important;
}

.btn-accent:hover {
    background-color: #002244 !important;
    border-color: #002244 !important;
    color: white !important;
}

/* Badge Overrides */
.badge-primary {
    background-color: #003366 !important;
    border-color: #003366 !important;
    color: white !important;
}

.badge-secondary {
    background-color: #5F7E9E !important;
    border-color: #5F7E9E !important;
    color: white !important;
}

.badge-accent {
    background-color: #003366 !important;
    border-color: #003366 !important;
    color: white !important;
}

/* Label Overrides */
.label-primary {
    background-color: #003366 !important;
    color: white !important;
}

.label-secondary {
    background-color: #5F7E9E !important;
    color: white !important;
}

.label-accent {
    background-color: #003366 !important;
    color: white !important;
}

/* Input Overrides */
.input {
    border-color: #DDDDDD !important;
}

.input:focus {
    border-color: #003366 !important;
    outline: 2px solid #003366 !important;
    outline-offset: 2px !important;
}

.input:hover {
    border-color: #003366 !important;
}

.textarea {
    border-color: #DDDDDD !important;
}

.textarea:focus {
    border-color: #003366 !important;
    outline: 2px solid #003366 !important;
    outline-offset: 2px !important;
}

.textarea:hover {
    border-color: #003366 !important;
}

.select {
    border-color: #DDDDDD !important;
}

.select:focus {
    border-color: #003366 !important;
    outline: 2px solid #003366 !important;
    outline-offset: 2px !important;
}

.select:hover {
    border-color: #003366 !important;
}

/* Checkbox and Radio Overrides */
.checkbox {
    border-color: #003366 !important;
}

.checkbox:checked {
    background-color: #003366 !important;
    border-color: #003366 !important;
}

.checkbox:focus {
    border-color: #003366 !important;
    outline: 2px solid #003366 !important;
    outline-offset: 2px !important;
}

.radio {
    border-color: #003366 !important;
}

.radio:checked {
    background-color: #003366 !important;
    border-color: #003366 !important;
}

.radio:focus {
    border-color: #003366 !important;
    outline: 2px solid #003366 !important;
    outline-offset: 2px !important;
}

.radio-primary {
    border-color: #003366 !important;
}

.radio-primary:checked {
    background-color: #003366 !important;
    border-color: #003366 !important;
}

.checkbox-primary {
    border-color: #003366 !important;
}

.checkbox-primary:checked {
    background-color: #003366 !important;
    border-color: #003366 !important;
}

/* Toggle Overrides */
.toggle {
    border-color: #003366 !important;
}

.toggle:checked {
    background-color: #003366 !important;
    border-color: #003366 !important;
}

.toggle:focus {
    border-color: #003366 !important;
    outline: 2px solid #003366 !important;
    outline-offset: 2px !important;
}

/* Hover states for form elements */
.radio:hover,
.checkbox:hover,
.toggle:hover {
    border-color: #002244 !important;
}

.radio-primary:hover,
.checkbox-primary:hover {
    border-color: #002244 !important;
}

/* Progress Bar Overrides */
.progress-primary {
    background-color: #003366 !important;
}

.progress-secondary {
    background-color: #5F7E9E !important;
}

/* Alert Overrides */
.alert-info {
    background-color: #E6F3FF !important;
    border-color: #003366 !important;
    color: #003366 !important;
}

.alert-success {
    background-color: #E6F7E6 !important;
    border-color: #28a745 !important;
    color: #155724 !important;
}

.alert-warning {
    background-color: #FFF3CD !important;
    border-color: #ffc107 !important;
    color: #856404 !important;
}

.alert-error {
    background-color: #F8D7DA !important;
    border-color: #dc3545 !important;
    color: #721c24 !important;
}

/* Tab Overrides */
.tab-active {
    background-color: #003366 !important;
    color: white !important;
}

.tab:hover {
    background-color: #E6F3FF !important;
    color: #003366 !important;
}

/* Table Overrides */
.table-zebra tbody tr:nth-child(even) {
    background-color: #F8F9FA !important;
}

.table th {
    background-color: #003366 !important;
    color: white !important;
}

/* Modal Overrides */
.modal-box {
    border: 2px solid #003366 !important;
}

/* Dropdown Overrides */
.dropdown-content {
    border: 1px solid #003366 !important;
}

/* Menu Overrides */
.menu li > a:hover {
    background-color: #E6F3FF !important;
    color: #003366 !important;
}

.menu li > a.active {
    background-color: #003366 !important;
    color: white !important;
}

/* Stat Overrides */
.stat-title {
    color: #003366 !important;
}

.stat-value {
    color: #003366 !important;
}

/* Card Overrides */
.card-title {
    color: #003366 !important;
}

/* Navbar Overrides */
.navbar {
    background-color: #003366 !important;
    color: white !important;
}

.navbar-brand {
    color: white !important;
}

.navbar-nav .nav-link {
    color: white !important;
}

.navbar-nav .nav-link:hover {
    color: #CD9E0C !important;
}

/* Footer Overrides */
.footer {
    background-color: #003366 !important;
    color: white !important;
}

/* Link Overrides */
.link-primary {
    color: #003366 !important;
}

.link-primary:hover {
    color: #002244 !important;
}

.link-secondary {
    color: #5F7E9E !important;
}

.link-secondary:hover {
    color: #4A6B8A !important;
}

/* Divider Overrides */
.divider:before,
.divider:after {
    background-color: #003366 !important;
}

/* Loading Overrides */
.loading {
    border-top-color: #003366 !important;
}

/* Breadcrumb Overrides */
.breadcrumbs > li > a {
    color: #003366 !important;
}

.breadcrumbs > li > a:hover {
    color: #002244 !important;
}

/* Tooltip Overrides */
.tooltip {
    background-color: #003366 !important;
    color: white !important;
}

/* Steps Overrides */
.step-primary {
    background-color: #003366 !important;
    color: white !important;
}

.step-secondary {
    background-color: #5F7E9E !important;
    color: white !important;
}

/* Carousel Overrides */
.carousel-item {
    border-color: #003366 !important;
}

/* Mask Overrides */
.mask {
    background-color: #003366 !important;
}

/* Rating Overrides */
.rating-primary {
    color: #003366 !important;
}

/* Swap Overrides */
.swap-active {
    color: #003366 !important;
}

/* Text Color Overrides */
.text-primary {
    color: #CD9E0C !important;
}

.text-secondary {
    color: #003366 !important;
}

.text-accent {
    color: #5F7E9E !important;
}

/* Background Color Overrides */
.bg-primary {
    background-color: #CD9E0C !important;
}

.bg-secondary {
    background-color: #003366 !important;
}

.bg-accent {
    background-color: #5F7E9E !important;
}

/* Border Color Overrides */
.border-primary {
    border-color: #CD9E0C !important;
}

.border-secondary {
    border-color: #003366 !important;
}

.border-accent {
    border-color: #5F7E9E !important;
}

/* Custom Corporate Styling */
.corporate-gradient {
    background: linear-gradient(135deg, #003366 0%, #5F7E9E 100%) !important;
}

.corporate-text-shadow {
    text-shadow: 2px 2px 4px rgba(0, 51, 102, 0.3) !important;
}

.corporate-box-shadow {
    box-shadow: 0 4px 20px rgba(0, 51, 102, 0.15) !important;
}

/* Responsive Touch-Friendly Elements */
@media (max-width: 768px) {
    .btn {
        min-height: 48px !important;
        min-width: 48px !important;
        padding: 12px 24px !important;
    }
    
    .input, .textarea, .select {
        min-height: 48px !important;
        font-size: 16px !important;
    }
    
    .checkbox, .radio {
        min-height: 20px !important;
        min-width: 20px !important;
    }
}

/* Animation Overrides */
@keyframes corporate-pulse {
    0%, 100% {
        background-color: #CD9E0C;
    }
    50% {
        background-color: #B8850A;
    }
}

.corporate-animate-pulse {
    animation: corporate-pulse 2s infinite !important;
}

/* Print Styles */
@media print {
    .btn-primary {
        background-color: #003366 !important;
        color: white !important;
        -webkit-print-color-adjust: exact !important;
    }
    
    .text-primary {
        color: #CD9E0C !important;
        -webkit-print-color-adjust: exact !important;
    }
    
    .text-secondary {
        color: #003366 !important;
        -webkit-print-color-adjust: exact !important;
    }
}

/* Focus Accessibility */
.btn:focus,
.input:focus,
.textarea:focus,
.select:focus {
    outline: 2px solid #003366 !important;
    outline-offset: 2px !important;
}

/* High Contrast Mode Support */
@media (prefers-contrast: high) {
    .btn-primary {
        background-color: #000000 !important;
        border-color: #000000 !important;
        color: #FFFFFF !important;
    }
    
    .text-primary {
        color: #000000 !important;
    }
    
    .text-secondary {
        color: #000000 !important;
    }
}

/* Step Indicator Overrides for Registration Process */
.step-primary {
    background-color: transparent !important;
    color: #003366 !important;
    border-color: #003366 !important;
}

.step-primary:before {
    background-color: #003366 !important;
    color: white !important;
    border-color: #003366 !important;
}

.step:before {
    color: #003366 !important;
    border-color: #003366 !important;
}

.step.step-primary:before {
    background-color: #003366 !important;
    color: white !important;
    border-color: #003366 !important;
}

/* Steps component overrides */
.steps .step:before {
    border-color: #003366 !important;
    color: #003366 !important;
}

.steps .step.step-primary:before {
    background-color: #003366 !important;
    border-color: #003366 !important;
    color: white !important;
}

.steps .step-primary {
    color: #003366 !important;
}

/* Specific step indicator overrides */
#step-indicator-1.step-primary,
#step-indicator-2.step-primary,
#step-indicator-3.step-primary {
    background-color: transparent !important;
    color: #003366 !important;
}

#step-indicator-1.step-primary:before,
#step-indicator-2.step-primary:before,
#step-indicator-3.step-primary:before {
    background-color: #003366 !important;
    color: white !important;
    border-color: #003366 !important;
}

/* Excel-like Table Styles */
.excel-table {
    border-collapse: collapse !important;
    width: 100% !important;
    border: 1px solid #003366 !important;
    font-size: 14px !important;
    background-color: white !important;
}

.excel-table th {
    background-color: #003366 !important;
    color: white !important;
    border: 1px solid #003366 !important;
    padding: 12px 8px !important;
    text-align: left !important;
    font-weight: 600 !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 10 !important;
    cursor: pointer !important;
    user-select: none !important;
}

.excel-table th:hover {
    background-color: #002244 !important;
}

.excel-table th.sortable:after {
    content: ' ⇅' !important;
    color: #CD9E0C !important;
    font-size: 12px !important;
}

.excel-table th.sort-asc:after {
    content: ' ▲' !important;
    color: #CD9E0C !important;
    font-size: 12px !important;
}

.excel-table th.sort-desc:after {
    content: ' ▼' !important;
    color: #CD9E0C !important;
    font-size: 12px !important;
}

.excel-table td {
    border: 1px solid #DDDDDD !important;
    padding: 8px !important;
    vertical-align: top !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 200px !important;
}

.excel-table td.truncate {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.excel-table td.max-w-32 {
    max-width: 128px !important;
}

.excel-table td.max-w-24 {
    max-width: 96px !important;
}

.excel-table tr:nth-child(even) {
    background-color: #F8F9FA !important;
}

.excel-table tr:hover {
    background-color: #E6F3FF !important;
}

.excel-table tr.selected {
    background-color: #CCE5FF !important;
}

.excel-table-container {
    max-height: 70vh !important;
    overflow: auto !important;
    border: 1px solid #003366 !important;
    border-radius: 4px !important;
}

.excel-toolbar {
    background-color: #F8F9FA !important;
    border: 1px solid #003366 !important;
    border-bottom: none !important;
    padding: 8px 12px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

.excel-toolbar .toolbar-section {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.excel-search-input {
    border: 1px solid #003366 !important;
    border-radius: 4px !important;
    padding: 6px 12px !important;
    font-size: 14px !important;
    min-width: 300px !important;
}

.excel-search-input:focus {
    outline: 2px solid #003366 !important;
    outline-offset: 2px !important;
}

.excel-filter-select {
    border: 1px solid #003366 !important;
    border-radius: 4px !important;
    padding: 6px 12px !important;
    font-size: 14px !important;
    background-color: white !important;
    min-width: 120px !important;
}

.excel-filter-select:focus {
    outline: 2px solid #003366 !important;
    outline-offset: 2px !important;
}

.excel-btn {
    background-color: #003366 !important;
    color: white !important;
    border: 1px solid #003366 !important;
    border-radius: 4px !important;
    padding: 6px 12px !important;
    font-size: 14px !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}

.excel-btn:hover {
    background-color: #002244 !important;
}

.excel-btn:disabled {
    background-color: #CCCCCC !important;
    border-color: #CCCCCC !important;
    color: #666666 !important;
    cursor: not-allowed !important;
}

.excel-btn-secondary {
    background-color: #5F7E9E !important;
    border-color: #5F7E9E !important;
}

.excel-btn-secondary:hover {
    background-color: #4A6B8A !important;
}

.excel-status-badge {
    padding: 4px 8px !important;
    border-radius: 12px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    text-align: center !important;
    min-width: 60px !important;
}

.excel-status-active {
    background-color: #28a745 !important;
    color: white !important;
}

.excel-status-inactive {
    background-color: #dc3545 !important;
    color: white !important;
}

.excel-status-paid {
    background-color: #28a745 !important;
    color: white !important;
}

.excel-status-unpaid {
    background-color: #dc3545 !important;
    color: white !important;
}

.excel-status-warning {
    background-color: #ffc107 !important;
    color: #212529 !important;
}

.excel-status-registered {
    background-color: #17a2b8 !important;
    color: white !important;
}

.excel-status-pending {
    background-color: #ffc107 !important;
    color: #212529 !important;
}

.excel-status-cancelled {
    background-color: #6c757d !important;
    color: white !important;
}

.excel-action-buttons {
    display: flex !important;
    gap: 4px !important;
}

.excel-action-btn {
    background: none !important;
    border: none !important;
    padding: 4px !important;
    cursor: pointer !important;
    border-radius: 4px !important;
    color: #003366 !important;
    font-size: 14px !important;
    transition: all 0.2s !important;
}

.excel-action-btn:hover {
    background-color: #E6F3FF !important;
    color: #002244 !important;
}

.excel-action-btn.danger:hover {
    background-color: #FFE6E6 !important;
    color: #dc3545 !important;
}

.excel-stats-bar {
    background-color: white !important;
    border: 1px solid #003366 !important;
    border-top: none !important;
    padding: 8px 12px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-size: 14px !important;
    color: #003366 !important;
}

.excel-loading {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 40px !important;
    font-size: 16px !important;
    color: #003366 !important;
}

.excel-loading[style*="display: none"] {
    display: none !important;
}

.excel-loading[style*="visibility: hidden"] {
    visibility: hidden !important;
}

.excel-no-data {
    text-align: center !important;
    padding: 40px !important;
    color: #666666 !important;
    font-size: 16px !important;
}

/* Responsive Excel Table */
@media (max-width: 768px) {
    .excel-table-container {
        max-height: 60vh !important;
    }
    
    .excel-toolbar {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    
    .excel-toolbar .toolbar-section {
        justify-content: center !important;
    }
    
    .excel-search-input {
        min-width: 100% !important;
    }
    
    .excel-table th,
    .excel-table td {
        padding: 6px 4px !important;
        font-size: 12px !important;
    }
    
    .excel-table td {
        max-width: 120px !important;
    }
}

#admin-sidebar-container {
    height: 100%;
}