   /* Mesma paleta e mesmo esqueleto visual do admin (login.php) */
    :root { --bg: #f4f7f9; --primary: #0b2468; --primary-dark: #0b2468; --primary-light: #9baad2; --dark: #0b2468; }
    [data-bs-theme="dark"] { --bg: #12181c; --dark-card: #1b232a; --dark-border: #2a343c; }

    body {
        background: var(--bg);
        font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
        min-height: 100vh;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        margin: 0;
    }
    [data-bs-theme="dark"] body { background: var(--bg); color: #e7ecef; }

    /* Fundo com imagem: só aparece em telas de PC (>=900px), igual pedido */
    .bg-hero { display: none; }
    @media (min-width: 900px) {
        .bg-hero {
            display: block;
            position: fixed; top: 0; left: 0; bottom: 0; width: 44%;
            z-index: 0; overflow: hidden; background: var(--primary);
        }
        .bg-hero img { width: 100%; height: 100%; object-fit: cover; display: block; }
        .bg-hero::after { content: ''; position: absolute; inset: 0; background: rgba(11, 36, 104, 0.45); }
        body { padding-left: 44%; }
    }

    .login-card {
        background: #fff;
        width: 100%; max-width: 400px; padding: 40px;
        border-radius: 8px;
        box-shadow: none;
        border: 1px solid #e1e8ed;
        position: relative; z-index: 1;
    }
    [data-bs-theme="dark"] .login-card {
        background: var(--dark-card);
        border-color: var(--dark-border);
    }

    .logo-area { text-align: center; margin-bottom: -10px; }
    .logo-area img { max-width: 160px; height: auto; }

    .form-label { font-size: 14px; font-weight: 500; color: #6c757d; margin-bottom: 6px; }
    .form-control { height: 48px; border: 1px solid #ced4da; font-size: 16px; border-radius: 4px; }
    .form-control:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(11, 36, 104, 0.1); }
    [data-bs-theme="dark"] .form-control { background: #212a30; border-color: var(--dark-border); color: #e7ecef; }
    [data-bs-theme="dark"] .form-control:focus { background: #212a30; color: #e7ecef; }

    .btn-primary {
        background: var(--primary); border: none;
        height: 52px; border-radius: 26px; font-weight: 500; font-size: 18px;
        width: 100%; margin-top: 10px; transition: background .2s;
    }
    .btn-primary:hover { background: var(--primary-dark); }
    .btn-primary:disabled { opacity: .6; }

    .forgot { text-align: right; margin-top: 8px; margin-bottom: 20px; }
    .forgot a, .create-account a { color: var(--primary); text-decoration: none; font-size: 13px; font-weight: 500; }

    .btn-google {
        width: 100%; height: 48px; background: #fff; border: 1px solid #ced4da;
        border-radius: 26px; display: flex; align-items: center; justify-content: center;
        gap: 10px; font-size: .94rem; font-weight: 500; color: #212529; text-decoration: none;
    }
    .btn-google:hover { background: #f4f7f9; }
    [data-bs-theme="dark"] .btn-google { background: #212a30; border-color: var(--dark-border); color: #e7ecef; }

    .divider { display: flex; align-items: center; gap: 14px; margin: 20px 0; }
    .divider-line { flex: 1; height: 1px; background: #e1e8ed; }
    .divider-text { font-size: .8rem; color: #6c757d; white-space: nowrap; }

    .footer { display: flex; justify-content: center; width: 100%; max-width: 400px; margin-top: 25px; font-size: 12px; color: #6c757d; }

    .darkmode-btn {
        width: 100%; height: 48px; border-radius: 26px; margin-top: 16px;
        border: 1px solid #ced4da; background: #fff; font-weight: 500; font-size: 15px;
        display: flex; align-items: center; justify-content: center; gap: 8px; color: #212529;
    }
    [data-bs-theme="dark"] .darkmode-btn { background: #212a30; border-color: var(--dark-border); color: #e7ecef; }

    /* Toast simples do popup de sucesso — sem alterar a lógica */
    #toast-container { position: fixed; top: 20px; left: 50%; transform: translateX(-50%); z-index: 9999; width: 92%; max-width: 400px; }
    .cp-toast {
        background: var(--primary); color: #fff; border-radius: 8px; padding: 16px 18px;
        font-size: 1rem; font-weight: 500; box-shadow: none;
        margin-bottom: 10px; display: flex; align-items: center; justify-content: space-between;
        gap: 14px; opacity: 0; transform: translateY(-14px); transition: opacity .25s ease, transform .25s ease;
    }
    .cp-toast.show { opacity: 1; transform: translateY(0); }
    .cp-toast.cp-toast-danger { background: #c22c2c; }
    .cp-toast .cp-toast-close { background: transparent; border: none; color: #fff; font-size: 1.2rem; opacity: .85; cursor: pointer; line-height: 1; padding: 0 2px; }
    .cp-toast .cp-toast-close:hover { opacity: 1; }

    /* ===== LOADER DE PÁGINA — 3 anéis grossos girando (azul / azul claro / branco) ===== */
    #page-loader {
        position: fixed; inset: 0; z-index: 99999;
        background: #f4f7f9;
        display: flex; align-items: center; justify-content: center;
        transition: opacity .35s ease, visibility .35s ease;
    }
    #page-loader.hide { opacity: 0; visibility: hidden; }

    .cp-spinner { position: relative; width: 96px; height: 96px; }
    .cp-spinner .ring {
        position: absolute; inset: 0;
        border-radius: 50%;
        border-style: solid;
        border-color: transparent;
    }
    /* anel 1 — azul forte, ponta grossa */
    .cp-spinner .ring:nth-child(1) {
        border-width: 9px;
        border-top-color: var(--primary);
        border-right-color: var(--primary);
        animation: cp-spin 1s linear infinite;
    }
    /* anel 2 — azul claro, um pouco menor */
    .cp-spinner .ring:nth-child(2) {
        inset: 12px;
        border-width: 7px;
        border-top-color: var(--primary-light);
        animation: cp-spin-rev 1.4s linear infinite;
    }
    /* anel 3 — branco com contorno fino, ponta fina */
    .cp-spinner .ring:nth-child(3) {
        inset: 24px;
        border-width: 4px;
        border-top-color: #ffffff;
        box-shadow: 0 0 0 1px #e1e8ed inset;
        animation: cp-spin 0.8s linear infinite;
    }
    @keyframes cp-spin { to { transform: rotate(360deg); } }
    @keyframes cp-spin-rev { to { transform: rotate(-360deg); } }
    
  .titulo1 {
    font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
    font-weight: 500; /* ou 800 */
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    
}
.titulo2 {
    font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
    font-weight: 400; /* ou 800 */
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
     
     margin-bottom: 20px; /* Espaço abaixo */
    
}
