:root {
    --brand: #e6023b;
    --brand-dark: #a8012c;
    --bg-dark: #1a1f2e;
    --bg-dark-2: #2d3748;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    background: #f5f6f8;
    color: #2d3748;
}

.text-brand {
    color: var(--brand) !important;
}

.btn-brand {
    background: var(--brand);
    color: #fff;
    border: none;
    font-weight: 500;
    transition: background .2s ease;
}

.btn-brand:hover,
.btn-brand:focus {
    background: var(--brand-dark);
    color: #fff;
}

/* ========== Auth page ========== */
.auth-body {
    background: linear-gradient(135deg, var(--bg-dark) 0%, var(--bg-dark-2) 100%);
    min-height: 100vh;
}

.auth-wrapper {
    min-height: 100vh;
    padding: 2rem 1rem;
}

.auth-card {
    width: 100%;
    max-width: 420px;
    border-radius: 16px;
    overflow: hidden;
}

.auth-logo {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid var(--brand);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    color: var(--brand);
    box-shadow: 0 4px 12px rgba(230, 2, 59, 0.15);
}

/* ========== App navbar ========== */
.app-navbar {
    background: var(--bg-dark);
    border-bottom: 3px solid var(--brand);
}

.app-navbar .navbar-brand {
    font-size: 1.15rem;
}

/* ========== Module cards ========== */
.module-card {
    border-radius: 12px;
    transition: transform .15s ease, box-shadow .15s ease;
    cursor: pointer;
}

.module-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08) !important;
}
