/* Typography tweaks */
body {
    font-family: 'Inter', 'Roboto', sans-serif;
    line-height: 1.7;
    color: #333;
}
h1, h2, h3, h4 {
    font-weight: 600;
    letter-spacing: -0.5px;
}

/* Buttons (except .btn-ultimate) */
.btn:not(.btn-ultimate) {
    border-radius: 8px;
    font-weight: 500;
    padding: 0.6rem 1.2rem;
    transition: all 0.3s ease;
}
.btn-primary:not(.btn-ultimate) {
    background: linear-gradient(135deg, #4b00e0, #8e2de2);
    border: none;
    color: white;
}
.btn-primary:not(.btn-ultimate):hover {
    background: linear-gradient(135deg, #3a00b3, #6a21b8);
    transform: scale(1.03);
}

/* Modernize .btn-success */
.btn-success:not(.btn-ultimate) {
    background: linear-gradient(135deg, #00c853, #64dd17);
    border: none;
    color: white;
    font-weight: 500;
    border-radius: 6px;
    transition: all 0.3s ease;
}

    .btn-success:not(.btn-ultimate):hover {
        background: linear-gradient(135deg, #009624, #4caf50);
        transform: scale(1.02);
    }

/* Sleek .btn-secondary */
.btn-secondary:not(.btn-ultimate) {
    background: linear-gradient(135deg, #9c27b0, #7b1fa2);
    border: none;
    color: white;
    font-weight: 500;
    border-radius: 6px;
    transition: all 0.3s ease;
}

    .btn-secondary:not(.btn-ultimate):hover {
        background: linear-gradient(135deg, #6a1b9a, #4a148c);
        transform: scale(1.02);
    }

/* Optional: Customize other Bootstrap button colors if needed */
.btn-danger:not(.btn-ultimate) {
    background: linear-gradient(135deg, #e53935, #d32f2f);
    border: none;
    color: white;
    font-weight: 500;
    border-radius: 6px;
    transition: all 0.3s ease;
}

    .btn-danger:not(.btn-ultimate):hover {
        background: linear-gradient(135deg, #c62828, #b71c1c);
        transform: scale(1.02);
    }

/* Navbar */
.navbar {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    transition: background 0.3s ease;
}
.navbar-brand {
    font-weight: 700;
    font-size: 1.3rem;
}
.nav-link {
    font-weight: 500;
    letter-spacing: 0.5px;
    padding: 0.5rem 1rem;
    transition: color 0.2s ease;
}
.nav-link:hover {
    color: #903be0 !important;
}

/* Cards */
.card {
    border: none;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(149, 123, 179, 0.12);
    transition: transform 0.3s ease;
}
.card:hover {
    transform: translateY(-4px);
}

/* Tables */
.table {
    border-radius: 12px;
    overflow: hidden;
}
.table th {
    background: #f4f1fa;
    font-weight: 600;
}
.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: rgb(175 238 246 / 58%);
}
.table-striped > tbody > tr {
    font-weight: 600;
    color: #000000;
}

/* Forms */
input.form-control, select.form-control, textarea.form-control {
    border-radius: 6px;
    border: 1px solid #ccc;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
input.form-control:focus, select.form-control:focus, textarea.form-control:focus {
    border-color: #903be0;
    box-shadow: 0 0 0 0.2rem rgba(144, 59, 224, 0.25);
}

/* Footer */
footer {
    background: linear-gradient(to right, #ede7f6, #f3ebfc);
    font-size: 0.85rem;
    color: #555;
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.03);
}
