/* ============================================================================
   Padronização visual do painel master — alinhar ao .panel-container / .intranet-header
   (restyle só CSS, sem mexer no HTML/comportamento). 2026-06-17
   ========================================================================== */
/* Conteúdo num "card" branco arredondado centralizado, como o .panel-container. */
#view-master .master-shell {
  max-width: 1500px;
  margin: 12px auto;
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 16px 34px 0 rgba(40,49,23,0.16), inset 0 1px 0 0 rgba(255, 255, 255, 0.95);
  padding: 20px 24px;
  height: calc(100% - 24px);
}
/* Header: mesmo realce do .intranet-header (brilho dourado no topo, sem borda lateral). */
#view-master .master-header {
  margin-bottom: 16px;
  padding: 16px 18px;
  border-left: 0;
  border-radius: 14px;
  background:
    radial-gradient(circle at 85% -40%, rgba(230, 184, 0, 0.28), rgba(0, 0, 0, 0) 42%),
    linear-gradient(125deg, #323e1d 0%, #394820 56%, #526139 100%);
  box-shadow: 0 12px 24px 0 rgba(40,49,23,0.22);
}
/* Sidebar: itens compactos e flat (sem o "card flutuante" com borda + sombra grande). */
#view-master .master-menu-item {
  background: #f3f5f0;
  border: 1px solid transparent;
  border-radius: 10px;
  box-shadow: none;
  padding: 9px 12px;
  margin-top: 4px;
}
#view-master .master-menu-item:hover {
  background: #e7eae1;
  border-color: rgba(56,70,34,0.18);
}
#view-master .master-menu-item.active {
  background: #394820;
  border-color: #323e1d;
  box-shadow: 0 8px 18px -6px rgba(40,49,23,0.55);
}
#view-master .master-menu-item.active span,
#view-master .master-menu-item.active small {
  color: #fff;
}
/* Peso de fonte mais leve no menu (a intranet não usa 900 nos itens). */
#view-master .master-menu-item span {
  font-weight: 600;
}
#view-master .master-menu-item small {
  font-weight: 500;
  opacity: 0.85;
}
/* Submenu do Financeiro no menu master (nav interna do financeiro movida pra cá). */
#view-master .master-submenu {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin: 5px 0 8px 20px;
  padding-left: 14px;
  border-left: 2px solid #d1d7c6;
}
#view-master .master-submenu-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border: 0;
  background: transparent;
  border-radius: 9px;
  color: #4d5244;
  font-family: inherit;
  font-size: 0.86rem;
  font-weight: 600;
  cursor: pointer;
  text-align: left;
  transition: background .15s, color .15s;
}
#view-master .master-submenu-item:hover {
  background: #eaeee3;
  color: #323e1d;
}
#view-master .master-submenu-item.active {
  background: #394820;
  color: #fff;
  box-shadow: 0 5px 12px -5px rgba(40,49,23,.55);
}
#view-master .master-submenu-item svg {
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
  color: #656f52;
}
#view-master .master-submenu-item.active svg {
  color: #fff;
}
/* A navegação interna do financeiro agora vive no menu master — esconde a sidebar interna. */
#master-financeiro-host .fin-side {
  display: none !important;
}

/* ============================================================================
   Cards de categoria (Kanban Regulação) — cabeçalho roxo sólido. 2026-06-17
   ========================================================================== */
#view-regulacao .reg-cat-item {
  border: 1px solid #e1e4da;
  border-radius: 16px;
  box-shadow: 0 10px 26px -14px rgba(40,49,23,.35);
  transition: transform .15s ease, box-shadow .15s ease;
}
#view-regulacao .reg-cat-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px -14px rgba(40,49,23,.45);
}
#view-regulacao .reg-cat-head {
  background: linear-gradient(135deg, #323e1d 0%, #394820 55%, #526139 100%);
  border-bottom: 0;
  padding: 14px 16px;
}
#view-regulacao .reg-cat-head strong {
  color: #fff;
  font-weight: 800;
}
/* Botões de ação no cabeçalho roxo: translúcidos claros. */
#view-regulacao .reg-cat-head .reg-cat-iconbtn {
  background: rgba(255, 255, 255, .14);
  border-color: rgba(255, 255, 255, .30);
  color: #fff;
}
#view-regulacao .reg-cat-head .reg-cat-iconbtn:hover {
  background: rgba(255, 255, 255, .26);
  border-color: rgba(255, 255, 255, .48);
  color: #fff;
}
/* Subcategorias: linhas brancas limpas. */
#view-regulacao .reg-cat-subrow {
  background: #fff;
  border-color: #e3e8dd;
}
#view-regulacao .reg-cat-subrow:hover {
  border-color: #c6cdba;
  background: #f7f8f5;
}
/* Ícones lucide no menu (substituem os números): ícone limpo, roxo; branco no ativo. */
#view-master .master-menu-item svg {
  grid-area: index;
  width: 22px;
  height: 22px;
  color: #394820;
  align-self: center;
}
#view-master .master-menu-item.active svg {
  color: #fff;
}
/* Ícones nos botões do header (Atualizar/Unidades/Sair), como na intranet. */
#view-master .master-header .btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
#view-master .master-header .btn svg {
  width: 15px;
  height: 15px;
}


/* =========================================================================
   AJUSTES MOBILE — distribuicao/responsividade (NAO afeta desktop)
   Adicionado por solicitacao do admin em 2026-06-17.
   Escopo: SOMENTE telas <= 768px. Acima disso (desktop/tablet largo) nada muda.
   Objetivo: recuperar a largura util desperdicada nas laterais e deixar os
   paineis em coluna unica fluida no celular. Nao altera logica nem desktop.
   Para reverter: remova este bloco e restaure o backup style.css.bak-mobile-*.
   ========================================================================= */
@media (max-width: 768px){
  /* 1) Padding lateral enxuto nos conteineres de painel.
        Usa a mesma lista de IDs do tema para vencer a cascata existente
        (havia um padding-left:32px !important base que clobberava o mobile). */
  :is(#view-master,#view-portal,#view-admin,#view-operator,#view-driver,
      #view-casaapoio,#view-transporte,#view-servidor,#view-rh,#view-reception,
      #view-capacitacao,#view-intranet,#view-ubs-intranet,#view-ubs-prontuario,
      #view-regulacao,#view-faturamento,#view-units,#view-sigtap) > .panel-container,
  :is(#view-master,#view-portal,#view-admin,#view-operator,#view-driver,
      #view-casaapoio,#view-transporte,#view-servidor,#view-rh,#view-reception,
      #view-capacitacao,#view-intranet,#view-ubs-intranet,#view-ubs-prontuario,
      #view-regulacao,#view-faturamento,#view-units,#view-sigtap) .panel-container{
    padding-left:12px !important;
    padding-right:12px !important;
    max-width:100% !important;
  }

  /* 2) Layout sidebar+conteudo vira coluna unica fluida em todos os paineis.
        (Nao mexe na largura da sidebar para nao quebrar os drawers de
         #view-intranet / #view-ubs-intranet.) */
  .intranet-grid{ grid-template-columns:1fr !important; gap:14px !important; }
}

/* Telas bem pequenas: aperta um pouco mais o respiro lateral */
@media (max-width: 480px){
  :is(#view-master,#view-portal,#view-admin,#view-operator,#view-driver,
      #view-casaapoio,#view-transporte,#view-servidor,#view-rh,#view-reception,
      #view-capacitacao,#view-intranet,#view-ubs-intranet,#view-ubs-prontuario,
      #view-regulacao,#view-faturamento,#view-units,#view-sigtap) .panel-container{
    padding-left:10px !important;
    padding-right:10px !important;
  }
}
/* === fim AJUSTES MOBILE 2026-06-17 === */


/* =========================================================================
   AJUSTES MOBILE 2 — "cara de app" (NAO afeta desktop)
   Adicionado por solicitacao do admin em 2026-06-17.
   Escopo: SOMENTE telas <= 768px. Acima disso (desktop) nada muda.
   Inclui: correcao do menu inacessivel + barra de navegacao inferior.
   Para reverter: remova este bloco e restaure os backups .bak-appnav-*.
   ========================================================================= */

/* Barra inferior fica OCULTA no desktop por padrao */
.mobile-bottomnav{ display:none; }

@media (max-width: 768px){

  /* 1) CORRECAO DO MENU INACESSIVEL
     As views tem um transform (residuo de animacao) que quebra o
     position:fixed dos filhos, jogando o botao do menu e a gaveta para
     fora da tela. Neutralizar o transform no mobile cola tudo na viewport. */
  .view-section.active{ transform:none !important; }

  /* O botao-handle flutuante do menu nao e mais necessario: a barra
     inferior ("Paineis") passa a abrir a gaveta. */
  #view-intranet .intranet-menu-handle{ display:none !important; }

  /* Gaveta de navegacao com leve sombra de app */
  #view-intranet .intranet-sidebar{ box-shadow:0 10px 40px rgba(0,0,0,.28); }

  /* 2) BARRA DE NAVEGACAO INFERIOR (so aparece na home da intranet) */
  body:has(#view-intranet.active){ padding-bottom:66px !important; }

  body:has(#view-intranet.active) .mobile-bottomnav{
    display:flex;
    position:fixed; left:0; right:0; bottom:0; z-index:2000;
    background:#fff;
    border-top:1px solid #e6e9e2;
    box-shadow:0 -6px 20px rgba(39,49,22,.10);
    padding:6px 6px calc(6px + env(safe-area-inset-bottom, 0px));
    justify-content:space-around; align-items:stretch;
  }

  .mobile-bottomnav button{
    flex:1;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:3px;
    background:none; border:0; cursor:pointer;
    padding:6px 4px; min-height:52px;
    color:#6d7266; font:600 11px/1 inherit;
    -webkit-tap-highlight-color:transparent;
  }
  .mobile-bottomnav button svg{ width:23px; height:23px; }
  .mobile-bottomnav button:active{ color:#394820; transform:scale(.94); }
  .mobile-bottomnav button:last-child{ color:#c0392b; } /* Sair em vermelho */

  /* Nunca mostrar a barra na tela de login */
  body:has(#view-login.active) .mobile-bottomnav{ display:none !important; }
}
/* === fim AJUSTES MOBILE 2 (cara de app) 2026-06-17 === */


/* =========================================================================
   AJUSTES MOBILE 3 — visual de app (home da intranet) — NAO afeta desktop
   Adicionado por solicitacao do admin em 2026-06-17 (referencia enviada).
   Escopo: SOMENTE telas <= 768px. Acima disso (desktop) nada muda.
   Redesenha header, cards de aviso e a barra inferior para visual de app.
   Para reverter: remova este bloco e restaure os backups .bak-appui-*.
   ========================================================================= */
@media (max-width: 768px){

  /* ===== HEADER ROXO (saudacao + busca + acoes) ===== */
  #view-intranet .intranet-header{
    position:relative;
    background:linear-gradient(160deg,#2d3919 0%,#415027 55%,#556736 100%) !important;
    border-radius:0 0 26px 26px !important;
    padding:16px 16px 20px !important; gap:14px !important;
  }
  #view-intranet #intranet-perm-badge{ display:none !important; } /* esconde "13/13 paineis" */
  #view-intranet .intranet-header-brand{ padding-right:72px !important; } /* espaco p/ o Sair */

  /* busca: pilula branca */
  #view-intranet .intranet-header-search{
    background:#fff !important; border-radius:14px !important; border:0 !important;
    padding:11px 14px !important; box-shadow:0 4px 14px rgba(0,0,0,.12) !important;
  }
  #view-intranet .intranet-header-search input{ font-size:14px !important; }

  /* acoes como pilulas */
  #view-intranet .intranet-header-actions{ position:static !important; gap:8px !important; flex-wrap:wrap !important; }
  #view-intranet .intranet-header-actions .btn{
    border-radius:999px !important; font-weight:700 !important; font-size:12.5px !important;
    padding:8px 14px !important; border:1px solid rgba(255,255,255,.28) !important;
    background:rgba(255,255,255,.14) !important; color:#fff !important;
  }
  #view-intranet .intranet-header-actions .btn-primary{ /* Novo aviso = dourado */
    background:linear-gradient(180deg,#ffcb3d,#f5a700) !important; color:#5a3b00 !important; border:0 !important;
    box-shadow:0 4px 12px rgba(245,167,0,.35) !important;
  }
  #view-intranet .intranet-header-actions .btn-danger{ /* Sair = pilula vermelha topo-direito */
    position:absolute !important; top:14px; right:14px;
    background:linear-gradient(180deg,#ef5a45,#df3b25) !important; color:#fff !important; border:0 !important;
    border-radius:999px !important; padding:9px 16px !important; box-shadow:0 4px 12px rgba(223,59,37,.35) !important;
  }

  /* ===== CARDS DE AVISO ===== */
  #view-intranet .intranet-notice{
    background:#fff !important; border:1px solid #e4e7df !important;
    border-left:5px solid #415027 !important; border-radius:16px !important;
    box-shadow:0 6px 20px rgba(39,49,22,.08) !important; padding:16px !important; margin-bottom:14px !important;
  }
  #view-intranet .intranet-notice.intranet-style-urgent  { border-left-color:#f0892f !important; }
  #view-intranet .intranet-notice.intranet-style-standard{ border-left-color:#415027 !important; }
  #view-intranet .intranet-notice.intranet-style-info    { border-left-color:#2b92b5 !important; }
  #view-intranet .intranet-notice-title{ font-size:1rem !important; color:#1e2511 !important; }

  /* tags (pilulas) */
  #view-intranet .intranet-notice .meta{ gap:7px !important; flex-wrap:wrap !important; align-items:center; }
  #view-intranet .intranet-notice .meta > span{
    border-radius:999px !important; padding:4px 10px !important; font-size:11px !important;
    font-weight:700 !important; line-height:1.4 !important;
  }
  #view-intranet .intranet-notice .meta > span:not(.notice-pill){ /* data / autor = neutro */
    background:#f0f2ed !important; color:#5d6155 !important; border:1px solid #dde0d7 !important;
  }
  #view-intranet .notice-pill-pin{ background:#f0f2ee !important; color:#4a4f41 !important; border:1px solid #d7dbd0 !important; } /* FIXADO */
  #view-intranet .intranet-style-urgent   .notice-pill-style{ background:#fff2e8 !important; color:#c2531a !important; border:1px solid #f6cba6 !important; } /* Urgente */
  #view-intranet .intranet-style-standard .notice-pill-style{ background:#eef2fb !important; color:#2a5bbf !important; border:1px solid #cdd9f3 !important; } /* Padrao */
  #view-intranet .intranet-style-info     .notice-pill-style{ background:#e6f6fb !important; color:#1583a5 !important; border:1px solid #bce6f1 !important; } /* Informativo */

  /* botoes Editar / Ler completo = pilula contornada roxa */
  #view-intranet .intranet-notice-edit, #view-intranet .intranet-notice-open{
    border-radius:999px !important; border:1.5px solid #c5ccb8 !important; background:#fff !important;
    color:#415027 !important; font-weight:700 !important; padding:7px 14px !important; font-size:12.5px !important;
  }

  /* ===== BARRA INFERIOR: estado ativo + selo de notificacoes ===== */
  .mobile-bottomnav button{ position:relative; color:#8c9182 !important; }
  .mobile-bottomnav button.is-active{ color:#4b6027 !important; }
  .mobile-bottomnav button.is-active svg{ stroke:#4b6027; }
  .bn-badge{
    position:absolute; top:2px; left:calc(50% + 6px); min-width:16px; height:16px; padding:0 4px;
    background:#e53935; color:#fff; font-size:10px; font-weight:800; border-radius:999px;
    display:flex; align-items:center; justify-content:center; line-height:1;
  }
  .bn-badge[hidden]{ display:none; }

  /* sino flutuante escondido (notificacoes ficam no item "Avisos") */
  #app-notif-toggle{ display:none !important; }
}
/* === fim AJUSTES MOBILE 3 (visual app) 2026-06-17 === */


/* =========================================================================
   AJUSTES MOBILE 3.1 — refinamentos da home (feedback do admin) — so mobile
   2026-06-17. Header full-bleed, logo/fonte menores, 3 botoes lado a lado,
   tela preenchida. Escopo: <= 768px. Desktop intocado.
   ========================================================================= */
@media (max-width: 768px){
  /* full-bleed: header ocupa a largura toda; conteudo com margem pequena */
  #view-intranet.view-section{ padding-left:0 !important; padding-right:0 !important; }
  #view-intranet .panel-container{ padding-left:0 !important; padding-right:0 !important; }
  #view-intranet .intranet-grid{ padding:0 12px !important; }
  #view-intranet .intranet-header{ border-radius:0 0 24px 24px !important; padding:16px 16px 18px !important; }

  /* logo + fontes do cabecalho menores (mais perto da referencia) */
  #view-intranet .intranet-header-logo{ width:38px !important; height:38px !important; min-width:38px !important; border-radius:11px !important; }
  #view-intranet .intranet-header-title{ font-size:1.15rem !important; line-height:1.18 !important; }
  #view-intranet .intranet-header-kicker{ font-size:9.5px !important; letter-spacing:.5px !important; }
  #view-intranet .intranet-header-sub{ font-size:12px !important; }

  /* 3 botoes (Unidades / Atualizar / Novo aviso) lado a lado, iguais */
  #view-intranet .intranet-header-actions{
    display:grid !important; grid-template-columns:repeat(3, minmax(0,1fr)) !important;
    gap:8px !important; align-items:stretch !important;
  }
  #view-intranet .intranet-header-actions .btn{
    flex:none !important; width:100% !important; min-width:0 !important;
    padding:9px 4px !important; font-size:11px !important; gap:4px !important; justify-content:center !important;
  }
  #view-intranet .intranet-header-actions .btn-danger{ width:auto !important; } /* Sair continua absoluto no topo */
}
/* === fim AJUSTES MOBILE 3.1 2026-06-17 === */


/* =========================================================================
   AJUSTES MOBILE 3.2 — correcao: abrir menu/notificacoes no mobile
   2026-06-17. (1) stopPropagation nos botoes Paineis/Avisos esta no index.html
   (clique abria e o handler de fechar-ao-clicar-fora fechava na hora).
   (2) Painel de notificacoes vira folha fixa acima da barra (estava ancorado
   no sino oculto e abria fora da tela). Escopo: <= 768px. Desktop intocado.
   ========================================================================= */
@media (max-width: 768px){
  .app-notif-panel{
    position:fixed !important;
    left:12px !important; right:12px !important;
    top:auto !important; bottom:74px !important;
    width:auto !important; max-width:none !important;
    max-height:60vh !important; overflow:auto !important;
    z-index:2100 !important;
    border-radius:16px !important;
    box-shadow:0 12px 40px rgba(0,0,0,.28) !important;
  }
}
/* === fim AJUSTES MOBILE 3.2 2026-06-17 === */


/* =========================================================================
   AJUSTES MOBILE 3.3 — largura dos cards de aviso (feedback do admin)
   2026-06-17. Os cards .intranet-notice ficavam estreitos por estarem
   aninhados no card "Avisos internos" (.intranet-card) com padding grande.
   Reduz o padding lateral do container e do grid para os cards de aviso
   ficarem largos (margem ~16px), como na referencia. So mobile.
   ========================================================================= */
@media (max-width: 768px){
  #view-intranet .intranet-grid{ padding-left:8px !important; padding-right:8px !important; }
  #view-intranet .intranet-card{ padding-left:8px !important; padding-right:8px !important; }
}
/* === fim AJUSTES MOBILE 3.3 2026-06-17 === */


/* =========================================================================
   Modal "Solicitação" (visualizar abertura de agenda) — visual modernizado
   + seção de comentários. Adicionado 2026-06-18. Aplica-se a desktop e mobile.
   ========================================================================= */
.agv { display:flex; flex-direction:column; gap:16px; }

/* Cabeçalho */
.agv-hero {
  background:linear-gradient(160deg,#f2f4ef 0%, #edf0e8 100%);
  border:1px solid #e3e7dc; border-radius:16px; padding:16px 18px;
}
.agv-hero-top { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:10px; }
.agv-status {
  display:inline-flex; align-items:center; gap:6px;
  background:var(--c,#778165); color:#fff; font-weight:700; font-size:.78rem;
  padding:5px 12px; border-radius:999px; white-space:nowrap;
}
.agv-status i { width:14px; height:14px; }
.agv-title { margin:0; font-size:1.15rem; color:#1e2511; font-weight:800; line-height:1.2; }
.agv-chips { display:flex; flex-wrap:wrap; gap:8px; }
.agv-chip {
  display:inline-flex; align-items:center; gap:6px;
  background:#fff; border:1px solid #dde0d7; color:#4a4f41;
  font-size:.8rem; font-weight:600; padding:6px 11px; border-radius:999px;
}
.agv-chip i { width:14px; height:14px; color:#778165; }
.agv-ret {
  display:flex; gap:10px; align-items:flex-start; margin-top:12px;
  background:#fdecec; border:1px solid #f6c9c7; color:#a3322d;
  border-radius:12px; padding:10px 12px; font-size:.85rem;
}
.agv-ret i { width:16px; height:16px; flex:none; margin-top:2px; }

/* Seções */
.agv-section {
  background:#fff; border:1px solid #e4e7df; border-radius:16px;
  box-shadow:0 4px 16px rgba(39,49,22,.05); padding:14px 16px;
}
.agv-section-title {
  display:flex; align-items:center; gap:8px;
  font-weight:800; font-size:.92rem; color:#1e2511; margin-bottom:12px;
}
.agv-section-title i { width:17px; height:17px; color:#778165; }
.agv-total-vagas {
  margin-left:auto; background:#e9eee2; color:#394820;
  font-weight:800; font-size:.74rem; letter-spacing:.01em;
  padding:3px 12px; border-radius:20px; white-space:nowrap;
}
.agv-changelog { border-color:#f4d9a8; background:#fffaf0; box-shadow:0 4px 16px rgba(180,120,20,.06); }
.agv-changelog .agv-section-title { color:#9a6a10; margin-bottom:8px; }
.agv-changelog .agv-section-title i { color:#c8860e; }
.agv-changelog-body { color:#363b2f; font-size:.9rem; line-height:1.5; white-space:pre-wrap; word-break:break-word; }
.agv-changelog-meta { color:#8c9182; font-size:.74rem; margin-top:8px; }
/* Cards de diff (antes→depois) por profissional */
.agv-diff-cards { display:flex; flex-direction:column; gap:8px; }
.agv-diff-card { border:1px solid #f0e3c8; border-left:4px solid #c8860e; border-radius:12px; padding:10px 12px; background:#fffdf7; }
.agv-diff-card.status-added { border-left-color:#2e9e5b; }
.agv-diff-card.status-removed { border-left-color:#dc4c46; }
.agv-diff-card .agv-prof-name { display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-weight:800; color:#1e2511; font-size:.95rem; }
.agv-diff-tag { font-size:.64rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; padding:2px 8px; border-radius:999px; }
.agv-diff-tag.tag-chg { background:#fdeccb; color:#9a6a10; }
.agv-diff-tag.tag-add { background:#d8f3e2; color:#1f7a44; }
.agv-diff-tag.tag-rem { background:#fbdcda; color:#b32d27; }
.agv-diff-rows { display:flex; flex-direction:column; gap:7px; margin-top:9px; }
.agv-diff-row { display:flex; flex-direction:column; gap:2px; }
.agv-diff-label { font-weight:800; color:#8a6a3a; font-size:.7rem; text-transform:uppercase; letter-spacing:.03em; }
.agv-diff-change { display:flex; flex-wrap:wrap; align-items:center; gap:7px; font-size:.86rem; }
.agv-diff-old { color:#8c9182; text-decoration:line-through; }
.agv-diff-new { color:#1f7a44; font-weight:700; }
.agv-diff-arrow { color:#c8860e; font-weight:800; }
.agv-diff-days { font-size:.84rem; color:#363b2f; margin-top:6px; }
.agv-diff-removed { font-size:.84rem; color:#b32d27; margin-top:6px; }

/* Profissionais */
.agv-profs { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:10px; }
.agv-prof-card { border:1px solid #e3e7dc; border-left:4px solid #778165; border-radius:12px; padding:10px 12px; background:#f7f8f5; }
.agv-prof-name { font-weight:800; color:#1e2511; font-size:.95rem; }
.agv-prof-meta { font-size:.8rem; color:#5d6155; margin-top:2px; }
.agv-prof-times { display:flex; flex-wrap:wrap; gap:5px; margin-top:8px; }
.agv-prof-times span {
  background:#e7ebe1; color:#495339; font-size:.72rem; font-weight:700;
  padding:3px 8px; border-radius:6px;
}

/* Comentários */
.agv-comments { display:flex; flex-direction:column; gap:10px; max-height:300px; overflow:auto; margin-bottom:12px; }
.agv-comment { background:#f4f6f1; border:1px solid #e3e7dc; border-radius:12px; padding:10px 12px; }
.agv-comment-head { display:flex; justify-content:space-between; align-items:baseline; gap:8px; margin-bottom:4px; }
.agv-comment-head strong { color:#1e2511; font-size:.85rem; }
.agv-comment-head span { color:#8c9182; font-size:.72rem; white-space:nowrap; }
.agv-comment-body { color:#363b2f; font-size:.88rem; white-space:pre-wrap; word-break:break-word; }
.agv-comment-add { display:flex; gap:8px; align-items:flex-end; }
.agv-comment-add textarea {
  flex:1; resize:vertical; min-height:42px; border:1px solid #c5ccb8; border-radius:12px;
  padding:9px 12px; font:inherit; font-size:.9rem; color:#1e2511; background:#fff;
}
.agv-comment-add textarea:focus { outline:none; border-color:#778165; box-shadow:0 0 0 3px rgba(119,129,101,.18); }
.agv-comment-add .btn { white-space:nowrap; }

@media (max-width: 768px){
  .agv-profs { grid-template-columns:1fr; }
  .agv-comment-add { flex-direction:column; align-items:stretch; }
  .agv-comment-add .btn { width:100%; justify-content:center; }
}
/* === fim modal Solicitação (agv) 2026-06-18 === */


/* =========================================================================
   Redesign do modal de tarefa do Kanban (openTaskTreat) — 2026-06-18.
   Reusa as classes .agv-* (hero/section/chips/comment) + extras abaixo.
   ========================================================================= */
.agv-desc { margin-top:10px; color:#363b2f; font-size:.9rem; white-space:pre-wrap; word-break:break-word; }
.agv-updated { margin-top:10px; color:#8c9182; font-size:.75rem; }
.agv-chip.is-overdue { background:#fdecec !important; color:#c0392b !important; border-color:#f6c9c7 !important; }
.agv-chip.is-overdue i { color:#c0392b !important; }

.rtv-att-send { margin-top:-6px; }
.rtv-flow { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
.rtv-tools { display:flex; flex-wrap:wrap; gap:8px; padding-top:12px; border-top:1px solid #e9ece3; }

@media (max-width: 768px){
  .rtv-flow .btn, .rtv-tools .btn { flex:1 1 auto; justify-content:center; }
}
/* === fim redesign modal de tarefa (rtv) 2026-06-18 === */


/* =========================================================================
   Polimento visual do Kanban da Regulação — 2026-06-18.
   Selects estilizados, cards do board mais limpos (brancos + hover),
   cards de Categorias mais largos (2 colunas).
   ========================================================================= */

/* ---- Selects (departamento e filtro de prioridade) ---- */
#view-regulacao .reg-task-department-select select,
#view-regulacao .reg-task-filter-prio select{
  -webkit-appearance:none !important; appearance:none !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238a74a1' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important; background-position:right 12px center !important; background-size:14px !important;
  padding:8px 34px 8px 14px !important; height:42px !important;
  border:1.5px solid #d6dacf !important; border-radius:12px !important; background-color:#fff !important;
  font-weight:700 !important; color:#1e2511 !important; cursor:pointer; font-size:14px !important;
}
#view-regulacao .reg-task-department-select select:focus,
#view-regulacao .reg-task-filter-prio select:focus{
  outline:none !important; border-color:#778165 !important; box-shadow:0 0 0 3px rgba(119,129,101,.18) !important;
}

/* ---- Cards do quadro ---- */
#view-regulacao .reg-task-card{
  background:#fff !important;
  box-shadow:0 2px 10px rgba(39,49,22,.06) !important;
  transition:transform .12s ease, box-shadow .12s ease;
}
#view-regulacao .reg-task-card:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(39,49,22,.12) !important;
}

/* ---- Cards de Categorias mais largos (2 colunas) ---- */
#view-regulacao .reg-cat-list{ columns:460px 2 !important; }

@media (max-width: 768px){
  #view-regulacao .reg-cat-list{ columns:1 !important; }
}
/* ---- Dropdown customizado de departamento (lista estilizada) ---- */
#view-regulacao .reg-dept-dd{ position:relative; display:inline-flex; flex-direction:column; gap:4px; min-width:240px; }
#view-regulacao .reg-dept-dd-label{ font-size:.72rem; font-weight:800; color:#8c9182; text-transform:uppercase; letter-spacing:.4px; }
#view-regulacao .reg-dept-dd-btn{
  display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%;
  height:42px; padding:8px 14px; border:1.5px solid #d6dacf; border-radius:12px; background:#fff;
  color:#1e2511; font-weight:700; font-size:14px; cursor:pointer;
}
#view-regulacao .reg-dept-dd-btn:hover{ border-color:#b9c0ad; }
#view-regulacao .reg-dept-dd-cur{ display:inline-flex; align-items:center; gap:8px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#view-regulacao .reg-dept-dd-cur i{ width:16px; height:16px; color:#778165; flex:none; }
#view-regulacao .reg-dept-dd-caret{ width:16px; height:16px; color:#778165; flex:none; transition:transform .15s ease; }
#view-regulacao .reg-dept-dd[data-open="true"] .reg-dept-dd-btn{ border-color:#778165; box-shadow:0 0 0 3px rgba(119,129,101,.18); }
#view-regulacao .reg-dept-dd[data-open="true"] .reg-dept-dd-caret{ transform:rotate(180deg); }
#view-regulacao .reg-dept-dd-menu{
  position:absolute; top:calc(100% + 6px); left:0; right:0; z-index:50;
  background:#fff; border:1px solid #e3e7dc; border-radius:14px; box-shadow:0 16px 40px rgba(39,49,22,.18);
  padding:6px; max-height:340px; overflow:auto;
}
#view-regulacao .reg-dept-dd-opt{
  display:flex; align-items:center; justify-content:space-between; gap:8px; width:100%;
  text-align:left; padding:9px 12px; border:0; background:none; border-radius:9px;
  font-size:14px; color:#363b2f; font-weight:600; cursor:pointer;
}
#view-regulacao .reg-dept-dd-opt:hover{ background:#eff2eb; color:#394820; }
#view-regulacao .reg-dept-dd-opt.is-active{ background:#394820; color:#fff; }
#view-regulacao .reg-dept-dd-opt.is-active i{ width:15px; height:15px; flex:none; }
/* === fim polimento Kanban 2026-06-18 === */

