/* =========================================================
   ERP Paula Daniele PSI — Design System (marca)
   Paleta: Rosa Suave #B7828B | Rosa Queimado #A56B6E |
   Bege Rosado #E9D7C9 | Taupe #7A665F | Ameixa #5B4A4E |
   Off-White #FAF6F2
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Montserrat:wght@300;400;500;600;700&display=swap');

:root {
    --rosa-principal: #B7828B;
    --rosa-queimado: #A56B6E;
    --bege-rosado: #E9D7C9;
    --taupe: #7A665F;
    --ameixa: #5B4A4E;
    --off-white: #FAF6F2;
    --texto: #4F4240;
    --texto-suave: #766763;

    /* Sobrescreve o tema Bootstrap com a paleta da marca */
    --bs-primary: #A56B6E;
    --bs-primary-rgb: 165, 107, 110;
    --bs-secondary: #7A665F;
    --bs-secondary-rgb: 122, 102, 95;
    --bs-info: #E9D7C9;
    --bs-info-rgb: 233, 215, 201;
    --bs-success: #6E7B6A;
    --bs-success-rgb: 110, 123, 106;
    --bs-warning: #C9A26B;
    --bs-warning-rgb: 201, 162, 107;
    --bs-danger: #B5565A;
    --bs-danger-rgb: 181, 86, 90;
    --bs-dark: #5B4A4E;
    --bs-dark-rgb: 91, 74, 78;
    --bs-light: #FAF6F2;
    --bs-light-rgb: 250, 246, 242;
    --bs-body-bg: #FAF6F2;
    --bs-body-color: #4F4240;
    --bs-border-color: #EADDD6;
    --bs-border-radius: 0.85rem;
    --bs-border-radius-lg: 1.1rem;
    --bs-font-sans-serif: 'Montserrat', Arial, Helvetica, sans-serif;
    --font-destaque: 'Playfair Display', Georgia, serif;
}

* { box-sizing: border-box; }

body {
    background: var(--off-white);
    color: var(--texto);
    font-family: 'Montserrat', Arial, Helvetica, sans-serif;
    line-height: 1.6;
}

h1, h2, h3, h4, h5, .font-destaque {
    font-family: var(--font-destaque);
    font-weight: 500;
    color: var(--rosa-queimado);
    letter-spacing: 0.2px;
}

/* Headings dentro de cards/contextos claros devem ser brancos */
.text-white h1,
.text-white h2,
.text-white h3,
.text-white h4,
.text-white h5,
.text-white h6 {
    color: #fff !important;
}

a { color: var(--rosa-queimado); }
a:hover { color: var(--ameixa); }

/* ---------- Sidebar ---------- */
.sidebar {
    min-height: 100vh;
    background: var(--ameixa);
    color: var(--off-white);
    border-right: none;
}
.sidebar .brand {
    color: #fff;
    padding: 1.4rem 1rem 1rem;
    border-bottom: 1px solid rgba(233, 215, 201, 0.18);
    text-align: center;
}
.sidebar .brand img {
    width: 120px;
    height: auto;
    margin: 0 auto 0.5rem;
    display: block;
    border-radius: 14px;
    background: #fff;
    padding: 6px;
}
.sidebar .brand .nome {
    font-family: var(--font-destaque);
    font-size: 1.35rem;
    color: #fff;
    line-height: 1.1;
}
.sidebar .brand .sub {
    font-size: 0.62rem;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--bege-rosado);
}
.sidebar .usuario {
    padding: 0.9rem 1rem;
    border-bottom: 1px solid rgba(233, 215, 201, 0.18);
    font-size: 0.82rem;
    color: var(--off-white);
}
.sidebar .usuario .badge { background: var(--rosa-principal); color: #fff; }
.sidebar .nav-link {
    color: rgba(250, 246, 242, 0.82);
    border-radius: 0.6rem;
    margin: 0.15rem 0.6rem;
    padding: 0.6rem 0.8rem;
    transition: all 0.15s ease;
}
.sidebar .nav-link:hover,
.sidebar .nav-link.active {
    background: var(--rosa-queimado);
    color: #fff;
}
.sidebar .nav-link i { width: 1.4rem; text-align: center; }

/* ---------- Conteúdo ---------- */
main { padding: 1.6rem 1.6rem; }

/* ---------- Cards ---------- */
.card {
    background: #fff;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-lg);
    box-shadow: 0 10px 30px rgba(91, 74, 78, 0.08);
}
.card-header {
    background: #fff !important;
    border-bottom: 1px solid var(--bs-border-color);
    font-family: var(--font-destaque);
    color: var(--rosa-queimado);
    border-radius: var(--bs-border-radius-lg) var(--bs-border-radius-lg) 0 0 !important;
}

/* ---------- Botões ---------- */
.btn {
    border-radius: 2rem;
    font-weight: 500;
    letter-spacing: 0.3px;
    padding: 0.45rem 1.2rem;
}
.btn-primary {
    background: var(--rosa-queimado);
    border-color: var(--rosa-queimado);
    color: #fff;
    box-shadow: 0 6px 16px rgba(165, 107, 110, 0.28);
}
.btn-primary:hover { background: var(--ameixa); border-color: var(--ameixa); color: #fff; }
.btn-outline-secondary { color: var(--taupe); border-color: var(--bege-rosado); }
.btn-outline-secondary:hover { background: var(--bege-rosado); color: var(--ameixa); border-color: var(--bege-rosado); }
.btn-outline-primary { color: var(--rosa-queimado); border-color: var(--rosa-queimado); }
.btn-outline-primary:hover { background: var(--rosa-queimado); color: #fff; }
.btn-outline-danger { color: var(--bs-danger); border-color: var(--bs-danger); }
.btn-outline-danger:hover { background: var(--bs-danger); color: #fff; }
.btn-light { background: #fff; border-color: var(--bs-border-color); }

/* ---------- Tabelas ---------- */
.table { color: var(--texto); }
.table > :not(caption) > * > * { padding: 0.7rem 0.8rem; }
.table-hover > tbody > tr:hover { background: #F3E9E2; }
.table thead th {
    background: #FBF4EF;
    color: var(--taupe);
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--bege-rosado);
}

/* ---------- Badges de status ---------- */
.status-badge { font-family: 'Montserrat', sans-serif; font-weight: 500; padding: 0.35em 0.8em; }
.badge.bg-info { color: var(--ameixa) !important; }
.badge.bg-light { color: var(--taupe) !important; }

/* ---------- Alertas ---------- */
.alert { border-radius: var(--bs-border-radius); border: none; }
.alert-lock {
    background: #F3E5DE;
    border-left: 4px solid var(--rosa-principal) !important;
    color: var(--texto);
}
.alert-success { background: #EAF0E8; color: #4d5b49; }
.alert-danger { background: #F6E4E5; color: #8a3b3e; }

/* ---------- Formulários ---------- */
.form-control, .form-select {
    border-radius: 0.7rem;
    border-color: var(--bege-rosado);
    padding: 0.55rem 0.8rem;
    background: #FCF9F6;
}
.form-control:focus, .form-select:focus {
    border-color: var(--rosa-principal);
    box-shadow: 0 0 0 0.2rem rgba(183, 130, 139, 0.18);
    background: #fff;
}
.form-label { color: var(--taupe); font-weight: 500; font-size: 0.88rem; }

/* ---------- Login ---------- */
.login-wrap {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--off-white) 0%, #F5E9E2 55%, var(--bege-rosado) 100%);
}
.login-card {
    width: 100%;
    max-width: 420px;
    background: #fff;
    border-radius: 1.4rem;
    box-shadow: 0 20px 60px rgba(91, 74, 78, 0.18);
    padding: 2.2rem;
    text-align: center;
}
.login-card img { width: 140px; margin: 0 auto 1rem; display: block; }
.login-card h1 { font-size: 1.7rem; color: var(--ameixa); }
.login-card .profissao { color: var(--rosa-queimado); font-size: 0.72rem; letter-spacing: 4px; text-transform: uppercase; }

/* ---------- Paginação ---------- */
.page-link { color: var(--rosa-queimado); border-radius: 0.5rem; }
.page-item.active .page-link { background: var(--rosa-queimado); border-color: var(--rosa-queimado); }
