/* Custom styles for Nextract - Dark Matte Theme */

/* Ensure body and html have proper dark background */
html, body {
    background-color: #111827;
    min-height: 100vh;
    margin: 0;
    padding: 0;
}

/* Ensure main container extends full height */
.h-screen {
    min-height: 100vh !important;
}

.fade-in {
    animation: fadeIn 0.3s ease-in;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.card-hover {
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
    background: rgba(31, 41, 55, 0.8);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(75, 85, 99, 0.3);
}

.card-hover:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 25px -3px rgba(0, 0, 0, 0.4), 0 4px 6px -2px rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(75, 85, 99, 0.5);
}

.btn-primary {
    background-color: rgb(55, 65, 81);
    color: rgb(243, 244, 246);
    font-weight: bold;
    padding: 8px 16px;
    border-radius: 8px;
    border: none;
    outline: none;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3);
}

.btn-primary:hover {
    background-color: rgb(75, 85, 99);
}

.btn-primary:focus {
    box-shadow: 0 0 0 2px rgba(107, 114, 128, 0.5);
}

.btn-secondary {
    background-color: rgb(31, 41, 55);
    color: rgb(209, 213, 219);
    font-weight: bold;
    padding: 8px 16px;
    border-radius: 8px;
    border: 1px solid rgba(75, 85, 99, 0.3);
    outline: none;
    cursor: pointer;
    transition: all 0.2s ease;
}

.btn-secondary:hover {
    background-color: rgb(55, 65, 81);
}

.btn-secondary:focus {
    box-shadow: 0 0 0 2px rgba(75, 85, 99, 0.5);
}

.btn-danger {
    background-color: rgb(127, 29, 29);
    color: rgb(254, 226, 226);
    font-weight: bold;
    padding: 8px 16px;
    border-radius: 8px;
    border: none;
    outline: none;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3);
}

.btn-danger:hover {
    background-color: rgb(153, 27, 27);
}

.btn-danger:focus {
    box-shadow: 0 0 0 2px rgba(185, 28, 28, 0.5);
}

.input-field {
    width: 100%;
    padding: 12px 16px;
    background-color: rgba(17, 24, 39, 0.9);
    border: 1px solid rgba(75, 85, 99, 0.6);
    border-radius: 12px;
    color: #ffffff;
    font-size: 14px;
    outline: none;
    transition: all 0.3s ease;
    backdrop-filter: blur(15px);
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);
}

.input-field::placeholder {
    color: rgba(156, 163, 175, 0.8);
}

.input-field:focus {
    border-color: rgba(59, 130, 246, 0.6);
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.3), inset 0 2px 4px rgba(0, 0, 0, 0.2);
}

.alert-error {
    @apply bg-red-900 bg-opacity-50 border border-red-600 text-red-200 px-4 py-3 rounded-lg mb-4;
    backdrop-filter: blur(10px);
}

.alert-success {
    @apply bg-green-900 bg-opacity-50 border border-green-600 text-green-200 px-4 py-3 rounded-lg mb-4;
    backdrop-filter: blur(10px);
}

.alert-warning {
    @apply bg-yellow-900 bg-opacity-50 border border-yellow-600 text-yellow-200 px-4 py-3 rounded-lg mb-4;
    backdrop-filter: blur(10px);
}

.matte-card {
    background: rgba(31, 41, 55, 0.8);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(75, 85, 99, 0.3);
}

.matte-card-dark {
    background: rgba(17, 24, 39, 0.9);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(55, 65, 81, 0.3);
}