/* NexoDent 108 — somente apresentação das quatro páginas solicitadas.
   Nenhum elemento interativo é ocultado e nenhuma função é substituída. */
.ov-modern-page { color:#152238; }
.ov-modern-page > .ov-modern-head { position:relative!important;overflow:hidden!important;background:linear-gradient(115deg,#fff 55%,#fff0e5 100%)!important;border:1px solid #f5e8dd!important;border-radius:22px!important;padding:25px 26px 22px!important;margin-bottom:22px!important;box-shadow:0 10px 28px rgba(20,36,60,.055)!important; }
.ov-modern-page .ov-modern-title {display:flex!important;align-items:center!important;gap:0!important;margin:0 0 21px!important;}
.ov-modern-page .ov-modern-title::before{display:none!important;content:none!important;}
.ov-modern-page .ov-modern-title h1{font-size:clamp(26px,2.5vw,36px)!important;line-height:1.15!important;letter-spacing:-.04em!important;color:#101a2b!important;font-weight:800!important;margin:0 0 7px!important;}
.ov-modern-page .ov-modern-title .sub{font-size:14px!important;color:#53617a!important;line-height:1.5!important;margin:0!important;}
.ov-modern-page .ov-modern-stats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;margin:0!important;}
.ov-modern-page .ov-modern-stats>div{background:#fff!important;border:1px solid #e9edf4!important;border-radius:17px!important;min-height:94px!important;padding:17px 19px!important;box-shadow:0 6px 17px rgba(20,36,60,.065)!important;display:flex!important;flex-direction:column!important;justify-content:center!important;gap:5px!important;min-width:0!important;}
.ov-modern-page .ov-modern-stats>div:first-child{background:#fff6ef!important;border-color:#ffe2ce!important;}
.ov-modern-page .ov-modern-stats strong{font-size:30px!important;line-height:1.1!important;font-weight:850!important;color:#111c30!important;}
.ov-modern-page .ov-modern-stats span{font-size:12px!important;line-height:1.4!important;color:#42526c!important;font-weight:600!important;}
.ov-modern-page>.ov-modern-list{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;}
.ov-modern-page .ov-modern-list>h2{font-size:20px!important;font-weight:800!important;letter-spacing:-.025em!important;border-left:4px solid #fa751b!important;padding:5px 0 5px 15px!important;margin:3px 0 17px!important;color:#172338!important;}
.ov-modern-page .ov-modern-row{background:#fff!important;border:1px solid #edf0f5!important;border-radius:18px!important;box-shadow:0 5px 16px rgba(21,38,63,.075)!important;margin:0 0 10px!important;padding:0 19px!important;overflow:visible!important;}
.ov-modern-page .ov-modern-row[open]{border-color:#ffcfad!important;background:#fffdfa!important;}
.ov-modern-page .ov-modern-summary{display:flex!important;align-items:center!important;gap:16px!important;min-height:72px!important;padding:12px 0!important;cursor:pointer!important;}
.ov-modern-page .ov-modern-name{flex:1 1 36%!important;min-width:0!important;display:flex!important;flex-direction:column!important;gap:4px!important;}
.ov-modern-page .ov-modern-name strong{font-size:15px!important;font-weight:800!important;color:#152238!important;}
.ov-modern-page .ov-modern-name small{font-size:12px!important;color:#64748b!important;}
.ov-modern-page .ov-modern-date{flex:1 1 37%!important;min-width:0!important;color:#465771!important;font-size:13px!important;}
.ov-modern-page .ov-modern-status{flex:0 1 auto!important;max-width:27%!important;overflow-wrap:anywhere!important;background:#fff4df!important;color:#ae5800!important;border-radius:999px!important;padding:8px 13px!important;font-weight:700!important;font-size:12px!important;text-align:center!important;}
.ov-modern-page .ov-modern-status.ov-modern-ok{background:#e5f8ea!important;color:#087b32!important;}
.ov-modern-page .ov-care-arrow{font-size:24px!important;color:#f47719!important;margin-left:auto!important;}
.ov-modern-page .ret-i{padding:12px 0!important;}
.ov-modern-page .ret-act{padding:12px 0 16px!important;}
/* Laboratório: componentes reais renderizados por laboratory.js */
.nxlab-top{background:linear-gradient(115deg,#fff 60%,#fff0e6)!important;border:1px solid #f3e7dd!important;border-radius:21px!important;padding:24px!important;margin-bottom:19px!important;box-shadow:0 8px 25px rgba(20,36,60,.055)!important;}
.nxlab-top h2{font-size:clamp(26px,2.5vw,35px)!important;letter-spacing:-.035em!important;font-weight:800!important;color:#152238!important;}
.nxlab-top p{color:#52617b!important;font-size:14px!important;}
.nxlab-metrics{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:12px!important;margin:0 0 21px!important;}
.nxlab-metrics>div{background:#fff!important;border:1px solid #e9edf4!important;border-radius:16px!important;padding:17px 14px!important;min-height:95px!important;box-shadow:0 6px 18px rgba(20,36,60,.065)!important;}
.nxlab-metrics>div:first-child{background:#fff6ef!important;border-color:#ffe0c8!important;}
.nxlab-metrics strong{font-size:29px!important;font-weight:800!important;color:#152238!important;}
.nxlab-metrics span{font-size:12px!important;color:#52617b!important;}
.nxlab-filters{gap:12px!important;margin-bottom:18px!important;}
.nxlab-filters input,.nxlab-filters select{min-height:44px!important;border:1px solid #e0e5ee!important;border-radius:12px!important;background:#fff!important;padding:10px 14px!important;}
.nxlab-card{background:#fff!important;border:1px solid #e9edf4!important;border-radius:18px!important;box-shadow:0 6px 21px rgba(20,36,60,.07)!important;padding:20px!important;margin:12px 0!important;}
.nxlab-head strong{font-size:16px!important;color:#152238!important;}
.nxlab-pill{border-radius:999px!important;}
.nxlab-actions button,.nxlab-card button{border-radius:11px!important;}
@media(max-width:1100px){.nxlab-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important;}}
@media(max-width:850px){.ov-modern-page .ov-modern-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:650px){.ov-modern-page>.ov-modern-head,.nxlab-top{padding:16px!important;border-radius:17px!important;}.ov-modern-page .ov-modern-title h1,.nxlab-top h2{font-size:26px!important;}.ov-modern-page .ov-modern-stats{gap:9px!important;}.ov-modern-page .ov-modern-stats>div{padding:12px!important;min-height:80px!important;}.ov-modern-page .ov-modern-stats strong{font-size:25px!important;}.ov-modern-page .ov-modern-row{padding:0 12px!important;}.ov-modern-page .ov-modern-summary{flex-wrap:wrap!important;gap:8px 12px!important;}.ov-modern-page .ov-modern-name{flex-basis:calc(100% - 45px)!important;}.ov-modern-page .ov-modern-date{flex:1 1 60%!important;}.ov-modern-page .ov-modern-status{max-width:60%!important;}.nxlab-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;}.nxlab-card{padding:14px!important;}}

/* NexoDent 160 — padrao visual da aba Pacientes.
   Retira o override global 159 que deixava tudo cinza.
   Somente fundos de superficies nas paginas Agenda e Tratamentos.
   Nao modifica layouts, formularios, botoes, estados ou JS. */
html:not([data-ov-mode="dark"]) body .nexo-agenda-page,
html:not([data-ov-mode="dark"]) body .ov-modern-page {
  color:#152238;
}
/* Cartoes de indicadores, como em Pacientes: branco e primeiro pessego. */
html:not([data-ov-mode="dark"]) body .nexo-agenda-page .nexo-stat,
html:not([data-ov-mode="dark"]) body .ov-modern-page .ov-modern-stats > div {
  background:#fff !important;
  background-image:none !important;
  border-color:#e5eaf0 !important;
}
html:not([data-ov-mode="dark"]) body .nexo-agenda-page .nexo-stat:first-child,
html:not([data-ov-mode="dark"]) body .ov-modern-page .ov-modern-stats > div:first-child {
  background:#fff4eb !important;
  border-color:#ffdfc8 !important;
}
/* Listas de Ortodontia, Implantodontia e Protese brancas. */
html:not([data-ov-mode="dark"]) body .ov-modern-page .ov-modern-row,
html:not([data-ov-mode="dark"]) body .ov-modern-page .ov-modern-row:not([open]) {
  background:#fff !important;
  background-image:none !important;
  border-color:#e5eaf0 !important;
}
/* Agenda: cartoes brancos e campos brancos, como na aba Pacientes. */
html:not([data-ov-mode="dark"]) body .nexo-agenda-page .ag-new-form,
html:not([data-ov-mode="dark"]) body .nexo-agenda-page .ag-rental-panel,
html:not([data-ov-mode="dark"]) body .nexo-agenda-page .ag-date-panel,
html:not([data-ov-mode="dark"]) body .nexo-agenda-page .ov-agenda-chairs > .card {
  background:#fff !important;
  background-image:none !important;
  border-color:#e5eaf0 !important;
}
html:not([data-ov-mode="dark"]) body .nexo-agenda-page :is(input,select,textarea),
html:not([data-ov-mode="dark"]) body .ov-modern-page :is(input,select,textarea) {
  background:#fff !important;
  color:#152238 !important;
}
/* A cor cinza de fundo continua sendo definida pelo tema base.
   A pagina Pacientes e preservada sem overrides. */

/* NexoDent 161 — restauracao visual: branco, laranja, texto preto e bordas visiveis.
   Somente modo claro; sem alterar layout, dimensoes ou funcionalidades. */
html:not([data-ov-mode="dark"]) body,
html:not([data-ov-mode="dark"]) body .ov-content,
html:not([data-ov-mode="dark"]) body .ov-shell,
html:not([data-ov-mode="dark"]) body .ov-main,
html:not([data-ov-mode="dark"]) body .nexo-agenda-page,
html:not([data-ov-mode="dark"]) body .ov-modern-page,
html:not([data-ov-mode="dark"]) body .ov-patients-page { background-color:#fff !important; color:#111 !important; }
html:not([data-ov-mode="dark"]) body :is(.card,.ov-panel,.nexo-page-hero,.nexo-page-stats,.nexo-stat,.nexo-page-head,.ag-date-panel,.ag-new-form,.ag-rental-panel,.ov-modern-head,.ov-modern-stats > div,.ov-modern-row,.ov-modern-list,.ov-modern-summary,.ov-patient-row,.ov-modern-card,.nxlab-card,.nxlab-top,.nxlab-metrics > div) {
  background-color:#fff !important;
  background-image:none !important;
  border-color:#c4ccd5 !important;
  color:#111 !important;
}
html:not([data-ov-mode="dark"]) body :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {
  background-color:#fff !important;
  color:#111 !important;
  border-color:#aeb8c4 !important;
}
html:not([data-ov-mode="dark"]) body :is(h1,h2,h3,h4,h5,h6,label,.ov-modern-name,.ov-modern-date,.ov-modern-title,.nexo-stat strong,.ov-modern-stats strong) {color:#111 !important;}
html:not([data-ov-mode="dark"]) body :is(.nexo-agenda-page,.ov-modern-page,.ov-patients-page) :is(.note,small,.muted) {color:#303030 !important;}
html:not([data-ov-mode="dark"]) body .nexo-agenda-page :is(.ag-flow-row,.ag-flow-free,.ag-time-row,.ag-slot),
html:not([data-ov-mode="dark"]) body .ov-modern-page .ov-modern-row,
html:not([data-ov-mode="dark"]) body .ov-patients-page .ov-modern-row {background-color:#fff !important;border-color:#c4ccd5 !important;}
/* Laranja continua reservado a botoes de acao e elementos de destaque. */

/* NexoDent 162 — ajuste pontual: SOMENTE os dois paineis da Agenda.
   Mantem campos, botoes, outras abas e modo escuro inalterados. */
html:not([data-ov-mode="dark"]) body .nexo-agenda-page .nexo-agenda-tools > .ag-new-form.card,
html:not([data-ov-mode="dark"]) body .nexo-agenda-page .nexo-agenda-tools > .ag-rental-panel.card,
html:not([data-ov-mode="dark"]) body .nexo-agenda-page .nexo-agenda-tools .ag-new-form,
html:not([data-ov-mode="dark"]) body .nexo-agenda-page .nexo-agenda-tools .ag-rental-panel {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  border: 1px solid #b8c2cc !important;
}
