/* Gestor de Turno: ajustes sobre o MudBlazor. Cores vêm do tema (Tema.cs) via variáveis --mud-palette-*. */

@font-face { font-family: "IBM Plex Sans"; font-weight: 400; font-display: swap; src: url("fonts/ibm-plex-sans-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-weight: 500; font-display: swap; src: url("fonts/ibm-plex-sans-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-weight: 600; font-display: swap; src: url("fonts/ibm-plex-sans-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-weight: 700; font-display: swap; src: url("fonts/ibm-plex-sans-latin-700-normal.woff2") format("woff2"); }

body { font-feature-settings: "tnum" 1; }
h1:focus { outline: none; }

.conteudo { padding-top: 28px; padding-bottom: 64px; }
.texto-apoio { color: var(--mud-palette-text-secondary); }
.texto-erro { color: var(--mud-palette-error) !important; font-weight: 600; }
.id { font-weight: 700; font-variant-numeric: tabular-nums; }
.data { font-variant-numeric: tabular-nums; white-space: nowrap; }

/* ---------- Barra superior e menu ---------- */
.barra-topo { border-bottom: 1px solid var(--mud-palette-lines-default); }
.plantao-pill { border-radius: 999px !important; }

.marca { display: flex; align-items: center; gap: 12px; padding: 22px 20px 18px; }
.marca-sinal {
    width: 10px; height: 34px; border-radius: 2px;
    background: repeating-linear-gradient(-45deg, var(--mud-palette-secondary) 0 6px, transparent 6px 10px);
    border: 1px solid var(--mud-palette-secondary);
}
.marca-nome { font-weight: 700; font-size: 1.05rem; color: #fff; letter-spacing: -0.01em; }
.marca-sub { font-size: .78rem; color: var(--mud-palette-drawer-icon); }
.menu-grupo { display: block; padding: 18px 20px 6px; color: var(--mud-palette-drawer-icon) !important; font-weight: 600; }
.menu .mud-nav-link { border-radius: 6px; margin: 1px 10px; width: auto; }
.menu .mud-nav-link.active { background: rgba(255,255,255,.08) !important; color: #fff !important; box-shadow: inset 3px 0 0 var(--mud-palette-secondary); }
.relogio { position: absolute; bottom: 16px; left: 20px; right: 20px; font-size: .8rem; color: var(--mud-palette-drawer-icon); text-transform: none; }
.relogio::first-letter { text-transform: uppercase; }

/* ---------- Faixa de números do turno ---------- */
.faixa-numeros { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.faixa-numeros > div { padding: 16px 20px; display: flex; flex-direction: column; gap: 2px; border-left: 1px solid var(--mud-palette-lines-default); }
.faixa-numeros > div:first-child { border-left: 0; }
.faixa-numeros .numero { font-size: 2rem; font-weight: 600; line-height: 1.1; font-variant-numeric: tabular-nums; }
.faixa-numeros .numero .de { font-size: 1.1rem; color: var(--mud-palette-text-secondary); font-weight: 500; }
.faixa-numeros .rotulo { font-size: .85rem; color: var(--mud-palette-text-secondary); }
.faixa-numeros .alerta { box-shadow: inset 0 3px 0 var(--mud-palette-secondary); }
.faixa-numeros .critico { box-shadow: inset 0 3px 0 var(--mud-palette-error); }
.faixa-numeros .critico .numero { color: var(--mud-palette-error); }

/* ---------- Passagem de turno: passos numerados ---------- */
.passo { display: grid; grid-template-columns: 36px 1fr; gap: 16px; padding: 20px 0; border-top: 1px solid var(--mud-palette-lines-default); }
.passo-num {
    width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center;
    font-weight: 700; border: 2px solid var(--mud-palette-primary); color: var(--mud-palette-primary);
}
.passo-corpo { min-width: 0; }

.linha-ticket { display: flex; align-items: center; gap: 12px; min-width: 0; width: 100%; }
.linha-ticket .cliente { font-weight: 600; white-space: nowrap; }
.linha-ticket .problema { color: var(--mud-palette-text-secondary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1; min-width: 0; }
.linha-ticket .data { margin-left: auto; padding-right: 8px; }

.linha-op { display: grid; grid-template-columns: 180px 1fr 1fr auto; gap: 16px; align-items: center; padding: 12px 16px; border-top: 1px solid var(--mud-palette-lines-default); }
.linha-op:first-child { border-top: 0; }
.lista-encerramento { margin: 0 0 12px 20px; }
.lista-encerramento li { margin: 2px 0; }

.painel-destaque { border-top: 3px solid var(--mud-palette-primary) !important; }
.tabela-compacta td { vertical-align: top; }
.tabela-compacta .col-ticket { white-space: nowrap; }
.tabela-compacta .col-data { text-align: right; }

/* ---------- Tickets ---------- */
.busca { max-width: 360px; }
.filtro { max-width: 220px; }
.tabela-tickets .mud-table-row { cursor: pointer; }
.tabela-tickets .andamento { font-size: .85rem; margin-top: 2px; }
.linha-critica td:first-child { box-shadow: inset 3px 0 0 var(--mud-palette-error); }
.status-chip { font-weight: 600; margin: 0 !important; }

/* ---------- Agenda ---------- */
.item-agenda { border-top: 1px solid var(--mud-palette-lines-default); }
.item-agenda:first-child { border-top: 0; }
.item-agenda .hora { font-size: 1.25rem; font-weight: 600; width: 64px; font-variant-numeric: tabular-nums; }
.item-agenda .titulo { font-weight: 600; }
.item-agenda.feito .titulo, .item-agenda.feito .hora { text-decoration: line-through; color: var(--mud-palette-text-secondary); }

/* ---------- Indicadores ---------- */
.barras { display: flex; flex-direction: column; gap: 10px; }
.barra-linha { display: grid; grid-template-columns: minmax(120px, 40%) 1fr; gap: 12px; align-items: center; font-size: .9rem; }
.barra-rotulo { color: var(--mud-palette-text-primary); }
.barra-trilho { display: flex; align-items: center; gap: 8px; }
.barra { height: 14px; border-radius: 0 4px 4px 0; background: var(--mud-palette-primary); }
.barra-valor { font-weight: 600; font-variant-numeric: tabular-nums; }

.sla-barra { display: flex; gap: 2px; height: 22px; border-radius: 4px; overflow: hidden; }
.sla-legenda { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 14px; font-size: .9rem; }
.ponto { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 6px; }
.sla-seguro { background: var(--mud-palette-success); }
.sla-atencao { background: var(--mud-palette-warning); }
.sla-critico { background: var(--mud-palette-error); }

.relatorio {
    white-space: pre-wrap; font-family: inherit; font-size: .9rem; line-height: 1.55; margin: 0;
    padding: 16px; border-radius: 6px; background: var(--mud-palette-background); border: 1px solid var(--mud-palette-lines-default);
    max-height: 60vh; overflow: auto;
}

@media (max-width: 960px) {
    .linha-op { grid-template-columns: 1fr; }
    .linha-ticket .problema { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    * { transition: none !important; animation: none !important; }
}
