/* Hastecrom Cromo Duro: conteúdo do painel. Carregar após os estilos de cada módulo.
   Escopo restrito ao painel: o terminal, a câmera e o aplicativo ficam intactos. */
body[data-screen="panel"] {
  --ui-success-bg: #e8f6ef;
  --ui-success-text: #276846;
  --ui-warning-bg: #fff5df;
  --ui-warning-text: #805b15;
  --ui-danger-bg: #fff0f2;
  --ui-danger-text: #a92b3c;
  --ui-table-padding: 13px;
  --ui-shadow: 0 2px 3px #213b4c03;
}
body[data-screen="panel"][data-theme="dark"] {
  --ui-success-bg: #1b3b32;
  --ui-success-text: #9ee3c2;
  --ui-warning-bg: #3b311f;
  --ui-warning-text: #f2d08c;
  --ui-danger-bg: #432b34;
  --ui-danger-text: #ffbbc3;
  --ui-shadow: 0 2px 3px #00000014;
}
body[data-screen="panel"][data-density="compact"] { --ui-table-padding: 7px; }
body[data-screen="panel"][data-density="spacious"] { --ui-table-padding: 18px; }

/* Hierarquia de leitura e controles. */
body[data-screen="panel"] :is(main, dialog) {
  color: var(--ink);
  font-family: var(--app-font);
  font-size: calc(13px * var(--font-scale, 1));
  line-height: 1.5;
}
body[data-screen="panel"] :is(main, dialog) h1 {
  color: var(--ink);
  font-size: calc(26px * var(--font-scale, 1));
  font-weight: 650;
  line-height: 1.25;
  letter-spacing: -.8px;
  margin: 0 0 9px;
}
body[data-screen="panel"] :is(main, dialog) h2 {
  color: var(--ink);
  font-size: calc(16px * var(--font-scale, 1));
  font-weight: 650;
  line-height: 1.4;
  letter-spacing: -.25px;
}
body[data-screen="panel"] :is(main, dialog) h3 {
  color: var(--ink);
  font-size: calc(14px * var(--font-scale, 1));
  font-weight: 600;
  line-height: 1.45;
}
body[data-screen="panel"] :is(main, dialog) p { line-height: 1.6; }
body[data-screen="panel"] main h1 + p {
  color: var(--muted);
  font-size: calc(13px * var(--font-scale, 1));
  margin: 0 0 22px;
  max-width: 920px;
}
body[data-screen="panel"] :is(main, dialog) a { color: var(--theme-link); }
body[data-screen="panel"] :is(main, dialog) :is(.muted, small) { color: var(--muted); }
body[data-screen="panel"] :is(main, dialog) small {
  font-size: calc(11px * var(--font-scale, 1));
  line-height: 1.5;
}
body[data-screen="panel"] :is(main, dialog) :is(button, .button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 36px;
  padding: 9px 13px;
  border: 1px solid var(--teal);
  border-radius: 7px;
  background: var(--teal);
  color: #fff;
  font-family: var(--app-font);
  font-size: calc(12px * var(--font-scale, 1));
  font-weight: 550;
  line-height: 1.4;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  transition: background .15s, border-color .15s, color .15s;
}
body[data-screen="panel"] :is(main, dialog) :is(button, .button):hover:not(:disabled) {
  background: var(--teal-dark);
  border-color: var(--teal-dark);
}
body[data-screen="panel"] :is(main, dialog) :is(button.secondary, .button.secondary) {
  background: var(--surface);
  border-color: var(--line);
  color: var(--ink);
}
body[data-screen="panel"] :is(main, dialog) :is(button.secondary, .button.secondary):hover:not(:disabled) {
  background: var(--surface-alt);
  border-color: var(--teal);
  color: var(--theme-link);
}
body[data-screen="panel"] :is(main, dialog) :is(button.danger, .button.danger) {
  background: var(--ui-danger-bg);
  border-color: color-mix(in srgb, var(--ui-danger-text) 28%, var(--line));
  color: var(--ui-danger-text);
}
body[data-screen="panel"] :is(main, dialog) :is(button.danger, .button.danger):hover:not(:disabled) {
  background: color-mix(in srgb, var(--ui-danger-bg) 86%, var(--ui-danger-text));
  border-color: var(--ui-danger-text);
}
body[data-screen="panel"] :is(main, dialog) button:disabled {
  opacity: .5;
  cursor: not-allowed;
}
body[data-screen="panel"] :is(main, dialog) :is(button, .button, input, select, textarea, summary, a):focus-visible {
  outline: 3px solid var(--theme-link);
  outline-offset: 3px;
}
body[data-screen="panel"] :is(main, dialog) :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  min-height: 37px;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--surface);
  color: var(--ink);
  font-family: var(--app-font);
  font-size: calc(12px * var(--font-scale, 1));
  line-height: 1.5;
}
body[data-screen="panel"] :is(main, dialog) textarea { resize: vertical; }
body[data-screen="panel"] :is(main, dialog) :is(input, textarea)::placeholder { color: var(--muted); opacity: 1; }
body[data-screen="panel"] :is(main, dialog) :is(input[type="checkbox"], input[type="radio"]) { accent-color: var(--teal); }
body[data-screen="panel"] :is(main, dialog) :is(input:disabled, select:disabled, textarea:disabled) {
  background: var(--surface-alt);
  color: var(--muted);
  opacity: .8;
}
body[data-screen="panel"] :is(main, dialog) label {
  color: var(--ink);
  font-size: calc(12px * var(--font-scale, 1));
  font-weight: 550;
}
body[data-screen="panel"] :is(main, dialog) fieldset {
  background: var(--surface);
  border-color: var(--line);
  border-radius: 10px;
  padding: 16px;
}
body[data-screen="panel"] :is(main, dialog) legend {
  color: var(--ink);
  font-size: calc(12px * var(--font-scale, 1));
  font-weight: 600;
}
body[data-screen="panel"] :is(.toolbar, .monthly-toolbar) { gap: 9px; }
body[data-screen="panel"] .toolbar { margin: 18px 0; }
body[data-screen="panel"] .filters {
  gap: 14px;
  margin: 18px 0;
  padding: 17px 19px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
  box-shadow: var(--ui-shadow);
}
body[data-screen="panel"] .filters label { color: var(--muted); font-size: calc(11px * var(--font-scale, 1)); }
body[data-screen="panel"] .filters :is(input, select) { margin-top: 6px; padding: 9px 11px; }
/* Native date picker plus one-day navigation. */
body[data-screen="panel"] .daily-date-filter { min-width: 190px; }
body[data-screen="panel"] .daily-date-filter > label { margin: 0; }
body[data-screen="panel"] .daily-date-control { display: grid; grid-template-columns: 36px minmax(0, 1fr) 36px; align-items: stretch; gap: 6px; margin-top: 6px; }
body[data-screen="panel"] .daily-date-control > input { width: 100%; min-width: 0; margin: 0; }
body[data-screen="panel"] .daily-date-control > button.daily-date-arrow { width: 36px; min-height: 38px; margin: 0; padding: 0; font-size: calc(20px * var(--font-scale, 1)); line-height: 1; }
body[data-screen="panel"] :is(.panel, .card) {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 22px;
  background: var(--surface);
  color: var(--ink);
  box-shadow: var(--ui-shadow);
}
body[data-screen="panel"] .card:hover { border-color: var(--teal); }
body[data-screen="panel"] .card :is(b, .icon) { color: var(--theme-link); }
body[data-screen="panel"] .card b { font-size: calc(20px * var(--font-scale, 1)); font-weight: 650; }
body[data-screen="panel"] :is(.panel, .card) h2:first-child { margin-top: 0; }

/* Tabelas: espaçamento ajustável, mantendo as larguras e rolagens dos módulos. */
body[data-screen="panel"] .table-wrap {
  background: var(--surface);
  border-color: var(--line);
  border-radius: 10px;
  box-shadow: var(--ui-shadow);
}
body[data-screen="panel"] .table-wrap:focus-visible { outline-color: var(--theme-link); }
body[data-screen="panel"] table { color: var(--ink); font-size: calc(12px * var(--font-scale, 1)); }
body[data-screen="panel"] :is(th, td) {
  padding: var(--ui-table-padding) 18px;
  border-bottom-color: var(--line);
  font-size: calc(12px * var(--font-scale, 1));
  line-height: 1.5;
}
body[data-screen="panel"] th {
  background: var(--surface-alt);
  color: var(--muted);
  font-size: calc(11px * var(--font-scale, 1));
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}
body[data-screen="panel"] td { color: var(--ink); }
body[data-screen="panel"] td b { color: var(--ink); }
body[data-screen="panel"] tbody > tr:hover > td { background: var(--accent-soft); }
body[data-screen="panel"] td small { margin-top: 4px; font-size: calc(11px * var(--font-scale, 1)); }
body[data-screen="panel"] td button {
  min-height: 32px;
  padding: 7px 10px;
  margin: 2px;
  font-size: calc(11px * var(--font-scale, 1));
}
body[data-screen="panel"] [data-numeric],
body[data-screen="panel"] .monthly-week-totals dd { font-variant-numeric: tabular-nums; }
body[data-screen="panel"][data-table-borders="true"] :is(th, td) { border-inline: 1px solid var(--line); }
body[data-screen="panel"][data-striped-rows="true"] tbody > tr:nth-child(even) > td { background: var(--surface-alt); }
body[data-screen="panel"][data-striped-rows="true"] tbody > tr:hover > td { background: var(--accent-soft); }
body[data-screen="panel"][data-wrap-cells="true"] :is(th, td) { white-space: normal; overflow-wrap: anywhere; }
body[data-screen="panel"][data-sticky-header="true"] .table-wrap thead { position: sticky; top: 0; z-index: 2; }
body[data-screen="panel"] :is(.company-report > h2, .employee-company-heading, .office-company-title, .pp-bulk-preview-company h3) {
  background: var(--surface-alt);
  border-color: var(--line);
  border-left: 3px solid var(--teal);
  border-radius: 7px;
  color: var(--ink);
}
body[data-screen="panel"] .company-report > h2 { padding: 10px 14px; font-size: calc(13px * var(--font-scale, 1)); margin: 19px 0 8px; }
body[data-screen="panel"] .employee-company-heading { padding: 10px 14px; }
body[data-screen="panel"] .employee-company .employee-company-heading h2 {
  background: none;
  border: 0;
  font-size: calc(13px * var(--font-scale, 1));
  color: var(--ink);
}
body[data-screen="panel"] .employee-company-heading small { color: var(--muted); font-size: calc(11px * var(--font-scale, 1)); }
body[data-screen="panel"] .employee-search { max-width: 420px; }
/* Employee actions share the input baseline, including wrapped layouts. */
body[data-screen="panel"] .employee-toolbar { align-items: flex-end; gap: 12px 9px; }
body[data-screen="panel"] .employee-toolbar > label { margin: 0; min-width: 0; }
body[data-screen="panel"] .employee-toolbar > .employee-search { flex: 1 1 280px; min-width: min(240px, 100%); max-width: 420px; }
body[data-screen="panel"] .employee-toolbar > .employee-status { flex: 0 1 204px; min-width: min(180px, 100%); }
body[data-screen="panel"] .employee-toolbar > :is(button, .button) { align-self: flex-end; margin: 0; min-height: 38px; }
body[data-screen="panel"] .employee-toolbar label > :is(input, select) { display: block; margin-top: 6px; min-height: 38px; }
@media (max-width: 760px) {
  body[data-screen="panel"] .employee-toolbar > :is(button, .button) { flex: 1 1 auto; }
  body[data-screen="panel"] .employee-toolbar > .employee-search { flex-basis: 100%; max-width: none; }
  body[data-screen="panel"] .employee-toolbar > .employee-status { flex: 1 1 100%; }
}
body[data-screen="panel"] .employee-company button.employee-app-access-ready {
  background: var(--ui-success-bg);
  border-color: color-mix(in srgb, var(--ui-success-text) 28%, var(--line));
  color: var(--ui-success-text);
  border-radius: 7px;
}
body[data-screen="panel"] .employee-company button.employee-app-access-ready:hover { background: var(--ui-success-bg); border-color: var(--ui-success-text); }
body[data-screen="panel"] .operations-report .daily-employee-name {
  color: var(--theme-link);
  font-weight: 600;
  font-size: inherit;
  background: transparent;
}
body[data-screen="panel"] .operations-report .daily-employee-name:hover { color: var(--theme-link); background: transparent; text-decoration: underline; }
body[data-screen="panel"] .operations-report .daily-employee-row:hover > td,
body[data-screen="panel"] .operations-report .daily-employee-row:has(.daily-employee-name:focus-visible) > td { background: var(--accent-soft); }
body[data-screen="panel"] td .marks-view-trigger {
  display: block;
  width: fit-content;
  color: var(--theme-link);
  background: transparent;
  border: 0;
  border-radius: 3px;
  font-size: calc(11px * var(--font-scale, 1));
  padding: 5px 0;
}
body[data-screen="panel"] td .marks-view-trigger:hover { color: var(--theme-link); background: transparent; text-decoration: underline; }
body[data-screen="panel"] .operations-report td .daily-employee-name,
body[data-screen="panel"] .operations-report td .marks-view-trigger { color: var(--theme-link); }
/* Supera o hover dos botões preenchidos sem criar fundo nos botões de texto. */
body[data-screen="panel"] :is(main, dialog) button:is(.marks-view-trigger, .daily-employee-name, .monthly-name, .monthly-medical-button):hover:not(:disabled) {
  background: transparent;
  border-color: transparent;
  color: var(--theme-link);
}

/* Indicadores e avisos mantêm o significado de cada estado. */
body[data-screen="panel"] :is(.journey-kpis, .monthly-kpis) { gap: 14px; margin: 20px 0 22px; }
body[data-screen="panel"] :is(.journey-kpis > button, .journey-kpis > div, .monthly-kpis > div) {
  display: block;
  min-height: 88px;
  padding: 17px 20px !important;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
  color: var(--ink);
  text-align: left;
  box-shadow: var(--ui-shadow);
}
body[data-screen="panel"] .journey-kpis > button:hover { background: var(--accent-soft); border-color: var(--teal); }
body[data-screen="panel"] .journey-kpis > button[aria-pressed="true"] { background: var(--accent-soft); border-color: var(--teal); }
body[data-screen="panel"] :is(.journey-kpis > button b, .journey-kpis > div b, .monthly-kpis b) {
  color: var(--ink);
  font-size: calc(26px * var(--font-scale, 1));
  font-weight: 650;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
  margin: 0 0 7px;
}
body[data-screen="panel"] :is(.journey-kpis > button span, .journey-kpis > div span, .monthly-kpis span) {
  color: var(--muted);
  font-size: calc(12px * var(--font-scale, 1));
  line-height: 1.4;
}
body[data-screen="panel"] .journey-kpis .pending b { color: var(--ui-warning-text); }
body[data-screen="panel"] :is(.pending-review, .pending-person, .pending-review-summary) {
  border-color: color-mix(in srgb, var(--ui-warning-text) 25%, var(--line));
  background: var(--ui-warning-bg);
  color: var(--ui-warning-text);
  border-radius: 9px;
}
body[data-screen="panel"] .pending-review { padding: 13px 16px; margin-bottom: 20px; }
body[data-screen="panel"] .pending-review.pending-review-compact { padding: 0; background: var(--ui-warning-bg); color: var(--ui-warning-text); border-color: color-mix(in srgb, var(--ui-warning-text) 25%, var(--line)); }
body[data-screen="panel"] .pending-review-content { border-color: color-mix(in srgb, var(--ui-warning-text) 25%, var(--line)); }
body[data-screen="panel"] .pending-review-content > p { color: var(--ui-warning-text); font-size: calc(12px * var(--font-scale, 1)); }
body[data-screen="panel"] .pending-review h2 { font-size: calc(14px * var(--font-scale, 1)) !important; color: var(--ui-warning-text); }
body[data-screen="panel"] .pending-review :is(p, small, strong) { color: inherit; }
body[data-screen="panel"] .pending-person { background: var(--surface); min-height: 64px; padding: 11px 13px; }
body[data-screen="panel"] .pending-person:hover { background: var(--ui-warning-bg); border-color: var(--ui-warning-text); }
body[data-screen="panel"] .pending-person strong { font-size: calc(12px * var(--font-scale, 1)); }
body[data-screen="panel"] .pending-count { background: var(--ui-warning-bg); color: var(--ui-warning-text); font-size: calc(11px * var(--font-scale, 1)); }
body[data-screen="panel"] :is(.pending-clear, .daily-status-hint, #updated) { color: var(--muted); font-size: calc(11px * var(--font-scale, 1)); }
body[data-screen="panel"] .daily-status-hint { color: var(--muted) !important; font-size: calc(11px * var(--font-scale, 1)) !important; }
body[data-screen="panel"] .pending-clear { border-color: var(--line); background: var(--surface-alt); padding: 12px 16px; }
body[data-screen="panel"] .entry-pending { background: var(--ui-warning-bg); }
body[data-screen="panel"] :is(.daily-punch-alert.is-late, .daily-lateness-total.is-late) { color: var(--ui-danger-text); }
body[data-screen="panel"] :is(.daily-punch-alert.is-missing, .daily-indicator.is-warning) { color: var(--ui-warning-text); }
body[data-screen="panel"] .daily-indicator.is-warning { border-color: color-mix(in srgb, var(--ui-warning-text) 25%, var(--line)); background: var(--ui-warning-bg); }
body[data-screen="panel"] .daily-indicator { background: var(--surface-alt); color: var(--muted); border-radius: 7px; }
body[data-screen="panel"] .daily-indicator.is-closed { background: var(--ui-success-bg); color: var(--ui-success-text); border-color: color-mix(in srgb, var(--ui-success-text) 25%, var(--line)); }
body[data-screen="panel"] :is(.daily-indicator.is-vacation, .daily-indicator.is-calendar, .daily-indicator.is-medical, .daily-indicator.is-justified) { background: var(--accent-soft); color: var(--theme-link); border-color: var(--line); }
body[data-screen="panel"] .operations-report .daily-punch-alert { font-size: calc(11px * var(--font-scale, 1)); color: var(--ui-danger-text); }
body[data-screen="panel"] .operations-report .daily-punch-alert.is-missing { color: var(--ui-warning-text); }
body[data-screen="panel"] .operations-report tr.daily-missing-punches > td:first-child { box-shadow: inset 3px 0 0 var(--ui-danger-text); }
body[data-screen="panel"] :is(.day-editor-punch-time, .day-editor-summary .day-editor-punch-time) { color: var(--ink); }
body[data-screen="panel"] .daily-lateness-total { color: var(--muted); font-size: calc(11px * var(--font-scale, 1)); }
body[data-screen="panel"] .daily-lateness-total.is-late { color: var(--ui-danger-text); }
body[data-screen="panel"] :is(.daily-summary > .summary-card) {
  background: var(--surface) !important;
  border-color: var(--line) !important;
  color: var(--ink) !important;
  border-radius: 10px;
  padding: 20px !important;
}
body[data-screen="panel"] .daily-summary strong { font-size: calc(26px * var(--font-scale, 1)); }
body[data-screen="panel"] #notice:not(:empty) { background: var(--ui-warning-bg); color: var(--ui-warning-text); border: 1px solid color-mix(in srgb, var(--ui-warning-text) 25%, var(--line)); border-radius: 8px; padding: 12px 15px; }
body[data-screen="panel"] :is(.info, .audit-event, pre) { background: var(--surface-alt); border-color: var(--line); color: var(--ink); border-radius: 8px; }
body[data-screen="panel"] .info { border-left-color: var(--teal); }
body[data-screen="panel"] .audit-event { background: var(--surface); border: 1px solid var(--line); }

/* Diálogos conservam seu fluxo e seus rodapés fixos. */
body[data-screen="panel"] dialog {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
  color: var(--ink);
  box-shadow: 0 24px 80px #0b233b38;
  max-height: calc(100dvh - 48px);
}
body[data-screen="panel"] dialog::backdrop { background: #0c243b80; backdrop-filter: blur(2px); }
body[data-screen="panel"] :is(.day-editor, .employee-editor-dialog) { width: min(1060px, calc(100vw - 48px)); }
body[data-screen="panel"] .monthly-dialog { width: min(1120px, calc(100vw - 48px)); }
body[data-screen="panel"] .marks-dialog { width: min(650px, calc(100vw - 48px)); }
body[data-screen="panel"] :is(.day-editor, .monthly-dialog, .marks-dialog, .employee-editor-dialog, .pp-bulk-dialog) { padding: 0; }
body[data-screen="panel"] :is(.day-editor-header, .monthly-dialog-header, .marks-dialog-header, .employee-editor-heading, .pp-bulk-dialog-heading) {
  background: var(--surface);
  color: var(--ink);
  border-bottom-color: var(--line);
  padding: 22px 26px;
}
body[data-screen="panel"] :is(.day-editor, .monthly-dialog, .marks-dialog, .employee-editor-dialog, .pp-bulk-dialog) h2 {
  color: var(--ink);
  font-size: calc(19px * var(--font-scale, 1)) !important;
  font-weight: 650;
  letter-spacing: -.4px;
  line-height: 1.35;
}
body[data-screen="panel"] :is(.day-editor-header p, .monthly-dialog-header p, .marks-dialog-header p, .employee-editor-heading p) {
  color: var(--muted);
  font-size: calc(12px * var(--font-scale, 1));
}
body[data-screen="panel"] :is(.day-editor-eyebrow, .monthly-eyebrow, .marks-dialog-eyebrow, .employee-editor-heading > div > span) {
  color: var(--muted);
  font-size: calc(11px * var(--font-scale, 1));
  letter-spacing: .06em;
  font-weight: 600;
}
body[data-screen="panel"] :is(.day-editor-body, .monthly-dialog-body, .marks-dialog-body, .employee-editor-body, .pp-bulk-dialog-body) { padding: 24px 26px; }
body[data-screen="panel"] :is(.day-editor-close, .monthly-close, .marks-dialog-close) {
  background: var(--surface-alt);
  border: 1px solid var(--line);
  color: var(--muted);
  border-radius: 7px;
  min-width: 36px;
  min-height: 36px !important;
  padding: 5px 10px !important;
  margin: 0 !important;
  font-size: 22px !important;
}
body[data-screen="panel"] :is(.day-editor-close, .monthly-close, .marks-dialog-close):hover { background: var(--accent-soft); color: var(--theme-link); }
body[data-screen="panel"] :is(.day-editor-summary > div, .monthly-detail-kpis > div) { background: var(--surface-alt); border-color: var(--line); border-radius: 8px; padding: 13px 15px; }
body[data-screen="panel"] :is(.day-editor-summary b, .monthly-detail-kpis b) { color: var(--ink); font-size: calc(20px * var(--font-scale, 1)); font-weight: 650; }
body[data-screen="panel"] :is(.day-editor-summary small, .monthly-detail-kpis span, .monthly-detail-kpis small) { color: var(--muted); font-size: calc(11px * var(--font-scale, 1)); }
body[data-screen="panel"] :is(.day-editor-state, .day-editor-state b, .day-history summary, .day-history h3, .day-history > p) { color: var(--muted); }
body[data-screen="panel"] .day-actions > button { display: block; min-height: 92px !important; background: var(--surface); color: var(--ink); border-color: var(--line); padding: 15px !important; }
body[data-screen="panel"] .day-actions > button:hover { background: var(--surface-alt); border-color: var(--teal); }
body[data-screen="panel"] .day-actions > button[aria-pressed="true"] { border-color: var(--teal); background: var(--accent-soft); box-shadow: inset 0 0 0 1px var(--teal); }
body[data-screen="panel"] .day-actions b { color: var(--ink); font-size: calc(13px * var(--font-scale, 1)); }
body[data-screen="panel"] .day-actions span { color: var(--muted); font-size: calc(11px * var(--font-scale, 1)); }
body[data-screen="panel"] :is(.day-action-panel, .day-history-item) { background: var(--surface); border-color: var(--line); color: var(--ink); border-radius: 10px; }
body[data-screen="panel"] .day-action-panel { padding: 20px; }
body[data-screen="panel"] .day-action-panel h3 { color: var(--ink); font-size: calc(16px * var(--font-scale, 1)); }
body[data-screen="panel"] :is(.day-action-panel > p, .day-history-item > b, .day-history-item p, .day-editor label) { color: var(--muted); }
body[data-screen="panel"] .day-editor textarea { border-color: var(--line); color: var(--ink); background: var(--surface); font-size: calc(12px * var(--font-scale, 1)); }
body[data-screen="panel"] .day-action-panel fieldset { border-color: var(--line); }
body[data-screen="panel"] .day-history { border-top-color: var(--line); }
body[data-screen="panel"] :is(.day-review-note, .day-absence-confirmed, .day-leave-periods) { background: var(--accent-soft); border-color: var(--line); color: var(--ink); }
body[data-screen="panel"] :is(.day-review-note p, .day-review-note small) { color: var(--muted); }
body[data-screen="panel"] :is(.day-review-stale, .day-editor-notice, .day-observation-info, .day-occurrences.has-warning) {
  background: var(--ui-warning-bg);
  border-color: color-mix(in srgb, var(--ui-warning-text) 25%, var(--line));
  color: var(--ui-warning-text);
}
body[data-screen="panel"] .marks-detail-table th { font-size: calc(11px * var(--font-scale, 1)); }
body[data-screen="panel"] .marks-detail-table td { font-size: calc(12px * var(--font-scale, 1)); }
body[data-screen="panel"] .marks-empty { color: var(--muted); font-size: calc(12px * var(--font-scale, 1)); }

/* Conferência mensal, semanas e totalizadores. */
body[data-screen="panel"] :is(.monthly-status, .monthly-hours-status, .monthly-day-status) {
  background: var(--ui-warning-bg);
  color: var(--ui-warning-text);
  border-radius: 6px;
  font-size: calc(11px * var(--font-scale, 1));
  font-weight: 550;
  padding: 4px 7px;
}
body[data-screen="panel"] :is(.monthly-status.is-verified, .monthly-hours-status.is-ok, .monthly-day-status.is-ok) { background: var(--ui-success-bg); color: var(--ui-success-text); }
body[data-screen="panel"] :is(.monthly-hours-status.is-open, .monthly-day-status.is-open) { background: var(--surface-alt); color: var(--muted); }
body[data-screen="panel"] :is(.monthly-empty, .office-empty) { background: var(--surface); border-color: var(--line); color: var(--muted); border-radius: 10px; }
body[data-screen="panel"] :is(.monthly-empty h2, .office-empty b) { color: var(--ink); }
body[data-screen="panel"] td .monthly-name { color: var(--theme-link); background: transparent; border: 0; padding: 0; font-size: calc(12px * var(--font-scale, 1)); }
body[data-screen="panel"] td .monthly-name:hover { color: var(--theme-link); background: transparent; }
body[data-screen="panel"] .monthly-verification { background: var(--ui-warning-bg); color: var(--ui-warning-text); border-color: color-mix(in srgb, var(--ui-warning-text) 25%, var(--line)); border-radius: 8px; }
body[data-screen="panel"] .monthly-verification.is-verified { background: var(--ui-success-bg); color: var(--ui-success-text); border-color: color-mix(in srgb, var(--ui-success-text) 25%, var(--line)); }
body[data-screen="panel"] .monthly-verification :is(b, p, small) { color: inherit; }
body[data-screen="panel"] :is(.monthly-week, .monthly-month-total, .monthly-edit-panel) { background: var(--surface); border-color: var(--line); border-radius: 10px; }
body[data-screen="panel"] .monthly-week-header { background: var(--surface-alt); border-color: var(--line); padding: 14px 18px 12px; }
body[data-screen="panel"] :is(.monthly-week-header h4, .monthly-total-heading h3, .monthly-week-totals dd) { color: var(--ink); }
body[data-screen="panel"] .monthly-week-header h4 { font-size: calc(13px * var(--font-scale, 1)); }
body[data-screen="panel"] :is(.monthly-week-header span, .monthly-week-header p, .monthly-week-totals dt, .monthly-day-count, .monthly-week-help, .monthly-hours-help, .monthly-edit-help, .monthly-optional, .monthly-original-marks) {
  color: var(--muted);
  font-size: calc(11px * var(--font-scale, 1));
}
body[data-screen="panel"] .monthly-week-totals { background: var(--surface); border-color: var(--line); padding: 13px 18px 15px; }
body[data-screen="panel"] .monthly-week-totals dd { font-size: calc(18px * var(--font-scale, 1)); }
body[data-screen="panel"] .monthly-dialog .monthly-days-table th,
body[data-screen="panel"] .monthly-dialog .monthly-days-table td { padding: var(--ui-table-padding) 14px !important; border-color: var(--line); }
body[data-screen="panel"] .monthly-dialog .monthly-days-table th { font-size: calc(11px * var(--font-scale, 1)) !important; }
body[data-screen="panel"] .monthly-dialog .monthly-days-table td { font-size: calc(12px * var(--font-scale, 1)) !important; }
body[data-screen="panel"] .monthly-days-heading h3 { color: var(--ink); }
body[data-screen="panel"] .monthly-dialog-notice { background: var(--accent-soft); border-color: var(--line); color: var(--ink); }
body[data-screen="panel"] .monthly-dialog-notice.is-error { background: var(--ui-danger-bg); border-color: color-mix(in srgb, var(--ui-danger-text) 25%, var(--line)); color: var(--ui-danger-text); }
body[data-screen="panel"] .monthly-edit-panel :is(p, label) { color: var(--muted); font-size: calc(12px * var(--font-scale, 1)); }
body[data-screen="panel"] .monthly-edit-panel textarea { background: var(--surface); border-color: var(--line); color: var(--ink); }
body[data-screen="panel"] .monthly-justify-link { color: var(--theme-link); font-size: calc(11px * var(--font-scale, 1)); }
body[data-screen="panel"] :is(.monthly-day-status.is-vacation, .monthly-day-status.is-medical, .monthly-day-status.is-justified, .monthly-day-status.is-calendar) { background: var(--accent-soft); color: var(--theme-link); border-color: var(--line); }
body[data-screen="panel"] .monthly-day-status.is-absence { background: var(--ui-danger-bg); color: var(--ui-danger-text); }
body[data-screen="panel"] .monthly-day-row.is-absence { background: var(--ui-danger-bg); }
body[data-screen="panel"] :is(.monthly-day-row.is-vacation, .monthly-day-row.is-medical, .monthly-day-row.is-justified) { background: var(--accent-soft); }
body[data-screen="panel"] .monthly-days-table .monthly-day-hours b { color: var(--ink); }
body[data-screen="panel"] :is(.monthly-day-reason, .monthly-adjusted-note, .calendar-day-note) { color: var(--muted); font-size: calc(11px * var(--font-scale, 1)); }
body[data-screen="panel"] :is(.monthly-day-reason p, .calendar-day-note p, .monthly-week-header p, .monthly-hours-help, .monthly-week-help) { font-size: calc(11px * var(--font-scale, 1)) !important; }
body[data-screen="panel"] .monthly-day-actions .monthly-review-button { background: var(--surface-alt); color: var(--ink); border-color: var(--line); font-size: calc(11px * var(--font-scale, 1)); }
body[data-screen="panel"] .monthly-day-actions .monthly-review-button.has-warning { background: var(--ui-warning-bg); color: var(--ui-warning-text); border-color: color-mix(in srgb, var(--ui-warning-text) 25%, var(--line)); }
body[data-screen="panel"] .monthly-day-actions .monthly-medical-button { background: transparent; color: var(--theme-link); border: 0; padding: 5px 0; font-size: calc(11px * var(--font-scale, 1)); }
body[data-screen="panel"] .monthly-day-actions .monthly-medical-button:hover { background: transparent; color: var(--theme-link); }
body[data-screen="panel"] :is(.monthly-review-existing, .day-occurrences) { background: var(--surface-alt); border-color: var(--line); color: var(--ink); }
body[data-screen="panel"] .monthly-review-existing b { color: var(--ink); }
body[data-screen="panel"] .monthly-review-panel .day-occurrences.has-warning { background: var(--ui-warning-bg); border-color: color-mix(in srgb, var(--ui-warning-text) 25%, var(--line)); color: var(--ui-warning-text); }
body[data-screen="panel"] .monthly-medical-panel > p b { color: var(--ink); }

/* Cadastro: identidade, jornada e acesso permanecem dentro do editor. */
body[data-screen="panel"] .employee-editor-dialog { background: var(--surface-alt); }
body[data-screen="panel"] .employee-editor-form :is(fieldset, .employee-editor-recognition),
body[data-screen="panel"] .employee-editor-management { background: var(--surface); border-color: var(--line); border-radius: 10px; }
body[data-screen="panel"] .employee-editor-management :is(h3, b) { color: var(--ink); }
body[data-screen="panel"] .employee-editor-management p { color: var(--muted); font-size: calc(12px * var(--font-scale, 1)); }
body[data-screen="panel"] .employee-editor-footer { background: var(--surface); border-color: var(--line); bottom: -24px; margin: 24px -26px -24px; padding: 15px 26px; }
body[data-screen="panel"] .employee-editor-photo { border-color: var(--line); }
body[data-screen="panel"] .employee-editor-feedback,
body[data-screen="panel"] .employee-app-access [data-app-message][data-state="success"] { background: var(--ui-success-bg); border-color: color-mix(in srgb, var(--ui-success-text) 25%, var(--line)); color: var(--ui-success-text); }
body[data-screen="panel"] .employee-editor-feedback[data-tone="error"] { background: var(--ui-danger-bg); border-color: color-mix(in srgb, var(--ui-danger-text) 25%, var(--line)); color: var(--ui-danger-text); }
body[data-screen="panel"] .employee-editor-feedback[data-tone="warning"] { background: var(--ui-warning-bg); border-color: color-mix(in srgb, var(--ui-warning-text) 25%, var(--line)); color: var(--ui-warning-text); }
body[data-screen="panel"] .employee-editor-feedback[data-tone="pending"] { background: var(--accent-soft); border-color: var(--line); color: var(--ink); }
body[data-screen="panel"] :is(.employee-compensation, .employee-schedule, .compensation-results > div, .compensation-calendar, .compensation-calendar > div, .schedule-day, .schedule-models > label) {
  background: var(--surface-alt);
  border-color: var(--line);
  color: var(--ink);
  border-radius: 8px;
}
body[data-screen="panel"] :is(.compensation-results > div:nth-child(4), .compensation-results > div:nth-child(5), .schedule-cycle-summary) { background: var(--accent-soft); border-color: var(--line); }
body[data-screen="panel"] .compensation-results b { color: var(--ink); font-size: calc(23px * var(--font-scale, 1)); }
body[data-screen="panel"] .compensation-calendar b { color: var(--ink); font-size: calc(20px * var(--font-scale, 1)); }
body[data-screen="panel"] :is(.compensation-results span, .compensation-note, .schedule-help, .schedule-day small, .schedule-day-total) { color: var(--muted); font-size: calc(11px * var(--font-scale, 1)); }
body[data-screen="panel"] :is(.compensation-calendar label, .schedule-day label) { color: var(--muted); font-size: calc(11px * var(--font-scale, 1)); }
body[data-screen="panel"] .schedule-day input { background: var(--surface); border-color: var(--line); color: var(--ink); font-size: calc(12px * var(--font-scale, 1)) !important; }
body[data-screen="panel"] .schedule-day-toggle b { color: var(--ink); font-size: calc(12px * var(--font-scale, 1)); }
body[data-screen="panel"] .schedule-models > label:has(input:checked) { background: var(--accent-soft); border-color: var(--teal); box-shadow: inset 0 0 0 1px var(--teal); }
body[data-screen="panel"] .schedule-models b { color: var(--ink); font-size: calc(12px * var(--font-scale, 1)); }
body[data-screen="panel"] .schedule-models small { color: var(--muted); font-size: calc(11px * var(--font-scale, 1)); }
body[data-screen="panel"] .schedule-week-tabs button[aria-pressed="true"] { background: var(--teal); border-color: var(--teal); color: #fff; }
body[data-screen="panel"] .schedule-error { color: var(--ui-danger-text); }

/* Instalação e configurações do painel; não altera a tela dos terminais. */
body[data-screen="panel"] .installation-card { background: var(--surface); border-color: var(--line); border-radius: 10px; box-shadow: var(--ui-shadow); }
body[data-screen="panel"] .installation-card > .badge { background: var(--accent-soft); color: var(--theme-link); border-color: var(--line); font-size: calc(11px * var(--font-scale, 1)); }
body[data-screen="panel"] .installation-card h2 { color: var(--ink); font-size: calc(16px * var(--font-scale, 1)) !important; }
body[data-screen="panel"] .installation-card :is(p, small) { color: var(--muted); font-size: calc(12px * var(--font-scale, 1)); }
body[data-screen="panel"] .installation-card [data-link-box] { background: var(--surface-alt); border-color: var(--line); }
body[data-screen="panel"] .installation-card textarea { color: var(--ink); background: var(--surface); border-color: var(--line); font-size: calc(12px * var(--font-scale, 1)); }
body[data-screen="panel"] .device-agent { color: var(--muted); font-size: calc(11px * var(--font-scale, 1)); }
body[data-screen="panel"] :is(.time-settings-page, .extra-access-settings) :is(.info, .time-settings-help) { color: var(--muted); background: var(--surface-alt); border-color: var(--line); }
body[data-screen="panel"] :is(.time-settings-card legend, .time-settings-grid input, .time-settings-examples strong) { color: var(--ink); }
body[data-screen="panel"] :is(.time-settings-grid label, .time-settings-footer p, .time-settings-status, .time-settings-note) { color: var(--muted); font-size: calc(12px * var(--font-scale, 1)); }
body[data-screen="panel"] .time-settings-examples { background: var(--surface-alt); color: var(--muted); border-color: var(--line); }
body[data-screen="panel"] .time-settings-footer { border-color: var(--line); }
body[data-screen="panel"] :is(.time-settings-status[data-tone="error"], .extra-access-settings .is-error) { color: var(--ui-danger-text); }
body[data-screen="panel"] .time-settings-status[data-tone="success"] { color: var(--ui-success-text); }
body[data-screen="panel"] .punch-slot-field .punch-slot-remove { color: var(--ui-danger-text) !important; background: var(--ui-danger-bg); border-color: color-mix(in srgb, var(--ui-danger-text) 25%, var(--line)); font-size: calc(11px * var(--font-scale, 1)) !important; }
body[data-screen="panel"] .punch-slot-field .punch-slot-remove:hover { background: var(--ui-danger-bg) !important; border-color: var(--ui-danger-text); }
body[data-screen="panel"] .punch-removal-target { background: var(--surface-alt); border-color: var(--line); color: var(--muted); }
body[data-screen="panel"] .punch-removal-target strong { color: var(--ink); font-size: calc(24px * var(--font-scale, 1)); }

/* Feriados e pessoas autorizadas compartilham as mesmas cores do painel. */
body[data-screen="panel"] :is(.pp-holiday-presets, .pp-holiday-weekly, .pp-holiday-dialog .pp-holiday-decision-form, .authorized-people-tabs, .portal-owner-editor-heading, .portal-owner-editor-footer) { background: var(--surface); color: var(--ink); border-color: var(--line); }
body[data-screen="panel"] :is(.pp-holiday-presets-heading, .portal-owner-editor) { background: var(--surface-alt); border-color: var(--line); }
body[data-screen="panel"] :is(.pp-holiday-eyebrow, .pp-holiday-presets-heading p, .pp-holiday-preset-status, .pp-holiday-date span, .pp-holiday-companies, .pp-holiday-companies b, .pp-holiday-empty, .pp-holiday-weekly-heading p, .pp-holiday-week-label, .pp-holiday-current, .pp-holiday-current b, .pp-holiday-meta, .pp-holiday-meta > summary, .pp-holiday-reference, .pp-holiday-dialog-body > p, .pp-holiday-choice small, .portal-owners-heading p, .portal-owners-app-link, .portal-owner-status, .portal-owners-empty, .portal-owner-editor-description, .portal-owner-editor-heading span, .portal-owner-companies small) { color: var(--muted); font-size: calc(11px * var(--font-scale, 1)); }
body[data-screen="panel"] :is(.pp-holiday-presets h2, .pp-holiday-body h3, .pp-holiday-date, .pp-holiday-weekly-heading h2, .pp-holiday-weekly-row > b, .pp-holiday-choice b, .pp-holiday-dialog-body > label, .pp-holiday-dialog legend) { color: var(--ink); }
body[data-screen="panel"] :is(.pp-holiday-item, .pp-holiday-weekly-row, .pp-holiday-dialog .pp-holiday-full-day, .portal-owner-companies) { border-color: var(--line) !important; }
body[data-screen="panel"] .pp-holiday-item.is-requested { background: var(--accent-soft); box-shadow: inset 3px 0 var(--teal); }
body[data-screen="panel"] :is(.pp-holiday-jurisdiction, .pp-holiday-state, .pp-calendar-preset-mark, .pp-holiday-weekly-symbol, .portal-owner-company) { background: var(--accent-soft); color: var(--theme-link); border-color: var(--teal); font-size: calc(11px * var(--font-scale, 1)); }
body[data-screen="panel"] :is(.pp-holiday-state.is-pending, .pp-calendar-preset-mark.is-pending, .has-pending .pp-holiday-weekly-symbol, .pp-holiday-weekly-error) { background: var(--ui-warning-bg); color: var(--ui-warning-text); border-color: color-mix(in srgb, var(--ui-warning-text) 25%, var(--line)); }
body[data-screen="panel"] :is(.pp-holiday-state.is-holiday, .pp-calendar-preset-mark.is-holiday) { background: var(--ui-success-bg); color: var(--ui-success-text); border-color: var(--ui-success-text); }
body[data-screen="panel"] :is(.pp-holiday-state.is-mixed, .pp-calendar-preset-mark.is-mixed, .pp-holiday-projected, .pp-holiday-jurisdiction.is-optional) { background: var(--surface-alt); color: var(--muted); border-color: var(--line); }
body[data-screen="panel"] .pp-holiday-dialog header { background: var(--surface); color: var(--ink); border-color: var(--line); padding: 22px 26px; }
body[data-screen="panel"] .pp-holiday-dialog header h2 { color: var(--ink); font-size: calc(19px * var(--font-scale, 1)); }
body[data-screen="panel"] .pp-holiday-dialog header .pp-holiday-eyebrow { color: var(--muted); }
body[data-screen="panel"] .pp-holiday-dialog header button.secondary { background: var(--surface-alt); color: var(--muted); border-color: var(--line); }
body[data-screen="panel"] .pp-holiday-dialog-body { padding: 24px 26px; }
body[data-screen="panel"] :is(.pp-holiday-conflict, .pp-holiday-weekly.has-pending) { border-color: color-mix(in srgb, var(--ui-warning-text) 25%, var(--line)); }
body[data-screen="panel"] .pp-holiday-conflict { color: var(--ui-warning-text); }
body[data-screen="panel"] :is(.pp-holiday-decision-error, .portal-owner-feedback[data-tone="error"]) { background: var(--ui-danger-bg); color: var(--ui-danger-text); border-color: color-mix(in srgb, var(--ui-danger-text) 25%, var(--line)); }
body[data-screen="panel"] .portal-owner-feedback { background: var(--ui-success-bg); color: var(--ui-success-text); border-color: color-mix(in srgb, var(--ui-success-text) 25%, var(--line)); }
body[data-screen="panel"] .portal-owner-feedback[data-tone="pending"] { background: var(--accent-soft); color: var(--ink); border-color: var(--line); }
body[data-screen="panel"] .portal-owner-feedback[data-tone="warning"] { background: var(--ui-warning-bg); color: var(--ui-warning-text); border-color: color-mix(in srgb, var(--ui-warning-text) 25%, var(--line)); }
body[data-screen="panel"] .portal-owner-status.enabled { color: var(--ui-success-text); }
body[data-screen="panel"] .authorized-people-tabs button { background: transparent; color: var(--muted); border-color: transparent; }
body[data-screen="panel"] .authorized-people-tabs button.active { background: var(--teal); border-color: var(--teal); color: #fff; }

/* Backup, restauração e seus resultados. */
body[data-screen="panel"] .backups-page .panel { background: var(--surface); border-color: var(--line); border-radius: 10px; padding: 22px; }
body[data-screen="panel"] .backups-overview { border-color: var(--line); border-left-color: var(--teal); background: var(--accent-soft); }
body[data-screen="panel"] .backups-overview [data-backups-last] { color: var(--ink); font-size: calc(13px * var(--font-scale, 1)); }
body[data-screen="panel"] :is(.backups-eyebrow, .backups-help, .backups-destination, .backups-empty, .desktop-backup-summary dt, .restore-help, .restore-empty, .restore-progress p, .restore-preserved) { color: var(--muted); font-size: calc(11px * var(--font-scale, 1)); }
body[data-screen="panel"] :is(.desktop-backup-summary dd, .restore-preview h3, .restore-result h3, .restore-heading h2) { color: var(--ink); }
body[data-screen="panel"] :is(.backups-notice, .restore-notice) { background: var(--accent-soft); border-color: var(--line); color: var(--ink); }
body[data-screen="panel"] .backups-notice[data-tone="saved"] { background: var(--ui-success-bg); color: var(--ui-success-text); }
body[data-screen="panel"] :is(.backups-notice[data-tone="error"], .restore-notice[data-tone="error"]) { background: var(--ui-danger-bg); border-color: color-mix(in srgb, var(--ui-danger-text) 25%, var(--line)); color: var(--ui-danger-text); }
body[data-screen="panel"] :is(.backups-state, .restore-state) { background: var(--surface-alt); color: var(--muted); font-size: calc(11px * var(--font-scale, 1)); }
body[data-screen="panel"] .backups-state.is-running { background: var(--accent-soft); color: var(--theme-link); }
body[data-screen="panel"] :is(.backups-state.is-ok, .restore-state.is-completed) { background: var(--ui-success-bg); color: var(--ui-success-text); }
body[data-screen="panel"] :is(.backups-state.is-error, .restore-state.is-failed, .restore-state.is-verification_required) { background: var(--ui-danger-bg); color: var(--ui-danger-text); }
body[data-screen="panel"] .data-restore-panel { border-top-color: var(--teal); }
body[data-screen="panel"] :is(.restore-progress, .restore-preserved, .restore-history-table) { background: var(--surface-alt); border-color: var(--line); }
body[data-screen="panel"] .restore-progress progress { accent-color: var(--teal); }
body[data-screen="panel"] .restore-warning { background: var(--ui-warning-bg); border-color: color-mix(in srgb, var(--ui-warning-text) 25%, var(--line)); color: var(--ui-warning-text); }
body[data-screen="panel"] .restore-result { background: var(--ui-success-bg); border-color: color-mix(in srgb, var(--ui-success-text) 25%, var(--line)); color: var(--ui-success-text); }
body[data-screen="panel"] .restore-result.is-error { background: var(--ui-danger-bg); border-color: color-mix(in srgb, var(--ui-danger-text) 25%, var(--line)); color: var(--ui-danger-text); }
body[data-screen="panel"] .restore-result :is(h3, p) { color: inherit; }
body[data-screen="panel"] :is(.restore-safety-link, .restore-history-link) { color: var(--theme-link); }
body[data-screen="panel"] input[type="file"]::file-selector-button { margin: -3px 10px -3px -4px; padding: 6px 10px; border: 1px solid var(--line); border-radius: 5px; background: var(--surface-alt); color: var(--ink); font: inherit; cursor: pointer; }

/* Demais módulos usam as mesmas superfícies e estados. */
body[data-screen="panel"] :is(.office-filters, .office-company, .office-archive-company, .pp-calendar-monthbar, .pp-calendar-filters, .pp-calendar-event, .pp-calendar-editor, .pp-notices-editor, .pp-notices-published, .accounting-delivery, .accounting-delivery-company, .pp-bulk-page .panel, .pp-bulk-person) {
  background: var(--surface);
  color: var(--ink);
  border-color: var(--line);
  border-radius: 10px;
}
body[data-screen="panel"] :is(.office-company-title h2, .office-schedule b, .office-schedule dd, .office-archive-company > summary, .office-archive-month > summary, .pp-calendar-step h2, .pp-calendar-list-heading h2, .pp-calendar-event h3, .pp-calendar-empty b, .pp-notice-item h3, .pp-notices-empty h3, .pp-bulk-page h2, .pp-bulk-company h3) { color: var(--ink); }
body[data-screen="panel"] :is(.office-heading p, .office-calculation-note, .office-archive-note, .office-archive-note p, .office-archive-company summary small, .office-archive-month-body ul, .office-schedule dt, .office-schedule dd small, .pp-calendar-heading p, .pp-calendar-status, .pp-calendar-help, .pp-calendar-list-heading > span, .pp-calendar-event-period, .pp-calendar-event-company, .pp-calendar-event-notes, .pp-calendar-empty, .pp-notices-heading p, .pp-notices-status, .pp-notice-audience, .pp-notice-content p, .pp-notice-meta, .pp-notices-empty, .pp-notices-empty p, .pp-bulk-heading p, .pp-bulk-help, .pp-bulk-note, .pp-bulk-section-heading p, .pp-bulk-selection-actions > span, .pp-bulk-empty) {
  color: var(--muted);
  font-size: calc(12px * var(--font-scale, 1));
}
body[data-screen="panel"] :is(.office-readonly, .office-calculation-note, .office-archive-note, .office-archive-company > summary, .pp-calendar-empty, .pp-calendar-event.is-archived, .pp-notices-empty > span, .pp-bulk-section-heading h2 > span) { background: var(--surface-alt); color: var(--muted); border-color: var(--line); }
body[data-screen="panel"] :is(.office-archive-periods, .office-archive-month, .office-schedule dl > div, .pp-notice-item, .pp-bulk-company, .pp-calendar-editor-heading) { border-color: var(--line); }
body[data-screen="panel"] :is(.office-folder-icon, .pp-calendar-event-kind > span, .pp-calendar-day-event, .pp-notice-content summary) { color: var(--theme-link); }
body[data-screen="panel"] .pp-calendar-grid { background: var(--surface); border-color: var(--line); }
body[data-screen="panel"] .pp-calendar-grid th { background: var(--surface-alt); color: var(--muted); padding: 10px 2px; font-size: calc(11px * var(--font-scale, 1)); }
body[data-screen="panel"] .pp-calendar-grid td { padding: 0; border-color: var(--line); }
body[data-screen="panel"] .pp-calendar-grid .pp-calendar-day { background: var(--surface); color: var(--ink); border: 0; border-radius: 0; font-size: calc(12px * var(--font-scale, 1)); padding: 10px 7px; }
body[data-screen="panel"] .pp-calendar-grid .pp-calendar-day:is(:hover, .is-selected) { background: var(--accent-soft); }
body[data-screen="panel"] .pp-calendar-grid .pp-calendar-day.is-selected { box-shadow: inset 0 0 0 2px var(--teal); }
body[data-screen="panel"] .pp-calendar-grid .pp-calendar-day.is-other-month { background: var(--surface-alt); color: var(--muted); }
body[data-screen="panel"] .pp-calendar-day[aria-current="date"] .pp-calendar-number { color: var(--theme-link); }
body[data-screen="panel"] .pp-calendar-today { background: var(--teal); color: #fff; }
body[data-screen="panel"] .pp-calendar-day-event { background: var(--accent-soft); border-color: var(--teal); font-size: calc(10px * var(--font-scale, 1)); }
body[data-screen="panel"] .pp-calendar-page [data-event-kind="bridge"] { background: var(--ui-warning-bg); color: var(--ui-warning-text); border-color: var(--ui-warning-text); }
body[data-screen="panel"] .pp-calendar-page [data-event-kind="collective_vacation"] { background: var(--accent-soft); color: var(--theme-link); border-color: var(--teal); }
body[data-screen="panel"] .pp-calendar-page [data-event-kind="other"] { background: var(--surface-alt); color: var(--muted); border-color: var(--line); }
body[data-screen="panel"] .pp-calendar-more { color: var(--muted); font-size: calc(10px * var(--font-scale, 1)); }
body[data-screen="panel"] .pp-notice-delete { background: var(--surface-alt); color: var(--muted); border-color: var(--line); }
body[data-screen="panel"] .pp-notice-delete:hover { background: var(--ui-danger-bg) !important; color: var(--ui-danger-text) !important; border-color: var(--ui-danger-text) !important; }
body[data-screen="panel"] :is(.pp-notices-error, .pp-bulk-feedback[data-kind="error"], .pp-bulk-preview-warning) { background: var(--ui-danger-bg); color: var(--ui-danger-text); border-color: color-mix(in srgb, var(--ui-danger-text) 25%, var(--line)); }
body[data-screen="panel"] .pp-bulk-feedback { background: var(--accent-soft); color: var(--ink); border-color: var(--line); }
body[data-screen="panel"] .pp-bulk-feedback[data-kind="success"] { background: var(--ui-success-bg); color: var(--ui-success-text); border-color: color-mix(in srgb, var(--ui-success-text) 25%, var(--line)); }
body[data-screen="panel"] .pp-bulk-feedback[data-kind="warning"] { background: var(--ui-warning-bg); color: var(--ui-warning-text); border-color: color-mix(in srgb, var(--ui-warning-text) 25%, var(--line)); }
body[data-screen="panel"] .pp-bulk-person:has(input:checked) { background: var(--accent-soft); border-color: var(--teal); }
body[data-screen="panel"] .pp-bulk-invalid td { background: var(--ui-danger-bg); }
body[data-screen="panel"] .pp-bulk-row-error { color: var(--ui-danger-text); }
body[data-screen="panel"] .pp-bulk-row-status { color: var(--ui-success-text); }

/* Entregas ficam secundárias à conferência, com detalhes disponíveis por expansão. */
body[data-screen="panel"] .accounting-delivery h2 { color: var(--ink); font-size: calc(14px * var(--font-scale, 1)) !important; }
body[data-screen="panel"] .accounting-delivery-company h3 { color: var(--ink); font-size: calc(12px * var(--font-scale, 1)) !important; }
body[data-screen="panel"] :is(.accounting-delivery-ready, .accounting-delivery-details > summary, .accounting-delivery-summary-stats, .accounting-delivery-recipient-read, .accounting-delivery-help, .accounting-delivery-history > summary, .accounting-delivery-job, .accounting-delivery-downloads li, .accounting-delivery-downloads b, .accounting-delivery-downloads small, .accounting-delivery-no-download, .accounting-delivery-empty, .accounting-delivery-loading, .accounting-recipient-help) {
  color: var(--muted);
  font-size: calc(11px * var(--font-scale, 1)) !important;
}
body[data-screen="panel"] .accounting-delivery-ready.is-ready { color: var(--ui-success-text); }
body[data-screen="panel"] :is(.accounting-delivery-detail-toolbar, .accounting-delivery-downloads) { border-color: var(--line); }
body[data-screen="panel"] .accounting-delivery-indicator { background: var(--surface-alt); color: var(--muted); }
body[data-screen="panel"] .accounting-delivery-indicator.is-sent { background: var(--ui-success-bg); color: var(--ui-success-text); }
body[data-screen="panel"] .accounting-delivery-indicator.is-queued { background: var(--accent-soft); color: var(--theme-link); }
body[data-screen="panel"] :is(.accounting-delivery-indicator.is-error, .accounting-delivery-indicator.is-stale, .accounting-delivery-blockers, .accounting-delivery-notice.is-error) { background: var(--ui-warning-bg); color: var(--ui-warning-text); border-color: var(--ui-warning-text); }
body[data-screen="panel"] :is(.accounting-delivery-state, .accounting-delivery-blockers p, .accounting-delivery-error) { color: var(--ui-warning-text); }
body[data-screen="panel"] .accounting-delivery-notice { background: var(--accent-soft); color: var(--ink); border-color: var(--line); }

/* Toque, ampliação de texto e preferências do usuário. */
@media (max-width: 760px) {
  body[data-screen="panel"] :is(main, dialog) :is(button, .button, input:not([type="checkbox"]):not([type="radio"]), select) { min-height: 42px; }
  body[data-screen="panel"] td button { min-height: 42px; }
  body[data-screen="panel"] :is(.panel, .card, .backups-page .panel, .pp-bulk-page .panel) { padding: 20px; }
  body[data-screen="panel"] dialog,
  body[data-screen="panel"] :is(.day-editor, .monthly-dialog, .marks-dialog, .employee-editor-dialog) { width: calc(100vw - 26px); max-height: calc(100dvh - 26px); border-radius: 12px; }
  body[data-screen="panel"] :is(.day-editor-header, .monthly-dialog-header, .marks-dialog-header, .employee-editor-heading, .pp-bulk-dialog-heading) { padding: 19px; }
  body[data-screen="panel"] :is(.day-editor-body, .monthly-dialog-body, .marks-dialog-body, .employee-editor-body, .pp-bulk-dialog-body) { padding: 20px; }
  body[data-screen="panel"] .employee-editor-footer { bottom: -20px; margin: 20px -20px -20px; padding: 15px 20px; }
  body[data-screen="panel"] :is(.day-editor-close, .monthly-close, .marks-dialog-close) { min-width: 42px; min-height: 42px !important; }
  body[data-screen="panel"] :is(.journey-kpis > button, .journey-kpis > div, .monthly-kpis > div) { padding: 15px !important; }
  body[data-screen="panel"] .day-actions > button { min-height: 0 !important; }
  body[data-screen="panel"] .employee-company button.employee-app-access-ready { min-width: 42px; min-height: 42px; width: 42px; height: 42px; }
  body[data-screen="panel"] :is(.pp-calendar-layout, .pp-notices-layout) { grid-template-columns: minmax(0, 1fr); }
  body[data-screen="panel"] .pp-calendar-editor { position: static; }
  body[data-screen="panel"] :is(.pp-holiday-dialog header, .pp-holiday-dialog-body) { padding: 20px; }
  body[data-screen="panel"] .punch-slot-field .punch-slot-remove { min-height: 42px !important; }
}
@media (max-width: 430px) {
  body[data-screen="panel"] :is(main, dialog) h1 { font-size: calc(24px * var(--font-scale, 1)); }
  body[data-screen="panel"] .filters { padding: 15px; gap: 13px; }
  body[data-screen="panel"] .filters > :is(div, label) { flex: 1 1 100%; min-width: 0; }
  body[data-screen="panel"] :is(.employee-editor-identity, .compensation-fields, .schedule-standard-fields, .compensation-calendar, .installation-grid, .backups-grid, .restore-upload-form, .pp-bulk-people-grid) { grid-template-columns: minmax(0, 1fr); }
  body[data-screen="panel"] :is(.day-editor-summary, .monthly-detail-kpis) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-screen="panel"] .day-actions { grid-template-columns: minmax(0, 1fr); }
  body[data-screen="panel"] .employee-editor-heading { gap: 10px; }
  body[data-screen="panel"] .employee-editor-heading h2 { overflow-wrap: anywhere; }
  body[data-screen="panel"] :is(.employee-editor-footer, .pp-bulk-dialog-actions, .pp-notices-dialog-actions) button { flex: 1; }
  body[data-screen="panel"] .pp-calendar-monthbar { flex-wrap: wrap; gap: 12px; }
  body[data-screen="panel"] .pp-calendar-grid .pp-calendar-day { padding: 8px 3px; }
  body[data-screen="panel"] .pp-calendar-day-event { font-size: calc(9px * var(--font-scale, 1)); padding-inline: 2px; }
  body[data-screen="panel"] .accounting-delivery-heading > button { min-height: 42px !important; }
}
body[data-screen="panel"][data-high-contrast="true"] :is(th, td, .panel, .card, .table-wrap, fieldset, .filters, dialog) { border-color: var(--ink); }
body[data-screen="panel"][data-high-contrast="true"] :is(main, dialog) :is(small, .muted) { color: var(--ink); }
body[data-screen="panel"][data-reduce-motion="true"] :is(main, dialog) *,
body[data-screen="panel"][data-reduce-motion="true"] :is(main, dialog) *::before,
body[data-screen="panel"][data-reduce-motion="true"] :is(main, dialog) *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
@media (prefers-reduced-motion: reduce) {
  body[data-screen="panel"] :is(main, dialog) *,
  body[data-screen="panel"] :is(main, dialog) *::before,
  body[data-screen="panel"] :is(main, dialog) *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* The employee name opens the existing editor, with the same action as Editar. */
body[data-screen="panel"] .employee-company td button.employee-name-edit{display:inline-block;background:transparent!important;border:0;box-shadow:none;color:var(--theme-link);font:inherit;font-weight:600;text-align:left;white-space:normal;overflow-wrap:anywhere;padding:0!important;margin:0;min-height:28px;max-width:100%;cursor:pointer}
body[data-screen="panel"] .employee-company td button.employee-name-edit:hover:not(:disabled){background:transparent!important;color:var(--theme-link);text-decoration:underline}
body[data-screen="panel"] .employee-company td button.employee-name-edit:focus-visible{outline:2px solid var(--theme-link);outline-offset:3px}
@media(max-width:760px){body[data-screen="panel"] .employee-company td button.employee-name-edit{min-height:42px}}
