/* General Styles */
body {
    background: linear-gradient(to right, #0f2027, #203a43, #2c5364) !important;
    background-color: #0f2027 !important; /* Fallback */
    color: #fff !important;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    overflow-x: hidden;
    margin: 0;
}

/* Container */
.container, .container-fluid {
    animation: fadeIn 1s ease-in;
}

/* Navbar */
.navbar {
    background: rgba(255, 255, 255, 0.05);
    box-shadow: 0 0 20px rgba(0,0,0,0.5);
    padding: 1rem 2rem;
}
.navbar-brand {
    color: #fff !important;
}
.navbar-brand:hover {
    color: #a8dadc !important;
}
.nav-link {
    color: #a8dadc !important;
}
.nav-link:hover {
    color: #fff !important;
}
.navbar-toggler {
    border-color: rgba(255, 255, 255, 0.1);
}
.navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Sidebar */
.sidebar {
    background: rgba(255, 255, 255, 0.05);
    height: 100vh;
    padding: 2rem;
    box-shadow: 0 0 20px rgba(0,0,0,0.5);
    animation: slideUp 1s ease-in-out;
}
.sidebar h4 {
    color: #fff !important;
    margin-bottom: 2rem;
    font-size: 1.5rem;
}
.sidebar a {
    color: #a8dadc !important;
    display: block;
    padding: 0.75rem 0;
    text-decoration: none;
}
.sidebar a:hover {
    color: #fff !important;
}

/* Content Area */
.content {
    padding: 2rem;
    animation: fadeIn 1s ease-in;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
    color: #fff !important;
}

/* Tables (Documents, Orders, Manage Users) */
.table {
    background: rgba(255, 255, 255, 0.05);
    color: #000 !important;
    border-radius: 10px;
    box-shadow: 0 0 20px rgba(0,0,0,0.5);
    transition: transform 0.4s ease;
}
.table:hover {
    transform: translateY(-5px);
}
.table th, .table td {
    border-color: rgba(255, 255, 255, 0.1);
    padding: 1rem;
    color: #000 !important;
}
.table-striped tbody tr:nth-of-type(odd) {
    background: rgba(255, 255, 255, 0.03);
}
.table a {
    color: #fff !important;
}
.table a:hover {
    color: #a8dadc !important;
}
.table .btn {
    animation: pulse 2s infinite;
}

/* Buttons */
.btn-primary {
    background: #1d3557;
    border: none;
    border-radius: 10px;
    color: #fff !important;
    transition: background 0.3s ease, transform 0.4s ease;
}
.btn-primary:hover {
    background: #457b9d;
    color: #a8dadc !important;
    transform: translateY(-2px);
}
.btn-danger {
    background: #e63946;
    border: none;
    border-radius: 10px;
    color: #fff !important;
    transition: background 0.3s ease, transform 0.4s ease;
}
.btn-danger:hover {
    background: #f94144;
    color: #a8dadc !important;
    transform: translateY(-2px);
}

/* Forms (Upload, Login, Register, Manage Users) */
.card {
    background: rgba(255, 255, 255, 0.05);
    color: rgb(168, 218, 220) !important;
    border: none;
    border-radius: 20px;
    box-shadow: 0 0 20px rgba(0,0,0,0.5);
    transition: transform 0.4s ease;
}
.card:hover {
    transform: translateY(-5px);
}
.form-control {
    background: rgba(255, 255, 255, 0.1);
    border: none;
    color: #fff !important;
    border-radius: 10px;
    transition: background 0.3s ease;
}
.form-control:focus {
    background: rgba(255, 255, 255, 0.15);
    color: #fff !important;
    box-shadow: none;
}
.form-control::placeholder {
    color: #a8dadc !important;
}
.form-label {
    color: #a8dadc !important;
}
.form-select {
    background: rgba(255, 255, 255, 0.1);
    border: none;
    color: #fff !important;
    border-radius: 10px;
}
.form-select:focus {
    background: rgba(255, 255, 255, 0.15);
    color: #fff !important;
    box-shadow: none;
}
.form-select option {
    color: #fff !important;
    background: #1d3557 !important;
}

/* Tabs (Documents Page) */
.nav-tabs {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    margin-bottom: 2rem;
}
.nav-tabs .nav-item {
    margin-bottom: 0;
}
.nav-tabs .nav-link {
    color: #a8dadc !important;
    border: none;
    border-radius: 10px 10px 0 0;
    padding: 0.75rem 1.5rem;
    transition: background 0.3s ease, color 0.3s ease;
}
.nav-tabs .nav-link.active {
    background: rgba(255, 255, 255, 0.08);
    color: #fff !important;
}
.nav-tabs .nav-link:hover {
    background: rgba(255, 255, 255, 0.05);
    color: #fff !important;
}

/* Alerts (Errors, Access Denied) */
.alert {
    background: rgba(255, 255, 255, 0.05);
    color: #fff !important;
    border: none;
    border-radius: 10px;
    box-shadow: 0 0 20px rgba(0,0,0,0.5);
}
.alert-danger {
    background: rgba(231, 76, 60, 0.2);
}

/* Animations */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes slideUp {
    from { opacity: 0; transform: translateY(100px); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.05); }
    100% { transform: scale(1); }
}
@keyframes fade-in-left {
    from { opacity: 0; transform: translateX(-50px); }
    to { opacity: 1; transform: translateX(0); }
}
@keyframes fade-in-right {
    from { opacity: 0; transform: translateX(50px); }
    to { opacity: 1; transform: translateX(0); }
}

/* Modal */
.modal-content {
    background: rgba(15, 32, 39, 0.8) !important;
    color: #fff !important;
    border-radius: 10px;
    box-shadow: 0 0 20px rgba(0,0,0,0.5);
}
.modal-header, .modal-footer {
    background: rgba(15, 32, 39, 0.9) !important;
    border-color: rgba(255, 255, 255, 0.1);
}
.modal-title, .modal-body p {
    color: #fff !important;
}
.btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}
.part-image {
    max-width: 100%;
    max-height: 200px;
    object-fit: contain;
    border-radius: 5px;
    margin-bottom: 1rem;
}

/* Logo Styles */
.logo-img {
    max-width: 150px; /* Uniform size for both logos */
    height: auto;
    margin: 1rem;
}
.fade-in-left {
    animation: fade-in-left 1s ease-in-out;
}
.fade-in-right {
    animation: fade-in-right 1s ease-in-out;
}
@media (max-width: 767px) {
    .logo-img {
        max-width: 100px; /* Smaller size for mobile */
        margin: 0.5rem auto;
        display: block;
    }
    .d-flex {
        flex-direction: column; /* Stack logos on mobile */
        align-items: center;
    }
}