/*
 * V10.102 - modo escuro do tema Obsidiana e Ouro, o botão claro/escuro do topo e o painel Aparência.
 * Ativado por html[data-modo="escuro"] (tema-modo.js). Fundo preto azulado, texto cinza claro e ouro como destaque.
 * As cores vêm de temas.css (gerado). Carregado depois de tema-obsidiana.css.
 */

/* ---------- botão ---------- */
.modo-toggle{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 11px;border:1px solid var(--c-efe3d3,#efe3d3);border-radius:999px;background:#fff;color:var(--c-264653,#264653);font:700 11px/1 "DejaVu Sans",Verdana,"Segoe UI",sans-serif;cursor:pointer;white-space:nowrap}
.modo-toggle:hover{border-color:var(--c-f4a261,#f4a261)}.modo-toggle .modo-icone{font-size:14px;color:var(--c-e76f51,#e76f51)}
.nl-login .modo-toggle{position:absolute;top:16px;right:18px;z-index:3}
@media(max-width:560px){.modo-toggle .modo-texto{display:none}.modo-toggle{padding:0 9px}}

/* ---------- tokens do modo escuro ---------- */
html[data-modo="escuro"]{
  --sb-fundo-escuro:var(--c-14232a,#14232a);--sb-superficie:var(--c-1b2f37,#1b2f37);--sb-superficie-2:var(--c-213a44,#213a44);--sb-borda:var(--c-2f4a55,#2f4a55);
  --sb-texto-claro:var(--c-f3e9dc,#f3e9dc);--sb-texto-suave:var(--c-b9c6c9,#b9c6c9);
  /* Gestão e Portal: variáveis da identidade visual (vencem as cores claras salvas no Layout) */
  --page-bg:var(--c-14232a,#14232a)!important;--surface-bg:var(--c-1b2f37,#1b2f37)!important;--header-bg:var(--c-1b2f37,#1b2f37)!important;--sidebar-bg:var(--c-17292f,#17292f)!important;--footer-bg:var(--c-17292f,#17292f)!important;
  --border-color:var(--c-2f4a55,#2f4a55)!important;--font-color:var(--c-f3e9dc,#f3e9dc)!important;--button-secondary:var(--c-213a44,#213a44)!important;--accent-soft:color-mix(in srgb,var(--sb-laranja) 18%,transparent)!important;
  --canvas:var(--c-14232a,#14232a)!important;--surface:var(--c-1b2f37,#1b2f37)!important;--paper:var(--c-1b2f37,#1b2f37)!important;--line:var(--c-2f4a55,#2f4a55)!important;--ink:var(--c-f3e9dc,#f3e9dc)!important;--muted:var(--c-b9c6c9,#b9c6c9)!important;
  background:var(--c-14232a,#14232a);color:var(--c-f3e9dc,#f3e9dc);
  /* Tema da empresa no modo escuro: as cores de destaque do Layout ficam mais claras para ler sobre o fundo escuro. */
  --button-primary:oklch(from var(--cliente-destaque,#8a6a2f) clamp(.64,calc(l + .2),.84) c h)!important;
  --button-hover:oklch(from var(--cliente-destaque,#8a6a2f) clamp(.7,calc(l + .27),.9) c h)!important;
  --accent-color:oklch(from var(--cliente-acento,#8a6a2f) clamp(.64,calc(l + .2),.84) c h)!important;
  --nl-primary:oklch(from var(--cliente-destaque,#8a6a2f) clamp(.64,calc(l + .2),.84) c h)!important;
  --chart-color:oklch(from var(--cliente-grafico,#1f5fd1) clamp(.62,calc(l + .14),.8) c h)!important;
}
/* Texto sobre o ouro claro do modo escuro. */
html[data-modo="escuro"] :is(.nl-card .nl-mark,.nl-card button[type=submit],.nl-card .nl-primary,.brand-mark,.primary,.sidebar a.active .nav-icon,.cli-par i.pros-prop,.submit-button,.portal-brand-mark){color:#07090d!important}
html[data-modo="escuro"] body{background:var(--c-14232a,#14232a)!important;color:var(--c-f3e9dc,#f3e9dc)}
html[data-modo="escuro"] ::selection{background:var(--c-e76f51,#e76f51);color:#fff}
html[data-modo="escuro"] .modo-toggle{border-color:var(--c-2f4a55,#2f4a55);background:var(--c-213a44,#213a44);color:var(--c-f3e9dc,#f3e9dc)}
html[data-modo="escuro"] .modo-toggle .modo-icone{color:var(--c-e9c46a,#e9c46a)}

/* Campos, tabelas e textos comuns */
html[data-modo="escuro"] :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]){background-color:var(--c-213a44,#213a44)!important;border-color:var(--c-2f4a55,#2f4a55)!important;color:var(--c-f3e9dc,#f3e9dc)!important}
html[data-modo="escuro"] :is(input,textarea)::placeholder{color:var(--c-8fa3a8,#8fa3a8)!important}
html[data-modo="escuro"] :is(th,td){border-color:var(--c-2f4a55,#2f4a55)!important}
html[data-modo="escuro"] th{color:var(--c-b9c6c9,#b9c6c9)!important}
html[data-modo="escuro"] :is(h1,h2,h3,h4,strong){color:var(--c-f3e9dc,#f3e9dc)}
html[data-modo="escuro"] :is(.hint,.muted,small){color:var(--c-b9c6c9,#b9c6c9)}
html[data-modo="escuro"] code{background:var(--c-213a44,#213a44);color:var(--c-f4a261,#f4a261)}
html[data-modo="escuro"] *{scrollbar-color:var(--c-2f4a55,#2f4a55) var(--c-14232a,#14232a)}

/* ---------- telas de login ---------- */
html[data-modo="escuro"] .nl-login{background:var(--c-14232a,#14232a)}
html[data-modo="escuro"] .nl-side{background:var(--c-14232a,#14232a)}
html[data-modo="escuro"] .nl-card{background:var(--c-1b2f37,#1b2f37);border-color:var(--c-2f4a55,#2f4a55);box-shadow:0 20px 55px rgba(0,0,0,.35)}
html[data-modo="escuro"] .nl-card :is(h1,label){color:var(--c-f3e9dc,#f3e9dc)!important}
html[data-modo="escuro"] .nl-card :is(.nl-muted,.nl-note,[role=status],.portal-login-note,.login-notice){color:var(--c-b9c6c9,#b9c6c9)!important}
/* "Esqueci minha senha" dentro do cartão de login (Painel Administrador): o admin.css fixa o fundo creme, que no escuro ficava branco. */
html[data-modo="escuro"] .nl-card .forgot-panel{background:var(--c-14232a,#14232a);border-color:var(--c-2f4a55,#2f4a55)}
html[data-modo="escuro"] :is(.nl-card,dialog) .button-secondary{background:var(--c-213a44,#213a44);border-color:var(--c-2f4a55,#2f4a55);color:var(--c-f3e9dc,#f3e9dc)}
html[data-modo="escuro"] :is(.nl-card,dialog) .button-secondary:hover{border-color:var(--nl-primary,var(--sb-laranja,#c8a56b))}
html[data-modo="escuro"] .nl-banner{background:var(--c-1b2f37,#1b2f37);color:var(--c-f3e9dc,#f3e9dc)}
html[data-modo="escuro"] .nl-banner p{color:var(--c-b9c6c9,#b9c6c9)}
html[data-modo="escuro"] .nl-banner.destaque{background:linear-gradient(135deg,var(--c-1b2f37,#1b2f37),var(--c-2a3d3f,#2a3d3f));border-color:var(--c-2f4a55,#2f4a55)}
html[data-modo="escuro"] .nl-banner.alerta{background:#2d2a1f;border-color:#5b4a22}

/* ---------- Gestão (V10.96: as janelas, como o detalhe do chamado, ficam fora do #app-shell e recebem as mesmas cores) ---------- */
html[data-modo="escuro"] :is(#app-shell,dialog) :is(.panel,.metric-card,.ticket-card,.ticket-lane,.conversation-panel,.message-item,.knowledge-card,.portal-ticket-card,.load-indicator,.integration-channel,.settings-panel,.central-card,.notification-panel,.login-card,.logo-preview-box,.ticket-evidence,.ticket-relations,.migration-errors,.training-pill,.view-button,.upload-button,.inline-status,.panel-tag,.row-count,.count-pill,.level-badge,.priority-badge,.demo-badge,.error-message,.integration-warning,.sla-status,.migration-format-badge,.portal-deadline,.migration-schema-row,.message-item.customer-message,.message-item.support-message){background-color:var(--c-1b2f37,#1b2f37)!important;border-color:var(--c-2f4a55,#2f4a55)!important}
html[data-modo="escuro"] :is(#app-shell,dialog) :is(thead,.bar-track,.share-track,.priority-track,.filter-symbol,.metric-icon,.user-avatar,.avatar,.ticket-message-fields,.config-subnav a:hover,.config-subnav a.active,.menu-heading.active,.view-button.active,.central-card em){background-color:var(--c-213a44,#213a44)!important}
html[data-modo="escuro"] #app-shell :is(.nav-item.active,.nav-item:hover){background-color:color-mix(in srgb,var(--sb-laranja) 16%,transparent)!important}
html[data-modo="escuro"] #app-shell header.topbar{background:var(--c-1b2f37,#1b2f37)!important;border-color:var(--c-2f4a55,#2f4a55)!important}
html[data-modo="escuro"] #app-shell .sidebar{background:var(--c-17292f,#17292f)!important;border-color:var(--c-2f4a55,#2f4a55)!important}
html[data-modo="escuro"] dialog{background:var(--c-1b2f37,#1b2f37);color:var(--c-f3e9dc,#f3e9dc);border-color:var(--c-2f4a55,#2f4a55)}
html[data-modo="escuro"] :is(#password-change-screen,#password-forgot-screen){background:var(--c-14232a,#14232a)}
html[data-modo="escuro"] :is(#password-change-screen,#password-forgot-screen) .login-card{background:var(--c-1b2f37,#1b2f37);border-color:var(--c-2f4a55,#2f4a55)}
html[data-modo="escuro"] :is(#password-change-screen,#password-forgot-screen) *{color:var(--c-f3e9dc,#f3e9dc)}

/* ---------- Portal do solicitante ---------- */
html[data-modo="escuro"] .portal-standalone{background:var(--c-14232a,#14232a)!important;color:var(--c-f3e9dc,#f3e9dc)!important}
html[data-modo="escuro"] .portal-standalone :is(.panel,.metric-card,.portal-user-bar,.portal-company-summary article,.portal-release-card,.knowledge-card,.portal-ticket-card,.portal-nav button,.ticket-filters,.message-item,.conversation-panel,.portal-notice,.portal-deadline,.portal-ticket-detail,.training-pill){background-color:var(--c-1b2f37,#1b2f37)!important;border-color:var(--c-2f4a55,#2f4a55)!important;color:var(--c-f3e9dc,#f3e9dc)!important}
html[data-modo="escuro"] .portal-standalone .portal-nav button.active{background-color:color-mix(in srgb,var(--sb-laranja) 18%,transparent)!important;border-color:var(--c-e76f51,#e76f51)!important;color:var(--c-f4a261,#f4a261)!important}
html[data-modo="escuro"] .portal-standalone :is(p,span,small,label,td,li,.portal-login-note,.portal-list-empty,.portal-release-meta time){color:#c3c8d0}
html[data-modo="escuro"] .portal-standalone :is(h1,h2,h3,strong,.portal-brand strong){color:var(--c-f3e9dc,#f3e9dc)!important}
html[data-modo="escuro"] .portal-standalone .portal-notice{background-color:#2d2a1f!important;border-color:#5b4a22!important;color:#f1dfb5!important}
html[data-modo="escuro"] .portal-standalone .portal-footer{border-color:var(--c-2f4a55,#2f4a55);color:var(--c-8fa3a8,#8fa3a8)}

/* ---------- Painel Administrador ---------- */
html[data-modo="escuro"] .app-shell{background:var(--c-14232a,#14232a)}
html[data-modo="escuro"] .app-shell .topbar,html[data-modo="escuro"] .app-shell .sidebar{background:var(--c-17292f,#17292f);border-color:var(--c-2f4a55,#2f4a55)}
html[data-modo="escuro"] .app-shell .sidebar a{color:#c3c8d0}
html[data-modo="escuro"] .app-shell .sidebar a:hover{background:var(--c-213a44,#213a44)}
html[data-modo="escuro"] .app-shell .sidebar a.active{background:color-mix(in srgb,var(--sb-laranja) 16%,transparent);color:var(--c-f4a261,#f4a261)}
html[data-modo="escuro"] .app-shell .nav-icon{background:var(--c-213a44,#213a44);color:#c3c8d0}
html[data-modo="escuro"] .app-shell :is(.panel,.stat,.integration-card,.module-group,.check,.switch,.key-box,.notice,.result-list div,.tabs a,.login-preview,.forgot-panel,.button-secondary,.system-card){background-color:var(--c-1b2f37,#1b2f37)!important;border-color:var(--c-2f4a55,#2f4a55)!important;color:var(--c-f3e9dc,#f3e9dc)}
html[data-modo="escuro"] .app-shell :is(.check:hover,.tabs a.active,.integration-card:hover,.integration-card.selected){background-color:var(--c-213a44,#213a44)!important}
html[data-modo="escuro"] .app-shell .tabs a.active{border-color:var(--c-e76f51,#e76f51)!important;color:var(--c-f4a261,#f4a261)}
html[data-modo="escuro"] .app-shell :is(.intro p,.panel-heading p,.list-heading p,.integration-card p,.stat span,.stat small,.form-grid label,.query-form label,.check,.result-list dt,.message,.lookup-status,.top-actions,.brand small){color:var(--c-b9c6c9,#b9c6c9)}
html[data-modo="escuro"] .app-shell :is(.result-list dd,.integration-card strong,.brand strong,td){color:var(--c-f3e9dc,#f3e9dc)}
html[data-modo="escuro"] .app-shell .notice{border-color:var(--c-2f4a55,#2f4a55)!important;color:#c3c8d0}
html[data-modo="escuro"] .app-shell .notice.warn{background-color:#2d2a1f!important;border-color:#5b4a22!important;color:#f1dfb5}
html[data-modo="escuro"] .app-shell .key-box{background-color:#16352e!important;border-color:#2a6b57!important;color:#cdeee0}
html[data-modo="escuro"] .app-shell .sticky-actions{background:color-mix(in srgb,var(--c-1b2f37,#1b2f37) 93%,transparent);border-color:var(--c-2f4a55,#2f4a55)}
html[data-modo="escuro"] .app-shell .step{background:#3a3220;color:var(--c-e9c46a,#e9c46a)}
html[data-modo="escuro"] .app-shell .status{background:var(--c-213a44,#213a44);color:#c3c8d0}
html[data-modo="escuro"] .app-shell .status.ATIVA{background:#16352e;color:#7fd6ae}
html[data-modo="escuro"] .app-shell .status.ERRO{background:#3d2023;color:#f1a1a7}
html[data-modo="escuro"] .app-shell .status.IMPLANTANDO{background:#3a3220;color:var(--c-e9c46a,#e9c46a)}
html[data-modo="escuro"] .app-shell .menu-toggle{background:var(--c-213a44,#213a44);border-color:var(--c-2f4a55,#2f4a55);color:var(--c-f3e9dc,#f3e9dc)}
html[data-modo="escuro"] #admin-password-change{background:var(--c-14232a,#14232a)}
html[data-modo="escuro"] #admin-password-change .login-card{background:var(--c-1b2f37,#1b2f37);border-color:var(--c-2f4a55,#2f4a55)}

.portal-user-actions{display:flex;align-items:center;gap:8px}
#app-shell .top-user .modo-toggle{margin-right:4px}

/* Componentes compartilhados entre Gestão e Portal */
html[data-modo="escuro"] :is(.filter-card,.ticket-filter-card,.clear-button,.demo-badge,.filter-symbol,.row-count,.panel,.metric-card,.metric-icon,.panel-tag,.count-pill,.level-badge,.priority-badge,.knowledge-card,.portal-ticket-card,.message-item){background-color:var(--c-1b2f37,#1b2f37)!important;border-color:var(--c-2f4a55,#2f4a55)!important;color:var(--c-f3e9dc,#f3e9dc)!important}
html[data-modo="escuro"] :is(thead,.filter-symbol,.row-count,.clear-button:hover){background-color:var(--c-213a44,#213a44)!important}

/* ---------- V10.72: painel Aparência, fonte e tamanho escolhidos pelo usuário ---------- */
html[data-fonte]{--app-font-family:var(--fonte-usuario)!important;--sb-texto:var(--fonte-usuario)}
html[data-fonte] body,html[data-fonte] body *:not(h1):not(h2):not(h3):not(code):not(.modo-icone){font-family:var(--fonte-usuario)!important}
/* Tamanho da fonte: a barra da Aparência define --zoom-usuario (0,85 a 1,25), já limitado pela largura da tela. */
html[data-zoom] body{zoom:var(--zoom-usuario,1)}
.aparencia-painel{position:fixed;z-index:1000;display:grid;gap:12px;max-height:calc(100vh - 90px);overflow:auto;padding:16px;border:1px solid var(--sb-linha,var(--c-efe3d3,#efe3d3));border-radius:6px;background:#fff;color:var(--sb-petroleo,var(--c-264653,#264653));box-shadow:0 12px 32px rgba(0,0,0,.18);font:13px/1.4 var(--sb-texto)}
.aparencia-valor{margin-left:6px;color:var(--sb-laranja);font:500 11px var(--sb-mono,monospace);letter-spacing:0;text-transform:none}
.aparencia-barra{display:flex;align-items:center;gap:10px}.aparencia-barra span{color:var(--c-7a8a90,#7a8a90);font-size:11px;font-weight:700}.aparencia-barra span.grande{font-size:17px}
.aparencia-barra input[type=range]{flex:1;min-width:0;height:24px;accent-color:var(--sb-laranja);cursor:pointer}
.aparencia-painel[hidden]{display:none}
.aparencia-cabecalho{display:flex;align-items:center;justify-content:space-between}.aparencia-cabecalho strong{font-family:var(--sb-titulo);font-size:16px}
.aparencia-fechar{width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:inherit;font-size:20px;cursor:pointer}
.aparencia-painel fieldset{margin:0;padding:0;border:0;display:grid;gap:8px}.aparencia-painel legend{margin-bottom:6px;color:var(--c-7a8a90,#7a8a90);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.aparencia-temas{display:grid;grid-template-columns:1fr;gap:6px}
.aparencia-temas button{display:flex;align-items:center;gap:8px;min-height:38px;padding:6px 8px;border:1px solid var(--sb-linha,var(--c-efe3d3,#efe3d3));border-radius:5px;background:transparent;color:inherit;font:inherit;font-size:12px;text-align:left;cursor:pointer}
.aparencia-temas button[aria-pressed="true"],.aparencia-segmentos button[aria-pressed="true"]{border-color:var(--sb-laranja);box-shadow:inset 0 0 0 1px var(--sb-laranja);font-weight:700}
.aparencia-amostra{display:inline-grid;grid-template-columns:repeat(4,8px);flex:0 0 auto;overflow:hidden;width:32px;height:20px;border-radius:5px;border:1px solid rgba(0,0,0,.12)}.aparencia-amostra i{display:block}
.aparencia-amostra.padrao{background:linear-gradient(135deg,#0e1218 0 50%,var(--sb-laranja) 50%)}
.aparencia-segmentos{display:flex;flex-wrap:wrap;gap:6px}.aparencia-segmentos button{flex:1;min-height:34px;padding:0 10px;border:1px solid var(--sb-linha,var(--c-efe3d3,#efe3d3));border-radius:9px;background:transparent;color:inherit;font:inherit;font-weight:600;cursor:pointer}
.aparencia-painel select{min-height:38px;padding:6px 10px;border:1px solid var(--sb-linha,var(--c-efe3d3,#efe3d3));border-radius:9px;background:#fff;color:inherit;font:inherit}
.aparencia-dica{margin:0;color:var(--c-7a8a90,#7a8a90);font-size:11px}.aparencia-dica:empty{display:none}
.aparencia-restaurar{justify-self:start;padding:0;border:0;background:none;color:var(--sb-laranja);font:inherit;font-weight:700;cursor:pointer}
html[data-modo="escuro"] .aparencia-painel{background:var(--c-1b2f37,#1b2f37);border-color:var(--c-2f4a55,#2f4a55);color:var(--c-f3e9dc,#f3e9dc)}
html[data-modo="escuro"] .aparencia-painel :is(.aparencia-temas button,.aparencia-segmentos button,select){border-color:var(--c-2f4a55,#2f4a55)}
html[data-modo="escuro"] .aparencia-painel select{background:var(--c-213a44,#213a44)!important;color:var(--c-f3e9dc,#f3e9dc)}
@media(max-width:420px){.aparencia-temas{grid-template-columns:1fr}}