:root {
  --kss-ink: #0a0e16;
  --kss-ink-soft: #2c3442;
  --kss-muted: #5e6774;
  --kss-faint: #8b939e;
  --kss-line: #e4e6ea;
  --kss-line-strong: #cfd3d8;
  --kss-paper: #ffffff;
  --kss-canvas: #f5f6f3;
  --kss-soft: #f3f6ea;
  --kss-green: #7c9e30;
  --kss-green-hover: #6b8828;
  --kss-green-press: #58701f;
  --kss-danger: #8e2f2f;
  --kss-danger-soft: #f8eeee;
  --kss-warning: #8a5a12;
  --kss-warning-soft: #f8f3e8;
  --kss-hero: #0a0e16;
  --kss-font: "Manrope", "Segoe UI", sans-serif;
  color-scheme: light;
}

html.kss-dark {
  --kss-ink: #f2f3ef;
  --kss-ink-soft: #d5d8de;
  --kss-muted: #a8b0ba;
  --kss-faint: #8b939e;
  --kss-line: #2a3140;
  --kss-line-strong: #3a4454;
  --kss-paper: #141a24;
  --kss-canvas: #0a0e16;
  --kss-soft: #1c2612;
  --kss-green: #8fb044;
  --kss-green-hover: #a3c45a;
  --kss-green-press: #c5d98a;
  --kss-danger: #e7b4b4;
  --kss-danger-soft: #2a1616;
  --kss-warning: #e6c48a;
  --kss-warning-soft: #2a2114;
  --kss-hero: #07090d;
  color-scheme: dark;
}

body {
  background: var(--kss-canvas) !important;
  color: var(--kss-ink);
  font-family: var(--kss-font);
}

html body .bg-white,
html body .bg-gray-50,
html body .bg-stone-50,
html body .bg-slate-50,
html body header.bg-white,
html body #sidebar {
  background-color: var(--kss-paper);
}

html body .bg-gray-100,
html body .bg-slate-50\/70,
html body .bg-slate-50\/50 {
  background-color: var(--kss-canvas);
}

html body .bg-lime-50,
html body .bg-lime-100,
html body .bg-emerald-50,
html body .bg-emerald-100,
html body .bg-green-50,
html body .bg-blue-50,
html body .bg-blue-100,
html body .bg-sky-50,
html body .bg-amber-50,
html body .bg-violet-50,
html body .bg-indigo-50,
html body .bg-rose-50,
html body .bg-cyan-50,
html body .hover\:bg-gray-50:hover,
html body .hover\:bg-gray-100:hover,
html body .hover\:bg-stone-50:hover,
html body .hover\:bg-slate-50:hover,
html body .hover\:bg-white:hover {
  background-color: var(--kss-soft);
}

html body .bg-lime-600,
html body .bg-green-600,
html body .bg-blue-600,
html body .bg-blue-500,
html body .bg-emerald-500,
html body .bg-emerald-600,
html body .bg-cyan-500,
html body .bg-slate-900,
html body .hover\:bg-lime-700:hover,
html body .hover\:bg-green-700:hover,
html body .hover\:bg-blue-700:hover,
html body .hover\:bg-slate-800:hover {
  background-color: var(--kss-green);
}

html body .text-gray-900,
html body .text-slate-900,
html body .text-stone-900,
html body .text-stone-800 {
  color: var(--kss-ink);
}

html body .text-gray-700,
html body .text-gray-600,
html body .text-slate-800,
html body .text-slate-700,
html body .text-slate-600,
html body .text-stone-700,
html body .text-stone-600 {
  color: var(--kss-ink-soft);
}

html body .text-gray-500,
html body .text-slate-500,
html body .text-stone-500 {
  color: var(--kss-muted);
}

html body .text-gray-400,
html body .text-gray-300,
html body .text-slate-400,
html body .text-slate-300,
html body .text-stone-400 {
  color: var(--kss-faint);
}

html body .text-blue-600,
html body .text-blue-700,
html body .text-emerald-600,
html body .text-emerald-700,
html body .text-cyan-600,
html body .text-lime-700,
html body .text-lime-800,
html body .text-lime-900,
html body .text-green-600,
html body .hover\:text-blue-600:hover,
html body .hover\:text-blue-700:hover,
html body .hover\:text-emerald-600:hover,
html body .hover\:text-cyan-600:hover {
  color: var(--kss-green-press);
}

html body .text-red-700,
html body .text-rose-600,
html body .text-rose-700 {
  color: var(--kss-danger);
}

html body .text-amber-800,
html body .text-amber-700,
html body .text-orange-600,
html body .text-orange-700,
html body .text-orange-800 {
  color: var(--kss-warning);
}

html body .border-gray-100,
html body .border-gray-200,
html body .border-stone-100,
html body .border-stone-200,
html body .border-slate-100,
html body .border-slate-200,
html body .border-blue-100,
html body .border-emerald-100,
html body .border-cyan-100,
html body .border-lime-200,
html body .border-lime-300,
html body .divide-stone-100 > :not([hidden]) ~ :not([hidden]),
html body .divide-slate-100 > :not([hidden]) ~ :not([hidden]),
html body .divide-gray-100 > :not([hidden]) ~ :not([hidden]) {
  border-color: var(--kss-line);
}

html body .shadow,
html body .shadow-sm,
html body .shadow-md,
html body .shadow-lg {
  box-shadow: none;
}

html body .rounded-xl { border-radius: 10px; }
html body .rounded-2xl { border-radius: 14px; }
html body .rounded-lg { border-radius: 10px; }

html body .bg-green-50,
html body .border-green-200 {
  background-color: var(--kss-soft);
  border-color: var(--kss-line);
  color: var(--kss-green-press);
}

html body .bg-red-50 {
  background-color: var(--kss-danger-soft);
  color: var(--kss-danger);
}

html body input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not(.bg-transparent),
html body select,
html body textarea {
  background-color: var(--kss-paper);
  color: var(--kss-ink);
  border-color: var(--kss-line-strong);
}

html body input:focus,
html body select:focus,
html body textarea:focus {
  outline-color: var(--kss-green);
  border-color: var(--kss-green);
}

html.kss-dark img[src*="logo"]:not(.kss-brand-logo) {
  filter: brightness(0) invert(1);
}

#kss-theme {
  color: var(--kss-faint);
  background: transparent;
  border: 0;
  width: 2rem;
  height: 2rem;
  border-radius: 10px;
  cursor: pointer;
}

#kss-theme:hover {
  color: var(--kss-ink);
  background: var(--kss-soft);
}

.kss-rich p { margin: 0.35em 0; }
.kss-rich h3 { margin: 0.8em 0 0.3em; font-size: 1.05rem; font-weight: 700; color: #0f172a; }
.kss-rich h4 { margin: 0.7em 0 0.25em; font-size: 0.95rem; font-weight: 700; color: #0f172a; }
.kss-rich ul { margin: 0.4em 0 0.4em 1.15rem; list-style: disc; }
.kss-rich ol { margin: 0.4em 0 0.4em 1.15rem; list-style: decimal; }
.kss-rich a { color: #4d7c0f; text-decoration: underline; }
.kss-rich img { max-width: 100%; height: auto; border-radius: 12px; margin: 0.5em 0; }
.kss-rich blockquote { margin: 0.5em 0; padding-left: 0.8em; border-left: 3px solid #d6d3d1; color: #57534e; }
.kss-rich {
  max-width: 100%;
  overflow-x: auto;
}
.kss-rich p,
.kss-rich li,
.kss-rich h3,
.kss-rich h4,
.kss-rich a,
.kss-rich td,
.kss-rich th {
  overflow-wrap: anywhere;
}
.kss-rich pre {
  max-width: 100%;
  overflow-x: auto;
  white-space: pre-wrap;
}
.kss-rich table {
  width: max-content;
  min-width: 100%;
}

.js-comunicado-pdf {
  min-height: 70vh;
  height: 70vh;
  border: 0;
}

@media (min-width: 768px) {
  .js-comunicado-pdf {
    min-height: 72vh;
    height: 820px;
  }
}

html {
  overflow-x: clip;
}

img,
video,
svg,
canvas,
iframe {
  max-width: 100%;
}

.overflow-x-auto {
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
}

#app-shell,
#app-shell main,
#app-shell header {
  min-width: 0;
  max-width: 100%;
}

body.kss-nav-open {
  overflow: hidden;
}

#sidebar-toggle,
#sidebar-close {
  min-width: 2.75rem;
  min-height: 2.75rem;
}

.tox-tinymce,
.tox-tinymce-aux {
  max-width: 100% !important;
}

.tox .tox-toolbar,
.tox .tox-toolbar__primary,
.tox .tox-toolbar__overflow {
  flex-wrap: wrap !important;
}

@media (max-width: 1023px) {
  #sidebar {
    width: min(18rem, 88vw);
    padding-bottom: env(safe-area-inset-bottom);
  }
}

@media (max-width: 767px) {
  #app-shell header h2 {
    font-size: 1.125rem;
    line-height: 1.3;
  }

  h1.text-3xl,
  h3.text-2xl {
    font-size: 1.35rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
  }

  .kss-bi .kss-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 1rem;
  }

  .kss-bi .kss-title {
    letter-spacing: 0.06em;
    white-space: normal;
  }

  .kss-bi .kss-card {
    min-height: 0;
    padding: 1rem 0.95rem 0.95rem 1.05rem;
  }

  .kss-bi .kss-card .flex.items-center.justify-between > p,
  .kss-bi .kss-card .flex.items-start.justify-between > div {
    min-width: 0;
  }

  .kss-bi .text-5xl { font-size: 2rem; }
  .kss-bi .text-4xl { font-size: 1.7rem; }
  .kss-bi .text-3xl { font-size: 1.4rem; }
  .kss-bi .text-2xl { font-size: 1.25rem; }

  .kss-bi .kss-assist-value,
  .kss-bi .kss-assist-input,
  .kss-bi .kss-fatura-input {
    font-size: 1.4rem;
  }

  .kss-bi .kss-assist-input.money {
    font-size: 1.15rem;
  }

  .kss-bi .px-6,
  .kss-bi .p-6,
  .kss-bi .p-8 {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .kss-bi .kss-info-tip {
    left: auto;
    right: 0;
    transform: none;
    max-width: min(240px, 72vw);
  }

  .kss-bi .kss-info-tip::before {
    left: auto;
    right: 10px;
    transform: rotate(45deg);
  }

  .kss-bi .kss-chart-well,
  .kss-bi .kss-assist-chart,
  .kss-bi .kss-assist-canvas {
    min-width: 0;
    max-width: 100%;
  }

  .kss-bi-brand img {
    max-width: 46%;
    height: 2.5rem;
  }

  .js-comunicado-toggle {
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
    padding: 1rem;
  }

  #sem-aceitacao-q {
    min-width: 0;
    width: 100%;
  }

  input,
  select,
  textarea {
    max-width: 100%;
  }

  input[type="date"],
  input[type="datetime-local"],
  input[type="month"],
  input[type="time"] {
    min-width: 0;
  }
}

@media (max-width: 420px) {
  .kss-bi .grid.grid-cols-2 {
    grid-template-columns: 1fr;
  }
}
