:root {
    --primary: #ea5b9d;
    --primary-dark: #d9488b;

    --blue-light: #e8f4ff;
    --blue: #7cc3f5;
    --blue-dark: #4aa3e0;

    --bg: #f7f8fc;
    --text: #222;
    --muted: #777;
}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html, body {
    height: 100%;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    background: var(--bg);
    color: var(--text);
}

.box-layout {
    width: 100%;
    min-height: 100vh;
}

/* ===== HEADER ===== */
.header-container {
    max-width: 1200px;
    height: 70px;

    margin: 0 auto;
    padding: 0 28px;

    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* lado esquerdo */
.header-left {
    display: flex;
    align-items: center;
}

/* título */
.header-title {
    color: #fff;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: 0.3px;
}

/* lado direito */
.header-right {
    display: flex;
    align-items: center;
    gap: 18px; /* 👈 espaçamento aqui */
}

/* nome */
.user-name {
    color: #fff;
    font-weight: 600;
}

/* botão */
.btn-logout {
    background: #fff;
    color: var(--primary);
    padding: 8px 16px;
    border-radius: 12px;
    font-weight: 700;
}

.btn-logout:hover {
    background: var(--blue-light);
    color: var(--primary-dark);
}

/* ===== SIDEBAR ===== */
.sidebar {
    width: 240px;
    margin-right: 24px;

    background: var(--white);
    border-right: 1px solid var(--border);
    padding: 24px 14px;
    border-radius: 18px;
}

/* título menu */
.sidebar-brand {
    font-weight: 800;
    font-size: 16px;
    margin-bottom: 18px;
    color: var(--primary);
}

/* menu */
.sidebar-menu {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.sidebar-menu a {
    display: flex;
    align-items: center;
    gap: 12px;

    padding: 12px 14px;
    border-radius: 12px;

    color: #444;
    font-weight: 600;
}

.sidebar-menu a i {
    font-size: 18px;
}

/* hover e ativo */
.sidebar-menu a:hover,
.sidebar-menu a.active {
    background: #fff0f7;
    color: var(--primary);
}

.alert {
    padding: 14px 18px;
    border-radius: 14px;
    margin-bottom: 20px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 10px;
}

/* sucesso */
.alert-success {
    background: #ecfdf5;
    color: #059669;
    border: 1px solid #bbf7d0;
}

/* erro */
.alert-error {
    background: #fef2f2;
    color: #dc2626;
    border: 1px solid #fecaca;
}