:root {
    --fundo: #071016;
    --painel: #0c171f;
    --painel-2: #101e27;
    --linha: #2f4655;
    --texto: #edf4f7;
    --apoio: #aebdc7;
    --ciano: #39e7ef;
    --verde: #75e9a0;
    --amarelo: #ffe27c;
    --vermelho: #ff7180;
    --sombra-ciano: 0 0 20px rgba(57, 231, 239, 0.13);
    color-scheme: dark;
}

* { box-sizing: border-box; }
html { background: var(--fundo); }
body {
    margin: 0;
    min-width: 320px;
    background: var(--fundo);
    color: var(--texto);
    font-family: Inter, "Segoe UI", Arial, sans-serif;
    letter-spacing: 0;
}
button,input,select,textarea { font: inherit; letter-spacing: 0; }
button,a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
[hidden] { display: none !important; }

.tela-carregando {
    display: grid;
    min-height: 100vh;
    place-content: center;
    justify-items: center;
    gap: 12px;
    padding: 24px;
    text-align: center;
}
.tela-carregando > i { color: var(--ciano); font-size: 2rem; filter: drop-shadow(0 0 12px rgba(57,231,239,.45)); }
.tela-carregando h1 { margin: 0; font-size: 1.2rem; }
.tela-carregando p { margin: 0; color: var(--apoio); }

.layout { min-height: 100vh; }
.barra-lateral {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 30;
    display: flex;
    width: 250px;
    flex-direction: column;
    border-right: 1px solid #263b48;
    background: #081119;
}
.marca {
    display: flex;
    min-height: 82px;
    gap: 12px;
    align-items: center;
    padding: 16px 20px;
    border-bottom: 1px solid #263b48;
    color: var(--texto);
    text-decoration: none;
}
.marca > span {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid rgba(57,231,239,.62);
    border-radius: 50%;
    background: #082128;
    color: var(--ciano);
    box-shadow: var(--sombra-ciano);
}
.marca strong,.marca small { display: block; }
.marca strong { font-size: .95rem; }
.marca small { margin-top: 3px; color: var(--apoio); font-size: .68rem; }
.barra-lateral nav { display: grid; gap: 4px; padding: 18px 10px; }
.menu-item {
    position: relative;
    display: grid;
    grid-template-columns: 28px minmax(0,1fr) auto;
    gap: 8px;
    align-items: center;
    min-height: 45px;
    padding: 9px 12px;
    border: 1px solid transparent;
    border-radius: 7px;
    background: transparent;
    color: #adbdc8;
    text-align: left;
    font-size: .79rem;
    font-weight: 750;
}
.menu-item i { width: 24px; color: #7f99a8; text-align: center; }
.menu-item:hover,.menu-item.ativo { border-color: #345767; background: #0d2029; color: #fff; }
.menu-item.ativo i { color: var(--ciano); }
.menu-item b { display: grid; min-width: 20px; height: 20px; place-items: center; padding: 0 5px; border-radius: 10px; background: #d9485c; color: #fff; font-size: .62rem; }
.menu-apoio { display: grid; gap: 5px; margin-top: auto; padding: 14px 12px 20px; border-top: 1px solid #263b48; }
.menu-apoio a { display: flex; gap: 9px; align-items: center; min-height: 38px; padding: 8px 10px; color: #b6c6cf; text-decoration: none; font-size: .73rem; }
.menu-apoio a:hover { color: var(--ciano); }

.principal { min-height: 100vh; margin-left: 250px; }
.topo {
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    min-height: 82px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 13px clamp(18px,3vw,38px);
    border-bottom: 1px solid #263b48;
    background: rgba(7,16,22,.96);
    backdrop-filter: blur(12px);
}
.topo h1,.topo span { margin: 0; }
.topo h1 { margin-top: 3px; font-size: 1.08rem; }
.topo > div:first-of-type > span { color: var(--apoio); font-size: .67rem; }
.topo-acoes { display: flex; gap: 12px; align-items: center; }
.usuario-topo { display: flex; gap: 9px; align-items: center; }
.usuario-topo > span { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid #3d5b6b; border-radius: 50%; background: #10232d; color: var(--ciano); font-size: .72rem; font-weight: 850; }
.usuario-topo strong,.usuario-topo small { display: block; }
.usuario-topo strong { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .76rem; }
.usuario-topo small { margin-top: 3px; color: var(--apoio); font-size: .62rem; }
.menu-mobile { display: none !important; }

.tela { padding: clamp(22px,3vw,38px); }
.cabecalho-pagina { display: flex; gap: 18px; align-items: flex-end; justify-content: space-between; margin-bottom: 22px; }
.cabecalho-pagina h2,.cabecalho-pagina p { margin: 0; }
.cabecalho-pagina h2 { margin-top: 5px; font-size: clamp(1.15rem,2vw,1.55rem); }
.cabecalho-pagina p { margin-top: 7px; max-width: 760px; color: var(--apoio); font-size: .76rem; line-height: 1.5; }
.rotulo-secao { color: var(--ciano); font-size: .61rem; font-weight: 900; }
.acoes-pagina { display: flex; gap: 7px; flex-wrap: wrap; justify-content: flex-end; }

.botao,.botao-icone {
    display: inline-flex;
    min-height: 39px;
    gap: 8px;
    align-items: center;
    justify-content: center;
    border: 1px solid #3a5261;
    border-radius: 7px;
    background: #10202a;
    color: #e9f1f5;
    text-decoration: none;
    font-size: .71rem;
    font-weight: 850;
}
.botao { padding: 9px 13px; }
.botao-icone { width: 39px; padding: 0; }
.botao:hover,.botao-icone:hover { border-color: var(--ciano); color: #fff; }
.botao.primario { border-color: #23b9c1; background: #0d343b; color: #aefaff; box-shadow: var(--sombra-ciano); }
.botao.secundario { background: #111e26; }
.botao.perigo { border-color: #8a3c49; background: #2a1117; color: #ffb2ba; }
.botao.youtube { border-color: #9d3742; background: #2a1115; color: #ff9ba5; }
.botao.texto { min-height: 32px; border-color: transparent; background: transparent; color: var(--ciano); }
.botao.pequeno { min-height: 32px; padding: 6px 9px; }
.botao:disabled { cursor: not-allowed; opacity: .48; box-shadow: none; }
.largura-total { width: 100%; }

.metricas { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 9px; margin-bottom: 20px; }
.metrica { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 10px; align-items: center; min-height: 88px; padding: 13px; border: 1px solid #304957; border-radius: 8px; background: var(--painel); }
.metrica i { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: #102a33; color: var(--ciano); }
.metrica.amarela i { background: #28230f; color: var(--amarelo); }
.metrica.verde i { background: #10271a; color: var(--verde); }
.metrica.vermelha i { background: #2c1319; color: var(--vermelho); }
.metrica strong,.metrica span { display: block; }
.metrica strong { font-size: 1.18rem; }
.metrica span { margin-top: 4px; color: var(--apoio); font-size: .65rem; line-height: 1.25; }

.faixa-dupla { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(340px,.95fr); gap: 14px; }
.bloco-pagina { padding: 16px; border: 1px solid #304957; border-radius: 8px; background: var(--painel); }
.titulo-bloco { display: flex; gap: 12px; align-items: center; justify-content: space-between; margin-bottom: 13px; }
.titulo-bloco h3,.titulo-bloco p { margin: 0; }
.titulo-bloco h3 { font-size: .89rem; }
.titulo-bloco p { margin-top: 4px; color: var(--apoio); font-size: .66rem; }
.fluxo-pedagogico { display: grid; gap: 7px; }
.fluxo-pedagogico button { display: grid; grid-template-columns: 32px minmax(0,1fr) 16px; gap: 10px; align-items: center; min-height: 58px; padding: 8px 10px; border: 1px solid #304957; border-radius: 7px; background: #0a141b; color: var(--texto); text-align: left; }
.fluxo-pedagogico button > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: #0e3037; color: var(--ciano); font-size: .7rem; font-weight: 900; }
.fluxo-pedagogico strong,.fluxo-pedagogico small { display: block; }
.fluxo-pedagogico strong { font-size: .75rem; }
.fluxo-pedagogico small { margin-top: 4px; color: var(--apoio); font-size: .63rem; }
.fluxo-pedagogico button > i { color: #758f9d; }

.lista-resumo,.lista-comunicacoes,.lista-acessos { display: grid; gap: 8px; }
.item-resumo { display: grid; grid-template-columns: 36px minmax(0,1fr) auto; gap: 10px; align-items: center; min-height: 57px; padding: 9px; border-bottom: 1px solid #2a3e49; }
.item-resumo > i { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; background: #102630; color: var(--ciano); }
.item-resumo strong,.item-resumo small { display: block; }
.item-resumo strong { font-size: .72rem; }
.item-resumo small { margin-top: 4px; color: var(--apoio); font-size: .62rem; }
.item-resumo > span { color: #9fb2bd; font-size: .61rem; }

.barra-filtros { display: flex; gap: 9px; align-items: flex-end; margin-bottom: 14px; padding: 11px; border: 1px solid #2e4654; border-radius: 8px; background: #0a141b; }
.barra-filtros label { display: grid; gap: 5px; min-width: 190px; }
.barra-filtros label > span { color: #aebdc7; font-size: .61rem; font-weight: 800; }
.barra-filtros .busca { min-width: 240px; flex: 1; }
.ajuda-filtro { margin: 0; max-width: 220px; color: #aebdc7; font-size: .61rem; line-height: 1.45; }
.ajuda-filtro i { color: var(--ciano); }
.acoes-lote-comunicacoes { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: -5px 0 14px; padding: 10px 12px; border: 1px solid #31505f; border-radius: 8px; background: #0b1921; }
.acoes-lote-comunicacoes > div:first-child { display: grid; gap: 3px; }
.acoes-lote-comunicacoes strong { color: #eef8fa; font-size: .7rem; }
.acoes-lote-comunicacoes > div:first-child span { color: #9fb2bd; font-size: .59rem; }
.acoes-lote-botoes { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.botao.perigo.discreto { border-color: #6c4650; background: transparent; color: #ffadb6; box-shadow: none; }
.busca > div { position: relative; }
.busca i { position: absolute; top: 50%; left: 11px; color: #78909e; transform: translateY(-50%); }
.busca input { width: 100%; padding-left: 34px !important; }

input,select,textarea {
    width: 100%;
    min-height: 39px;
    border: 1px solid #385260;
    border-radius: 7px;
    outline: none;
    background: #08131a;
    color: #f1f6f8;
    padding: 9px 11px;
    font-size: .73rem;
}
textarea { min-height: 86px; resize: vertical; line-height: 1.5; }
input:focus,select:focus,textarea:focus { border-color: var(--ciano); box-shadow: 0 0 0 3px rgba(57,231,239,.08); }
input::placeholder,textarea::placeholder { color: #78909e; }
label { color: #c7d2d9; font-size: .69rem; font-weight: 750; }
label small { color: #8ea3af; font-size: .6rem; }

.lista-modulos { display: grid; gap: 12px; }
.modulo { border: 1px solid #304957; border-radius: 8px; background: var(--painel); overflow: hidden; }
.modulo-topo { display: flex; gap: 14px; align-items: center; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid #2b414e; }
.modulo-topo h3,.modulo-topo p { margin: 0; }
.modulo-topo h3 { font-size: .9rem; }
.modulo-topo p { margin-top: 5px; color: var(--apoio); font-size: .66rem; }
.modulo-topo-acoes { display: flex; gap: 7px; align-items: center; }
.materiais { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; padding: 12px; }
.material { display: grid; min-width: 0; gap: 9px; padding: 12px; border: 1px solid #304957; border-radius: 8px; background: #09141b; }
.material-topo { display: flex; gap: 8px; justify-content: space-between; }
.material h4,.material p { margin: 0; }
.material h4 { overflow-wrap: anywhere; font-size: .77rem; }
.material p { color: var(--apoio); font-size: .65rem; line-height: 1.45; }
.material-meta { display: flex; gap: 6px; flex-wrap: wrap; }
.material-acoes { display: flex; gap: 6px; margin-top: auto; }
.material-acoes .botao { flex: 1; }

.etiqueta { display: inline-flex; min-height: 23px; align-items: center; border: 1px solid #3a5564; border-radius: 5px; background: #10222c; color: #c2d2da; padding: 3px 7px; font-size: .57rem; font-weight: 900; text-transform: uppercase; }
.etiqueta.publicado,.etiqueta.concluida { border-color: #367b50; background: #10281a; color: var(--verde); }
.etiqueta.rascunho,.etiqueta.agendado,.etiqueta.aguardando_secretaria { border-color: #74672f; background: #25210f; color: var(--amarelo); }
.etiqueta.arquivado,.etiqueta.recusada,.etiqueta.expirada { border-color: #76404a; background: #281319; color: #ff9da8; }

.comunicacao-item,.acesso-item { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; padding: 13px; border: 1px solid #304957; border-radius: 8px; background: var(--painel); }
.comunicacao-item { border-left-width: 4px; border-left-color: #405867; }
.comunicacao-item.comunicacao-leitura-nao-iniciada { border-left-color: var(--amarelo); }
.comunicacao-item.comunicacao-leitura-parcial { border-left-color: var(--ciano); }
.comunicacao-item.comunicacao-leitura-concluida { border-left-color: var(--verde); }
.comunicacao-item.comunicacao-arquivada { opacity: .76; }
.comunicacao-item h3,.comunicacao-item p,.acesso-item h3,.acesso-item p { margin: 0; }
.comunicacao-item h3,.acesso-item h3 { margin-top: 8px; font-size: .82rem; }
.comunicacao-item p,.acesso-item p { margin-top: 5px; color: var(--apoio); font-size: .68rem; line-height: 1.45; }
.comunicacao-corpo { min-width: 0; }
.seletor-comunicacao { display: inline-flex; width: auto; align-items: center; gap: 6px; margin-bottom: 8px; cursor: pointer; color: #b8c8d0; font-size: .62rem; font-weight: 800; }
.seletor-comunicacao input { position: absolute; opacity: 0; pointer-events: none; }
.seletor-comunicacao > span { display: grid; width: 22px; height: 22px; place-items: center; border: 1px solid #49616e; border-radius: 5px; background: #071219; color: transparent; transition: .18s ease; }
.seletor-comunicacao input:focus-visible + span { outline: 2px solid var(--ciano); outline-offset: 2px; }
.seletor-comunicacao input:checked + span { border-color: var(--ciano); background: rgba(57,231,239,.14); color: var(--ciano); box-shadow: 0 0 12px rgba(57,231,239,.18); }
.destinatarios-comunicacao { display: flex; align-items: flex-start; gap: 9px; margin-top: 10px; padding: 9px 10px; border-left: 3px solid var(--ciano); background: #0a1a22; color: #dce9ee; }
.destinatarios-comunicacao > i { margin-top: 2px; color: var(--ciano); }
.destinatarios-comunicacao > div { display: grid; min-width: 0; gap: 5px; }
.destinatarios-comunicacao small { display: block; color: #91a8b4; font-size: .57rem; font-weight: 800; text-transform: uppercase; }
.destinatarios-comunicacao strong { color: #f2f8fa; font-size: .67rem; }
.destinatarios-comunicacao summary { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 9px; align-items: center; cursor: pointer; list-style: none; }
.destinatarios-comunicacao summary::-webkit-details-marker { display: none; }
.destinatarios-comunicacao summary > i:first-child { color: var(--ciano); }
.destinatarios-comunicacao summary > i:last-child { color: #8ba2ae; transition: transform .18s ease; }
.destinatarios-comunicacao[open] summary > i:last-child { transform: rotate(180deg); }
.destinatarios-chips { display: flex; flex-wrap: wrap; gap: 5px; }
.destinatarios-comunicacao details + .destinatarios-chips,.destinatarios-comunicacao > .destinatarios-chips { margin-top: 8px; }
.destinatarios-chips span { max-width: 100%; padding: 4px 7px; overflow: hidden; border: 1px solid #33505f; border-radius: 4px; background: #10252f; color: #dce9ee; font-size: .61rem; text-overflow: ellipsis; white-space: nowrap; }
.painel-leitura { display: grid; gap: 6px; margin-top: 10px; padding: 9px; border: 1px solid #304c5b; border-radius: 6px; background: #0b1c24; }
.painel-leitura.neutro { display: block; color: #b4c4cd; font-size: .63rem; }
.leitura-cabecalho,.leitura-rodape { display: flex; align-items: center; justify-content: space-between; gap: 9px; }
.leitura-cabecalho span { color: #dce8ed; font-size: .64rem; font-weight: 800; }
.leitura-cabecalho strong { color: var(--ciano); font-size: .75rem; }
.comunicacao-leitura-nao-iniciada .leitura-cabecalho strong { color: var(--amarelo); }
.comunicacao-leitura-concluida .leitura-cabecalho strong { color: var(--verde); }
.progresso-leitura { height: 7px; overflow: hidden; border-radius: 999px; background: #172b36; }
.progresso-leitura > span { display: block; height: 100%; min-width: 0; border-radius: inherit; background: var(--ciano); transition: width .2s ease; }
.comunicacao-leitura-nao-iniciada .progresso-leitura > span { background: var(--amarelo); }
.comunicacao-leitura-concluida .progresso-leitura > span { background: var(--verde); }
.leitura-rodape { color: #aabac4; font-size: .6rem; }
.leitura-rodape small { color: inherit; font-size: inherit; }
.leitura-ciencia { color: #bceec9; font-size: .6rem; font-weight: 800; white-space: nowrap; }
.comunicacao-indicadores { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 9px; color: #9eb0bb; font-size: .61rem; }
.acoes-item { display: flex; gap: 6px; align-items: center; }
.acesso-item.pendente { border-color: #6d6230; }
.acesso-codigo { color: var(--amarelo); font-weight: 900; }
.configuracao-linha { display: grid; grid-template-columns: minmax(240px,1fr) minmax(220px,.6fr) auto; gap: 10px; align-items: end; margin-bottom: 14px; padding: 12px; border: 1px solid #304957; border-radius: 8px; background: var(--painel); }
.configuracao-linha label { grid-column: 1 / -1; }
.regra-reposicao-grade { display: grid; grid-template-columns: minmax(0,1fr) minmax(300px,.8fr); gap: 14px; align-items: start; }
.formulario-regra-reposicao { display: grid; gap: 13px; }
.formulario-regra-reposicao .titulo-bloco > i { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: rgba(57,231,239,.1); color: var(--ciano); }
.campo-regra-horas { display: grid; grid-template-columns: minmax(0,180px) auto; gap: 9px; align-items: center; }
.campo-regra-horas input { min-height: 48px; font-size: 1.15rem; font-weight: 900; }
.campo-regra-horas span { color: #c8d5dc; font-size: .75rem; font-weight: 800; }
.resumo-regra-reposicao { margin: 0; padding: 11px; border-left: 3px solid var(--ciano); background: #0b1c24; color: #dce8ed; font-size: .71rem; line-height: 1.5; }
.leitura-regra-reposicao ol { display: grid; gap: 9px; margin: 0 0 14px; padding: 0; list-style: none; }
.leitura-regra-reposicao li { display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 9px; align-items: center; }
.leitura-regra-reposicao li > span { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid #3c6675; border-radius: 50%; color: var(--ciano); font-size: .68rem; font-weight: 900; }
.leitura-regra-reposicao strong,.leitura-regra-reposicao small { display: block; }
.leitura-regra-reposicao strong { color: #f6fafc; font-size: .73rem; }
.leitura-regra-reposicao small { margin-top: 2px; color: #aebec7; font-size: .64rem; line-height: 1.35; }
.regra-indisponivel { margin-bottom: 14px; border-color: #796b34; background: #28230f; }

.aviso-operacional,.aviso-dialogo { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 10px; align-items: center; padding: 11px; border: 1px solid #365361; border-radius: 8px; background: #0b1c24; }
.aviso-operacional { margin-bottom: 14px; }
.aviso-operacional > i,.aviso-dialogo > i { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: #102c34; color: var(--ciano); }
.aviso-operacional strong,.aviso-operacional span { display: block; }
.aviso-operacional strong { font-size: .73rem; }
.aviso-operacional span,.aviso-dialogo span { margin-top: 4px; color: #b8c8d0; font-size: .65rem; line-height: 1.45; }

.equipe-layout { display: grid; grid-template-columns: minmax(280px,.75fr) minmax(420px,1.25fr); gap: 13px; align-items: start; }
.lista-equipe,.painel-permissoes { border: 1px solid #304957; border-radius: 8px; background: var(--painel); }
.lista-equipe { display: grid; max-height: calc(100vh - 250px); overflow: auto; }
.pessoa-equipe { display: grid; grid-template-columns: 36px minmax(0,1fr) 16px; gap: 10px; align-items: center; min-height: 61px; padding: 10px 12px; border: 0; border-bottom: 1px solid #2b414e; background: transparent; color: var(--texto); text-align: left; }
.pessoa-equipe > span { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; background: #102630; color: var(--ciano); font-size: .64rem; font-weight: 900; }
.pessoa-equipe strong,.pessoa-equipe small { display: block; }
.pessoa-equipe strong { font-size: .73rem; }
.pessoa-equipe small { margin-top: 4px; color: var(--apoio); font-size: .61rem; }
.pessoa-equipe.ativa { background: #0e252e; }
.painel-permissoes { display: grid; gap: 12px; padding: 15px; }
.pessoa-permissao-vazia { display: grid; min-height: 180px; place-content: center; justify-items: center; gap: 8px; color: var(--apoio); text-align: center; }
.pessoa-permissao-vazia i { color: var(--ciano); font-size: 1.6rem; }
.pessoa-permissao-vazia strong { color: #fff; font-size: .85rem; }
.pessoa-permissao-vazia span { font-size: .65rem; }
.lista-permissoes { display: grid; gap: 7px; margin: 12px 0; }
.permissao { display: grid; grid-template-columns: 20px minmax(0,1fr); gap: 9px; align-items: start; padding: 10px; border: 1px solid #304957; border-radius: 7px; background: #09141b; }
.permissao input,.check-simples input { width: 17px; min-height: 17px; margin: 1px 0 0; accent-color: var(--ciano); }
.permissao strong,.permissao small { display: block; }
.permissao strong { font-size: .7rem; }
.permissao small { margin-top: 4px; color: var(--apoio); font-size: .61rem; line-height: 1.4; }
.aviso-inline { padding: 9px; border: 1px solid #416c4e; border-radius: 7px; background: #10261a; color: #baf3ca; font-size: .66rem; }

.dialogo { width: min(94vw,600px); max-height: 92vh; overflow: auto; border: 1px solid #3b5969; border-radius: 8px; background: #0b161e; color: var(--texto); padding: 0; box-shadow: 0 24px 80px rgba(0,0,0,.55); }
.dialogo::backdrop { background: rgba(2,7,11,.83); backdrop-filter: blur(4px); }
.dialogo-largo { width: min(94vw,880px); }
.dialogo form { display: grid; gap: 11px; padding: 18px; }
.dialogo-topo { display: flex; gap: 14px; align-items: center; justify-content: space-between; margin-bottom: 2px; }
.dialogo-topo h2 { margin: 3px 0 0; font-size: 1rem; }
.dialogo-acoes { display: flex; gap: 8px; justify-content: flex-end; padding-top: 4px; }
.dialogo-confirmacao { width: min(92vw,470px); padding: 17px; }
.dialogo-confirmacao > p { color: #c5d1d8; font-size: .74rem; line-height: 1.55; }
.grade-dupla { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.grade-tripla { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.grade-dupla label,.grade-tripla label { display: grid; gap: 5px; }
fieldset { display: grid; gap: 10px; margin: 0; padding: 12px; border: 1px solid #304957; border-radius: 8px; }
legend { padding: 0 6px; color: #dce6eb; font-size: .7rem; font-weight: 850; }
.check-simples { display: flex; gap: 8px; align-items: center; }
.erro-form { margin: 0; padding: 9px; border: 1px solid #7e3b47; border-radius: 7px; background: #291218; color: #ffb1ba; font-size: .67rem; }

.checklist { display: grid; gap: 7px; max-height: 270px; overflow: auto; }
.busca-destinos { position: sticky; top: 0; z-index: 2; display: grid; gap: 5px; padding: 7px 0 9px; background: #071117; }
.busca-destinos > span { color: #b8c7cf; font-size: .61rem; font-weight: 800; }
.busca-destinos > div { position: relative; }
.busca-destinos i { position: absolute; top: 50%; left: 11px; color: #78909e; transform: translateY(-50%); }
.busca-destinos input { width: 100%; padding-left: 34px !important; }
.lista-destinos-opcoes { display: grid; gap: 7px; }
.check-item { display: grid; grid-template-columns: 19px minmax(0,1fr); gap: 9px; align-items: start; padding: 9px; border: 1px solid #304957; border-radius: 7px; background: #09141b; }
.check-item input { width: 17px; min-height: 17px; margin-top: 2px; accent-color: var(--ciano); }
.check-item strong,.check-item small { display: block; }
.check-item strong { font-size: .69rem; }
.check-item small { margin-top: 4px; color: var(--apoio); font-size: .6rem; line-height: 1.4; }

.lista-perguntas { display: grid; gap: 10px; }
.pergunta-editor { display: grid; gap: 8px; padding: 12px; border: 1px solid #304957; border-radius: 8px; background: #08131a; }
.pergunta-topo { display: flex; gap: 8px; align-items: center; justify-content: space-between; }
.pergunta-topo strong { font-size: .75rem; }
.opcoes-editor { display: grid; gap: 6px; }
.opcao-editor { display: grid; grid-template-columns: 19px minmax(0,1fr) 34px; gap: 7px; align-items: center; }
.opcao-editor input[type="radio"] { width: 17px; min-height: 17px; accent-color: var(--verde); }

.estado-vazio { display: grid; min-height: 160px; place-content: center; justify-items: center; gap: 8px; padding: 20px; color: var(--apoio); text-align: center; }
.estado-vazio i { color: #668391; font-size: 1.45rem; }
.estado-vazio strong { color: #dbe6eb; font-size: .82rem; }
.estado-vazio span { max-width: 420px; font-size: .65rem; line-height: 1.45; }
.skeleton { height: 70px; border-radius: 7px; background: linear-gradient(90deg,#101e27 25%,#172b36 50%,#101e27 75%); background-size: 200% 100%; animation: carregar 1.3s infinite; }
@keyframes carregar { to { background-position: -200% 0; } }

.toast { position: fixed; z-index: 90; right: 24px; bottom: 24px; display: flex; max-width: min(440px,calc(100vw - 32px)); gap: 10px; align-items: center; padding: 12px 14px; border: 1px solid #3a5c69; border-radius: 8px; background: #10232d; color: #edf7fa; box-shadow: 0 16px 45px rgba(0,0,0,.45); font-size: .73rem; }
.toast.sucesso { border-color: #3e7c53; background: #10261a; }
.toast.erro { border-color: #86424d; background: #2a1419; }
.toast.aviso { border-color: #796b34; background: #28230f; }

@media (max-width: 1180px) {
    .metricas { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .materiais { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .faixa-dupla { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
    .barra-lateral { transform: translateX(-100%); transition: transform .2s ease; }
    body.menu-aberto .barra-lateral { transform: translateX(0); box-shadow: 20px 0 60px rgba(0,0,0,.5); }
    .principal { margin-left: 0; }
    .menu-mobile { display: inline-flex !important; }
    .topo { padding: 12px 15px; }
    .topo > div:first-of-type { flex: 1; }
    .usuario-topo div { display: none; }
    .tela { padding: 18px 14px 28px; }
    .cabecalho-pagina { align-items: flex-start; flex-direction: column; }
    .acoes-pagina { width: 100%; justify-content: flex-start; }
    .barra-filtros { align-items: stretch; flex-direction: column; }
    .barra-filtros label,.barra-filtros .busca { min-width: 0; width: 100%; }
    .ajuda-filtro { max-width: none; }
    .acoes-lote-comunicacoes { align-items: stretch; flex-direction: column; }
    .acoes-lote-botoes { justify-content: flex-start; }
    .leitura-cabecalho,.leitura-rodape { align-items: flex-start; flex-direction: column; gap: 4px; }
    .equipe-layout { grid-template-columns: 1fr; }
    .regra-reposicao-grade { grid-template-columns: 1fr; }
    .lista-equipe { max-height: 340px; }
}

@media (max-width: 580px) {
    .metricas { grid-template-columns: 1fr 1fr; }
    .metrica { grid-template-columns: 34px minmax(0,1fr); min-height: 74px; padding: 10px; }
    .metrica i { width: 34px; height: 34px; }
    .materiais { grid-template-columns: 1fr; }
    .modulo-topo,.comunicacao-item,.acesso-item { align-items: flex-start; flex-direction: column; grid-template-columns: 1fr; }
    .modulo-topo { display: flex; }
    .modulo-topo-acoes,.acoes-item { width: 100%; flex-wrap: wrap; }
    .acoes-item .botao { flex: 1; }
    .acoes-lote-botoes .botao { flex: 1 1 100%; }
    .grade-dupla,.grade-tripla { grid-template-columns: 1fr; }
    .dialogo-acoes { flex-direction: column-reverse; }
    .dialogo-acoes .botao { width: 100%; }
    .configuracao-linha { grid-template-columns: 1fr; }
    .configuracao-linha label { grid-column: 1; }
    .campo-regra-horas { grid-template-columns: minmax(0,1fr) auto; }
    .topo h1 { font-size: .9rem; }
}

@media (prefers-reduced-motion: reduce) {
    *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}
