/* ===================================================================
   EFICÁCIA CRM — mod-agenda.css
   A AGENDA (mod-tickets.js §14, vista `calendario`): a casca nova da
   maquete de 21/09/2026, aprovada pelo dono («exatamente como
   apresentas no mockup»).

   TRÊS COLUNAS: o que aparece (fontes e filtros) · o calendário · o
   dia escolhido. A Agenda deixa de vestir a moldura de listagem dos
   outros dez módulos (.ds-lst) — o dono viu-a assim e disse que «não
   se parece nada com a maquete». Um calendário não é uma tabela: o
   cabeçalho é o PERÍODO, as fontes são uma coluna à esquerda com
   contagens, e o dia escolhido lê-se ao lado da grelha, não numa modal.

   Tudo o que aqui está assenta nos tokens do ds-tokens.css (--ink-*,
   --brand-*, --txt-*, --r-*, --sh-*). As cores das FONTES vêm do
   mod-tickets.js (as `const COR_…`), entram por `--cor` inline e são
   as da maquete: matizes de saturação parecida que não disputam o
   vermelho da marca.

   Complementa o design-system.css; nunca o substitui. Prefixo: agd-
   (a casca) — as classes da grelha e do cartão (mtk-cal-*, mtk-ev,
   mtk-ag-*) ficaram como estavam para os handlers e o mobile-toque.css
   continuarem a valer. Mobile-first; sem scroll horizontal de página.
   =================================================================== */

.agd {
    --agd-hoje: #FFF7F7;
    --agd-grelha: var(--ink-100);
    --agd-rail: 216px;
    --agd-det: 272px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-width: 0;
    font-family: var(--font-family);
    color: var(--text-1);
}
/* Escuro: preparado, não lançado (ds-tokens.css §2). */
:root[data-tema="escuro"] .agd { --agd-hoje: #2A1B1C; --agd-grelha: var(--ink-700); }

.agd button { font-family: inherit; }
.agd :focus-visible { outline: 2px solid var(--brand-500); outline-offset: 2px; }

/* ---------- cabeçalho: o período é o título ---------- */
.agd-cab {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
    min-width: 0;
}
.agd-cab-txt { min-width: 0; }
.agd-titulo {
    margin: 0;
    font-size: var(--txt-2xl);
    font-weight: var(--fw-bold);
    letter-spacing: var(--track-tight);
    line-height: 1.2;
    color: var(--text-1);
    overflow-wrap: anywhere;
}
.agd-titulo::first-letter { text-transform: uppercase; }
.agd-sub { margin: 2px 0 0; font-size: var(--txt-sm); color: var(--text-3); }

.agd-nav { display: flex; align-items: center; gap: 4px; }
.agd-nav-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    padding: 0 8px;
    border: 1px solid var(--border);
    border-radius: var(--r-sm);
    background: var(--surface);
    color: var(--text-2);
    font-size: var(--txt-sm);
    font-weight: var(--fw-medium);
    cursor: pointer;
    transition: background .12s, border-color .12s;
    -webkit-tap-highlight-color: transparent;
}
.agd-nav-btn:hover { background: var(--ink-100); }
.agd-nav-hoje { padding: 0 12px; margin-left: 4px; }

.agd-acoes { margin-left: auto; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0; }
/* as setas e o «Hoje» à esquerda das vistas, com um respiro; em ecrã estreito o grupo
   da direita passa a ocupar a linha toda e a navegação fica à esquerda dela */
.agd-acoes .agd-nav { margin-right: 6px; }
.agd-vistas {
    display: flex;
    gap: 2px;
    padding: 3px;
    border-radius: var(--r-md);
    background: var(--ink-100);
    min-width: 0;
}
.agd-vista {
    border: 0;
    background: transparent;
    padding: 6px 12px;
    border-radius: var(--r-sm);
    font-size: var(--txt-sm);
    font-weight: var(--fw-medium);
    color: var(--text-2);
    white-space: nowrap;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}
.agd-vista[aria-pressed="true"] {
    background: var(--surface);
    color: var(--text-1);
    font-weight: var(--fw-semibold);
    box-shadow: var(--sh-2);
}
.agd-novo { white-space: nowrap; }

/* ---------- as três colunas ---------- */
.agd-corpo {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    min-width: 0;
}
.agd-painel {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    box-shadow: var(--sh-2);
    min-width: 0;
}
.agd-painel-cab {
    padding: 11px 14px;
    border-bottom: 1px solid var(--border);
    font-size: var(--txt-xs);
    letter-spacing: var(--track-caps);
    text-transform: uppercase;
    font-weight: var(--fw-semibold);
    color: var(--text-3);
}

/* ---------- coluna da esquerda: o que aparece ---------- */
.agd-rail { display: flex; flex-direction: column; }
.agd-fontes { padding: 6px; display: flex; flex-direction: column; gap: 1px; }
.agd-fonte {
    display: grid;
    grid-template-columns: 12px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 8px 9px;
    border: 0;
    border-radius: var(--r-sm);
    background: transparent;
    color: var(--text-1);
    text-align: left;
    cursor: pointer;
    transition: background .12s, opacity .12s;
    -webkit-tap-highlight-color: transparent;
}
.agd-fonte:hover { background: var(--ink-50); }
.agd-bolha { width: 11px; height: 11px; border-radius: 3.5px; background: var(--cor, var(--ink-400)); flex: none; }
.agd-fonte-nome { font-size: var(--txt-sm); font-weight: var(--fw-medium); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.agd-fonte-qt { font-size: var(--txt-xs); color: var(--text-3); font-variant-numeric: var(--num-tabular); }
/* fonte desligada: fica na lista, apagada — é assim que se sabe que existe */
.agd-fonte[aria-pressed="false"]:not(.agd-classe) { opacity: .42; }
.agd-fonte[aria-pressed="false"]:not(.agd-classe) .agd-bolha { background: var(--border-strong); }
/* As FAMÍLIAS (o que acontece) são um filtro de escolha única: a escolhida
   acende, as outras ficam normais — «Tudo» é uma delas. */
.agd-classe[aria-pressed="true"] { background: var(--ink-100); }
.agd-classe[aria-pressed="true"] .agd-fonte-nome { font-weight: var(--fw-semibold); }
.agd-classe[data-cor="blue"]   { --cor: #3B82F6; }
.agd-classe[data-cor="amber"]  { --cor: #D97706; }
.agd-classe[data-cor="green"]  { --cor: #059669; }
.agd-classe[data-cor="indigo"] { --cor: #4F46E5; }
.agd-classe[data-cor="dark"]   { --cor: var(--ink-700); }
.agd-classe[data-cor="pink"]   { --cor: #BE185D; }
.agd-classe[data-cor="gray"]   { --cor: var(--ink-400); }
.agd-classe[data-cor="red"]    { --cor: var(--danger-600); }

.agd-rail-toggle { display: none; }
.agd-rail-corpo { display: flex; flex-direction: column; min-width: 0; }
.agd-rail-corpo > .agd-painel-cab { border-top: 1px solid var(--border); }
.agd-filtros { padding: 10px 12px 12px; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.agd-filtro { min-width: 0; }
.agd-filtro-rot {
    display: block;
    margin-bottom: 4px;
    font-size: var(--txt-xs);
    font-weight: var(--fw-semibold);
    letter-spacing: var(--track-caps);
    text-transform: uppercase;
    color: var(--text-3);
}
.agd-filtro .ds-combobox { min-width: 0; }
.agd-chips { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 12px 10px; }
.agd-chips:empty { display: none; }
.agd-limpar { margin: 0 12px 12px; align-self: flex-start; }
/* o `display` do .ds-btn ganhava ao [hidden] do browser: o botão aparecia sem filtros */
.agd-limpar[hidden] { display: none; }

/* ---------- o calendário ---------- */
.agd-canvas { overflow: hidden; min-width: 0; }
/* o que não é a grelha nem a lista (esqueleto, vazio, erro) leva margem própria */
.agd-canvas > :not(.mtk-cal-grade):not(.mtk-ag) { margin: 12px; }

.mtk-cal-grade { display: flex; flex-direction: column; min-width: 0; }
.mtk-cal-cab-linha, .mtk-cal-linha {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    min-width: 0;
}
.mtk-cal-cab {
    padding: 9px 8px;
    font-size: var(--txt-xs);
    letter-spacing: var(--track-caps);
    text-transform: uppercase;
    font-weight: var(--fw-semibold);
    color: var(--text-3);
    border-bottom: 1px solid var(--border);
}
.mtk-cal-cel {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 3px;
    min-height: 104px;
    min-width: 0;
    padding: 7px 7px 9px;
    border-right: 1px solid var(--agd-grelha);
    border-bottom: 1px solid var(--agd-grelha);
    overflow: hidden;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}
.mtk-cal-cel:nth-child(7n) { border-right: 0; }
.mtk-cal-linha:last-child .mtk-cal-cel { border-bottom: 0; }
.mtk-cal-cel.is-fora { background: var(--surface-alt); }
.mtk-cal-cel.is-fora .mtk-cal-dia-num { color: var(--text-3); opacity: .6; }
.mtk-cal-cel.is-hoje { background: var(--agd-hoje); }
.mtk-cal-cel.is-sel { box-shadow: inset 0 0 0 2px var(--brand-300); }
.mtk-cal-cel:focus-visible { outline: 2px solid var(--brand-500); outline-offset: -2px; }
.mtk-cal-dia-num {
    font-size: 12.5px;
    font-weight: var(--fw-semibold);
    color: var(--text-2);
    line-height: 22px;
    font-variant-numeric: var(--num-tabular);
}
.mtk-cal-cel:not(.mtk-cal-cel--semana).is-hoje .mtk-cal-dia-num {
    display: grid;
    place-items: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--brand-500);
    color: #fff;
    font-size: 12px;
}
/* quantos, naquele dia, já passaram do prazo — o único vermelho da grelha */
.mtk-cal-atraso {
    position: absolute;
    top: 8px;
    right: 7px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: var(--r-full);
    background: var(--danger-600);
    color: #fff;
    font-size: 10px;
    font-weight: var(--fw-extra);
    line-height: 16px;
    text-align: center;
    font-variant-numeric: var(--num-tabular);
}
.mtk-cal-evs { display: flex; flex-direction: column; gap: 3px; min-width: 0; }

/* o cartão da grelha: a cor da fonte é uma tinta e uma barra à esquerda */
.mtk-ev {
    --cor: var(--ink-500);
    display: flex;
    align-items: center;
    gap: 5px;
    width: 100%;
    min-width: 0;
    padding: 3px 6px;
    border: 0;
    border-left: 2.5px solid var(--cor);
    border-radius: 6px;
    background: rgba(27, 22, 24, .06);
    background: color-mix(in srgb, var(--cor) 13%, transparent);
    color: var(--text-1);
    font-size: 11.5px;
    line-height: 1.3;
    text-align: left;
    cursor: pointer;
    transition: background .12s;
    -webkit-tap-highlight-color: transparent;
}
.mtk-ev:hover { background: color-mix(in srgb, var(--cor) 24%, transparent); }
.mtk-ev:focus-visible { outline: 2px solid var(--brand-500); outline-offset: 1px; }
.mtk-ev.is-cont-esq { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.mtk-ev.is-cont-dir { border-top-right-radius: 0; border-bottom-right-radius: 0; }
/* A 1440 px cada célula do mês tem ~83 px: verbo e nome LADO A LADO deixavam o
   nome com uma letra («TERMINA I», medido a 21/09/2026). Ficam a duas linhas —
   o verbo em cima, o nome por baixo com reticências — como na Semana. */
.mtk-ev-linha1 { display: flex; flex-direction: column; align-items: flex-start; gap: 0; min-width: 0; flex: 1; }
.mtk-ev-verbo {
    flex: none;
    font-size: 9.5px;
    font-weight: var(--fw-extra);
    letter-spacing: .4px;
    text-transform: uppercase;
    color: var(--cor);
}
.mtk-ev-titulo { max-width: 100%; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* Já passou do prazo: o verbo e a barra ficam a vermelho; a tinta continua
   a ser a da fonte — a legenda não pode querer dizer duas coisas. */
.mtk-ev.is-urgente { border-left-color: var(--danger-600); }
.mtk-ev.is-urgente .mtk-ev-verbo { color: var(--danger-600); }
.mtk-cal-mais {
    align-self: flex-start;
    padding: 1px 6px;
    border: 0;
    background: none;
    font-size: 11px;
    color: var(--text-3);
    text-align: left;
    cursor: pointer;
}
.mtk-cal-mais:hover { color: var(--text-1); }

/* pintas: a grelha do mês no telemóvel */
.mtk-dots { display: flex; flex-wrap: wrap; justify-content: center; gap: 3px; max-width: 100%; }
.mtk-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
.mtk-dots-n { font-size: 11px; font-weight: var(--fw-bold); color: var(--text-3); line-height: 1; }

/* ---------- semana: sete colunas de cartões ---------- */
.mtk-cal-grade--semana { min-width: 0; }
.mtk-cal-cel--semana {
    min-height: 320px;
    overflow: visible;
    cursor: default;
}
.mtk-cal-cel--semana .mtk-cal-dia-num {
    display: flex;
    align-items: center;
    gap: 6px;
    padding-bottom: 6px;
    margin-bottom: 2px;
    border-bottom: 1px solid var(--agd-grelha);
    font-size: var(--txt-xs);
    letter-spacing: var(--track-caps);
    text-transform: uppercase;
    color: var(--text-3);
}
.mtk-cal-cel--semana.is-hoje .mtk-cal-dia-num { color: var(--brand-600); }
.mtk-cal-cab-n { font-weight: var(--fw-bold); color: var(--text-3); font-variant-numeric: var(--num-tabular); }
.mtk-cal-cel--semana .mtk-cal-atraso { position: static; margin-left: auto; }
.mtk-cal-evs--coluna { flex: 1; min-height: 0; padding-bottom: 4px; }
.mtk-ev--semana { flex-direction: column; align-items: stretch; gap: 3px; }
.mtk-ev-linha2 { display: flex; align-items: center; gap: 5px; min-width: 0; }
.mtk-ev-cod {
    margin-left: auto;
    font-family: var(--font-mono);
    font-size: 9.5px;
    color: var(--text-3);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mtk-cal-sem { margin: 0; padding: 22px 12px; text-align: center; font-size: var(--txt-sm); color: var(--text-3); }

/* ---------- lista e dia: linhas, não cartões ---------- */
.mtk-ag { display: flex; flex-direction: column; gap: 4px; padding: 4px; min-width: 0; }
.mtk-ag-dia { min-width: 0; }
.mtk-ag-dia-titulo {
    position: sticky;
    top: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 12px 12px 4px;
    background: var(--surface);
    font-size: var(--txt-xs);
    letter-spacing: var(--track-caps);
    text-transform: uppercase;
    font-weight: var(--fw-semibold);
    color: var(--text-3);
}
.mtk-ag-dia.is-hoje .mtk-ag-dia-titulo { color: var(--brand-600); }
.mtk-ag-dia-n {
    min-width: 20px;
    padding: 0 6px;
    border-radius: var(--r-full);
    background: var(--ink-100);
    color: var(--text-3);
    font-size: var(--txt-xs);
    font-weight: var(--fw-bold);
    letter-spacing: 0;
    text-align: center;
}
.mtk-ag-dia-resumo { margin-left: auto; font-weight: var(--fw-medium); letter-spacing: 0; text-transform: none; }
.mtk-ag-lista { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.mtk-ag-item {
    --cor: var(--ink-500);
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-width: 0;
    padding: 9px 12px;
    border: 0;
    border-radius: var(--r-md);
    background: transparent;
    color: var(--text-1);
    text-align: left;
    cursor: pointer;
    transition: background .12s;
    -webkit-tap-highlight-color: transparent;
}
.mtk-ag-item:hover { background: var(--ink-50); }
.mtk-ag-item:focus-visible { outline: 2px solid var(--brand-500); outline-offset: 2px; }
/* o sinal (o VERBO e quando) tem largura fixa para os títulos alinharem */
.mtk-ag-item .ds-lst-sinal { flex: 0 0 156px; margin: 0; min-width: 0; font-size: var(--txt-xs); }
.mtk-ag-cor { width: 10px; height: 10px; border-radius: 3px; background: var(--cor); flex: none; }
.mtk-ag-corpo { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.mtk-ag-titulo { font-size: 13.5px; font-weight: var(--fw-medium); color: var(--text-1); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mtk-ag-meta { font-size: var(--txt-xs); color: var(--text-3); }
.mtk-ag-cod { font-family: var(--font-mono); letter-spacing: .2px; }
.mtk-ag-chev { display: inline-flex; color: var(--ink-300); flex: none; }
.mtk-ag-bloco + .mtk-ag-bloco { margin-top: 6px; }

/* compacto (painel do dia e telemóvel): o sinal desce para a segunda linha.
   A quebra é forçada por um ::before de largura total (order 4) — dar ao
   próprio sinal os 100 % esticava a pílula e, com a margem, estourava a
   largura do painel (barra de scroll horizontal, 21/09/2026). */
.agd-det .mtk-ag-item { flex-wrap: wrap; gap: 6px 10px; padding: 9px 10px; }
.agd-det .mtk-ag-item::before { content: ''; order: 4; flex: 1 0 100%; height: 0; }
.agd-det .mtk-ag-item .ds-lst-sinal { flex: 0 1 auto; order: 5; margin-left: 20px; max-width: calc(100% - 20px); }
.agd-det .mtk-ag-item .mtk-bolas { order: 3; }
.agd-det .mtk-ag-item .mtk-ag-chev { display: none; }

/* equipas na rua (vista Dia) */
.mtk-rua-grupo + .mtk-rua-grupo { margin-top: 10px; }
.mtk-rua-cab { display: flex; align-items: center; gap: 8px; margin: 0 12px 4px; }
.mtk-rua-nome { font-size: var(--txt-sm); font-weight: var(--fw-semibold); color: var(--text-1); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mtk-rua-n { margin-left: auto; font-size: var(--txt-xs); font-weight: var(--fw-bold); color: var(--text-3); font-variant-numeric: var(--num-tabular); }
/* Uma folha de obra sem responsável é uma pergunta por responder — âmbar, e
   não vermelho: não está errada, está por atribuir. */
.mtk-rua-grupo.is-sem-dono .mtk-rua-nome { color: var(--warning-700, #b45309); }
.mtk-bola--vazia { background: var(--ink-200); color: var(--text-3); }

/* ---------- gente: foto quando há, sigla quando não ---------- */
.mtk-bolas { display: flex; align-items: center; flex: none; }
.mtk-bolas .mtk-bola { margin-left: -6px; box-shadow: 0 0 0 2px var(--surface); }
.mtk-bolas .mtk-bola:first-child { margin-left: 0; }
.mtk-bola {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 50%;
    font-size: 9.5px;
    font-weight: var(--fw-semibold);
    letter-spacing: .3px;
    flex: none;
}
.mtk-bola-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.mtk-bola-txt { position: relative; z-index: 0; }
.mtk-bola--mais { background: var(--ink-200); color: var(--text-2); }

/* ---------- coluna da direita: o dia escolhido ---------- */
.agd-det { padding: 4px; min-width: 0; }
.agd-det .mtk-ag-dia-titulo {
    position: static;
    padding: 8px 8px 6px;
    font-size: var(--txt-sm);
    letter-spacing: 0;
    text-transform: none;
    color: var(--text-1);
}
.agd-det .mtk-ag-dia-titulo::first-letter { text-transform: uppercase; }
.agd.is-sem-detalhe .agd-detalhe { display: none; }

/* ---------- larguras ---------- */
/* telemóvel: as fontes são pílulas numa fila que rola; o resto dos filtros
   fica atrás de um botão, fechado por omissão — aberto, empurrava a agenda
   para 300 px abaixo da dobra (diretiva do dono, 14/09/2026) */
@media (max-width: 899px) {
    .agd-fontes:not(.agd-classes) { flex-direction: row; overflow-x: auto; gap: 6px; padding: 8px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
    .agd-fontes:not(.agd-classes)::-webkit-scrollbar { display: none; }
    .agd-fontes:not(.agd-classes) .agd-fonte {
        grid-template-columns: 10px auto auto;
        gap: 7px;
        width: auto;
        flex: none;   /* a fila rola; as pílulas não encolhem («Contr… 9», 768 px, 21/09) */
        padding: 6px 11px;
        border: 1px solid var(--border);
        border-radius: var(--r-full);
        white-space: nowrap;
    }
    .agd-fontes:not(.agd-classes) .agd-bolha { width: 9px; height: 9px; border-radius: 3px; }
    .agd-rail-toggle {
        display: flex;
        align-items: center;
        gap: 8px;
        width: 100%;
        min-height: var(--ds-touch);
        padding: 0 14px;
        border: 0;
        border-top: 1px solid var(--border);
        background: transparent;
        color: var(--text-2);
        font-size: var(--txt-sm);
        font-weight: var(--fw-semibold);
        text-align: left;
        cursor: pointer;
    }
    .agd-rail-toggle > svg:last-child { margin-left: auto; transition: transform .15s; }
    .agd-rail-toggle[aria-expanded="true"] > svg:last-child { transform: rotate(180deg); }
    .agd-rail-n {
        min-width: 18px;
        padding: 0 6px;
        border-radius: var(--r-full);
        background: var(--brand-500);
        color: #fff;
        font-size: var(--txt-xs);
        font-weight: var(--fw-bold);
        line-height: 18px;
        text-align: center;
    }
    .agd-rail-n[hidden] { display: none; }
    .agd-rail-corpo { display: none; }
    .agd-rail.is-open .agd-rail-corpo { display: flex; }
    .agd-classes { flex-direction: row; flex-wrap: wrap; gap: 4px; padding: 8px; }
    .agd-classes .agd-fonte { grid-template-columns: 10px auto auto; gap: 7px; width: auto; flex: none; padding: 6px 11px; border: 1px solid var(--border); border-radius: var(--r-full); }
    .agd-classes .agd-bolha { width: 9px; height: 9px; border-radius: 3px; }
}
@media (min-width: 900px) {
    .agd-corpo { grid-template-columns: var(--agd-rail) minmax(0, 1fr); }
    .agd-detalhe { grid-column: 1 / -1; }
}
@media (min-width: 1280px) {
    .agd-corpo { grid-template-columns: var(--agd-rail) minmax(0, 1fr) var(--agd-det); }
    .agd-detalhe {
        grid-column: auto;
        position: sticky;
        top: 4px;
        max-height: calc(100vh - 120px);
        overflow: auto;
    }
    .agd.is-sem-detalhe .agd-corpo { grid-template-columns: var(--agd-rail) minmax(0, 1fr); }
}
/* telemóvel: a grelha do mês são pintas, e a linha da lista dobra */
@media (max-width: 767px) {
    .mtk-cal-cel { min-height: 52px; padding: 4px; align-items: center; gap: 2px; }
    .mtk-cal-cel:not(.mtk-cal-cel--semana) .mtk-cal-dia-num { align-self: center; }
    .mtk-cal-atraso { top: 2px; right: 2px; }
    .mtk-ag-item { flex-wrap: wrap; gap: 6px 10px; }
    .mtk-ag-item::before { content: ''; order: 4; flex: 1 0 100%; height: 0; }
    .mtk-ag-item .ds-lst-sinal { flex: 0 1 auto; order: 5; margin-left: 20px; max-width: calc(100% - 20px); }
    .mtk-ag-item .mtk-bolas { order: 3; }
    .mtk-ag-chev { display: none; }
    .mtk-ag-dia-resumo { display: none; }
}
@media (max-width: 479px) {
    .mtk-ag-item .mtk-bolas .mtk-bola:nth-child(n+2):not(.mtk-bola--mais) { display: none; }
}
/* Telemóvel: as setas, o «Hoje», o Outlook e o «+ Novo» numa linha; as cinco vistas
   na seguinte, com a largura toda. Quando eram quatro vistas cabiam ao lado do Novo;
   com a Pessoas e o Outlook (22/09) espremiam-se até «Semana» e «Dia» se sobreporem
   — apanhado a 390 px na verificação em produção do deploy de 22/09. */
@media (max-width: 519px) {
    .agd-acoes { width: 100%; }
    .agd-acoes .agd-nav { flex: 1 1 auto; margin-right: 0; }
    .agd-vistas { order: 1; flex: 1 0 100%; }
    .agd-vista {
        flex: 1 1 0;
        min-width: 0;
        padding-left: 4px;
        padding-right: 4px;
        font-size: var(--txt-xs);
        overflow: hidden;
        text-overflow: ellipsis;
    }
}
/* 320 px (telemóveis pequenos): o «+ Novo» passa a ícone, como o Outlook, para a
   primeira linha caber inteira; as vistas perdem o respiro para «Pessoas» caber */
@media (max-width: 359px) {
    .agd-novo span { display: none; }
    .agd-vistas { gap: 0; }
    .agd-vista { padding-left: 2px; padding-right: 2px; }
}
/* paisagem baixa (ex.: 844×390): compactar para caber */
@media (max-height: 520px) {
    .mtk-cal-cel { min-height: 44px; }
    .mtk-cal-cel--semana { min-height: 180px; }
}

/* ---------- a grelha de horas (Semana e Dia, fase 3) ---------- */
.agd-horas { --cols: 7; --altura-hora: 44px; --horas: 13; min-width: 0; }
.agd-horas-cab, .agd-horas-tododia, .agd-horas-corpo {
    display: grid;
    grid-template-columns: 46px repeat(var(--cols), minmax(0, 1fr));
    min-width: 0;
}
.agd-horas-cab { border-bottom: 1px solid var(--border); }
.agd-horas-dia {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 9px 8px;
    font-size: var(--txt-xs);
    letter-spacing: var(--track-caps);
    text-transform: uppercase;
    font-weight: var(--fw-semibold);
    color: var(--text-3);
    cursor: pointer;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
}
.agd-horas-dia.is-hoje { color: var(--brand-600); }
.agd-horas-dia.is-sel { box-shadow: inset 0 -2px 0 var(--brand-400); }
.agd-horas-dia:focus-visible { outline: 2px solid var(--brand-500); outline-offset: -2px; }
.agd-horas-dia .mtk-cal-atraso { position: static; }
.agd-horas-tododia { border-bottom: 1px solid var(--border); background: var(--surface-alt); }
.agd-horas-rot {
    padding: 8px 8px 0 0;
    font-size: 9.5px;
    line-height: 1.15;
    text-align: right;
    color: var(--text-3);
}
.agd-horas-tdcel {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-height: 34px;
    min-width: 0;
    padding: 5px 4px;
    border-left: 1px solid var(--agd-grelha);
    cursor: pointer;
}
.agd-horas-tdcel.is-hoje { background: var(--agd-hoje); }
.agd-horas-corpo { position: relative; }
.agd-horas-escala { position: relative; height: calc(var(--altura-hora) * var(--horas)); }
.agd-hora-rot {
    position: absolute;
    right: 8px;
    transform: translateY(-7px);
    font-size: 11px;
    color: var(--text-3);
    font-variant-numeric: var(--num-tabular);
}
.agd-horas-col { position: relative; border-left: 1px solid var(--agd-grelha); min-width: 0; }
.agd-horas-col.is-hoje { background: var(--agd-hoje); }
.agd-slot { height: var(--altura-hora); border-top: 1px solid var(--agd-grelha); position: relative; }
.agd-slot[data-cal-slot] { cursor: pointer; }
.agd-slot[data-cal-slot]:hover::after, .agd-slot[data-cal-slot]:focus-visible::after {
    content: '+ marcar';
    position: absolute;
    inset: 2px 3px;
    display: grid;
    place-items: center;
    border: 1px dashed var(--border-strong);
    border-radius: 6px;
    font-size: 10.5px;
    color: var(--text-3);
    pointer-events: none;
}
.agd-slot:focus-visible { outline: none; }
.agd-bloco {
    --cor: var(--ink-500);
    position: absolute;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 4px 6px;
    border: 0;
    border-left: 2.5px solid var(--cor);
    border-radius: 6px;
    background: rgba(27, 22, 24, .07);
    background: color-mix(in srgb, var(--cor) 16%, transparent);
    color: var(--text-1);
    font-family: var(--font-family);
    font-size: 11px;
    line-height: 1.25;
    text-align: left;
    overflow: hidden;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}
.agd-bloco:hover { background: color-mix(in srgb, var(--cor) 26%, transparent); z-index: 2; }
.agd-bloco:focus-visible { outline: 2px solid var(--brand-500); outline-offset: 1px; z-index: 2; }
.agd-bloco-h { font-variant-numeric: var(--num-tabular); color: var(--cor); font-weight: var(--fw-bold); font-size: 10.5px; white-space: nowrap; }
.agd-bloco-t { font-weight: var(--fw-medium); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.agd-bloco .mtk-bolas { margin-top: auto; }
.agd-bloco.is-fechado { opacity: .62; }
.agd-bloco.is-fechado .agd-bloco-t { text-decoration: line-through; text-decoration-thickness: 1px; }
.agd-bloco.is-fora-cima { border-top-left-radius: 0; border-top-right-radius: 0; }
.agd-bloco.is-fora-baixo { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
/* a linha de agora, só na coluna de hoje */
.agd-agora { position: absolute; left: 0; right: 0; height: 0; border-top: 2px solid var(--brand-500); z-index: 3; pointer-events: none; }
.agd-agora::before { content: ''; position: absolute; left: -4px; top: -4px; width: 6px; height: 6px; border-radius: 50%; background: var(--brand-500); }
/* no Dia a coluna é uma só e a faixa «todo o dia» fica mais generosa */
.agd-horas[style*="--cols:1"] .agd-horas-tdcel { flex-direction: row; flex-wrap: wrap; }
.agd-horas[style*="--cols:1"] .agd-horas-tdcel .mtk-ev { width: auto; max-width: 100%; }
@media (max-width: 767px) {
    .agd-horas-cab, .agd-horas-tododia, .agd-horas-corpo { grid-template-columns: 40px repeat(var(--cols), minmax(0, 1fr)); }
    .agd-hora-rot { right: 4px; font-size: 10px; }
}

/* ---------- os compromissos (16): «+ Novo», chips, e as duas modais ---------- */
.agd-novo-wrap { position: relative; }
.agd-menu {
    position: absolute;
    right: 0;
    top: calc(100% + 6px);
    z-index: 30;
    min-width: 272px;
    padding: 6px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    box-shadow: var(--sh-3);
}
.agd-menu[hidden] { display: none; }
.agd-menu-item {
    display: grid;
    grid-template-columns: 12px 1fr;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 8px 10px;
    border: 0;
    border-radius: var(--r-sm);
    background: transparent;
    color: var(--text-1);
    font-size: var(--txt-sm);
    font-weight: var(--fw-medium);
    text-align: left;
    cursor: pointer;
}
.agd-menu-item:hover { background: var(--ink-50); }
.agd-menu-item small { display: block; color: var(--text-3); font-size: var(--txt-xs); font-weight: var(--fw-normal); }

.agd-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.agd-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 11px;
    border: 1px solid var(--border);
    border-radius: var(--r-full);
    background: var(--surface);
    color: var(--text-2);
    font-family: var(--font-family);
    font-size: var(--txt-sm);
    font-weight: var(--fw-medium);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}
.agd-chip:hover { background: var(--ink-50); }
.agd-chip[aria-pressed="true"] { background: var(--ink-900); border-color: var(--ink-900); color: #fff; }
.agd-chip .agd-bolha { width: 9px; height: 9px; border-radius: 3px; }
.agd-chip[aria-pressed="true"] .agd-bolha { box-shadow: 0 0 0 1px rgba(255, 255, 255, .6); }
.agd-chip svg { width: 14px; height: 14px; }

/* o cartão de um compromisso já fechado (realizada, faltou) apaga-se um pouco */
.mtk-ev.is-fechado, .mtk-ag-item.is-fechado { opacity: .62; }
.mtk-ev.is-fechado .mtk-ev-titulo, .mtk-ag-item.is-fechado .mtk-ag-titulo { text-decoration: line-through; text-decoration-thickness: 1px; }

/* PASSA AO DIA SEGUINTE (ticket f25bc55d, 2.ª ronda). O cartão de um dia que já passou
   por uma atividade por concluir é história: esbatido e com a barra tracejada, SEM risco
   (não foi feito — seguiu para o dia seguinte). O de hoje fica com a cor inteira e a
   barra dupla, para se ver que vem de trás. A seta/o ↻ dizem o mesmo sem cor. */
.mtk-ev.is-passou, .mtk-ag-item.is-passou, .agd-bloco.is-passou, .agd-pes-bloco.is-passou { opacity: .6; }
.mtk-ev.is-passou, .agd-bloco.is-passou, .agd-pes-bloco.is-passou { border-left-style: dashed; }
.mtk-ev.is-transitou, .agd-bloco.is-transitou, .agd-pes-bloco.is-transitou { border-left-style: double; border-left-width: 4px; }
.mtk-ev-marca { margin-right: 3px; font-size: 11px; line-height: 1; letter-spacing: 0; text-transform: none; }
/* a marca vai À FRENTE do verbo e o verbo corta com reticências: numa coluna estreita
   (Semana a 1440, Mês) «MONTAGEM» já enche o cartão, e a seta ficava de fora */
.mtk-ev.is-passou .mtk-ev-verbo, .mtk-ev.is-transitou .mtk-ev-verbo { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mtk-ev.is-urgente .mtk-ev-marca { color: var(--danger-600); }

/* a modal do detalhe */
.cmp-cab { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.cmp-tipo { display: inline-flex; align-items: center; gap: 7px; font-size: var(--txt-sm); font-weight: var(--fw-semibold); color: var(--cor); }
.cmp-estado { margin-left: auto; padding: 2px 9px; border-radius: var(--r-full); font-size: var(--txt-xs); font-weight: var(--fw-semibold); background: var(--ink-100); color: var(--text-2); }
.cmp-estado.is-marcada { background: var(--brand-50); color: var(--brand-600); }
.cmp-estado.is-realizada { background: #ECFDF5; color: #047857; }
.cmp-estado.is-cancelada { text-decoration: line-through; }
.cmp-nomes { display: block; margin-top: 4px; font-size: var(--txt-xs); color: var(--text-3); }
.cmp-fecho { margin-top: 14px; padding: 12px 14px 14px; border: 1px solid var(--border); border-radius: var(--r-md); background: var(--surface-alt); display: flex; flex-direction: column; gap: 10px; }
.cmp-fecho-cab { font-size: var(--txt-sm); font-weight: var(--fw-semibold); }
.cmp-fecho-acoes { display: flex; gap: 8px; flex-wrap: wrap; padding-top: 4px; }
.cmp-linha { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.cmp-linha .cmp-data { flex: 1 1 160px; min-width: 0; }
.cmp-hora { width: 108px; font-variant-numeric: var(--num-tabular); }
.cmp-textarea { height: auto; min-height: 72px; padding: 9px 12px; resize: vertical; font-family: var(--font-family); }
.cmp-perigo { color: var(--danger-600); }

/* a modal do formulário: a grelha dos campos, o tipo no topo a toda a largura */
.cmp-form { display: flex; flex-direction: column; gap: 14px; }
.cmp-grelha { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 18px; }
.cmp-larga { grid-column: 1 / -1; }
.cmp-grelha .ds-field { min-width: 0; }
.cmp-grelha .agd-chips { margin-bottom: 6px; }
.agd-chip--cor[aria-pressed="true"] { background: var(--cor); border-color: var(--cor); }
@media (max-width: 639px) {
    .cmp-grelha { grid-template-columns: minmax(0, 1fr); }
    .agd-menu { left: 0; right: auto; }
}

@media print {
    .agd-rail, .agd-nav, .agd-vistas, .agd-novo, .agd-detalhe { display: none !important; }
    .agd-corpo { grid-template-columns: minmax(0, 1fr) !important; }
    .agd-painel { box-shadow: none; }
}
@media (prefers-reduced-motion: reduce) {
    .agd *, .agd *::before, .agd *::after { transition: none !important; animation: none !important; }
}

/* ---------- vista POR PESSOA (fase 5, maquete): quem está onde, o dia deitado ---------- */
.agd-pessoas { --horas: 13; min-width: 0; }
.agd-pes-cab, .agd-pes-linha { display: grid; grid-template-columns: 178px minmax(0, 1fr); min-width: 0; }
.agd-pes-cab { border-bottom: 1px solid var(--border); position: sticky; top: 0; background: var(--surface); z-index: 2; }
.agd-pes-canto {
    padding: 9px 12px;
    font-size: var(--txt-xs);
    letter-spacing: var(--track-caps);
    text-transform: uppercase;
    font-weight: var(--fw-semibold);
    color: var(--text-3);
    white-space: nowrap;
}
.agd-pes-escala { display: grid; grid-template-columns: repeat(var(--horas), minmax(0, 1fr)); border-left: 1px solid var(--agd-grelha); min-width: 0; }
.agd-pes-h { padding: 9px 0 9px 4px; font-size: 10.5px; color: var(--text-3); font-variant-numeric: var(--num-tabular); border-left: 1px solid var(--agd-grelha); overflow: hidden; }
.agd-pes-h:first-child { border-left: 0; }
.agd-pes-linha { border-bottom: 1px solid var(--agd-grelha); align-items: start; }
.agd-pes-linha:last-child { border-bottom: 0; }
.agd-pes-quem { display: flex; align-items: center; gap: 8px; padding: 8px 12px; min-width: 0; }
.agd-pes-nome { font-size: var(--txt-sm); font-weight: var(--fw-semibold); color: var(--text-1); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.agd-pes-n { margin-left: auto; font-size: var(--txt-xs); font-weight: var(--fw-bold); color: var(--text-3); font-variant-numeric: var(--num-tabular); }
.agd-pes-faixa {
    position: relative;
    min-height: 36px;
    min-width: 0;
    border-left: 1px solid var(--agd-grelha);
    background-image: linear-gradient(to right, var(--agd-grelha) 1px, transparent 1px);
    background-size: calc(100% / var(--horas)) 100%;
}
.agd-pes-bloco {
    position: absolute;
    height: 24px;
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 0 6px;
    border: 0;
    border-left: 3px solid var(--cor);
    border-radius: var(--r-sm);
    background: color-mix(in srgb, var(--cor) 14%, var(--surface));
    color: var(--text-1);
    font: inherit;
    font-size: 11px;
    line-height: 1;
    text-align: left;
    cursor: pointer;
    overflow: hidden;
    white-space: nowrap;
    min-width: 0;
}
.agd-pes-bloco:hover { background: color-mix(in srgb, var(--cor) 26%, transparent); z-index: 2; }
.agd-pes-bloco:focus-visible { outline: 2px solid var(--brand-500); outline-offset: 1px; z-index: 2; }
.agd-pes-bloco.is-fechado { opacity: .62; }
.agd-pes-bloco.is-fechado .agd-bloco-t { text-decoration: line-through; text-decoration-thickness: 1px; }
.agd-pes-bloco .agd-bloco-t { flex: 1 1 auto; }
.agd-pes-agora { position: absolute; top: 0; bottom: 0; width: 0; border-left: 2px solid var(--brand-500); z-index: 1; pointer-events: none; }
.agd-pes-td { grid-column: 2; display: flex; flex-wrap: wrap; gap: 4px; padding: 0 6px 8px; border-left: 1px solid var(--agd-grelha); min-width: 0; }
.agd-pes-td--so { padding-top: 6px; }
.agd-pes-td .mtk-ev { flex: 0 1 220px; }
.agd-pes-linha.is-sem-dono .agd-pes-nome { color: var(--text-3); }
@media (max-width: 767px) {
    .agd-pes-cab, .agd-pes-linha { grid-template-columns: 112px minmax(0, 1fr); }
    .agd-pes-quem { padding: 8px; gap: 6px; }
    .agd-pes-h:nth-child(even) { color: transparent; }
    .agd-pes-td .mtk-ev { flex-basis: 100%; }
}

/* ---------- o formulário: repetir «até» e o aviso de sobreposição (fase 5) ---------- */
.cmp-ate { margin-top: 6px; }
/* «Quem vai» + «Todos» (ticket 34255006): a caixa estica, o botão fica à direita e
   nunca empurra a caixa para fora da modal — a 390 px desce para a linha de baixo. */
.cmp-quem { display: flex; align-items: flex-start; gap: 8px; flex-wrap: wrap; }
.cmp-quem-cb { flex: 1 1 220px; min-width: 0; }
.cmp-todos { flex: 0 0 auto; min-height: 38px; }
/* «Ligado a» no detalhe: a referência longa corta-se em vez de passar da janela */
.cmp-ligado { max-width: 100%; min-width: 0; }
.cmp-ligado > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cmp-ate .cmp-data { flex: 0 1 200px; }
#mtkCSobrep[hidden] { display: none; }
.cmp-sobrep {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    margin: 0;
    padding: 9px 12px;
    border-radius: var(--r-md);
    background: var(--warning-50, #FFFBEB);
    border: 1px solid var(--warning-200, #FDE68A);
    color: var(--warning-800, #92400E);
    font-size: var(--txt-sm);
    line-height: 1.4;
}
.cmp-sobrep svg { flex: none; margin-top: 2px; }
.agd-pes-grupo-cab { display: flex; align-items: center; gap: 8px; }
.agd-pes-grupo-nome { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ---------- vista Dia: o resto do dia por famílias, no painel da direita ---------- */
.agd-det-resto .mtk-ag-dia { margin-top: 10px; }
.agd-det-resto .mtk-ag-dia-titulo {
    margin: 0 8px 4px;
    font-size: var(--txt-xs);
    letter-spacing: var(--track-caps);
    text-transform: uppercase;
    font-weight: var(--fw-semibold);
    color: var(--text-3);
}
.agd-det-resto .mtk-ag-dia-titulo::first-letter { text-transform: uppercase; }
.agd-det-resto .mtk-rua-cab { margin: 0 8px 4px; }

/* ---------- Outlook: o botão do cabeçalho e o que ele deixa no detalhe ---------- */
.agd-outlook { white-space: nowrap; }
.cmp-convidado { display: inline-flex; align-items: center; gap: 6px; margin: 0 10px 4px 0; font-size: var(--txt-sm); }
.cmp-outlook-acoes { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
/* a ajuda por baixo do botão, não a correr ao lado dele («Cria» colado ao botão e o
   resto na linha seguinte, visto em produção a 22/09) */
.cmp-outlook-ajuda { display: block; margin-top: 4px; }
@media (max-width: 519px) { .agd-outlook span { display: none; } }

/* A VIATURA no cartão (ticket f25bc55d, 3.ª ronda): a matrícula da carrinha da folha, do
   trabalho ou da jornada. Discreta — é um detalhe do cartão, não um sinal — e em mono,
   como o código, porque é uma referência que se lê letra a letra. */
.mtk-ev-viat, .mtk-ag-viat, .agd-bloco-v {
    display: inline-flex; align-items: center; gap: 3px; min-width: 0;
    font-family: var(--font-mono); font-size: 11px; letter-spacing: .2px;
    color: var(--text-3, #6E6668); white-space: nowrap;
}
.mtk-ev-viat { margin-left: auto; overflow: hidden; text-overflow: ellipsis; }
.mtk-ev-viat svg, .mtk-ag-viat svg, .agd-bloco-v svg { flex: none; }
.agd-bloco-v { display: flex; overflow: hidden; text-overflow: ellipsis; }
.mtk-ev--semana .mtk-ev-viat { font-size: 9.5px; }
.mtk-ev-cod + .mtk-ev-viat { margin-left: 4px; }

/* O CABEÇALHO DO DIA NUNCA PERDE OS NÚMEROS (verificação independente, 25/09/2026): a
   390/320 px a data longa empurrava o contador e o selo vermelho dos atrasados para fora
   da coluna. O rótulo encolhe com reticências (o `title` tem a data inteira); os dois
   números ficam sempre inteiros. */
.agd-horas-dia-rot { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.agd-horas-dia .mtk-cal-cab-n, .agd-horas-dia .mtk-cal-atraso { flex: none; }

/* O RODAPÉ DO COMPROMISSO QUEBRA LINHA no telemóvel estreito: a 320 px os cinco botões
   do fecho não cabiam e o «Realizada» saía pela esquerda sem forma de lá chegar. */
@media (max-width: 480px) {
    .ds-modal-footer.cmp-rodape { flex-wrap: wrap; justify-content: flex-start; row-gap: 8px; }
    .ds-modal-footer.cmp-rodape .ds-form-actions-spacer { display: none; }
    .ds-modal-footer.cmp-rodape > .ds-btn { flex: 1 1 auto; }
}

/* A SEMANA A 1440 (verificação independente): em sete colunas cada cartão tem ~70 px e o
   nome ficava numa só linha cortada («VERIF T…», «VR-0»). O layout é o mesmo; muda o que
   cabe: o nome passa a DUAS linhas e o código e a matrícula saem do cartão para o
   `title` (que já os tem por extenso, e é o que se lê ao passar o rato). Na vista Dia
   (uma coluna) fica tudo como estava. */
.agd-horas:not([style*="--cols:1;"]) .agd-horas-tdcel .mtk-ev--semana .mtk-ev-titulo {
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow-wrap: anywhere;
}
.agd-horas:not([style*="--cols:1;"]) .agd-horas-tdcel .mtk-ev--semana .mtk-ev-cod,
.agd-horas:not([style*="--cols:1;"]) .agd-horas-tdcel .mtk-ev--semana .mtk-ev-viat { display: none; }
