:root{
    --bs-border-color: #ced2d7;
    --bs-text-tertiary: #a8b1bd;
    --bs-body: #ffffff;/*#f0f2f5*/
    --bs-body-tertiary: var(--bs-body);/*#f0f2f5*/
    --bs-light-bg-subtle: #f8fafc; /*#fcfcfd*/
    --bs-primary: #1E88E5;
    --bs-primary-color: 30, 136, 229;
    --bs-secondary-color: rgba(33, 37, 41, 0.5);
    --bs-dark-text: #334155;
}
/* --- Estilos do Mini-Calendário (Standalone) --- */
        .mini-calendar-container {
            width: 100%;
            font-size: 0.8rem;
        }

        .mini-calendar-header {
            display: grid;
            grid-template-columns: 1fr auto 1fr; /* Esquerda, Centro, Direita */
            align-items: center;
            margin-bottom: 0.5rem;
        }
        .mini-calendar-header-title {
            color: var(--bs-dark-text);
            font-weight: 600;
            font-size: .85rem;
        }
        .mini-calendar-header .toolbar-section-left {
            display: flex;
            justify-content: flex-start;
        }
        .mini-calendar-header .toolbar-section-center {
            display: flex;
            justify-content: center;
            font-weight: 600;
        }
        .mini-calendar-header .toolbar-section-right {
            display: flex;
            justify-content: flex-end;
        }

        .mini-calendar-btn {
            background: none;
            border: none;
            color: var(--bs-dark-text);
            border-radius: 0.25rem;
        }
        .mini-calendar-btn:hover {
            background-color: var(--bs-light-bg-subtle);
        }
        .mini-calendar-weekdays {
            display: grid;
            grid-template-columns: repeat(7, 1fr);
            text-align: center;
            color: var(--bs-secondary-color);
            font-weight: 500;
            padding-bottom: 0.25rem;
            border-bottom: 1px solid var(--bs-border-color);
        }
        .mini-calendar-days-grid {
            display: grid;
            grid-template-columns: repeat(7, 1fr);
            gap: 2px;
            padding-top: 0.25rem;
        }
        .mini-calendar-cell {
            text-align: center;
            padding: 0.25rem 0;
            border-radius: 0.25rem;
            cursor: pointer;
            color: var(--bs-dark-text);
            font-weight: 400;
            position: relative; 
        }
        .mini-calendar-cell:not(.mini-cell-selected, .mini-cell-today):hover {
            background-color: rgba(240, 242, 245, 0.75);
            border: 0;
        }
        .mini-cell-other-month {
            color: var(--bs-text-tertiary);
        }
        .mini-cell-today {
            color: #ffffff;
            background-color: rgba(var(--bs-primary-color), 1);
            font-weight: 600;
        }
        .mini-cell-selected {
            background-color: rgba(var(--bs-primary-color), .25);
        }

        .mini-event-dot {
            width: 4px;
            height: 4px;
            background-color: var(--bs-primary);
            border-radius: 50%;
            position: absolute;
            bottom: 2px;
            left: 50%;
            transform: translateX(-50%);
        }
        .mini-cell-today .mini-event-dot {
            background-color: #ffffff;
        }