﻿/* ================= HEADER FLEX FIX ================= */
.page-header>.d-flex {
    flex-wrap: nowrap !important;
    align-items: stretch !important;
}

@media (max-width: 991.98px) {
    .page-header>.d-flex {
        flex-wrap: wrap !important;
        align-items: stretch !important;
    }
}

.page-header .d-flex.align-items-center.gap-3.flex-grow-1 {
    min-width: 0;
    flex-shrink: 1;
    flex-basis: 0;
    max-width: 100%;
    display: flex;
    align-items: center;
    gap: 1rem;
}

.page-header .d-flex.gap-6 {
    flex-shrink: 0;
    flex-basis: auto;
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

@media (max-width: 991.98px) {
    .page-header .d-flex.gap-6 {
        margin-top: 1rem;
        width: 100%;
        justify-content: flex-start;
    }
}

/* ================= RADIO BUTTONS CUSTOM ================= */
.form-check-input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    background-color: #f1f5f9;
    border: 2px solid #cbd5e1;
    box-shadow: none;
    width: 1.15em;
    height: 1.15em;
    border-radius: 50%;
    display: inline-block;
    position: relative;
    vertical-align: middle;
    transition: border-color 0.2s, background 0.2s;
}

.form-check-input[type="radio"]:not(:checked) {
    background-color: #e2e8f0;
    border-color: #cbd5e1;
}

.form-check-input[type="radio"]:checked {
    background-color: var(--primary);
    border-color: var(--primary);
}

.form-check-input[type="radio"]:focus {
    outline: 2px solid var(--primary-light);
    outline-offset: 1px;
}

body.dark .form-check-input[type="radio"] {
    background-color: #54719f;
    border-color: #70757b;
}

body.dark .form-check-input[type="radio"]:not(:checked) {
    background-color: #293548;
    /* tom claro, próximo do fundo, mas visível */
    border-color: #7b8794;
    /* borda mais clara */
    box-shadow: 0 0 0 1.5px #7b8794 inset;
}

body.dark .form-check-input[type="radio"]:checked {
    background-color: var(--primary);
    border-color: var(--primary);
    box-shadow: 0 0 0 4px rgba(74, 156, 23, 0.15) inset;
}

/* css/style-calendario-escalas.css */

/* Card da área de escalas externas segue a mesma linha visual dos cards do Pro */
#linhaEscalasExternas .card {
    background-color: var(--bg-card);
}

/* Barra de navegação da área de escala (cabeçalho do card) */
#linhaEscalasExternas .calendar-nav {
    background-color: var(--bg-page);
}

/* Iframe sempre ocupando 100% do espaço da ratio */
#iframeEscala,
#linhaEscalasExternas .iframe-escala-externa {
    width: 100%;
    height: 100%;
    border: 0;
}

/* Ajuste fino para dark mode */
body.dark #linhaEscalasExternas .card {
    background-color: #020617;
    /* próximo de var(--bg-page) escuro */
}

body.dark #linhaEscalasExternas .calendar-nav {
    background-color: #0b1220;
}

body.dark #linhaEscalasExternas .badge {
    background-color: var(--primary);
    color: #e5e7eb;
}

/* css/style-calendario-modos.css */

/* Garantias de exibição/ocultação por CSS (reforço do JS) */
body.modo-planejamento #linhaEscalasExternas {
    display: none !important;
}

body.modo-escala-avancada #areaPlanejamento {
    display: none !important;
}

/* Iframe ocupando sempre toda a área do ratio */
#iframeEscala {
    width: 100%;
    height: 100%;
    border: 0;
}

/* Ajuste para combinar com o tema */
#linhaEscalasExternas .card {
    background-color: var(--card-bg, #ffffff);
}

#linhaEscalasExternas .calendar-nav {
    background-color: var(--bg-page, #f8fafc);
}

body.dark #linhaEscalasExternas .card {
    background-color: #020617;
}

body.dark #linhaEscalasExternas .calendar-nav {
    background-color: #0b1220;
}

/* ============================================
   VARIÁVEIS E CONFIGURAÇÕES GLOBAIS
   ============================================ */

:root {
    --primary: #4a9c17;
    --primary-light: #4a9c17;
    --secondary: #6ec737;
    --accent: #ec4899;
    --success: #10b981;
    --warning: #f59e0b;
    --info: #0ea5e9;
    --danger: #ef4444;

    --bg-page: #f8fafc;
    --card-bg: #ffffff;
    --border-color: #e2e8f0;
    --text-main: #1e293b;
    --text-muted: #64748b;

    --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

body.dark {
    --bg-page: #0f172a;
    --card-bg: #1e293b;
    --border-color: #334155;
    --text-main: #f1f5f9;
    --text-muted: #94a3b8;
}

body {
    font-family: 'Inter', sans-serif;
    background-color: var(--bg-page);
    color: var(--text-main);
    transition: var(--transition);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Poppins', sans-serif;
}

/* ============================================
   LAYOUT E HEADER
   ============================================ */

.page-wrapper {
    min-height: 100vh;
}

.header-icon-box {
    width: 56px;
    height: 56px;
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 24px;
    box-shadow: 0 10px 15px -3px rgba(74, 156, 23, 0.3);
}

.pro-icon {
    background: #fff;
}

/* ============================================
   CALENDÁRIO
   ============================================ */

.calendar-nav {
    background-color: var(--card-bg);
}

#btnCriarEvento {
    display: none;
}

#btnCadastrarSprint {
    display: none;
}

#btnCadastrarEquipe {
    display: none;
}

body.modo-planejamento #btnCriarEvento {
    display: inline-block !important;
}

.btn-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
    transition: var(--transition);
}

.btn-icon:hover {
    background-color: rgba(74, 156, 23, 0.1);
    color: var(--primary);
}

.btn-today {
    background-color: rgba(74, 156, 23, 0.1);
    color: var(--primary);
    border: none;
}

.calendar-table {
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
}

/* Em planejamento/projetos, o calendario precisa crescer conforme os dias aumentam. */
body.modo-personalizado .calendar-table.h-100,
body.modo-projetos .calendar-table.h-100 {
    height: auto !important;
}

.calendar-table th {
    padding: 12px;
    text-align: center;
    font-size: 11px;
    font-weight: 700;
    color: var(--text-muted);
    letter-spacing: 0.05em;
    border-bottom: 1px solid var(--border-color);
}

/* ============================================
   ALTURA REAL DOS QUADRADOS DO CALENDÁRIO
   ============================================ */

/* A célula em si só define borda e posição */
.calendar-table td {
    min-width: 80px;
    padding: 0;
    border: 0.5px solid var(--border-color);
    position: relative;
    transition: var(--transition);
    vertical-align: top;
    overflow: hidden;
    /* impede crescer por causa do conteúdo */
    cursor: pointer;
}

/* Wrapper interno que controla a altura visual do quadrado */
.cell-dia-inner {
    position: relative;
    padding: 6px;
    --altura-dia-base: 40px;
    height: calc(var(--altura-dia-base) + var(--extra-altura-dia, 0px));
    max-height: calc(var(--altura-dia-base) + var(--extra-altura-dia, 0px));
    box-sizing: border-box;
    overflow: visible;
}

/* No modo escala, um pouco mais alto */
body.modo-escala .cell-dia-inner {
    --altura-dia-base: 40px;
}

/* (Se quiser no futuro liberar altura quando tiver muitos itens, pode usar esta classe) */

.cell-dia-inner.muitos-itens .eventos-container {
    position: static;
    bottom: auto;
    height: auto;
    max-height: none;
    overflow: visible;
    padding-bottom: 32px;
}

/* Conteúdo de eventos ocupa a área “útil” do quadrado, sem alterar altura */
.eventos-container {
    position: absolute;
    left: 6px;
    right: 6px;
    top: 18px;
    /* abaixo do número do dia */
    bottom: 6px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    overflow: visible;
}

.eventos-container>*:last-child {
    margin-bottom: 20px;
}

/* Número do dia fixo no canto superior direito */
.dia-num,
.dia-numero {
    position: absolute;
    top: 4px;
    right: 6px;
    font-weight: 800;
    font-size: 11px;
    color: var(--text-muted);
}

/* Hover suave, sem alterar altura */
.calendar-table td:hover {
    z-index: 10;
    background-color: rgba(74, 156, 23, 0.02);
}

/* ============================================
   DESTAQUES DE ESCALA E FERiados
   ============================================ */

/* Estilos de Escala (Trabalho/Folga) */
.dia-trabalha {
    background-color: rgba(74, 156, 23, 0.08) !important;
}

.dia-trabalha::after {
    content: "TRABALHO";
    position: absolute;
    bottom: 4px;
    left: 6px;
    font-size: 8px;
    font-weight: 800;
    color: var(--primary);
    opacity: 0.6;
}

.dia-descansa {
    background-color: rgba(16, 185, 129, 0.08) !important;
}

.dia-descansa::after {
    content: "FOLGA";
    position: absolute;
    bottom: 4px;
    left: 6px;
    font-size: 8px;
    font-weight: 800;
    color: var(--success);
    opacity: 0.6;
}


.calendar-table td.dia-sprint {
    background: var(--sprint-dia-bg, rgba(245, 158, 11, 0.12)) !important;
}

.calendar-table td.dia-sprint {
    box-shadow: inset 0 0 0 1px var(--sprint-dia-border, rgba(217, 119, 6, 0.35));
}

.calendar-table td.dia-sprint:hover {
    background: var(--sprint-dia-bg-hover, var(--sprint-dia-bg, rgba(245, 158, 11, 0.18))) !important;
}


/* Mini calendário (visão ano) */
.mini-dia {
    border-radius: 6px;
    padding: 2px 0;
    font-size: 10px;
    text-align: center;
}


.mini-dia-sprint {
    font-weight: 700;
}

/* Blocos de Evento no Calendário (mini dentro do quadrado) */
.tags-container {
    display: flex;
    flex-direction: column;
    gap: 2px;
    max-height: 40px;
    overflow: hidden;
}

.evento-tag {
    display: block;
    font-size: 8px;
    font-weight: 700;
    padding: 1px 4px;
    border-radius: 3px;
    color: white;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

/* Eventos mini no calendário com cantos arredondados */
.evento-mini {
    border-radius: 8px;
}

.evento-mini .check-concluir {
    width: 15px;
    height: 15px;
    margin-right: 4px;
    vertical-align: middle;
    appearance: none;
    -webkit-appearance: none;
    border: 1.5px solid #50ac18;
    border-radius: 4px;
    background: #ffffff;
    position: relative;
    display: inline-grid;
    place-items: center;
    transition: all 0.16s ease;
    cursor: pointer;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.25);
}

body.dark .evento-mini .check-concluir,
body.dark-mode .evento-mini .check-concluir {
    border-color: #60a5fa;
    background: #0f172a;
    box-shadow: 0 1px 2px rgba(2, 6, 23, 0.55);
}

.evento-mini .check-concluir:checked {
    background-color: #4a9c17;
    border-color: #4a9c17;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='white' d='M6.3 11.8 2.9 8.4l1.1-1.1 2.3 2.3 5.6-5.6L13 5z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 12px 12px;
}

body.dark .evento-mini .check-concluir:checked,
body.dark-mode .evento-mini .check-concluir:checked {
    background-color: #60a5fa;
    border-color: #60a5fa;
}

.evento-mini .check-concluir:focus-visible {
    outline: 2px solid rgba(37, 99, 235, 0.35);
    outline-offset: 1px;
}

.prioridade-bandeira {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 4px;
    font-size: 10px;
    line-height: 1;
    vertical-align: middle;
}

.projeto-dot-mini {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    margin-left: 2px;
    margin-right: 2px;
    vertical-align: middle;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.12);
}

body.dark .projeto-dot-mini,
body.dark-mode .projeto-dot-mini {
    box-shadow: 0 0 0 1px rgba(226, 232, 240, 0.18);
}

.squad-turno-wrap {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-top: 3px;
}

.squad-turno-pill {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
    padding: 3px 6px;
    border-radius: 8px;
    font-size: 10px;
    line-height: 1.2;
    background: rgba(15, 23, 42, 0.06);
    border-left: 3px solid var(--squad-turno-cor, #64748b);
    color: #334155;
}

.squad-turno-pill-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
}

.squad-turno-pill-title {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: 700;
}

.squad-turno-pill-qtd {
    font-weight: 700;
    flex-shrink: 0;
}

.squad-turno-pill-over {
    background: rgba(239, 68, 68, 0.16);
    color: #991b1b;
}

.squad-turno-pill-deficit {
    background: rgba(245, 158, 11, 0.16);
    color: #92400e;
}

.squad-turno-pill-danger-icon {
    color: #dc2626;
    margin-right: 4px;
    font-size: 9px;
    vertical-align: middle;
}

.squad-turno-pill-members {
    display: block;
    white-space: normal;
    word-break: break-word;
}

.squad-turno-pill-member {
    display: block;
}

.squad-turno-pill-extra {
    align-items: center;
    border-left-color: #94a3b8;
}

#linhaEscalasExternas.turnos-squad-highlight .card {
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.22), 0 20px 40px rgba(15, 23, 42, 0.10) !important;
    transition: box-shadow 0.24s ease;
}

body.dark .squad-turno-pill,
body.dark-mode .squad-turno-pill {
    background: rgba(148, 163, 184, 0.16);
    color: #e2e8f0;
}

body.dark .squad-turno-pill.squad-turno-pill-over,
body.dark-mode .squad-turno-pill.squad-turno-pill-over {
    background: rgba(220, 38, 38, 0.30);
    color: #fee2e2;
}

body.dark .squad-turno-pill.squad-turno-pill-deficit,
body.dark-mode .squad-turno-pill.squad-turno-pill-deficit {
    background: rgba(245, 158, 11, 0.26);
    color: #fde68a;
}

/* Dia de hoje fora de sprint: sem fundo/borda extra (apenas badge HOJE) */
.calendar-table td.dia-hoje:not(.dia-sprint):not([data-modulo="tp-ind"]) {
    background-color: transparent !important;
    border-color: var(--border-color) !important;
}

.badge-hoje {
    position: absolute;
    bottom: 4px;
    left: 6px;
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 1px 6px;
    border-radius: 999px;
    background: rgba(236, 72, 153, 0.18);
    color: var(--accent);
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.18);
}

.kanban-responsavel-cell {
    padding: 14px !important;
    background: linear-gradient(180deg, rgba(74, 156, 23, 0.06), rgba(15, 23, 42, 0.02));
}

.kanban-responsavel-board {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.kanban-responsavel-dashboard-wrap {
    margin-top: 14px;
}

.kanban-dashboards-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.kanban-dashboard-card {
    border: 1px solid rgba(148, 163, 184, 0.34);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.9);
    padding: 14px;
}

.kanban-dashboard-topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}

.kanban-dashboard-titulo {
    font-size: 14px;
    font-weight: 800;
    color: #0f172a;
}

.kanban-dashboard-subtitulo {
    font-size: 12px;
    color: var(--text-muted);
}

.kanban-dashboard-badge {
    font-size: 11px;
    font-weight: 800;
    border-radius: 999px;
    padding: 4px 10px;
    color: #4a9c17;
    background: rgba(59, 130, 246, 0.12);
    white-space: nowrap;
}

.kanban-dashboard-kpis {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 10px;
}

.kanban-dashboard-kpi {
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 10px;
    padding: 8px;
    background: rgba(248, 250, 252, 0.88);
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.kanban-dashboard-kpi-valor {
    font-size: 18px;
    line-height: 1;
    font-weight: 800;
    color: #0f172a;
}

.kanban-dashboard-kpi-legenda {
    font-size: 11px;
    font-weight: 700;
    color: var(--text-muted);
    text-transform: uppercase;
}

.kanban-dashboard-grid-secundario {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.kanban-dashboard-box {
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 10px;
    padding: 10px;
    background: rgba(248, 250, 252, 0.82);
}

.kanban-dashboard-box-topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font-size: 12px;
}

.kanban-dashboard-resumo-linha {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 12px;
    color: var(--text-muted);
}

.kanban-dashboard-vazio {
    border: 1px dashed rgba(148, 163, 184, 0.52);
    border-radius: 10px;
    padding: 12px;
    font-size: 12px;
    color: var(--text-muted);
    background: rgba(248, 250, 252, 0.75);
}

.kanban-coluna {
    border: 1px solid rgba(148, 163, 184, 0.34);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.82);
    min-height: 340px;
    display: flex;
    flex-direction: column;
}

.kanban-coluna.is-drop-target {
    background: rgba(14, 165, 233, 0.08);
    box-shadow: inset 0 0 0 1px rgba(14, 165, 233, 0.4);
}

.kanban-coluna-topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 10px 12px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.28);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.kanban-coluna-qtd {
    border-radius: 999px;
    padding: 2px 9px;
    font-size: 11px;
    background: rgba(15, 23, 42, 0.08);
}

.kanban-coluna {
    --kanban-status-cor: #64748b;
}

.kanban-coluna-topo,
.kanban-coluna-titulo,
.kanban-coluna-topo span {
    color: var(--kanban-status-cor);
}

.kanban-coluna-qtd {
    color: var(--kanban-status-cor);
    border: 1px solid rgba(100, 116, 139, 0.22);
}


.kanban-coluna-corpo {
    padding: 10px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.kanban-card-item {
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 10px;
    padding: 10px;
    background: #ffffff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
    cursor: grab;
}

.kanban-card-item.is-dragging {
    opacity: 0.55;
    cursor: grabbing;
}

.kanban-card-topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
}

.kanban-card-titulo {
    font-size: 13px;
    line-height: 1.25;
}

.kanban-prioridade {
    font-size: 11px;
    white-space: nowrap;
}

.kanban-card-meta {
    margin-top: 6px;
    color: var(--text-muted);
    font-size: 12px;
}

.kanban-card-chips {
    margin-top: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.kanban-chip {
    display: inline-flex;
    align-items: center;
    border: 1px solid rgba(148, 163, 184, 0.45);
    border-radius: 999px;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 700;
    color: var(--text-muted);
    background: rgba(248, 250, 252, 0.9);
}

.kanban-chip-projeto {
    background: rgba(255, 255, 255, 0.96);
}

.kanban-chip-projeto.is-sprint {
    border-style: dashed;
}

.kanban-card-acoes {
    margin-top: 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
}

.kanban-arraste-hint {
    font-size: 11px;
    color: var(--text-muted);
}

.kanban-coluna-corpo {
    flex: 1;
}

.kanban-coluna-vazia,
.kanban-responsavel-vazio {
    border: 1px dashed rgba(148, 163, 184, 0.52);
    border-radius: 10px;
    padding: 12px;
    font-size: 12px;
    color: var(--text-muted);
    background: rgba(248, 250, 252, 0.75);
}

@media (max-width: 991.98px) {
    .kanban-responsavel-board {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .kanban-coluna {
        min-height: 0;
    }

    .kanban-dashboards-grid {
        grid-template-columns: 1fr;
    }

    .kanban-dashboard-topo {
        flex-direction: column;
    }

    .kanban-dashboard-badge {
        white-space: normal;
    }

    .kanban-dashboard-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .kanban-dashboard-grid-secundario {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .kanban-responsavel-board {
        grid-template-columns: 1fr;
    }
}

body.dark .kanban-responsavel-cell {
    background: linear-gradient(180deg, rgba(30, 41, 59, 0.72), rgba(15, 23, 42, 0.86));
}

body.dark .kanban-coluna {
    background: rgba(15, 23, 42, 0.78);
    border-color: rgba(148, 163, 184, 0.26);
}

body.dark .kanban-dashboard-card,
body.dark .kanban-dashboard-kpi,
body.dark .kanban-dashboard-box,
body.dark .kanban-dashboard-vazio {
    background: rgba(15, 23, 42, 0.82);
    color: #e2e8f0;
    border-color: rgba(148, 163, 184, 0.3);
}

body.dark .kanban-dashboard-titulo,
body.dark .kanban-dashboard-kpi-valor {
    color: #e2e8f0;
}

body.dark .kanban-dashboard-subtitulo,
body.dark .kanban-dashboard-kpi-legenda,
body.dark .kanban-dashboard-resumo-linha {
    color: #94a3b8;
}

body.dark .kanban-dashboard-badge {
    color: #93c5fd;
    background: rgba(59, 130, 246, 0.2);
}

body.dark .kanban-coluna-qtd,
body.dark .kanban-chip,
body.dark .kanban-coluna-vazia,
body.dark .kanban-responsavel-vazio,
body.dark .kanban-card-item {
    background: rgba(15, 23, 42, 0.82);
    color: #e2e8f0;
    border-color: rgba(148, 163, 184, 0.3);
}

body.dark .kanban-card-meta {
    color: #94a3b8;
}

/* ============================================
   MINI CALENDÁRIO DO MEMBRO (KANBAN RESPONSÁVEL)
   ============================================ */

/* Cartõezinhos com faixa colorida à esquerda */
.meta-card,
.evento-hoje-item,
.evento-atrasado-linha {
    border-radius: 10px;
    padding: 8px 10px;
    margin-bottom: 6px;
    background: linear-gradient(90deg, rgba(148, 163, 184, 0.10), transparent);
    box-shadow: 0 2px 4px rgba(15, 23, 42, 0.08);
    border: 1px solid rgba(148, 163, 184, 0.15);
    overflow: hidden;
}

.meta-card.atrasada {
    background: linear-gradient(90deg, rgba(239, 68, 68, 0.08), transparent);
}

/* Lista painel hoje / atrasados */
.lista-hoje,
.lista-atrasados {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.painel-hoje-details {
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 10px;
    padding: 8px 10px;
    background: rgba(148, 163, 184, 0.08);
}

.painel-hoje-summary {
    cursor: pointer;
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--text-muted);
}

.painel-hoje-summary::-webkit-details-marker {
    color: var(--primary);
}

body.dark .painel-hoje-details {
    border-color: rgba(148, 163, 184, 0.34);
    background: rgba(15, 23, 42, 0.55);
}

/* Barra de progresso do dia mais suave */
.barra-dia-container {
    width: 100%;
    height: 6px;
    background: rgba(148, 163, 184, 0.25);
    border-radius: 999px;
    overflow: hidden;
}

.barra-dia-progresso {
    height: 100%;
    background: linear-gradient(90deg, var(--primary), var(--accent));
}

.sprints-container {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sprint-card-item {
    border: 1px solid rgba(245, 158, 11, 0.28);
    border-left: 4px solid #d9a400;
    border-radius: 12px;
    padding: 10px;
    background: linear-gradient(90deg, rgba(245, 158, 11, 0.12), rgba(245, 158, 11, 0.03));
}

.sprint-card-title {
    color: #7a5d00;
    min-width: 0;
}

.sprint-card-title-text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sprint-progress {
    width: 100%;
    height: 8px;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(148, 163, 184, 0.25);
}

.sprint-progress-bar {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #f59e0b, #d97706);
}

.lista-bandeiras-prioridade {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.bandeira-ranking-item {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-left: 4px solid var(--primary);
    border-radius: 10px;
    background: rgba(148, 163, 184, 0.08);
    padding: 7px 9px;
}

.bandeira-ranking-indice {
    font-size: 11px;
    font-weight: 800;
    color: var(--text-muted);
    min-width: 24px;
}

.bandeira-ranking-conteudo {
    display: inline-flex;
    align-items: center;
    font-weight: 700;
    color: var(--text-main);
    flex: 1;
}

.bandeira-ranking-total {
    font-size: 12px;
    font-weight: 800;
    color: var(--text-main);
    background: rgba(148, 163, 184, 0.22);
    border-radius: 999px;
    padding: 1px 8px;
}

#cardRankingCategorias {
    border: 1px solid rgba(74, 156, 23, 0.18) !important;
    background:
        radial-gradient(circle at 88% 14%, rgba(236, 72, 153, 0.12), transparent 44%),
        radial-gradient(circle at 12% 88%, rgba(56, 189, 248, 0.14), transparent 45%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.94) 0%, rgba(248, 250, 252, 0.94) 100%);
}

.ranking-categorias-vazio {
    font-size: 13px;
    color: var(--text-muted);
    background: rgba(148, 163, 184, 0.12);
    border: 1px dashed rgba(148, 163, 184, 0.38);
    border-radius: 12px;
    padding: 12px;
}

.ranking-categorias-shell {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
}

.ranking-categorias-grafico-wrap {
    position: relative;
    height: 320px;
    border-radius: 14px;
    padding: 14px;
    background: rgba(255, 255, 255, 0.84);
    border: 1px solid rgba(148, 163, 184, 0.3);
    box-shadow: 0 10px 20px -20px rgba(15, 23, 42, 0.65);
    display: flex;
    align-items: center;
    justify-content: center;
}

.ranking-categorias-grafico-wrap::after {
    content: '';
    position: absolute;
    inset: 10px;
    border-radius: 12px;
    pointer-events: none;
    border: 1px dashed rgba(148, 163, 184, 0.2);
}

.ranking-categorias-grafico-wrap canvas {
    width: min(100%, 300px) !important;
    height: min(100%, 300px) !important;
    max-width: 100%;
    max-height: 100%;
}

.ranking-categorias-legenda {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
}

.ranking-categorias-resumo {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.ranking-categorias-resumo-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    color: var(--text-muted);
    border: 1px solid rgba(148, 163, 184, 0.3);
    border-radius: 999px;
    padding: 3px 10px;
    background: rgba(248, 250, 252, 0.86);
}

.ranking-categorias-resumo-item strong {
    color: var(--text-main);
    font-size: 12px;
}

.ranking-categorias-legenda-wrap {
    border: 1px solid rgba(148, 163, 184, 0.26);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.64);
    padding: 10px;
}

.ranking-categorias-legenda-titulo {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--text-muted);
    margin-bottom: 8px;
}

.ranking-categorias-legenda {
    max-height: 210px;
    overflow: auto;
    padding-right: 2px;
}

.ranking-categorias-legenda::-webkit-scrollbar {
    width: 6px;
}

.ranking-categorias-legenda::-webkit-scrollbar-thumb {
    background: rgba(148, 163, 184, 0.5);
    border-radius: 999px;
}

.ranking-categorias-item {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    border-radius: 12px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: rgba(248, 250, 252, 0.84);
    padding: 9px 10px;
}

.ranking-categorias-item.is-top {
    border-color: rgba(245, 158, 11, 0.42);
    background: linear-gradient(90deg, rgba(245, 158, 11, 0.22), rgba(245, 158, 11, 0.06));
}

.ranking-categorias-indice {
    font-size: 11px;
    font-weight: 800;
    color: var(--text-muted);
    min-width: 20px;
}

.ranking-categorias-dot {
    width: 11px;
    height: 11px;
    border-radius: 999px;
    background: var(--cat-cor, #94a3b8);
    box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.1);
}

.ranking-categorias-nome {
    font-size: 13px;
    font-weight: 700;
    color: var(--text-main);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ranking-categorias-meta {
    font-size: 12px;
    font-weight: 800;
    color: var(--text-main);
    text-align: right;
    white-space: nowrap;
}

/* ============================================
   CONTROLES DA MODAL (CATEGORIA / COR / +)
   ============================================ */

/* Ajuste de layout na modal: categoria, cor e botão + na mesma linha */
.btn-cor-categoria {
    height: 32px !important;
    padding: 0;
    flex-grow: 1;
}

.btn-add-categoria {
    height: 32px;
    width: 32px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
}

/* ============================================
   DASHBOARD E INSIGHTS
   ============================================ */

.stat-card {
    transition: var(--transition);
}

.stat-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow);
}

.insight-card-pro {
    border: 1px solid var(--border-color);
    border-left: 4px solid var(--primary);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(74, 156, 23, 0.04), rgba(74, 156, 23, 0.01));
    transition: var(--transition);
}

.info-card-pro {
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
}

.insight-card-pro:hover {
    box-shadow: var(--shadow);
}

.insights-shell {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.insight-head {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.insight-eyebrow {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--text-muted);
}

.insight-title {
    margin: 0;
    font-weight: 800;
}

.insight-subtitle {
    margin: 0;
    font-size: 12px;
    color: var(--text-muted);
}

.insight-kpi {
    background: rgba(74, 156, 23, 0.06);
    border: 1px solid rgba(74, 156, 23, 0.16);
    border-radius: 12px;
    padding: 10px;
}

.insight-kpi-topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 8px;
}

.insight-kpi-label {
    font-size: 12px;
    font-weight: 700;
    color: var(--text-muted);
}

.insight-kpi-valor {
    font-size: 20px;
    font-weight: 800;
    line-height: 1.1;
    color: var(--text-main);
    margin-bottom: 4px;
}

.insight-kpi-foot {
    font-size: 12px;
    color: var(--text-muted);
}

.insight-kpi-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.insight-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.insight-kpi-main {
    min-height: 0;
}

.insight-kpi-half,
.insight-kpi-mini {
    min-height: 100%;
}

.insight-kpi-inline-meta {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid rgba(148, 163, 184, 0.22);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font-size: 12px;
}

.insight-kpi-inline-label {
    color: var(--text-muted);
    font-weight: 700;
}

.insight-kpi-valor-small {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
}

.insight-kpi-valor-compact {
    font-size: 14px;
    margin-bottom: 6px;
}

.insight-resps-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.insight-resp {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.12);
    border: 1px solid rgba(148, 163, 184, 0.22);
    font-size: 12px;
    font-weight: 600;
}

.insight-resp-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #e5e7eb;
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
    flex-shrink: 0;
}

.insight-progress {
    width: 100%;
    height: 8px;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(148, 163, 184, 0.28);
    margin-bottom: 6px;
}

.insight-progress-bar {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--primary), var(--secondary));
}

.insight-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.insight-item {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    font-size: 13px;
    line-height: 1.35;
    color: var(--text-main);
    background: rgba(148, 163, 184, 0.08);
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 10px;
    padding: 8px 10px;
}

.insight-item-icon {
    line-height: 1.2;
    font-size: 14px;
}

.insight-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 3px 9px;
    font-size: 11px;
    font-weight: 700;
    border: 1px solid transparent;
}

.insight-badge.is-up {
    color: #065f46;
    background: rgba(16, 185, 129, 0.16);
    border-color: rgba(16, 185, 129, 0.28);
}

.insight-badge.is-down {
    color: #991b1b;
    background: rgba(239, 68, 68, 0.16);
    border-color: rgba(239, 68, 68, 0.28);
}

.insight-badge.is-neutral {
    color: #475569;
    background: rgba(148, 163, 184, 0.2);
    border-color: rgba(148, 163, 184, 0.3);
}

.comparacao-toolbar {
    display: flex;
    flex-direction: column;
}

.comparacao-toolbar-sprints {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
}

.comparacao-toolbar .insight-select {
    max-width: 180px;
}

.comparacao-toolbar-sprints .insight-select {
    max-width: 100%;
}

@media (min-width: 768px) {
    .comparacao-toolbar-sprints {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.insight-compare-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
}

.insight-compare-card {
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 10px;
    background: rgba(148, 163, 184, 0.08);
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.insight-compare-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-muted);
}

.insight-compare-values {
    font-size: 15px;
    font-weight: 800;
    color: var(--text-main);
}

.insight-compare-values span {
    font-size: 11px;
    font-weight: 600;
    color: var(--text-muted);
    margin: 0 4px;
}

.insight-empty-state {
    font-size: 13px;
    color: var(--text-muted);
    background: rgba(148, 163, 184, 0.1);
    border: 1px dashed rgba(148, 163, 184, 0.45);
    border-radius: 12px;
    padding: 12px;
}

.fila-operacional-lista {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.fila-sprint-section {
    border: 1px solid rgba(148, 163, 184, 0.32);
    border-radius: 14px;
    overflow: hidden;
    background: rgba(148, 163, 184, 0.06);
}

.fila-sprint-summary {
    list-style: none;
    display: grid;
    grid-template-columns: minmax(180px, 1fr) auto auto;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    padding: 12px 14px;
    border-left: 4px solid var(--fila-sprint-cor, var(--primary));
}

.fila-sprint-summary::-webkit-details-marker {
    display: none;
}

.fila-sprint-summary::after {
    content: '\f078';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    color: var(--text-muted);
    margin-left: auto;
    transition: transform 0.2s ease;
}

.fila-sprint-section[open] .fila-sprint-summary::after {
    transform: rotate(180deg);
}

.fila-sprint-titulo {
    font-weight: 800;
    color: var(--text-main);
    min-width: 0;
}

.fila-sprint-meta {
    font-size: 12px;
    color: var(--text-muted);
}

.fila-sprint-count {
    font-size: 12px;
    font-weight: 700;
    color: #0f766e;
    background: rgba(13, 148, 136, 0.16);
    border: 1px solid rgba(13, 148, 136, 0.28);
    border-radius: 999px;
    padding: 3px 10px;
}

.fila-sprint-body {
    padding: 10px 14px 14px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.fila-sprint-body-gerencial {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 10px;
}

.fila-item-operacional {
    --fila-item-border: rgba(59, 130, 246, 0.7);
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-left: 4px solid var(--fila-item-border);
    border-radius: 10px;
    padding: 10px 12px;
    background: #ffffff;
}

.fila-item-operacional.fila-item-gerencial {
    --fila-item-top-border: rgba(59, 130, 246, 0.7);
    border-left-width: 1px;
    border-top: 4px solid var(--fila-item-top-border);
    min-height: 118px;
}

.fila-item-operacional.is-atrasado {
    border-left-color: rgba(239, 68, 68, 0.72);
    background: rgba(254, 226, 226, 0.52);
}

.fila-item-operacional.is-planejado {
    border-left-color: rgba(14, 165, 233, 0.72);
}

.fila-item-operacional.is-concluido {
    border-left-color: rgba(22, 163, 74, 0.72);
    background: #dcfce7;
}

.fila-item-operacional.is-concluido .fila-item-titulo {
    text-decoration: line-through;
    text-decoration-thickness: 1.5px;
    color: #166534;
}

.fila-item-topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 6px;
}

.fila-item-titulo {
    font-size: 14px;
    line-height: 1.3;
}

.fila-item-status {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    border-radius: 999px;
    padding: 2px 8px;
    border: 1px solid transparent;
    white-space: nowrap;
}

.fila-item-status.is-atrasado {
    color: #991b1b;
    background: rgba(239, 68, 68, 0.16);
    border-color: rgba(239, 68, 68, 0.34);
}

.fila-item-status.is-planejado {
    color: #075985;
    background: rgba(14, 165, 233, 0.16);
    border-color: rgba(14, 165, 233, 0.34);
}

.fila-item-status.is-concluido {
    color: #166534;
    background: rgba(34, 197, 94, 0.2);
    border-color: rgba(22, 163, 74, 0.4);
}

.fila-item-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 12px;
    color: var(--text-muted);
}

.fila-item-meta .fila-item-responsavel-prioridade {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
}

.fila-item-prioridade {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    border: 1px solid transparent;
}

.fila-item-prioridade.prioridade-baixa {
    color: #4a9c17;
    background: rgba(59, 130, 246, 0.12);
    border-color: rgba(59, 130, 246, 0.22);
}

.fila-item-prioridade.prioridade-media {
    color: #51a81a;
    background: rgba(124, 58, 237, 0.12);
    border-color: rgba(124, 58, 237, 0.22);
}

.fila-item-prioridade.prioridade-alta {
    color: #c2410c;
    background: rgba(249, 115, 22, 0.14);
    border-color: rgba(249, 115, 22, 0.24);
}

.fila-item-prioridade.prioridade-critica {
    color: #b91c1c;
    background: rgba(239, 68, 68, 0.14);
    border-color: rgba(239, 68, 68, 0.24);
}

@media (max-width: 768px) {
    .fila-sprint-summary {
        grid-template-columns: 1fr;
    }

    .fila-sprint-summary::after {
        margin-left: 0;
        justify-self: end;
    }

    .fila-sprint-count {
        width: fit-content;
    }

    .fila-sprint-body-gerencial {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 992px) {
    .insight-compare-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .insight-card-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .insight-kpi-grid {
        grid-template-columns: 1fr;
    }
}

body.dark .insight-card-pro {
    background: linear-gradient(180deg, rgba(110, 199, 55, 0.14), rgba(15, 23, 42, 0.2));
}

body.dark .insight-kpi {
    background: rgba(74, 156, 23, 0.18);
    border-color: rgba(110, 199, 55, 0.26);
}

body.dark .insight-kpi-inline-meta {
    border-top-color: rgba(148, 163, 184, 0.28);
}

body.dark .insight-resp {
    background: rgba(148, 163, 184, 0.12);
    border-color: rgba(148, 163, 184, 0.24);
}

body.dark .insight-resp-avatar {
    background: rgba(226, 232, 240, 0.12);
    color: #e2e8f0;
}

body.dark .insight-item,
body.dark .insight-compare-card,
body.dark .insight-empty-state {
    background: rgba(148, 163, 184, 0.12);
    border-color: rgba(148, 163, 184, 0.3);
}

body.dark .fila-sprint-section {
    background: rgba(148, 163, 184, 0.08);
    border-color: rgba(148, 163, 184, 0.38);
}

body.dark .fila-item-operacional {
    background: rgba(15, 23, 42, 0.42);
    border-color: rgba(148, 163, 184, 0.34);
}

body.dark .fila-item-operacional.is-atrasado {
    background: rgba(127, 29, 29, 0.25);
}

body.dark .fila-item-operacional.is-concluido {
    background: rgba(34, 197, 94, 0.22);
    border-color: rgba(74, 222, 128, 0.4);
    border-top-color: rgba(74, 222, 128, 0.5);
}

body.dark .fila-item-operacional.is-concluido .fila-item-titulo {
    color: #bbf7d0;
}

body.dark .fila-sprint-count {
    color: #99f6e4;
    background: rgba(13, 148, 136, 0.22);
    border-color: rgba(45, 212, 191, 0.35);
}

body.dark .fila-item-status.is-atrasado {
    color: #fecaca;
    background: rgba(239, 68, 68, 0.22);
    border-color: rgba(248, 113, 113, 0.4);
}

body.dark .fila-item-status.is-planejado {
    color: #bae6fd;
    background: rgba(14, 165, 233, 0.2);
    border-color: rgba(56, 189, 248, 0.38);
}

body.dark .fila-item-status.is-concluido {
    color: #bbf7d0;
    background: rgba(34, 197, 94, 0.28);
    border-color: rgba(74, 222, 128, 0.42);
}

body.dark .insight-badge.is-up {
    color: #6ee7b7;
    background: rgba(16, 185, 129, 0.2);
    border-color: rgba(16, 185, 129, 0.35);
}

body.dark .insight-badge.is-down {
    color: #fca5a5;
    background: rgba(239, 68, 68, 0.2);
    border-color: rgba(239, 68, 68, 0.35);
}

body.dark .insight-badge.is-neutral {
    color: #cbd5e1;
    background: rgba(148, 163, 184, 0.2);
    border-color: rgba(148, 163, 184, 0.35);
}

body.dark .sprint-card-item {
    background: linear-gradient(90deg, rgba(245, 158, 11, 0.2), rgba(148, 163, 184, 0.08));
    border-color: rgba(245, 158, 11, 0.35);
}

body.dark #cardRankingCategorias {
    border-color: rgba(110, 199, 55, 0.34) !important;
    background:
        radial-gradient(circle at 88% 12%, rgba(217, 70, 239, 0.2), transparent 42%),
        radial-gradient(circle at 12% 88%, rgba(14, 165, 233, 0.22), transparent 45%),
        linear-gradient(180deg, rgba(15, 23, 42, 0.96) 0%, rgba(2, 6, 23, 0.96) 100%);
}

body.dark .ranking-categorias-grafico-wrap {
    background: rgba(15, 23, 42, 0.78);
    border-color: rgba(148, 163, 184, 0.46);
}

body.dark .ranking-categorias-grafico-wrap::after {
    border-color: rgba(148, 163, 184, 0.34);
}

body.dark .ranking-categorias-item {
    border-color: rgba(148, 163, 184, 0.42);
    background: rgba(30, 41, 59, 0.76);
}

body.dark .ranking-categorias-resumo-item {
    background: rgba(15, 23, 42, 0.74);
    border-color: rgba(148, 163, 184, 0.42);
    color: #cbd5e1;
}

body.dark .ranking-categorias-resumo-item strong {
    color: #f8fafc;
}

body.dark .ranking-categorias-legenda-wrap {
    background: rgba(15, 23, 42, 0.68);
    border-color: rgba(148, 163, 184, 0.4);
}

body.dark .ranking-categorias-item.is-top {
    border-color: rgba(245, 158, 11, 0.42);
    background: linear-gradient(90deg, rgba(245, 158, 11, 0.26), rgba(30, 41, 59, 0.58));
}

body.dark .ranking-categorias-vazio {
    background: rgba(30, 41, 59, 0.45);
    border-color: rgba(148, 163, 184, 0.42);
}

@media (min-width: 992px) {
    .ranking-categorias-legenda {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575px) {
    .ranking-categorias-grafico-wrap {
        height: 260px;
    }

    .ranking-categorias-item {
        grid-template-columns: auto auto 1fr;
    }

    .ranking-categorias-meta {
        grid-column: 1 / -1;
        text-align: left;
        padding-left: 30px;
    }
}

body.dark .sprint-card-title {
    color: #fcd34d;
}

body.dark .badge-sprint-evento {
    color: #fde68a;
    background: rgba(217, 164, 0, 0.32);
    border-color: rgba(252, 211, 77, 0.45);
}

.metas-container .meta-item {
    padding: 12px 0;
    border-bottom: 1px solid var(--border-color);
}

.metas-container .meta-item:last-child {
    border-bottom: none;
}

.progress {
    height: 8px;
    border-radius: 4px;
}

/* ============================================
   GRÁFICO DE CATEGORIAS (PADRÃO TURNOS)
   ============================================ */

#dashboardMensal .chart-box {
    background: var(--bs-light-bg-subtle, #f8fafc);
}

#dashboardMensal .chart-box .chart-container {
    position: relative;
    height: 180px;
    width: 100%;
}

/* ============================================
   DASHBOARD PRODUTIVIDADE GERAL
   ============================================ */

#cardProdutividadeGeral {
    border: 1px solid rgba(148, 163, 184, 0.22) !important;
    overflow: hidden;
}

#cardProdutividadeGeral .produtividade-geral-header {
    background:
        radial-gradient(circle at 12% 18%, rgba(14, 165, 233, 0.14), transparent 42%),
        radial-gradient(circle at 86% 22%, rgba(74, 156, 23, 0.16), transparent 45%),
        linear-gradient(180deg, rgba(248, 250, 252, 0.96) 0%, rgba(255, 255, 255, 0.96) 100%);
    border-bottom: 1px solid rgba(148, 163, 184, 0.2);
}

.produtividade-header-eyebrow {
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--primary);
}

#cardProdutividadeGeral .produtividade-geral-card {
    background: transparent;
}

.produtividade-kpi-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.produtividade-geral-kpi {
    background: linear-gradient(145deg, rgba(248, 250, 252, 0.98), #ffffff);
    border-color: rgba(148, 163, 184, 0.32) !important;
    transition: var(--transition);
    position: relative;
    overflow: hidden;
}

.produtividade-geral-kpi::after {
    content: '';
    position: absolute;
    inset: auto -30% -55% auto;
    width: 130px;
    height: 130px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(74, 156, 23, 0.12), transparent 68%);
    pointer-events: none;
}

.produtividade-geral-kpi:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 20px -16px rgba(15, 23, 42, 0.45);
}

.produtividade-kpi-destaque {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.14), rgba(59, 130, 246, 0.08));
}

.produtividade-periodo-nav {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.8);
    border: 1px solid rgba(148, 163, 184, 0.28);
    box-shadow: 0 10px 20px -18px rgba(15, 23, 42, 0.55);
}

.produtividade-periodo-label {
    min-width: 136px;
    text-align: center;
    font-size: 12px;
    font-weight: 800;
    color: var(--text-main);
}

.produtividade-periodo-btn {
    width: 30px;
    height: 30px;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    color: var(--text-main);
    background: rgba(255, 255, 255, 0.94);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    padding: 0;
    transition: var(--transition);
}

.produtividade-periodo-btn:hover {
    background: rgba(74, 156, 23, 0.12);
    color: var(--primary);
    border-color: rgba(74, 156, 23, 0.4);
}

.produtividade-geral-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.produtividade-mes-item {
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 14px;
    padding: 11px;
    background: linear-gradient(160deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.98));
    transition: var(--transition);
}

.produtividade-mes-item:hover {
    transform: translateY(-2px);
    border-color: rgba(74, 156, 23, 0.4);
}

.produtividade-mes-item.is-atual {
    border-color: rgba(14, 165, 233, 0.5);
    box-shadow: inset 0 0 0 1px rgba(14, 165, 233, 0.3);
}

.produtividade-mes-topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 8px;
}

.produtividade-mes-nome {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-muted);
}

.produtividade-mes-barra {
    height: 6px;
    border-radius: 999px;
    overflow: hidden;
    margin-bottom: 8px;
    background: rgba(148, 163, 184, 0.25);
}

.produtividade-mes-barra-fill {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #0ea5e9, #22c55e);
}

.produtividade-mes-item.is-down .produtividade-mes-barra-fill {
    background: linear-gradient(90deg, #fb7185, #ef4444);
}

.produtividade-mes-item.is-neutral .produtividade-mes-barra-fill {
    background: linear-gradient(90deg, #94a3b8, #64748b);
}

.produtividade-mes-linha {
    font-size: 13px;
    color: var(--text-main);
    line-height: 1.35;
}

.produtividade-mes-saldo {
    color: var(--text-muted);
}

#cardProdutividadeGeral.taxa-up .produtividade-geral-card {
    box-shadow: inset 0 0 0 1px rgba(16, 185, 129, 0.22);
}

#cardProdutividadeGeral.taxa-neutral .produtividade-geral-card {
    box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.3);
}

#cardProdutividadeGeral.taxa-down .produtividade-geral-card {
    box-shadow: inset 0 0 0 1px rgba(239, 68, 68, 0.24);
}

@media (min-width: 992px) {
    .produtividade-kpi-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .produtividade-geral-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 575px) {
    .produtividade-kpi-grid {
        grid-template-columns: 1fr;
    }

    .produtividade-periodo-label {
        min-width: 120px;
        font-size: 11px;
    }

    .produtividade-geral-grid {
        grid-template-columns: 1fr;
    }
}

body.dark #dashboardMensal .card-header .badge {
    background-color: rgba(74, 156, 23, 0.22) !important;
    color: #c7d2fe !important;
    border: 1px solid rgba(110, 199, 55, 0.35);
}

body.dark #cardProdutividadeGeral .produtividade-geral-card {
    background: transparent;
}

body.dark #cardProdutividadeGeral {
    border-color: rgba(148, 163, 184, 0.35) !important;
}

body.dark #cardProdutividadeGeral .produtividade-geral-header {
    background:
        radial-gradient(circle at 10% 18%, rgba(56, 189, 248, 0.2), transparent 44%),
        radial-gradient(circle at 84% 22%, rgba(110, 199, 55, 0.22), transparent 48%),
        linear-gradient(180deg, rgba(15, 23, 42, 0.95) 0%, rgba(2, 6, 23, 0.95) 100%);
    border-bottom-color: rgba(148, 163, 184, 0.3);
}

body.dark .produtividade-periodo-nav {
    background: rgba(15, 23, 42, 0.78);
    border-color: rgba(148, 163, 184, 0.35);
}

body.dark .produtividade-periodo-btn {
    background: rgba(30, 41, 59, 0.86);
    border-color: rgba(148, 163, 184, 0.38);
    color: #e2e8f0;
}

body.dark .produtividade-periodo-btn:hover {
    background: rgba(74, 156, 23, 0.26);
    border-color: rgba(110, 199, 55, 0.45);
    color: #c7d2fe;
}

body.dark .produtividade-geral-kpi {
    background: linear-gradient(145deg, rgba(15, 23, 42, 0.88), rgba(30, 41, 59, 0.92));
    border-color: rgba(148, 163, 184, 0.34) !important;
}

body.dark .produtividade-kpi-destaque {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.22), rgba(14, 165, 233, 0.2));
}

body.dark .produtividade-mes-item {
    background: linear-gradient(160deg, rgba(15, 23, 42, 0.86), rgba(30, 41, 59, 0.84));
    border-color: rgba(148, 163, 184, 0.34);
}

body.dark .produtividade-mes-item:hover {
    border-color: rgba(110, 199, 55, 0.45);
}

body.dark .produtividade-mes-item.is-atual {
    border-color: rgba(56, 189, 248, 0.5);
    box-shadow: inset 0 0 0 1px rgba(56, 189, 248, 0.35);
}

body.dark .produtividade-mes-barra {
    background: rgba(148, 163, 184, 0.25);
}

body.dark .produtividade-mes-saldo {
    color: #cbd5e1;
}

/* ============================================
   RESPONSIVIDADE E IMPRESSÃO
   ============================================ */

@media (max-width: 768px) {
    .cell-dia-inner {
        --altura-dia-base: 60px;
    }
}

@media print {

    .calendar-nav,
    .btn,
    .page-header,
    .card {
        display: none !important;
    }

    .calendar-table td {
        height: 50px !important;
        border: 1px solid #000 !important;
    }
}

body.tamara-pro.modo-planejamento #grupoTipoTurnos {
    display: none;
}

#grupoTipoTurnos {
    display: none;
}

/* ================================
    MODO AGENDA - CALENDÁRIO
   ================================ */

/* Tabela fixa e cabeçalho */
body.tamara-pro.modo-planejamento .calendar-table {
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
}

body.tamara-pro.modo-planejamento .calendar-table th {
    padding: 12px;
    text-align: center;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.05em;
}

/* Quadrados dos dias – altura levemente maior (+2px) */
body.tamara-pro.modo-planejamento .calendar-table td,
body.tamara-pro.modo-projetos .calendar-table td {
    height: calc(122px + var(--extra-altura-dia, 0px)) !important;
    /* cresce 3px por item acima do limite */
    padding: 8px !important;
    vertical-align: top;
}

/* O “quadrado interno” do dia precisa acompanhar a altura,
   senão os eventos ficam cortados */
body.tamara-pro.modo-planejamento .cell-dia-inner,
body.tamara-pro.modo-projetos .cell-dia-inner {
    position: relative;
    padding: 6px;
    --altura-dia-base: 110px;
    height: calc(var(--altura-dia-base) + var(--extra-altura-dia, 0px));
    min-height: calc(var(--altura-dia-base) + var(--extra-altura-dia, 0px));
    max-height: none;
    box-sizing: border-box;
    overflow: visible;
}

/* Reserva área real para o topo (número do dia)
   e rodapé */
/* body.tamara-pro .eventos-container {
    position: absolute;
    left: 4px;
    right: 4px;
    top: 24px;
    bottom: 24px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    overflow: visible;
    z-index: 1;
} */

/* Número do dia sempre acima das badges */
body.tamara-pro .dia-num,
body.tamara-pro .dia-numero {
    position: absolute;
    top: 4px;
    right: 6px;
    z-index: 5;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    background: transparent;
    padding: 0;
    border-radius: 0;
}

/* ================================
   FESTIVOS + HOJE – POSICIONAMENTO
   ================================ */


/* Badge “HOJE” no canto INFERIOR DIREITO */
body.tamara-pro .badge-hoje {
    position: absolute;
    bottom: 4px;
    right: 6px;
    left: auto;
    z-index: 4;
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--accent);
    background-color: rgba(236, 72, 153, 0.1);
    padding: 2px 6px;
    border-radius: 999px;
}

/* Dia de hoje no tema tamara-pro também sem destaque extra, exceto em sprint */
body.tamara-pro .calendar-table td.dia-hoje:not(.dia-sprint):not([data-modulo="tp-ind"]) {
    background-color: transparent !important;
    border-color: var(--border-color) !important;
}

/* ================================
   EVENTOS NOS QUADRADOS
   ================================ */

/* Cartãozinho mini de evento no calendário mensal */
body.tamara-pro .evento-mini {
    position: relative;
    z-index: 1;
    border-radius: 8px;
    font-size: 10px;
    line-height: 1.2;
    cursor: pointer;
}

/* Quando o evento for concluído:
   - mantém a cor
   - fica mais clarinho
   - título riscado */
body.tamara-pro .evento-mini.concluido {
    opacity: 0.6;
}

body.tamara-pro .evento-mini.concluido .titulo-evento {
    text-decoration: line-through;
}

body.tamara-pro .evento-mini.evento-cancelado {
    background: rgba(239, 68, 68, 0.16) !important;
    border-left-color: #ef4444 !important;
    color: #b91c1c !important;
    box-shadow: 0 0 0 1px rgba(220, 38, 38, 0.35);
}

body.tamara-pro .evento-mini.evento-cancelado .titulo-evento {
    text-decoration: line-through;
    text-decoration-thickness: 1.5px;
}

body.dark .evento-mini.evento-cancelado,
body.dark-mode .evento-mini.evento-cancelado {
    background: rgba(220, 38, 38, 0.24) !important;
    border-left-color: #ef4444 !important;
    color: #fecaca !important;
}

/* Atrasados (dias anteriores, não concluídos):
   reforça o visual além do border vermelho vindo do JS */
body.tamara-pro .evento-mini.evento-atrasado {
    box-shadow: 0 0 0 1px rgba(220, 38, 38, 0.4);
}

body.tamara-pro .evento-mini.evento-sprint {
    box-shadow: 0 0 0 1px rgba(217, 164, 0, 0.45);
}

.badge-sprint-evento {
    display: inline-block;
    margin-left: 4px;
    padding: 1px 5px;
    border-radius: 999px;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #7a5d00;
    background: rgba(245, 158, 11, 0.26);
    border: 1px solid rgba(217, 164, 0, 0.45);
}

/* Checkbox de conclusão sempre pequeninho */
body.tamara-pro .evento-mini .check-concluir {
    transform: scale(0.85);
    margin-right: 2px;
}

/* ================================
   MINI-MESES (VISUALIZAÇÃO ANO)
   ================================ */

/* Grade 7 colunas (Dom–Sáb) dentro de cada mês */
body.tamara-pro .mini-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 2px;
}

/* Quadradinho de dia na visão anual */
body.tamara-pro .mini-dia {
    font-size: 9px;
    text-align: center;
    padding: 2px 0;
    border-radius: 4px;
    background-color: rgba(148, 163, 184, 0.05);
}

body.dark .mini-mes {
    background-color: #0f172a !important;
    border-color: #334155 !important;
}

body.dark .mini-mes .fw-bold,
body.dark .mini-mes .small {
    color: #e2e8f0 !important;
}

body.dark body.tamara-pro .mini-dia,
body.dark .mini-dia {
    background-color: rgba(148, 163, 184, 0.16);
    color: #e2e8f0;
}

body.dark .mini-dia.mini-evento {
    background-color: rgba(74, 156, 23, 0.28);
    color: #e0e7ff;
}


/* ================================
   AJUSTES MÍNIMOS VISUAIS
   ================================ */

/* Quando tiver muitos itens, não corta o final do dia */
/* body.tamara-pro .cell-dia-inner.muitos-itens {
    max-height: none;
} */

.whatsapp-float {
    position: fixed;
    bottom: 20px;
    left: 20px;
    width: 60px;
    height: 60px;
    background-color: #25D366;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    z-index: 9999;
    cursor: pointer;
    transition: transform 0.2s ease;
}

.whatsapp-float:hover {
    transform: scale(1.1);
}

/* Ícone */
.whatsapp-float img {
    width: 35px;
    height: 35px;
}

/* Tooltip */
.whatsapp-tooltip {
    position: absolute;
    left: 75px;
    bottom: 15px;
    background: #111;
    color: #fff;
    padding: 6px 10px;
    border-radius: 6px;
    font-size: 13px;
    opacity: 0;
    transition: opacity 0.2s ease;
    white-space: nowrap;
    pointer-events: none;
}

.whatsapp-float:hover .whatsapp-tooltip {
    opacity: 1;
}

.help-float {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 60px;
    height: 60px;
    background-color: var(--primary);
    color: #ffffff;
    border: none;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    z-index: 9999;
    cursor: pointer;
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.help-float i {
    font-size: 24px;
    line-height: 1;
}

.help-float:hover {
    transform: scale(1.1);
    background-color: var(--primary-light);
}

.help-tooltip {
    position: absolute;
    right: 75px;
    bottom: 15px;
    background: #111;
    color: #fff;
    padding: 6px 10px;
    border-radius: 6px;
    font-size: 13px;
    opacity: 0;
    transition: opacity 0.2s ease;
    white-space: nowrap;
    pointer-events: none;
}

.help-float:hover .help-tooltip {
    opacity: 1;
}

body.dark .help-float {
    background-color: var(--primary-light);
}

/* ============================================
   ESCALAS INTERNAS (SEM IFRAME)
   ============================================ */

#tpEscalasInternas .tp-modulo-escala .card {
    background-color: var(--card-bg);
    border: 1px solid var(--border-color);
}

#tpEscalasInternas .tp-resumo-mes-card {
    background:
        radial-gradient(circle at 88% 14%, rgba(255, 255, 255, 0.24), transparent 45%),
        radial-gradient(circle at 8% 88%, rgba(125, 211, 252, 0.24), transparent 48%),
        linear-gradient(145deg, #4a9c17 0%, #4a9c17 50%, #0f766e 100%) !important;
    border: 1px solid rgba(191, 219, 254, 0.35) !important;
    box-shadow: 0 16px 34px -22px rgba(15, 23, 42, 0.8), 0 10px 24px -18px rgba(37, 99, 235, 0.75);
}

#tpEscalasInternas .tp-resumo-mes-card .card-body {
    position: relative;
    z-index: 1;
}

#tpEscalasInternas .tp-resumo-mes-shell {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

#tpEscalasInternas .tp-resumo-kpis {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

#tpEscalasInternas .tp-resumo-kpi {
    border: 1px solid rgba(219, 234, 254, 0.34);
    background: rgba(255, 255, 255, 0.14);
    border-radius: 12px;
    padding: 8px 10px;
    backdrop-filter: blur(2px);
}

#tpEscalasInternas .tp-resumo-kpi-label {
    display: block;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: rgba(239, 246, 255, 0.82);
    margin-bottom: 2px;
    font-weight: 700;
}

#tpEscalasInternas .tp-resumo-kpi-value {
    display: block;
    font-size: 15px;
    line-height: 1.15;
    color: #f8fafc;
    font-weight: 800;
}

#tpEscalasInternas .tp-resumo-insights {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

#tpEscalasInternas .tp-resumo-chip {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    border: 1px solid rgba(219, 234, 254, 0.42);
    background: rgba(255, 255, 255, 0.12);
    color: #eff6ff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    padding: 4px 9px;
}

#tpEscalasInternas .tp-resumo-lista {
    border-radius: 13px;
    border: 1px solid rgba(219, 234, 254, 0.35);
    background: rgba(15, 23, 42, 0.2);
    padding: 10px;
}

#tpEscalasInternas .tp-resumo-lista-titulo {
    font-size: 11px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-weight: 800;
    margin: 0 0 8px;
    color: rgba(239, 246, 255, 0.88);
}

#tpEscalasInternas .tp-resumo-membro-item {
    margin-bottom: 8px;
}

#tpEscalasInternas .tp-resumo-membro-item:last-child {
    margin-bottom: 0;
}

#tpEscalasInternas .tp-resumo-membro-topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 4px;
}

#tpEscalasInternas .tp-resumo-membro-nome {
    font-size: 12px;
    font-weight: 700;
    color: #f8fafc;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#tpEscalasInternas .tp-resumo-membro-horas {
    font-size: 11px;
    font-weight: 700;
    color: rgba(226, 232, 240, 0.95);
    white-space: nowrap;
}

#tpEscalasInternas .tp-resumo-membro-barra {
    width: 100%;
    height: 6px;
    border-radius: 999px;
    background: rgba(226, 232, 240, 0.22);
    overflow: hidden;
}

#tpEscalasInternas .tp-resumo-membro-barra>span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #f8fafc, #bae6fd);
}

#tpEscalasInternas .calendar-table {
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
}

#tpEscalasInternas .calendar-table td {
    height: 100px;
    min-width: 80px;
    padding: 8px;
    vertical-align: top;
    position: relative;
    overflow: hidden;
}

#tpEscalasInternas #tpModuloTurnos .calendar-table td,
#tpEscalasInternas #tpModuloTurnosNovo .calendar-table td {
    height: 75px;
}

/* Calendario de turnos personalizado com altura fixa (igual conceito de planejamento/projetos).
   O conteudo passa a rolar dentro da celula, sem aumentar a altura das linhas. */
#tpEscalasInternas #tpModuloTurnos .calendar-table td,
#tpEscalasInternas #tpModuloTurnosAutomatico .calendar-table td,
#tpEscalasInternas #tpModuloTurnosNovo .calendar-table td {
    height: 150px !important;
    min-height: 150px !important;
    max-height: 150px !important;
    padding: 4px;
    position: relative;
    overflow: hidden;
}

/* No workspace, a coluna esquerda costuma ser mais alta e estica o card do calendario.
   Removendo o esticamento apenas nos modulos de turnos para manter os dias compactos. */
#tpEscalasInternas #tpModuloTurnos .card.h-100,
#tpEscalasInternas #tpModuloTurnosAutomatico .card.h-100,
#tpEscalasInternas #tpModuloTurnosNovo .card.h-100 {
    height: auto !important;
}

#tpEscalasInternas #tpModuloTurnos .calendar-table.h-100,
#tpEscalasInternas #tpModuloTurnosAutomatico .calendar-table.h-100,
#tpEscalasInternas #tpModuloTurnosNovo .calendar-table.h-100 {
    height: auto !important;
}

#tpEscalasInternas #tpModuloTurnos .calendar-table tbody tr,
#tpEscalasInternas #tpModuloTurnosAutomatico .calendar-table tbody tr,
#tpEscalasInternas #tpModuloTurnosNovo .calendar-table tbody tr {
    height: 150px !important;
}

#tpEscalasInternas #tpModuloTurnos .dia-numero,
#tpEscalasInternas #tpModuloTurnosAutomatico .dia-numero,
#tpEscalasInternas #tpModuloTurnosNovo .dia-numero {
    margin-bottom: 0;
    line-height: 1;
}

#tpEscalasInternas #tpModuloTurnos .shifts-container,
#tpEscalasInternas #tpModuloTurnosAutomatico .shifts-container,
#tpEscalasInternas #tpModuloTurnosNovo .tags-container {
    position: absolute;
    left: 4px;
    right: 4px;
    top: 20px;
    bottom: 4px;
    max-height: none;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 1px;
}

#tpEscalasInternas #tpModuloTurnos .shifts-container::-webkit-scrollbar,
#tpEscalasInternas #tpModuloTurnosAutomatico .shifts-container::-webkit-scrollbar,
#tpEscalasInternas #tpModuloTurnosNovo .tags-container::-webkit-scrollbar {
    width: 4px;
}

#tpEscalasInternas #tpModuloTurnos .shifts-container::-webkit-scrollbar-thumb,
#tpEscalasInternas #tpModuloTurnosAutomatico .shifts-container::-webkit-scrollbar-thumb,
#tpEscalasInternas #tpModuloTurnosNovo .tags-container::-webkit-scrollbar-thumb {
    background: rgba(148, 163, 184, 0.55);
    border-radius: 999px;
}

#tpEscalasInternas #tpModuloTurnos .shift-block,
#tpEscalasInternas #tpModuloTurnosAutomatico .shift-block {
    margin-bottom: 2px;
    padding: 2px 4px;
}

#tpEscalasInternas #tpModuloTurnos .shift-title,
#tpEscalasInternas #tpModuloTurnosAutomatico .shift-title {
    margin-bottom: 1px;
}

#tpEscalasInternas #tpModuloTurnos .shift-members,
#tpEscalasInternas #tpModuloTurnosAutomatico .shift-members {
    gap: 1px;
}

#tpEscalasInternas #tpModuloTurnosNovo .turno-tag {
    margin-bottom: 2px;
    padding: 2px 6px;
}

#tpEscalasInternas .dia-numero {
    position: static;
    display: block;
    text-align: right;
    margin-bottom: 6px;
    font-weight: 800;
    font-size: 12px;
}

#tpModuloIndividual .tp-ind-topline {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    margin-bottom: 6px;
}

#tpModuloIndividual .dia-numero {
    margin-bottom: 0;
    text-align: left;
    font-size: 15px;
    font-weight: 900;
    line-height: 1;
}

#tpModuloIndividual .dia-numero-dia-trabalha {
    color: var(--primary);
}

#tpModuloIndividual .dia-numero-dia-descansa {
    color: var(--success);
}

#tpModuloIndividual .dia-numero-dia-extra {
    color: var(--danger);
}

#tpModuloIndividual .dia-numero-dia-excecao {
    color: var(--warning);
}

#tpModuloIndividual .dia-numero-padrao {
    color: var(--text-main);
}

#tpModuloIndividual .badge-hoje-topo {
    position: static;
    display: inline-flex;
    align-items: center;
    padding: 1px 6px;
    font-size: 8px;
    line-height: 1;
    margin-left: auto !important;
}

#tpEscalasInternas .tags-container,
#tpEscalasInternas .shifts-container {
    display: flex;
    flex-direction: column;
    gap: 2px;
    max-height: calc(100% - 20px);
    overflow: hidden;
}

#tpEscalasInternas .tp-info-card {
    background: linear-gradient(135deg, rgba(74, 156, 23, 0.05), rgba(110, 199, 55, 0.05));
    border-left: 4px solid var(--primary);
}

#tpEscalasInternas .membros-scroll-area,
#tpEscalasInternas .config-scroll-area {
    max-height: 420px;
    overflow-y: auto;
    padding-right: 10px;
}

#tpEscalasInternas .membro-card,
#tpEscalasInternas .turno-card,
#tpEscalasInternas .pessoa-card {
    background-color: var(--bg-page);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 12px;
    transition: var(--transition);
    border-left: 4px solid var(--primary);
}

#tpEscalasInternas .membro-card:hover,
#tpEscalasInternas .turno-card:hover,
#tpEscalasInternas .pessoa-card:hover {
    transform: translateX(4px);
    box-shadow: var(--shadow);
}

#tpEscalasInternas .tag-membro,
#tpEscalasInternas .turno-tag {
    display: block;
    font-size: 10px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 6px;
    margin-bottom: 3px;
    color: white;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#tpEscalasInternas .legend-box {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
}

#tpEscalasInternas .dot-trabalha {
    background-color: var(--primary);
}

#tpEscalasInternas .dot-folga {
    background-color: var(--success);
}

#tpEscalasInternas .dot-excecao {
    background-color: var(--warning);
}

#tpEscalasInternas .dot-extra {
    background-color: var(--danger);
}

#tpEscalasInternas .dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    display: inline-block;
}

#tpEscalasInternas .shift-block {
    margin-bottom: 4px;
    padding: 3px 6px;
    border-radius: 6px;
    background: rgba(0, 0, 0, 0.03);
    border-left: 3px solid transparent;
}

#tpEscalasInternas .shift-title {
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2px;
}

#tpEscalasInternas .shift-members {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
}

#tpEscalasInternas .member-tag {
    font-size: 9px;
    font-weight: 600;
    background: rgba(0, 0, 0, 0.05);
    color: #111827;
    padding: 1px 4px;
    border-radius: 4px;
}

#tpEscalasInternas .member-tag-action {
    border: 0;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

#tpEscalasInternas .member-tag-action:hover {
    transform: translateY(-1px);
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.2);
}

#tpEscalasInternas .member-tag-ausente {
    background: rgba(239, 68, 68, 0.16);
    color: #991b1b;
    text-decoration: line-through;
}

#tpEscalasInternas .member-tag-cobertura {
    background: rgba(14, 165, 233, 0.2);
    color: #0c4a6e;
}

#tpEscalasInternas .shift-count {
    font-size: 8px;
    background: rgba(0, 0, 0, 0.1);
    padding: 1px 4px;
    border-radius: 8px;
}

#tpEscalasInternas .shift-block-fechado {
    background: rgba(16, 185, 129, 0.08);
}

#tpEscalasInternas .shift-block-sobrecarga {
    background: rgba(239, 68, 68, 0.08);
}

#tpEscalasInternas .shift-block-deficit {
    background: rgba(251, 191, 36, 0.16);
}

#tpEscalasInternas .shift-metrics,
#tpEscalasInternas .shift-status-line {
    font-size: 9px;
    font-weight: 600;
    color: var(--text-muted);
    line-height: 1.2;
}

#tpEscalasInternas .shift-status-line {
    margin: 2px 0 3px;
}

#tpTuLegendaStatus {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

#tpTuLegendaStatus .tp-tu-legenda-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--text-main);
}

#tpTuLegendaStatus .tp-tu-legenda-cor {
    width: 14px;
    height: 14px;
    border-radius: 4px;
    display: inline-block;
    flex: 0 0 14px;
    border: 1px solid rgba(15, 23, 42, 0.25);
}

#tpTuLegendaStatus .tp-tu-legenda-fechado {
    background: rgba(16, 185, 129, 0.45);
}

#tpTuLegendaStatus .tp-tu-legenda-sobrecarga {
    background: rgba(239, 68, 68, 0.45);
}

#tpEscalasInternas .tp-ocorrencias-membro-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

#tpEscalasInternas .tp-ocorrencia-membro-item {
    border: 1px solid rgba(148, 163, 184, 0.25);
    border-radius: 14px;
    padding: 12px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.88));
    box-shadow: 0 8px 20px -16px rgba(15, 23, 42, 0.4);
}

#tpEscalasInternas .tp-ocorrencia-membro-topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 4px;
}

#tpEscalasInternas .tp-ocorrencia-membro-meta {
    font-size: 11px;
    font-weight: 600;
    color: var(--text-muted);
    margin-bottom: 8px;
}

#tpEscalasInternas .tp-ocorrencia-tipos {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

#tpEscalasInternas .tp-ocorrencia-tipo-badge {
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;
    background: rgba(74, 156, 23, 0.12);
    color: #3730a3;
    border: 1px solid rgba(74, 156, 23, 0.2);
}

#tpEscalasInternas .tp-ocorrencia-registros {
    margin-top: 10px;
    border-top: 1px dashed rgba(148, 163, 184, 0.45);
    padding-top: 8px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

#tpEscalasInternas .tp-ocorrencia-registro-item {
    display: grid;
    grid-template-columns: 78px minmax(92px, 1fr) minmax(120px, 1.5fr);
    gap: 6px;
    align-items: center;
    padding: 6px 8px;
    border-radius: 10px;
    background: rgba(241, 245, 249, 0.9);
}

#tpEscalasInternas .tp-ocorrencia-registro-data,
#tpEscalasInternas .tp-ocorrencia-registro-turno,
#tpEscalasInternas .tp-ocorrencia-registro-tipo {
    font-size: 11px;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#tpEscalasInternas .tp-ocorrencia-registro-data {
    font-weight: 700;
    color: #1e3a8a;
}

#tpEscalasInternas .tp-ocorrencia-registro-turno {
    font-weight: 700;
    color: #0f766e;
}

#tpEscalasInternas .tp-ocorrencia-registro-tipo {
    color: #334155;
    font-weight: 600;
}

#tpEscalasInternas .tp-ocorrencia-registro-mais {
    font-size: 11px;
    font-weight: 700;
    color: #475569;
    text-align: right;
    padding-right: 2px;
}

body.dark #tpTuLegendaStatus .tp-tu-legenda-item {
    color: #e2e8f0;
}

body.dark #tpTuLegendaStatus .tp-tu-legenda-cor {
    border-color: rgba(226, 232, 240, 0.35);
}

body.dark #tpEscalasInternas .tp-ocorrencia-membro-item {
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.76), rgba(2, 6, 23, 0.74));
    border-color: rgba(148, 163, 184, 0.35);
}

body.dark #tpEscalasInternas .tp-ocorrencia-tipo-badge {
    background: rgba(110, 199, 55, 0.2);
    color: #e0e7ff;
    border-color: rgba(110, 199, 55, 0.45);
}

body.dark #tpEscalasInternas .tp-ocorrencia-registros {
    border-top-color: rgba(148, 163, 184, 0.32);
}

body.dark #tpEscalasInternas .tp-ocorrencia-registro-item {
    background: rgba(15, 23, 42, 0.85);
}

body.dark #tpEscalasInternas .tp-ocorrencia-registro-data {
    color: #bfdbfe;
}

body.dark #tpEscalasInternas .tp-ocorrencia-registro-turno {
    color: #99f6e4;
}

body.dark #tpEscalasInternas .tp-ocorrencia-registro-tipo,
body.dark #tpEscalasInternas .tp-ocorrencia-registro-mais {
    color: #cbd5e1;
}

@media (max-width: 991.98px) {
    #tpEscalasInternas .tp-ocorrencia-registro-item {
        grid-template-columns: 70px 1fr;
        grid-template-areas:
            'data turno'
            'tipo tipo';
    }

    #tpEscalasInternas .tp-ocorrencia-registro-data {
        grid-area: data;
    }

    #tpEscalasInternas .tp-ocorrencia-registro-turno {
        grid-area: turno;
    }

    #tpEscalasInternas .tp-ocorrencia-registro-tipo {
        grid-area: tipo;
    }
}

#tpEqAcharFolgas.btn-outline-purple {
    color: var(--secondary);
    border-color: var(--secondary);
    background-color: transparent;
    transition: var(--transition);
}

#tpEqAcharFolgas.btn-outline-purple:hover,
#tpEqAcharFolgas.btn-outline-purple:focus {
    color: #ffffff;
    background-color: var(--secondary);
    border-color: var(--secondary);
    box-shadow: 0 0 0 0.2rem rgba(110, 199, 55, 0.25);
}

#tpEqAcharFolgas.btn-outline-purple:disabled,
#tpEqAcharFolgas.btn-outline-purple.disabled {
    color: var(--text-muted);
    border-color: var(--border-color);
    background-color: transparent;
    box-shadow: none;
}

#tpEqLegendaEquipe .legend-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border-radius: 999px;
    background-color: rgba(74, 156, 23, 0.08);
    border: 1px solid rgba(74, 156, 23, 0.15);
    font-size: 12px;
    font-weight: 600;
    color: var(--text-main);
}

#tpEqLegendaEquipe .legend-box {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.15) inset;
}

#tpEqLegendaEquipe .legend-item .legend-name {
    max-width: 140px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

body.dark #tpEqLegendaEquipe .legend-item {
    background-color: rgba(148, 163, 184, 0.12);
    border-color: rgba(148, 163, 184, 0.25);
}

#modalEvento #eventoResponsaveis+.select2-container,
#modalSprint #sprintResponsaveis+.select2-container {
    width: 100% !important;
    display: block;
}

#modalEvento .select2-container--default .select2-selection--multiple {
    min-height: 38px;
    height: 38px;
    max-height: 38px;
    padding: 2px 8px;
    overflow-y: hidden;
    border-radius: 0.5rem;
}

#modalEvento #eventoResponsaveis+.select2-container .select2-selection--single {
    height: 38px !important;
    min-height: 38px;
    border-radius: 0.5rem;
}

#modalEvento #eventoResponsaveis+.select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 36px !important;
    padding-left: 10px;
    padding-right: 28px;
}

#modalEvento #eventoResponsaveis+.select2-container .select2-selection--single .select2-selection__arrow {
    height: 36px;
}

#modalEvento .select2-container--default .select2-selection--multiple .select2-selection__rendered {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 4px;
    line-height: 1.3;
    padding: 0;
    overflow: hidden;
}

#modalEvento .select2-container--default .select2-selection--multiple .select2-search__field {
    margin-top: 0 !important;
    line-height: 1.3 !important;
    font-size: 12px;
    height: 22px;
    padding: 0;
    min-width: 10ch;
    white-space: nowrap;
}

/* Estrutura unificada para campos multiplos de responsaveis (Tarefa e Sprint). */
#modalEvento #eventoResponsaveis+.select2-container .select2-selection--multiple,
#modalSprint #sprintResponsaveis+.select2-container .select2-selection--multiple {
    min-height: 38px !important;
    height: 38px !important;
    max-height: 38px;
    padding: 2px 8px !important;
    overflow-y: hidden;
    overflow-x: hidden;
    border-radius: 0.5rem;
}

#modalEvento #eventoResponsaveis+.select2-container .select2-selection--multiple .select2-selection__rendered,
#modalSprint #sprintResponsaveis+.select2-container .select2-selection--multiple .select2-selection__rendered {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 4px;
    padding: 0 !important;
    line-height: 1.3;
    white-space: normal;
    overflow: hidden;
}

#modalEvento #eventoResponsaveis+.select2-container .select2-selection__choice,
#modalSprint #sprintResponsaveis+.select2-container .select2-selection__choice {
    margin: 0 4px 0 0 !important;
    padding: 1px 8px !important;
    min-height: 21px;
    line-height: 1.2 !important;
    font-size: 13px;
    font-weight: 700;
    border-radius: 12px;
    white-space: nowrap;
    color: #0f172a !important;
    background: rgba(74, 156, 23, 0.14) !important;
    border: 1px solid rgba(74, 156, 23, 0.35) !important;
}

#modalEvento #eventoResponsaveis+.select2-container .select2-selection__choice__display,
#modalSprint #sprintResponsaveis+.select2-container .select2-selection__choice__display {
    white-space: nowrap;
    color: inherit;
    display: inline;
    max-width: none !important;
}

#modalEvento #eventoResponsaveis+.select2-container .select2-selection__choice__remove,
#modalSprint #sprintResponsaveis+.select2-container .select2-selection__choice__remove {
    color: #334155;
    font-size: 13px;
}

#modalEvento #eventoResponsaveis+.select2-container .select2-search--inline .select2-search__field,
#modalSprint #sprintResponsaveis+.select2-container .select2-search--inline .select2-search__field {
    margin-top: 0 !important;
    line-height: 1.3 !important;
    font-size: 12px !important;
    height: 22px;
    min-width: 10ch;
    padding: 0;
}

#modalEvento #eventoResponsaveis+.select2-container.is-empty-selection .select2-search--inline,
#modalSprint #sprintResponsaveis+.select2-container.is-empty-selection .select2-search--inline {
    width: auto !important;
}

#modalEvento #eventoResponsaveis+.select2-container.is-empty-selection .select2-search--inline .select2-search__field,
#modalSprint #sprintResponsaveis+.select2-container.is-empty-selection .select2-search--inline .select2-search__field {
    width: auto !important;
    min-width: 14ch !important;
}

#modalEvento #eventoResponsaveis+.select2-container.is-over-three-selection .select2-selection--multiple,
#modalSprint #sprintResponsaveis+.select2-container.is-over-three-selection .select2-selection--multiple {
    height: auto !important;
    max-height: 74px;
    overflow-y: auto;
}

#modalEvento #eventoResponsaveis+.select2-container.is-over-three-selection .select2-selection--multiple .select2-selection__rendered,
#modalSprint #sprintResponsaveis+.select2-container.is-over-three-selection .select2-selection--multiple .select2-selection__rendered {
    flex-wrap: wrap;
    gap: 1px;
}

#modalEvento #eventoResponsaveis+.select2-container.is-over-three-selection .select2-selection__choice,
#modalSprint #sprintResponsaveis+.select2-container.is-over-three-selection .select2-selection__choice {
    margin-bottom: 1px !important;
}

/* Modo Projetos + Dark: melhora contraste do campo de multiplos responsaveis (tarefa/sprint) */
body.dark.modo-projetos #modalEvento #eventoResponsaveis+.select2-container .select2-selection--multiple,
body.dark-mode.modo-projetos #modalEvento #eventoResponsaveis+.select2-container .select2-selection--multiple,
body.dark.modo-projetos #modalEvento #eventoResponsaveis+.select2-container .select2-selection--single,
body.dark-mode.modo-projetos #modalEvento #eventoResponsaveis+.select2-container .select2-selection--single,
body.dark.modo-projetos #modalSprint #sprintResponsaveis+.select2-container .select2-selection--multiple,
body.dark-mode.modo-projetos #modalSprint #sprintResponsaveis+.select2-container .select2-selection--multiple {
    background: #0f172a !important;
    border: 1px solid #334155 !important;
}

body.dark.modo-projetos #modalEvento .select2-container--default .select2-selection--multiple .select2-selection__rendered,
body.dark-mode.modo-projetos #modalEvento .select2-container--default .select2-selection--multiple .select2-selection__rendered,
body.dark.modo-projetos #modalEvento #eventoResponsaveis+.select2-container .select2-selection--single .select2-selection__rendered,
body.dark-mode.modo-projetos #modalEvento #eventoResponsaveis+.select2-container .select2-selection--single .select2-selection__rendered,
body.dark.modo-projetos #modalSprint #sprintResponsaveis+.select2-container .select2-selection--multiple .select2-selection__rendered,
body.dark-mode.modo-projetos #modalSprint #sprintResponsaveis+.select2-container .select2-selection--multiple .select2-selection__rendered {
    color: #e2e8f0 !important;
}

body.dark.modo-projetos #modalEvento .select2-container--default .select2-selection--multiple .select2-search__field,
body.dark-mode.modo-projetos #modalEvento .select2-container--default .select2-selection--multiple .select2-search__field,
body.dark.modo-projetos #modalSprint #sprintResponsaveis+.select2-container .select2-search--inline .select2-search__field,
body.dark-mode.modo-projetos #modalSprint #sprintResponsaveis+.select2-container .select2-search--inline .select2-search__field {
    color: #f8fafc !important;
}

body.dark.modo-projetos #modalEvento .select2-container--default .select2-selection--multiple .select2-search__field::placeholder,
body.dark-mode.modo-projetos #modalEvento .select2-container--default .select2-selection--multiple .select2-search__field::placeholder,
body.dark.modo-projetos #modalSprint #sprintResponsaveis+.select2-container .select2-search--inline .select2-search__field::placeholder,
body.dark-mode.modo-projetos #modalSprint #sprintResponsaveis+.select2-container .select2-search__field::placeholder {
    color: #94a3b8 !important;
}

body.dark.modo-projetos #modalEvento #eventoResponsaveis+.select2-container .select2-selection__choice,
body.dark-mode.modo-projetos #modalEvento #eventoResponsaveis+.select2-container .select2-selection__choice,
body.dark.modo-projetos #modalSprint #sprintResponsaveis+.select2-container .select2-selection__choice,
body.dark-mode.modo-projetos #modalSprint #sprintResponsaveis+.select2-container .select2-selection__choice {
    color: #e2e8f0 !important;
    background: rgba(59, 130, 246, 0.2) !important;
    border-color: rgba(96, 165, 250, 0.5) !important;
}

body.dark.modo-projetos #modalEvento #eventoResponsaveis+.select2-container .select2-selection__choice__remove,
body.dark-mode.modo-projetos #modalEvento #eventoResponsaveis+.select2-container .select2-selection__choice__remove,
body.dark.modo-projetos #modalSprint #sprintResponsaveis+.select2-container .select2-selection__choice__remove,
body.dark-mode.modo-projetos #modalSprint #sprintResponsaveis+.select2-container .select2-selection__choice__remove {
    color: #cbd5e1 !important;
}

body.dark.modo-projetos #modalEvento .select2-dropdown,
body.dark-mode.modo-projetos #modalEvento .select2-dropdown,
body.dark.modo-projetos #modalSprint .select2-dropdown,
body.dark-mode.modo-projetos #modalSprint .select2-dropdown {
    background: #0f172a !important;
    border: 1px solid #334155 !important;
}

body.dark.modo-projetos #modalEvento .select2-results__option,
body.dark-mode.modo-projetos #modalEvento .select2-results__option,
body.dark.modo-projetos #modalSprint .select2-results__option,
body.dark-mode.modo-projetos #modalSprint .select2-results__option {
    color: #e2e8f0 !important;
    background: #0f172a !important;
}

body.dark.modo-projetos #modalEvento .select2-container--default .select2-results__option--highlighted[aria-selected],
body.dark-mode.modo-projetos #modalEvento .select2-container--default .select2-results__option--highlighted[aria-selected],
body.dark.modo-projetos #modalSprint .select2-container--default .select2-results__option--highlighted[aria-selected],
body.dark-mode.modo-projetos #modalSprint .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: #4a9c17 !important;
    color: #f8fafc !important;
}

body.dark.modo-projetos #modalEvento .select2-container--default .select2-results__option[aria-selected=true],
body.dark-mode.modo-projetos #modalEvento .select2-container--default .select2-results__option[aria-selected=true],
body.dark.modo-projetos #modalSprint .select2-container--default .select2-results__option[aria-selected=true],
body.dark-mode.modo-projetos #modalSprint .select2-container--default .select2-results__option[aria-selected=true] {
    background: #1e293b !important;
    color: #93c5fd !important;
}

#tpEscalasInternas .dia-folga-encontrada {
    background: rgba(110, 199, 55, 0.15) !important;
    border: 2px solid #6ec737 !important;
}

#tpEscalasInternas .dia-excecao {
    background-color: rgba(245, 158, 11, 0.16) !important;
    border: 1px solid rgba(245, 158, 11, 0.65) !important;
}

#tpEscalasInternas .dia-excecao::after {
    content: "EXCEÇÃO";
    position: absolute;
    bottom: 4px;
    left: 6px;
    font-size: 8px;
    font-weight: 800;
    color: #b45309;
    opacity: 0.95;
}

#tpEscalasInternas .dia-extra {
    background-color: rgba(239, 68, 68, 0.16) !important;
    border: 1px solid rgba(239, 68, 68, 0.65) !important;
}

#tpEscalasInternas .dia-extra::after {
    content: "EXTRA";
    position: absolute;
    bottom: 4px;
    left: 6px;
    font-size: 8px;
    font-weight: 800;
    color: #b91c1c;
    opacity: 0.95;
}

#tpEscalasInternas .dia-sobrecarga {
    background-color: #fee2e2 !important;
    border: 1.5px solid #ef4444 !important;
}

#tpEscalasInternas .dia-turno-fechado {
    box-shadow: inset 0 0 0 1px rgba(16, 185, 129, 0.45);
}

#tpEscalasInternas .dia-descanso-invalido {
    box-shadow: inset 0 0 0 1px rgba(245, 158, 11, 0.75);
}

#tpEscalasInternas .dia-turno-deficit {
    box-shadow: inset 0 0 0 1px rgba(251, 146, 60, 0.95);
}

#tpEscalasInternas .alerta-sobrecarga {
    position: absolute;
    top: 4px;
    left: 6px;
    font-size: 12px;
    color: #ef4444;
    z-index: 5;
}

#tpEscalasInternas .alerta-descanso {
    position: absolute;
    top: 4px;
    left: 22px;
    font-size: 11px;
    color: #d97706;
    z-index: 5;
}

#tpEscalasInternas .alerta-deficit {
    position: absolute;
    top: 4px;
    left: 36px;
    font-size: 11px;
    color: #c2410c;
    z-index: 5;
}

body.dark #tpEscalasInternas .membro-card,
body.dark #tpEscalasInternas .turno-card,
body.dark #tpEscalasInternas .pessoa-card {
    background-color: #0f172a;
}

body.dark #tpEscalasInternas .tp-resumo-mes-card {
    background:
        radial-gradient(circle at 88% 14%, rgba(148, 163, 184, 0.2), transparent 48%),
        radial-gradient(circle at 14% 86%, rgba(15, 23, 42, 0.46), transparent 50%),
        linear-gradient(145deg, #1e3a8a 0%, #4a9c17 48%, #155e75 100%) !important;
    border-color: rgba(148, 163, 184, 0.34) !important;
}

body.dark #tpEscalasInternas .tp-resumo-kpi,
body.dark #tpEscalasInternas .tp-resumo-chip,
body.dark #tpEscalasInternas .tp-resumo-lista {
    border-color: rgba(148, 163, 184, 0.42);
    background: rgba(15, 23, 42, 0.35);
}

body.dark #tpEscalasInternas .tp-resumo-membro-barra {
    background: rgba(148, 163, 184, 0.3);
}

body.dark #tpEscalasInternas .member-tag {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.1);
}

body.dark #tpEscalasInternas .shift-block {
    background: rgba(255, 255, 255, 0.03);
}

body.dark #tpEscalasInternas .shift-block-fechado {
    background: rgba(16, 185, 129, 0.16);
}

body.dark #tpEscalasInternas .shift-block-sobrecarga {
    background: rgba(239, 68, 68, 0.2);
}

body.dark #tpEscalasInternas .shift-block-deficit {
    background: rgba(251, 191, 36, 0.22);
}

body.dark #tpEscalasInternas .dia-turno-fechado {
    box-shadow: inset 0 0 0 1px rgba(16, 185, 129, 0.7);
}

body.dark #tpEscalasInternas .dia-descanso-invalido {
    box-shadow: inset 0 0 0 1px rgba(251, 191, 36, 0.9);
}

body.dark #tpEscalasInternas .dia-turno-deficit {
    box-shadow: inset 0 0 0 1px rgba(251, 146, 60, 0.95);
}

body.dark #tpEscalasInternas .alerta-descanso {
    color: #fbbf24;
}

body.dark #tpEscalasInternas .alerta-deficit {
    color: #fdba74;
}

/* ============================================
   AJUSTES FINOS - DARK MODE (WORKSPACE)
   ============================================ */

/* Turnos (modo escala personalizado): título e nomes com contraste melhor */
#tpEscalasInternas .shift-title,
#tpEscalasInternas .shift-count {
    color: var(--text-main);
}

body.dark #tpEscalasInternas .shift-title,
body.dark #tpEscalasInternas .shift-count {
    color: #e2e8f0;
}

body.dark #tpEscalasInternas .member-tag {
    color: #ffffff;
    background: rgba(148, 163, 184, 0.2);
}

/* Inputs date/time/number em dark (inclui modal e cards) */
body.dark input[type="date"],
body.dark input[type="time"],
body.dark input[type="number"] {
    color-scheme: dark;
}

@media (max-width: 575.98px) {
    #tpEscalasInternas .tp-resumo-kpis {
        grid-template-columns: 1fr;
    }

    #tpEscalasInternas .tp-resumo-membro-topo {
        flex-direction: column;
        align-items: flex-start;
        gap: 2px;
    }

    #tpEscalasInternas .tp-resumo-membro-horas {
        font-size: 10px;
    }
}

body.dark input[type="date"]::-webkit-calendar-picker-indicator,
body.dark input[type="time"]::-webkit-calendar-picker-indicator {
    filter: invert(1) brightness(1.15);
    opacity: 0.95;
}

body.dark input[type="number"]::-webkit-inner-spin-button,
body.dark input[type="number"]::-webkit-outer-spin-button {
    filter: invert(1) brightness(1.2);
    opacity: 1;
}

/* Painel Hoje (texto de eventos / planejadas / concluídas) */
#painelHoje,
#painelHoje .fw-bold,
#painelHoje .fw-semibold,
#painelHoje .proximo-evento,
#painelHoje .d-flex>div {
    color: var(--text-main);
}

/* Resumo mensal (eventos no mês e horas executadas/planejadas) */
#resumoTotalEventos,
#resumoTotalHoras {
    color: var(--text-main);
}

/* Metas do mês - reforço de contraste textual */
#cardMetas .metas-container,
#cardMetas .meta-card,
#cardMetas .meta-card .fw-semibold,
#cardMetas .meta-card strong,
#cardMetas .meta-card div {
    color: var(--text-main);
}

body.dark #cardMetas .meta-card {
    background: linear-gradient(90deg, rgba(148, 163, 184, 0.16), rgba(15, 23, 42, 0.08));
    border-color: rgba(148, 163, 184, 0.28);
}

/* Previsão do tempo - card lateral no planejamento */
#cardPrevisaoTempo .weather-container {
    min-height: 88px;
}

#cardPrevisaoTempo .weather-topbar {
    min-width: 0;
}

#cardPrevisaoTempo #tituloPrevisaoTempo {
    min-width: 0;
    font-size: 1rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#cardPrevisaoTempo .weather-nav {
    width: 100%;
    flex-shrink: 0;
}

#cardPrevisaoTempo .weather-nav-btn {
    width: 28px;
    height: 28px;
    border: 1px solid var(--border-color);
}

#cardPrevisaoTempo .weather-nav-btn i {
    font-size: 10px;
}

#cardPrevisaoTempo .weather-today-btn {
    height: 28px;
    padding: 0 10px;
    font-size: 12px;
    line-height: 28px;
}

#cardPrevisaoTempo .weather-day-label {
    text-align: right;
}

#cardPrevisaoTempo .weather-nav-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

#cardPrevisaoTempo #labelDiaPrevisao {
    min-width: 86px;
    text-align: center;
}

#cardPrevisaoTempo .weather-status {
    font-size: 11px;
    color: var(--text-main);
    border: 1px solid var(--border-color);
}

#cardPrevisaoTempo .weather-icon-wrap {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(74, 156, 23, 0.08);
}

#cardPrevisaoTempo .weather-icon {
    font-size: 22px;
}

#cardPrevisaoTempo .weather-temps {
    line-height: 1.35;
}

#cardPrevisaoTempo .weather-temp-line {
    font-size: 13px;
}

body.dark #cardPrevisaoTempo .weather-icon-wrap {
    background: rgba(148, 163, 184, 0.16);
}

body.dark #cardPrevisaoTempo .weather-status {
    background: rgba(148, 163, 184, 0.14) !important;
    border-color: rgba(148, 163, 184, 0.28);
    color: #e2e8f0;
}

body.dark #cardPrevisaoTempo .weather-nav-btn {
    background: rgba(148, 163, 184, 0.08);
    border-color: rgba(148, 163, 184, 0.28);
    color: #e2e8f0;
}

body.dark #cardPrevisaoTempo .weather-today-btn {
    color: #e2e8f0;
    background: rgba(74, 156, 23, 0.24);
}

@media (max-width: 1399px) {
    #cardPrevisaoTempo #tituloPrevisaoTempo {
        font-size: 0.95rem;
    }
}

body.dark #cardPrevisaoTempo .weather-error,
body.dark #cardPrevisaoTempo .weather-loading,
body.dark #cardPrevisaoTempo .weather-city {
    color: #cbd5e1 !important;
}

/* ============================================
   MODAL EVENTO - AÇÕES DA LISTA
   ============================================ */

#listaEventosDia .evento-item {
    padding: 8px 10px;
    border-radius: 10px;
    border: 1px solid var(--border-color);
    background: var(--card-bg);
    margin-bottom: 8px;
}

#listaEventosDia .evento-item:last-child {
    margin-bottom: 0;
}

#listaEventosDia .evento-item-info {
    font-size: 13px;
    min-width: 0;
    flex: 1;
}

#listaEventosDia .evento-item-comentado {
    border-left: 4px solid #0ea5e9;
    background: linear-gradient(90deg, rgba(14, 165, 233, 0.12), rgba(148, 163, 184, 0.05));
}

#listaEventosDia .evento-item-comentario {
    font-size: 12px;
    color: #0f172a;
    background: rgba(14, 165, 233, 0.12);
    border: 1px solid rgba(14, 165, 233, 0.25);
    border-radius: 8px;
    padding: 4px 7px;
    line-height: 1.25;
}

#listaEventosDia .btn-evento-acao {
    width: 26px;
    height: 26px;
    padding: 0;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: none;
}

#listaEventosDia .btn-evento-acao i {
    font-size: 11px;
    line-height: 1;
}

#listaEventosDia .btn-evento-acao:hover {
    transform: translateY(-1px);
}

body.dark #listaEventosDia .evento-item {
    background: #0f172a;
    border-color: #334155;
}

body.dark #listaEventosDia .evento-item-comentado {
    border-left-color: #38bdf8;
    background: linear-gradient(90deg, rgba(56, 189, 248, 0.2), rgba(15, 23, 42, 0.35));
}

body.dark #listaEventosDia .evento-item-comentario {
    color: #e2e8f0;
    background: rgba(56, 189, 248, 0.2);
    border-color: rgba(56, 189, 248, 0.35);
}

/* ============================================
   OVERRIDE FORTE - CHECKBOX CALENDARIO
   Mantem visual consistente mesmo com Bootstrap/Tamara.
   ============================================ */

.calendar-table .evento-mini input.check-concluir,
body.tamara-pro .calendar-table .evento-mini input.check-concluir {
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 15px !important;
    height: 15px !important;
    min-width: 15px !important;
    min-height: 15px !important;
    border: 1.5px solid #50ac18 !important;
    border-radius: 4px !important;
    background-color: #ffffff !important;
    background-image: none !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.28) !important;
    display: inline-block !important;
    vertical-align: middle !important;
    margin-right: 4px !important;
    margin-left: 0 !important;
    cursor: pointer !important;
}

.calendar-table .evento-mini input.check-concluir:checked,
body.tamara-pro .calendar-table .evento-mini input.check-concluir:checked {
    border-color: #4a9c17 !important;
    background-color: #4a9c17 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='white' d='M6.3 11.8 2.9 8.4l1.1-1.1 2.3 2.3 5.6-5.6L13 5z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 12px 12px !important;
}

body.dark .calendar-table .evento-mini input.check-concluir,
body.dark-mode .calendar-table .evento-mini input.check-concluir,
.dark .calendar-table .evento-mini input.check-concluir,
.dark-mode .calendar-table .evento-mini input.check-concluir,
body.dark.tamara-pro .calendar-table .evento-mini input.check-concluir {
    border-color: #7db3ff !important;
    background-color: #0f172a !important;
    box-shadow: 0 1px 2px rgba(2, 6, 23, 0.65) !important;
}

body.dark .calendar-table .evento-mini input.check-concluir:checked,
body.dark-mode .calendar-table .evento-mini input.check-concluir:checked,
.dark .calendar-table .evento-mini input.check-concluir:checked,
.dark-mode .calendar-table .evento-mini input.check-concluir:checked,
body.dark.tamara-pro .calendar-table .evento-mini input.check-concluir:checked {
    border-color: #7db3ff !important;
    background-color: #7db3ff !important;
}

/* Modo Projetos + Dark: garante legibilidade de horario e titulo da tarefa no calendario */
body.dark.modo-projetos .calendar-table .evento-mini .hora,
body.dark-mode.modo-projetos .calendar-table .evento-mini .hora,
body.dark.modo-projetos .calendar-table .evento-mini .titulo-evento,
body.dark-mode.modo-projetos .calendar-table .evento-mini .titulo-evento {
    color: #e2e8f0 !important;
}

.calendar-table .evento-mini input.check-concluir:focus-visible,
body.tamara-pro .calendar-table .evento-mini input.check-concluir:focus-visible {
    outline: 2px solid rgba(37, 99, 235, 0.35) !important;
    outline-offset: 1px !important;
}

#cardHojeDataExtenso {
    letter-spacing: 0.01em;
}

#cardControleSquad .controle-squad-hoje {
    width: 100%;
    max-width: none;
    min-height: 0;
    border: 1px solid var(--border-color);
    border-radius: 16px;
    padding: 14px;
    background: rgba(15, 23, 42, 0.02);
}

#cardControleSquad .controle-squad-hoje .controle-squad-hoje-split {
    display: block;
}

/* Split 60/40 somente quando turnos estiverem ativos */
#cardControleSquad .controle-squad-hoje.is-turnos-ativos .controle-squad-hoje-split {
    display: flex;
    align-items: stretch;
    gap: 14px;
}

#cardControleSquad .controle-squad-hoje.is-turnos-ativos .controle-squad-hoje-col-hoje {
    flex: 0 0 60%;
    max-width: 60%;
}

#cardControleSquad .controle-squad-hoje.is-turnos-ativos .controle-squad-hoje-col-turno {
    flex: 0 0 40%;
    max-width: 40%;
    padding-left: 14px;
    border-left: 1px solid var(--border-color);
}

#cardControleSquad .controle-squad-hoje.is-turnos-only .controle-squad-hoje-split {
    display: block;
}

#cardControleSquad .controle-squad-hoje.is-turnos-only .controle-squad-hoje-col-turno {
    flex: 1 1 100%;
    max-width: 100%;
    padding-left: 0;
    border-left: 0;
}

.squad-turno-hoje-root {
    min-height: 120px;
    max-height: 240px;
    overflow: auto;
    padding-right: 6px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.squad-turno-hoje-item {
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 10px;
    background-color: rgba(148, 163, 184, 0.05);
}

.squad-turno-hoje-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.squad-turno-hoje-title {
    font-weight: 800;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.squad-turno-hoje-meta {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 800;
    color: var(--text-muted);
    font-size: 0.78rem;
}

.squad-turno-hoje-members {
    margin-top: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.squad-turno-hoje-member {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 2px 8px;
    border-radius: 999px;
    border: 1px solid var(--border-color);
    background: var(--card-bg);
    font-size: 0.72rem;
    font-weight: 800;
    color: var(--text-main);
}

.squad-turno-hoje-empty {
    height: 100%;
    min-height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--text-muted);
    font-weight: 700;
}

.dashboard-turnos-squad-root .turnos-kpi-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.dashboard-turnos-squad-root .turnos-kpi {
    border: 1px solid var(--border-color);
    border-radius: 14px;
    padding: 10px;
    background-color: var(--card-bg);
}

.dashboard-turnos-squad-root .turnos-kpi-label {
    font-size: 0.72rem;
    font-weight: 800;
    color: var(--text-muted);
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.dashboard-turnos-squad-root .turnos-kpi-value {
    font-size: 1.1rem;
    font-weight: 900;
    color: var(--text-main);
}

.dashboard-turnos-squad-root .turnos-health-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 800;
    border: 1px solid var(--border-color);
    background: var(--card-bg);
    color: var(--text-main);
}

.dashboard-turnos-squad-root .turnos-health-badge.is-ok {
    border-color: var(--success);
    color: var(--success);
}

.dashboard-turnos-squad-root .turnos-health-badge.is-alert {
    border-color: var(--warning);
    color: var(--warning);
}

.dashboard-turnos-squad-root .turnos-health-badge.is-danger {
    border-color: var(--danger);
    color: var(--danger);
}

@media (max-width: 991.98px) {
    #cardControleSquad .controle-squad-hoje.is-turnos-ativos .controle-squad-hoje-split {
        flex-direction: column;
    }

    #cardControleSquad .controle-squad-hoje.is-turnos-ativos .controle-squad-hoje-col-hoje,
    #cardControleSquad .controle-squad-hoje.is-turnos-ativos .controle-squad-hoje-col-turno {
        flex: 1 1 auto;
        max-width: none;
        padding-left: 0;
        border-left: 0;
        border-top: 1px solid var(--border-color);
        padding-top: 12px;
        margin-top: 8px;
    }
}

#controleSquadAcoes .btn {
    min-width: 84px;
    padding-left: 0.6rem;
    padding-right: 0.6rem;
    font-size: 0.8rem;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
}

#controleSquadAcoes {
    justify-content: flex-start;
}

#painelEquipeSquad .squad-equipe-item {
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 10px;
    margin-bottom: 10px;
    background-color: rgba(148, 163, 184, 0.06);
}

#painelEquipeSquad .squad-equipe-topo {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

#painelEquipeSquad .squad-equipe-nome {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

#painelEquipeSquad .squad-equipe-nome strong {
    flex: 1;
    min-width: 0;
}

#painelEquipeSquad .squad-equipe-acoes {
    flex-shrink: 0;
    margin-left: 6px;
}

#painelEquipeSquad .squad-equipe-acoes .btn {
    width: 30px;
    height: 30px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 576px) {
    #painelEquipeSquad .squad-equipe-topo {
        align-items: stretch;
    }
}

#painelTurnosSquad .squad-turno-item {
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 10px;
    margin-bottom: 10px;
    background-color: rgba(148, 163, 184, 0.05);
}

#painelTurnosSquad .squad-turno-topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

#painelTurnosSquad .squad-turno-topo strong {
    flex: 1;
    min-width: 0;
}

#painelTurnosSquad .squad-turno-acoes {
    flex-shrink: 0;
    margin-left: 6px;
}

#painelTurnosSquad .squad-turno-acoes .btn {
    width: 30px;
    height: 30px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

#grupoTurnosSquadOpcao.turnos-squad-toggle,
#grupoSprintsSquadOpcao.turnos-squad-toggle {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    width: 100%;
}

#grupoTurnosSquadOpcao .turnos-squad-toggle-head,
#grupoSprintsSquadOpcao .turnos-squad-toggle-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

#grupoTurnosSquadOpcao .turnos-squad-toggle-title,
#grupoSprintsSquadOpcao .turnos-squad-toggle-title {
    margin: 0;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #475569;
}

#grupoTurnosSquadOpcao .turnos-squad-toggle-helper,
#grupoSprintsSquadOpcao .turnos-squad-toggle-helper {
    margin: 0;
    font-size: 0.72rem;
    color: #64748b;
}

#grupoTurnosSquadOpcao .turnos-squad-toggle-options,
#grupoSprintsSquadOpcao .turnos-squad-toggle-options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 0;
    padding: 0;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.45);
    overflow: hidden;
    background: linear-gradient(180deg, rgba(30, 41, 59, 0.92) 0%, rgba(15, 23, 42, 0.94) 100%);
    box-shadow: inset 0 1px 1px rgba(15, 23, 42, 0.04);
    width: 100%;
}

#grupoTurnosSquadOpcao .turnos-squad-option,
#grupoSprintsSquadOpcao .turnos-squad-option {
    margin: 0;
    padding-left: 0;
    display: flex;
}

#grupoTurnosSquadOpcao .turnos-squad-option.form-check-inline,
#grupoSprintsSquadOpcao .turnos-squad-option.form-check-inline {
    margin-right: 0;
    padding-left: 0;
}

#grupoTurnosSquadOpcao .turnos-squad-option .form-check-input,
#grupoSprintsSquadOpcao .turnos-squad-option .form-check-input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}

#grupoTurnosSquadOpcao .turnos-squad-option .form-check-label,
#grupoSprintsSquadOpcao .turnos-squad-option .form-check-label {
    margin: 0;
    min-width: 0;
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    text-align: center;
    padding: 0.38rem 0.4rem;
    border-radius: 0;
    border: 1px solid #e2e8f0;
    color: #334155;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.1;
    cursor: pointer;
    user-select: none;
    background: #fff;
    box-shadow: none;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.12s ease, box-shadow 0.2s ease;
}

#grupoTurnosSquadOpcao .turnos-squad-option .form-check-input:not(:checked)+.form-check-label,
#grupoSprintsSquadOpcao .turnos-squad-option .form-check-input:not(:checked)+.form-check-label {
    background: #fff;
    color: #334155;
    border: 1px solid #e2e8f0;
    box-shadow: none;
    font-weight: 700;
    opacity: 1;
    text-shadow: none;
}

#grupoTurnosSquadOpcao .turnos-squad-option+.turnos-squad-option .form-check-label,
#grupoSprintsSquadOpcao .turnos-squad-option+.turnos-squad-option .form-check-label {
    border-left: 1px solid rgba(148, 163, 184, 0.35);
}

#grupoTurnosSquadOpcao .turnos-squad-option .form-check-label i,
#grupoSprintsSquadOpcao .turnos-squad-option .form-check-label i {
    font-size: 0.8rem;
    opacity: 0.8;
}

#grupoTurnosSquadOpcao .turnos-squad-option .form-check-label:hover,
#grupoSprintsSquadOpcao .turnos-squad-option .form-check-label:hover {
    background: rgba(59, 130, 246, 0.12);
    border-color: rgba(59, 130, 246, 0.2);
}

#grupoTurnosSquadOpcao .turnos-squad-option .form-check-input:checked+.form-check-label,
#grupoSprintsSquadOpcao .turnos-squad-option .form-check-input:checked+.form-check-label {
    color: #ffffff;
    background: linear-gradient(135deg, #4a9c17 0%, #4a9c17 100%);
    border-color: transparent;
    box-shadow: 0 3px 8px rgba(37, 99, 235, 0.24);
}

#grupoTurnosSquadOpcao .turnos-squad-option .form-check-input:checked+.form-check-label i,
#grupoSprintsSquadOpcao .turnos-squad-option .form-check-input:checked+.form-check-label i {
    opacity: 1;
}

#grupoTurnosSquadOpcao .turnos-squad-option .form-check-input:active+.form-check-label,
#grupoSprintsSquadOpcao .turnos-squad-option .form-check-input:active+.form-check-label {
    transform: translateY(1px);
}

#modalTurnosSquad .turno-card,
#modalTurnosSquad .membro-card {
    background-color: var(--bg-page);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 12px;
    border-left: 4px solid var(--primary);
}

#modalTurnosSquad .config-scroll-area {
    max-height: 420px;
    overflow-y: auto;
    padding-right: 8px;
}

#modalTurnosSquad .form-control,
#modalTurnosSquad .form-select {
    border-width: 2px;
}

.turno-card-highlight {
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.35);
    transition: box-shadow 0.25s ease;
}

#cardTurnosSquad .card-body,
#cardEquipeSquad .card-body {
    background: rgba(148, 163, 184, 0.02);
    border-radius: 14px;
}

body.dark #grupoTurnosSquadOpcao .turnos-squad-toggle-title,
body.dark-mode #grupoTurnosSquadOpcao .turnos-squad-toggle-title {
    color: #cbd5e1;
}

body.dark #grupoTurnosSquadOpcao .turnos-squad-toggle-helper,
body.dark-mode #grupoTurnosSquadOpcao .turnos-squad-toggle-helper {
    color: #94a3b8;
}

body.dark #grupoTurnosSquadOpcao .turnos-squad-toggle-options,
body.dark-mode #grupoTurnosSquadOpcao .turnos-squad-toggle-options {
    border-color: rgba(100, 116, 139, 0.65);
    background: linear-gradient(180deg, rgba(30, 41, 59, 0.92) 0%, rgba(15, 23, 42, 0.94) 100%);
}

body.dark #grupoTurnosSquadOpcao .turnos-squad-option .form-check-label,
body.dark-mode #grupoTurnosSquadOpcao .turnos-squad-option .form-check-label,
body.dark #grupoSprintsSquadOpcao .turnos-squad-option .form-check-label,
body.dark-mode #grupoSprintsSquadOpcao .turnos-squad-option .form-check-label {
    color: #fff !important;
    background: rgba(59, 66, 84, 0.60) !important;
    font-weight: 800 !important;
    opacity: 1 !important;
    text-shadow: 0 1px 2px #0008;
    border-color: transparent !important;
}

body.dark #grupoTurnosSquadOpcao .turnos-squad-option+.turnos-squad-option .form-check-label,
body.dark-mode #grupoTurnosSquadOpcao .turnos-squad-option+.turnos-squad-option .form-check-label,
body.dark #grupoSprintsSquadOpcao .turnos-squad-option+.turnos-squad-option .form-check-label,
body.dark-mode #grupoSprintsSquadOpcao .turnos-squad-option+.turnos-squad-option .form-check-label {
    border-left-color: rgba(100, 116, 139, 0.45);
}

body.dark #grupoTurnosSquadOpcao .turnos-squad-option .form-check-label:hover,
body.dark-mode #grupoTurnosSquadOpcao .turnos-squad-option .form-check-label:hover,
body.dark #grupoSprintsSquadOpcao .turnos-squad-option .form-check-label:hover,
body.dark-mode #grupoSprintsSquadOpcao .turnos-squad-option .form-check-label:hover {
    background: rgba(59, 130, 246, 0.22);
    border-color: rgba(59, 130, 246, 0.36);
}

body.dark #grupoTurnosSquadOpcao .turnos-squad-option .form-check-input:checked+.form-check-label,
body.dark-mode #grupoTurnosSquadOpcao .turnos-squad-option .form-check-input:checked+.form-check-label,
body.dark #grupoSprintsSquadOpcao .turnos-squad-option .form-check-input:checked+.form-check-label,
body.dark-mode #grupoSprintsSquadOpcao .turnos-squad-option .form-check-input:checked+.form-check-label {
    background: linear-gradient(135deg, #4a9c17 0%, #4a9c17 100%) !important;
    border-color: #4a9c17 !important;
    color: #fff !important;
    font-weight: 900 !important;
    opacity: 1 !important;
    text-shadow: 0 2px 6px #000a;
}

body.dark #cardControleSquad .controle-squad-hoje {
    background: rgba(15, 23, 42, 0.35);
    border-color: #334155;
}

@media (max-width: 991.98px) {
    #cardControleSquad .controle-squad-acoes-wrap {
        flex: 1;
        min-width: 0;
    }

    #cardControleSquad .controle-squad-hoje {
        max-width: none;
        min-height: 0;
    }

    #controleSquadAcoes .btn {
        min-width: 0;
        width: auto;
    }
}

@media (max-width: 576px) {
    #grupoTurnosSquadOpcao.turnos-squad-toggle {
        width: 100%;
        justify-content: space-between;
    }

    #grupoTurnosSquadOpcao .turnos-squad-toggle-options {
        width: 100%;
        justify-content: space-between;
    }

    #grupoTurnosSquadOpcao .turnos-squad-option {
        flex: 1;
    }

    #grupoTurnosSquadOpcao .turnos-squad-option .form-check-label {
        width: 100%;
        min-width: 0;
    }
}

#cardHojeDaily .card-body {
    background: rgba(148, 163, 184, 0.02);
    border-radius: 14px;
}

body.dark #cardHojeDaily .card-body,
body.dark-mode #cardHojeDaily .card-body {
    background: rgba(15, 23, 42, 0.35);
    border-color: #334155;
}


/* =========================================
   CORREÇÃO FINAL - CALENDÁRIO PAINEL GESTOR
   evita cards sob o número do dia e sob HOJE
   ========================================= */

body.tamara-pro.modo-projetos .calendar-table td {
    vertical-align: top;
    overflow: visible;
    height: 1px;
}

body.tamara-pro.modo-projetos .cell-dia-inner {
    position: relative;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    padding: 22px 6px 1px 6px !important;
    box-sizing: border-box;
    overflow: visible;
}

body.tamara-pro.modo-projetos .cell-dia-inner.muitos-itens {
    height: auto !important;
    max-height: none !important;
}

body.tamara-pro.modo-projetos .eventos-container {
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    display: flex;
    flex-direction: column;
    gap: 2px;
    z-index: 1;
}

/* remove o empurrão extra que pode estourar o fim da célula */
body.tamara-pro.modo-projetos .eventos-container>*:last-child {
    margin-bottom: 0 !important;
}

/* número do dia fixo no topo direito */
body.tamara-pro.modo-projetos .dia-num,
body.tamara-pro.modo-projetos .dia-numero {
    position: absolute !important;
    top: 4px;
    right: 6px;
    z-index: 5;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

body.tamara-pro.modo-projetos .badge-hoje {
    position: absolute !important;
    top: 3px;
    left: 6px;
    right: auto !important;
    bottom: auto !important;
    z-index: 5;
    font-size: 8px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
    padding: 2px 6px;
    border-radius: 999px;
}


/* ============================================
   VISUALIZAÇÕES DO GESTOR (SQUAD)
   ============================================ */

.gestor-visualizacao-cell {
    padding: 18px !important;
    background: linear-gradient(180deg, rgba(74, 156, 23, 0.03), rgba(74, 156, 23, 0.01));
}

.gestor-executivo-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 16px;
}

.gestor-card {
    grid-column: span 4;
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: 20px;
    padding: 18px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.gestor-card-destaque {
    grid-column: span 6;
}

.gestor-card-wide {
    grid-column: span 6;
}

.gestor-card-topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.gestor-card-eyebrow {
    display: block;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--primary);
    margin-bottom: 4px;
}

.gestor-card h5,
.gestor-timeline-card h6 {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 800;
}

.gestor-card-texto,
.gestor-timeline-card p {
    color: var(--text-muted);
    font-size: 0.92rem;
    margin-bottom: 12px;
}

.gestor-kpi-chip,
.gestor-item-badge,
.gestor-timeline-tag {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 6px 10px;
    font-size: 11px;
    font-weight: 700;
    background: rgba(74, 156, 23, 0.12);
    color: var(--primary);
    white-space: nowrap;
}

.gestor-item-badge.is-danger {
    background: rgba(239, 68, 68, 0.14);
    color: #dc2626;
}

.gestor-item-badge.is-warning {
    background: rgba(245, 158, 11, 0.16);
    color: #b45309;
}

.gestor-item-badge.is-info {
    background: rgba(14, 165, 233, 0.14);
    color: #0369a1;
}

.gestor-meta-linha {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    color: var(--text-muted);
    font-size: 0.9rem;
}

.gestor-lista-scroll {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-height: 340px;
    overflow: auto;
    padding-right: 4px;
}

.gestor-lista-item {
    border: 1px solid var(--border-color);
    border-radius: 16px;
    padding: 12px;
    background: rgba(148, 163, 184, 0.07);
}

.gestor-lista-item-topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 6px;
}

.gestor-lista-item-meta {
    color: var(--text-muted);
    font-size: 0.88rem;
}

.gestor-lista-item-acoes {
    margin-top: 10px;
}

.gestor-lista-vazia {
    color: var(--text-muted);
    font-size: 0.92rem;
    padding: 12px 2px;
}

.gestor-pill-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.gestor-pill-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
    border-radius: 16px;
    padding: 12px;
    border: 1px solid var(--border-color);
    background: rgba(74, 156, 23, 0.06);
    font-size: 0.9rem;
}

.gestor-pill-item span {
    color: var(--text-muted);
}

.gestor-status-board {
    display: grid;
    grid-template-columns: repeat(5, minmax(260px, 1fr));
    gap: 16px;
    overflow-x: auto;
    align-items: start;
}

.gestor-status-coluna {
    min-height: 420px;
    border-radius: 20px;
    border: 1px solid var(--border-color);
    background: var(--card-bg);
    display: flex;
    flex-direction: column;
}

.gestor-status-coluna-topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--border-color);
    font-weight: 800;
}

.gestor-status-coluna-qtd {
    min-width: 30px;
    height: 30px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(74, 156, 23, 0.12);
    color: var(--primary);
    font-size: 0.82rem;
}

.gestor-status-coluna-corpo {
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-height: 280px;
}

.gestor-status-card {
    border-radius: 16px;
    border: 1px solid var(--border-color);
    background: rgba(148, 163, 184, 0.08);
    padding: 12px;
}

.gestor-status-card-topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

.gestor-status-card-topo span,
.gestor-status-card-meta {
    color: var(--text-muted);
    font-size: 0.84rem;
}

.gestor-status-card-acoes {
    margin-top: 10px;
}

.gestor-status-coluna.is-nao-iniciadas .gestor-status-coluna-topo {
    border-bottom-color: rgba(245, 158, 11, 0.24);
}

.gestor-status-coluna.is-em-andamento .gestor-status-coluna-topo {
    border-bottom-color: rgba(59, 130, 246, 0.24);
}

.gestor-status-coluna.is-bloqueadas .gestor-status-coluna-topo {
    border-bottom-color: rgba(239, 68, 68, 0.24);
}

.gestor-status-coluna.is-validacao .gestor-status-coluna-topo {
    border-bottom-color: rgba(110, 199, 55, 0.24);
}

.gestor-status-coluna.is-concluidas .gestor-status-coluna-topo {
    border-bottom-color: rgba(16, 185, 129, 0.24);
}

.gestor-timeline-wrap {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    padding: 6px 2px 12px;
}

.gestor-timeline-item {
    min-width: 280px;
    max-width: 320px;
    display: grid;
    grid-template-rows: auto auto 1fr;
    gap: 10px;
    position: relative;
}

.gestor-timeline-item::after {
    content: "";
    position: absolute;
    top: 35px;
    left: calc(100% - 8px);
    width: 24px;
    height: 2px;
    background: var(--border-color);
}

.gestor-timeline-item:last-child::after {
    display: none;
}

.gestor-timeline-data {
    font-size: 0.82rem;
    font-weight: 800;
    color: var(--text-muted);
}

.gestor-timeline-ponto {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--primary);
    box-shadow: 0 0 0 6px rgba(74, 156, 23, 0.12);
}

.gestor-timeline-card {
    border-radius: 18px;
    border: 1px solid var(--border-color);
    background: var(--card-bg);
    padding: 16px;
    min-height: 180px;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
}

.gestor-timeline-item.is-critica .gestor-timeline-ponto {
    background: #dc2626;
    box-shadow: 0 0 0 6px rgba(239, 68, 68, 0.12);
}

.gestor-timeline-item.is-marco .gestor-timeline-ponto {
    background: #51a81a;
    box-shadow: 0 0 0 6px rgba(124, 58, 237, 0.12);
}

.gestor-timeline-item.is-prorrogacao .gestor-timeline-ponto {
    background: #f59e0b;
    box-shadow: 0 0 0 6px rgba(245, 158, 11, 0.14);
}

.gestor-timeline-item.is-fim .gestor-timeline-ponto,
.gestor-timeline-item.is-inicio .gestor-timeline-ponto {
    background: #10b981;
    box-shadow: 0 0 0 6px rgba(16, 185, 129, 0.14);
}

.gestor-timeline-item.is-fora_janela .gestor-timeline-ponto {
    background: #0ea5e9;
    box-shadow: 0 0 0 6px rgba(14, 165, 233, 0.14);
}

body.dark .gestor-card,
body.dark .gestor-status-coluna,
body.dark .gestor-timeline-card {
    box-shadow: 0 12px 28px rgba(2, 6, 23, 0.28);
}

body.dark .gestor-lista-item,
body.dark .gestor-status-card,
body.dark .gestor-pill-item {
    background: rgba(15, 23, 42, 0.55);
}

@media (max-width: 1200px) {

    .gestor-card,
    .gestor-card-destaque,
    .gestor-card-wide {
        grid-column: span 12;
    }
}

@media (max-width: 768px) {
    .gestor-visualizacao-cell {
        padding: 12px !important;
    }

    .gestor-pill-grid {
        grid-template-columns: 1fr;
    }

    .gestor-timeline-item {
        min-width: 240px;
    }
}

/* ================= CONTROLE NOVO ================= */
.controle-novo-flags {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.controle-novo-flag-box {
    padding: 14px;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.98) 0%, rgba(241, 245, 249, 0.98) 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65), 0 10px 24px rgba(15, 23, 42, 0.05);
}

.controle-novo-flag-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    font-size: 12px;
    font-weight: 800;
    color: var(--text-main);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.controle-novo-flag-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.controle-novo-flag-options .turnos-squad-option {
    margin: 0;
    padding-left: 0;
    display: flex;
}

.controle-novo-flag-options .turnos-squad-option.form-check-inline {
    margin-right: 0;
}

.controle-novo-flag-options .form-check-input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.controle-novo-flag-options .form-check-label {
    width: 100%;
    min-height: 46px;
    margin: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0.7rem 0.85rem;
    border-radius: 14px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: rgba(255, 255, 255, 0.96);
    color: #334155;
    font-size: 0.85rem;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    user-select: none;
    transition: transform 0.16s ease, box-shadow 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.controle-novo-flag-options .form-check-label i {
    font-size: 0.88rem;
    opacity: 0.9;
}

.controle-novo-flag-options .form-check-input:not(:checked)+.form-check-label:hover {
    transform: translateY(-1px);
    border-color: rgba(59, 130, 246, 0.28);
    box-shadow: 0 8px 18px rgba(59, 130, 246, 0.08);
}

.controle-novo-flag-options .form-check-input:checked+.form-check-label {
    color: #ffffff;
    border-color: transparent;
    background: linear-gradient(135deg, #4a9c17 0%, #4a9c17 100%);
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.24);
}

.controle-novo-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.controle-novo-grid>.btn {
    width: 100%;
    min-height: 42px;
}

.controle-novo-grid>.controle-novo-prorrogar {
    grid-column: 1 / -1;
}

@media (max-width: 575.98px) {

    .controle-novo-flag-options,
    .controle-novo-grid {
        grid-template-columns: 1fr !important;
    }
}

body.dark .controle-novo-flag-box {
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.82) 0%, rgba(15, 23, 42, 0.68) 100%);
    border-color: rgba(148, 163, 184, 0.22);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 10px 24px rgba(2, 6, 23, 0.28);
}

body.dark .controle-novo-flag-options .form-check-label {
    background: rgba(30, 41, 59, 0.92);
    color: #e2e8f0;
    border-color: rgba(148, 163, 184, 0.22);
}

body.dark .controle-novo-flag-options .form-check-input:not(:checked)+.form-check-label:hover {
    border-color: rgba(96, 165, 250, 0.34);
    box-shadow: 0 8px 18px rgba(59, 130, 246, 0.14);
}

body.dark .controle-novo-flag-options .form-check-input:checked+.form-check-label {
    color: #ffffff;
    background: linear-gradient(135deg, #50ac18 0%, #4a9c17 100%);
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.34);
}


/* ================= AJUSTE FINO CARD HOJE x CONTROLE NOVO ================= */
#cardControleNovo .card-body {
    padding-top: 1.05rem !important;
    padding-bottom: 1.05rem !important;
}

#cardControleNovo .d-flex.align-items-center.justify-content-between.mb-3 {
    margin-bottom: 0.8rem !important;
}

#cardControleNovo #controleNovoAcoes {
    margin-bottom: 0 !important;
}

.controle-novo-flags {
    gap: 4px;
}

.controle-novo-flag-box {
    padding: 5px 6px;
    border-radius: 10px;
}

.controle-novo-flag-title {
    margin-bottom: 5px;
    font-size: 10px;
    letter-spacing: 0.04em;
}

.controle-novo-flag-options {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 6px;
}

.controle-novo-flag-options .turnos-squad-option,
.controle-novo-flag-options .tarefas-squad-option {
    flex: 0 0 auto;
}

.controle-novo-flag-options .form-check-label {
    width: auto;
    min-width: 126px;
    min-height: 31px;
    padding: 0.38rem 0.48rem;
    border-radius: 10px;
    font-size: 0.72rem;
    gap: 5px;
    white-space: nowrap;
}

.controle-novo-flag-options .form-check-label i {
    font-size: 0.74rem;
}

.controle-novo-grid {
    margin-top: 2px;
}

#cardControleSquad .card-body {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}

#cardControleSquad .d-flex.align-items-start.justify-content-between.gap-3.mb-3.flex-wrap {
    margin-bottom: 0.7rem !important;
}

#cardControleSquad h5.fw-bold.mb-1 {
    margin-bottom: 0.18rem !important;
}

#cardHojeDataExtenso {
    line-height: 1.2;
}

#cardControleSquad .controle-squad-hoje {
    padding: 12px;
}

/* ===== Feed de mudanças ===== */
.feed-mudancas-root {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-height: 96px;
}

.feed-mudanca-item {
    border: 1px solid rgba(74, 156, 23, 0.12);
    border-radius: 14px;
    padding: 12px 14px;
    background: linear-gradient(180deg, rgba(74, 156, 23, 0.06), rgba(255, 255, 255, 0.96));
}

.feed-mudanca-topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 6px;
    font-size: 0.8rem;
}

.feed-mudanca-topo strong {
    color: var(--text-color);
}

.feed-mudanca-topo span {
    color: var(--text-muted);
    white-space: nowrap;
}

.feed-mudanca-texto {
    color: var(--text-color);
    line-height: 1.45;
}


/* ============================================
   PAINEL DASHBOARDS
   ============================================ */

.painel-dashboards-container {
    display: none;
}

.painel-dashboards-grid>.row {
    --bs-gutter-y: 1.5rem;
}

#painelDashboardsContainer .card {
    margin-top: 0 !important;
    margin-bottom: 1.5rem !important;
}

#slotDashboardCardTarefasForaSprint .card {
    margin-bottom: 0 !important;
}


/* Painel Dashboards */
.painel-dashboards-container {
    width: 100%;
}

.painel-dashboards-grid--ux {
    align-items: stretch;
}

.painel-dashboards-grid--ux>[class*="col-"] {
    display: flex;
}

.painel-dashboard-slot {
    display: flex;
    width: 100%;
}

.painel-dashboards-stack {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    width: 100%;
}

.painel-dashboards-stack .painel-dashboard-slot {
    flex: 1 1 auto;
}

.painel-dashboards-stack .painel-dashboard-slot>.card {
    min-height: 100%;
}

#painelDashboardsContainer .painel-dashboards-stack .card-body {
    min-height: 0;
}

@media (min-width: 1400px) {
    #painelDashboardsContainer .painel-dashboards-stack .card-body {
        min-height: 220px;
    }

    #painelDashboardsContainer #slotDashboardCardEquipeSquad .card-body,
    #painelDashboardsContainer #slotDashboardCardTurnosSquad .card-body,
    #painelDashboardsContainer #slotDashboardCardSprints .card-body {
        min-height: 320px;
    }
}

#painelDashboardsContainer .painel-dashboard-slot>.card {
    width: 100%;
}

#painelDashboardsContainer .card {
    margin: 0 !important;
    border: 1px solid rgba(15, 23, 42, 0.06);
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08) !important;
    overflow: hidden;
    height: 100%;
}

#painelDashboardsContainer .card-body {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    height: 100%;
    min-height: 320px;
    padding: 1.35rem 1.35rem 1.2rem !important;
}

#painelDashboardsContainer h5 {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 1rem;
    line-height: 1.25;
}

#painelDashboardsContainer #painelEquipeSquad,
#painelDashboardsContainer #painelTurnosSquad,
#painelDashboardsContainer #painelSprints,
#painelDashboardsContainer #rankingCategorias,
#painelDashboardsContainer #painelBandeirasPrioridade,
#painelDashboardsContainer #painelTarefasForaSprint {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    padding-right: 0.2rem;
}

#painelDashboardsContainer .equipe-membro-item,
#painelDashboardsContainer .turno-item,
#painelDashboardsContainer .sprint-item,
#painelDashboardsContainer .ranking-categoria-item,
#painelDashboardsContainer .bandeira-item,
#painelDashboardsContainer .tarefa-fora-sprint-item {
    border-radius: 16px;
}

#painelDashboardsContainer .text-muted {
    line-height: 1.45;
}

@media (min-width: 1400px) {
    #painelDashboardsContainer .card-body {
        min-height: 340px;
    }
}

@media (max-width: 1399.98px) {
    #painelDashboardsContainer .card-body {
        min-height: 300px;
    }
}

@media (max-width: 991.98px) {
    #painelDashboardsContainer .card-body {
        min-height: auto;
    }

    #painelDashboardsContainer #painelEquipeSquad,
    #painelDashboardsContainer #painelTurnosSquad,
    #painelDashboardsContainer #painelSprints,
    #painelDashboardsContainer #rankingCategorias,
    #painelDashboardsContainer #painelBandeirasPrioridade,
    #painelDashboardsContainer #painelTarefasForaSprint {
        overflow: visible;
    }
}


#cardFilaOperacional {
    overflow: hidden;
}

#cardFilaOperacional .card-header {
    padding: 1rem 1.15rem 0.85rem !important;
}

#cardFilaOperacional .card-header h5 {
    font-size: 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}


#cardFilaGerencial .card-header h5::before,
#cardFilaOperacional .card-header h5::before {
    display: none;
}

#cardFilaGerencial .card-header,
#cardFilaOperacional .card-header {
    padding: 1rem 1rem 0.9rem !important;
}

#cardFilaGerencial .card-body,
#cardFilaOperacional .card-body {
    padding: 0 1rem 1rem !important;
}

#cardFilaGerencial .fila-operacional-lista,
#cardFilaOperacional .fila-operacional-lista {
    gap: 0.75rem;
}

#cardFilaGerencial .fila-sprint-summary,
#cardFilaOperacional .fila-sprint-summary {
    grid-template-columns: 1fr auto;
    gap: 0.5rem 0.75rem;
    padding: 0.8rem 0.9rem;
}

#cardFilaGerencial .fila-sprint-meta,
#cardFilaOperacional .fila-sprint-meta {
    grid-column: 1 / -1;
    margin-top: -0.15rem;
}

#cardFilaGerencial .fila-sprint-count,
#cardFilaOperacional .fila-sprint-count {
    font-size: 11px;
    padding: 2px 8px;
}

#cardFilaGerencial .fila-sprint-body,
#cardFilaOperacional .fila-sprint-body {
    padding: 0.75rem 0.9rem 0.9rem;
    gap: 0.65rem;
}

#cardFilaGerencial .fila-item-operacional,
#cardFilaOperacional .fila-item-operacional {
    padding: 0.75rem 0.8rem;
    border-radius: 12px;
}

#cardFilaGerencial .fila-item-topo,
#cardFilaOperacional .fila-item-topo {
    margin-bottom: 0.45rem;
}

#cardFilaGerencial .fila-item-titulo,
#cardFilaOperacional .fila-item-titulo {
    font-size: 13px;
    line-height: 1.35;
}

#cardFilaGerencial .fila-item-status,
#cardFilaOperacional .fila-item-status {
    font-size: 10px;
    padding: 2px 7px;
}

#cardFilaGerencial .fila-item-meta,
#cardFilaOperacional .fila-item-meta {
    gap: 0.4rem 0.75rem;
    font-size: 11px;
}

#cardFilaGerencial .fila-item-meta span,
#cardFilaOperacional .fila-item-meta span {
    display: inline-flex;
    align-items: center;
}

#colDistribuicaoCategorias .chart-box {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    height: 100%;
}

#colDistribuicaoCategorias .chart-container {
    width: 100%;
    min-height: 220px;
    height: 320px;
    position: relative;
}

#colDistribuicaoCategorias canvas,
#colDistribuicaoCategorias canvas#graficoCategorias {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    display: block;
}

#cardFilaOperacional .card-header h5::before {
    content: '\f0ae';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    color: var(--primary);
}

#cardFilaOperacional .card-body {
    padding: 0 1rem 1rem !important;
}

#cardFilaOperacional .fila-operacional-lista {
    gap: 0.75rem;
}

#cardFilaOperacional .fila-sprint-summary {
    grid-template-columns: 1fr auto;
    gap: 0.5rem 0.75rem;
    padding: 0.8rem 0.9rem;
}

#cardFilaOperacional .fila-sprint-meta {
    grid-column: 1 / -1;
    margin-top: -0.15rem;
}

#cardFilaOperacional .fila-sprint-count {
    font-size: 11px;
    padding: 2px 8px;
}

#cardFilaOperacional .fila-sprint-body {
    padding: 0.75rem 0.9rem 0.9rem;
    gap: 0.65rem;
}

#cardFilaOperacional .fila-item-operacional {
    padding: 0.75rem 0.8rem;
    border-radius: 12px;
}

#cardFilaOperacional .fila-item-topo {
    margin-bottom: 0.45rem;
}

#cardFilaOperacional .fila-item-titulo {
    font-size: 13px;
    line-height: 1.35;
}

#cardFilaOperacional .fila-item-status {
    font-size: 10px;
    padding: 2px 7px;
}

#cardFilaOperacional .fila-item-meta {
    gap: 0.4rem 0.75rem;
    font-size: 11px;
}

#cardFilaOperacional .fila-item-meta span {
    display: inline-flex;
    align-items: center;
}

@media (max-width: 1199px) {

    #cardFilaGerencial .fila-sprint-summary,
    #cardFilaOperacional .fila-sprint-summary {
        grid-template-columns: 1fr;
    }

    #cardFilaGerencial .fila-sprint-summary::after,
    #cardFilaOperacional .fila-sprint-summary::after {
        justify-self: end;
    }
}

.controle-novo-flag-options .tarefas-squad-option {
    margin: 0;
    padding-left: 0;
    display: flex;
}

.controle-novo-flag-options .tarefas-squad-option.form-check-inline {
    margin-right: 0;
}


#cardLinhaDoTempoPrincipal {
    min-height: 100%;
}

.gestor-timeline-card-unica--pagina {
    min-height: 100%;
}

#linhaDoTempoConteudo .gestor-feed-timeline-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

@media (max-width: 1600px) {
    #linhaDoTempoConteudo .gestor-feed-timeline-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 1200px) {
    #linhaDoTempoConteudo .gestor-feed-timeline-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 992px) {
    #linhaDoTempoConteudo .gestor-feed-timeline-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 576px) {
    #linhaDoTempoConteudo .gestor-feed-timeline-grid {
        grid-template-columns: 1fr;
    }
}


.gestor-timeline-wrap--pagina {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 16px;
    overflow: visible;
    padding: 6px 2px 12px;
}

.gestor-timeline-wrap--pagina .gestor-timeline-item {
    min-width: 0;
    max-width: none;
}

.gestor-timeline-wrap--pagina .gestor-timeline-item::after {
    width: 18px;
    left: calc(100% - 1px);
}

.gestor-timeline-wrap--pagina .gestor-timeline-item:nth-child(6n)::after {
    display: none;
}

.gestor-timeline-wrap--pagina .gestor-timeline-card {
    min-height: 170px;
}

@media (max-width: 1600px) {
    .gestor-timeline-wrap--pagina {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .gestor-timeline-wrap--pagina .gestor-timeline-item:nth-child(6n)::after {
        display: block;
    }

    .gestor-timeline-wrap--pagina .gestor-timeline-item:nth-child(4n)::after {
        display: none;
    }
}

@media (max-width: 1200px) {
    .gestor-timeline-wrap--pagina {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .gestor-timeline-wrap--pagina .gestor-timeline-item:nth-child(4n)::after {
        display: block;
    }

    .gestor-timeline-wrap--pagina .gestor-timeline-item:nth-child(3n)::after {
        display: none;
    }
}

@media (max-width: 992px) {
    .gestor-timeline-wrap--pagina {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gestor-timeline-wrap--pagina .gestor-timeline-item:nth-child(3n)::after {
        display: block;
    }

    .gestor-timeline-wrap--pagina .gestor-timeline-item:nth-child(2n)::after {
        display: none;
    }
}

@media (max-width: 576px) {
    .gestor-timeline-wrap--pagina {
        grid-template-columns: 1fr;
    }

    .gestor-timeline-wrap--pagina .gestor-timeline-item::after {
        display: none !important;
    }
}


/* ============================================
   CALENDÁRIO DO GESTOR • CABEÇALHO UX/UI
   ============================================ */
#cardCalendarioPrincipal .calendar-nav-gestor {
    background:
        radial-gradient(circle at 0% 0%, rgba(59, 130, 246, 0.12), transparent 32%),
        radial-gradient(circle at 100% 0%, rgba(74, 156, 23, 0.14), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98));
    border-bottom: 1px solid rgba(148, 163, 184, 0.16) !important;
}

#cardCalendarioPrincipal .calendar-nav-shell {
    min-height: 94px;
}

#cardCalendarioPrincipal .calendar-nav-actions {
    position: relative;
    z-index: 2;
}

#cardCalendarioPrincipal .calendar-nav-controls {
    padding: 0.42rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(148, 163, 184, 0.18);
    box-shadow: 0 14px 36px rgba(15, 23, 42, 0.08);
    backdrop-filter: blur(12px);
}

#cardCalendarioPrincipal .calendar-nav-arrow,
#cardCalendarioPrincipal .calendar-nav-today {
    min-height: 46px;
    transition: transform 0.18s ease, background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
    box-shadow: none;
}

#cardCalendarioPrincipal .calendar-nav-arrow {
    width: 46px;
    border-radius: 50%;
    background: transparent;
    border: 1px solid transparent;
    color: var(--text-muted);
}

#cardCalendarioPrincipal .calendar-nav-arrow:hover {
    background: rgba(59, 130, 246, 0.10);
    border-color: rgba(59, 130, 246, 0.14);
    color: var(--primary);
    transform: translateY(-1px);
}

#cardCalendarioPrincipal .calendar-nav-today {
    padding-inline: 1.15rem !important;
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.16), rgba(74, 156, 23, 0.14));
    color: var(--primary);
    border: 1px solid rgba(59, 130, 246, 0.16);
    letter-spacing: 0.01em;
}

#cardCalendarioPrincipal .calendar-nav-today:hover {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.22), rgba(74, 156, 23, 0.20));
    color: var(--primary);
    transform: translateY(-1px);
}

#cardCalendarioPrincipal .calendar-nav-heading-premium {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 auto;
}

#cardCalendarioPrincipal .calendar-nav-title-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.85rem;
    padding: 0.72rem 1rem;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.82));
    border: 1px solid rgba(148, 163, 184, 0.18);
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.10);
    backdrop-filter: blur(12px);
    min-width: min(100%, 360px);
}

#cardCalendarioPrincipal .calendar-nav-title {
    font-size: clamp(1.2rem, 1.8vw, 1.85rem);
    line-height: 1.1;
    letter-spacing: -0.03em;
    color: #0f172a !important;
    margin: 0;
    white-space: nowrap;
}

#cardCalendarioPrincipal #prevMonthMobile,
#cardCalendarioPrincipal #nextMonthMobile {
    width: 40px;
    height: 40px;
    min-height: 40px;
    padding: 0;
    flex: 0 0 40px;
}

body.dark #cardCalendarioPrincipal .calendar-nav-gestor,
body.dark-mode #cardCalendarioPrincipal .calendar-nav-gestor {
    background:
        radial-gradient(circle at 0% 0%, rgba(59, 130, 246, 0.18), transparent 34%),
        radial-gradient(circle at 100% 0%, rgba(74, 156, 23, 0.20), transparent 36%),
        linear-gradient(180deg, rgba(15, 23, 42, 0.94), rgba(17, 24, 39, 0.96));
    border-bottom-color: rgba(148, 163, 184, 0.12) !important;
}

body.dark #cardCalendarioPrincipal .calendar-nav-controls,
body.dark-mode #cardCalendarioPrincipal .calendar-nav-controls {
    background: rgba(15, 23, 42, 0.72);
    border-color: rgba(148, 163, 184, 0.12);
    box-shadow: 0 16px 36px rgba(2, 6, 23, 0.34);
}

body.dark #cardCalendarioPrincipal .calendar-nav-title-wrap,
body.dark-mode #cardCalendarioPrincipal .calendar-nav-title-wrap {
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.90), rgba(30, 41, 59, 0.82));
    border-color: rgba(148, 163, 184, 0.14);
    box-shadow: 0 18px 42px rgba(2, 6, 23, 0.36);
}

body.dark #cardCalendarioPrincipal .calendar-nav-title,
body.dark-mode #cardCalendarioPrincipal .calendar-nav-title {
    color: #e5eefc !important;
}

body.dark #cardCalendarioPrincipal .calendar-nav-arrow,
body.dark-mode #cardCalendarioPrincipal .calendar-nav-arrow {
    color: rgba(226, 232, 240, 0.86);
}

body.dark #cardCalendarioPrincipal .calendar-nav-arrow:hover,
body.dark-mode #cardCalendarioPrincipal .calendar-nav-arrow:hover {
    background: rgba(59, 130, 246, 0.18);
    border-color: rgba(96, 165, 250, 0.18);
    color: #bfdbfe;
}

body.dark #cardCalendarioPrincipal .calendar-nav-today,
body.dark-mode #cardCalendarioPrincipal .calendar-nav-today {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.24), rgba(74, 156, 23, 0.22));
    border-color: rgba(96, 165, 250, 0.16);
    color: #dbeafe;
}

body.dark #cardCalendarioPrincipal .calendar-nav-today:hover,
body.dark-mode #cardCalendarioPrincipal .calendar-nav-today:hover {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.30), rgba(74, 156, 23, 0.28));
    color: #eff6ff;
}

@media (max-width: 1199.98px) {
    #cardCalendarioPrincipal .calendar-nav-shell {
        min-height: auto;
    }

    #cardCalendarioPrincipal .calendar-nav-heading-premium {
        width: 100%;
    }

    #cardCalendarioPrincipal .calendar-nav-title-wrap {
        min-width: min(100%, 420px);
    }
}

@media (max-width: 767.98px) {
    #cardCalendarioPrincipal .calendar-nav-gestor {
        padding: 1rem !important;
    }

    #cardCalendarioPrincipal .calendar-nav-title-wrap {
        width: 100%;
        justify-content: space-between;
        padding: 0.62rem 0.8rem;
        gap: 0.6rem;
    }

    #cardCalendarioPrincipal .calendar-nav-title {
        font-size: 1.05rem;
        text-align: center;
        white-space: normal;
    }

    #cardCalendarioPrincipal .calendar-nav-controls {
        width: 100%;
        justify-content: center;
    }
}

/* ============================================
   HEADER DO CALENDÁRIO - CORES DA BANDEIRA DO RS
   ============================================ */

.calendar-nav {
    position: relative;
    background: linear-gradient(160deg,
            #009739 0%,
            #009739 34%,
            #c62828 34%,
            #c62828 72%,
            #f4d000 72%,
            #f4d000 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 28px;
    padding: 18px 28px;
    overflow: hidden;
    box-shadow:
        0 18px 40px rgba(15, 23, 42, 0.10),
        inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.calendar-nav::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,
            rgba(255, 255, 255, 0.18) 0%,
            rgba(255, 255, 255, 0.06) 35%,
            rgba(255, 255, 255, 0.10) 65%,
            rgba(255, 255, 255, 0.18) 100%);
    pointer-events: none;
}

.calendar-nav>* {
    position: relative;
    z-index: 1;
}

.calendar-nav .btn-icon,
.calendar-nav .btn-today {
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(15, 23, 42, 0.08);
    color: #334155;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

.calendar-nav .btn-icon:hover,
.calendar-nav .btn-today:hover {
    background: #ffffff;
    color: #111827;
}

.calendar-nav h4,
.calendar-nav h5,
.calendar-nav .calendar-title,
.calendar-nav #mesAnoAtual {
    background: rgba(255, 255, 255, 0.92);
    color: #0f172a;
    border-radius: 999px;
    padding: 14px 28px;
    margin: 0;
    font-weight: 800;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.10);
}

body.dark .calendar-nav,
body.dark-mode .calendar-nav {
    border-color: rgba(255, 255, 255, 0.12);
    box-shadow:
        0 20px 44px rgba(2, 6, 23, 0.42),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

body.dark .calendar-nav .btn-icon,
body.dark .calendar-nav .btn-today,
body.dark .calendar-nav h4,
body.dark .calendar-nav h5,
body.dark .calendar-nav .calendar-title,
body.dark .calendar-nav #mesAnoAtual,
body.dark-mode .calendar-nav .btn-icon,
body.dark-mode .calendar-nav .btn-today,
body.dark-mode .calendar-nav h4,
body.dark-mode .calendar-nav h5,
body.dark-mode .calendar-nav .calendar-title,
body.dark-mode .calendar-nav #mesAnoAtual {
    background: rgba(15, 23, 42, 0.84);
    color: #f8fafc;
    border: 1px solid rgba(255, 255, 255, 0.10);
}


/* ============================================
   UPGRADE VISUAL COUNTDOWN TAREFA
   ============================================ */

.countdown-tarefa-upgrade {
    display: inline-flex !important;
    align-items: center;
    max-width: 100%;
    min-height: 42px;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.countdown-tarefa-upgrade #countdownTarefaLabel {
    display: block;
    width: 100%;
    color: inherit !important;
}

.countdown-tarefa-label-upgrade {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    max-width: 100%;
    padding: 8px 12px;
    border-radius: 16px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.92));
    border: 1px solid rgba(148, 163, 184, 0.22);
    box-shadow:
        0 14px 30px -24px rgba(15, 23, 42, 0.45),
        inset 0 1px 0 rgba(255, 255, 255, 0.65);
    overflow: hidden;
    position: relative;
}

.countdown-tarefa-label-upgrade::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, #0ea5e9 0%, #4a9c17 100%);
    border-radius: 999px;
}

.countdown-tarefa-timer {
    flex: 0 0 auto;
    min-width: 112px;
    height: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #0ea5e9 0%, #4a9c17 100%);
    color: #fff;
    box-shadow: 0 12px 26px -18px rgba(37, 99, 235, 0.88);
}

.countdown-tarefa-timer-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    font-size: 11px;
}

.countdown-tarefa-timer-texto {
    font-size: 15px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0.02em;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.countdown-tarefa-conteudo {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
}

.countdown-tarefa-titulo {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #0f172a;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.2;
}

.countdown-tarefa-titulo-icone {
    color: #4a9c17;
    flex: 0 0 auto;
    font-size: 12px;
}

.countdown-tarefa-titulo span {
    display: block;
    min-width: 0;
    max-width: 270px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.countdown-tarefa-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.countdown-tarefa-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    border: 1px solid transparent;
}

.countdown-tarefa-chip i {
    flex: 0 0 auto;
    font-size: 10px;
}

.countdown-tarefa-chip span {
    min-width: 0;
    max-width: 170px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.countdown-tarefa-chip-prioridade {
    background: rgba(245, 158, 11, 0.12);
    color: #9a3412;
    border-color: rgba(245, 158, 11, 0.20);
}

.countdown-tarefa-chip-responsavel {
    background: rgba(37, 99, 235, 0.10);
    color: #4a9c17;
    border-color: rgba(37, 99, 235, 0.16);
}

body.dark .countdown-tarefa-label-upgrade,
body.dark-mode .countdown-tarefa-label-upgrade {
    background: linear-gradient(135deg, rgba(15, 23, 42, 0.96), rgba(30, 41, 59, 0.94));
    border-color: rgba(148, 163, 184, 0.14);
    box-shadow:
        0 18px 34px -24px rgba(2, 6, 23, 0.8),
        inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

body.dark .countdown-tarefa-titulo,
body.dark-mode .countdown-tarefa-titulo {
    color: #f8fafc;
}

body.dark .countdown-tarefa-chip-prioridade,
body.dark-mode .countdown-tarefa-chip-prioridade {
    background: rgba(245, 158, 11, 0.18);
    color: #fcd34d;
    border-color: rgba(245, 158, 11, 0.2);
}

body.dark .countdown-tarefa-chip-responsavel,
body.dark-mode .countdown-tarefa-chip-responsavel {
    background: rgba(59, 130, 246, 0.14);
    color: #bfdbfe;
    border-color: rgba(96, 165, 250, 0.16);
}

@media (max-width: 991.98px) {
    .countdown-tarefa-label-upgrade {
        width: 100%;
        align-items: flex-start;
    }

    .countdown-tarefa-titulo span {
        max-width: 220px;
    }
}

@media (max-width: 767.98px) {
    .countdown-tarefa-label-upgrade {
        flex-wrap: wrap;
        gap: 10px;
        padding: 10px 12px;
    }

    .countdown-tarefa-timer {
        min-width: 100%;
        justify-content: flex-start;
    }

    .countdown-tarefa-conteudo {
        width: 100%;
    }

    .countdown-tarefa-titulo span,
    .countdown-tarefa-chip span {
        max-width: 100%;
    }
}


.timeline-top-insights-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}

.timeline-top-insight-card {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: 1rem;
    padding: 1rem;
    box-shadow: var(--shadow);
}

.timeline-top-insight-card--full {
    grid-column: 1 / -1;
}

@media (max-width: 991.98px) {
    .timeline-top-insights-grid {
        grid-template-columns: 1fr;
    }

    .timeline-top-insight-card--full {
        grid-column: auto;
    }
}

/* ===== Upgrade Workboard de Carga ===== */
.workboard-carga-resumo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 1rem;
    background: linear-gradient(135deg, rgba(13, 110, 253, 0.08), rgba(113, 98, 242, 0.06));
}

.workboard-carga-resumo>div:first-child strong {
    display: block;
    font-size: 1rem;
}

.workboard-carga-resumo>div:first-child span {
    color: #64748b;
    font-size: .875rem;
}

.workboard-carga-resumo-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(90px, 1fr));
    gap: .75rem;
    min-width: min(100%, 460px);
}

.workboard-carga-resumo-grid article,
.workboard-carga-grid>div {
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: .95rem;
    padding: .8rem .85rem;
    background: rgba(255, 255, 255, .9);
}

.workboard-carga-resumo-grid strong,
.workboard-carga-grid strong {
    display: block;
    font-size: 1.2rem;
    line-height: 1.1;
}

.workboard-carga-resumo-grid span,
.workboard-carga-grid span {
    color: #64748b;
    font-size: .8rem;
}

.workboard-carga-card {
    height: 100%;
    border-radius: 1.35rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: #fff;
    padding: 1rem;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
    position: relative;
    overflow: hidden;
}

.workboard-carga-card::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: #22c55e;
}

.workboard-carga-card.is-ok::before {
    background: #4ea31a;
}

.workboard-carga-card.is-alta::before {
    background: #f59e0b;
}

.workboard-carga-card.is-critica::before {
    background: #ef4444;
}

.workboard-carga-topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .9rem;
}

.workboard-carga-topo p {
    color: #64748b;
    font-size: .85rem;
}

.workboard-carga-badge,
.colaborador-carga-badge {
    border-radius: 999px;
    padding: .4rem .7rem;
    font-size: .75rem;
    font-weight: 700;
    background: rgba(34, 197, 94, .12);
    color: #15803d;
    border: 1px solid rgba(34, 197, 94, .18);
}

.workboard-carga-badge.is-ok,
.colaborador-carga-badge.is-ok {
    background: rgba(13, 110, 253, .1);
    color: #4ea31a;
    border-color: rgba(13, 110, 253, .18);
}

.workboard-carga-badge.is-alta,
.colaborador-carga-badge.is-alta {
    background: rgba(245, 158, 11, .14);
    color: #b45309;
    border-color: rgba(245, 158, 11, .18);
}

.workboard-carga-badge.is-critica,
.colaborador-carga-badge.is-critica {
    background: rgba(239, 68, 68, .14);
    color: #b91c1c;
    border-color: rgba(239, 68, 68, .18);
}

.workboard-carga-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .6rem;
    margin-bottom: .95rem;
}

.workboard-carga-linha {
    border-top: 1px solid rgba(148, 163, 184, 0.16);
    padding-top: .8rem;
    margin-top: .8rem;
}

.workboard-carga-linha .label,
.colaborador-next-label {
    display: block;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #64748b;
    margin-bottom: .25rem;
    font-weight: 700;
}

.workboard-carga-linha strong {
    display: block;
}

.workboard-carga-linha small {
    color: #64748b;
    display: block;
    margin-top: .18rem;
}

.workboard-carga-prioridades .chips {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.workboard-carga-prioridades .chip {
    border-radius: 999px;
    padding: .36rem .65rem;
    font-size: .74rem;
    font-weight: 700;
    border: 1px solid transparent;
}

.workboard-carga-prioridades .chip.high {
    background: rgba(239, 68, 68, .1);
    color: #b91c1c;
    border-color: rgba(239, 68, 68, .14);
}

.workboard-carga-prioridades .chip.medium {
    background: rgba(245, 158, 11, .12);
    color: #b45309;
    border-color: rgba(245, 158, 11, .16);
}

.workboard-carga-prioridades .chip.low {
    background: rgba(13, 110, 253, .09);
    color: #4ea31a;
    border-color: rgba(13, 110, 253, .14);
}

/* ===== Modo Lista ===== */
.modo-lista-card {
    border-radius: 1.4rem;
    border: 1px solid rgba(148, 163, 184, .18);
    background: #fff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .06);
    padding: 1rem;
}

.modo-lista-topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

.modo-lista-toolbar {
    display: flex;
    align-items: center;
    gap: .9rem;
    flex-wrap: wrap;
}

.modo-lista-resumo {
    display: inline-flex;
    gap: .55rem;
    flex-wrap: wrap;
}

.modo-lista-resumo span {
    border-radius: 999px;
    padding: .35rem .7rem;
    background: rgba(13, 110, 253, .08);
    color: #4ea31a;
    font-size: .74rem;
    font-weight: 700;
}

.modo-lista-groupby {
    display: grid;
    gap: .3rem;
    min-width: 210px;
}

.modo-lista-groupby span {
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #64748b;
}

.modo-lista-grid {
    display: grid;
    gap: 1rem;
}

.modo-lista-grupo {
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: 1rem;
    overflow: hidden;
    background: rgba(248, 250, 252, .92);
}

.modo-lista-grupo-topo {
    padding: .9rem 1rem;
    border-bottom: 1px solid rgba(148, 163, 184, .14);
    background: linear-gradient(90deg, rgba(74, 156, 23, .06), rgba(13, 110, 253, .03));
}

.modo-lista-grupo-titulo-wrap {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    flex-wrap: wrap;
}

.modo-lista-grupo-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: .38rem .75rem;
    font-size: .78rem;
    font-weight: 800;
    color: var(--modo-lista-grupo-cor, #312e81);
    background: color-mix(in srgb, var(--modo-lista-grupo-cor, #94a3b8) 16%, white);
    border: 1px solid color-mix(in srgb, var(--modo-lista-grupo-cor, #94a3b8) 35%, transparent);
}

.modo-lista-grupo-total {
    font-size: .82rem;
    font-weight: 700;
    color: #475569;
}

.modo-lista-tabela-wrap {
    overflow: auto;
}

.modo-lista-tabela {
    width: 100%;
    min-width: 860px;
    border-collapse: separate;
    border-spacing: 0;
}

.modo-lista-tabela thead th {
    padding: .85rem 1rem;
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #64748b;
    border-bottom: 1px solid rgba(148, 163, 184, .14);
    white-space: nowrap;
}

.modo-lista-tabela tbody td {
    padding: .95rem 1rem;
    border-bottom: 1px solid rgba(148, 163, 184, .12);
    vertical-align: top;
    color: #0f172a;
}

.modo-lista-tabela tbody tr:last-child td {
    border-bottom: 0;
}

.modo-lista-item-nome-wrap {
    display: grid;
    gap: .35rem;
}

.modo-lista-badges {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}

.modo-lista-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: .32rem .7rem;
    font-size: .74rem;
    font-weight: 800;
    white-space: nowrap;
    color: var(--modo-lista-badge-cor, #475569);
    background: color-mix(in srgb, var(--modo-lista-badge-cor, #94a3b8) 12%, white);
    border: 1px solid color-mix(in srgb, var(--modo-lista-badge-cor, #94a3b8) 38%, transparent);
}

.modo-lista-badge.is-muted {
    color: #475569;
}

.modo-lista-item-tipo {
    display: inline-flex;
    width: fit-content;
    border-radius: 999px;
    padding: .25rem .55rem;
    font-size: .68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.modo-lista-item-tipo.is-tarefa {
    background: rgba(13, 110, 253, .1);
    color: #4ea31a;
}

.modo-lista-item-tipo.is-turno {
    background: rgba(16, 185, 129, .12);
    color: #047857;
}

.modo-lista-data {
    font-weight: 700;
}

.modo-lista-hora {
    color: #64748b;
    font-size: .8rem;
    margin-top: .18rem;
}

.modo-lista-prioridade,
.modo-lista-status {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: .38rem .72rem;
    font-size: .76rem;
    font-weight: 800;
    white-space: nowrap;
}

.modo-lista-prioridade {
    color: var(--modo-lista-prioridade-cor, #475569);
    background: color-mix(in srgb, var(--modo-lista-prioridade-cor, #94a3b8) 12%, white);
}

.modo-lista-status {
    color: var(--modo-lista-status-cor, #475569);
    background: color-mix(in srgb, var(--modo-lista-status-cor, #94a3b8) 12%, white);
    border: 1px solid color-mix(in srgb, var(--modo-lista-status-cor, #94a3b8) 38%, transparent);
}

.modo-lista-status.is-planejado {
    --modo-lista-status-cor: #4338ca;
}

.modo-lista-status.is-em-andamento {
    --modo-lista-status-cor: #0369a1;
}

.modo-lista-status.is-validacao-testes {
    --modo-lista-status-cor: #b45309;
}

.modo-lista-status.is-aguardando-aprovacao {
    --modo-lista-status-cor: #6d28d9;
}

.modo-lista-status.is-em-discussao {
    --modo-lista-status-cor: #be185d;
}

.modo-lista-status.is-concluido {
    --modo-lista-status-cor: #15803d;
}

.modo-lista-status.is-atrasado {
    --modo-lista-status-cor: #b91c1c;
}

.modo-lista-status.is-cancelado {
    --modo-lista-status-cor: #334155;
}

.modo-lista-status.is-turno {
    --modo-lista-status-cor: #047857;
}

body.dark .modo-lista-card,
body.dark .modo-lista-grupo {
    background: rgba(15, 23, 42, .82);
    border-color: rgba(148, 163, 184, .26);
}

body.dark .modo-lista-grupo-topo {
    background: linear-gradient(90deg, rgba(74, 156, 23, .14), rgba(13, 110, 253, .06));
    border-bottom-color: rgba(148, 163, 184, .16);
}

body.dark .modo-lista-resumo span {
    background: rgba(59, 130, 246, .16);
    color: #93c5fd;
}

body.dark .modo-lista-groupby span,
body.dark .modo-lista-tabela thead th,
body.dark .modo-lista-hora {
    color: #94a3b8;
}

body.dark .modo-lista-grupo-total,
body.dark .modo-lista-tabela tbody td,
body.dark .modo-lista-item-nome-wrap strong {
    color: #e2e8f0;
}

body.dark .modo-lista-tabela tbody td,
body.dark .modo-lista-tabela thead th {
    border-bottom-color: rgba(148, 163, 184, .12);
}

@media (max-width: 992px) {
    .modo-lista-topo {
        flex-direction: column;
    }

    .modo-lista-toolbar {
        width: 100%;
        justify-content: space-between;
    }

    .modo-lista-groupby {
        min-width: 0;
        width: 100%;
    }
}

/* ===== Modo Grade da Equipe ===== */
.grade-equipe-cell-wrap {
    padding: 0 !important;
}

.grade-equipe-card {
    border-radius: 1.4rem;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: #fff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .06);
    padding: 1rem;
}

.grade-equipe-topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.grade-equipe-tabela-wrap {
    overflow: auto;
}

.grade-equipe-tabela {
    width: 100%;
    min-width: 920px;
    border-collapse: separate;
    border-spacing: 0 .7rem;
}

.grade-equipe-tabela--mensal {
    min-width: max-content;
}

.grade-equipe-tabela thead th {
    color: #64748b;
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    padding: 0 .75rem .35rem;
    white-space: nowrap;
}

.grade-equipe-dia-semana {
    font-weight: 700;
}

.grade-equipe-dia-data {
    font-size: .95rem;
    color: #0f172a;
    margin-top: .1rem;
}

.grade-equipe-membro,
.grade-equipe-cell {
    background: color-mix(in srgb, var(--grade-membro-cor, #ffffff) 8%, white);
    border: 1px solid color-mix(in srgb, var(--grade-membro-cor, rgba(148, 163, 184, 0.18)) 22%, rgba(148, 163, 184, 0.18));
    vertical-align: top;
}

.grade-equipe-membro {
    min-width: 220px;
    border-radius: 1rem 0 0 1rem;
    padding: .9rem 1rem;
    box-shadow: inset 4px 0 0 var(--grade-membro-cor, #3b82f6);
}

.grade-equipe-membro-nome {
    font-weight: 700;
    font-size: .98rem;
}

.grade-equipe-membro-status {
    display: inline-flex;
    margin-top: .45rem;
    border-radius: 999px;
    padding: .28rem .62rem;
    font-size: .72rem;
    font-weight: 700;
    background: rgba(34, 197, 94, .12);
    color: #15803d;
}

.grade-equipe-membro-status.is-ok {
    background: rgba(13, 110, 253, .1);
    color: #4ea31a;
}

.grade-equipe-membro-status.is-alta {
    background: rgba(245, 158, 11, .13);
    color: #b45309;
}

.grade-equipe-membro-status.is-critica {
    background: rgba(239, 68, 68, .13);
    color: #b91c1c;
}

.grade-equipe-membro-meta {
    margin-top: .45rem;
    color: #64748b;
    font-size: .8rem;
}

.grade-equipe-cell {
    min-width: 150px;
    padding: .85rem;
}

.grade-equipe-tabela--mensal .grade-equipe-cell {
    min-width: 120px;
    padding: .7rem;
}

.grade-equipe-tabela--mensal .grade-equipe-cell {
    position: relative;
}

.grade-equipe-tabela--mensal .grade-equipe-cell::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    border-radius: 1rem 0 0 1rem;
    background: color-mix(in srgb, var(--grade-membro-cor, #3b82f6) 72%, white);
    opacity: .95;
}

.grade-equipe-tabela--mensal .grade-equipe-turno {
    padding: .28rem .52rem;
    font-size: .68rem;
    margin-bottom: .45rem;
}

.grade-equipe-tabela--mensal .grade-equipe-metricas {
    font-size: .76rem;
}

.grade-equipe-tabela--mensal .grade-equipe-alerta {
    padding: 2px 6px;
    font-size: 10px;
}

.grade-equipe-cell:last-child {
    border-radius: 0 1rem 1rem 0;
}

.grade-equipe-cell.is-hoje {
    box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--grade-membro-cor, #3b82f6) 45%, white);
}

.grade-equipe-turno {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .36rem .68rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--grade-turno-cor) 12%, white);
    color: var(--grade-turno-cor);
    border: 1px solid color-mix(in srgb, var(--grade-turno-cor) 35%, transparent);
    font-weight: 700;
    font-size: .74rem;
    margin-bottom: .6rem;
}

.grade-equipe-metricas {
    display: grid;
    gap: .28rem;
    color: #475569;
    font-size: .82rem;
}

/* ===== Painel forte do colaborador ===== */
.colaborador-painel-forte {
    border-radius: 1.35rem;
    border: 1px solid rgba(148, 163, 184, .18);
    background: linear-gradient(135deg, rgba(13, 110, 253, .05), rgba(113, 98, 242, .05));
    padding: 1rem;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .06);
}

.colaborador-painel-topo {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: .95rem;
}

.colaborador-kpis-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .65rem;
    margin-bottom: .85rem;
}

.colaborador-kpis-grid article,
.colaborador-next-card,
.colaborador-turno-atual,
.colaborador-lista-card {
    border: 1px solid rgba(148, 163, 184, .18);
    background: rgba(255, 255, 255, .92);
    border-radius: 1rem;
    padding: .9rem;
}

.colaborador-kpis-grid strong {
    display: block;
    font-size: 1.18rem;
    line-height: 1.1;
}

.colaborador-kpis-grid span {
    color: #64748b;
    font-size: .8rem;
}

.colaborador-painel-grid {
    display: grid;
    grid-template-columns: 1.15fr 1fr 1.2fr;
    gap: .75rem;
}

.colaborador-next-card strong,
.colaborador-turno-atual strong {
    display: block;
    margin-bottom: .18rem;
}

.colaborador-next-card small,
.colaborador-turno-atual small {
    color: #64748b;
}

.colaborador-turno-atual {
    position: relative;
    overflow: hidden;
}

.colaborador-turno-atual::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: var(--turno-cor, #4a9c17);
}

.colaborador-turno-atual.empty::before,
.colaborador-next-card.empty::before {
    background: #94a3b8;
}

.colaborador-lista-card ul {
    margin: 0;
    padding-left: 1rem;
    display: grid;
    gap: .55rem;
}

.colaborador-lista-card li strong {
    display: block;
    font-size: .9rem;
}

.colaborador-lista-card li span,
.colaborador-lista-card li.empty {
    color: #64748b;
    font-size: .8rem;
}


body.dark-mode .grade-equipe-membro,
body.dark-mode .grade-equipe-cell {
    background: color-mix(in srgb, var(--grade-membro-cor, #0f172a) 12%, rgba(15, 23, 42, 0.92));
    border-color: color-mix(in srgb, var(--grade-membro-cor, rgba(148, 163, 184, .14)) 28%, rgba(148, 163, 184, .14));
}

body.dark-mode .workboard-carga-card,
body.dark-mode .grade-equipe-card,
body.dark-mode .grade-equipe-membro,
body.dark-mode .grade-equipe-cell,
body.dark-mode .colaborador-kpis-grid article,
body.dark-mode .colaborador-next-card,
body.dark-mode .colaborador-turno-atual,
body.dark-mode .colaborador-lista-card {
    background: rgba(15, 23, 42, 0.9);
    border-color: rgba(148, 163, 184, .14);
    color: #e2e8f0;
}

body.dark-mode .workboard-carga-resumo,
body.dark-mode .colaborador-painel-forte {
    background: linear-gradient(135deg, rgba(37, 99, 235, .12), rgba(76, 29, 149, .14));
    border-color: rgba(148, 163, 184, .14);
}

body.dark-mode .workboard-carga-resumo-grid article,
body.dark-mode .workboard-carga-grid>div {
    background: rgba(15, 23, 42, .86);
}

body.dark-mode .workboard-carga-resumo>div:first-child span,
body.dark-mode .workboard-carga-resumo-grid span,
body.dark-mode .workboard-carga-grid span,
body.dark-mode .workboard-carga-linha .label,
body.dark-mode .workboard-carga-linha small,
body.dark-mode .grade-equipe-tabela thead th,
body.dark-mode .grade-equipe-membro-meta,
body.dark-mode .grade-equipe-metricas,
body.dark-mode .colaborador-kpis-grid span,
body.dark-mode .colaborador-next-card small,
body.dark-mode .colaborador-turno-atual small,
body.dark-mode .colaborador-lista-card li span,
body.dark-mode .colaborador-lista-card li.empty,
body.dark-mode .colaborador-next-label {
    color: #94a3b8;
}

@media (max-width: 991.98px) {

    .workboard-carga-resumo,
    .colaborador-painel-topo {
        flex-direction: column;
    }

    .workboard-carga-resumo-grid,
    .workboard-carga-grid,
    .colaborador-kpis-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .colaborador-painel-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {

    .workboard-carga-resumo-grid,
    .workboard-carga-grid,
    .colaborador-kpis-grid {
        grid-template-columns: 1fr 1fr;
    }

    .grade-equipe-cell,
    .grade-equipe-membro {
        min-width: 180px;
    }
}


/* ===== Novos modos e painel do gestor ===== */
.painel-gestor-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px
}

.painel-gestor-card {
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: 18px;
    background: rgba(255, 255, 255, .9);
    padding: 18px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, .06)
}

.painel-gestor-card--hero {
    grid-column: 1/-1;
    background: linear-gradient(135deg, rgba(59, 130, 246, .08), rgba(110, 199, 55, .08))
}

.painel-gestor-eyebrow {
    display: inline-block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: 8px
}

.painel-gestor-kpis {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 16px
}

.painel-gestor-kpis>div {
    padding: 12px;
    border-radius: 14px;
    background: rgba(248, 250, 252, .95);
    border: 1px solid rgba(148, 163, 184, .22)
}

.painel-gestor-kpis strong {
    display: block;
    font-size: 24px;
    line-height: 1.1
}

.gestor-lista-vazia {
    padding: 14px;
    border: 1px dashed rgba(148, 163, 184, .45);
    border-radius: 14px;
    color: var(--text-muted);
    background: rgba(248, 250, 252, .75)
}

.gestor-lista-item {
    padding: 12px;
    border: 1px solid rgba(148, 163, 184, .24);
    border-radius: 14px;
    background: rgba(248, 250, 252, .84);
    margin-top: 10px
}

.gestor-lista-item-topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px
}

.gestor-lista-item-meta {
    margin-top: 6px;
    color: var(--text-muted);
    font-size: 12px
}

.gestor-lista-item-acoes {
    margin-top: 8px
}

.gestor-item-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 4px 9px;
    font-size: 11px;
    font-weight: 800;
    background: rgba(59, 130, 246, .12);
    color: #4a9c17
}

.gestor-item-badge.is-warning {
    background: rgba(245, 158, 11, .16);
    color: #b45309
}

.gestor-item-badge.is-success {
    background: rgba(34, 197, 94, .14);
    color: #15803d
}

.modo-operacao-board {
    padding: 4px
}

.operacao-grid {
    display: flex;
    flex-direction: column;
    gap: 10px
}

.operacao-row {
    display: grid;
    grid-template-columns: 180px repeat(7, minmax(0, 1fr));
    gap: 10px;
    align-items: stretch
}

.operacao-row-head {
    margin-bottom: 4px
}

.operacao-head-title,
.operacao-head-cell,
.operacao-turno,
.operacao-cell {
    border-radius: 16px
}

.operacao-head-title,
.operacao-head-cell {
    padding: 12px;
    background: rgba(248, 250, 252, .95);
    border: 1px solid rgba(148, 163, 184, .24)
}

.operacao-head-cell {
    display: flex;
    flex-direction: column;
    gap: 2px;
    text-align: center;
    font-size: 12px;
    color: var(--text-muted)
}

.operacao-turno {
    padding: 14px;
    border-left: 4px solid var(--turno-cor, #4a9c17);
    background: rgba(255, 255, 255, .94);
    border: 1px solid rgba(148, 163, 184, .24);
    display: flex;
    align-items: center
}

.operacao-cell {
    padding: 12px;
    border: 1px solid rgba(148, 163, 184, .24);
    background: #fff;
    display: flex;
    flex-direction: column;
    gap: 6px;
    text-align: left
}

.operacao-cell-top {
    font-weight: 800;
    font-size: 15px;
    color: #0f172a
}

.operacao-cell-bottom {
    font-size: 11px;
    color: var(--text-muted);
    line-height: 1.35
}

.operacao-cell.is-ok {
    background: rgba(34, 197, 94, .12)
}

.operacao-cell.is-parcial {
    background: rgba(59, 130, 246, .10)
}

.operacao-cell.is-deficit {
    background: rgba(245, 158, 11, .16)
}

.operacao-cell.is-over {
    background: rgba(239, 68, 68, .14)
}

.operacao-vazia,
.cronograma-vazio {
    padding: 22px;
    border: 1px dashed rgba(148, 163, 184, .45);
    border-radius: 18px;
    background: rgba(248, 250, 252, .75);
    color: var(--text-muted)
}

.modo-cronograma-board {
    padding: 8px
}

.cronograma-topo {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px
}

.cronograma-topo-titulo {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.cronograma-body {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.cronograma-row {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 14px;
    align-items: center
}

.cronograma-label {
    padding: 12px 14px;
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, .24);
    background: rgba(248, 250, 252, .86);
    display: flex;
    flex-direction: column;
    gap: 4px
}

.cronograma-label span {
    font-size: 12px;
    color: var(--text-muted)
}

.cronograma-track {
    position: relative;
    height: 52px;
    border-radius: 16px;
    background: linear-gradient(90deg, rgba(241, 245, 249, .95), rgba(248, 250, 252, .95));
    border: 1px solid rgba(148, 163, 184, .20);
    overflow: hidden
}

.cronograma-bar {
    position: absolute;
    top: 9px;
    height: 34px;
    border: 0;
    border-radius: 999px;
    padding: 0 12px;
    background: var(--cronograma-cor, #4a9c17);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    display: flex;
    align-items: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    box-shadow: 0 10px 20px rgba(15, 23, 42, .12)
}

body.dark .painel-gestor-card,
body.dark .operacao-turno,
body.dark .operacao-cell,
body.dark .cronograma-label,
body.dark .cronograma-track {
    background: rgba(15, 23, 42, .9);
    border-color: rgba(148, 163, 184, .18)
}

body.dark .painel-gestor-kpis>div,
body.dark .gestor-lista-item,
body.dark .gestor-lista-vazia,
body.dark .operacao-head-title,
body.dark .operacao-head-cell {
    background: rgba(15, 23, 42, .82);
    border-color: rgba(148, 163, 184, .18)
}

body.dark .operacao-cell-top {
    color: #e2e8f0
}

body.dark .cronograma-bar {
    box-shadow: none
}

@media (max-width: 991.98px) {
    .painel-gestor-grid {
        grid-template-columns: 1fr
    }

    .operacao-row {
        grid-template-columns: 150px repeat(7, minmax(110px, 1fr));
        min-width: 980px
    }

    .modo-operacao-board {
        overflow: auto
    }

    .cronograma-row {
        grid-template-columns: 1fr
    }
}

/* ===== Fase 1 - Central de Hoje / Gestão do modo / Linha do tempo recolhida ===== */
.card-central-hoje {
    overflow: hidden;
}

.central-hoje-eyebrow {
    letter-spacing: .08em;
}

.central-hoje-grid {
    display: grid;
    grid-template-columns: minmax(0, 350px) minmax(480px, 1fr);
    gap: 1.25rem;
    align-items: stretch;
}

.central-hoje-main,
.central-hoje-side {
    min-width: 0;
}

.central-hoje-main {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: fit-content;
    max-width: 275px;
    min-width: 275px;
}

.central-hoje-side {
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 1.25rem;
    padding: 1rem;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.95) 0%, rgba(255, 255, 255, 0.98) 100%);
}

.controle-novo-grid--acoes-rapidas {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

#btnToggleLinhaTempoInline.active {
    background: rgba(13, 110, 253, 0.08);
    border-color: rgba(13, 110, 253, 0.3);
    color: #4ea31a;
}

.modo-gestao-menu {
    min-width: 240px;
}

.modo-gestao-menu .dropdown-item {
    font-weight: 700;
    padding: .75rem .9rem;
}

.modo-gestao-menu .dropdown-item:hover {
    background: rgba(15, 23, 42, 0.04);
}

#cardFeedMudancas {
    margin-top: 0;
}

#cardFilaGerencial,
#cardFilaOperacional {
    width: 100%;
}

body.dark .central-hoje-side {
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.92) 0%, rgba(2, 6, 23, 0.96) 100%);
    border-color: rgba(148, 163, 184, 0.16);
}

body.dark .modo-gestao-menu {
    background: #0f172a;
    border: 1px solid rgba(148, 163, 184, 0.18);
}

body.dark .modo-gestao-menu .dropdown-item {
    color: #e2e8f0;
}

body.dark .modo-gestao-menu .dropdown-item:hover {
    background: rgba(148, 163, 184, 0.12);
}

@media (max-width: 1199.98px) {
    .central-hoje-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .central-hoje-topbar {
        gap: .75rem;
    }

    .central-hoje-top-actions {
        width: 100%;
    }

    .central-hoje-top-actions>.btn {
        width: 100%;
        justify-content: center;
    }
}


.squad-turno-hoje-bloco+.squad-turno-hoje-bloco {
    margin-top: .7rem;
}

.squad-turno-hoje-label {
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: .35rem;
}

.squad-turno-hoje-bloco.is-atual .squad-turno-hoje-label {
    color: #4a9c17;
}

.squad-turno-hoje-bloco.is-proximo .squad-turno-hoje-label {
    color: #0f766e;
}

.squad-turno-hoje-bloco.is-primeiro .squad-turno-hoje-label {
    color: #51a81a;
}

body.dark .squad-turno-hoje-label {
    color: #94a3b8;
}


.card-dashboard-extra-operacao {
    overflow: hidden;
}

.dashboard-extra-kpi {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    margin-bottom: .75rem;
}

.dashboard-extra-kpi-label {
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #64748b;
    font-weight: 800;
}

.dashboard-extra-kpi strong {
    font-size: 1.7rem;
    line-height: 1;
    color: #0f172a;
}

.dashboard-extra-lista {
    display: flex;
    flex-direction: column;
    gap: .6rem;
}

.dashboard-extra-item {
    padding: .8rem .9rem;
    border-radius: 1rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: rgba(248, 250, 252, 0.9);
}

.dashboard-extra-item-topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    margin-bottom: .25rem;
}

.dashboard-extra-item-titulo {
    font-weight: 800;
    color: #0f172a;
}

.dashboard-extra-item-meta {
    font-size: .78rem;
    color: #64748b;
}

.dashboard-extra-vazio {
    padding: .95rem 1rem;
    border-radius: 1rem;
    border: 1px dashed rgba(148, 163, 184, 0.4);
    color: #64748b;
    background: rgba(248, 250, 252, 0.75);
}

body.dark .dashboard-extra-kpi-label,
body.dark-mode .dashboard-extra-kpi-label,
body.dark .dashboard-extra-item-meta,
body.dark-mode .dashboard-extra-item-meta,
body.dark .dashboard-extra-vazio,
body.dark-mode .dashboard-extra-vazio {
    color: #94a3b8;
}

body.dark .dashboard-extra-kpi strong,
body.dark-mode .dashboard-extra-kpi strong,
body.dark .dashboard-extra-item-titulo,
body.dark-mode .dashboard-extra-item-titulo {
    color: #e2e8f0;
}

body.dark .dashboard-extra-item,
body.dark-mode .dashboard-extra-item,
body.dark .dashboard-extra-vazio,
body.dark-mode .dashboard-extra-vazio {
    background: rgba(15, 23, 42, 0.72);
    border-color: rgba(148, 163, 184, 0.16);
}

@media (max-width: 1399.98px) {
    .central-hoje-grid {
        grid-template-columns: minmax(0, 440px) minmax(300px, 1fr);
    }

    .central-hoje-main {
        max-width: 440px;
        min-width: 440px;
    }
}

/* ===== FASE 2: filtros visuais + comentários ===== */
.workspace-filtros-barra {
    padding: 1rem 1.25rem 1.1rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.18);
    background: linear-gradient(180deg, rgba(59, 130, 246, 0.04), rgba(255, 255, 255, 0));
}

.workspace-filtros-inner {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

.workspace-filtros-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.workspace-filtros-head-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.workspace-filtros-head-actions #btnLimparFiltrosVisualizacao {
    padding-inline: 0.9rem;
}

.workspace-filtros-head-actions #workingHeaderManageWrap,
.workspace-filtros-head-actions #workingHeaderAddWrap,
.modo-lista-toolbar #workingHeaderManageWrap,
.modo-lista-toolbar #workingHeaderAddWrap {
    margin: 0;
    align-self: center;
}

.workspace-filtros-head-actions #workingHeaderManageBtn,
.workspace-filtros-head-actions #workingHeaderAddBtn,
.modo-lista-toolbar #workingHeaderManageBtn,
.modo-lista-toolbar #workingHeaderAddBtn {
    padding-inline: 1rem;
    white-space: nowrap;
}

.workspace-filtros-head-actions:has(#workingHeaderManageWrap) #btnLimparFiltrosVisualizacao,
.workspace-filtros-head-actions:has(#workingHeaderAddWrap) #btnLimparFiltrosVisualizacao {
    padding-inline: 0.72rem;
}

.modo-lista-toolbar {
    justify-content: flex-end;
}

.modo-lista-toolbar .modo-lista-resumo {
    margin-right: auto;
}

.workspace-filtros-eyebrow {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #50ac18;
    font-weight: 800;
}

.workspace-filtros-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}

.workspace-filtro-item {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.workspace-filtro-item span {
    font-size: 0.78rem;
    font-weight: 700;
    color: #64748b;
}

.workspace-filtros-chips {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.workspace-chip-toggle {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.workspace-chip-toggle input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.workspace-chip-toggle span {
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 0.85rem;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: #fff;
    color: #334155;
    font-size: 0.82rem;
    font-weight: 700;
    transition: 0.2s ease;
}

.workspace-chip-toggle input:checked+span {
    background: rgba(59, 130, 246, 0.12);
    border-color: rgba(59, 130, 246, 0.4);
    color: #4a9c17;
}

.evento-detalhe-card {
    margin-top: 1rem;
    padding: 1rem;
    border-radius: 1.25rem;
    border: 1px solid rgba(148, 163, 184, 0.2);
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.96), rgba(255, 255, 255, 0.96));
}

.evento-detalhe-topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.9rem;
    flex-wrap: wrap;
}

.evento-detalhe-eyebrow {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.72rem;
    font-weight: 800;
    color: #4a9c17;
    margin-bottom: 0.2rem;
}

.evento-detalhe-resumo-card {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding: 0.9rem 1rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(148, 163, 184, 0.18);
}

.evento-detalhe-resumo-card strong {
    font-size: 1rem;
    color: #0f172a;
}

.evento-detalhe-resumo-card small,
.evento-detalhe-vazio {
    color: #64748b;
}

.evento-detalhe-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 0.2rem;
}

.evento-detalhe-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.75rem;
    border-radius: 999px;
    background: rgba(59, 130, 246, 0.08);
    color: #1e40af;
    font-size: 0.8rem;
    font-weight: 700;
}

.evento-comentarios-box {
    margin-top: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

.evento-comentarios-lista {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    max-height: 280px;
    overflow: auto;
    padding-right: 0.35rem;
}

.evento-comentario-item,
.evento-comentario-vazio {
    border-radius: 1rem;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: #fff;
    padding: 0.85rem 0.95rem;
}

.evento-comentario-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
    font-size: 0.8rem;
    color: #64748b;
}

.evento-comentario-texto {
    color: #0f172a;
    line-height: 1.5;
}

.comentario-mencao,
.evento-comentario-mencoes span {
    display: inline-flex;
    align-items: center;
    padding: 0.18rem 0.45rem;
    border-radius: 999px;
    background: rgba(14, 165, 233, 0.12);
    color: #0369a1;
    font-weight: 700;
}

.evento-comentario-mencoes {
    display: flex;
    gap: 0.45rem;
    flex-wrap: wrap;
    margin-top: 0.65rem;
}

.evento-mencoes-sugestoes {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

@media (max-width: 1200px) {
    .workspace-filtros-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .workspace-filtros-grid {
        grid-template-columns: 1fr;
    }

    .workspace-filtros-barra {
        padding: 0.9rem 1rem 1rem;
    }
}


/* ===== Notificações de menção ===== */
.notification-item--mention {
    border: 1px solid rgba(13, 110, 253, 0.12);
}

.notification-item--mention .notification-task {
    margin-top: 2px;
}

.notification-item--empty {
    border: 1px dashed rgba(148, 163, 184, .28);
    background: rgba(148, 163, 184, .05);
}

body.dark .notification-item--mention,
body.dark-mode .notification-item--mention {
    border-color: rgba(96, 165, 250, 0.16);
}

body.dark .notification-item--empty,
body.dark-mode .notification-item--empty {
    background: rgba(148, 163, 184, .08);
    border-color: rgba(148, 163, 184, .18);
}


.modal-content .modal-title i {
    vertical-align: -1px;
}

#modalRegistroFaltaGestaoModo .form-label,
#modalRegistroHoraExtraGestaoModo .form-label {
    margin-bottom: .45rem;
}

#modalRegistroFaltaGestaoModo .modal-content,
#modalRegistroHoraExtraGestaoModo .modal-content {
    overflow: hidden;
}


/* Ajustes fase 3.1 - modais de faltas e horas extras */
#modalRegistroFaltaGestaoModo .modal-dialog,
#modalRegistroHoraExtraGestaoModo .modal-dialog {
    max-width: 680px;
}

#modalRegistroFaltaGestaoModo .modal-content,
#modalRegistroHoraExtraGestaoModo .modal-content {
    overflow: hidden;
}

#modalRegistroFaltaGestaoModo .modal-body,
#modalRegistroHoraExtraGestaoModo .modal-body {
    padding-top: 1rem !important;
}

#modalRegistroFaltaGestaoModo .form-label,
#modalRegistroHoraExtraGestaoModo .form-label {
    font-size: .92rem;
}

#modalRegistroFaltaGestaoModo .form-control,
#modalRegistroFaltaGestaoModo .form-select,
#modalRegistroHoraExtraGestaoModo .form-control,
#modalRegistroHoraExtraGestaoModo .form-select {
    min-height: 46px;
    border-radius: 1rem !important;
    border-color: rgba(148, 163, 184, 0.28);
    box-shadow: none;
}

#modalRegistroFaltaGestaoModo .form-text,
#modalRegistroHoraExtraGestaoModo .form-text {
    margin-top: .4rem;
    color: #64748b;
}

body.dark #modalRegistroFaltaGestaoModo .form-text,
body.dark #modalRegistroHoraExtraGestaoModo .form-text {
    color: #94a3b8;
}


.squad-turno-pill-alertas {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.squad-turno-pill-alerta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(245, 158, 11, 0.14);
    color: #b45309;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
}

.grade-equipe-alerta {
    margin-top: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(245, 158, 11, 0.14);
    color: #b45309;
    font-size: 11px;
    font-weight: 700;
}

.modo-lista-responsavel-wrap {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.modo-lista-alerta-ocorrencia {
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(245, 158, 11, 0.14);
    color: #b45309;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
}

.modo-lista-badge.is-alert {
    --modo-lista-badge-cor: #ef4444;
}


/* ===== Filas lado a lado no modo gestor ===== */
#linhaFilasGestao>[class*="col-"] {
    align-items: stretch;
}

#slotFilaGerencialLayout,
#slotFilaOperacionalLayout {
    width: 100%;
}

#linhaFilasGestao #cardFilaGerencial,
#linhaFilasGestao #cardFilaOperacional {
    width: 100%;
    height: 100%;
    margin-top: 0 !important;
}

#linhaFilasGestao #painelFilaGerencial,
#linhaFilasGestao #painelFilaOperacional {
    height: 100%;
}


/* ===== Painel analítico: saúde dos turnos em destaque ===== */
.chart-box-saude-turnos-principal {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96));
}

.dashboard-turnos-squad-root .turnos-kpi-grid.turnos-kpi-grid--wide {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.turnos-saude-extra-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.turnos-saude-extra-card {
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 12px;
    padding: 12px;
    background: rgba(248, 250, 252, 0.88);
}

.turnos-saude-extra-texto {
    margin-top: 6px;
    font-size: 13px;
    line-height: 1.45;
    color: var(--text-main);
}

#boxReviewImpedimentos .insight-list {
    margin-top: 0;
}

#boxReviewImpedimentos .insight-item {
    min-height: 72px;
}

@media (max-width: 1199.98px) {
    .dashboard-turnos-squad-root .turnos-kpi-grid.turnos-kpi-grid--wide {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {

    .dashboard-turnos-squad-root .turnos-kpi-grid.turnos-kpi-grid--wide,
    .turnos-saude-extra-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {

    .dashboard-turnos-squad-root .turnos-kpi-grid.turnos-kpi-grid--wide,
    .turnos-saude-extra-grid {
        grid-template-columns: 1fr;
    }
}

body.dark .chart-box-saude-turnos-principal,
body.dark-mode .chart-box-saude-turnos-principal {
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.96), rgba(30, 41, 59, 0.92));
}

body.dark .turnos-saude-extra-card,
body.dark-mode .turnos-saude-extra-card {
    background: rgba(15, 23, 42, 0.82);
    border-color: rgba(148, 163, 184, 0.28);
}

body.dark .turnos-saude-extra-texto,
body.dark-mode .turnos-saude-extra-texto {
    color: #e2e8f0;
}


/* ================= WORKING TOPBAR ================= */
.working-topbar {
    display: grid;
    grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
    gap: 1rem;
    align-items: stretch;
}

.working-topbar-context,
.working-status-card {
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(248, 250, 252, 0.98));
    border-radius: 1.35rem;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.07);
}

.working-topbar-context {
    padding: 1.15rem 1.25rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.working-topbar-context-eyebrow {
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-weight: 800;
    color: var(--primary);
    margin-bottom: .35rem;
}

.working-topbar-context-title {
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--text-main);
}

.working-topbar-context-subtitle {
    margin-top: .35rem;
    color: var(--text-muted);
    font-size: .9rem;
    line-height: 1.4;
}

.working-topbar-status {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    min-width: 0;
}

.working-status-card {
    appearance: none;
    width: 100%;
    padding: 1rem 1.05rem;
    display: flex;
    align-items: flex-start;
    gap: .85rem;
    text-align: left;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    cursor: pointer;
}

.working-status-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.10);
    border-color: rgba(74, 156, 23, 0.28);
}

.working-status-card:focus-visible {
    outline: 3px solid rgba(74, 156, 23, 0.18);
    outline-offset: 2px;
}

.working-status-icon {
    width: 2.6rem;
    height: 2.6rem;
    border-radius: .95rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 1rem;
    background: rgba(74, 156, 23, 0.12);
    color: var(--primary);
}

.working-status-icon.is-danger {
    background: rgba(239, 68, 68, 0.12);
    color: #dc2626;
}

.working-status-icon.is-success {
    background: rgba(16, 185, 129, 0.14);
    color: #059669;
}

.working-status-content {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: .18rem;
}

.working-status-label {
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .10em;
    font-weight: 800;
    color: var(--text-muted);
}

.working-status-value {
    font-size: 1rem;
    line-height: 1.25;
    color: var(--text-main);
}

.working-status-meta {
    color: var(--text-muted);
    font-size: .84rem;
    line-height: 1.35;
    display: block;
}

@media (max-width: 1399.98px) {
    .working-topbar {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991.98px) {
    .working-topbar-status {
        grid-template-columns: 1fr;
    }
}

body.dark .working-topbar-context,
body.dark .working-status-card,
body.dark-mode .working-topbar-context,
body.dark-mode .working-status-card {
    background: linear-gradient(180deg, rgba(30, 41, 59, 0.96), rgba(15, 23, 42, 0.96));
    border-color: rgba(148, 163, 184, 0.20);
    box-shadow: 0 16px 34px rgba(2, 6, 23, 0.36);
}

body.dark .working-status-card:hover,
body.dark-mode .working-status-card:hover {
    border-color: rgba(96, 165, 250, 0.28);
}

/* ==================================================
   WORKING REPAGINAÇÃO 2.0
   ================================================== */

.page-wrapper>.container-fluid {
    max-width: 1880px;
}

.page-header {
    margin-bottom: 1.25rem !important;
}

.page-header>.d-flex {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center !important;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.96));
    box-shadow: 0 16px 45px rgba(15, 23, 42, 0.06);
}

.page-header .d-flex.gap-6 {
    gap: .75rem !important;
}

.page-header .input-group,
.page-header #btnImprimirGlobal,
.page-header a[href="relatorio-workspace.php"],
.page-header a[href="index.php"] {
    display: none !important;
}

.working-topbar,
.working-control-shell,
#workingWorkspaceShell {
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 28px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.98));
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.06);
}

.working-topbar {
    padding: 1.35rem;
    display: grid;
    grid-template-columns: minmax(280px, 0.9fr) minmax(0, 2fr);
    gap: 1rem;
    align-items: center;
}

.working-topbar-context-eyebrow,
.working-control-eyebrow,
.working-main-eyebrow,
.working-rail-eyebrow {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--text-muted);
}

.working-topbar-context-title,
.working-control-title,
.working-main-title,
.working-rail-title {
    color: #0f172a;
    font-weight: 800;
}

.working-topbar-context-subtitle,
.working-control-subtitle,
.working-main-subtitle {
    color: var(--text-muted);
    font-size: 14px;
}

.working-topbar-status {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.working-status-card {
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: rgba(255, 255, 255, 0.92);
    border-radius: 24px;
    padding: 1.35rem 1.4rem;
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    text-align: left;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.working-status-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 32px rgba(15, 23, 42, 0.08);
    border-color: rgba(74, 156, 23, 0.28);
}

.working-status-icon {
    width: 52px;
    height: 52px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    flex-shrink: 0;
}

.working-status-icon.is-primary {
    background: rgba(74, 156, 23, .14);
    color: #4a9c17;
}

.working-status-icon.is-danger {
    background: rgba(239, 68, 68, .12);
    color: #ef4444;
}

.working-status-icon.is-success {
    background: rgba(16, 185, 129, .14);
    color: #059669;
}

.working-status-label {
    display: block;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .14em;
    color: #526482;
    margin-bottom: .15rem;
}

.working-status-value {
    display: block;
    font-size: 1.08rem;
    color: #0f172a;
    line-height: 1.2;
}

.working-status-meta {
    display: block;
    margin-top: .15rem;
    font-size: .98rem;
    color: #59708f;
}

.working-control-shell {
    padding: 1.2rem 1.35rem;
}

.working-control-head,
.working-control-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.working-control-actions {
    display: flex;
    align-items: center;
    gap: .75rem;
    flex-wrap: wrap;
}

.working-control-nav {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(148, 163, 184, 0.16);
}

.working-nav-tabs {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .45rem;
    background: rgba(148, 163, 184, 0.10);
    border-radius: 999px;
    overflow-x: auto;
}

.working-nav-tab {
    border: 0;
    background: transparent;
    color: #526482;
    min-height: 42px;
    padding: 0 1rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    font-weight: 700;
    white-space: nowrap;
}

.working-nav-tab.is-active {
    background: #0f172a;
    color: #fff;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.16);
}

.working-nav-filters {
    display: flex;
    align-items: center;
    gap: .85rem;
    flex-wrap: wrap;
}

.working-nav-filter {
    min-width: 190px;
}

.working-nav-filter label {
    display: block;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--text-muted);
    margin-bottom: .35rem;
}

#workingWorkspaceShell {
    padding: 1.35rem;
}

#areaPlanejamento {
    display: grid !important;
    grid-template-columns: minmax(0, 1.65fr) minmax(320px, .85fr);
    gap: 1.35rem;
    margin: 0 !important;
    align-items: start;
}

#areaPlanejamento.is-main-fullwidth {
    grid-template-columns: minmax(0, 1fr) !important;
}

#areaPlanejamento.is-main-fullwidth #colPlanejamentoPrincipal {
    grid-column: 1 / -1;
    width: 100% !important;
    max-width: 100% !important;
}

#areaPlanejamento.is-main-fullwidth #colPlanejamentoLateral {
    display: none !important;
}

#colPlanejamentoPrincipal,
#colPlanejamentoLateral {
    width: 100%;
    max-width: 100%;
    flex: none;
}

#colPlanejamentoPrincipal {
    order: 1;
}

#colPlanejamentoLateral {
    order: 2;
    position: sticky;
    top: 1rem;
    align-self: start;
}

.working-main-header,
.working-rail-header {
    padding: .15rem .2rem 1rem;
}

#colPlanejamentoLateral #cardControleNovo {
    margin-top: 0 !important;
}

#cardCalendarioPrincipal,
#dashboardMensal,
#cardFeedMudancas,
#cardFilaOperacional,
#cardFilaGerencial,
#painelDashboardsContainer,
#painelGestorContainer,
#cardLinhaDoTempoPrincipal,
#cardControleNovo,
#cardEquipeSquad,
#cardTurnosSquad,
#cardSprints,
#cardRankingCategorias,
#cardBandeirasPrioridade,
#cardTarefasForaSprint,
#configEscala,
#cardPrevisaoTempo {
    border-radius: 24px !important;
    overflow: hidden;
}

body.working-focus-atrasadas #cardCalendarioPrincipal,
body.working-focus-turno #cardCalendarioPrincipal {
    box-shadow: 0 0 0 2px rgba(74, 156, 23, .14), 0 18px 36px rgba(15, 23, 42, .08);
}

body.working-focus-atrasadas #cardFilaGerencial,
body.working-focus-atrasadas #dashboardMensal {
    box-shadow: 0 0 0 2px rgba(239, 68, 68, .18), 0 18px 36px rgba(15, 23, 42, .08);
}

body.working-focus-turno #cardControleNovo {
    box-shadow: 0 0 0 2px rgba(16, 185, 129, .18), 0 18px 36px rgba(15, 23, 42, .08);
}

@media (max-width: 1199.98px) {
    .working-topbar {
        grid-template-columns: 1fr;
    }

    #areaPlanejamento {
        grid-template-columns: 1fr;
    }

    #colPlanejamentoLateral {
        position: static;
    }
}

@media (max-width: 991.98px) {
    .page-header>.d-flex {
        grid-template-columns: 1fr;
    }

    .working-topbar-status {
        grid-template-columns: 1fr;
    }

    .working-control-actions {
        width: 100%;
    }

    .working-control-actions .btn,
    .working-control-actions a {
        flex: 1 1 calc(50% - .75rem);
        justify-content: center;
    }

    .working-nav-filters {
        width: 100%;
    }

    .working-nav-filter {
        flex: 1 1 220px;
    }
}

@media (max-width: 575.98px) {

    .working-topbar,
    .working-control-shell,
    #workingWorkspaceShell {
        border-radius: 22px;
    }

    .working-status-card {
        padding: 1rem;
    }

    .working-status-meta {
        font-size: .9rem;
    }

    .working-control-actions .btn,
    .working-control-actions a {
        flex: 1 1 100%;
    }
}

body.dark .page-header>.d-flex,
body.dark .working-topbar,
body.dark .working-control-shell,
body.dark #workingWorkspaceShell {
    background: linear-gradient(180deg, rgba(15, 23, 42, .96), rgba(15, 23, 42, .98));
    border-color: rgba(148, 163, 184, .18);
    box-shadow: 0 18px 42px rgba(2, 6, 23, .28);
}

body.dark .working-status-card {
    background: rgba(15, 23, 42, .82);
    border-color: rgba(148, 163, 184, .16);
}

body.dark .working-status-value,
body.dark .working-topbar-context-title,
body.dark .working-control-title,
body.dark .working-main-title,
body.dark .working-rail-title {
    color: #f8fafc;
}

body.dark .working-nav-tabs {
    background: rgba(148, 163, 184, 0.12);
}

body.dark .working-nav-tab {
    color: #cbd5e1;
}

body.dark .working-nav-tab.is-active {
    background: #4a9c17;
    color: #fff;
}

/* ==================================================
   WORKING HEADER NAV / VISUALIZAÇÃO
   ================================================== */

.working-header-nav {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.working-header-tabs {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 999px;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
    flex-wrap: wrap;
}

.working-header-tab {
    border: 0;
    background: transparent;
    color: var(--text-muted);
    font-weight: 700;
    font-size: 13px;
    border-radius: 999px;
    padding: 10px 14px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: var(--transition);
}

.working-header-tab:hover {
    background: rgba(74, 156, 23, 0.08);
    color: var(--text-main);
}

.working-header-tab.is-active {
    background: linear-gradient(135deg, rgba(74, 156, 23, 0.16), rgba(110, 199, 55, 0.2));
    color: #24570d;
    box-shadow: inset 0 0 0 1px rgba(74, 156, 23, 0.16);
}

.working-header-tab.is-disabled {
    opacity: 0.55;
}

.working-header-visualizacao {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px 8px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(148, 163, 184, 0.28);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
}

.working-header-visualizacao-label {
    margin: 0;
    font-size: 12px;
    font-weight: 800;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: .08em;
}

#workingResponsavelProxy {
    min-width: 170px;
    border-color: rgba(148, 163, 184, 0.3);
}

.working-control-note {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 16px;
    padding-top: 18px;
    border-top: 1px solid rgba(148, 163, 184, 0.2);
}

.working-control-note-chip {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    background: rgba(74, 156, 23, 0.1);
    color: #2f6f10;
}

.working-control-note-text {
    font-size: 13px;
    color: var(--text-muted);
}


body.dark .working-header-tabs,
body.dark .working-header-visualizacao {
    background: rgba(15, 23, 42, 0.92);
    border-color: rgba(148, 163, 184, 0.24);
}

body.dark .working-header-tab.is-active {
    color: #d9f99d;
    background: rgba(74, 156, 23, 0.18);
    box-shadow: inset 0 0 0 1px rgba(110, 199, 55, 0.18);
}

body.dark .working-control-note {
    border-top-color: rgba(148, 163, 184, 0.16);
}

body.dark .working-control-note-chip {
    color: #d9f99d;
    background: rgba(74, 156, 23, 0.16);
}

@media (max-width: 1199.98px) {
    .working-header-nav {
        width: 100%;
        align-items: stretch;
    }

    .working-header-tabs,
    .working-header-visualizacao {
        width: 100%;
        justify-content: flex-start;
    }
}

@media (max-width: 767.98px) {
    .working-header-tabs {
        border-radius: 22px;
        gap: 6px;
    }

    .working-header-tab {
        flex: 1 1 calc(50% - 6px);
        justify-content: center;
    }

    .working-header-visualizacao {
        border-radius: 22px;
        flex-direction: column;
        align-items: stretch;
    }

    #workingResponsavelProxy {
        min-width: 0;
        width: 100%;
    }
}


.working-header-back-btn {
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    margin-left: 2px;
}


.working-topbar-status--expanded {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 1rem;
}

.working-topbar .working-status-card .working-status-meta,
.working-topbar-context {
    display: none !important;
}

.working-status-card.is-accent {
    cursor: default;
}

.working-header-nav {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.working-header-back-btn {
    align-self: center;
    white-space: nowrap;
}

@media (max-width: 1400px) {
    .working-topbar-status--expanded {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .working-topbar-status--expanded {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .working-topbar-status--expanded {
        grid-template-columns: 1fr;
    }
}

/* ==================================================
   AJUSTE FINAL — MENU INÍCIO / WORKING RESUMO TOPO
   ================================================== */

#workingResumoTopo.working-topbar {
    display: block;
    grid-template-columns: 1fr;
    padding: 1.1rem 1.15rem;
}

#workingResumoTopo .working-topbar-status,
#workingResumoTopo .working-topbar-status--expanded {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.9rem;
}

#workingResumoTopo .working-status-card {
    min-width: 0;
    min-height: 104px;
    padding: 1rem 1rem;
    align-items: flex-start;
    gap: 0.85rem;
    border-radius: 22px;
    overflow: hidden;
}

#workingResumoTopo .working-status-icon {
    width: 3rem;
    height: 3rem;
    border-radius: 1rem;
    flex: 0 0 3rem;
    font-size: 1.05rem;
}

#workingResumoTopo .working-status-content {
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
}

#workingResumoTopo .working-status-label {
    display: block;
    margin-bottom: 0.2rem;
    font-size: 0.68rem;
    line-height: 1.15;
    letter-spacing: 0.11em;
}

#workingResumoTopo .working-status-value {
    display: block;
    margin: 0;
    font-size: 0.96rem;
    line-height: 1.2;
    font-weight: 800;
    color: #0f172a;
    overflow-wrap: anywhere;
    word-break: break-word;
}

#workingResumoTopo #workingResumoTurnoTitulo {
    font-size: 0.88rem !important;
    line-height: 1.15 !important;
}

#workingResumoTopo #workingResumoSprintAtual,
#workingResumoTopo #workingResumoSaudeSprint,
#workingResumoTopo #workingResumoEscalas,
#workingResumoTopo #workingResumoHojeCount,
#workingResumoTopo #workingResumoAtrasadasCount {
    font-size: 0.92rem;
}

@media (max-width: 1599.98px) {

    #workingResumoTopo .working-topbar-status,
    #workingResumoTopo .working-topbar-status--expanded {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    #workingResumoTopo.working-topbar {
        padding: 1rem;
    }

    #workingResumoTopo .working-topbar-status,
    #workingResumoTopo .working-topbar-status--expanded {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.8rem;
    }

    #workingResumoTopo .working-status-card {
        min-height: 96px;
    }
}

@media (max-width: 575.98px) {

    #workingResumoTopo .working-topbar-status,
    #workingResumoTopo .working-topbar-status--expanded {
        grid-template-columns: 1fr;
    }
}

body.dark #workingResumoTopo .working-status-value,
body.dark-mode #workingResumoTopo .working-status-value {
    color: #f8fafc;
}


#workingCardConteudoInicio {
    padding: 0;
}

#workingInicioDashboardHost {
    min-height: 100%;
}

#cardCalendarioPrincipal.is-inicio-card {
    min-height: 100%;
}

#cardCalendarioPrincipal.is-inicio-card #dashboardMensal {
    margin-top: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    background: transparent !important;
}

#cardCalendarioPrincipal.is-inicio-card #dashboardMensal .card-header,
#cardCalendarioPrincipal.is-inicio-card #dashboardMensal .card-body {
    background: transparent !important;
}

#cardCalendarioPrincipal.is-inicio-card #dashboardMensal .card-header {
    padding: 1.5rem 1.5rem 0 !important;
    border-bottom: 0 !important;
}

#cardCalendarioPrincipal.is-inicio-card #dashboardMensal .card-body {
    padding: 1.5rem !important;
}

#workingWorkspaceShell>#dashboardMensal {
    margin-top: 1.5rem;
}

body.dark #cardCalendarioPrincipal.is-inicio-card #dashboardMensal,
body.dark-mode #cardCalendarioPrincipal.is-inicio-card #dashboardMensal,
body.dark #cardCalendarioPrincipal.is-inicio-card #dashboardMensal .card-header,
body.dark #cardCalendarioPrincipal.is-inicio-card #dashboardMensal .card-body,
body.dark-mode #cardCalendarioPrincipal.is-inicio-card #dashboardMensal .card-header,
body.dark-mode #cardCalendarioPrincipal.is-inicio-card #dashboardMensal .card-body {
    background: transparent !important;
}

/* ==================================================
   ÁREA PRINCIPAL — remover cards aninhados
   ================================================== */

#colPlanejamentoPrincipal>.working-main-pane,
#colPlanejamentoPrincipal>#painelDashboardsContainer {
    width: 100%;
    max-width: 100%;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

#areaPlanejamento.is-main-fullwidth #colPlanejamentoPrincipal>.working-main-pane,
#areaPlanejamento.is-main-fullwidth #colPlanejamentoPrincipal>#painelDashboardsContainer,
#areaPlanejamento.is-main-fullwidth #colPlanejamentoPrincipal>#linhaFilasGestao {
    width: 100% !important;
    max-width: 100% !important;
}

#colPlanejamentoPrincipal>.working-main-pane>.card-body,
#colPlanejamentoPrincipal>.working-main-pane>.card-header {
    background: transparent !important;
}

#cardCalendarioPrincipal {
    padding: 0;
}

#cardCalendarioPrincipal .calendar-nav-gestor {
    border-radius: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
}

#cardCalendarioPrincipal .table-responsive {
    border-radius: 0 !important;
}

#dashboardMensal {
    margin-top: 0 !important;
}

#dashboardMensal .card-header {
    padding: 1rem 0 0 !important;
    border-bottom: 0 !important;
    background: transparent !important;
}

#dashboardMensal .card-body {
    padding: 1rem 0 0 !important;
    background: transparent !important;
}

#painelGestorContainer .card-body,
#cardLinhaDoTempoPrincipal .card-body {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

#painelDashboardsContainer {
    margin-top: 0 !important;
}

@media (max-width: 991.98px) {

    #dashboardMensal .card-header,
    #dashboardMensal .card-body,
    #painelGestorContainer .card-body,
    #cardLinhaDoTempoPrincipal .card-body {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

body.dark #colPlanejamentoPrincipal>.working-main-pane,
body.dark-mode #colPlanejamentoPrincipal>.working-main-pane,
body.dark #colPlanejamentoPrincipal>#painelDashboardsContainer,
body.dark-mode #colPlanejamentoPrincipal>#painelDashboardsContainer,
body.dark #dashboardMensal .card-header,
body.dark-mode #dashboardMensal .card-header,
body.dark #dashboardMensal .card-body,
body.dark-mode #dashboardMensal .card-body,
body.dark #painelGestorContainer .card-body,
body.dark-mode #painelGestorContainer .card-body,
body.dark #cardLinhaDoTempoPrincipal .card-body,
body.dark-mode #cardLinhaDoTempoPrincipal .card-body {
    background: transparent !important;
}


/* === Mini cards operação === */
.working-operacao-mini-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    padding: 18px 18px 4px
}

.working-operacao-mini-card {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
    border-radius: 18px;
    border: 1px solid rgba(148, 163, 184, .24);
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05)
}

.working-operacao-mini-icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(74, 156, 23, .12);
    color: #4a9c17;
    flex-shrink: 0
}

.working-operacao-mini-content {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px
}

.working-operacao-mini-label {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #64748b
}

.working-operacao-mini-value {
    font-size: 26px;
    line-height: 1.05;
    color: #0f172a
}

.working-operacao-mini-desc {
    font-size: 12px;
    color: #64748b;
    display: block
}

.working-operacao-mini-card.is-concluidas .working-operacao-mini-icon {
    background: rgba(34, 197, 94, .14);
    color: #16a34a
}

.working-operacao-mini-card.is-gestor .working-operacao-mini-icon {
    background: rgba(59, 130, 246, .14);
    color: #2563eb
}

.working-operacao-mini-card.is-turnos .working-operacao-mini-icon {
    background: rgba(245, 158, 11, .14);
    color: #d97706
}

/* === Painel Gestor novo === */
.painel-gestor-stack {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.painel-gestor-card--full {
    width: 100%
}

.painel-gestor-sprints-wrap {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.painel-gestor-sprint-box {
    border: 1px solid rgba(148, 163, 184, .24);
    border-radius: 16px;
    overflow: hidden;
    background: rgba(248, 250, 252, .85)
}

.painel-gestor-sprint-summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 16px;
    border-left: 4px solid var(--painel-gestor-sprint-cor, #3b82f6)
}

.painel-gestor-sprint-summary::-webkit-details-marker {
    display: none
}

.painel-gestor-sprint-meta {
    font-size: 12px;
    color: #64748b;
    margin-top: 3px
}

.painel-gestor-sprint-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(59, 130, 246, .1);
    color: #2563eb;
    font-weight: 800
}

.painel-gestor-sprint-body {
    padding: 0 16px 16px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 10px
}

.painel-gestor-task-item {
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 14px;
    padding: 12px;
    background: #fff
}

.painel-gestor-task-topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 8px
}

.painel-gestor-task-status {
    font-size: 11px;
    font-weight: 800;
    border-radius: 999px;
    padding: 4px 8px;
    background: rgba(148, 163, 184, .16);
    color: #475569;
    white-space: nowrap
}

.painel-gestor-task-status.is-concluido {
    background: rgba(34, 197, 94, .16);
    color: #166534
}

.painel-gestor-task-status.is-atrasado {
    background: rgba(239, 68, 68, .16);
    color: #991b1b
}

.painel-gestor-task-status.is-em_andamento,
.painel-gestor-task-status.is-pendente,
.painel-gestor-task-status.is-planejado {
    background: rgba(59, 130, 246, .12);
    color: #1d4ed8
}

.painel-gestor-task-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 12px;
    color: #64748b
}

.painel-gestor-members-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 12px
}

.painel-gestor-member-card {
    border: 1px solid rgba(148, 163, 184, .24);
    border-radius: 16px;
    padding: 14px;
    background: rgba(255, 255, 255, .96)
}

.painel-gestor-member-card.is-critica {
    border-color: rgba(239, 68, 68, .35)
}

.painel-gestor-member-card.is-alta {
    border-color: rgba(245, 158, 11, .35)
}

.painel-gestor-member-card.is-ok {
    border-color: rgba(59, 130, 246, .35)
}

.painel-gestor-member-topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px
}

.painel-gestor-member-sub {
    font-size: 12px;
    color: #64748b;
    margin-top: 2px
}

.painel-gestor-member-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 4px 10px;
    background: rgba(74, 156, 23, .12);
    color: #4a9c17;
    font-size: 11px;
    font-weight: 800
}

.painel-gestor-member-kpis {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px
}

.painel-gestor-member-kpis>div {
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: 12px;
    padding: 10px;
    background: rgba(248, 250, 252, .85)
}

.painel-gestor-member-kpis span {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #64748b;
    font-weight: 700
}

.painel-gestor-member-kpis strong {
    display: block;
    font-size: 15px;
    line-height: 1.2;
    color: #0f172a;
    margin-top: 4px;
    word-break: break-word
}

body.dark .working-operacao-mini-card {
    background: rgba(15, 23, 42, .9);
    border-color: rgba(148, 163, 184, .18)
}

body.dark .working-operacao-mini-value {
    color: #e2e8f0
}

body.dark .working-operacao-mini-desc,
body.dark .working-operacao-mini-label {
    color: #94a3b8
}

body.dark .painel-gestor-sprint-box,
body.dark .painel-gestor-member-card,
body.dark .painel-gestor-task-item {
    background: rgba(15, 23, 42, .88);
    border-color: rgba(148, 163, 184, .18)
}

body.dark .painel-gestor-member-kpis>div {
    background: rgba(30, 41, 59, .85);
    border-color: rgba(148, 163, 184, .18)
}

body.dark .painel-gestor-member-kpis strong {
    color: #e2e8f0
}

body.dark .painel-gestor-task-meta,
body.dark .painel-gestor-sprint-meta,
body.dark .painel-gestor-member-sub {
    color: #94a3b8
}

@media (max-width:1199.98px) {
    .working-operacao-mini-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media (max-width:767.98px) {
    .working-operacao-mini-grid {
        grid-template-columns: 1fr;
        padding: 16px 16px 2px
    }

    .painel-gestor-member-kpis {
        grid-template-columns: 1fr
    }

    .painel-gestor-sprint-body {
        grid-template-columns: 1fr
    }
}


.painel-gestor-container-full,
#painelGestorContainer,
#painelGestorConteudo,
.painel-gestor-stack,
.painel-gestor-card,
.painel-gestor-card--hero,
.painel-gestor-card--full {
    width: 100%
}

#painelGestorConteudo,
.painel-gestor-stack {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch;
    width: 100% !important;
    max-width: 100% !important
}

.painel-gestor-stack>* {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
    box-sizing: border-box
}

.painel-gestor-card,
.painel-gestor-card--hero,
.painel-gestor-card--full {
    justify-self: stretch;
    align-self: stretch
}

.painel-gestor-fila-lista {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px
}

.painel-gestor-members-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px
}

.painel-gestor-card h4,
.painel-gestor-card h5 {
    margin-bottom: 0
}

@media (max-width:991.98px) {
    .painel-gestor-members-grid {
        grid-template-columns: 1fr !important
    }
}


/* Ajustes extras de largura total nas visões do gestor */
.gestor-visualizacao-cell,
.grade-equipe-card,
.grade-equipe-tabela-wrap,
.grade-equipe-tabela,
.modo-lista-card,
.modo-lista-grid,
.modo-lista-grupo,
.modo-lista-tabela-wrap,
.modo-lista-tabela,
#cardCalendarioPrincipal .table-responsive,
#cardCalendarioPrincipal .calendar-table,
#cardCalendarioPrincipal #calendarBody,
#workingOperacaoMiniCards {
    width: 100% !important;
    max-width: 100% !important;
}

#cardCalendarioPrincipal .gestor-visualizacao-cell,
#cardCalendarioPrincipal .grade-equipe-cell-wrap {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

#cardCalendarioPrincipal .modo-lista-card,
#cardCalendarioPrincipal .grade-equipe-card {
    margin: 0;
}

.painel-gestor-kpis--4col {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.painel-gestor-member-kpis--4col {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.painel-gestor-member-recorte {
    margin-top: 8px;
    margin-bottom: 14px;
    font-size: 12px;
    color: var(--text-muted);
    font-weight: 600;
}

@media (max-width: 991.98px) {

    .painel-gestor-kpis--4col,
    .painel-gestor-member-kpis--4col {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {

    .painel-gestor-kpis--4col,
    .painel-gestor-member-kpis--4col {
        grid-template-columns: 1fr;
    }
}


/* Abas principais dedicadas */
#painelEquipeContainer .card-body,
#painelTurnosContainer .card-body,
#painelSprintsContainer .card-body {
    padding: 0 !important;
}

#slotMainCardEquipeSquad>.card,
#slotMainCardTurnosSquad>.card,
#slotMainCardSprints>.card {
    margin: 0 !important;
    width: 100%;
}

/* ===== GERENCIAR: modais grandes sprint/turnos ===== */
.working-manage-modal {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98));
}

.working-manage-layout {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.working-manage-sidebar,
.working-manage-editor {
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.82);
    padding: 16px;
}

.working-manage-sidebar {
    position: sticky;
    top: 0;
}

.working-manage-sidebar-topo,
.working-manage-editor-topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.working-manage-sidebar-eyebrow {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-bottom: 2px;
}

.working-manage-lista {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-height: 65vh;
    overflow: auto;
    padding-right: 4px;
}

.working-manage-item {
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-left: 4px solid var(--manage-item-cor, var(--primary));
    border-radius: 14px;
    background: rgba(248, 250, 252, 0.88);
    padding: 12px;
    text-align: left;
    width: 100%;
    transition: all .18s ease;
}

.working-manage-item:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

.working-manage-item.is-active {
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 0 0 2px rgba(74, 156, 23, 0.16);
}

.working-manage-item-topo {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 10px;
}

.working-manage-item-titulo {
    font-size: 14px;
    font-weight: 800;
    color: var(--text-main);
}

.working-manage-item-meta,
.working-manage-item-sub {
    font-size: 12px;
    color: var(--text-muted);
}

.working-manage-item-vazio {
    border: 1px dashed rgba(148, 163, 184, 0.4);
    border-radius: 14px;
    padding: 14px;
    color: var(--text-muted);
    background: rgba(248, 250, 252, 0.76);
    font-size: 13px;
}

body.dark .working-manage-modal {
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.98), rgba(2, 6, 23, 0.98));
}

body.dark .working-manage-sidebar,
body.dark .working-manage-editor,
body.dark .working-manage-item {
    background: rgba(15, 23, 42, 0.88);
    border-color: rgba(148, 163, 184, 0.24);
}

body.dark .working-manage-item.is-active {
    box-shadow: 0 0 0 2px rgba(110, 199, 55, 0.18);
}

body.dark .working-manage-item-vazio {
    background: rgba(15, 23, 42, 0.72);
    border-color: rgba(148, 163, 184, 0.28);
}

@media (max-width: 991.98px) {
    .working-manage-layout {
        grid-template-columns: 1fr;
    }

    .working-manage-sidebar {
        position: static;
    }

    .working-manage-lista {
        max-height: 240px;
    }
}


#workingHeaderManageWrap,
#workingHeaderAddWrap {
    align-self: center;
}

#workingHeaderAddBtn {
    white-space: nowrap;
}


.painel-gestor-card--flags {
    margin-top: 16px;
}

.painel-gestor-card--flags .central-hoje-main {
    width: 100%;
}

.painel-gestor-card--flags .controle-novo-flags {
    margin-bottom: 0;
}

.painel-gestor-card--flags .controle-novo-grid {
    display: none !important;
}


/* ===== Turnos: métricas detalhadas ===== */
.turnos-metricas-shell {
    background: #fff;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 1.25rem;
    padding: 1.25rem;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.turnos-metricas-topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

.turnos-metricas-eyebrow {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--text-muted);
}

.turnos-metricas-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.turnos-kpi {
    background: rgba(248, 250, 252, .88);
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 1rem;
    padding: .9rem;
}

.turnos-kpi-label {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-bottom: 6px;
}

.turnos-kpi-value {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--text-main);
}

.turnos-health-badge.is-ok {
    background: rgba(34, 197, 94, .14);
    color: #15803d;
}

.turnos-health-badge.is-alert {
    background: rgba(245, 158, 11, .14);
    color: #b45309;
}

.turnos-health-badge.is-danger {
    background: rgba(239, 68, 68, .14);
    color: #b91c1c;
}

.squad-turno-item.is-alert {
    box-shadow: inset 0 0 0 1px rgba(245, 158, 11, .22);
}

.squad-turno-item.is-danger {
    box-shadow: inset 0 0 0 1px rgba(239, 68, 68, .24);
}

/* ===== Validação do turno ===== */
.turno-validation-panel {
    border: 1px solid rgba(148, 163, 184, 0.24);
    background: rgba(248, 250, 252, .78);
    border-radius: 1rem;
    padding: 1rem;
}

.turno-validation-topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: .6rem;
}

.turno-validation-eyebrow {
    font-size: 11px;
    font-weight: 800;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: .08em;
}

.turno-validation-badge {
    padding: .3rem .7rem;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

.turno-validation-badge.is-ok {
    background: rgba(34, 197, 94, .14);
    color: #15803d;
}

.turno-validation-badge.is-alert {
    background: rgba(245, 158, 11, .14);
    color: #b45309;
}

.turno-validation-badge.is-danger {
    background: rgba(239, 68, 68, .14);
    color: #b91c1c;
}

.turno-validation-resumo {
    font-size: 13px;
    color: var(--text-muted);
    margin-bottom: .8rem;
}

.turno-validation-lista {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.turno-validation-item {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
    border-radius: .85rem;
    padding: .7rem .8rem;
    font-size: 13px;
    font-weight: 600;
}

.turno-validation-item.is-ok {
    background: rgba(34, 197, 94, .08);
    color: #15803d;
}

.turno-validation-item.is-alert {
    background: rgba(245, 158, 11, .09);
    color: #b45309;
}

.turno-validation-item.is-danger {
    background: rgba(239, 68, 68, .09);
    color: #b91c1c;
}

@media (max-width: 1199.98px) {
    .turnos-metricas-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .turnos-metricas-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .turnos-metricas-grid {
        grid-template-columns: 1fr;
    }
}

body.dark .turnos-metricas-shell,
body.dark .turno-validation-panel {
    background: rgba(15, 23, 42, .72);
    border-color: rgba(148, 163, 184, .16);
}

body.dark .turnos-kpi {
    background: rgba(30, 41, 59, .78);
    border-color: rgba(148, 163, 184, .16);
}


/* ===== Sprints: painel detalhado ===== */
.sprint-metricas-shell {
    background: #fff;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 1.25rem;
    padding: 1.25rem;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.sprint-metricas-topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

.sprint-metricas-eyebrow {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--text-muted);
}

.sprint-metricas-status {
    padding: .42rem .82rem;
    border-radius: 999px;
    background: rgba(245, 158, 11, .12);
    color: #a16207;
    font-size: 12px;
    font-weight: 800;
}

.sprint-metricas-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
}

.sprint-metricas-panels {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.sprint-metricas-panels--secondary {
    align-items: stretch;
}

.sprint-metricas-card {
    background: rgba(248, 250, 252, .88);
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 1rem;
    padding: 1rem;
}

.sprint-metricas-card--wide {
    grid-column: span 1;
}

.sprint-metricas-highlight {
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--text-main);
}

.sprint-metricas-highlight.is-positive {
    color: #15803d;
}

.sprint-metricas-highlight.is-negative {
    color: #b91c1c;
}

.sprint-metricas-subtext {
    font-size: 13px;
    color: var(--text-muted);
    margin-top: .35rem;
    line-height: 1.45;
}

.sprint-metricas-comparison {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    padding: .8rem;
    border-radius: .9rem;
    background: rgba(255, 255, 255, .66);
    border: 1px solid rgba(148, 163, 184, .16);
    font-size: 13px;
}

.sprint-metricas-timeline {
    display: flex;
    flex-direction: column;
    gap: .55rem;
}

.sprint-metricas-timeline-item {
    display: flex;
    flex-direction: column;
    gap: .18rem;
    padding: .72rem .8rem;
    border-radius: .85rem;
    background: rgba(255, 255, 255, .66);
    border: 1px solid rgba(148, 163, 184, .16);
    font-size: 13px;
    color: var(--text-muted);
}

.sprint-metricas-empty {
    padding: .8rem;
    border-radius: .85rem;
    border: 1px dashed rgba(148, 163, 184, .38);
    color: var(--text-muted);
    font-size: 13px;
}

@media (max-width: 1199.98px) {
    .sprint-metricas-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .sprint-metricas-panels {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .sprint-metricas-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .sprint-metricas-grid {
        grid-template-columns: 1fr;
    }
}

body.dark .sprint-metricas-shell {
    background: rgba(15, 23, 42, .72);
    border-color: rgba(148, 163, 184, .16);
}

body.dark .sprint-metricas-card,
body.dark .sprint-metricas-comparison,
body.dark .sprint-metricas-timeline-item {
    background: rgba(30, 41, 59, .78);
    border-color: rgba(148, 163, 184, .16);
}

body.dark .sprint-metricas-status {
    background: rgba(245, 158, 11, .16);
    color: #fcd34d;
}


/* ============================================
   DASHBOARDS - CARDS GRÁFICOS PADRONIZADOS
   ============================================ */

#painelDashboardsContainer .painel-dashboard-slot,
#painelDashboardsContainer .card-dashboard-grafico {
    width: 100%;
}

#painelDashboardsContainer .painel-dashboard-slot>.card,
#painelDashboardsContainer .card-dashboard-grafico {
    min-height: 100%;
}

#painelDashboardsContainer .card {
    border: 1px solid rgba(148, 163, 184, 0.22) !important;
    overflow: hidden;
}

#painelDashboardsContainer .card-body {
    min-height: 360px;
    display: flex;
    flex-direction: column;
}

.dashboard-grafico-topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.dashboard-grafico-kpis {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
    min-height: 32px;
}

.dashboard-grafico-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 12px;
    color: var(--text-muted);
    background: rgba(248, 250, 252, 0.92);
    border: 1px solid rgba(148, 163, 184, 0.26);
}

.dashboard-grafico-chip strong {
    color: var(--text-main);
    font-size: 12px;
}

.dashboard-grafico-chart-wrap {
    position: relative;
    flex: 1 1 auto;
    min-height: 220px;
    border-radius: 14px;
    padding: 12px;
    background: rgba(255, 255, 255, 0.84);
    border: 1px solid rgba(148, 163, 184, 0.24);
}

.dashboard-grafico-chart-wrap canvas {
    width: 100% !important;
    height: 100% !important;
}


#cardDashboardStatusTarefas .dashboard-grafico-chart-wrap {
    min-height: 250px;
    max-height: 270px;
}

#cardDashboardResponsaveis .dashboard-grafico-chart-wrap,
#cardDashboardSprintsVolume .dashboard-grafico-chart-wrap {
    min-height: 190px;
    max-height: 210px;
}

body.dark #painelDashboardsContainer .card {
    border-color: rgba(148, 163, 184, 0.22) !important;
    background: rgba(15, 23, 42, 0.82);
}

body.dark .dashboard-grafico-chip {
    background: rgba(15, 23, 42, 0.82);
    border-color: rgba(148, 163, 184, 0.18);
}

body.dark .dashboard-grafico-chip strong {
    color: #e2e8f0;
}

body.dark .dashboard-grafico-chart-wrap {
    background: rgba(15, 23, 42, 0.72);
    border-color: rgba(148, 163, 184, 0.18);
}

@media (max-width: 767.98px) {
    #painelDashboardsContainer .card-body {
        min-height: 320px;
    }

    .dashboard-grafico-topo {
        flex-direction: column;
    }
}

.bandeiras-prioridade-lista {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.bandeiras-prioridade-resumo {
    font-size: 12px;
    font-weight: 700;
    color: var(--text-muted);
}

.bandeiras-prioridade-item {
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 12px;
    background: rgba(148, 163, 184, 0.08);
    padding: 10px 12px;
}

.bandeiras-prioridade-item-topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
}

.bandeiras-prioridade-item-titulo {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    color: var(--text-main);
}

.bandeiras-prioridade-item-valor {
    font-size: 12px;
    font-weight: 800;
    color: var(--text-main);
    background: rgba(148, 163, 184, 0.2);
    border-radius: 999px;
    padding: 2px 9px;
}

.bandeiras-prioridade-item-barra {
    height: 8px;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(148, 163, 184, 0.22);
}

.bandeiras-prioridade-item-barra span {
    display: block;
    height: 100%;
    border-radius: inherit;
}


.working-inline-actions-slot {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.workspace-filtros-head-actions .working-inline-actions-slot {
    margin-left: 0;
}

.modo-lista-toolbar .working-inline-actions-slot {
    align-self: center;
}

.working-inline-actions-slot #workingHeaderManageWrap,
.working-inline-actions-slot #workingHeaderAddWrap {
    display: inline-flex;
    margin: 0;
    align-self: center;
}


.working-inline-actions-slot {
    display: inline-flex !important;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.working-inline-actions-slot #workingHeaderManageWrap,
.working-inline-actions-slot #workingHeaderAddWrap {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0;
}


/* Ajuste fino: manter Limpar filtros + Gerenciar + Adicionar na mesma linha no Calendário/Grade */
.workspace-filtros-head {
    flex-wrap: nowrap;
}

.workspace-filtros-head-actions {
    flex-wrap: nowrap;
    white-space: nowrap;
}

.workspace-filtros-head-actions .working-inline-actions-slot {
    flex-wrap: nowrap !important;
    white-space: nowrap;
}

.workspace-filtros-head-actions #workingHeaderManageBtn,
.workspace-filtros-head-actions #workingHeaderAddBtn,
.workspace-filtros-head-actions #btnLimparFiltrosVisualizacao {
    flex-shrink: 0;
}

@media (max-width: 991.98px) {
    .workspace-filtros-head {
        flex-wrap: wrap;
    }

    .workspace-filtros-head-actions {
        flex-wrap: wrap;
        white-space: normal;
    }

    .workspace-filtros-head-actions .working-inline-actions-slot {
        flex-wrap: wrap !important;
        white-space: normal;
    }
}


/* ============================================
   PROJETOS (SQUAD) — badges, filtros e painel
   ============================================ */

.projeto-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: var(--projeto-cor, #94a3b8);
    margin-left: 6px;
    vertical-align: middle;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.6);
}

body.dark .projeto-dot,
body.dark-mode .projeto-dot {
    box-shadow: 0 0 0 2px rgba(15, 23, 42, 0.55);
}

.projeto-dot--tiny {
    width: 8px;
    height: 8px;
    margin-left: 0;
    margin-right: 6px;
    box-shadow: none;
}

.grade-equipe-projetos {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    flex-wrap: wrap;
}

.grade-equipe-projeto-dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: var(--projeto-cor, #94a3b8);
    box-shadow: 0 0 0 2px rgba(15, 23, 42, 0.06);
}

.grade-equipe-projeto-extra {
    font-size: 10px;
    font-weight: 800;
    color: var(--text-muted);
}

.sprint-projetos-resumo {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 10px 12px;
    border-radius: 14px;
    border: 1px solid var(--border-color);
    background: rgba(74, 156, 23, 0.05);
    min-height: 44px;
}

.projetos-painel-shell {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: 24px;
    padding: 18px;
    box-shadow: var(--shadow);
}

.projetos-painel-topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.projetos-painel-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.projetos-painel-resumo {
    font-weight: 800;
    font-size: 12px;
    margin-top: 4px;
    color: var(--text-muted);
}

.projetos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 14px;
}

.projetos-card-item {
    border: 1px solid rgba(74, 156, 23, 0.18);
    border-left: 4px solid var(--projeto-cor, #94a3b8);
    border-radius: 20px;
    padding: 14px 14px 12px;
    background: rgba(74, 156, 23, 0.04);
    transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.projetos-card-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 24px -18px rgba(15, 23, 42, 0.35);
}

.projetos-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}


.projetos-card-title-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    min-width: 0;
    flex: 1;
}

.projetos-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.projetos-card-action {
    padding: .25rem .55rem;
    font-size: .775rem;
    line-height: 1.2;
    border-radius: 999px;
}

.projetos-card-title {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.projetos-dot {
    width: 12px;
    height: 12px;
    border-radius: 999px;
    background: var(--projeto-cor, #94a3b8);
    flex: 0 0 auto;
}

.projetos-card-title strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 14px;
}

.projetos-card-kpi {
    font-weight: 900;
    font-size: 12px;
    color: var(--text-muted);
}

.projetos-card-sub {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    font-size: 11px;
    color: var(--text-muted);
    margin-top: 6px;
}

.projetos-progress {
    height: 8px;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.25);
    overflow: hidden;
    margin-top: 10px;
}

.projetos-progress-bar {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--projeto-cor, #94a3b8), rgba(74, 156, 23, 0.8));
}


.projetos-card-responsaveis {
    margin-top: 10px;
}

.projetos-card-responsaveis-label {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-bottom: 6px;
}

.projetos-card-responsaveis-lista {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.projetos-chip-membro {
    background: rgba(255, 255, 255, 0.82);
}

.projetos-chip-membro.is-empty {
    opacity: 0.8;
}

body.dark .projetos-chip-membro,
body.dark-mode .projetos-chip-membro {
    background: rgba(15, 23, 42, 0.55);
}

.projetos-card-micro {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 10px;
}

.projetos-chip {
    font-size: 10px;
    border-radius: 999px;
    padding: 5px 10px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: rgba(255, 255, 255, 0.6);
}

body.dark .projetos-chip,
body.dark-mode .projetos-chip {
    background: rgba(15, 23, 42, 0.35);
}


/* ===== Fix crítico ações inline / aba projetos ===== */
#modoGestaoRapida #workingHeaderManageWrap,
#modoGestaoRapida #workingHeaderAddWrap {
    display: none !important;
}

.projetos-metricas-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 16px;
}

.projetos-metrica-card {
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 18px;
    padding: 14px 16px;
    background: rgba(248, 250, 252, 0.9);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.projetos-metrica-label {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--text-muted);
}

.projetos-metrica-valor {
    font-size: 28px;
    line-height: 1;
    font-weight: 800;
    color: var(--text-main);
}

.projetos-metrica-card small {
    color: var(--text-muted);
}

@media (max-width: 991.98px) {
    .projetos-metricas-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .projetos-metricas-grid {
        grid-template-columns: 1fr;
    }
}


.projetos-sprint-metricas-shell {
    margin-top: 18px;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 22px;
    padding: 18px;
    background: rgba(74, 156, 23, 0.04);
}

.projetos-sprint-metricas-topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
    flex-wrap: wrap;
}

.projetos-sprint-metricas-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.projetos-sprint-kpi-card {
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 18px;
    padding: 14px 16px;
    background: rgba(255, 255, 255, 0.75);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.projetos-sprint-kpi-label {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--text-muted);
}

.projetos-sprint-kpi-valor {
    font-size: 24px;
    line-height: 1.1;
    font-weight: 800;
    color: var(--text-main);
}

.projetos-sprint-kpi-valor--compact {
    font-size: 18px;
}

.projetos-sprint-kpi-card small {
    color: var(--text-muted);
}

body.dark .projetos-sprint-kpi-card,
body.dark-mode .projetos-sprint-kpi-card {
    background: rgba(15, 23, 42, 0.48);
}

@media (max-width: 991.98px) {
    .projetos-sprint-metricas-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .projetos-sprint-metricas-grid {
        grid-template-columns: 1fr;
    }
}


#cardCalendarioPrincipal.is-projetos-painel {
    padding: 0 !important;
}

#cardCalendarioPrincipal.is-projetos-painel .calendar-nav,
#cardCalendarioPrincipal.is-projetos-painel .table-responsive,
#cardCalendarioPrincipal.is-projetos-painel .calendar-nav-gestor,
#cardCalendarioPrincipal.is-projetos-painel .workspace-filtros-barra {
    display: none !important;
}

.working-projetos-painel-host {
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 0;
}

#cardCalendarioPrincipal.is-projetos-painel .working-projetos-painel-host {
    display: block !important;
}

#cardCalendarioPrincipal.is-projetos-painel .projetos-painel-shell {
    width: 100%;
    max-width: 100%;
    margin: 0;
    border-radius: 24px;
}


.ranking-categorias-grafico-wrap--projetos {
    height: 380px;
}

.ranking-categorias-grafico-wrap--projetos canvas {
    width: min(100%, 360px) !important;
    height: min(100%, 360px) !important;
}

.painel-gestor-kpis--5col {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

@media (max-width: 991.98px) {
    .painel-gestor-kpis--5col {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.ranking-categorias-grafico-wrap--projetos {
    height: 420px;
    align-items: center;
    justify-content: center;
}

.ranking-categorias-grafico-wrap--projetos canvas {
    width: min(100%, 400px) !important;
    height: min(100%, 400px) !important;
}

.feed-context-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 10px;
    margin-left: 4px;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--feed-badge-cor, #94a3b8) 55%, transparent);
    background: color-mix(in srgb, var(--feed-badge-cor, #94a3b8) 16%, white);
    color: var(--feed-badge-cor, #334155);
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    vertical-align: middle;
}

.feed-context-badge i {
    font-size: 10px;
}

.feed-mudanca-texto,
.gestor-timeline-card p {
    line-height: 1.6;
}

.projetos-sprint-metricas-grid--secundaria {
    margin-top: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 991.98px) {
    .projetos-sprint-metricas-grid--secundaria {
        grid-template-columns: 1fr;
    }
}

body.dark .feed-context-badge,
body.dark-mode .feed-context-badge {
    background: color-mix(in srgb, var(--feed-badge-cor, #94a3b8) 18%, #0f172a);
    border-color: color-mix(in srgb, var(--feed-badge-cor, #94a3b8) 62%, transparent);
}


.campo-paleta-cor {
    cursor: pointer;
    min-height: 38px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    text-align: center;
}

.campo-paleta-cor:focus {
    box-shadow: 0 0 0 0.2rem rgba(59, 130, 246, 0.18) !important;
}

.popup-paleta-cores-workspace {
    position: absolute;
    z-index: 1085;
    display: none;
}

.popup-paleta-cores-workspace.is-open {
    display: block;
}

.popup-paleta-cores-card {
    width: 228px;
    max-width: calc(100vw - 20px);
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 18px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.18);
    padding: 16px 14px 14px;
}

.popup-paleta-cores-titulo,
.popup-paleta-cores-subtitulo {
    font-size: 13px;
    font-weight: 700;
    color: #111827;
}

.popup-paleta-cores-subtitulo {
    margin-bottom: 12px;
}

.popup-paleta-cores-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 7px;
}

.popup-paleta-cor-opcao {
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 6px;
    border: 2px solid rgba(255, 255, 255, 0.82);
    box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.12);
    padding: 0;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.popup-paleta-cor-opcao:hover,
.popup-paleta-cor-opcao:focus {
    transform: scale(1.08);
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.22);
}

.popup-paleta-cor-opcao.is-selected {
    border-color: #111827;
    box-shadow: 0 0 0 2px rgba(17, 24, 39, 0.24);
}

body.dark .popup-paleta-cores-card,
body.dark-mode .popup-paleta-cores-card {
    background: #0f172a;
    border-color: rgba(148, 163, 184, 0.18);
    box-shadow: 0 18px 45px rgba(2, 6, 23, 0.5);
}

body.dark .popup-paleta-cores-titulo,
body.dark .popup-paleta-cores-subtitulo,
body.dark-mode .popup-paleta-cores-titulo,
body.dark-mode .popup-paleta-cores-subtitulo {
    color: #e5e7eb;
}

/* ================= TURNOS FIXOS / PROFISSIONALIZAÇÃO ================= */
#squadShiftFixedPresetWrap {
    transition: all 0.2s ease;
}
#formCadastroTurnoSquad input[readonly],
#formCadastroTurnoSquad select[readonly] {
    cursor: not-allowed;
}
body.dark #formCadastroTurnoSquad .bg-light {
    background-color: rgba(148, 163, 184, 0.12) !important;
    color: #e2e8f0;
}


/* =========================
   MEMBER VIEW PREMIUM UPGRADE
   ========================= */
.member-workspace-premium{
    display:flex;
    flex-direction:column;
    gap:1rem;
}
.member-premium-shell,
.member-premium-section{
    background:linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,250,252,0.98));
    border:1px solid rgba(148,163,184,0.18);
    border-radius:28px;
    box-shadow:0 18px 45px rgba(15,23,42,0.08);
    overflow:hidden;
}
.member-premium-shell{
    padding:1.15rem;
}
.member-premium-hero{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
    padding:0.25rem 0 1rem;
    border-bottom:1px solid rgba(148,163,184,0.16);
}
.member-premium-hero-main{
    display:flex;
    align-items:flex-start;
    gap:1rem;
    min-width:0;
}
.member-premium-avatar{
    width:62px;
    height:62px;
    border-radius:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.45rem;
    font-weight:800;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,0.35);
    flex-shrink:0;
}
.member-premium-hero-copy{
    min-width:0;
}
.member-premium-title{
    margin:0.35rem 0 0.15rem;
    font-size:1.5rem;
    font-weight:800;
    color:var(--text-main);
}
.member-premium-subtitle{
    margin:0;
    color:var(--text-muted);
    max-width:860px;
}
.member-premium-chips{
    display:flex;
    gap:0.5rem;
    flex-wrap:wrap;
}
.member-premium-chip{
    display:inline-flex;
    align-items:center;
    gap:0.35rem;
    padding:0.38rem 0.8rem;
    border-radius:999px;
    background:var(--member-accent, #3b82f6);
    color:#fff;
    font-size:0.78rem;
    font-weight:700;
    box-shadow:0 10px 24px rgba(15,23,42,0.10);
}
.member-premium-chip.is-soft{
    background:rgba(15,23,42,0.06);
    color:var(--text-main);
    box-shadow:none;
}
.member-premium-hero-side{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:0.75rem;
    min-width:260px;
}
.member-premium-hero-focus{
    width:100%;
    padding:0.95rem 1rem;
    border-radius:20px;
    background:linear-gradient(135deg, rgba(15,23,42,0.04), rgba(59,130,246,0.06));
    border:1px solid rgba(148,163,184,0.16);
}
.member-premium-focus-label{
    display:block;
    font-size:0.75rem;
    font-weight:700;
    letter-spacing:0.04em;
    text-transform:uppercase;
    color:var(--text-muted);
    margin-bottom:0.35rem;
}
.member-premium-hero-focus strong{
    display:block;
    font-size:1rem;
    color:var(--text-main);
}
.member-premium-hero-focus small{
    display:block;
    color:var(--text-muted);
    margin-top:0.2rem;
}
.member-premium-stats{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:0.85rem;
    padding-top:1rem;
}
.member-premium-stat-card{
    padding:1rem;
    border-radius:20px;
    background:#fff;
    border:1px solid rgba(148,163,184,0.14);
    box-shadow:0 12px 24px rgba(15,23,42,0.05);
    min-height:118px;
}
.member-premium-stat-label{
    display:block;
    color:var(--text-muted);
    font-size:0.82rem;
    font-weight:700;
    margin-bottom:0.4rem;
}
.member-premium-stat-card strong{
    display:block;
    font-size:1.45rem;
    line-height:1.1;
    color:var(--text-main);
}
.member-premium-stat-card small{
    display:block;
    color:var(--text-muted);
    margin-top:0.5rem;
}
.member-premium-agenda-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0.85rem;
    margin-top:0.95rem;
}
.member-premium-card{
    padding:1rem;
    border-radius:22px;
    background:#fff;
    border:1px solid rgba(148,163,184,0.14);
    box-shadow:0 12px 24px rgba(15,23,42,0.05);
}
.member-premium-card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:0.8rem;
    margin-bottom:0.9rem;
}
.member-premium-eyebrow,
.member-premium-section-eyebrow{
    display:block;
    color:var(--text-muted);
    font-size:0.74rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.06em;
    margin-bottom:0.18rem;
}
.member-premium-pill,
.member-premium-section-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0.35rem 0.72rem;
    border-radius:999px;
    background:rgba(59,130,246,0.10);
    color:#2563eb;
    font-size:0.76rem;
    font-weight:700;
}
.member-premium-list{
    display:flex;
    flex-direction:column;
    gap:0.65rem;
}
.member-premium-list-item{
    padding:0.8rem 0.9rem;
    border-radius:16px;
    background:rgba(15,23,42,0.03);
    border:1px solid rgba(148,163,184,0.12);
}
.member-premium-list-item strong{
    display:block;
    color:var(--text-main);
}
.member-premium-list-item span{
    display:block;
    color:var(--text-muted);
    margin-top:0.2rem;
}
.member-premium-empty{
    padding:0.95rem;
    border-radius:16px;
    background:rgba(15,23,42,0.03);
    color:var(--text-muted);
    border:1px dashed rgba(148,163,184,0.22);
}
.member-premium-section{
    padding:1rem;
}
.member-premium-section-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
    padding-bottom:0.85rem;
    border-bottom:1px solid rgba(148,163,184,0.16);
}
.member-premium-section-head h5{
    font-weight:800;
    color:var(--text-main);
}
.member-premium-section .kanban-responsavel-dashboard-wrap{
    margin-top:1rem;
}
.member-premium-section .kanban-responsavel-board{
    margin-top:1rem !important;
}
.is-premium-calendar{
    margin-top:1rem;
}
.membro-mini-calendar--premium{
    margin-top:0 !important;
    border-radius:22px !important;
    overflow:hidden;
    box-shadow:none !important;
    border:1px solid rgba(148,163,184,0.14);
}
.membro-mini-calendar--premium .calendar-nav{
    background:transparent;
}
.membro-mini-calendar--premium .membro-mini-calendar-table th{
    font-size:0.74rem;
    letter-spacing:0.04em;
}
.membro-mini-calendar--premium .calendar-table td{
    min-height:140px;
}
.membro-mini-calendar--premium .cell-dia-inner{
    min-height:140px;
    height:auto;
    max-height:none;
    padding:0.75rem 0.65rem 0.75rem;
}
.membro-mini-calendar--premium .eventos-container{
    position:static;
    margin-top:1.15rem;
    gap:0.3rem;
}
.membro-mini-calendar--premium .evento-mini{
    min-height:34px;
    border-radius:12px;
    font-size:0.79rem;
}
.membro-mini-calendar--premium .membro-mini-mais{
    margin-top:0.35rem;
    font-size:0.76rem;
    color:var(--text-muted);
    font-weight:700;
}
.membro-mini-calendar--premium .dia-num,
.membro-mini-calendar--premium .dia-numero{
    top:8px;
    right:10px;
    font-size:0.82rem;
}
.member-premium-section .kanban-dashboards-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.member-premium-section .kanban-dashboard-card{
    min-height:100%;
}
@media (max-width: 1399px){
    .member-premium-stats{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
}
@media (max-width: 1199px){
    .member-premium-hero{
        flex-direction:column;
    }
    .member-premium-hero-side{
        min-width:0;
        width:100%;
        align-items:stretch;
    }
    .member-premium-agenda-grid,
    .member-premium-section .kanban-dashboards-grid{
        grid-template-columns:1fr;
    }
}
@media (max-width: 991px){
    .member-premium-stats{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .membro-mini-calendar--premium .calendar-table td{
        min-height:120px;
    }
    .membro-mini-calendar--premium .cell-dia-inner{
        min-height:120px;
    }
}
@media (max-width: 767px){
    .member-premium-shell,
    .member-premium-section{
        border-radius:22px;
    }
    .member-premium-hero-main{
        flex-direction:column;
    }
    .member-premium-stats{
        grid-template-columns:1fr;
    }
    .membro-mini-calendar--premium .calendar-table td{
        min-height:100px;
    }
    .membro-mini-calendar--premium .cell-dia-inner{
        min-height:100px;
        padding:0.6rem 0.5rem;
    }
}
body.dark .member-premium-shell,
body.dark .member-premium-section,
body.dark-mode .member-premium-shell,
body.dark-mode .member-premium-section{
    background:linear-gradient(180deg, rgba(15,23,42,0.96), rgba(15,23,42,0.88));
    border-color:rgba(148,163,184,0.14);
    box-shadow:0 18px 45px rgba(2,6,23,0.42);
}
body.dark .member-premium-chip.is-soft,
body.dark .member-premium-stat-card,
body.dark .member-premium-card,
body.dark .member-premium-hero-focus,
body.dark .member-premium-list-item,
body.dark .membro-mini-calendar--premium,
body.dark-mode .member-premium-chip.is-soft,
body.dark-mode .member-premium-stat-card,
body.dark-mode .member-premium-card,
body.dark-mode .member-premium-hero-focus,
body.dark-mode .member-premium-list-item,
body.dark-mode .membro-mini-calendar--premium{
    background:rgba(15,23,42,0.76);
    border-color:rgba(148,163,184,0.16);
    color:#e2e8f0;
}
body.dark .member-premium-title,
body.dark .member-premium-section-head h5,
body.dark .member-premium-list-item strong,
body.dark .member-premium-stat-card strong,
body.dark-mode .member-premium-title,
body.dark-mode .member-premium-section-head h5,
body.dark-mode .member-premium-list-item strong,
body.dark-mode .member-premium-stat-card strong{
    color:#f8fafc;
}
body.dark .member-premium-subtitle,
body.dark .member-premium-stat-label,
body.dark .member-premium-stat-card small,
body.dark .member-premium-empty,
body.dark .member-premium-list-item span,
body.dark .member-premium-eyebrow,
body.dark .member-premium-section-eyebrow,
body.dark-mode .member-premium-subtitle,
body.dark-mode .member-premium-stat-label,
body.dark-mode .member-premium-stat-card small,
body.dark-mode .member-premium-empty,
body.dark-mode .member-premium-list-item span,
body.dark-mode .member-premium-eyebrow,
body.dark-mode .member-premium-section-eyebrow{
    color:#94a3b8;
}

/* ==================================================
   RESPONSIVIDADE MOBILE COMPLETA - ABAS E MODAIS
   Mantém desktop intacto: regras aplicadas somente em tablets/celulares.
   ================================================== */
@media (max-width: 1199.98px){
    html,body{max-width:100%;overflow-x:hidden;}
    .page-wrapper,.container-fluid{max-width:100%;overflow-x:hidden;}
    .container-fluid.px-lg-5{padding-left:1rem!important;padding-right:1rem!important;}
    .page-header>.d-flex,.working-header-actions,.working-header-actions-row{width:100%;min-width:0;}
    .working-header-actions-row{justify-content:stretch!important;}
    #modoGestaoRapida,.working-header-nav{width:100%;min-width:0;}
    .working-header-tabs{max-width:100%;}
    .working-main-pane,.card,.working-card-conteudo-inicio,#dashboardMensal,#cardCalendarioPrincipal{min-width:0;max-width:100%;}
    .painel-dashboards-grid--ux,.painel-dashboards-grid>.row,.dashboard-grafico-kpis,.dashboard-turnos-squad-root .turnos-kpi-grid,.central-hoje-grid,.controle-novo-flags,.working-operacao-mini-grid,.painel-gestor-grid,.painel-gestor-members-grid,.painel-gestor-kpis,.painel-gestor-member-kpis,.insight-card-grid,.insight-kpi-grid,.kanban-dashboard-kpis,.kanban-dashboard-grid-secundario,.timeline-top-insights-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
    .painel-dashboards-grid--ux>[class*="col-"],.painel-dashboard-slot,.painel-dashboard-slot>.card,.card-dashboard-grafico{min-width:0;width:100%;}
    .chart-container,.dashboard-grafico-chart-wrap,.ranking-categorias-grafico-wrap{width:100%;max-width:100%;}
    .grade-equipe-tabela-wrap,.modo-operacao-board,.table-responsive,.gestor-lista-scroll,.working-manage-lista{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
    .grade-equipe-tabela,.modo-lista-tabela,.calendar-table{min-width:760px;}
    .grade-equipe-tabela-wrap::after,.table-responsive::after{content:'';display:block;width:1px;height:1px;}
}

@media (max-width: 991.98px){
    body{font-size:14px;}
    .container-fluid.py-5{padding-top:1rem!important;padding-bottom:1.25rem!important;}
    .page-header{margin-bottom:1rem!important;}
    .header-icon-box{width:46px;height:46px;border-radius:14px;font-size:20px;}
    .working-demo-alert{border-radius:18px;}
    .working-demo-alert__content{width:100%;}
    .working-demo-alert__message-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;}
    .working-demo-alert__back{flex:0 0 auto;}
    .working-header-nav{display:flex;flex-direction:column;align-items:stretch;gap:.75rem;}
    .working-header-tabs{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;border-radius:22px;padding:.5rem;}
    .working-header-tab{width:100%;min-width:0;padding:.72rem .5rem;font-size:.76rem;line-height:1.1;justify-content:center;flex-direction:column;gap:.32rem;text-align:center;}
    .working-header-tab i{font-size:.96rem;line-height:1;}
    .working-header-visualizacao,#workingHeaderManageWrap,#workingHeaderAddWrap,.working-header-manage{width:100%;}
    #workingHeaderManageBtn,#workingHeaderAddBtn{width:100%;justify-content:center;}
    .modo-gestao-menu{width:100%;max-width:100%;}
    .calendar-nav-heading-premium{width:100%;}
    .calendar-nav-title-wrap{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;}
    .calendar-nav-title{font-size:1.05rem!important;line-height:1.25;text-align:center;flex:1;}
    .calendar-nav-actions{width:100%;justify-content:center;}
    .calendar-nav-controls{width:100%;justify-content:space-between;}
    .calendar-nav-today{flex:1;justify-content:center;padding-left:.75rem!important;padding-right:.75rem!important;}
    #grupoSprintResponsavelNav{width:100%;min-width:0!important;margin-left:0!important;}
    #grupoSprintResponsavelNav .form-select{width:100%;}
    .workspace-filtros-barra{display:flex;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.35rem;}
    .workspace-filtros-barra>*{flex:0 0 auto;}
    .working-main-header,.central-hoje-topbar,.dashboard-grafico-topo,.kanban-dashboard-topo,.painel-gestor-task-topo,.fila-item-topo,.member-premium-card-head,.member-premium-section-head{flex-direction:column!important;align-items:stretch!important;gap:.75rem!important;}
    .central-hoje-side,.central-hoje-main{width:100%;min-width:0;}
    .working-status-card{min-width:0;width:100%;}
    .card-body.p-4,#dashboardMensal .card-body.p-4,.working-main-pane>.card-body.p-4{padding:1rem!important;}
    .card-header.p-4,.card-header.bg-white.p-4{padding:1rem!important;}
    .chart-box.p-4,.insight-card-pro.p-4,.painel-gestor-card{padding:1rem!important;}
    .fila-sprint-summary{grid-template-columns:1fr auto;gap:.65rem;}
    .fila-sprint-summary::after{grid-column:2;grid-row:1;}
    .fila-sprint-count{grid-column:1 / -1;width:max-content;max-width:100%;}
    .fila-sprint-body-gerencial{grid-template-columns:1fr!important;}
    .gestor-timeline-wrap,.gestor-timeline-wrap--pagina{display:flex!important;flex-direction:column!important;gap:1rem!important;}
    .gestor-timeline-item,.gestor-timeline-wrap--pagina .gestor-timeline-item{width:100%!important;max-width:100%!important;padding-left:2.2rem!important;}
    .gestor-timeline-item::after,.gestor-timeline-wrap--pagina .gestor-timeline-item::after{left:.8rem!important;right:auto!important;top:2rem!important;width:2px!important;height:calc(100% + 1rem)!important;}
    .gestor-timeline-ponto{left:.35rem!important;right:auto!important;top:.45rem!important;}
    .gestor-timeline-data{text-align:left!important;margin-bottom:.4rem;}
    .working-manage-layout{grid-template-columns:1fr!important;gap:1rem;}
    .working-manage-sidebar{position:static!important;}
    .working-manage-sidebar,.working-manage-editor{border-radius:16px;padding:1rem;}
    .working-manage-sidebar-topo,.working-manage-editor-topo{align-items:flex-start;}
    .working-manage-lista{max-height:230px;}
    .turno-validation-topo,.turno-validation-resumo{flex-direction:column;align-items:stretch;}
    .turnos-squad-toggle-options,.tarefas-squad-toggle-options,.controle-novo-flag-options{grid-template-columns:1fr!important;}
    .modal-dialog.modal-xl,.modal-dialog.modal-lg{max-width:calc(100% - 1rem);margin:.5rem auto;}
}

@media (max-width: 767.98px){
    .container-fluid.px-lg-5{padding-left:.75rem!important;padding-right:.75rem!important;}
    .working-header-tabs{grid-template-columns:repeat(3,minmax(0,1fr));}
    .working-header-tab{font-size:.72rem;padding:.65rem .42rem;}
    .working-header-tab span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
    .working-header-visualizacao{padding:.65rem;border-radius:18px;}
    #workingResponsavelProxy{width:100%;}
    .working-demo-alert__content{gap:.65rem;}
    .working-demo-alert__icon{width:34px;height:34px;min-width:34px;}
    .working-demo-alert__title{font-size:.82rem;}
    .working-demo-alert__message{font-size:.8rem;line-height:1.35;}
    .working-demo-alert__back{margin-left:0;padding:.3rem .64rem;font-size:.72rem;}
    .working-topbar,.working-topbar-status,.working-topbar-status--expanded{flex-direction:column!important;align-items:stretch!important;}
    .working-main-title{font-size:1.25rem!important;}
    .working-main-subtitle{font-size:.86rem;}
    .calendar-nav{padding:.85rem!important;}
    .calendar-nav-actions{order:2!important;}
    .calendar-nav-heading{order:1!important;}
    .calendar-table{min-width:640px;}
    .calendar-table th{font-size:.64rem;padding:.45rem .25rem;}
    .calendar-table td{min-width:86px;}
    .cell-dia-inner{min-height:96px;height:96px;max-height:96px;padding:.38rem;}
    .eventos-container{left:.35rem;right:.35rem;top:1.25rem;bottom:.35rem;}
    .evento-mini,.evento-tag,.squad-turno-pill{font-size:.66rem!important;}
    .dia-num,.dia-numero{font-size:.72rem;}
    .badge-hoje{font-size:.58rem;padding:1px 5px;}
    .painel-dashboards-grid--ux,.painel-dashboards-grid>.row,.dashboard-grafico-kpis,.dashboard-turnos-squad-root .turnos-kpi-grid,.central-hoje-grid,.controle-novo-flags,.working-operacao-mini-grid,.painel-gestor-grid,.painel-gestor-members-grid,.painel-gestor-kpis,.painel-gestor-member-kpis,.insight-card-grid,.insight-kpi-grid,.kanban-dashboard-kpis,.kanban-dashboard-grid-secundario,.timeline-top-insights-grid,.member-premium-stats,.member-premium-agenda-grid,.member-premium-section .kanban-dashboards-grid{grid-template-columns:1fr!important;}
    .kanban-responsavel-board{grid-template-columns:1fr!important;}
    .kanban-coluna{min-height:0!important;}
    .kanban-card-topo,.kanban-card-acoes{flex-direction:column;align-items:stretch;}
    .dashboard-grafico-chart-wrap,.ranking-categorias-grafico-wrap{height:260px!important;min-height:240px;}
    .ranking-categorias-grafico-wrap canvas{width:100%!important;height:100%!important;}
    .ranking-categorias-item{grid-template-columns:auto auto minmax(0,1fr);}
    .ranking-categorias-meta{grid-column:3;text-align:left;}
    .produtividade-periodo-nav{width:100%;justify-content:space-between;}
    .grade-equipe-tabela,.modo-lista-tabela{min-width:720px;}
    .grade-equipe-cell,.grade-equipe-membro{min-width:170px;}
    .gestor-lista-item-topo,.gestor-lista-item-meta,.gestor-lista-item-acoes{flex-direction:column!important;align-items:stretch!important;gap:.5rem!important;}
    .gestor-lista-item-acoes .btn,.fila-item-operacional .btn,.painel-gestor-task-item .btn{width:100%;justify-content:center;}
    .modal-dialog{margin:.5rem!important;max-width:calc(100% - 1rem)!important;}
    .modal-content{border-radius:20px!important;max-width:100%;overflow:hidden;}
    .modal-header{padding:1rem 1rem .25rem!important;align-items:flex-start;gap:.8rem;}
    .modal-title{font-size:1.05rem!important;line-height:1.25;}
    .modal-body{padding:1rem!important;overflow-x:hidden;}
    .modal-footer{padding:.75rem 1rem 1rem!important;gap:.5rem;display:flex;flex-direction:column;align-items:stretch;}
    .modal-footer .btn{width:100%;margin:0!important;justify-content:center;}
    .modal .row{--bs-gutter-x:.75rem;--bs-gutter-y:.75rem;}
    .modal .form-control,.modal .form-select,.modal .select2-container{max-width:100%!important;width:100%!important;}
    .modal .input-group{flex-wrap:wrap;}
    .modal .input-group>*{min-width:0;}
    .modal .table-responsive,.modal .list-group,.modal .config-scroll-area{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
    .select2-container--open{max-width:calc(100vw - 1.5rem)!important;}
    .select2-dropdown{max-width:calc(100vw - 1.5rem)!important;}
    .swal2-popup{width:calc(100vw - 1.5rem)!important;max-width:calc(100vw - 1.5rem)!important;padding:1rem!important;border-radius:18px!important;}
    .swal2-actions{width:100%;gap:.5rem!important;}
    .swal2-actions .swal2-confirm,.swal2-actions .swal2-cancel{flex:1 1 100%;margin:.2rem 0!important;}
}

@media (max-width: 575.98px){
    body{font-size:13px;}
    .container-fluid.py-5{padding-top:.75rem!important;}
    .working-header-tabs{grid-template-columns:repeat(2,minmax(0,1fr));}
    .working-header-tab{min-height:58px;}
    .working-header-actions-row{gap:.65rem!important;}
    .working-demo-alert{padding:.75rem!important;}
    .working-demo-alert__message-row{display:grid;grid-template-columns:1fr auto;align-items:center;}
    .working-demo-alert__message{grid-column:1 / -1;}
    .working-demo-alert__back{grid-column:2;justify-self:end;}
    .calendar-nav-controls .calendar-nav-arrow{width:38px;height:38px;flex:0 0 38px;}
    .calendar-nav-today span{display:inline;}
    .calendar-table{min-width:560px;}
    .cell-dia-inner{min-height:88px;height:88px;max-height:88px;}
    .dashboard-grafico-chart-wrap,.ranking-categorias-grafico-wrap{height:230px!important;}
    .card-body.p-4,#dashboardMensal .card-body.p-4,.working-main-pane>.card-body.p-4,.chart-box.p-4,.insight-card-pro.p-4{padding:.85rem!important;}
    .stat-card{padding:.8rem!important;}
    .stat-card .h3,.stat-card .h4{font-size:1.2rem!important;}
    .painel-gestor-card,.painel-gestor-card--hero,.painel-gestor-card--full,.member-premium-shell,.member-premium-section{border-radius:18px!important;}
    .painel-gestor-kpis>div,.painel-gestor-member-kpis>div,.kanban-dashboard-kpi,.member-premium-stat-card{padding:.75rem!important;}
    .fila-sprint-summary{grid-template-columns:1fr;}
    .fila-sprint-summary::after{grid-column:1;justify-self:end;grid-row:1;}
    .fila-sprint-body{padding:.75rem;}
    .working-manage-sidebar-topo,.working-manage-editor-topo{flex-direction:column;align-items:stretch;}
    .working-manage-sidebar-topo .btn,.working-manage-editor-topo .btn,.working-manage-editor .btn{width:100%;justify-content:center;}
    .working-manage-lista{max-height:190px;}
    .working-manage-item{padding:.85rem;}
    .turno-validation-panel{padding:.85rem!important;}
    .membros-scroll-area,.config-scroll-area{max-height:55vh!important;}
    .modal-dialog{width:100%!important;height:100%!important;max-width:100%!important;margin:0!important;}
    .modal-dialog-centered{min-height:100%!important;align-items:stretch!important;}
    .modal-dialog-scrollable{height:100%!important;}
    .modal-content{min-height:100vh!important;border-radius:0!important;}
    .modal-dialog-scrollable .modal-content{max-height:100vh!important;}
    .modal-dialog-scrollable .modal-body{overflow-y:auto;}
    .modal-header{position:sticky;top:0;z-index:5;background:var(--card-bg,#fff);}
    .modal-footer{position:sticky;bottom:0;z-index:5;background:var(--card-bg,#fff);box-shadow:0 -10px 24px rgba(15,23,42,.08);}
    body.dark .modal-header,body.dark .modal-footer,body.dark-mode .modal-header,body.dark-mode .modal-footer{background:#1e293b;}
    #modalEvento .modal-body,#modalSprint .modal-body,#modalProjetosSquad .modal-body,#modalTurnosSquad .modal-body{padding:.85rem!important;}
    .btn,.form-control,.form-select{min-height:38px;}
    textarea.form-control{min-height:76px;}
}

@media (max-width: 420px){
    .working-header-tab{font-size:.68rem;padding:.55rem .35rem;}
    .working-header-tab i{font-size:.9rem;}
    .calendar-nav-title{font-size:.95rem!important;}
    .calendar-table{min-width:520px;}
    .dashboard-grafico-chart-wrap,.ranking-categorias-grafico-wrap{height:210px!important;}
    .working-demo-alert__message-row{grid-template-columns:1fr;}
    .working-demo-alert__back{grid-column:1;justify-self:end;}
}

