/* Custom overrides on top of Tailwind CDN */

/* Smooth hover for table rows */
.hover\:bg-gray-750:hover {
    background-color: #1f2937; /* between gray-800 and gray-700 */
}

.bg-gray-850 {
    background-color: #1a2232;
}

/* Flash message auto-fade */
.flash-msg {
    animation: fadeInDown 0.3s ease;
}

@keyframes fadeInDown {
    from { opacity: 0; transform: translateY(-8px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Mobile: full-width table becomes scrollable card list */
@media (max-width: 640px) {
    .responsive-table thead {
        display: none;
    }
    .responsive-table tr {
        display: block;
        border-bottom: 1px solid #374151;
        padding: 0.75rem 1rem;
    }
    .responsive-table td {
        display: flex;
        justify-content: space-between;
        padding: 0.15rem 0;
        border: none;
    }
    .responsive-table td::before {
        content: attr(data-label);
        font-weight: 600;
        color: #9ca3af;
        font-size: 0.7rem;
        text-transform: uppercase;
        letter-spacing: 0.05em;
    }
}

/* Focus visible ring for accessibility */
:focus-visible {
    outline: 2px solid #6366f1;
    outline-offset: 2px;
}

/* Scrollbar style for dark mode */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
::-webkit-scrollbar-track {
    background: #1f2937;
}
::-webkit-scrollbar-thumb {
    background: #4b5563;
    border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
    background: #6b7280;
}

/* Number inputs: remove spinner on Firefox */
input[type=number] {
    -moz-appearance: textfield;
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
