:root {
    --glass-bg: rgba(255, 255, 255, 0.70);
    /* More transparent (0.70) to show blur */
    --glass-bg-strong: rgba(255, 255, 255, 0.85);
    --glass-border: rgba(255, 255, 255, 0.45);
    --glass-shadow: 0 10px 30px rgba(0, 0, 0, 0.10);
    --glass-blur: 16px;
    /* Stronger blur (16px) */
    --glass-saturate: 1.2;
    --radius-lg: 16px;
    --radius-md: 12px;
    --text-strong: rgba(12, 18, 28, 0.92);
    --text-muted: rgba(12, 18, 28, 0.62);
    --input-border: rgba(0, 0, 0, 0.15);
    --input-focus-border: #3b82f6;
    --input-focus-shadow: rgba(59, 130, 246, 0.15);
    --header-border: rgba(0, 0, 0, 0.06);
    --header-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}

/* Glass Panels */
.glass-panel {
    background: var(--glass-bg) !important;
    /* Force override default card bg */
    border: 1px solid var(--glass-border) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: var(--glass-shadow) !important;
    backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate)) !important;
    -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate)) !important;
}

.glass-panel-strong {
    background: var(--glass-bg-strong) !important;
    border: 1px solid var(--glass-border) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: var(--glass-shadow) !important;
    backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate)) !important;
    -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate)) !important;
}

.glass-separator {
    border-left: 1px solid rgba(0, 0, 0, 0.08);
    /* Separator Visual */
}

/* Modal Header & Footer Glass */
.modal-glass-header {
    background: var(--glass-bg-strong) !important;
    backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate)) !important;
    -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate)) !important;
    border-bottom: 1px solid var(--header-border) !important;
    box-shadow: var(--header-shadow) !important;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0 !important;
}

.modal-glass-footer {
    background: var(--glass-bg-strong) !important;
    backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate)) !important;
    -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate)) !important;
    border-top: 1px solid var(--header-border) !important;
    border-radius: 0 0 var(--radius-lg) var(--radius-lg) !important;
}

/* Modal Body Gradient Background (To Reveal Blur) */
.glass-form-body {
    /* Gradient from Teal (top) to White (bottom) */
    background: linear-gradient(180deg, rgba(0, 160, 150, 0.08) 0%, rgba(255, 255, 255, 0) 40%) !important;
    background-color: #f8f9fa;
    /* Fallback */
}

/* Inputs & Typography */
.form-label,
label {
    color: var(--text-strong);
    font-weight: 600;
}

.text-muted,
.form-text {
    color: var(--text-muted) !important;
}

/* Base Styles for Inputs */
input.form-control,
select.form-select,
textarea.form-control {
    background-color: #ffffff !important;
    border: 1px solid var(--input-border) !important;
    border-radius: var(--radius-md) !important;
    /* 12px */
    color: var(--text-strong) !important;
    transition: all 0.2s ease;
    box-shadow: none !important;
    /* Reset default BS shadow */
}

/* Standardizing Buttons radius */
.btn {
    border-radius: var(--radius-md) !important;
    /* 12px */
}

/* Focus State */
input.form-control:focus,
select.form-select:focus,
textarea.form-control:focus {
    outline: none !important;
    box-shadow: 0 0 0 4px var(--input-focus-shadow) !important;
    border-color: var(--input-focus-border) !important;
}

/* Invalid State */
input.is-invalid,
select.is-invalid,
textarea.is-invalid {
    border-color: #dc3545 !important;
    background-image: none !important;
}

/* Disabled State */
input.form-control:disabled,
select.form-select:disabled,
textarea.form-control:disabled {
    background-color: #f3f4f6 !important;
    opacity: 0.8;
    color: var(--text-muted) !important;
    cursor: not-allowed;
}

/* Dropdown (React Select) Overrides to match Glass Theme */
.Select-control {
    border-radius: var(--radius-md) !important;
    border: 1px solid var(--input-border) !important;
}

/* ========================================= */
/* GLobal Floating Buttons (FAB) Fixes */
/* ========================================= */

/* 1. HIDE ALL floating buttons when a Modal is Open (Prevent overlap with footer) */
body.modal-open .fab-container,
body.modal-open .task-floating-container,
body.modal-open #container-btn-ideias {
    display: none !important;
}

/* 2. Z-Index Management (Keep below Modal Backdrop 1050) */
.fab-container,
.task-floating-container,
#container-btn-ideias,
.fab-button {
    z-index: 1040 !important;
}

/* 3. Positioning Fixes (Avoid collision between buttons) */
/* 'Ideias' Button Adjustment (Move left to avoid overlapping 'Tarefas') */
#container-btn-ideias .btn {
    right: 180px !important;
    /* Was set to 100px, conflicting with Tasks at 110px */
}

/* ========================================= */
/* Realce de Datas Ocupadas no Calendário */
/* ========================================= */
.CalendarDay--highlighted {
    background: rgba(99, 102, 241, 0.1) !important;
    position: relative;
    font-weight: 700 !important;
    color: #4f46e5 !important;
    border-radius: 50% !important;
}

.CalendarDay--highlighted::after {
    content: '';
    position: absolute;
    bottom: 4px;
    left: 50%;
    transform: translateX(-50%);
    width: 6px;
    height: 6px;
    background-color: #6366f1;
    border-radius: 50%;
    box-shadow: 0 0 5px rgba(99, 102, 241, 0.5);
}

.CalendarDay--highlighted:hover {
    background: rgba(99, 102, 241, 0.2) !important;
}