/* Estilo compartilhado dos painéis (admin, cerimonialista e planejador) */
:root {
    --brand-primary: #556b2f; /* Verde oliva, o mesmo do site */
    --brand-dark: #3f5122;
    --brand-soft: #eef2e6;
    --brand-gold: #b08d57;
    --bg-light: #f7f5f0; /* Creme bem claro */
    --border-color: #e7e3da;
    --ink: #26271f;
    --muted: #77756c;

    /* Bootstrap segue a cor da marca */
    --bs-primary: #556b2f;
    --bs-primary-rgb: 85, 107, 47;
    --bs-link-color: #556b2f;
    --bs-link-color-rgb: 85, 107, 47;
    --bs-link-hover-color: #3f5122;
    --bs-link-hover-color-rgb: 63, 81, 34;
    --bs-body-color: #26271f;
    --bs-border-color: #e7e3da;
}
body {
    background-color: var(--bg-light);
    font-family: 'Inter', 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    font-size: 0.925rem;
    color: var(--ink);
    -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 { letter-spacing: -0.01em; }

/* NavBar */
.navbar-custom {
    background-color: #ffffff;
    border-bottom: 1px solid var(--border-color);
}
.navbar-custom .navbar-brand {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.5rem;
    line-height: 1;
    color: var(--ink);
}
.navbar-custom .navbar-brand small {
    display: block;
    font-family: 'Inter', sans-serif;
    font-size: 0.62rem;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--muted);
    margin-top: 4px;
}
.navbar-custom .nav-link {
    color: var(--muted);
    font-weight: 500;
    font-size: 0.875rem;
    padding: 8px 14px !important;
    border-radius: 8px;
    transition: 0.15s;
}
.navbar-custom .nav-link i { width: 18px; margin-right: 4px; font-size: 0.85em; }
.navbar-custom .nav-link:hover { color: var(--ink); background-color: var(--bg-light); }
.navbar-custom .nav-link.active { color: var(--brand-dark); background-color: var(--brand-soft); }
.navbar-custom .nav-site { border: 1px solid var(--border-color); }

/* Tipografia e Cores */
.text-brand { color: var(--brand-primary) !important; }
.bg-brand { background-color: var(--brand-primary) !important; color: #ffffff; }

/* Botões */
.btn { font-weight: 500; font-size: 0.875rem; }
.btn-brand, .btn-primary {
    background-color: var(--brand-primary);
    color: #ffffff;
    border: 1px solid var(--brand-primary);
    border-radius: 8px;
    transition: 0.2s;
}
.btn-brand:hover, .btn-brand:focus, .btn-primary:hover, .btn-primary:focus, .btn-primary:active {
    background-color: var(--brand-dark) !important;
    border-color: var(--brand-dark) !important;
    color: #ffffff;
}
.btn-outline-primary {
    --bs-btn-color: var(--brand-primary);
    --bs-btn-border-color: var(--brand-primary);
    --bs-btn-hover-bg: var(--brand-primary);
    --bs-btn-hover-border-color: var(--brand-primary);
    --bs-btn-active-bg: var(--brand-dark);
    --bs-btn-active-border-color: var(--brand-dark);
}

/* Cards */
.card {
    border: 1px solid var(--border-color);
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(40, 35, 20, 0.04);
    background-color: #ffffff;
}
.card.bg-light { background-color: #ffffff !important; }
.card-header { border-bottom-color: var(--border-color) !important; }
.list-group-item { border-color: var(--border-color); }

/* Tabelas e Badges */
.table { --bs-table-border-color: var(--border-color); margin-bottom: 0; }
.table th {
    border-bottom: 1px solid var(--border-color);
    color: var(--muted);
    font-weight: 600;
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    background-color: #fbfaf7;
    white-space: nowrap;
}
.table td { vertical-align: middle; }
.table-hover > tbody > tr:hover > * { --bs-table-bg-state: #fbfaf7; }
.badge-custom {
    padding: 0.4em 0.7em;
    border-radius: 50px;
    font-weight: 500;
}

/* Modais e Formulários */
.modal-content {
    border-radius: 12px;
    border: none;
    box-shadow: 0 20px 60px rgba(40, 35, 20, 0.2);
}
.form-control, .form-select {
    border-radius: 8px;
    border-color: var(--border-color);
    font-size: 0.9rem;
    box-shadow: none !important;
}
.form-control:focus, .form-select:focus { border-color: var(--brand-primary); }
.form-check-input:checked { background-color: var(--brand-primary); border-color: var(--brand-primary); }

/* Dashboard */
.page-eyebrow {
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--brand-gold);
}
.dash-hero {
    background: linear-gradient(120deg, #3f5122, #6b8240);
    color: #ffffff;
    border: none;
}
.dash-hero h2 { font-family: 'Cormorant Garamond', serif; font-size: 2.2rem; }
.dash-hero .dias { font-size: 3rem; font-weight: 700; line-height: 1; }
.stat-label {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted);
}
.stat-value { font-size: 1.9rem; font-weight: 700; line-height: 1.1; }
.stat-value small { font-size: 0.95rem; font-weight: 500; color: var(--muted); }
.stat-icon {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--brand-soft);
    color: var(--brand-primary);
}
.stat-link { font-size: 0.85rem; font-weight: 500; text-decoration: none; }
.stat-link:hover { text-decoration: underline; }
.progress { height: 8px; border-radius: 50px; background-color: #efece4; }
.progress-bar { border-radius: 50px; }
