/* SVSEGUROS V600 · Fase 1: identidade, navegação e legibilidade
   Ambiente exclusivamente BETA V591. Camada CSS visual e reversível.
   Não altera cálculos, permissões, autenticação, regras, dados nem API. */

#app-view{
  --bg:#f3f5f9;
  --panel:#ffffff;
  --text:#172b4d;
  --muted:#68768a;
  --line:#e1e7ef;
  --primary:#b51f32;
  --primary-dark:#93192a;
  --danger:#b51f32;
  --ok:#168053;
  --warning:#986a0c;
  --shadow:0 8px 28px rgba(24,44,71,.055);
  color:#172b4d;
  background:#f3f5f9;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
@media (min-width:1025px){
  #app-view.app{grid-template-columns:232px minmax(0,1fr);}
  #app-view.v600-sidebar-compact.app{grid-template-columns:78px minmax(0,1fr);}
  #app-view .sidebar{width:232px;}
  #app-view.v600-sidebar-compact .sidebar{width:78px;padding-inline:10px;}
  #app-view.v600-sidebar-compact .sidebar .brand{padding-inline:0;}
  #app-view.v600-sidebar-compact .sidebar .sidebar-logo{width:54px!important;max-height:48px!important;}
  #app-view.v600-sidebar-compact #main-nav .nav-item{display:flex;justify-content:center;align-items:center;gap:0;padding-inline:8px;min-height:44px;}
  #app-view.v600-sidebar-compact #main-nav .nav-label{display:none!important;}
  #app-view.v600-sidebar-compact .v600-collapse-label{display:none;}
  #app-view.v600-sidebar-compact .v600-nav-collapse{justify-content:center;gap:0;}
  #app-view.v600-sidebar-compact .logout{font-size:0;overflow:hidden;text-align:center;}
  #app-view.v600-sidebar-compact .logout::first-letter{font-size:17px;}
}
#app-view .sidebar{
  border-right:1px solid #e4e9f0!important;
  background:#fff!important;
  color:#172b4d!important;
  box-shadow:3px 0 28px rgba(30,45,68,.025);
  padding:17px 12px 16px!important;
  min-width:0;
  overflow-y:auto;
  scrollbar-width:thin;
  scrollbar-color:#d8e0eb transparent;
}
#app-view .sidebar .brand{
  display:flex!important;
  justify-content:center!important;
  padding:12px 8px 18px!important;
  margin-bottom:12px;
  border-bottom:1px solid #e9edf3;
}
#app-view .sidebar .sidebar-logo{width:145px!important;height:70px!important;object-fit:contain!important;max-width:100%;}
#app-view #main-nav{display:grid;gap:3px;}
#app-view #main-nav .nav-item{
  display:flex;align-items:center;gap:11px;
  min-height:43px;
  border:1px solid transparent!important;
  border-radius:11px!important;
  padding:10px 12px!important;
  background:transparent!important;
  color:#34445b!important;
  font-size:13px!important;
  font-weight:620!important;
  text-align:left;
  box-shadow:none!important;
  transition:background-color .16s ease,color .16s ease,border-color .16s ease;
}
#app-view #main-nav .nav-item:hover{background:#f5f1f3!important;color:#a41a2c!important;}
#app-view #main-nav .nav-item.active{background:#b51f32!important;color:#fff!important;box-shadow:0 5px 11px rgba(181,31,50,.15)!important;}
#app-view #main-nav .nav-item .nav-icon{color:inherit!important;flex-shrink:0;}
#app-view #main-nav .nav-item svg{color:inherit!important;}
#app-view .logout{color:#596b7e!important;background:#f6f7f9!important;border:1px solid #e5e9ef!important;border-radius:10px!important;}
#app-view .v600-nav-collapse{
  width:100%;min-height:37px;display:flex;align-items:center;justify-content:center;gap:9px;
  border:1px solid #e3e8f0;border-radius:10px;
  background:#fff;color:#4f6075;cursor:pointer;font-weight:650;font-size:12px;
  margin:0 0 12px;
}
#app-view .v600-nav-collapse:hover{background:#f3f5f9;border-color:#ced7e5;}
#app-view .v600-nav-collapse .v600-collapse-chevron{font-size:22px;line-height:1;}
#app-view .v600-nav-collapse:focus-visible{outline:3px solid rgba(181,31,50,.3);outline-offset:2px;}
#app-view .content{min-width:0;padding:22px 30px 38px!important;background:transparent;}
#app-view .topbar{
  min-height:64px!important;
  padding:6px 0 17px!important;
  margin:0 0 20px!important;
  border-bottom:1px solid #e0e6ee;
  gap:16px;
}
/* Só o logótipo institucional do menu: remover repetição do cabeçalho. */
#app-view .topbar .sv-gestao-brand-logo{display:none!important;}
#app-view .topbar .sv-gestao-brand::after{display:none!important;content:none!important;}
#app-view .topbar .sv-gestao-brand{gap:0!important;}
#app-view .topbar .sv-gestao-brand-name{font-size:clamp(21px,2vw,27px)!important;letter-spacing:-.045em!important;color:#172b4d!important;font-weight:780!important;}
#app-view .topbar .sv-gestao-page-context{font-size:12px!important;margin-top:7px!important;}
#app-view .topbar .sv-gestao-page-context #page-title{color:#b51f32!important;}
#app-view .topbar .user-chip{margin-left:auto!important;border:1px solid #e3e8ee!important;background:#fff!important;color:#35465c!important;box-shadow:0 3px 10px rgba(23,43,77,.035);font-size:12px!important;max-width:40%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;}
#app-view .view-section{min-width:0;}
#app-view .panel,
#app-view .kpi,
#app-view .task-card,
#app-view .management-card{
  border:1px solid #e1e7ee!important;
  border-radius:16px!important;
  box-shadow:0 4px 22px rgba(23,43,77,.045)!important;
  background-color:#fff;
}
#app-view .panel-head{border-bottom-color:#edf0f5!important;}
#app-view .panel h3,#app-view .view-section h3{color:#1c2e4b;letter-spacing:-.025em;}
#app-view .dashboard-eyebrow{color:#7d8797!important;letter-spacing:.10em!important;font-weight:800!important;}
#app-view .toolbar{
  background:#fff;
  border:1px solid #e3e8ef;
  border-radius:15px;
  padding:11px 12px;
  box-shadow:0 3px 15px rgba(22,39,65,.032);
  align-items:center;
}
#app-view :is(input,select,textarea){accent-color:#b51f32;}
#app-view :is(.toolbar input,.toolbar select,.dashboard-quick-search input){border-color:#dce3ed!important;border-radius:11px!important;color:#172b4d;}
#app-view :is(input,select,textarea,button):focus-visible{outline:3px solid rgba(181,31,50,.27)!important;outline-offset:2px!important;}
#app-view :is(.primary,button.primary){background:#b51f32!important;color:#fff!important;border-radius:10px!important;box-shadow:0 3px 10px rgba(181,31,50,.11);}
#app-view :is(.primary,button.primary):hover{background:#991a2d!important;}
#app-view :is(.secondary,.filter,.client-status-filter-btn){border-radius:10px;}
#app-view .table-panel{border-radius:15px!important;}
#app-view .table-panel table{border-collapse:separate;border-spacing:0;}
#app-view .table-panel th{
  position:sticky;top:0;z-index:2;
  color:#68778c!important;background:#f8f9fc!important;
  font-size:10px!important;font-weight:820!important;letter-spacing:.075em!important;
  white-space:nowrap;border-bottom:1px solid #e5eaf0!important;
}
#app-view .table-panel td{border-bottom:1px solid #edf1f5!important;color:#253954;}
#app-view .table-panel tbody tr:hover td{background:#f7f9fc;}
#app-view .table-panel tbody tr:last-child td{border-bottom:0!important;}
#app-view .client-status-filter-btn.active{background:#fcecef!important;color:#a31a2d!important;}
#app-view #dashboard .dashboard-heading-row{margin-bottom:16px;}
#app-view #dashboard .dashboard-heading-row h3{font-size:clamp(22px,2.4vw,27px)!important;}
#app-view #dashboard .dashboard-operational-panel-v519{box-shadow:0 5px 24px rgba(23,43,77,.05)!important;padding:16px 18px!important;border-radius:18px!important;}
#app-view #dashboard .dashboard-operational-panel-v519>.panel-head h3{font-size:18px!important;}
/* Tornar o velocímetro secundário, sem alterar a sua percentagem nem algoritmo. */
#app-view #dashboard .dashboard-health-gauge-wrap{min-height:242px!important;}
#app-view #dashboard .dashboard-health-gauge-v478{height:208px!important;max-width:360px!important;}
#app-view #dashboard .dashboard-financial-grid{gap:12px;}
#app-view #dashboard .dashboard-quick-search-box{border-radius:13px!important;border-color:#dde4ed!important;box-shadow:0 2px 8px rgba(25,48,80,.025);}
#app-view #clientes .toolbar{gap:12px;}
#app-view #clientes .toolbar input{flex:1 1 300px;min-width:160px;}
#app-view #clientes .toolbar-right{flex-wrap:wrap;justify-content:flex-end;}
#app-view #apolices .table-panel,#app-view #recibos .table-panel{box-shadow:0 4px 22px rgba(23,43,77,.045);}
#app-view #cotacoes .panel,#app-view #contabilidade .panel{border-color:#e2e8f0!important;}
#app-view #agenda .agenda-toolbar{border-radius:14px;border-color:#e2e8f0;}
#app-view #tarefas .task-board{gap:12px;}
/* Modais e diálogos: cabeçalho/rodapé não desaparecem ao rolar o conteúdo. */
#app-view dialog:not([class*="calendar"]){border:1px solid #e1e7ee;border-radius:19px!important;box-shadow:0 26px 85px rgba(17,35,62,.22)!important;max-width:calc(100vw - 28px);}
#app-view dialog::backdrop{background:rgba(16,32,56,.50)!important;backdrop-filter:blur(2px);}
#app-view dialog .modal-head{position:sticky;top:0;z-index:5;background:#fff;border-bottom:1px solid #edf0f5;}
#app-view dialog .modal-actions{position:sticky;bottom:0;z-index:5;background:#fff;border-top:1px solid #edf0f5;}
@media (max-width:1024px){
  #app-view .v600-nav-collapse{display:none!important;}
  #app-view .content{padding:18px 18px 28px!important;}
  #app-view .topbar{min-height:60px!important;}
  #app-view .sidebar{width:auto;}
}
@media (max-width:700px){
  #app-view .content{padding:12px 12px 22px!important;}
  #app-view .topbar{gap:8px;padding-bottom:10px!important;min-height:54px!important;}
  #app-view .topbar .sv-gestao-brand-name{font-size:19px!important;}
  #app-view .topbar .user-chip{max-width:44%;font-size:10px!important;}
  #app-view .toolbar{padding:10px;flex-wrap:wrap;}
  #app-view #dashboard .dashboard-health-gauge-wrap{min-height:230px!important;}
  #app-view #dashboard .dashboard-health-gauge-v478{height:208px!important;}
  #app-view .table-panel th,#app-view .table-panel td{padding:11px 10px;}
}
@media (prefers-reduced-motion:reduce){
  #app-view #main-nav .nav-item{transition:none!important;}
}

/* V600 B2 | Lote de melhorias visuais sobre a BETA V591.
   Conserva os dados e eventos originais: apenas aparência e menu local. */
#app-view .topbar .v600-nav-collapse{
  width:auto!important;flex:0 0 auto;min-width:132px;
  padding:7px 11px;margin:0 12px 0 auto!important;
  border-color:#e3e8ef!important;color:#47566f!important;
  white-space:nowrap;font-size:12px!important;
}
#app-view .topbar .v600-nav-collapse + .user-chip{margin-left:0!important;}
#app-view .topbar .v600-nav-collapse .v600-collapse-chevron{
  display:grid;place-items:center;width:18px;height:20px;
  font-weight:900;font-size:19px;
}
#app-view .v600-sidebar-compact .brand{padding:9px 0 13px!important;}
#app-view.v600-sidebar-compact #main-nav .nav-item{position:relative;}
#app-view.v600-sidebar-compact #main-nav .nav-item .nav-icon{margin-inline:auto;}
/* A barra do velocímetro V591 usa um SVG de 190px e centro próprio:
   não reduzir o seu contêiner abaixo de 208px. */
#app-view #dashboard .dashboard-health-gauge-wrap{
  min-height:242px!important;display:flex;flex-direction:column;
  justify-content:center!important;align-items:center!important;
  overflow:visible!important;
}
#app-view #dashboard .dashboard-health-gauge-v478{
  height:208px!important;width:100%;max-width:360px!important;
  flex:0 0 208px;overflow:hidden;
}
#app-view #dashboard .dashboard-health-top{align-items:stretch!important;}
#app-view #dashboard .dashboard-health-summary{min-width:0!important;}
#app-view #dashboard .dashboard-health-chip{
  border-color:#e1e9e8!important;box-shadow:0 2px 10px rgba(25,45,65,.02)!important;
}
#app-view #dashboard .dashboard-operational-panel-v519{
  background:#fff!important;
  border:1px solid #e1e7ef!important;
}
#app-view #dashboard .dashboard-operational-panel-v519 .panel-head{
  padding-bottom:11px!important;
}
/* Estrutura transversal: mesmas margens, inputs e ações em módulos operacionais. */
#app-view :is(#clientes,#apolices,#recibos,#cotacoes,#tarefas,#agenda,#sinistros,#contabilidade) > .toolbar{
  margin-bottom:13px!important;
}
#app-view :is(#clientes,#apolices,#recibos,#cotacoes) > .toolbar{
  gap:10px!important;min-height:59px;
}
#app-view :is(#clientes,#apolices,#recibos,#cotacoes) .table-panel{
  background:#fff!important;border:1px solid #e2e8f0!important;
  border-radius:15px!important;overflow:auto;
}
#app-view :is(#clientes,#apolices,#recibos,#cotacoes) .table-panel table{
  min-width:680px;width:100%;
}
#app-view :is(#clientes,#apolices,#recibos,#cotacoes) .table-panel th{
  padding:13px 11px!important;
}
#app-view :is(#clientes,#apolices,#recibos,#cotacoes) .table-panel td{
  padding:13px 11px!important;font-size:12px;
}
#app-view :is(#clientes,#apolices,#recibos,#cotacoes) .table-panel tbody tr:hover td{
  background:#f6f9fc!important;
}
#app-view #clientes .toolbar{display:flex;align-items:center!important;flex-wrap:wrap;}
#app-view #clientes .toolbar-right{gap:7px;max-width:100%;}
#app-view #clientes .toolbar input{width:auto;max-width:100%;flex:1 1 330px;}
#app-view #clientes .table-panel tbody td:first-child,
#app-view #apolices .table-panel tbody td:first-child{font-weight:650;}
#app-view #clientes .table-panel tbody td:last-child{white-space:nowrap;}
#app-view #clientes .client-status-filter-btn{min-height:31px;}
#app-view :is(#apolices,#recibos,#cotacoes) .toolbar :is(input,select){
  min-height:38px!important;
}
#app-view #tarefas .task-board{row-gap:12px;}
#app-view #tarefas .task-card{border-radius:15px!important;}
#app-view #agenda .agenda-toolbar{background:#fff!important;padding:12px!important;box-shadow:0 3px 14px rgba(17,37,63,.03)!important;}
#app-view #sinistros .panel,#app-view #contabilidade .panel{min-width:0;}
#app-view :is(.management-card,.retention-kpi,.retention-history-card){border-radius:14px!important;}
/* Modais: evitar que cabeçalhos e botões se sobreponham aos dados. */
#app-view dialog{color:#172b4d;max-width:min(1200px,calc(100vw - 28px));}
#app-view dialog .modal-head{box-shadow:0 2px 8px rgba(20,40,60,.02);}
#app-view dialog .modal-actions{box-shadow:0 -2px 8px rgba(20,40,60,.03);}
#app-view dialog :is(input,select,textarea){border-radius:10px;}
#app-view dialog :is(button,.primary,.secondary){min-height:34px;}
@media(min-width:1025px){
 #app-view #dashboard .dashboard-health-top{
   grid-template-columns:minmax(360px,.92fr) minmax(0,1.6fr)!important;
 }
}
@media(max-width:1150px){
 #app-view #dashboard .dashboard-health-top{grid-template-columns:1fr!important;}
 #app-view #dashboard .dashboard-health-gauge-wrap{min-height:225px!important;}
 #app-view #clientes .toolbar-right{flex-wrap:wrap;}
}
@media(max-width:1024px){
 #app-view .topbar .v600-nav-collapse{display:none!important;}
}
@media(max-width:700px){
 #app-view #dashboard .dashboard-health-gauge-wrap{min-height:225px!important;}
 #app-view #dashboard .dashboard-health-gauge-v478{height:208px!important;}
 #app-view :is(#clientes,#apolices,#recibos,#cotacoes) .table-panel{overflow-x:auto;}
 #app-view #clientes .toolbar input{flex-basis:100%;}
 #app-view #clientes .toolbar-right{width:100%;justify-content:space-between;}
 #app-view #agenda .agenda-toolbar{padding:10px!important;}
}

/* ================================================================
 SVSEGUROS V600 · B3 (2026-10-12)
 Adenda visual aos 6 módulos; NÃO altera dados, API ou permissões.
 Seletores baseados no index.html e app-v591 originais da BETA.
 ================================================================ */
/* Segurança visual: um diálogo modal ativo não pode ficar oculto
   atrás do chat flutuante. A conversa mantém-se intacta e reaparece
   automaticamente ao fechar o diálogo. */
body:has(dialog[open]) #chat-floating-panel:not(.hidden),
body:has(dialog[open]) #chat-floating-launcher{
  visibility:hidden!important;pointer-events:none!important;
}
/* 01 — Agenda: janela de tarefa, ações sempre legíveis, sem cortes. */
#modal.v600-agenda-task-dialog[open]{
  width:min(950px,calc(100vw - 32px))!important;
  max-width:950px!important;
  max-height:calc(100dvh - 36px)!important;
  padding:0!important;overflow:hidden!important;
  border-radius:20px!important;background:#fff!important;
}
#modal.v600-agenda-task-dialog[open] #modal-form{
  display:flex!important;flex-direction:column!important;
  width:100%;max-height:calc(100dvh - 36px)!important;
  min-height:0;min-width:0;
}
#modal.v600-agenda-task-dialog[open] .modal-head{
  flex:0 0 auto;display:flex;gap:12px;align-items:center;
  border-bottom:1px solid #e6eaf1;padding:17px 20px;
  background:#fff;z-index:2;
}
#modal.v600-agenda-task-dialog[open] .modal-head h3{
  flex:1;min-width:0;overflow-wrap:anywhere;color:#172b4d;font-size:18px;
}
#modal.v600-agenda-task-dialog[open] .modal-body{
  flex:1 1 auto;min-height:0;max-height:none!important;overflow-y:auto!important;
  overscroll-behavior:contain;padding:18px 20px!important;gap:14px;
}
#modal.v600-agenda-task-dialog[open] .modal-actions{
  flex:0 0 auto;display:flex;flex-wrap:wrap;justify-content:flex-end;
  padding:12px 20px!important;gap:8px;background:#fff!important;
  border-top:1px solid #e6eaf1;z-index:2;
}
#modal.v600-agenda-task-dialog[open] .task-history-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px!important;
}
#modal.v600-agenda-task-dialog[open] .task-history-grid>div{
  min-width:0;border:1px solid #e2e9f1;border-radius:11px;
  background:#f8fafc;padding:10px 12px;
}
#modal.v600-agenda-task-dialog[open] .task-history-grid strong{overflow-wrap:anywhere;}
#modal.v600-agenda-task-dialog[open] .treat-receipt-summary{
  border:1px solid #e0e7f0;background:#f9fbfd;border-radius:12px;padding:12px 14px;
  overflow-wrap:anywhere;min-width:0;
}
#modal.v600-agenda-task-dialog[open] .task-modal-quick-actions{
  position:sticky;bottom:-18px;z-index:1;display:flex!important;
  justify-content:flex-start!important;align-items:stretch;
  flex-wrap:wrap!important;gap:8px!important;
  background:rgba(255,255,255,.98);border-top:1px solid #e6eaf1;
  padding:12px 0 10px;margin:6px 0 0!important;
}
#modal.v600-agenda-task-dialog[open] .task-modal-quick-actions button{
  white-space:normal!important;min-width:112px;max-width:100%;
  min-height:42px!important;padding:9px 13px!important;line-height:1.3;
  border-radius:10px!important;overflow-wrap:anywhere;
}
#modal.v600-agenda-task-dialog[open] .task-modal-quick-actions .task-conclude-btn{
  background:#b51f32!important;color:#fff!important;
  flex:0 0 auto;
}
#modal.v600-agenda-task-dialog[open] .modal-actions button{white-space:normal!important;min-width:96px;}
/* 02 — Utilizadores: sem ocultar ações nem fingir controlo de permissões. */
#app-view #utilizadores>.toolbar{justify-content:flex-end;align-items:center;}
#app-view #utilizadores>.panel{overflow-x:auto!important;overscroll-behavior-x:contain;}
#app-view #utilizadores>.panel table{min-width:900px;border-collapse:separate;border-spacing:0;}
#app-view #utilizadores>.panel th{
  background:#f7f9fc;color:#5c6b82;font-size:10px;
  font-weight:800;letter-spacing:.07em;
}
#app-view #utilizadores>.panel td{vertical-align:middle;border-bottom:1px solid #e9eef5;}
#app-view #utilizadores>.panel td:first-child{font-weight:760;color:#1c2e4b;}
#app-view #utilizadores>.panel td:nth-child(2){overflow-wrap:anywhere;}
#app-view #utilizadores>.panel td:last-child{min-width:340px;max-width:420px;}
#app-view #utilizadores .user-actions{
  display:flex!important;flex-wrap:wrap!important;align-items:center;
  gap:6px!important;white-space:normal!important;
}
#app-view #utilizadores .user-actions button{
  min-height:34px;max-width:100%;white-space:normal;
  font-size:11px!important;padding:7px 10px!important;
  border-radius:9px!important;
}
#app-view #utilizadores .user-actions .cancel-account-btn{
  background:#fff8f8!important;border:1px solid #e6babe!important;
  color:#ae2335!important;margin-left:0;
}
#app-view #utilizadores .user-actions button:disabled{opacity:.55;cursor:not-allowed;}
/* 03 — Importações: cinco tipos e pré-visualização já existentes. */
#app-view #importacoes .import-intro{
  padding:18px 20px!important;border-radius:15px!important;
  align-items:center;gap:18px;
}
#app-view #importacoes .import-intro h3{font-size:18px;line-height:1.3;}
#app-view #importacoes .upload-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;
}
#app-view #importacoes .upload-card{
  min-width:0;padding:17px!important;border:1px solid #e0e7ef!important;
  border-radius:15px!important;box-shadow:0 4px 15px rgba(25,44,72,.035)!important;
}
#app-view #importacoes .upload-card .upload-icon{
  background:#eef3f9;color:#1f446f;border-radius:11px;
}
#app-view #importacoes .upload-card h3{font-size:16px;margin:10px 0 7px;}
#app-view #importacoes .upload-card p{min-height:0!important;font-size:12px;line-height:1.5;flex:1;}
#app-view #importacoes .upload-card .model-status{
  font-size:10px;white-space:normal;line-height:1.35;
}
#app-view #importacoes .upload-card .upload-trigger{
  width:100%;margin-top:12px;min-height:39px;color:#ad1d30;
  border:1px solid #eed9de;background:#fff5f6;
}
#app-view #importacoes .import-rules .rule-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
#app-view #importacoes .rule-grid>div{min-width:0;overflow-wrap:anywhere;}
#app-view #importacoes .import-row{align-items:flex-start;flex-wrap:wrap;overflow-wrap:anywhere;}
/* 04 — Digitalizar: reduzir vazio e evidenciar fila/ações originais. */
#app-view #digitalizar .digitalizar-panel{border-radius:16px!important;}
#app-view #digitalizar .digitalizar-upload-wrap{padding:0 18px 18px!important;}
#app-view #digitalizar .digitalizar-upload-card{
  min-height:180px!important;padding:22px 20px!important;
  border:2px dashed #cdd8e7!important;border-radius:14px!important;
  background:linear-gradient(180deg,#fff,#f8fafc)!important;
}
#app-view #digitalizar .digitalizar-upload-icon{
  width:42px;height:42px;margin-bottom:4px;
}
#app-view #digitalizar .digitalizar-upload-copy h4{font-size:17px;}
#app-view #digitalizar .digitalizar-upload-copy p{margin:4px 0 6px;font-size:12px;}
#app-view #digitalizar .digitalizar-auto-toolbar{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  background:#f8fafc;border:1px solid #e2e9f2;border-radius:12px;
  padding:13px 14px;
}
#app-view #digitalizar .digitalizar-auto-toggle{min-width:min(410px,100%);}
#app-view #digitalizar .digitalizar-auto-actions{
  display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end;
}
#app-view #digitalizar .digitalizar-auto-actions button{
  min-height:36px;white-space:normal!important;padding:8px 11px;
}
#app-view #digitalizar #digitalizar-file-list:not(.hidden),
#app-view #digitalizar #digitalizar-auto-overview:not(.hidden){
  margin-top:13px;border:1px solid #e3eaf1;border-radius:13px;
  background:#fff;overflow-wrap:anywhere;
}
/* 05 — Administração: compactar sem alterar ações sensíveis. */
#app-view #admin .admin-routines-heading{align-items:center;gap:14px;margin-bottom:14px;}
#app-view #admin .admin-routines-shell{max-width:1500px;min-width:0;}
#app-view #admin .admin-user-analysis-panel{
  border:1px solid #e1e7ef;border-radius:15px!important;
  box-shadow:0 3px 14px rgba(25,44,72,.025);
}
#app-view #admin .admin-user-analysis-head{gap:12px;align-items:flex-start;}
#app-view #admin .admin-user-analysis-head h3{font-size:17px;}
#app-view #admin .admin-routines-panel{border-radius:15px!important;}
#app-view #admin .admin-routine-option{min-width:0;overflow-wrap:anywhere;}
#app-view #admin .admin-analysis-auto-actions{display:flex;flex-wrap:wrap;gap:8px;}
#app-view #admin .admin-analysis-auto-actions :is(a,button){max-width:100%;white-space:normal;}
/* 06 — Chat: painel menos invasivo e colunas adaptáveis. */
#app-view #chat-floating-panel{
  width:min(595px,calc(100vw - 310px))!important;
  min-width:0!important;height:min(565px,calc(100dvh - 118px))!important;
  min-height:340px!important;border-radius:17px!important;
}
#app-view #chat-floating-panel .chat-layout{
  min-width:0;min-height:0;
}
#app-view #chat-floating-panel .chat-users-panel{
  min-width:0;max-width:205px;
}
#app-view #chat-floating-panel .chat-conversation-panel{min-width:0;}
#app-view #chat-floating-panel :is(.chat-conversation-user,.chat-users-list){min-width:0;}
#app-view #chat-floating-panel .chat-conversation-user strong{
  overflow-wrap:anywhere;white-space:normal;
}
#app-view #chat-floating-panel .chat-compose-row{min-width:0;}
#app-view #chat-floating-panel .chat-compose-row textarea{min-width:0;}
#app-view #chat-floating-panel .chat-empty-state{padding:18px;}
/* Regras responsivas: manter as ações visíveis e as tabelas com rolagem. */
@media(max-width:1250px){
 #app-view #importacoes .upload-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
 #app-view #chat-floating-panel{width:min(560px,calc(100vw - 40px))!important;}
}
@media(max-width:800px){
 #app-view #importacoes .upload-grid{grid-template-columns:1fr!important;}
 #app-view #importacoes .import-rules .rule-grid{grid-template-columns:1fr!important;}
 #app-view #importacoes .import-intro{flex-wrap:wrap;}
 #app-view #digitalizar .digitalizar-upload-card{min-height:175px!important;}
 #app-view #digitalizar .digitalizar-auto-actions{width:100%;justify-content:stretch;}
 #app-view #digitalizar .digitalizar-auto-actions button{flex:1 1 100px;}
 #app-view #chat-floating-panel{width:calc(100vw - 30px)!important;}
 #modal.v600-agenda-task-dialog[open] .task-history-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:560px){
 #modal.v600-agenda-task-dialog[open]{width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;}
 #modal.v600-agenda-task-dialog[open] #modal-form{max-height:calc(100dvh - 16px)!important;}
 #modal.v600-agenda-task-dialog[open] .modal-head{padding:13px 14px;}
 #modal.v600-agenda-task-dialog[open] .modal-body{padding:12px 14px!important;}
 #modal.v600-agenda-task-dialog[open] .task-history-grid{grid-template-columns:1fr;}
 #modal.v600-agenda-task-dialog[open] .task-modal-quick-actions{bottom:-12px;}
 #modal.v600-agenda-task-dialog[open] .task-modal-quick-actions button{flex:1 1 140px;}
 #modal.v600-agenda-task-dialog[open] .modal-actions{padding:11px 14px!important;}
 #app-view #utilizadores>.toolbar{flex-wrap:wrap;}
 #app-view #digitalizar .digitalizar-upload-wrap{padding:0 10px 12px!important;}
 #app-view #chat-floating-panel{width:calc(100vw - 20px)!important;min-height:0!important;height:min(600px,calc(100dvh - 95px))!important;}
}

/* SVSEGUROS V600 B4 — Barra de tarefas responsiva, exclusivamente visual.
   Corrige a grelha V488 que força seis colunas fixas e comprime os filtros. */
#app-view #tarefas .task-main-toolbar{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:10px 12px!important;
  align-items:center!important;
  padding:12px!important;
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
}
#app-view #tarefas .task-main-toolbar > *{box-sizing:border-box;min-width:0!important;max-width:100%!important;margin:0!important;}
#app-view #tarefas .task-status-filters{
  grid-column:span 3!important;display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:3px!important;width:100%!important;height:auto!important;min-height:44px!important;
  padding:4px!important;align-items:center!important;
}
#app-view #tarefas .task-status-filters .filter{
  display:inline-flex!important;justify-content:center!important;align-items:center!important;
  min-width:0!important;min-height:35px!important;height:auto!important;
  padding:7px 5px!important;gap:5px!important;font-size:12px!important;
  white-space:nowrap!important;
}
#app-view #tarefas .task-name-search{
  grid-column:span 5!important;width:100%!important;
  min-height:44px!important;height:44px!important;
}
#app-view #tarefas .task-name-search input{
  width:100%!important;min-width:0!important;max-width:100%!important;
  height:40px!important;font-size:13px!important;
}
#app-view #tarefas .task-treatment-filter{
  grid-column:span 2!important;width:100%!important;max-width:none!important;display:flex!important;
  height:44px!important;min-height:44px!important;gap:5px!important;
}
#app-view #tarefas .task-priority-filter-v488{
  grid-column:span 2!important;width:100%!important;max-width:none!important;display:flex!important;
  height:44px!important;min-height:44px!important;gap:5px!important;
}
#app-view #tarefas :is(.task-treatment-filter,.task-priority-filter-v488,.task-user-filter) label{
  font-size:11px!important;flex:0 0 auto!important;
}
#app-view #tarefas :is(#task-treatment-filter,#task-priority-filter-v488,#admin-task-user-select){
  flex:1 1 auto!important;width:0!important;min-width:0!important;
  max-width:100%!important;font-size:12px!important;
  padding-right:17px!important;padding-left:6px!important;
}
#app-view #tarefas .task-user-filter.hidden{display:none!important;}
#app-view #tarefas .task-user-filter:not(.hidden){
  grid-column:span 3!important;height:44px!important;min-height:44px!important;
}
#app-view #tarefas .task-toolbar-actions{
  grid-column:1 / -1!important;display:flex!important;flex-wrap:wrap!important;
  justify-content:flex-end!important;align-items:center!important;
  width:100%!important;gap:8px!important;
}
#app-view #tarefas .task-toolbar-actions > button{
  flex:0 0 auto!important;min-height:40px!important;height:40px!important;
  white-space:nowrap!important;font-size:12px!important;padding:0 13px!important;
}
#app-view #tarefas .task-status-filters .task-filter-dot{flex:0 0 auto;}
@media(max-width:1400px){
  #app-view #tarefas .task-main-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #app-view #tarefas .task-status-filters,
  #app-view #tarefas .task-name-search,
  #app-view #tarefas .task-treatment-filter,
  #app-view #tarefas .task-priority-filter-v488,
  #app-view #tarefas .task-user-filter:not(.hidden){grid-column:span 1!important;}
  #app-view #tarefas .task-toolbar-actions{grid-column:1 / -1!important;}
}
@media(max-width:720px){
  #app-view #tarefas .task-main-toolbar{grid-template-columns:minmax(0,1fr)!important;padding:10px!important;}
  #app-view #tarefas .task-main-toolbar > :not(.hidden){grid-column:1 / -1!important;}
  #app-view #tarefas .task-status-filters .filter{font-size:12px!important;}
  #app-view #tarefas .task-toolbar-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
  #app-view #tarefas .task-toolbar-actions > button{width:100%!important;min-width:0!important;padding:0 8px!important;}
  #app-view #tarefas #new-task.task-new-btn{grid-column:1 / -1!important;}
}

/* SVSEGUROS V600 B5 — aperfeicoamentos dos seis modulos; apenas interface.
   Mantem integralmente todas as rotinas V591 e a barra Tarefas B4. */

/* Utilizadores: ações de conta bem separadas e sem colisões com a tabela. */
#app-view #utilizadores > .panel{
  border:1px solid #e1e7ef!important;
  border-radius:16px!important;
  scrollbar-color:#b6c4d4 transparent;
}
#app-view #utilizadores > .panel table{width:100%;table-layout:auto;}
#app-view #utilizadores > .panel thead th{position:sticky;top:0;z-index:2;border-bottom:1px solid #e1e8f2;padding:13px 12px!important;}
#app-view #utilizadores > .panel tbody td{padding:13px 12px!important;line-height:1.35;}
#app-view #utilizadores .user-actions{gap:7px!important;min-width:0;}
#app-view #utilizadores .user-actions button{flex:0 1 auto;line-height:1.3;min-height:37px!important;}
#app-view #utilizadores .user-actions .cancel-account-btn{margin-left:auto!important;box-shadow:none!important;}
#app-view #utilizadores .user-actions button:focus-visible{outline-offset:2px!important;}
#app-view #utilizadores > .toolbar{margin-bottom:13px!important;}
#app-view #utilizadores > .toolbar #new-user{min-height:42px!important;}

/* Importações: cartões alinhados, estado do modelo e histórico acessível. */
#app-view #importacoes .upload-card{display:flex!important;flex-direction:column!important;align-items:flex-start;}
#app-view #importacoes .upload-card .upload-trigger{margin-top:auto!important;align-self:stretch;}
#app-view #importacoes .upload-card .model-status{
  display:inline-block;border-radius:999px;background:#eaf6f0!important;
  color:#136844!important;padding:5px 10px!important;font-weight:750;
  max-width:100%;white-space:normal;
}
#app-view #importacoes .import-intro .badge{white-space:normal;line-height:1.4;}
#app-view #importacoes .import-history,#app-view #importacoes .import-rules{margin-top:15px;}
#app-view #importacoes .import-rules .rule-grid>div{min-width:0;border:1px solid #e9edf3;border-radius:12px;padding:13px 15px;background:#fafbfd;}
#app-view #importacoes .import-rules .rule-grid strong{color:#263e5b;}
#app-view #importacoes .import-rules .rule-grid p{margin:7px 0 0;line-height:1.55;}
#app-view #imports-list{min-width:0;overflow-wrap:anywhere;}
#app-view #imports-list .import-row{min-width:0;gap:12px;}
#app-view #imports-list .import-row :is(button,a){max-width:100%;}

/* Digitalizar: informação visível por ficheiro, sem invadir o ecrã. */
#app-view #digitalizar .digitalizar-upload-card{outline-offset:4px;}
#app-view #digitalizar .digitalizar-upload-card:focus-visible{outline:3px solid rgba(181,31,50,.28);}
#app-view #digitalizar .digitalizar-upload-copy{min-width:0;}
#app-view #digitalizar .digitalizar-upload-copy span{display:block;max-width:100%;overflow-wrap:anywhere;line-height:1.4;}
#app-view #digitalizar .digitalizar-auto-toolbar{margin-top:12px;}
#app-view #digitalizar .digitalizar-auto-toggle>span{min-width:0;overflow-wrap:anywhere;}
#app-view #digitalizar .digitalizar-auto-actions :is(button){flex:0 1 auto!important;}
#app-view #digitalizar #digitalizar-file-list:not(.hidden),
#app-view #digitalizar #digitalizar-auto-overview:not(.hidden){padding:12px 14px;max-width:100%;}
#app-view #digitalizar .digitalizar-read-status{overflow-wrap:anywhere;}

/* Administração: índice de navegação local, sem lançar qualquer operação. */
#app-view #admin .v600-admin-shortcuts{
  display:flex;align-items:center;gap:9px;flex-wrap:wrap;
  padding:11px 13px;margin:0 0 16px;border:1px solid #e1e8f0;
  border-radius:14px;background:#fff;box-shadow:0 3px 12px rgba(20,38,62,.025);
}
#app-view #admin .v600-admin-shortcuts-label{font-size:11px;color:#66778c;font-weight:850;text-transform:uppercase;letter-spacing:.06em;margin-right:5px;}
#app-view #admin .v600-admin-shortcut{
  min-height:34px;padding:7px 12px;background:#f6f8fb;color:#334962;
  border:1px solid #e3e9f0;border-radius:10px;cursor:pointer;font-family:inherit;font-size:12px;font-weight:650;
}
#app-view #admin .v600-admin-shortcut:hover{background:#fceff1;color:#ab1d30;border-color:#efd3d9;}
#app-view #admin .v600-admin-shortcut:focus-visible{outline:3px solid rgba(181,31,50,.25);outline-offset:2px;}
#app-view #admin .admin-routines-shell > :is(.admin-user-analysis-panel,.admin-daily-summary-panel,.admin-email-history-panel,.admin-login-history-panel,.admin-routines-panel){scroll-margin-top:22px;min-width:0;}
#app-view #admin .admin-routines-shell :is(input,textarea,select){max-width:100%;}
#app-view #admin .admin-user-analysis-head{min-width:0;flex-wrap:wrap;}
#app-view #admin .admin-user-analysis-head > div{min-width:0;}
#app-view #admin .admin-analysis-auto-actions{justify-content:flex-start!important;}
#app-view #admin :is(.admin-routines-panel,.admin-user-analysis-panel,.admin-email-history-panel,.admin-login-history-panel){box-shadow:0 4px 20px rgba(23,43,77,.035);}
#app-view #admin .admin-email-history-table-wrap{overflow:auto;max-width:100%;}

/* Chat: coluna de conversa fluida e compositor sempre legivel. */
#app-view #chat-floating-panel .chat-floating-head{flex:0 0 auto;}
#app-view #chat-floating-panel .chat-layout{flex:1 1 auto;min-height:0;}
#app-view #chat-floating-panel .chat-conversation-panel{min-width:0;}
#app-view #chat-floating-panel .chat-conversation:not(.hidden){display:flex;flex-direction:column;min-height:0;}
#app-view #chat-floating-panel .chat-conversation-head{flex:0 0 auto;}
#app-view #chat-floating-panel .chat-messages{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-wrap:anywhere;}
#app-view #chat-floating-panel .chat-compose{flex:0 0 auto;}
#app-view #chat-floating-panel .chat-compose-row{display:flex;align-items:flex-end;gap:6px;}
#app-view #chat-floating-panel #chat-message-input{flex:1 1 auto;min-width:0!important;max-height:100px!important;}
#app-view #chat-floating-panel .chat-compose-hint{font-size:10px;line-height:1.4;overflow-wrap:anywhere;}
#app-view #chat-floating-panel .chat-users-list{overflow-wrap:anywhere;}

/* Compatibilidade para portátil / tablets / smartphone. */
@media(max-width:1024px){
 #app-view #utilizadores > .panel table{min-width:920px;}
 #app-view #admin .v600-admin-shortcuts{gap:7px;}
 #app-view #importacoes .import-rules .rule-grid{gap:10px;}
}
@media(max-width:640px){
 #app-view #utilizadores > .panel{overflow-x:auto!important;}
 #app-view #importacoes .import-intro{padding:14px!important;}
 #app-view #importacoes .upload-card{padding:14px!important;}
 #app-view #digitalizar .digitalizar-auto-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));}
 #app-view #digitalizar .digitalizar-auto-actions button{min-width:0!important;width:100%;}
 #app-view #digitalizar #digitalizar-auto-run{grid-column:1 / -1;}
 #app-view #admin .v600-admin-shortcuts-label{width:100%;}
 #app-view #admin .v600-admin-shortcut{flex:1 1 125px;}
 #app-view #chat-floating-panel .chat-users-panel{max-width:none;}
 #app-view #chat-floating-panel .chat-compose-hint{display:none;}
}

/* ================================================================
   SVSEGUROS V600 B6 — Revisao visual apos gravacao 16:45:44.
   Exclusivamente BETA V591, aditivo e reversivel sobre B5.
   Dialogos de ficha sao filhos diretos de BODY (fora de #app-view):
   por isso, seletores #app-view dialog nao os afetavam.
   Nao modifica autenticação, dados, APIs, calculos ou permissões.
   ================================================================ */

/* Fichas reais (cliente, apolice, recibo, retencao): header e rodape
   sempre dentro do ecra, com deslocamento do conteudo independente. */
body > :is(#client-view-dialog,#policy-view-dialog,#receipt-view-dialog,
 #retention-dialog,#retention-history-dialog,#client-related-dialog,
 #client-recovery-dialog)[open]{
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  width:min(940px,calc(100vw - 28px))!important;
  max-width:calc(100vw - 28px)!important;
  max-height:calc(100dvh - 28px)!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid #e0e6ee!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 24px 75px rgba(15,31,55,.25)!important;
}
body > #retention-dialog[open]{
  width:min(1160px,calc(100vw - 28px))!important;
}
body > :is(#client-view-dialog,#policy-view-dialog,#receipt-view-dialog,
 #retention-dialog,#retention-history-dialog,#client-related-dialog,
 #client-recovery-dialog)[open] > .modal-head{
  display:flex!important;align-items:center!important;
  flex:0 0 auto!important;min-width:0;
  gap:12px!important;padding:15px 18px!important;
  background:#fff!important;border-bottom:1px solid #e6ebf1!important;
  z-index:2!important;
}
body > :is(#client-view-dialog,#policy-view-dialog,#receipt-view-dialog,
 #retention-dialog,#retention-history-dialog,#client-related-dialog,
 #client-recovery-dialog)[open] > .modal-head h3{
  min-width:0;flex:1 1 auto;
  font-size:clamp(16px,2vw,19px)!important;
  line-height:1.3!important;overflow-wrap:anywhere;
  letter-spacing:-.02em!important;
}
body > :is(#client-view-dialog,#policy-view-dialog,#receipt-view-dialog,
 #retention-dialog,#retention-history-dialog,#client-related-dialog,
 #client-recovery-dialog)[open] > :is(.client-view-body,.retention-body,.client-related-body){
  box-sizing:border-box!important;
  flex:1 1 auto!important;min-height:0!important;max-height:none!important;
  min-width:0!important;overflow:auto!important;
  overscroll-behavior:contain;
  padding:17px 18px!important;
}
body > :is(#client-view-dialog,#policy-view-dialog,#receipt-view-dialog,
 #retention-dialog,#retention-history-dialog,#client-related-dialog,
 #client-recovery-dialog)[open] > .modal-actions{
  display:flex!important;flex:0 0 auto!important;
  flex-wrap:wrap!important;justify-content:flex-end!important;
  align-items:center!important;gap:8px!important;
  padding:12px 18px!important;margin:0!important;
  background:#fff!important;border-top:1px solid #e6ebf1!important;
  z-index:2!important;
}
body > #client-view-dialog[open] > .client-view-actions{
  justify-content:flex-start!important;
}
body > #client-view-dialog[open] > .client-view-actions > button{
  box-sizing:border-box!important;min-width:0!important;
  flex:0 1 auto;min-height:39px!important;max-width:100%;
  padding:8px 12px!important;white-space:normal!important;
  overflow-wrap:anywhere;line-height:1.25!important;
  border-radius:10px!important;
}
body > #client-view-dialog[open] > .client-view-actions > button:last-child{
  margin-left:auto;
}
/* Acoes de ficha desativadas continuam desativadas e distinguiveis. */
body > #client-view-dialog[open] > .client-view-actions > button:disabled{
  opacity:.48!important;cursor:not-allowed!important;box-shadow:none!important;
}
/* Dados tabulares podem rolar horizontalmente sem cortar o modal. */
body > :is(#client-view-dialog,#policy-view-dialog,#receipt-view-dialog,
 #retention-dialog,#retention-history-dialog)[open] :is(.table-panel,.retention-table-wrap,.record-detail-pane){
  min-width:0;max-width:100%;
}
body > :is(#client-view-dialog,#policy-view-dialog,#receipt-view-dialog,
 #retention-dialog,#retention-history-dialog)[open] .table-panel{
  overflow-x:auto;overscroll-behavior-x:contain;
}
body > #client-view-dialog[open] .record-detail-tabs{
  position:sticky;top:0;z-index:2;background:#fff;
  flex-wrap:wrap;row-gap:0;
}
/* Tabelas e filtros observados no percurso: Cotacoes/Recibos/Apolices. */
#app-view :is(#cotacoes,#apolices,#recibos) .table-panel{
  max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;
}
#app-view :is(#cotacoes,#apolices,#recibos) .toolbar{
  min-width:0;gap:10px!important;
}
#app-view :is(#cotacoes,#apolices,#recibos) .toolbar-right{
  min-width:0;gap:8px!important;flex-wrap:wrap!important;
}
#app-view #recibos .receipt-filter-row{
  gap:9px!important;min-width:0;max-width:100%;
}
#app-view #recibos .receipt-filter-field{
  min-width:0;max-width:100%;
}
#app-view #recibos .receipt-filter-field :is(input,select){
  box-sizing:border-box;min-width:0;max-width:100%;
}
/* Chat aberto: manter um painel util, mas sem dominar o conteudo.
   Regra B3 de ocultacao atras de dialogos modais permanece ativa. */
#app-view #chat-floating-panel:not(.hidden){
  max-width:calc(100vw - 20px)!important;
  max-height:calc(100dvh - 90px)!important;
  overflow:hidden!important;
}
#app-view #chat-floating-panel .chat-empty-state{
  min-width:0;max-width:100%;overflow-wrap:anywhere;
}
#app-view #chat-floating-panel .chat-users-list{
  min-height:0;overflow-y:auto;overscroll-behavior:contain;
}
@media(max-width:750px){
  body > :is(#client-view-dialog,#policy-view-dialog,#receipt-view-dialog,
   #retention-dialog,#retention-history-dialog,#client-related-dialog,
   #client-recovery-dialog)[open]{
    width:calc(100vw - 16px)!important;
    max-width:calc(100vw - 16px)!important;
    max-height:calc(100dvh - 16px)!important;
    border-radius:14px!important;
  }
  body > :is(#client-view-dialog,#policy-view-dialog,#receipt-view-dialog,
   #retention-dialog,#retention-history-dialog,#client-related-dialog,
   #client-recovery-dialog)[open] > :is(.modal-head,.modal-actions){
    padding:11px 12px!important;
  }
  body > :is(#client-view-dialog,#policy-view-dialog,#receipt-view-dialog,
   #retention-dialog,#retention-history-dialog,#client-related-dialog,
   #client-recovery-dialog)[open] > :is(.client-view-body,.retention-body,.client-related-body){
    padding:12px!important;
  }
  body > #client-view-dialog[open] > .client-view-actions{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }
  body > #client-view-dialog[open] > .client-view-actions > button{
    width:100%!important;margin:0!important;min-height:40px!important;
    font-size:12px!important;padding:7px!important;
  }
  #app-view :is(#cotacoes,#apolices,#recibos) .toolbar{flex-wrap:wrap!important;}
}

/* ================================================================
   SVSEGUROS V600 B7 - Ficha do Cliente 360 (layout apenas)
   Ambiente: BETA V591. Preserva JS, APIs, estados e botoes.
   Base consolidada: B6; o ficheiro mantem o nome carregado pelo index.
   ================================================================ */

/* Corrige a ficha ainda estreita: os detalhes passam a ocupar melhor
   a area de trabalho sem ultrapassar o viewport. */
body > #client-view-dialog.client-view-dialog[open] {
  box-sizing: border-box !important;
  width: min(1020px, calc(100vw - 32px)) !important;
  min-width: 0 !important;
  max-width: calc(100vw - 32px) !important;
  max-height: calc(100dvh - 24px) !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border-radius: 18px !important;
}
body > #client-view-dialog.client-view-dialog[open] > .modal-head {
  display:flex !important;
  flex:0 0 auto !important;
  align-items:center !important;
  gap:12px !important;
  padding:15px 22px !important;
  min-width:0 !important;
}
body > #client-view-dialog.client-view-dialog[open] > .modal-head h3 {
  margin:0 !important;
  font-size:19px !important;
  font-weight:800 !important;
  letter-spacing:-.025em !important;
  color:#182a46 !important;
}
body > #client-view-dialog.client-view-dialog[open] > #client-view-body.client-view-body {
  box-sizing:border-box !important;
  flex:1 1 auto !important;
  display:grid !important;
  gap:17px !important;
  overflow:auto !important;
  min-height:0 !important;
  max-height:none !important;
  padding:18px 22px 24px !important;
  overscroll-behavior:contain;
}
/* Indicadores de carteira: 4 + 2 na largura de portatil. */
body > #client-view-dialog[open] .client-view-summary {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
  min-width:0;
}
body > #client-view-dialog[open] .client-view-summary > div {
  box-sizing:border-box;
  min-width:0 !important;
  border:1px solid #e2e8f0 !important;
  background:#fbfcfe !important;
  border-radius:13px !important;
  padding:13px 14px 51px !important;
}
body > #client-view-dialog[open] .client-view-summary span {
  min-height:13px;
  color:#6b7789 !important;
  font-weight:700 !important;
  font-size:10px !important;
  letter-spacing:.05em !important;
}
body > #client-view-dialog[open] .client-view-summary strong {
  display:block;
  font-size:25px !important;
  letter-spacing:-.04em;
  color:#172b49 !important;
}
body > #client-view-dialog[open] .client-view-summary .view-related-btn {
  min-width:0 !important;
  min-height:33px !important;
  padding:6px 9px !important;
  border-radius:9px !important;
  border-color:#e1e6ed !important;
  font-size:12px !important;
  color:#ae2236 !important;
  background:white !important;
}
body > #client-view-dialog[open] .client-view-summary .view-related-btn:hover {
  background:#fff6f7 !important;
  border-color:#d9adb7 !important;
}
body > #client-view-dialog[open] .readonly-banner {
  border-radius:11px !important;
  padding:11px 14px !important;
  line-height:1.5 !important;
}
body > #client-view-dialog[open] .client-detail-section {
  min-width:0;
  padding-top:16px !important;
}
body > #client-view-dialog[open] .client-detail-section h4 {
  margin:0 0 12px !important;
  font-size:14px !important;
  color:#213655 !important;
}
body > #client-view-dialog[open] .client-detail-grid {
  min-width:0;
  gap:12px !important;
}
body > #client-view-dialog[open] .client-detail-grid > div {
  min-width:0;
  overflow-wrap:anywhere;
}
/* Acoes reais preservadas: visual mais discreto e altura uniforme. */
body > #client-view-dialog.client-view-dialog[open] > .client-view-actions {
  display:grid !important;
  grid-template-columns:minmax(85px,.80fr) minmax(100px,1.05fr) minmax(100px,1.05fr) minmax(115px,1.2fr) minmax(145px,1.5fr) minmax(76px,.8fr) !important;
  gap:8px !important;
  align-items:stretch !important;
  justify-content:stretch !important;
  flex:0 0 auto !important;
  padding:12px 20px !important;
  border-top:1px solid #e6eaf1 !important;
  background:#fff !important;
  box-shadow:0 -4px 15px rgba(21,41,73,.035);
}
body > #client-view-dialog.client-view-dialog[open] > .client-view-actions > button {
  box-sizing:border-box !important;
  margin:0 !important;
  width:100% !important;
  min-width:0 !important;
  min-height:42px !important;
  max-height:none !important;
  padding:8px 10px !important;
  border-radius:10px !important;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:1.25 !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  box-shadow:none !important;
}
body > #client-view-dialog.client-view-dialog[open] > .client-view-actions > button.secondary {
  color:#34445f !important;
  border:1px solid #e2e7ed !important;
  background:#f8fafc !important;
}
body > #client-view-dialog.client-view-dialog[open] > .client-view-actions > button:disabled {
  opacity:.47 !important;
  cursor:not-allowed !important;
}
/* Desktop menor: evita botões comprimidos. */
@media (max-width:1100px) {
  body > #client-view-dialog.client-view-dialog[open] > .client-view-actions {
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  body > #client-view-dialog[open] .client-view-summary {
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media (max-width:720px) {
  body > #client-view-dialog.client-view-dialog[open] {
    width:calc(100vw - 16px) !important;
    max-width:calc(100vw - 16px) !important;
    max-height:calc(100dvh - 16px) !important;
    border-radius:14px !important;
  }
  body > #client-view-dialog.client-view-dialog[open] > .modal-head {
    padding:13px 14px !important;
  }
  body > #client-view-dialog.client-view-dialog[open] > #client-view-body.client-view-body {
    padding:13px 14px 18px !important;
    gap:12px !important;
  }
  body > #client-view-dialog[open] .client-view-summary {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:9px !important;
  }
  body > #client-view-dialog[open] .client-view-summary > div {
    padding:11px 10px 49px !important;
  }
  body > #client-view-dialog.client-view-dialog[open] > .client-view-actions {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    padding:10px 12px !important;
    gap:7px !important;
  }
  body > #client-view-dialog.client-view-dialog[open] > .client-view-actions > button {
    font-size:11px !important;
    min-height:40px !important;
  }
}
@media (max-width:350px) {
  body > #client-view-dialog.client-view-dialog[open] > .client-view-actions {
    grid-template-columns:1fr !important;
  }
}
/* Identificador de homologacao para detetar no CSS servido: V600-B7-CLIENTE-360. */

/* ======================================================================
   SVSEGUROS V600 B8 | CONSOLIDACAO DE MODULOS | 2026-10-12
   BETA V591 | APRESENTACAO UNICAMENTE; NENHUMA ALTERACAO A SQL / API / JS
   Abrange: Apolices, Recibos, Cotacoes, Retencao, Tarefas e Agenda.
   Acrescentar depois dos estilos da B7 para preservar versoes anteriores.
   ====================================================================== */

/* BASE COMUM: pesquisa, contadores, acao e tabelas das tres carteiras. */
#app-view :is(#apolices,#cotacoes) > .toolbar {
  display:grid !important;
  grid-template-columns:minmax(230px,1fr) auto !important;
  gap:12px !important;
  align-items:center !important;
  padding:13px 15px !important;
}
#app-view :is(#apolices,#cotacoes) > .toolbar > input {
  width:100% !important;max-width:none !important;min-width:0 !important;
  min-height:42px !important;box-sizing:border-box !important;
}
#app-view :is(#apolices,#cotacoes) > .toolbar .toolbar-right {
  display:flex !important;align-items:center !important;justify-content:flex-end !important;
  flex-wrap:wrap !important;gap:9px !important;min-width:0 !important;
}
#app-view :is(#apolices,#cotacoes,#recibos) .toolbar .muted.compact {
  margin:0 !important;display:inline-flex;align-items:center;
  min-height:33px;border-radius:999px;padding:5px 10px;
  background:#f4f6fa;color:#637289 !important;font-size:11px !important;
  font-weight:700;white-space:nowrap;
}
#app-view #cotacoes #cotacoes-status-filter {
  width:auto !important;min-width:220px;max-width:100%;min-height:41px;
  padding-inline:12px !important;border-radius:10px !important;
}
#app-view :is(#apolices,#cotacoes,#recibos) > .panel.table-panel {
  min-width:0;max-width:100%;overflow-x:auto !important;overscroll-behavior-x:contain;
  border:1px solid #e0e7ef !important;border-radius:15px !important;
  scrollbar-width:thin;scrollbar-color:#cbd5e2 transparent;
}
#app-view #apolices .table-panel table {min-width:1120px !important;}
#app-view #cotacoes .table-panel table {min-width:1110px !important;}
#app-view #recibos .table-panel table {min-width:1290px !important;}
#app-view :is(#apolices,#cotacoes,#recibos) .table-panel th {
  padding:13px 12px !important;line-height:1.4 !important;white-space:normal !important;
  vertical-align:middle;background:#f7f9fc !important;
}
#app-view :is(#apolices,#cotacoes,#recibos) .table-panel td {
  padding:11px 12px !important;line-height:1.42 !important;vertical-align:middle;
}
#app-view :is(#apolices,#cotacoes,#recibos) .table-panel td :is(button,.action-btn) {
  min-height:33px;border-radius:9px !important;max-width:100%;
}
#app-view :is(#apolices,#recibos) .readonly-lock {
  padding:9px 12px !important;min-height:38px !important;
  border:1px solid #e0e6ee !important;background:#f4f6f9 !important;
  color:#67768a !important;border-radius:9px !important;
}

/* RECIBOS: pesquisa e filtros numa grelha visivel, sem sobreposicoes. */
#app-view #recibos > .receipts-toolbar {
  display:grid !important;grid-template-columns:minmax(0,1fr) !important;
  gap:13px !important;padding:15px !important;
}
#app-view #recibos .receipt-toolbar-main {
  min-width:0 !important;max-width:100% !important;
  display:grid !important;grid-template-columns:minmax(0,1fr) !important;
  gap:12px !important;
}
#app-view #recibos #receipt-search {
  width:100% !important;max-width:none !important;min-width:0 !important;
  min-height:43px !important;border-radius:11px !important;
}
#app-view #recibos .receipt-filter-row {
  display:grid !important;
  grid-template-columns:1fr 1fr 1fr 1.25fr 1.1fr auto auto !important;
  gap:9px !important;align-items:end !important;width:100% !important;
  min-width:0 !important;max-width:100% !important;
}
#app-view #recibos .receipt-filter-field {
  display:flex !important;flex-direction:column !important;gap:5px !important;
  min-width:0 !important;max-width:100% !important;align-items:stretch !important;
}
#app-view #recibos .receipt-filter-field > span {
  color:#6e7d91 !important;font-size:10px !important;font-weight:750 !important;
  letter-spacing:.035em;white-space:normal !important;
}
#app-view #recibos .receipt-filter-field :is(input,select) {
  box-sizing:border-box !important;width:100% !important;min-width:0 !important;
  min-height:39px !important;max-width:100% !important;
  padding:7px 8px !important;border-radius:9px !important;
}
#app-view #recibos .receipt-filter-row > button {
  white-space:nowrap !important;min-height:39px !important;
  padding:8px 11px !important;border-radius:9px !important;
}
#app-view #recibos > .receipts-toolbar > .toolbar-right {
  display:flex !important;flex-wrap:wrap !important;
  justify-content:flex-end !important;gap:9px !important;
  border-top:1px solid #edf0f5;padding-top:10px;
}
#app-view #recibos .receipt-row-actions {gap:6px !important;}

/* COTACOES: painel introdutorio mais compacto, sem mudar informacao. */
#app-view #cotacoes > .panel:not(.table-panel) {
  padding:15px 18px !important;margin-bottom:13px !important;
  background:linear-gradient(110deg,#fff 70%,#fbfcff) !important;
}
#app-view #cotacoes > .panel:not(.table-panel) > strong {
  font-size:16px !important;color:#1d3252 !important;
}
#app-view #cotacoes > .panel:not(.table-panel) > p {font-size:12px !important;}

/* RETENCAO: painel amplo, titulo e rodape protegidos, corpo rolavel. */
body > #retention-dialog.client-view-dialog[open],
body > #retention-history-dialog.client-view-dialog[open] {
  box-sizing:border-box !important;
  width:min(1050px,calc(100vw - 28px)) !important;
  min-width:0 !important;max-width:calc(100vw - 28px) !important;
  max-height:calc(100dvh - 28px) !important;
  display:flex !important;flex-direction:column !important;
  padding:0 !important;overflow:hidden !important;
  border-radius:18px !important;
}
body > :is(#retention-dialog,#retention-history-dialog)[open] > .modal-head {
  flex:0 0 auto !important;display:flex !important;
  align-items:center !important;gap:12px !important;
  padding:16px 20px !important;
}
body > :is(#retention-dialog,#retention-history-dialog)[open] > .modal-head h3 {
  margin:0 !important;min-width:0 !important;overflow-wrap:anywhere;
  color:#1c304f !important;font-size:18px !important;
}
body > :is(#retention-dialog,#retention-history-dialog)[open] > .retention-body {
  flex:1 1 auto !important;min-height:0 !important;
  max-height:none !important;overflow:auto !important;
  padding:19px 22px !important;overscroll-behavior:contain;
}
body > :is(#retention-dialog,#retention-history-dialog)[open] > .modal-actions {
  flex:0 0 auto !important;display:flex !important;
  flex-wrap:wrap !important;gap:9px !important;
  padding:12px 20px !important;
}

/* TAREFAS: manter a barra B4/B5, melhorar apenas cartões e estados. */
#app-view #tarefas .task-board {min-width:0;gap:12px !important;}
#app-view #tarefas .task-card {
  border-radius:14px !important;min-width:0 !important;
  border:1px solid #e2e8f1 !important;
  box-shadow:0 4px 14px rgba(22,46,79,.04) !important;
}
#app-view #tarefas .task-card :is(h4,p,strong,small) {overflow-wrap:anywhere;}
#app-view #tarefas .task-main-toolbar > :is(.task-name-search,.task-toolbar-actions) {
  min-width:0 !important;max-width:100% !important;
}
#app-view #tarefas .task-toolbar-actions > button {
  white-space:normal !important;line-height:1.2 !important;
}
/* Respeitar a ocultacao aplicada pelo perfil: nunca mostrar filtros ocultos. */
#app-view :is(#admin-task-user-filter,#admin-agenda-user-filter).hidden {
  display:none !important;
}

/* AGENDA: navegacao responsiva, sem reduzir os controlos ao ponto de cortar. */
#app-view #agenda .agenda-toolbar {
  box-sizing:border-box !important;
  display:grid !important;
  grid-template-columns:auto minmax(280px,1fr) minmax(180px,.7fr) auto !important;
  gap:11px !important;align-items:center !important;
  padding:13px 15px !important;min-width:0 !important;
}
#app-view #agenda .agenda-toolbar > * {
  min-width:0 !important;max-width:100%;
}
#app-view #agenda .agenda-navigation {
  display:flex !important;flex-wrap:wrap !important;
  gap:7px !important;align-items:center !important;
  justify-content:center !important;min-width:0 !important;
}
#app-view #agenda .agenda-navigation #calendar-period-label {
  flex:1 1 170px;min-width:0;overflow-wrap:anywhere;
  color:#1e3657 !important;font-size:12px !important;
}
#app-view #agenda .agenda-name-search {min-width:0 !important;}
#app-view #agenda .agenda-name-search input {
  box-sizing:border-box !important;width:100% !important;min-width:0 !important;
}
#app-view #agenda .agenda-toolbar :is(.agenda-new-event,.agenda-nav-btn,.agenda-today-btn,.agenda-select-day-btn) {
  min-height:39px !important;border-radius:10px !important;
}
#app-view #agenda .agenda-hours-note {
  border-radius:12px !important;line-height:1.45 !important;
  padding:11px 14px !important;white-space:normal !important;
}
#app-view #agenda .calendar {min-width:0 !important;}

/* FORMULARIO COMPARTILHADO: protege janelas de tarefa/evento e respetivos botoes. */
body > #modal[open] {
  box-sizing:border-box !important;
  width:min(750px,calc(100vw - 24px)) !important;
  max-width:calc(100vw - 24px) !important;
  max-height:calc(100dvh - 24px) !important;
  padding:0 !important;overflow:hidden !important;
  border-radius:18px !important;
}
body > #modal[open] > #modal-form {
  display:flex !important;flex-direction:column !important;
  max-height:calc(100dvh - 24px) !important;min-width:0 !important;
}
body > #modal[open] #modal-form > .modal-head {
  flex:0 0 auto !important;padding:15px 20px !important;
}
body > #modal[open] #modal-form > .modal-body {
  box-sizing:border-box !important;min-height:0 !important;
  overflow-y:auto !important;overflow-x:hidden !important;
  max-height:none !important;flex:1 1 auto !important;
  padding:16px 20px !important;
}
body > #modal[open] #modal-form > .modal-actions {
  flex:0 0 auto !important;display:flex !important;
  flex-wrap:wrap !important;gap:9px !important;
  padding:12px 20px !important;
}
body > #modal[open] #modal-form > .modal-actions > button {
  white-space:normal !important;overflow-wrap:anywhere;
  min-height:39px !important;
}

/* FICHAS REAIS: largura suficiente e rolagem interna, rodape sempre visivel. */
body > :is(#policy-view-dialog,#receipt-view-dialog).client-view-dialog[open] {
  box-sizing:border-box !important;display:flex !important;
  flex-direction:column !important;width:min(1020px,calc(100vw - 28px)) !important;
  max-width:calc(100vw - 28px) !important;max-height:calc(100dvh - 24px) !important;
  padding:0 !important;overflow:hidden !important;
  border-radius:18px !important;
}
body > :is(#policy-view-dialog,#receipt-view-dialog)[open] > .modal-head {
  flex:0 0 auto !important;padding:15px 21px !important;
}
body > :is(#policy-view-dialog,#receipt-view-dialog)[open] > .client-view-body {
  min-height:0 !important;max-height:none !important;flex:1 1 auto !important;
  overflow-y:auto !important;overflow-x:hidden !important;
  padding:18px 21px 24px !important;
}
body > :is(#policy-view-dialog,#receipt-view-dialog)[open] > .modal-actions {
  flex:0 0 auto !important;padding:12px 21px !important;
  display:flex !important;flex-wrap:wrap !important;gap:9px !important;
}

@media (max-width:1350px) {
  #app-view #recibos .receipt-filter-row {
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  #app-view #recibos .receipt-filter-row > button {
    width:100% !important;
  }
  #app-view #agenda .agenda-toolbar {
    grid-template-columns:auto minmax(0,1fr) minmax(170px,.55fr) !important;
  }
  #app-view #agenda .agenda-toolbar > .agenda-new-event {
    grid-column:1/-1;justify-self:start;min-width:170px;
  }
}
@media (max-width:960px) {
  #app-view :is(#apolices,#cotacoes) > .toolbar {
    grid-template-columns:minmax(0,1fr) !important;
  }
  #app-view :is(#apolices,#cotacoes) > .toolbar .toolbar-right {
    justify-content:flex-start !important;
  }
  #app-view #recibos .receipt-filter-row {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  #app-view #agenda .agenda-toolbar {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  }
  #app-view #agenda .agenda-toolbar > .agenda-navigation {grid-column:1/-1;grid-row:2;justify-content:flex-start !important;}
  #app-view #agenda .agenda-toolbar > .agenda-name-search {grid-column:1/-1;grid-row:3;}
  #app-view #agenda .agenda-toolbar > .agenda-new-event {grid-column:auto;grid-row:auto;}
}
@media (max-width:620px) {
  #app-view :is(#apolices,#cotacoes) > .toolbar,
  #app-view #recibos > .receipts-toolbar,
  #app-view #agenda .agenda-toolbar {padding:10px !important;}
  #app-view #recibos .receipt-filter-row {
    grid-template-columns:minmax(0,1fr) !important;
  }
  #app-view #recibos > .receipts-toolbar > .toolbar-right {
    justify-content:flex-start !important;
  }
  #app-view #cotacoes #cotacoes-status-filter {min-width:0 !important;width:100% !important;}
  #app-view #agenda .agenda-toolbar {grid-template-columns:minmax(0,1fr) !important;}
  #app-view #agenda .agenda-toolbar > :is(.agenda-navigation,.agenda-name-search,.agenda-new-event) {
    grid-column:1 !important;grid-row:auto !important;width:100%;
  }
  #app-view #agenda .agenda-navigation {justify-content:flex-start !important;}
  #app-view #agenda .agenda-toolbar > .agenda-new-event {min-width:0 !important;}
  body > :is(#policy-view-dialog,#receipt-view-dialog,#retention-dialog,#retention-history-dialog).client-view-dialog[open] {
    width:calc(100vw - 16px) !important;
    max-width:calc(100vw - 16px) !important;
    max-height:calc(100dvh - 16px) !important;
  }
  body > :is(#policy-view-dialog,#receipt-view-dialog,#retention-dialog,#retention-history-dialog)[open] > :is(.client-view-body,.retention-body) {
    padding:13px 14px 18px !important;
  }
  body > #modal[open] #modal-form > .modal-actions {padding:10px 12px !important;}
  body > #modal[open] #modal-form > .modal-actions > button {flex:1 1 100px;}
}
/* Marcador de versao visivel no CSS servido: V600-B8-CONSOLIDADA. */


/* ================================================================
   V600 Dashboard Premium — maquetas 14/10/2026, aplicacao real B16
   Somente layout, cores, hierarquia, responsividade e cartoes UI.
   KPI, grafico, semaforo e recibos mantem os calculos originais.
   ================================================================ */
#app-view #dashboard.v600-dashboard-premium{
  display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr));
  gap:15px!important;max-width:1680px;width:100%;align-items:start;
  --v6-accent:#b51f32;--v6-ink:#1a2c45;--v6-border:#e7ecf3;
}
#app-view #dashboard.v600-dashboard-premium > *{min-width:0;margin:0!important;}
#app-view #dashboard.v600-dashboard-premium .dashboard-heading-row{order:0;grid-column:1/-1;padding:0 0 3px;}
#app-view #dashboard.v600-dashboard-premium .dashboard-heading-row h3{font-size:clamp(25px,2.4vw,33px)!important;font-weight:800!important;color:var(--v6-ink);}
#app-view #dashboard.v600-dashboard-premium .dashboard-heading-row .muted{color:#718093;}
#app-view #dashboard.v600-dashboard-premium .dashboard-quick-search{order:1;grid-column:1/-1;}
#app-view #dashboard.v600-dashboard-premium .dashboard-quick-search-box{background:#fff;border:1px solid var(--v6-border)!important;box-shadow:0 3px 13px #213d6308;}
#app-view #dashboard.v600-dashboard-premium .dashboard-financial-grid{order:2;grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:13px!important;}
#app-view #dashboard.v600-dashboard-premium .dashboard-metric-card{
  min-height:132px!important;margin:0;padding:17px 18px!important;
  background:#fff;border:1px solid var(--v6-border)!important;border-radius:15px!important;
  box-shadow:0 6px 24px rgba(25,44,72,.04)!important;text-align:left;
}
#app-view #dashboard.v600-dashboard-premium .dashboard-metric-card>strong{font-size:clamp(23px,2.1vw,32px)!important;letter-spacing:-.035em;color:var(--v6-ink)!important;}
#app-view #dashboard.v600-dashboard-premium .dashboard-metric-label{font-size:12px!important;font-weight:780!important;color:#65758a!important;}
#app-view #dashboard.v600-dashboard-premium .dashboard-metric-icon,#app-view #dashboard.v600-dashboard-premium .dashboard-metric-count{border-radius:13px!important;background:#fff2f3;color:var(--v6-accent);}
#app-view #dashboard.v600-dashboard-premium .dashboard-metric-card:nth-child(2) :is(.dashboard-metric-icon,.dashboard-metric-count){background:#eafaf3;color:#168057;}
#app-view #dashboard.v600-dashboard-premium .dashboard-metric-card:nth-child(3) :is(.dashboard-metric-icon,.dashboard-metric-count){background:#fff4e8;color:#b46a20;}
#app-view #dashboard.v600-dashboard-premium .dashboard-metric-card:nth-child(4) :is(.dashboard-metric-icon,.dashboard-metric-count){background:#edf3ff;color:#3868af;}
#app-view #dashboard.v600-dashboard-premium .dashboard-metric-diff{font-size:11px!important;}
#app-view #dashboard.v600-dashboard-premium .dashboard-operational-panel-v519{order:3;grid-column:span 5;height:100%;min-height:350px;padding:16px!important;}
#app-view #dashboard.v600-dashboard-premium .dashboard-operational-panel-v519 > .panel-head{padding:0 0 12px!important;margin:0 0 10px!important;}
#app-view #dashboard.v600-dashboard-premium .dashboard-operational-panel-v519 > .panel-head h3{font-size:18px!important;}
#app-view #dashboard.v600-dashboard-premium .dashboard-operational-panel-v519 .panel-head .muted{display:none;}
#app-view #dashboard.v600-dashboard-premium .dashboard-health-top{display:flex!important;flex-direction:column;gap:6px!important;}
#app-view #dashboard.v600-dashboard-premium .dashboard-health-gauge-wrap{min-height:215px!important;padding:4px!important;background:transparent!important;}
#app-view #dashboard.v600-dashboard-premium .dashboard-health-gauge-v478{height:202px!important;flex:0 0 202px!important;width:100%;max-width:360px!important;}
#app-view #dashboard.v600-dashboard-premium .dashboard-health-summary{padding:8px!important;background:transparent!important;box-shadow:none!important;}
#app-view #dashboard.v600-dashboard-premium .dashboard-health-summary p{display:none!important;}
#app-view #dashboard.v600-dashboard-premium .dashboard-health-summary-head{display:flex!important;align-items:center;flex-wrap:wrap;gap:5px!important;justify-content:center;}
#app-view #dashboard.v600-dashboard-premium .dashboard-health-summary-head .dashboard-health-kicker,#app-view #dashboard.v600-dashboard-premium .dashboard-health-summary-head .dashboard-health-pulse{display:none!important;}
#app-view #dashboard.v600-dashboard-premium .dashboard-health-stats{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;margin-top:9px!important;}
#app-view #dashboard.v600-dashboard-premium .dashboard-health-stat{min-height:61px!important;padding:7px 6px!important;}
#app-view #dashboard.v600-dashboard-premium .dashboard-health-stat span{font-size:9px!important;}
#app-view #dashboard.v600-dashboard-premium .dashboard-health-stat strong{font-size:20px!important;}
#app-view #dashboard.v600-dashboard-premium .dashboard-health-stat small{display:none!important;}
#app-view #dashboard.v600-dashboard-premium .dashboard-health-grid,#app-view #dashboard.v600-dashboard-premium .dashboard-health-foot{display:none!important;}
#app-view #dashboard.v600-dashboard-premium .v600-dashboard-card{border:1px solid var(--v6-border);border-radius:17px;background:#fff;box-shadow:0 5px 23px rgba(20,38,65,.042);padding:16px;min-width:0;}
#app-view #dashboard.v600-dashboard-premium .v600-dashboard-priorities{order:4;grid-column:span 4;min-height:350px;height:100%;}
#app-view #dashboard.v600-dashboard-premium .v600-dashboard-agenda{order:5;grid-column:span 3;min-height:350px;height:100%;}
#app-view #dashboard.v600-dashboard-premium .v600-dashboard-card-head{display:flex;align-items:center;justify-content:space-between;gap:7px;padding-bottom:10px;border-bottom:1px solid #edf0f5;margin-bottom:12px;}
#app-view #dashboard.v600-dashboard-premium .v600-dashboard-card-head h3{font-size:16px!important;line-height:1.3;margin:3px 0 0!important;color:var(--v6-ink)!important;}
#app-view #dashboard.v600-dashboard-premium .v600-dash-kicker{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.10em;font-weight:800;color:#8896a7;}
#app-view #dashboard.v600-dashboard-premium .v600-dash-text-link{white-space:nowrap;background:transparent;color:var(--v6-accent);font-weight:780;font-size:11px;cursor:pointer;padding:5px 2px;border:0;}
#app-view #dashboard.v600-dashboard-premium .v600-dash-priority-list{display:grid;gap:5px;}
#app-view #dashboard.v600-dashboard-premium .v600-dash-priority{display:flex;align-items:center;gap:9px;width:100%;min-width:0;border:1px solid transparent;border-radius:10px;background:#fafbfd;padding:10px 7px;text-align:left;cursor:pointer;color:#25364b;}
#app-view #dashboard.v600-dashboard-premium .v600-dash-priority:hover{background:#f4f7fb;border-color:#e4ebf5;}
#app-view #dashboard.v600-dashboard-premium .v600-dash-priority-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#21a67b;}
#app-view #dashboard.v600-dashboard-premium .v600-dash-priority.is-warning .v600-dash-priority-dot{background:#e4a51d;}
#app-view #dashboard.v600-dashboard-premium .v600-dash-priority.is-critical .v600-dash-priority-dot{background:#df4751;}
#app-view #dashboard.v600-dashboard-premium .v600-dash-priority-info{min-width:0;flex:1;display:block;}
#app-view #dashboard.v600-dashboard-premium .v600-dash-priority-info strong{display:block;font-size:11px;font-weight:750;}
#app-view #dashboard.v600-dashboard-premium .v600-dash-priority-info small{display:block;font-size:10px;color:#718093;line-height:1.25;white-space:normal;}
#app-view #dashboard.v600-dashboard-premium .v600-dash-priority-count{font-weight:850;font-size:15px;color:#34455b;}
#app-view #dashboard.v600-dashboard-premium .v600-dash-agenda-icon{font-size:56px;color:#a3b2c3;line-height:1;text-align:center;margin:29px auto 10px;}
#app-view #dashboard.v600-dashboard-premium .v600-dash-agenda-text{text-align:center;font-size:12px;color:#718093;line-height:1.6;margin:10px 3px 18px;}
#app-view #dashboard.v600-dashboard-premium .v600-dash-primary-ghost{display:block;margin:0 auto;padding:10px 13px;border-radius:10px;background:#fff1f3;color:#a71a2d;border:1px solid #f5dce0;font-weight:800;font-size:12px;cursor:pointer;}
#app-view #dashboard.v600-dashboard-premium .dashboard-main-grid{order:6;grid-column:span 9;display:grid!important;grid-template-columns:1fr!important;align-items:stretch!important;}
#app-view #dashboard.v600-dashboard-premium .dashboard-chart-panel{min-height:320px!important;padding:17px!important;}
#app-view #dashboard.v600-dashboard-premium .dashboard-chart{min-height:220px!important;}
#app-view #dashboard.v600-dashboard-premium .dashboard-summary-panel{display:block!important;min-height:140px!important;border:1px solid var(--v6-border)!important;box-shadow:none!important;}
#app-view #dashboard.v600-dashboard-premium .dashboard-summary-panel>.panel-head{padding:11px 14px!important;}
#app-view #dashboard.v600-dashboard-premium .dashboard-summary-panel>.panel-head h3{font-size:14px!important;}
#app-view #dashboard.v600-dashboard-premium .dashboard-summary-grid{height:auto!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-template-rows:1fr!important;}
#app-view #dashboard.v600-dashboard-premium .dashboard-summary-grid>button{min-height:90px!important;padding:12px!important;text-align:left;}
#app-view #dashboard.v600-dashboard-premium .dashboard-summary-grid>button strong{font-size:23px!important;}
#app-view #dashboard.v600-dashboard-premium .v600-dashboard-alerts{order:7;grid-column:span 3;min-height:320px;height:100%;}
#app-view #dashboard.v600-dashboard-premium .v600-dash-alert-list{display:grid;gap:9px;}
#app-view #dashboard.v600-dashboard-premium .v600-dash-alert{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;text-align:left;border:1px solid #fae7bd;border-radius:11px;background:#fffaf0;padding:13px 11px;color:#946d22;cursor:pointer;}
#app-view #dashboard.v600-dashboard-premium .v600-dash-alert.critical{border-color:#fbd9dc;background:#fff4f5;color:#b73344;}
#app-view #dashboard.v600-dashboard-premium .v600-dash-alert strong{display:block;font-size:12px;}
#app-view #dashboard.v600-dashboard-premium .v600-dash-alert small{display:block;font-size:10px;line-height:1.35;margin-top:4px;}
#app-view #dashboard.v600-dashboard-premium .v600-dash-all-clear{display:flex;align-items:center;gap:12px;padding:20px 5px;}
#app-view #dashboard.v600-dashboard-premium .v600-dash-clear-symbol{display:grid;place-items:center;background:#e8faf1;color:#128453;border-radius:50%;font-weight:800;width:35px;height:35px;flex:0 0 35px;}
#app-view #dashboard.v600-dashboard-premium .v600-dash-all-clear strong{display:block;font-size:13px;color:#1c7955;}
#app-view #dashboard.v600-dashboard-premium .v600-dash-all-clear small{font-size:11px;color:#76849a;}
#app-view #dashboard.v600-dashboard-premium .v600-dashboard-upcoming{order:8;grid-column:1/-1;min-height:150px;}
#app-view #dashboard.v600-dashboard-premium #dashboard-receipts.v600-dash-receipt-list{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;background:transparent!important;visibility:visible!important;}
#app-view #dashboard.v600-dashboard-premium #dashboard-receipts .dashboard-list-item{display:flex;align-items:start;gap:8px;border:1px solid #edf0f5;border-radius:10px;background:#fafbfd;padding:10px;min-width:0;}
#app-view #dashboard.v600-dashboard-premium #dashboard-receipts .dashboard-list-value{margin-left:auto;flex:0 0 auto;font-size:11px;}
#app-view #dashboard.v600-dashboard-premium #dashboard-receipts .dashboard-list-item strong{font-size:11px;}
#app-view #dashboard.v600-dashboard-premium #dashboard-receipts .dashboard-list-item .muted{font-size:10px;}
#app-view #dashboard.v600-dashboard-premium .v600-dash-footnote{font-size:10px;color:#8491a4;margin:8px 0 0;}
#app-view #dashboard.v600-dashboard-premium .v600-dash-empty{font-size:12px;color:#8290a0;padding:14px 0;}
@media(max-width:1120px){
 #app-view #dashboard.v600-dashboard-premium .dashboard-operational-panel-v519{grid-column:span 6;}
 #app-view #dashboard.v600-dashboard-premium .v600-dashboard-priorities{grid-column:span 6;}
 #app-view #dashboard.v600-dashboard-premium .v600-dashboard-agenda{grid-column:1/-1;min-height:165px;}
 #app-view #dashboard.v600-dashboard-premium .v600-dash-agenda-icon{font-size:30px;margin:8px 0;}
 #app-view #dashboard.v600-dashboard-premium .v600-dash-agenda-text{margin:5px 0 9px;}
 #app-view #dashboard.v600-dashboard-premium .dashboard-main-grid{grid-column:span 8;}
 #app-view #dashboard.v600-dashboard-premium .v600-dashboard-alerts{grid-column:span 4;}
}
@media(max-width:990px){
 #app-view #dashboard.v600-dashboard-premium .dashboard-financial-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
 #app-view #dashboard.v600-dashboard-premium .dashboard-operational-panel-v519{grid-column:span 6;}
 #app-view #dashboard.v600-dashboard-premium .v600-dashboard-priorities{grid-column:span 6;}
 #app-view #dashboard.v600-dashboard-premium .dashboard-main-grid,#app-view #dashboard.v600-dashboard-premium .v600-dashboard-alerts{grid-column:1/-1;}
 #app-view #dashboard.v600-dashboard-premium #dashboard-receipts.v600-dash-receipt-list{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:660px){
 #app-view #dashboard.v600-dashboard-premium{gap:11px!important;}
 #app-view #dashboard.v600-dashboard-premium .dashboard-heading-row,#app-view #dashboard.v600-dashboard-premium .dashboard-quick-search,#app-view #dashboard.v600-dashboard-premium .dashboard-financial-grid,#app-view #dashboard.v600-dashboard-premium .dashboard-operational-panel-v519,#app-view #dashboard.v600-dashboard-premium .v600-dashboard-priorities,#app-view #dashboard.v600-dashboard-premium .v600-dashboard-agenda,#app-view #dashboard.v600-dashboard-premium .dashboard-main-grid,#app-view #dashboard.v600-dashboard-premium .v600-dashboard-alerts,#app-view #dashboard.v600-dashboard-premium .v600-dashboard-upcoming{grid-column:1/-1;}
 #app-view #dashboard.v600-dashboard-premium .dashboard-financial-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
 #app-view #dashboard.v600-dashboard-premium .dashboard-metric-card{min-height:120px!important;padding:12px!important;}
 #app-view #dashboard.v600-dashboard-premium .dashboard-metric-card>strong{font-size:21px!important;}
 #app-view #dashboard.v600-dashboard-premium .dashboard-operational-panel-v519,#app-view #dashboard.v600-dashboard-premium .v600-dashboard-priorities,#app-view #dashboard.v600-dashboard-premium .v600-dashboard-agenda{min-height:0;}
 #app-view #dashboard.v600-dashboard-premium #dashboard-receipts.v600-dash-receipt-list{grid-template-columns:1fr;}
}

@media(max-width:660px){
 #app-view #dashboard.v600-dashboard-premium .dashboard-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:auto!important;}
}

/* V600 Dashboard Premium B3 HOTFIX 14/10/2026.
   O selector do dashboard display:grid!important nao pode sobrepor
   .hidden (usado na navegacao nativa V591). */
#app-view #dashboard.v600-dashboard-premium.hidden {display:none!important;}


/* ===============================================================
 SVSEGUROS V600 PREMIUM B4 — Semáforo circular, marca e listagens
 14/10/2026 — Só apresentação, os números vêm do V591.
 Esta camada mantém #dashboard.hidden e todos os eventos nativos.
 =============================================================== */
#app-view .sidebar .brand {
  border-bottom:1px solid #e7ebf1!important;
  padding:7px 8px 17px!important;
  margin-bottom:12px!important;
}
#app-view .sidebar .sidebar-logo {
  width:137px!important;height:77px!important;max-height:77px!important;
  object-fit:contain!important;filter:none!important;
}
#app-view .topbar .sv-gestao-brand-logo {display:none!important;}
#app-view .topbar .sv-gestao-brand {padding-left:0!important;border-left:0!important;gap:0!important;}
#app-view .topbar .sv-gestao-brand-name {font-size:clamp(21px,2vw,27px)!important;line-height:1.2!important;}
/* Uma só cor institucional no menu — o ativo mantém o vermelho. */
#app-view #main-nav .nav-item:not(.active) .nav-icon,
#app-view #main-nav .nav-item:not(.active) .nav-icon svg {
 color:#556477!important;fill:currentColor!important;
}
#app-view #main-nav .nav-item.active .nav-icon,
#app-view #main-nav .nav-item.active .nav-icon svg {color:#fff!important;fill:currentColor!important;}
#app-view #main-nav .nav-item .nav-icon{background:transparent!important;border-color:transparent!important;box-shadow:none!important;}
/* Semáforo da maqueta: donut verdadeiramente dinâmico com o score REAL. */
#app-view #dashboard.v600-dashboard-premium .dashboard-health-gauge-wrap.v600-donut-ready {
  background:transparent!important;border:0!important;box-shadow:none!important;
  min-height:195px!important;display:flex!important;flex-direction:column;
  align-items:center;justify-content:center;gap:10px!important;padding:3px 4px 0!important;
}
#app-view #dashboard.v600-dashboard-premium .dashboard-health-gauge-wrap.v600-donut-ready > .dashboard-health-gauge-v478{display:none!important;}
#app-view #dashboard.v600-dashboard-premium .v600-health-donut {
  --v600-donut-score:0%;--v600-donut-ink:#cf4050;
  width:170px;height:170px;flex:0 0 170px;border-radius:50%;
  background:conic-gradient(from -90deg,var(--v600-donut-ink) 0 var(--v600-donut-score),#edf1f5 var(--v600-donut-score) 100%);
  display:grid;place-items:center;position:relative;
  filter:drop-shadow(0 6px 12px rgba(29,60,88,.06));
}
#app-view #dashboard.v600-dashboard-premium .v600-health-donut::before {
  content:'';position:absolute;inset:22px;border-radius:50%;background:#fff;
  box-shadow:inset 0 0 0 1px #eef1f5;
}
#app-view #dashboard.v600-dashboard-premium .v600-health-donut-center {
  position:relative;z-index:1;text-align:center;display:flex;flex-direction:column;align-items:center;line-height:1.18;
}
#app-view #dashboard.v600-dashboard-premium .v600-health-donut-value {
  font-size:41px;font-weight:850;letter-spacing:-.045em;color:#233750;
  font-variant-numeric:tabular-nums;
}
#app-view #dashboard.v600-dashboard-premium .v600-health-donut-caption {
  font-size:10px;text-transform:uppercase;letter-spacing:.045em;font-weight:790;color:#768499;
  max-width:96px;
}
#app-view #dashboard.v600-dashboard-premium .dashboard-health-gauge-wrap.v600-donut-ready .dashboard-health-status-strip{
  margin:1px auto 0!important;padding:5px 11px!important;line-height:1.2!important;
  border-radius:100px!important;box-shadow:none!important;max-width:100%;
}
#app-view #dashboard.v600-dashboard-premium .dashboard-operational-panel-v519{
  min-height:337px!important;overflow:hidden;
}
#app-view #dashboard.v600-dashboard-premium .dashboard-health-gauge-wrap.v600-donut-ready + .dashboard-health-summary{
  margin-top:7px!important;padding-top:7px!important;
}
#app-view #dashboard.v600-dashboard-premium .dashboard-health-stats{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;
}
#app-view #dashboard.v600-dashboard-premium .dashboard-health-stat{
  padding:10px 6px!important;border:1px solid #e9eef4!important;border-radius:11px!important;
  background:#fff!important;
}
/* Alinhamento fino dos blocos Premium. */
#app-view #dashboard.v600-dashboard-premium .dashboard-heading-row{padding-bottom:5px!important;}
#app-view #dashboard.v600-dashboard-premium .dashboard-metric-card{position:relative;overflow:hidden;}
#app-view #dashboard.v600-dashboard-premium .v600-dashboard-priorities .v600-dash-priority{
  padding:10px 9px!important;border-bottom:1px solid #eef2f6;
}
#app-view #dashboard.v600-dashboard-premium .v600-dashboard-agenda{
  background:#fff!important;
}
/* Apólices e recibos: cabeçalhos claros, cartões, filtros, tabela elegante. */
#app-view :is(#apolices,#recibos) .v600-module-premium-title{
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;
  gap:12px;margin:0 0 14px!important;padding:4px 2px 2px;
}
#app-view :is(#apolices,#recibos) .v600-module-premium-eyebrow{
  display:block;font-size:10px;font-weight:800;letter-spacing:.125em;text-transform:uppercase;color:#8692a4;margin-bottom:4px;
}
#app-view :is(#apolices,#recibos) .v600-module-premium-title h2{
  font-size:clamp(23px,2.2vw,30px)!important;margin:0!important;font-weight:830;
  letter-spacing:-.04em;line-height:1.12;color:#1e3049!important;
}
#app-view :is(#apolices,#recibos) .v600-module-premium-title p{
  font-size:12px;color:#778498;margin:6px 0 0!important;
}
#app-view :is(#apolices,#recibos) .v600-module-premium-status{
  display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:750;
  color:#58715e;background:#ecf7f0;border:1px solid #d7ebdd;border-radius:99px;padding:8px 11px;
}
#app-view :is(#apolices,#recibos) .v600-module-premium-status::before{
  content:'';width:7px;height:7px;border-radius:50%;background:#2b9c60;flex:0 0 7px;
}
#app-view :is(#apolices,#recibos) > .toolbar{
  border:1px solid #e7ecf3!important;box-shadow:0 5px 20px rgba(27,50,78,.045)!important;
  border-radius:16px!important;background:#fff!important;padding:14px!important;margin-bottom:13px!important;
}
#app-view #apolices > .toolbar > input,#app-view #recibos .receipt-toolbar-main > input{
  background:#f9fbfe!important;border-color:#e0e7f0!important;border-radius:10px!important;
  min-height:43px!important;font-size:13px!important;
}
#app-view #apolices .toolbar-right,#app-view #recibos .toolbar-right{gap:10px!important;}
#app-view :is(#apolices,#recibos) .toolbar-right .muted.compact{
  font-weight:780!important;color:#465b77!important;background:#f3f6fa!important;
  border:1px solid #e8edf4!important;border-radius:10px!important;padding:9px 11px!important;
}
#app-view :is(#apolices,#recibos) > .panel.table-panel{
  border:1px solid #e3eaf2!important;border-radius:16px!important;
  box-shadow:0 7px 27px rgba(24,47,76,.042)!important;overflow-x:auto!important;
  background:#fff!important;
}
#app-view :is(#apolices,#recibos) .table-panel thead th{
  background:#f5f7fa!important;color:#596b83!important;
  font-size:10px!important;font-weight:800!important;letter-spacing:.07em!important;
  text-transform:uppercase!important;border-bottom:1px solid #e4eaf2!important;
  padding:15px 13px!important;white-space:nowrap;
}
#app-view :is(#apolices,#recibos) .table-panel tbody td{
  padding:13px!important;font-size:12px!important;
  color:#34445c!important;border-bottom:1px solid #eff2f6!important;
  line-height:1.45!important;
}
#app-view :is(#apolices,#recibos) .table-panel tbody tr:nth-child(even) td{
  background:#fbfcfe!important;
}
#app-view :is(#apolices,#recibos) .table-panel tbody tr:hover td{
  background:#f3f7fc!important;
}
#app-view #recibos .receipt-filter-row{
  background:#fafbfd!important;border-radius:12px!important;
  padding:11px!important;border:1px solid #edf1f6!important;
}
#app-view #recibos .receipt-filter-row :is(select,input){
  background:#fff!important;border-radius:9px!important;min-height:37px!important;
}
#app-view #recibos .receipt-filters-apply {background:#b51f32!important;border-radius:10px!important;}
#app-view #recibos .receipt-filters-clear {border-radius:10px!important;}
#app-view :is(#apolices,#recibos).hidden{display:none!important;}
@media(max-width:1190px){
  #app-view #dashboard.v600-dashboard-premium .v600-health-donut {width:155px;height:155px;flex-basis:155px;}
  #app-view #dashboard.v600-dashboard-premium .v600-health-donut::before{inset:20px;}
}
@media(max-width:620px){
  #app-view .sidebar .sidebar-logo{width:112px!important;height:62px!important;}
  #app-view #dashboard.v600-dashboard-premium .v600-health-donut {width:156px;height:156px;flex-basis:156px;}
  #app-view #dashboard.v600-dashboard-premium .v600-health-donut::before{inset:19px;}
  #app-view :is(#apolices,#recibos) .v600-module-premium-title{align-items:flex-start;flex-direction:column;}
  #app-view #recibos .receipt-filter-row{padding:8px!important;}
}
/* V600 PREMIUM B4: nunca tornar visivel um modulo .hidden. */
#app-view #dashboard.v600-dashboard-premium.hidden{display:none!important;}

/* SVSEGUROS V600 Premium B5: Clientes com hierarquia idêntica à Carteira.
   Apenas apresentação; nenhum indicador fictício é criado. */
#app-view #clientes .v600-module-premium-title {
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  flex-wrap:wrap;padding:4px 2px 2px;margin:0 0 14px!important;
}
#app-view #clientes .v600-module-premium-eyebrow {
  display:block;font-size:10px;font-weight:800;letter-spacing:.125em;
  text-transform:uppercase;color:#8692a4;margin-bottom:4px;
}
#app-view #clientes .v600-module-premium-title h2 {
  font-size:clamp(23px,2.2vw,30px)!important;margin:0!important;
  font-weight:830;letter-spacing:-.04em;line-height:1.12;color:#1e3049!important;
}
#app-view #clientes .v600-module-premium-title p {
  font-size:12px;color:#778498;margin:6px 0 0!important;
}
#app-view #clientes .v600-module-premium-status {
  display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:750;
  color:#58715e;background:#ecf7f0;border:1px solid #d7ebdd;
  border-radius:99px;padding:8px 11px;
}
#app-view #clientes .v600-module-premium-status::before {
  content:'';width:7px;height:7px;border-radius:50%;background:#2b9c60;flex:0 0 7px;
}
#app-view #clientes > .toolbar {
  border:1px solid #e7ecf3!important;box-shadow:0 5px 20px rgba(27,50,78,.045)!important;
  border-radius:16px!important;background:#fff!important;padding:14px!important;
  margin-bottom:13px!important;
}
#app-view #clientes > .toolbar input {
  background:#f9fbfe!important;border-color:#e0e7f0!important;
  border-radius:10px!important;min-height:43px!important;
}
#app-view #clientes > .panel.table-panel {
  border:1px solid #e3eaf2!important;border-radius:16px!important;
  box-shadow:0 7px 27px rgba(24,47,76,.042)!important;overflow-x:auto!important;
  background:#fff!important;
}
#app-view #clientes .table-panel thead th {
  background:#f5f7fa!important;color:#596b83!important;font-size:10px!important;
  font-weight:800!important;letter-spacing:.07em!important;text-transform:uppercase!important;
  border-bottom:1px solid #e4eaf2!important;padding:15px 13px!important;white-space:nowrap;
}
#app-view #clientes .table-panel tbody td {
  padding:13px!important;font-size:12px!important;color:#34445c!important;
  border-bottom:1px solid #eff2f6!important;line-height:1.45!important;
}
#app-view #clientes .table-panel tbody tr:nth-child(even) td{background:#fbfcfe!important;}
#app-view #clientes .table-panel tbody tr:hover td{background:#f3f7fc!important;}
#app-view #clientes.hidden,#app-view #apolices.hidden,#app-view #recibos.hidden,
#app-view #dashboard.hidden {display:none!important;}
@media(max-width:620px){
  #app-view #clientes .v600-module-premium-title{align-items:flex-start;flex-direction:column;}
}


/* V600 PREMIUM B6 — cartões reais de estado da lista; sem substituir módulos. */
#app-view :is(#clientes,#apolices,#recibos) .v600-b6-summary {
 display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;
 margin:0 0 15px;align-items:stretch;
}
#app-view .v600-b6-stat {
 position:relative;display:flex;flex-direction:column;align-items:flex-start;
 min-height:132px;min-width:0;border:1px solid #e4eaf2;border-radius:16px;
 background:#fff;padding:16px 17px 13px;box-shadow:0 5px 17px rgba(35,53,78,.045);
 overflow:hidden;
}
#app-view .v600-b6-stat::after{
 content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:#dbe7f2;
}
#app-view .v600-b6-stat-list::after{background:#b61f34;}
#app-view .v600-b6-stat-page::after{background:#3c79b8;}
#app-view .v600-b6-stat-positive::after{background:#28a475;}
#app-view .v600-b6-stat-other::after{background:#e5a036;}
#app-view .v600-b6-stat-icon{
 position:absolute;right:15px;top:13px;width:34px;height:34px;
 display:grid;place-items:center;border-radius:11px;
 font-size:17px;color:#b51f32;background:#fff0f2;font-weight:800;
}
#app-view .v600-b6-stat-page .v600-b6-stat-icon{color:#3c79b8;background:#eef5fc;}
#app-view .v600-b6-stat-positive .v600-b6-stat-icon{color:#22966e;background:#ebf8f2;}
#app-view .v600-b6-stat-other .v600-b6-stat-icon{color:#b77918;background:#fff5e8;}
#app-view .v600-b6-stat-label{font-size:11px;font-weight:750;color:#64738a;padding-right:36px;max-width:100%;line-height:1.35;}
#app-view .v600-b6-stat-value{font-size:29px;line-height:1.1;color:#1e3049;letter-spacing:-.04em;font-weight:850;margin-top:9px;font-variant-numeric:tabular-nums;}
#app-view .v600-b6-stat-sub{color:#8995a4;font-size:10px;margin-top:auto;padding-top:9px;line-height:1.4;}
/* Panel de pré-visualização: não altera os botões nativos e não copia dados para a rede. */
#app-view #clientes .v600-b6-client-preview{
 border:1px solid #e1e9f3;border-radius:16px;background:#fff;
 box-shadow:0 6px 22px rgba(29,50,82,.042);padding:15px 19px;margin:13px 0;
}
#app-view #clientes .v600-b6-client-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:13px;}
#app-view #clientes .v600-b6-eyebrow{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:#8c98a8;}
#app-view #clientes .v600-b6-client-head h3{margin:4px 0 0;color:#22324b;font-size:17px;letter-spacing:-.025em;}
#app-view #clientes .v600-b6-readonly{border-radius:99px;padding:6px 9px;background:#edf7f1;color:#508364;font-size:10px;font-weight:800;}
#app-view #clientes .v600-b6-client-body{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:9px;}
#app-view #clientes .v600-b6-client-detail{border:1px solid #edf1f6;background:#fafbfd;border-radius:10px;padding:10px 12px;min-width:0;}
#app-view #clientes .v600-b6-client-detail small{display:block;font-size:10px;font-weight:750;color:#718098;margin-bottom:6px;}
#app-view #clientes .v600-b6-client-detail strong{display:block;font-size:12px;font-weight:750;color:#263a54;overflow-wrap:anywhere;}
#app-view #clientes .v600-b6-client-foot{border-top:1px solid #edf0f5;margin-top:12px;padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;}
#app-view #clientes .v600-b6-client-foot span{font-size:11px;color:#7d8b9e;}
#app-view #clientes .v600-b6-open-client{padding:9px 13px;border-radius:10px;color:#fff;background:#b51f32;border:0;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap;}
#app-view #clientes .v600-b6-open-client:disabled{cursor:not-allowed;opacity:.45;}
#app-view #clientes .table-panel tbody tr.v600-b6-row-selected td{box-shadow:inset 0 1px 0 #cddded,inset 0 -1px 0 #cddded;background:#f4f8fd!important;}
/* Os resumos e o preview pertencem exclusivamente à secção ativa. */
#app-view :is(#clientes,#apolices,#recibos).hidden{display:none!important;}
@media(max-width:1050px){
 #app-view :is(#clientes,#apolices,#recibos) .v600-b6-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
 #app-view .v600-b6-stat{min-height:119px;padding:13px 14px 11px;}
 #app-view .v600-b6-stat-value{font-size:25px;}
 #app-view #clientes .v600-b6-client-body{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:540px){
 #app-view .v600-b6-stat{padding:12px;min-height:111px;}
 #app-view .v600-b6-stat-icon{width:29px;height:29px;right:9px;top:9px;font-size:15px;}
 #app-view .v600-b6-stat-label{font-size:10px;padding-right:25px;}
 #app-view .v600-b6-stat-value{font-size:24px;}
 #app-view #clientes .v600-b6-client-head,#app-view #clientes .v600-b6-client-foot{flex-direction:column;align-items:stretch;}
 #app-view #clientes .v600-b6-client-body{grid-template-columns:1fr;}
 #app-view #clientes .v600-b6-open-client{width:100%;}
}


/* SVSEGUROS PREMIUM B7 — consulta lateral do cliente e acabamento visual.
   Camada 100% CSS. Mantem semalteracoes a navegacao, API, tabelas e calculos B6. */
@media (min-width: 1280px) {
 #app-view #clientes:not(.hidden) {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(250px,26%);
  column-gap:14px;row-gap:14px;align-items:start;
 }
 #app-view #clientes:not(.hidden) > .v600-module-premium-title,
 #app-view #clientes:not(.hidden) > .v600-b6-summary,
 #app-view #clientes:not(.hidden) > .toolbar {
  grid-column:1/-1;min-width:0;margin-bottom:0!important;
 }
 #app-view #clientes:not(.hidden) > .panel.table-panel {
  grid-column:1;grid-row:4;min-width:0;max-width:100%;
  margin:0!important;overflow-x:auto!important;align-self:start;
  border:1px solid #e2e9f1!important;border-radius:14px!important;
 }
 #app-view #clientes:not(.hidden) > .panel.table-panel table {
  min-width:720px;
 }
 #app-view #clientes:not(.hidden) > .v600-b6-client-preview {
  grid-column:2;grid-row:4;min-width:0;max-width:100%;
  margin:0!important;position:sticky;top:18px;align-self:start;
  border:1px solid #dfe7f1;border-top:3px solid #b51f32;
  box-shadow:0 8px 30px rgba(28,46,73,.075);
 }
 #app-view #clientes .v600-b6-client-head {align-items:flex-start;flex-wrap:wrap;}
 #app-view #clientes .v600-b6-client-head h3 {font-size:17px;}
 #app-view #clientes .v600-b6-client-body {
  grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;
 }
 #app-view #clientes .v600-b6-client-detail:first-child {grid-column:1/-1;}
 #app-view #clientes .v600-b6-client-detail:last-child {grid-column:1/-1;}
 #app-view #clientes .v600-b6-client-foot {flex-direction:column;align-items:stretch;gap:11px;}
 #app-view #clientes .v600-b6-open-client {width:100%;min-height:39px;}
}
/* A largura intermédia conserva a tabela inteira e mostra a ficha abaixo, sem sobreposicoes. */
@media (max-width:1279px) {
 #app-view #clientes:not(.hidden) > .panel.table-panel {min-width:0;}
 #app-view #clientes .v600-b6-client-preview {position:static!important;}
}
/* Acabamento uniforme de listas premium; os nomes/valores provem da B16. */
#app-view :is(#clientes,#apolices,#recibos) .v600-b6-stat {
 transition:box-shadow .16s ease,border-color .16s ease;
}
#app-view :is(#clientes,#apolices,#recibos) .v600-b6-stat:hover {
 border-color:#d7e0ec;box-shadow:0 7px 22px rgba(35,53,78,.075);
}
#app-view :is(#clientes,#apolices,#recibos) .table-panel thead th {
 position:sticky;top:0;z-index:1;
}
#app-view :is(#clientes,#apolices,#recibos) .toolbar :is(input,select):focus-visible,
#app-view #clientes .v600-b6-open-client:focus-visible {
 outline:2px solid #b51f32!important;outline-offset:2px!important;
}
#app-view :is(#clientes,#apolices,#recibos) .table-panel tbody tr:focus-within td {
 background:#f1f6fd!important;
}
/* Dashboard: proporcoes de painel e leitura do semaforo sem intervir no valor animado. */
#app-view #dashboard.v600-dashboard-premium .v600-health-donut {
 box-shadow:0 0 0 7px rgba(234,239,244,.58);isolation:isolate;
}
#app-view #dashboard.v600-dashboard-premium .v600-health-donut-value {
 font-variant-numeric:tabular-nums;letter-spacing:-.055em;
}
#app-view #dashboard.v600-dashboard-premium .v600-dash-priority:focus-visible,
#app-view #dashboard.v600-dashboard-premium .v600-dash-alert:focus-visible {
 outline:2px solid #b51f32;outline-offset:2px;
}
@media (max-width: 640px) {
 #app-view :is(#clientes,#apolices,#recibos) .v600-b6-summary {gap:8px!important;}
 #app-view #clientes .v600-b6-client-preview {padding:14px!important;}
 #app-view :is(#clientes,#apolices,#recibos) .table-panel thead th{position:static;}
}
