:root { color-scheme: light; }
/* Aparência: sobrepõe apenas cores, preservando layout e identidade da clínica. */
html[data-ov-mode="light"]{color-scheme:light;--bg:#f5f5f5;--sf:#fff;--ink:#303943;--mut:#687481;--ln:#dfe3e7;--acf:#fff;}
html[data-ov-mode="dark"]{color-scheme:dark;--bg:#171a1c;--sf:#202426;--ink:#f1f2f3;--mut:#b5bdc4;--ln:#3b4145;--acf:#fff;}
html[data-ov-mode] body{background:var(--bg);color:var(--ink)}
html[data-ov-mode] .card,html[data-ov-mode] .pt,html[data-ov-mode] .chk,html[data-ov-mode] .ob-pay{background:var(--sf);color:var(--ink);border-color:var(--ln)}
html[data-ov-mode] input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),html[data-ov-mode] select,html[data-ov-mode] textarea{background:var(--sf);color:var(--ink);border-color:var(--ln)}
html[data-ov-mode] input[data-ov-theme-choice]{appearance:auto!important;-webkit-appearance:radio!important;accent-color:var(--ac,#f28c28);width:20px!important;height:20px!important;min-height:20px!important;flex:0 0 20px;cursor:pointer;pointer-events:auto}
html[data-ov-mode] label:has(> input[data-ov-theme-choice]){cursor:pointer}
html[data-ov-mode="dark"] .dt-card,html[data-ov-mode="dark"] .oitem{background:#292e31;color:var(--ink)}
html[data-ov-mode="light"] .dt-card,html[data-ov-mode="light"] .oitem{background:#f5f5f5;color:var(--ink)}
html[data-ov-mode="dark"] #ov-startup-shell{background:#171a1c;color:#b5bdc4}

/* Nexodent 076: aparência controla a superfície completa do aplicativo.
   A identidade laranja e as cores de status permanecem intactas. */
html[data-ov-mode="light"] {
  --ov-bg:#f6f7f9;--ov-card:#ffffff;--ov-text:#303943;
  --ov-muted:#687481;--ov-line:#dfe3e7;
  --bg:#f6f7f9;--bg2:#eef1f4;--sf:#ffffff;
  --card:#ffffff;--ink:#303943;--mut:#687481;--ln:#dfe3e7;
}
html[data-ov-mode="dark"] {
  --ov-bg:#171a1c;--ov-card:#202426;--ov-text:#f1f2f3;
  --ov-muted:#b5bdc4;--ov-line:#3b4145;
  --bg:#171a1c;--bg2:#292e31;--sf:#202426;
  --card:#202426;--ink:#f1f2f3;--mut:#b5bdc4;--ln:#3b4145;
}
html[data-ov-mode] body,
html[data-ov-mode] #app,
html[data-ov-mode] .ov-shell,
html[data-ov-mode] .ov-main,
html[data-ov-mode] .ov-content {background-color:var(--ov-bg);color:var(--ov-text)}
html[data-ov-mode] .ov-sidebar,
html[data-ov-mode] .ov-panel,
html[data-ov-mode] .ov-tile.light,
html[data-ov-mode] .ov-wa,
html[data-ov-mode] .ov-banner,
html[data-ov-mode] .ov-mobile-nav {background:var(--ov-card);color:var(--ov-text);border-color:var(--ov-line)}
html[data-ov-mode] .ov-nav-btn {color:var(--ov-muted)}
html[data-ov-mode="light"] .ov-nav-btn:hover {background:#fff4e9;color:#d66a00}
html[data-ov-mode="light"] .ov-nav-btn.on {background:#fff1e2;color:#d66a00}
html[data-ov-mode="dark"] .ov-nav-btn:hover {background:#30271e;color:#ff9b36}
html[data-ov-mode="dark"] .ov-nav-btn.on {background:#3c2919;color:#ff9b36}
html[data-ov-mode] .card,
html[data-ov-mode] .pt,
html[data-ov-mode] .chk,
html[data-ov-mode] .ob-pay,
html[data-ov-mode] .pf-card {background:var(--sf);color:var(--ink);border-color:var(--ln)}
html[data-ov-mode="light"] .dt-card,
html[data-ov-mode="light"] .oitem {background:#fff;color:var(--ink)}
html[data-ov-mode="light"] .ov-mt-table,
html[data-ov-mode="light"] .ov-mt-table th,
html[data-ov-mode="light"] .ov-mt-table td {background:#fff;color:#303943;border-color:#dfe3e7}
html[data-ov-mode="light"] .ov-mt-table tbody tr:nth-child(even) td {background:#f6f7f9}
html[data-ov-mode="light"] input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
html[data-ov-mode="light"] select,
html[data-ov-mode="light"] textarea {background:#fff;color:#303943;border-color:#cbd2d9;color-scheme:light}
html[data-ov-mode="light"] input::placeholder,
html[data-ov-mode="light"] textarea::placeholder {color:#87919c}
html[data-ov-mode="dark"] input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
html[data-ov-mode="dark"] select,
html[data-ov-mode="dark"] textarea {color-scheme:dark}
@media print {
  html[data-ov-mode] body,html[data-ov-mode] #printarea {background:white!important;color:black!important}
}

/* Nexodent 078 — modo claro: somente fundos das duas áreas principais.
   Não modifica os cartões, botões, cabeçalho laranja ou modo escuro. */
html[data-ov-mode="light"] body,
html[data-ov-mode="light"] #app,
html[data-ov-mode="light"] .ov-shell,
html[data-ov-mode="light"] .ov-content,
html[data-ov-mode="light"] .ov-content-inner,
html[data-ov-mode="light"] .ov-main {
  background-color:#ffffff !important;
}
html[data-ov-mode="light"] .ov-sidebar,
html[data-ov-mode="light"] .ov-mobile-nav {
  background-color:#ffffff !important;
}
/* Contraste dos textos diretamente sobre os fundos brancos. */
html[data-ov-mode="light"] .ov-page-head h1,
html[data-ov-mode="light"] .ov-sidebar .ov-nav-btn:not(.on):not(:hover) {
  color:#303943;
}

/* NexoDent 155: reforço da aparência clara, inclusive controles nativos. */
:root,html,body { color-scheme:only light !important; }
html[data-ov-mode="light"] { color-scheme:only light !important; }
html[data-ov-mode="light"] .ov-ag-modal { background:#fff !important; color:#303943 !important; border-color:#dfe3e7 !important; }
html[data-ov-mode="light"] .ov-ag-modal-form>label>input { background:#fff !important; color:#303943 !important; border-color:#cbd2d9 !important; color-scheme:only light !important; }
html[data-ov-mode="light"] .ag-block .ag-appointment.ag-compact:not(.ag-compact-green):not(.ag-compact-red) { background:#f6f7f9 !important; color:#303943 !important; border-color:#dfe3e7 !important; }

/* NexoDent 158 — contraste da baixa e indicadores da agenda em modo claro. */
html[data-ov-mode="light"] .ov-ag-modal,
html[data-ov-mode="light"] .ov-ag-modal-head h3,
html[data-ov-mode="light"] .ov-ag-modal-note,
html[data-ov-mode="light"] .ov-ag-modal-form>label,
html[data-ov-mode="light"] .ov-ag-status-options label,
html[data-ov-mode="light"] .ov-ag-status-options label span {color:#202a34 !important;}
html[data-ov-mode="light"] .ov-ag-modal-head .ov-ag-modal-close {color:#505d69 !important;}
html[data-ov-mode="light"] .ov-ag-status-options label {background:#fff !important;border-color:#b8c2cc !important;}
html[data-ov-mode="light"] .ov-ag-status-options label:hover {background:#fff7ee !important;}
html[data-ov-mode="light"] .ov-ag-status-options input[type="radio"] {appearance:auto !important;-webkit-appearance:radio !important;accent-color:#e87500 !important;opacity:1 !important;}
html[data-ov-mode="light"] .ag-block .ag-appointment.ag-compact.ag-compact-red,
html[data-ov-mode="light"] .ag-block .ag-appointment.ag-compact.ag-compact-green {background:#fff !important;border-color:#d3dce4 !important;color:#303943 !important;}
html[data-ov-mode="light"] .ag-block .ag-appointment.ag-compact.ag-compact-red .ag-patient,
html[data-ov-mode="light"] .ag-block .ag-appointment.ag-compact.ag-compact-green .ag-patient {color:#303943 !important;}
html[data-ov-mode="light"] .ag-block .ag-appointment.ag-compact.ag-compact-red .ag-compact-dot {background-color:#dc3545 !important;opacity:1 !important;box-shadow:0 0 0 1px #b72a37 !important;}
html[data-ov-mode="light"] .ag-block .ag-appointment.ag-compact.ag-compact-green .ag-compact-dot {background-color:#159657 !important;opacity:1 !important;box-shadow:0 0 0 1px #107a46 !important;}

/* NexoDent 160 — contraste da agenda clara e status distintos. */
html[data-ov-mode="light"] .ag-flow-list .ag-flow-row {border-bottom:1px solid #dce2e7!important;color:#26313b!important}
html[data-ov-mode="light"] .ag-flow-list .ag-flow-time {color:#475569!important;opacity:1!important}
html[data-ov-mode="light"] .ag-flow-list .ag-flow-free,html[data-ov-mode="light"] .ag-flow-list .ag-flow-free * {color:#586675!important;opacity:1!important}
html[data-ov-mode="light"] .ag-flow-list .ag-flow-booked .ag-flow-time {color:#c45b00!important}
html[data-ov-mode="light"] .ag-block .ag-appointment.ag-compact,
html[data-ov-mode="light"] .ag-block .ag-appointment.ag-compact.ag-compact-red,
html[data-ov-mode="light"] .ag-block .ag-appointment.ag-compact.ag-compact-yellow,
html[data-ov-mode="light"] .ag-block .ag-appointment.ag-compact.ag-compact-orange {background:#fff!important;border:1px solid #cbd5df!important;color:#24313c!important;box-shadow:none!important}
html[data-ov-mode="light"] .ag-block .ag-appointment.ag-compact .ag-patient,
html[data-ov-mode="light"] .ag-block .ag-appointment.ag-compact .ag-patient-link,
html[data-ov-mode="light"] .ag-block .ag-appointment.ag-compact .ag-compact-identity {color:#24313c!important;-webkit-text-fill-color:#24313c!important;opacity:1!important;text-shadow:none!important}
html[data-ov-mode="light"] .ag-block .ag-appointment.ag-compact.ag-compact-red .ag-compact-dot {background:#dc3545!important;box-shadow:0 0 0 1px #b52a38!important;opacity:1!important}
html[data-ov-mode="light"] .ag-block .ag-appointment.ag-compact.ag-compact-yellow .ag-compact-dot {background:#eab308!important;box-shadow:0 0 0 1px #b88b00!important;opacity:1!important}
html[data-ov-mode="light"] .ag-block .ag-appointment.ag-compact.ag-compact-orange .ag-compact-dot {background:#f07800!important;box-shadow:0 0 0 1px #bd5e00!important;opacity:1!important}
html[data-ov-mode="light"] .ag-date-panel,html[data-ov-mode="light"] .ag-date-panel .note,html[data-ov-mode="light"] .ag-rental-panel .note {color:#586675!important}
html[data-ov-mode="light"] .ag-date-panel strong,html[data-ov-mode="light"] .ag-date-panel label,html[data-ov-mode="light"] .ag-rental-panel strong {color:#26313b!important}
html[data-ov-mode="light"] .ov-ag-status-options label:has(input[value="Compareceu"]) input {accent-color:#f07800!important}
html[data-ov-mode="light"] .ov-ag-status-options label:has(input[value="Faltou"]) input {accent-color:#dc3545!important}
html[data-ov-mode="light"] .ov-ag-status-options label:has(input[value="Cancelado"]) input {accent-color:#eab308!important}

/* NexoDent 162 — indicadores visuais independentes do radio nativo. */
html[data-ov-mode="light"] .ov-ag-status-options label {position:relative;display:flex;align-items:center;gap:12px;color:#202a34!important}
html[data-ov-mode="light"] .ov-ag-status-options input[type="radio"] {appearance:none!important;-webkit-appearance:none!important;flex:0 0 17px!important;width:17px!important;height:17px!important;min-width:17px!important;min-height:17px!important;margin:0!important;border-radius:50%!important;border:2px solid currentColor!important;background:currentColor!important;opacity:1!important;box-shadow:none!important;cursor:pointer}
html[data-ov-mode="light"] .ov-ag-status-options input[type="radio"][value="Compareceu"] {color:#ee7600!important}
html[data-ov-mode="light"] .ov-ag-status-options input[type="radio"][value="Faltou"] {color:#dc3545!important}
html[data-ov-mode="light"] .ov-ag-status-options input[type="radio"][value="Cancelado"] {color:#eab308!important}
html[data-ov-mode="light"] .ov-ag-status-options input[type="radio"]:checked {box-shadow:inset 0 0 0 3px #fff!important}
html[data-ov-mode="light"] .ov-ag-status-options input[type="radio"]:focus-visible {outline:2px solid #2563eb!important;outline-offset:3px!important}

/* Restauracao 163: retirar o fundo cinza global introduzido no tema claro.
   Apenas cores: sem alterar estrutura, espacamento, JS ou modo escuro. */
@media screen {
  html[data-ov-mode="light"] {
    --ov-bg:#ffffff; --bg:#ffffff; --bg2:#ffffff;
    --ov-card:#ffffff; --sf:#ffffff; --card:#ffffff;
  }
  html[data-ov-mode="light"] :is(body,#app,.ov-shell,.ov-main,.ov-content,.ov-content-inner,.ov-sidebar,.ov-mobile-nav) {
    background-color:#ffffff !important;
  }
  html[data-ov-mode="light"] :is(.ov-page,.ov-modern-page,.ov-patients-page,.nexo-agenda-page,.ov-proposal,.ov-proposal-footer,.ov-modern-head,.ov-modern-list,.ov-modern-summary,.nexo-page-hero,.nexo-page-head,.nexo-page-stats,.ov-content .card,.ov-content .ov-panel,.pf-card,.ag-date-panel,.ag-new-form,.ag-rental-panel,.nxlab-card,.nxlab-top) {
    background-color:#ffffff !important;
  }
  html[data-ov-mode="light"] :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {
    background-color:#ffffff !important; color:#111111 !important;
    border-color:#b8c2cc !important;
  }
  html[data-ov-mode="light"] :is(.ov-content .card,.ov-content .ov-panel,.pf-card,.ag-date-panel,.ag-new-form,.ag-rental-panel,.nxlab-card) {
    border-color:#b8c2cc !important;
  }
}
