:root {
  --azul: #02163a;
  --azul-2: #03275f;
  --azul-3: #ffffff;
  --azul-botao: #010b22;
  --amarelo: #ffdf00;
  --amarelo-2: #fff066;
  --branco: #ffffff;
  --fundo: #eef2f7;
  --linha: #d8e0ec;
  --texto: #061a3a;
  --cinza: #5f6f85;
  --erro: #f70008;
  --sucesso: #0f6b3e;
  --verde-fluor: #26ff00;
  --verde-fluor-2: #26ff00;
}

* {
  box-sizing: border-box;
}

html {
  min-height: 100%;
}

body {
  margin: 0;
  min-height: 100%;
  font-family: "Trebuchet MS", "Segoe UI", Arial, sans-serif;
  background: var(--fundo);
  color: var(--texto);
  zoom: var(--app-page-zoom, 1);
}

a {
  color: inherit;
}

button,
input,
select,
textarea {
  font: inherit;
}

input,
select,
textarea {
  width: 100%;
  min-height: 42px;
  border: 1px solid #c9d4e5;
  border-radius: 8px;
  background: var(--branco);
  color: var(--texto);
  padding: 10px 12px;
}

textarea {
  resize: vertical;
}

input:focus,
select:focus,
textarea:focus {
  outline: 2px solid var(--amarelo);
  border-color: var(--amarelo);
}

:root[data-theme="dark"] input:focus,
:root[data-theme="dark"] select:focus,
:root[data-theme="dark"] textarea:focus {
  outline-color: var(--amarelo);
  border-color: var(--amarelo);
}

button,
.button-link,
.button-mini {
  border: 0;
  border-radius: 8px;
  background: var(--amarelo);
  color: var(--azul);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  text-decoration: none;
  font-weight: 900;
  white-space: nowrap;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 8px 18px rgba(3, 22, 49, 0.10);
}

a[href],
a[href] img {
  -webkit-user-drag: none;
}

button:hover,
.button-link:hover,
.button-mini:hover {
  filter: brightness(0.96);
}

.button-link.secondary,
.button-mini {
  background: var(--azul-botao);
  color: var(--branco);
}

.danger-button {
  background: var(--erro);
  color: var(--branco);
  border: 1px solid var(--erro);
}

.home-page {
  background: var(--fundo);
}

.home-shell {
  width: min(1080px, calc(100% - 32px));
  min-height: 100vh;
  margin: 0 auto;
  padding: 28px 0 42px;
}

.home-cover {
  border-bottom: 8px solid var(--amarelo);
  color: var(--branco);
  background: var(--azul-botao);
}

.home-cover-inner {
  align-items: center;
  display: flex;
  gap: 22px;
  justify-content: space-between;
  margin: 0 auto;
  min-height: 178px;
  padding: 28px 0;
  width: min(1180px, calc(100% - 32px));
}

.home-brand,
.cover-brand {
  text-decoration: none;
  color: var(--branco);
  display: inline-flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.home-brand span,
.cover-brand span {
  background: var(--amarelo);
  color: var(--azul);
  border-radius: 8px;
  padding: 6px 12px;
  font-size: 32px;
  font-weight: 900;
}

.home-brand strong {
  font-size: 48px;
  line-height: 1;
}

.home-cover p {
  color: var(--amarelo);
  font-size: 20px;
  font-weight: 900;
  margin: 16px 0 0;
}

.home-session-bar {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  font-weight: 900;
  gap: 12px;
  justify-content: flex-end;
}

.home-session-bar > span {
  color: var(--branco);
  font-weight: 900;
}

.home-session-bar a,
.home-session-bar .home-secure-logout-button {
  align-items: center;
  background: var(--amarelo);
  border: 0;
  border-radius: 8px;
  color: var(--azul);
  cursor: pointer;
  display: inline-flex;
  font-family: inherit;
  font-size: inherit;
  font-weight: 900;
  justify-content: center;
  min-height: 46px;
  min-width: 54px;
  padding: 10px 14px;
  text-decoration: none;
}

.home-session-bar .home-secure-logout-button:hover,
.home-session-bar .home-secure-logout-button:focus,
.home-session-bar .home-secure-logout-button:focus-visible,
.home-session-bar .home-secure-logout-button:active {
  background: var(--amarelo) !important;
  color: var(--azul) !important;
  filter: none !important;
  transform: none !important;
}

.home-session-bar .home-secure-logout-button:focus-visible {
  outline: 2px solid var(--branco);
  outline-offset: 2px;
}

.home-page .home-zoom-control.stock-quantity-control {
  align-items: stretch;
  background: var(--amarelo);
  border: 1px solid color-mix(in srgb, var(--azul) 34%, transparent);
  border-radius: 8px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.42), 0 8px 18px rgba(0, 0, 0, 0.16);
  color: var(--azul);
  display: grid;
  flex: 0 0 auto;
  grid-template-columns: minmax(58px, 1fr) 46px;
  height: 46px;
  min-height: 46px;
  overflow: hidden;
  width: 112px;
}

.home-page .home-zoom-control .stock-stepper {
  background: linear-gradient(180deg, #1b2b45, #121f34);
  border-left: 1px solid var(--azul);
  display: grid;
  grid-template-rows: 1fr 1fr;
}

.home-page .home-zoom-control .stock-stepper button {
  background: transparent !important;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: #ffffff !important;
  min-height: 0;
  min-width: 0;
  padding: 0;
  width: 100%;
}

.home-page .home-zoom-control .stock-stepper button:not(:disabled):hover,
.home-page .home-zoom-control .stock-stepper button:not(:disabled):focus-visible {
  background: var(--amarelo) !important;
  color: var(--azul) !important;
  filter: none;
}

.home-page .home-zoom-control .stock-stepper button:focus-visible {
  outline: 2px solid var(--amarelo);
  outline-offset: -2px;
}

.home-page .home-zoom-control .stock-stepper button:disabled {
  cursor: not-allowed;
  filter: none;
  opacity: 0.42;
}

.home-page .home-zoom-control .stock-stepper button[data-home-zoom-action="decrease"]::before {
  transform: rotate(135deg);
}

.home-page .home-zoom-control output {
  align-items: center;
  color: var(--azul);
  display: inline-flex;
  font-variant-numeric: tabular-nums;
  font-weight: 900;
  justify-content: center;
  min-width: 58px;
  padding: 0 8px;
  user-select: none;
  white-space: nowrap;
}

:root[data-theme="dark"] .home-page .home-zoom-control output {
  color: var(--branco) !important;
}

.home-actions {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 18px;
}

.home-option {
  min-height: 150px;
  border-radius: 8px;
  background: var(--branco);
  border: 1px solid var(--linha);
  border-left: 8px solid var(--amarelo);
  box-shadow: 0 14px 24px rgba(3, 22, 49, 0.08);
  padding: 22px;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 14px;
}

.home-option.primary {
  background: var(--amarelo);
  border-left-color: var(--azul);
}

.home-option.muted {
  opacity: 0.72;
}

.home-option span {
  font-size: 24px;
  font-weight: 900;
}

.home-option small {
  color: var(--cinza);
  font-weight: 800;
}

.login-page {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background:
    linear-gradient(180deg, var(--azul) 0, var(--azul) 45%, var(--fundo) 45%);
}

.login-card {
  width: min(430px, 100%);
  background: var(--branco);
  border-radius: 8px;
  border-bottom: 8px solid var(--amarelo);
  box-shadow: 0 18px 35px rgba(3, 22, 49, 0.18);
  padding: 24px;
}

.login-card-actions {
  align-items: center;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-bottom: 14px;
}

.brand {
  background: var(--azul);
  color: var(--branco);
  border-radius: 8px;
  padding: 22px;
  margin-bottom: 18px;
}

.brand h1 {
  margin: 0;
  font-size: 32px;
  line-height: 1;
}

.brand p {
  color: var(--amarelo);
  font-weight: 900;
  margin: 10px 0 0;
}

label {
  display: block;
  margin: 12px 0 6px;
  font-weight: 900;
}

.login-card button {
  min-width: 180px;
  width: auto;
  margin-top: 18px;
}

.login-submit-actions {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 18px;
}

.login-submit-actions button {
  flex: 0 1 180px;
  margin-top: 0;
  min-width: 0;
}

.login-two-factor-submit-actions {
  align-items: stretch;
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 18px;
}

.login-card .login-two-factor-submit-actions button {
  margin: 0;
  min-width: 0;
  width: 100%;
}

.login-two-factor-cancel,
.login-two-factor-cancel:is(:hover, :focus, :focus-visible, :active),
:root[data-theme="dark"] .login-two-factor-cancel,
:root[data-theme="dark"] .login-two-factor-cancel:is(:hover, :focus, :focus-visible, :active) {
  background: var(--azul) !important;
  border-color: var(--azul) !important;
  color: #ffffff !important;
  filter: none !important;
  transform: none !important;
}

.login-card-actions .theme-toggle {
  margin: 0;
  min-width: 70px;
  width: 70px;
}

.two-factor-setup {
  border: 1px solid var(--linha);
  border-radius: 8px;
  margin: 12px 0 16px;
  padding: 14px;
  text-align: center;
}

.two-factor-setup p {
  color: var(--cinza);
  font-size: 14px;
  font-weight: 800;
  margin: 0 0 12px;
}

.two-factor-setup img {
  background: #ffffff;
  border: 1px solid var(--linha);
  border-radius: 8px;
  display: block;
  height: auto;
  margin: 0 auto 12px;
  max-width: 220px;
  padding: 8px;
  width: 100%;
}

.two-factor-setup input[readonly] {
  font-family: Consolas, Monaco, monospace;
  text-align: center;
}

.teste {
  margin: 18px 0 0;
  text-align: center;
  color: var(--cinza);
  font-size: 14px;
}

.alerta {
  border-radius: 8px;
  padding: 12px 14px;
  margin: 0 0 14px;
  font-weight: 900;
}

.alerta {
  background: #fff0f3;
  color: var(--erro);
  border: 1px solid #ffc2ce;
}

.flash-stack {
  display: grid;
  gap: 10px;
  max-width: min(120px, calc(100vw - 32px));
  pointer-events: none;
  position: fixed;
  right: 18px;
  top: 18px;
  z-index: 2147483000;
}

.flash-stack.is-anchored {
  left: var(--flash-left);
  right: auto;
  top: var(--flash-top);
  transform: translate(-50%, calc(-100% - 12px));
}

.admin-avaliacoes .flash-stack.is-anchored {
  left: auto;
  right: 18px;
  top: 18px;
  transform: none;
}

.floating-validation-alert {
  max-width: min(360px, calc(100vw - 32px));
}

.floating-validation-alert .flash {
  height: auto;
  justify-content: flex-start;
  min-height: 46px;
  padding: 0 14px;
  width: auto;
}

.floating-validation-alert .flash-text {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: normal;
  width: auto;
}

.rating-thanks-bubble {
  align-items: center;
  background: var(--azul);
  border: 12px solid #ffffff;
  border-radius: 9999px;
  box-shadow: 0 18px 38px rgba(3, 22, 49, 0.28);
  color: #ffffff;
  display: inline-flex;
  font-size: 96px;
  font-weight: 900;
  justify-content: center;
  left: 50%;
  min-height: 256px;
  min-width: min(760px, calc(100vw - 48px));
  padding: 0 120px;
  position: fixed;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: opacity 0.3s ease, transform 0.3s ease;
  z-index: 2147482500;
}

.rating-thanks-bubble::before,
.rating-thanks-bubble::after {
  border-left: 0 solid transparent;
  content: "";
  position: absolute;
}

.rating-thanks-bubble::before {
  border-right: 94px solid transparent;
  border-top: 86px solid #ffffff;
  bottom: -70px;
  filter: drop-shadow(0 5px 2px rgba(3, 22, 49, 0.16));
  left: 100px;
}

.rating-thanks-bubble::after {
  border-right: 80px solid transparent;
  border-top: 72px solid var(--azul);
  bottom: -56px;
  left: 112px;
}

.rating-thanks-bubble.is-leaving {
  opacity: 0;
  transform: translate(-50%, -54%) scale(0.96);
}

.rating-hours-bubble {
  font-size: clamp(30px, 4.5vw, 52px);
  line-height: 1.15;
  text-align: center;
}

.service-rating-page.rating-thanks-visible .service-rating-form,
.service-rating-page:has(.rating-thanks-bubble) .service-rating-form {
  pointer-events: none;
  user-select: none;
}

.flash {
  align-items: center;
  border-radius: 10px;
  box-shadow: 0 14px 34px rgba(3, 22, 49, 0.18);
  display: flex;
  gap: 10px;
  font-weight: 900;
  height: 46px;
  justify-content: center;
  line-height: 1.25;
  margin: 0;
  min-height: 46px;
  padding: 0;
  position: relative;
  width: 46px;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.flash.is-leaving {
  opacity: 0;
  transform: translateY(-6px) scale(0.92);
}

.flash::after {
  border-left: 9px solid transparent;
  border-right: 9px solid transparent;
  border-top: 10px solid currentColor;
  bottom: -8px;
  content: "";
  filter: drop-shadow(0 5px 4px rgba(3, 22, 49, 0.08));
  left: 18px;
  opacity: 0.95;
  position: absolute;
}

.flash-icon {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  flex: 0 0 24px;
  font-size: 15px;
  font-weight: 900;
  height: 24px;
  justify-content: center;
  line-height: 1;
  width: 24px;
}

.flash-text {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.flash-sucesso {
  background: #0d5f39;
  border: 1px solid #7ee7a6;
  color: #ffffff;
}

.flash-sucesso::after {
  border-top-color: #0d5f39;
  color: #0d5f39;
}

.flash-sucesso .flash-icon {
  background: #5ee991;
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.52);
  color: #ffffff;
}

.flash-erro {
  background: #fff0f3;
  border: 1px solid #ffc2ce;
  color: var(--erro);
}

.flash-erro::after {
  border-top-color: #fff0f3;
  color: #fff0f3;
}

.flash-erro .flash-icon {
  background: var(--erro);
  color: var(--branco);
}

.admin-etiquetas .flash-stack,
.admin-compromissos .flash-stack,
.admin-financas_pessoais .flash-stack {
  max-width: min(440px, calc(100vw - 32px));
}

.admin-etiquetas .flash-erro,
.admin-compromissos .flash-erro,
.admin-financas_pessoais .flash-erro {
  height: auto;
  justify-content: flex-start;
  min-height: 46px;
  padding: 10px 14px;
  width: auto;
}

.admin-etiquetas .flash-erro .flash-text,
.admin-compromissos .flash-erro .flash-text,
.admin-financas_pessoais .flash-erro .flash-text {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: normal;
  width: auto;
}

@media (max-width: 640px) {
  .flash-stack:not(.is-anchored) {
    left: 16px;
    right: 16px;
    top: 14px;
  }
}

.admin-cover {
  background:
    linear-gradient(135deg, rgba(255, 223, 0, 0.18), transparent 42%),
    linear-gradient(120deg, var(--azul), var(--azul-2) 62%, var(--azul-3));
  color: var(--branco);
  border-bottom: 8px solid var(--amarelo);
}

.cover-inner {
  width: min(1180px, calc(100% - 32px));
  min-height: 178px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 28px 0;
}

.cover-brand strong {
  font-size: 48px;
  line-height: 1;
}

.cover-user {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: flex-end;
  font-weight: 900;
}

.cover-user a {
  background: var(--amarelo);
  color: var(--azul);
  text-decoration: none;
  padding: 10px 14px;
  border-radius: 8px;
}

.cover-user .cover-action-button {
  align-items: center;
  display: inline-flex;
  font-weight: 900;
  justify-content: center;
  min-height: 46px;
  min-width: 54px;
}

.cover-user .cover-home-button {
  padding: 0 14px;
}

.cover-user .cover-home-button svg {
  display: block;
  fill: none;
  height: 25px;
  stroke: var(--azul) !important;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.4;
  width: 25px;
}

.admin-nav {
  position: static !important;
  top: auto !important;
  z-index: 10;
  background: linear-gradient(120deg, var(--azul), var(--azul-2) 62%, var(--azul-3));
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: 0 12px 24px rgba(3, 22, 49, 0.18);
}

.nav-inner {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  min-height: 82px;
  padding: 10px 0;
}

.nav-links {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.nav-links a {
  align-items: center;
  background: var(--azul-botao);
  border: 1px solid rgba(255, 255, 255, 0.30);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 8px 18px rgba(0, 0, 0, 0.18);
  color: var(--branco);
  display: flex;
  justify-content: center;
  min-height: 50px;
  width: 158px;
  text-align: center;
  text-decoration: none;
  font-weight: 900;
  line-height: 1.12;
  padding: 8px 10px;
  border-radius: 8px;
  flex: 0 0 auto;
}

.nav-links a.active {
  background: var(--amarelo);
  color: var(--azul);
  box-shadow: 0 10px 18px rgba(255, 230, 0, 0.22);
}

.nav-links a:hover,
.nav-links a:focus-visible {
  background: var(--amarelo);
  color: var(--azul);
  box-shadow: 0 10px 18px rgba(255, 230, 0, 0.22);
}

.empresa-switch {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 250px;
}

.empresa-switch label {
  margin: 0;
  color: var(--branco);
  font-weight: 900;
}

.empresa-switch select {
  min-height: 38px;
}

.admin-main {
  min-height: calc(100vh + 260px);
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  padding: 24px 0 52px;
}

.page-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.page-heading h1 {
  margin: 0;
  font-size: 32px;
}

.page-action {
  min-height: 50px;
  min-width: 176px;
  padding: 0 22px;
  font-size: 15px;
}

.module-subnav {
  align-items: center;
  background:
    linear-gradient(135deg, rgba(255, 223, 0, 0.14), transparent 30%),
    linear-gradient(120deg, var(--azul), #2f5f9f 58%, #edf6ff);
  border-bottom: 5px solid var(--amarelo);
  border-radius: 8px;
  box-shadow: 0 12px 24px rgba(3, 22, 49, 0.12);
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: -4px 0 18px;
  padding: 12px;
  position: static !important;
  top: auto !important;
  z-index: 8;
}

/* Padrão visual das capas e barras dos módulos administrativos. */
.admin-page .admin-nav {
  background: linear-gradient(90deg, #03112d 0%, #03112d 60%, #092448 100%) !important;
}

.admin-page .module-subnav {
  background: linear-gradient(90deg, #03112d 0%, #03112d 60%, #092448 100%) !important;
}

.admin-page .admin-cover,
.admin-page .page-heading,
.home-page .home-cover {
  background: var(--azul-botao) !important;
}

.admin-page .cover-brand,
.home-page .home-brand {
  transform: translateX(15%);
}

.admin-page .page-heading {
  border-left: 5px solid var(--amarelo) !important;
  border-right: 5px solid var(--amarelo) !important;
  border-top: 5px solid var(--amarelo) !important;
  color: var(--branco);
}

.admin-page .page-heading .eyebrow {
  color: var(--branco) !important;
}

.admin-page .page-heading h1 {
  color: var(--branco) !important;
}

.admin-page .page-heading h1::after {
  background: linear-gradient(90deg, var(--amarelo), transparent) !important;
  width: min(315px, 100%) !important;
}

.admin-page .page-heading::before {
  background-color: var(--azul-botao) !important;
  box-shadow: inset 0 0 0 4px var(--branco) !important;
}

.admin-encomendas .order-board-panel {
  border-left: 5px solid var(--azul) !important;
}

:root[data-theme="dark"] .admin-encomendas .order-board-panel {
  border-left-color: var(--amarelo) !important;
}

.admin-module-isolated .module-subnav {
  display: none;
}

.module-subnav a {
  align-items: center;
  background: var(--azul-botao);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 8px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.20), 0 8px 18px rgba(0, 0, 0, 0.12);
  color: var(--branco);
  display: inline-flex;
  font-weight: 900;
  justify-content: center;
  min-height: 50px;
  width: 184px;
  padding: 8px 48px;
  position: relative;
  text-decoration: none;
  gap: 9px;
  line-height: 1.12;
  text-align: center;
  transition: background 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.module-subnav a.active,
.module-subnav a:hover {
  background: var(--amarelo);
  border-color: rgba(255, 255, 255, 0.28);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.20), 0 8px 18px rgba(0, 0, 0, 0.12);
  color: var(--azul);
  transform: translateY(-1px);
}

.module-subnav a:not(.active):not(:hover) {
  color: var(--branco) !important;
}

.subnav-icon {
  align-items: center;
  background-color: var(--azul);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 17px 17px;
  border: 1px solid rgba(3, 22, 49, 0.10);
  border-radius: 6px;
  display: inline-flex;
  height: 30px;
  justify-content: center;
  left: 12px;
  position: absolute;
  flex: 0 0 30px;
  width: 30px;
}

.module-subnav a.active .subnav-icon,
.module-subnav a:hover .subnav-icon {
  background-color: var(--azul);
  border-color: var(--azul);
}

.employee-birthday-strip {
  align-items: center;
  display: flex;
  flex: 0 1 auto;
  gap: 8px;
  justify-content: flex-end;
  margin-left: auto;
  min-width: 260px;
}

.admin-page .page-heading > .employee-birthday-strip {
  flex: 0 1 auto;
}

.birthday-strip-title {
  color: var(--branco);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.birthday-chip {
  align-items: center;
  background: var(--amarelo);
  border: 1px solid color-mix(in srgb, var(--amarelo) 72%, var(--azul));
  border-radius: 8px;
  color: var(--azul);
  display: inline-flex;
  gap: 6px;
  min-height: 34px;
  max-width: 190px;
  padding: 6px 9px;
}

.birthday-chip strong {
  display: inline-block;
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.birthday-chip small {
  color: var(--azul);
  flex: 0 0 auto;
  font-size: 11px;
  font-weight: 900;
}

.subnav-icon::before,
.subnav-icon::after {
  content: none;
}

.icon-home {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffdf00' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 11 9-8 9 8'/%3E%3Cpath d='M5 10v10h14V10'/%3E%3Cpath d='M9 20v-6h6v6'/%3E%3C/svg%3E");
}

.icon-add {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffdf00' stroke-width='2.8' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
}

.icon-category {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffdf00' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5' width='7' height='7' rx='1.4'/%3E%3Crect x='13' y='5' width='7' height='7' rx='1.4'/%3E%3Crect x='4' y='14' width='7' height='5' rx='1.4'/%3E%3Cpath d='M14 16h6M14 19h4'/%3E%3C/svg%3E");
}

.icon-list {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffdf00' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M8 6h12M8 12h12M8 18h12'/%3E%3Cpath d='M4 6h.01M4 12h.01M4 18h.01'/%3E%3C/svg%3E");
}

.icon-orders {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffdf00' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='4' width='14' height='17' rx='2'/%3E%3Cpath d='M9 4V3h6v1M9 9h6M9 13h6M9 17h4'/%3E%3C/svg%3E");
}

.icon-ranking {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffdf00' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 20V10h6V4h6v9h6v7H3Z'/%3E%3Cpath d='M9 10v10M15 13v7'/%3E%3C/svg%3E");
}

.icon-link {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffdf00' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7 0l2-2a5 5 0 0 0-7-7l-1 1'/%3E%3Cpath d='M14 11a5 5 0 0 0-7 0l-2 2a5 5 0 0 0 7 7l1-1'/%3E%3C/svg%3E");
}

.icon-search {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffdf00' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='6'/%3E%3Cpath d='m16 16 4 4'/%3E%3C/svg%3E");
}

.icon-home::before {
  height: 12px;
  top: 6px;
  transform: rotate(45deg);
  width: 12px;
}

.icon-home::after {
  border-radius: 2px;
  bottom: 6px;
  height: 9px;
  width: 13px;
}

.icon-add::before {
  height: 16px;
  width: 3px;
}

.icon-add::after {
  height: 3px;
  width: 16px;
}

.icon-category::before {
  background: transparent;
  border: 3px solid currentColor;
  border-radius: 3px;
  height: 14px;
  left: 4px;
  top: 6px;
  width: 16px;
}

.icon-category::after {
  box-shadow: 0 5px 0 currentColor;
  height: 3px;
  left: 9px;
  top: 11px;
  width: 10px;
}

.icon-list::before {
  box-shadow: 0 7px 0 currentColor, 0 14px 0 currentColor;
  height: 3px;
  left: 7px;
  top: 6px;
  width: 14px;
}

.icon-link::before {
  background: transparent;
  border: 3px solid currentColor;
  border-radius: 8px;
  height: 8px;
  transform: rotate(-28deg);
  width: 14px;
}

.icon-link::after {
  height: 3px;
  transform: rotate(-28deg);
  width: 12px;
}

.eyebrow {
  margin: 0 0 4px;
  color: var(--azul);
  font-weight: 900;
}

.metric-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.metric-card,
.panel,
.public-panel,
.category-card {
  border-radius: 8px;
  background: var(--branco);
  border: 1px solid var(--linha);
  box-shadow: 0 12px 24px rgba(3, 22, 49, 0.07);
}

.metric-card {
  min-height: 130px;
  padding: 20px;
  text-decoration: none;
  border-left: 8px solid var(--amarelo);
}

.metric-card span {
  display: block;
  color: var(--azul);
  font-size: 42px;
  font-weight: 900;
  line-height: 1;
  margin-bottom: 12px;
}

.metric-card strong {
  color: var(--cinza);
}

.panel {
  margin-bottom: 18px;
  overflow: hidden;
  border-top: 4px solid rgba(0, 109, 255, 0.16);
}

.panel-heading {
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--linha);
  background: linear-gradient(90deg, #ffffff, #f0f7ff);
}

.panel-heading h2,
.public-panel h2,
.category-head h2 {
  margin: 0;
  font-size: 22px;
}

.admin-form {
  padding: 20px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  background:
    linear-gradient(135deg, rgba(255, 230, 0, 0.08), transparent 34%),
    #ffffff;
}

.admin-form label {
  color: var(--azul);
  margin: 0;
}

.admin-form .span-2 {
  grid-column: span 2;
}

.admin-form .form-column {
  display: grid;
  gap: 14px;
}

.employee-form > button[type="submit"],
.employee-form .signature-field,
.employee-form .signature-actions {
  grid-column: 1 / -1;
}

.employee-form {
  align-items: end;
  gap: 10px;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  padding: 16px;
}

.employee-form .form-column {
  display: contents;
}

.employee-form label {
  grid-column: span 3;
  font-size: 13px;
  min-width: 0;
}

.employee-form input,
.employee-form select,
.employee-form textarea,
.employee-form .file-pick-control {
  min-height: 36px;
  padding-block: 7px;
}

.employee-form textarea {
  min-height: 58px;
  resize: vertical;
}

.employee-form label:has(input[name="nome"]) {
  grid-column: span 4;
}

.employee-form label:has(select[name="cargo"]) {
  grid-column: span 3;
}

.employee-form label:has(input[name="salario"]),
.employee-form label:has(select[name="dia_vencimento"]),
.employee-form label:has(input[name="data_admissao"]),
.employee-form label:has(input[name="cpf"]),
.employee-form label:has(input[name="rg"]),
.employee-form label:has(input[name="data_nascimento"]) {
  grid-column: span 2;
}

.employee-form label:has(input[name="endereco"]) {
  grid-column: span 5;
}

.employee-form label:has(input[name="email"]),
.employee-form label:has(input[name="contato_funcionario"]),
.employee-form label:has(input[name="telefone_emergencia"]) {
  grid-column: span 3;
}

.employee-form label:has(input[name="grau_escolaridade"]),
.employee-form label:has(input[name="local_nascimento"]) {
  grid-column: span 2;
}

.employee-form label:has(textarea[name="referencias_contato"]),
.employee-form label:has(textarea[name="historico_familiar"]) {
  grid-column: span 4;
}

.employee-form label:has(input[name="foto_perfil"]) {
  grid-column: span 2;
}

.employee-form .employee-attachment-picker {
  max-width: none;
}

.admin-form button {
  grid-column: auto;
  justify-self: start;
  min-height: 48px;
  min-width: 174px;
  padding: 0 18px;
}

.custom-list-form {
  align-items: end;
  grid-template-columns: minmax(220px, 280px) auto;
}

.custom-list-form label {
  max-width: 280px;
}

.custom-list-form select {
  min-height: 36px;
  padding: 7px 10px;
}

.custom-list-form button[type="submit"] {
  min-height: 38px;
  min-width: 118px;
  padding: 0 14px;
}

.table-wrap {
  width: 100%;
  overflow-x: auto;
}

table {
  width: 100%;
  border-collapse: collapse;
  min-width: 760px;
}

th,
td {
  padding: 13px 16px;
  text-align: left;
  border-bottom: 1px solid #e9eef6;
  vertical-align: middle;
}

th {
  color: var(--cinza);
  font-size: 13px;
  text-transform: uppercase;
}

.vazio,
.empty-state,
.empty-inline {
  color: var(--cinza);
  font-weight: 800;
}

.empty-state {
  padding: 20px;
}

.table-action button,
.actions-cell button,
.button-mini {
  min-height: 36px;
  padding: 0 12px;
  font-size: 13px;
}

.actions-cell {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.actions-cell form {
  margin: 0;
}

.payment-signature-cell,
.payment-actions-cell {
  flex-wrap: nowrap;
  gap: 6px;
  white-space: nowrap;
}

.payment-signature-cell .button-mini,
.payment-actions-cell button {
  font-size: 12px;
  min-height: 30px;
  min-width: 38px;
  padding: 0 8px;
}

.payment-signature-cell .button-mini {
  background: var(--amarelo);
  border-color: var(--amarelo);
  color: var(--azul) !important;
}

.payment-signature-cell .button-mini:hover,
.payment-signature-cell .button-mini:focus-visible {
  background: var(--azul);
  border-color: var(--azul);
  color: var(--branco) !important;
}

.employee-payment-history {
  min-width: 1160px;
  table-layout: auto;
  width: 100%;
}

.employee-payment-history th,
.employee-payment-history td {
  font-size: 12.5px;
  padding: 8px 10px;
  vertical-align: middle;
  white-space: nowrap;
}

.employee-payment-history td:first-child {
  width: 150px;
}

.employee-payment-history td:nth-child(2) {
  width: 110px;
}

.employee-payment-history td:nth-child(3) {
  overflow: hidden;
  text-overflow: ellipsis;
  width: 150px;
}

.employee-payment-history td:nth-child(4) {
  width: 100px;
}

.employee-payment-history td.actions-cell {
  display: table-cell;
  vertical-align: middle;
}

.employee-payment-history .payment-attachment-cell {
  text-align: center;
  width: 105px;
}

.employee-payment-history .payment-signature-cell,
.employee-payment-history .payment-actions-cell {
  text-align: center;
  width: 110px;
}

.employee-payment-history .payment-attachment-cell .button-mini,
.employee-payment-history .payment-signature-cell .button-mini,
.employee-payment-history .payment-actions-cell button {
  font-size: 12px;
  min-height: 34px;
  min-width: 92px;
  padding: 0 10px;
  width: auto;
}

.employee-payment-history .payment-actions-cell form {
  display: inline-flex;
  margin: 0;
}

.employee-payment-history .payment-actions-cell .payment-undo-button,
.employee-payment-history .payment-actions-cell .payment-undo-button:hover,
.employee-payment-history .payment-actions-cell .payment-undo-button:focus-visible {
  background: var(--amarelo);
  color: var(--azul) !important;
  filter: none;
}

.admin-fornecedores .actions-cell {
  flex-wrap: nowrap;
  gap: 5px;
}

.admin-fornecedores .actions-cell .button-mini,
.admin-fornecedores .actions-cell button {
  font-size: 12px;
  min-height: 34px;
  min-width: 70px;
  padding: 0 8px;
}

.admin-fornecedores .supplier-profile-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
}

.admin-fornecedores .supplier-profile-heading h2 {
  justify-self: start;
}

.admin-fornecedores .supplier-profile-status {
  justify-self: center;
}

.admin-fornecedores .supplier-profile-edit-button,
.admin-fornecedores .supplier-profile-edit-button:hover,
.admin-fornecedores .supplier-profile-edit-button:focus-visible,
:root[data-theme="dark"] .admin-fornecedores .supplier-profile-edit-button,
:root[data-theme="dark"] .admin-fornecedores .supplier-profile-edit-button:hover,
:root[data-theme="dark"] .admin-fornecedores .supplier-profile-edit-button:focus-visible {
  align-items: center;
  background: var(--azul);
  border: 1px solid var(--azul);
  border-radius: 8px;
  color: #ffffff !important;
  display: inline-flex;
  font-weight: 900;
  justify-content: center;
  justify-self: end;
  min-height: 38px;
  min-width: 92px;
  padding: 0 16px;
  text-decoration: none;
}

.admin-usuarios table {
  min-width: 700px;
}

.admin-usuarios th,
.admin-usuarios td {
  padding: 8px 10px;
}

.admin-usuarios th {
  font-size: 11px;
}

.admin-usuarios .status {
  font-size: 11px;
  min-height: 26px;
  padding: 5px 8px;
}

.admin-usuarios .permission-grid {
  gap: 8px;
  padding: 12px;
}

.admin-usuarios .permission-grid label {
  min-height: 40px;
  padding: 8px 10px;
}

.admin-usuarios .user-access-grid {
  column-count: 3;
  column-gap: 8px;
  display: block;
}

.admin-usuarios .user-access-grid label {
  break-inside: avoid;
  margin: 0 0 8px;
}

.admin-usuarios .user-form {
  align-items: end;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.admin-usuarios .user-field-name,
.admin-usuarios .user-field-login,
.admin-usuarios .user-field-password {
  grid-column: span 2;
}

.admin-usuarios .user-field-company,
.admin-usuarios .user-field-type {
  grid-column: span 3;
}

.admin-usuarios .user-form .permission-grid,
.admin-usuarios .user-form > button[type="submit"] {
  grid-column: 1 / -1;
}

.admin-usuarios .actions-cell {
  display: grid;
  grid-template-columns: minmax(74px, 1fr) minmax(84px, 1fr) 38px;
  gap: 5px;
  min-width: 210px;
}

.admin-usuarios .actions-cell .button-mini,
.admin-usuarios .actions-cell button {
  font-size: 11px;
  min-height: 32px;
  min-width: 0;
  padding: 0 8px;
  width: 100%;
}

.admin-usuarios .actions-cell .user-edit-button,
.admin-usuarios .actions-cell .user-edit-button:hover,
.admin-usuarios .actions-cell .user-edit-button:focus-visible,
:root[data-theme="dark"] .admin-usuarios .actions-cell .user-edit-button,
:root[data-theme="dark"] .admin-usuarios .actions-cell .user-edit-button:hover,
:root[data-theme="dark"] .admin-usuarios .actions-cell .user-edit-button:focus-visible {
  background: var(--amarelo) !important;
  border-color: var(--amarelo) !important;
  color: var(--azul) !important;
  filter: none !important;
  transform: none !important;
}

.admin-usuarios .actions-cell .trash-button.icon-only {
  min-width: 38px;
  padding: 0;
}

.admin-usuarios .device-unlink {
  grid-column: 1 / -1;
}

.admin-usuarios .users-list-heading {
  flex-wrap: wrap;
}

.admin-usuarios .users-company-filter {
  align-items: center;
  display: flex;
  gap: 8px;
  margin-left: auto;
}

.admin-usuarios .users-company-filter label {
  color: var(--azul);
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
}

:root[data-theme="dark"] .admin-usuarios .users-company-filter label {
  color: #ffffff;
}

.admin-usuarios .users-company-filter select {
  min-height: 40px;
  min-width: 220px;
  width: auto;
}

.admin-usuarios .panel-heading .system-back-button,
.admin-usuarios .panel-heading .system-back-button:hover,
.admin-usuarios .panel-heading .system-back-button:focus-visible,
:root[data-theme="dark"] .admin-usuarios .panel-heading .system-back-button,
:root[data-theme="dark"] .admin-usuarios .panel-heading .system-back-button:hover,
:root[data-theme="dark"] .admin-usuarios .panel-heading .system-back-button:focus-visible {
  background: var(--azul) !important;
  border-color: var(--azul) !important;
  color: #ffffff !important;
  filter: none !important;
  transform: none !important;
}

.status {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  border-radius: 8px;
  padding: 0 10px;
  font-weight: 900;
  font-size: 13px;
}

.status.on {
  background: #e8fff0;
  color: var(--sucesso);
}

.status.off {
  background: #f1f4f8;
  color: var(--cinza);
}

.status.neutral {
  background: var(--amarelo-2);
  color: var(--azul);
}

.status.pago {
  background: var(--verde-fluor);
  color: var(--azul);
}

.status.apagado {
  background: #dc2626;
  color: #ffffff;
}

.payment-deleted-row {
  background:
    linear-gradient(90deg, rgba(220, 38, 38, 0.50) 0%, rgba(220, 38, 38, 0.25) 46%, rgba(220, 38, 38, 0.12) 100%),
    #fee2e2 !important;
}

.payment-deleted-row td {
  background: transparent !important;
  border-color: #fecaca !important;
  color: #7f1d1d;
}

.status.pendente {
  background: var(--verde-fluor);
  border: 1px solid #17b900;
  color: var(--azul);
}

.payment-status.pendente {
  background: var(--amarelo);
  border-color: var(--amarelo);
  color: var(--azul);
}

.payment-status.pago {
  background: var(--verde-fluor);
  border-color: var(--verde-fluor);
  color: var(--azul);
}

.commitment-item .status.pendente {
  background: var(--amarelo);
  border-color: var(--amarelo);
  color: var(--azul);
}

.commitment-item .status.pago {
  background: var(--verde-fluor);
  border-color: var(--verde-fluor);
  color: var(--azul);
}

.purchase-public {
  background:
    linear-gradient(180deg, rgba(3, 31, 79, 0.08), transparent 300px),
    var(--fundo);
  padding-top: 92px;
}

.purchase-public .public-bar {
  background:
    linear-gradient(135deg, rgba(255, 223, 0, 0.14), transparent 30%),
    linear-gradient(120deg, var(--azul), var(--azul-2) 58%, var(--azul-3));
  align-items: center;
  border-bottom: 5px solid var(--amarelo);
  box-shadow: 0 12px 24px rgba(3, 22, 49, 0.12);
  color: var(--branco);
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
  left: 0;
  min-height: 66px;
  padding: 12px max(16px, calc((100vw - 1180px) / 2));
  position: fixed;
  right: 0;
  top: 0;
  z-index: 50;
}

.public-bar-context,
.public-bar-actions {
  display: flex;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
}

.public-bar-context strong {
  color: var(--amarelo);
  font-weight: 900;
}

.public-bar span {
  color: var(--branco);
  font-weight: 900;
}

.public-bar a {
  align-items: center;
  background: #010b22;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 8px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.20), 0 8px 18px rgba(0, 0, 0, 0.12);
  color: var(--branco);
  display: inline-flex;
  font-weight: 900;
  gap: 9px;
  justify-content: flex-start;
  line-height: 1.12;
  min-height: 50px;
  padding: 8px 14px 8px 54px;
  position: relative;
  text-align: left;
  text-decoration: none;
  width: 184px;
}

.public-bar a:hover {
  background: var(--amarelo);
  border-color: var(--amarelo);
  color: var(--azul);
}

.purchase-wrap {
  width: min(1180px, calc(100% - 20px));
  margin: 18px auto 28px;
}

.purchase-public .public-page-heading {
  align-items: center;
  background: linear-gradient(135deg, #ffffff 0%, #f7fbff 100%);
  border: 1px solid var(--linha);
  border-left: 8px solid var(--amarelo);
  border-radius: 8px;
  box-shadow: 0 12px 24px rgba(3, 22, 49, 0.07);
  display: flex;
  gap: 20px;
  min-height: 150px;
  padding: 20px 24px;
}

.purchase-public .page-heading::before {
  background-color: var(--azul);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect width='64' height='64' rx='10' fill='%23031f4f'/%3E%3Cpath d='M13 17h7l5 26h24l5-17H26' fill='none' stroke='%23ffdf00' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='31' cy='51' r='4' fill='%23fff'/%3E%3Ccircle cx='48' cy='51' r='4' fill='%23fff'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 58px 58px;
  border: 4px solid var(--azul);
  border-radius: 8px;
  box-shadow: inset 0 0 0 6px rgba(255, 255, 255, 0.55);
  content: "";
  display: block;
  flex: 0 0 78px;
  height: 78px;
}

.purchase-public .page-heading > div {
  flex: 1;
}

.purchase-public .page-heading h1 {
  color: var(--azul);
  font-size: 38px;
  line-height: 1.05;
  position: relative;
}

.purchase-public .page-heading h1::after {
  background: linear-gradient(90deg, var(--amarelo), var(--azul-3));
  border-radius: 999px;
  content: "";
  display: block;
  height: 5px;
  margin-top: 10px;
  width: min(210px, 70%);
}

.public-panel {
  padding: 18px;
  margin-bottom: 14px;
  background: var(--branco);
  border: 1px solid rgba(216, 224, 236, 0.9);
  border-radius: 8px;
  box-shadow: 0 16px 30px rgba(3, 22, 49, 0.07);
}

.public-intro {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.public-intro h1 {
  margin: 0 0 10px;
  font-size: 26px;
}

.public-intro p {
  margin: 0;
}

.inline-form {
  min-width: 250px;
}

.inline-form label {
  margin-top: 0;
}

.public-form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: end;
}

.public-login-form {
  display: grid;
  gap: 14px;
  margin-top: 18px;
  align-items: end;
}

.public-login-form label {
  color: var(--azul);
  margin: 0;
}

.public-login-form input,
.public-login-form select {
  background: #f9fbff;
  border: 1px solid #c7d5e8;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
  min-height: 54px;
}

.public-login-form button,
.return-home-button {
  border-radius: 8px;
  min-height: 54px;
  justify-self: start;
  min-width: 168px;
  padding: 0 18px;
}

.public-login-form-auth {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
}

.public-login-form-auth button {
  align-self: end;
}

.public-login-form:not(.public-login-form-auth) {
  grid-template-columns: minmax(0, 1fr) auto;
}

.public-login-form:not(.public-login-form-auth) button {
  align-self: end;
}

.category-card {
  margin-bottom: 14px;
  padding: 18px;
  background:
    linear-gradient(135deg, rgba(255, 223, 0, 0.08), transparent 28%),
    var(--branco);
  border: 1px solid rgba(216, 224, 236, 0.9);
  border-left: 8px solid var(--amarelo);
  box-shadow: 0 16px 28px rgba(3, 22, 49, 0.08);
  border-radius: 8px;
}

.public-category-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: start;
}

.public-category-summary {
  margin-bottom: 12px;
  padding: 14px 16px;
}

.public-category-summary h2 {
  color: var(--azul);
  font-size: 20px;
  margin: 0;
}

.purchase-public .public-category-card {
  --categoria-cor: #2563eb;
  margin-bottom: 0;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--categoria-cor) 16%, transparent), transparent 34%),
    var(--branco);
  border-left-color: var(--categoria-cor);
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--categoria-cor) 22%, transparent),
    0 16px 28px rgba(3, 22, 49, 0.08);
}

.purchase-public .public-category-card .category-head {
  border-bottom: 1px solid color-mix(in srgb, var(--amarelo) 64%, transparent);
  padding-bottom: 12px;
}

.purchase-public .public-category-card .category-head h2 {
  text-decoration-color: var(--amarelo);
}

.purchase-public .public-category-card .registered-picker-link {
  box-shadow: none;
  min-height: 38px;
  min-width: 132px;
  padding: 8px 12px;
}

.purchase-public .public-category-picker-page {
  --categoria-cor: #2563eb;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--categoria-cor) 14%, transparent), transparent 36%),
    var(--branco);
  border-left: 8px solid var(--categoria-cor);
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--categoria-cor) 20%, transparent),
    0 16px 30px rgba(3, 22, 49, 0.07);
}

.purchase-public .public-category-picker-page .public-category-toolbar {
  border-bottom-color: color-mix(in srgb, var(--amarelo) 64%, transparent);
}

.purchase-public .public-category-picker-page .public-category-toolbar h2 {
  text-decoration-color: var(--amarelo);
}

.service-rating-page {
  background:
    linear-gradient(135deg, transparent 0 58%, rgba(255, 255, 255, 0.16) 58% 63%, transparent 63%),
    linear-gradient(180deg, var(--azul) 0, var(--azul) 340px, #ffffff 340px, #ffffff 392px, var(--amarelo) 392px, var(--amarelo) 100%);
  min-height: 100vh;
}

.service-rating-shell {
  margin: 0 auto;
  padding: 42px 16px 40px;
  width: min(1100px, 100%);
}

.service-rating-header {
  color: var(--branco);
  display: grid;
  gap: 8px;
  justify-items: center;
  margin-bottom: 20px;
  text-align: center;
}

.service-rating-logo {
  display: block;
  height: auto;
  max-width: min(340px, 62vw);
  width: 100%;
}

.service-rating-callout {
  -webkit-text-stroke: 0 transparent;
  color: var(--azul);
  display: block;
  font-family: "Arial Rounded MT Bold", "Trebuchet MS", Arial, sans-serif;
  font-size: clamp(96px, 13.44vw, 166.4px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
  margin-top: calc(14px + 5vh);
  max-width: min(860px, calc(100vw - 32px));
  text-align: center;
  text-shadow:
    5px 0 #ffffff,
    -5px 0 #ffffff,
    0 5px #ffffff,
    0 -5px #ffffff,
    4px 4px #ffffff,
    -4px 4px #ffffff,
    4px -4px #ffffff,
    -4px -4px #ffffff,
    0 9px 18px rgba(3, 22, 49, 0.38);
  transform: none;
}

.service-rating-brand {
  align-items: center;
  background: var(--azul);
  border: 2px solid var(--amarelo);
  border-radius: 999px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.72),
    0 14px 30px rgba(3, 22, 49, 0.20);
  color: #ffffff;
  display: inline-flex;
  font-family: "Arial Rounded MT Bold", Arial, sans-serif;
  font-size: clamp(22px, 3.4vw, 34px);
  font-weight: 900;
  gap: 8px;
  justify-content: center;
  letter-spacing: 0;
  line-height: 1;
  min-height: 56px;
  padding: 11px 22px 12px;
  text-decoration: none;
  text-shadow: 0 2px 8px rgba(3, 22, 49, 0.38);
}

.service-rating-brand span {
  color: inherit;
  display: inline;
}

.service-rating-home-button,
.service-rating-fullscreen-button {
  align-items: center;
  background: var(--amarelo) !important;
  border: 2px solid rgba(255, 255, 255, 0.72);
  border-radius: 8px;
  bottom: 18px;
  box-shadow: 0 12px 24px rgba(3, 22, 49, 0.24);
  color: var(--azul) !important;
  display: inline-flex;
  font-family: "Trebuchet MS", "Segoe UI", Arial, sans-serif;
  font-size: 0;
  height: 48px;
  justify-content: center;
  line-height: 1;
  min-height: 48px;
  min-width: 0;
  padding: 0;
  position: fixed;
  text-decoration: none;
  text-shadow: none;
  width: 48px;
  z-index: 2147482000;
}

.service-rating-home-button {
  left: 18px;
}

.service-rating-fullscreen-button {
  right: 18px;
}

.service-rating-fullscreen-button[hidden],
html:fullscreen .service-rating-fullscreen-button,
html:-webkit-full-screen .service-rating-fullscreen-button {
  display: none !important;
}

.service-rating-home-button span,
.service-rating-fullscreen-button::before {
  color: var(--azul);
  font-size: 28px;
  font-weight: 900;
}

.service-rating-fullscreen-button::before {
  content: "⛶";
}

.service-rating-fullscreen-button.is-fullscreen-active::before {
  content: "×";
  font-size: 32px;
}

.module-floating-home-button,
.module-floating-fullscreen-button {
  align-items: center;
  background: var(--amarelo) !important;
  border: 2px solid rgba(255, 255, 255, 0.72);
  border-radius: 8px;
  bottom: 18px;
  box-shadow: 0 12px 24px rgba(3, 22, 49, 0.24);
  color: var(--azul) !important;
  display: inline-flex;
  font-family: "Trebuchet MS", "Segoe UI", Arial, sans-serif;
  font-size: 0;
  height: 48px;
  justify-content: center;
  line-height: 1;
  min-height: 48px;
  min-width: 0;
  padding: 0;
  position: fixed;
  text-decoration: none;
  text-shadow: none;
  width: 48px;
  z-index: 2147482000;
}

.module-floating-home-button {
  left: 18px;
}

.module-floating-fullscreen-button {
  right: 18px;
}

.module-floating-home-button span,
.module-floating-fullscreen-button::before {
  color: var(--azul);
  font-size: 28px;
  font-weight: 900;
}

.module-floating-fullscreen-button::before {
  content: "⛶";
}

.module-floating-fullscreen-button.is-fullscreen-active::before {
  content: "×";
  font-size: 32px;
}

.service-rating-header h1 {
  font-family: "Arial Rounded MT Bold", Arial, sans-serif;
  font-size: clamp(30px, 5vw, 48px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.02;
  margin: 0;
  max-width: 760px;
}

.service-rating-header p {
  color: rgba(255, 255, 255, 0.84);
  font-size: clamp(15px, 2.1vw, 18px);
  font-weight: 800;
  line-height: 1.35;
  margin: 0;
}

.service-rating-form {
  display: grid;
  gap: 18px;
}

.seller-choice {
  display: grid;
  gap: 12.6px;
  grid-template-columns: repeat(3, minmax(133.2px, 180px));
  justify-content: center;
  transition: all 0.18s ease;
}

.service-rating-form.has-seller .seller-choice {
  grid-template-columns: minmax(151.2px, 201.6px);
  justify-content: center;
}

.seller-card {
  align-items: center;
  background:
    linear-gradient(180deg, var(--azul) 0, var(--azul) 68%, var(--azul-2) 100%) padding-box,
    linear-gradient(150deg, var(--amarelo) 0 18%, var(--azul) 18% 48%, var(--amarelo) 48% 62%, var(--azul) 62% 82%, var(--amarelo) 82% 100%) border-box;
  border: 3.6px solid transparent;
  border-radius: 12.6px;
  box-shadow: 0 12.6px 24.3px rgba(3, 22, 49, 0.20);
  cursor: pointer;
  display: grid;
  gap: 0;
  justify-items: center;
  min-height: 0;
  overflow: hidden;
  padding: 7.2px;
  position: relative;
  text-align: center;
  transition: transform 0.18s ease, box-shadow 0.18s ease, min-height 0.18s ease;
}

.seller-card::before {
  background: var(--amarelo);
  border-radius: 0 0 999px 999px;
  content: "";
  height: 5.4px;
  left: 16.2px;
  position: absolute;
  right: 16.2px;
  top: 0;
}

.seller-card input {
  position: absolute;
  opacity: 0;
}

.seller-card:has(input:checked) {
  box-shadow:
    0 0 0 3.6px rgba(255, 223, 0, 0.42),
    0 12.6px 24.3px rgba(3, 22, 49, 0.18);
  transform: translateY(-1.8px);
}

.service-rating-form.has-seller .seller-card:not(.is-selected) {
  display: none;
}

.service-rating-form.has-seller .seller-card.is-selected {
  background:
    linear-gradient(180deg, var(--azul) 0, var(--azul) 68%, var(--azul-2) 100%) padding-box,
    linear-gradient(150deg, var(--amarelo) 0 18%, var(--azul) 18% 48%, var(--amarelo) 48% 62%, var(--azul) 62% 82%, var(--amarelo) 82% 100%) border-box;
  box-shadow: 0 9.9px 21.6px rgba(3, 22, 49, 0.14);
  min-height: 0;
  padding: 7.2px;
  transform: none;
}

.seller-photo {
  align-items: center;
  background: var(--azul-2);
  border: 1.8px solid var(--amarelo);
  border-radius: 9px 9px 5.4px 5.4px;
  box-shadow: inset 0 0 0 1.8px rgba(2, 22, 58, 0.55);
  color: var(--amarelo);
  display: inline-flex;
  font-size: 37.8px;
  font-weight: 900;
  aspect-ratio: 3 / 4;
  height: auto;
  justify-content: center;
  overflow: hidden;
  width: 100%;
  transition: height 0.18s ease, box-shadow 0.18s ease;
}

.service-rating-form.has-seller .seller-photo {
  border-radius: 9px 9px 5.4px 5.4px;
  box-shadow: inset 0 0 0 1.8px rgba(2, 22, 58, 0.55);
  aspect-ratio: 3 / 4;
  height: auto;
  width: 100%;
}

.seller-photo img {
  height: 100%;
  object-fit: cover;
  object-position: center;
  width: 100%;
}

.seller-card strong {
  background: var(--amarelo);
  border: 1.8px solid var(--amarelo);
  border-radius: 0 0 9px 9px;
  box-shadow:
    inset 0 -4.5px 0 rgba(2, 22, 58, 0.14),
    0 -0.9px 0 rgba(255, 223, 0, 0.32);
  color: var(--azul);
  display: block;
  font-family: "sans-serif-rounded", ui-rounded, "Nunito", "Quicksand", "Arial Rounded MT Bold", "Trebuchet MS", Arial, sans-serif;
  font-size: 17.1px;
  font-weight: 900;
  letter-spacing: 0.01em;
  line-height: 1.12;
  margin-top: -0.9px;
  padding: 12.6px 9px 13.5px;
  text-shadow: 0 1px 0 rgba(255, 240, 102, 0.85);
  width: 100%;
}

.service-rating-form.has-seller .seller-card strong {
  background: var(--amarelo);
  border: 2.7px solid var(--amarelo);
  box-shadow:
    inset 0 -4.5px 0 rgba(2, 22, 58, 0.14),
    0 -0.9px 0 rgba(255, 223, 0, 0.32);
  font-size: 18.9px;
  padding: 10.8px 9px 11.7px;
}

.rating-flow {
  display: none;
  gap: 14px;
}

.service-rating-form.has-seller .rating-flow {
  display: grid;
}

.rating-step {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(255, 255, 255, 0.74);
  border-radius: 8px;
  box-shadow: 0 16px 34px rgba(3, 22, 49, 0.10);
  display: none;
  gap: 14px;
  padding: 16px;
}

.rating-step.is-active {
  display: grid;
}

.rating-step h2 {
  align-items: center;
  background: var(--amarelo);
  border: 2px solid rgba(2, 22, 58, 0.12);
  border-radius: 16px;
  box-shadow: 0 12px 22px rgba(3, 22, 49, 0.12);
  color: var(--azul);
  display: flex;
  font-family: "Arial Rounded MT Bold", Arial, sans-serif;
  font-size: clamp(24px, 4vw, 38px);
  font-weight: 900;
  gap: 12px;
  justify-content: center;
  letter-spacing: 0;
  line-height: 1.08;
  margin: 0;
  padding: 14px 18px;
  text-align: center;
}

.rating-question-icon {
  align-items: center;
  color: var(--azul);
  display: inline-flex;
  flex: 0 0 42px;
  height: 42px;
  justify-content: center;
  position: relative;
  width: 42px;
}

.rating-question-icon::before,
.rating-question-icon::after {
  content: "";
  position: absolute;
}

.rating-question-icon::before {
  background: currentColor;
  height: 40px;
  inset: 1px;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  width: 40px;
}

.rating-question-icon::after {
  display: none;
}

.icon-service::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='20' r='12' fill='%23000'/%3E%3Cpath fill='%23000' d='M10 56c0-12.15 9.85-22 22-22s22 9.85 22 22H10Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='20' r='12' fill='%23000'/%3E%3Cpath fill='%23000' d='M10 56c0-12.15 9.85-22 22-22s22 9.85 22 22H10Z'/%3E%3C/svg%3E");
}

.icon-product::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23000' d='M19 18h26l5 9v28H14V27l5-9Zm4 6-2 5h22l-2-5H23Zm2 12v5h14v-5H25Z'/%3E%3Cpath fill='%23000' d='M24 16c0-4.42 3.58-8 8-8s8 3.58 8 8h-6c0-1.1-.9-2-2-2s-2 .9-2 2h-6Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23000' d='M19 18h26l5 9v28H14V27l5-9Zm4 6-2 5h22l-2-5H23Zm2 12v5h14v-5H25Z'/%3E%3Cpath fill='%23000' d='M24 16c0-4.42 3.58-8 8-8s8 3.58 8 8h-6c0-1.1-.9-2-2-2s-2 .9-2 2h-6Z'/%3E%3C/svg%3E");
}

.icon-store::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23000' d='M12 16h40l5 15H7l5-15Zm0 20h40v20H12V36Zm8 6v14h8V42h-8Zm15 0v6h10v-6H35Z'/%3E%3Cpath fill='%23000' d='M8 30h48v5c0 3.31-2.69 6-6 6-2.28 0-4.27-1.27-5.29-3.14C43.69 39.73 41.7 41 39.42 41s-4.27-1.27-5.29-3.14C33.11 39.73 31.12 41 28.84 41s-4.27-1.27-5.29-3.14C22.53 39.73 20.54 41 18.26 41 14.95 41 12.26 38.31 12.26 35H8v-5Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23000' d='M12 16h40l5 15H7l5-15Zm0 20h40v20H12V36Zm8 6v14h8V42h-8Zm15 0v6h10v-6H35Z'/%3E%3Cpath fill='%23000' d='M8 30h48v5c0 3.31-2.69 6-6 6-2.28 0-4.27-1.27-5.29-3.14C43.69 39.73 41.7 41 39.42 41s-4.27-1.27-5.29-3.14C33.11 39.73 31.12 41 28.84 41s-4.27-1.27-5.29-3.14C22.53 39.73 20.54 41 18.26 41 14.95 41 12.26 38.31 12.26 35H8v-5Z'/%3E%3C/svg%3E");
}

.icon-comment::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23000' d='M12 13h40c3.31 0 6 2.69 6 6v23c0 3.31-2.69 6-6 6H31L18 57v-9h-6c-3.31 0-6-2.69-6-6V19c0-3.31 2.69-6 6-6Zm8 15h24v-6H20v6Zm0 12h17v-6H20v6Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23000' d='M12 13h40c3.31 0 6 2.69 6 6v23c0 3.31-2.69 6-6 6H31L18 57v-9h-6c-3.31 0-6-2.69-6-6V19c0-3.31 2.69-6 6-6Zm8 15h24v-6H20v6Zm0 12h17v-6H20v6Z'/%3E%3C/svg%3E");
}

.score-scale {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.score-scale label,
.suggestion-choice label {
  border-radius: 8px;
  cursor: pointer;
  display: grid;
  gap: 8px;
  min-height: 92px;
  padding: 10px 8px;
  place-items: center;
  position: relative;
  text-align: center;
  transition: transform 0.16s ease, box-shadow 0.16s ease, filter 0.16s ease;
}

.score-scale input,
.suggestion-choice input {
  position: absolute;
  opacity: 0;
}

.score-scale span {
  align-items: center;
  background: rgba(255, 255, 255, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.34);
  border-radius: 999px;
  color: var(--branco);
  display: inline-flex;
  font-size: 16px;
  font-weight: 900;
  height: 30px;
  justify-content: center;
  line-height: 1;
  width: 30px;
}

.score-scale .score-icon {
  filter: drop-shadow(0 4px 8px rgba(3, 22, 49, 0.16));
  font-size: 34px;
  line-height: 1;
}

.score-scale label:has(input:checked),
.suggestion-choice label:has(input:checked) {
  box-shadow:
    0 0 0 4px rgba(255, 223, 0, 0.38),
    0 16px 28px rgba(3, 22, 49, 0.18);
  transform: translateY(-2px);
}

.score-scale label:hover {
  filter: saturate(1.08) brightness(1.02);
  transform: translateY(-1px);
}

.score-0 { background: linear-gradient(160deg, #b91c1c, #ef4444); }
.score-1 { background: linear-gradient(160deg, #dc2626, #fb7185); }
.score-2 { background: linear-gradient(160deg, #ea580c, #fb923c); }
.score-3 { background: linear-gradient(160deg, #eab308, #fde047); }
.score-4 { background: linear-gradient(160deg, #65a30d, #bef264); }
.score-5 { background: linear-gradient(160deg, #15803d, #22c55e); }

.score-3 span,
.score-4 span {
  color: var(--azul);
  border-color: rgba(2, 22, 58, 0.18);
  background: rgba(255, 255, 255, 0.34);
}

.sr-only {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.suggestion-choice {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.suggestion-choice.is-hidden {
  display: none;
}

.suggestion-choice label {
  background: var(--azul);
  color: var(--branco);
  font-size: 18px;
  font-weight: 900;
  min-height: 54px;
}

.suggestion-step textarea {
  display: none;
  min-height: 110px;
}

.suggestion-step textarea.is-visible {
  display: block;
}

.suggestion-target {
  background: var(--azul);
  border: 3px solid var(--amarelo);
  border-radius: 12px;
  box-shadow: 0 14px 26px rgba(3, 22, 49, 0.16);
  display: none;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 12px;
  position: relative;
}

.suggestion-validation-bubble {
  align-items: center;
  background: var(--azul);
  border: 12px solid #ffffff;
  border-radius: 9999px;
  box-shadow: 0 18px 38px rgba(3, 22, 49, 0.28);
  box-sizing: border-box;
  color: #ffffff;
  display: flex;
  font-size: clamp(24px, 3.4vw, 42px);
  font-weight: 900;
  justify-content: center;
  left: 50%;
  line-height: 1.15;
  min-height: 256px;
  min-width: min(760px, calc(100vw - 48px));
  padding: 28px 72px;
  position: absolute;
  text-align: center;
  top: -16px;
  transform: translate(-50%, -100%);
  width: min(760px, calc(100vw - 48px));
  z-index: 20;
}

.suggestion-validation-bubble[hidden] {
  display: none;
}

.suggestion-validation-bubble::before,
.suggestion-validation-bubble::after {
  border-left: 0 solid transparent;
  content: "";
  position: absolute;
}

.suggestion-validation-bubble::before {
  border-right: 94px solid transparent;
  border-top: 86px solid #ffffff;
  bottom: -70px;
  filter: drop-shadow(0 5px 2px rgba(3, 22, 49, 0.16));
  left: 100px;
}

.suggestion-validation-bubble::after {
  border-right: 80px solid transparent;
  border-top: 72px solid var(--azul);
  bottom: -56px;
  left: 112px;
}

.service-rating-page .suggestion-validation-bubble,
:root[data-theme="dark"] .service-rating-page .suggestion-validation-bubble {
  background: var(--azul) !important;
}

.service-rating-page .suggestion-validation-bubble > span,
:root[data-theme="dark"] .service-rating-page .suggestion-validation-bubble > span {
  background: transparent !important;
  color: #ffffff !important;
  display: block;
  font-size: 1.3em;
}

.suggestion-target.is-visible {
  display: grid;
}

.suggestion-target p {
  color: var(--amarelo);
  font-family: "Arial Rounded MT Bold", Arial, sans-serif;
  font-size: 18px;
  font-weight: 900;
  grid-column: 1 / -1;
  margin: 0;
  text-align: center;
}

.suggestion-target label {
  cursor: pointer;
  position: relative;
}

.suggestion-target input {
  position: absolute;
  opacity: 0;
}

.suggestion-target span {
  align-items: center;
  background: var(--amarelo);
  border: 3px solid transparent;
  border-radius: 8px;
  color: var(--azul);
  display: flex;
  font-family: "Arial Rounded MT Bold", "Trebuchet MS", Arial, sans-serif;
  font-size: clamp(18px, 2.4vw, 22px);
  font-weight: 900;
  justify-content: center;
  min-height: 62px;
  padding: 10px;
  text-align: center;
}

.suggestion-target input:checked + span {
  background: var(--azul);
  border-color: var(--amarelo);
  box-shadow: 0 8px 18px rgba(3, 22, 49, 0.24);
  color: var(--branco);
}

.suggestion-submit-button {
  align-items: center;
  background: var(--azul);
  border: 2px solid rgba(255, 255, 255, 0.86);
  border-radius: 12px;
  box-shadow: 0 14px 26px rgba(3, 22, 49, 0.18);
  color: var(--amarelo);
  cursor: pointer;
  display: none;
  font-family: "Arial Rounded MT Bold", Arial, sans-serif;
  font-size: clamp(22px, 3.2vw, 30px);
  font-weight: 900;
  justify-content: center;
  letter-spacing: 0;
  min-height: 62px;
  padding: 12px 22px;
  text-align: center;
  transition: transform 0.16s ease, box-shadow 0.16s ease, filter 0.16s ease;
  justify-self: center;
  width: min(360px, 100%);
}

.suggestion-submit-button.is-visible {
  display: inline-flex;
}

.suggestion-submit-button:hover {
  box-shadow: 0 18px 30px rgba(3, 22, 49, 0.22);
  filter: saturate(1.06);
  transform: translateY(-1px);
}

.service-rating-done {
  align-items: center;
  background: var(--branco);
  border: 1px solid var(--linha);
  border-left: 8px solid var(--amarelo);
  border-radius: 8px;
  display: grid;
  gap: 16px;
  justify-items: center;
  min-height: 180px;
  padding: 26px;
  text-align: center;
}

.service-rating-done strong {
  color: var(--azul);
  font-size: 26px;
}

.employee-service-rating {
  align-items: stretch;
  display: grid;
  gap: 10px;
  grid-template-columns: 110px minmax(120px, 40%);
  justify-content: start;
  margin: 0 0 14px;
}

.service-rating-average,
.service-rating-total {
  border-radius: 8px;
  display: grid;
  gap: 3px;
  min-height: 58px;
  padding: 9px 10px;
}

.service-rating-average small,
.service-rating-total small {
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.service-rating-average strong,
.service-rating-total strong {
  font-size: 20px;
  line-height: 1;
}

.service-rating-average {
  color: var(--branco);
}

.service-rating-average.score-empty {
  background: var(--cinza);
}

.service-rating-average.score-3,
.service-rating-average.score-4 {
  color: var(--azul);
}

.service-rating-total {
  background: #f7fbff;
  border: 1px solid var(--linha);
  color: var(--azul);
}

.service-report-button {
  align-items: center;
  background: var(--azul-botao);
  border-radius: 8px;
  color: #ffffff;
  display: inline-flex;
  font-size: 13px;
  font-weight: 900;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  text-align: center;
  text-decoration: none;
}

.service-report-button:hover,
.service-report-button:focus-visible {
  color: #ffffff;
  filter: brightness(0.96);
}

.service-report-month .panel-heading span {
  color: var(--azul);
  font-weight: 900;
}

.service-report-summary {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  padding: 14px;
}

.service-report-summary div {
  background: #f7fbff;
  border: 1px solid var(--linha);
  border-left: 5px solid var(--amarelo);
  border-radius: 8px;
  display: grid;
  gap: 4px;
  padding: 12px;
}

.service-report-summary small {
  color: var(--cinza);
  font-weight: 900;
}

.service-report-summary strong {
  color: var(--azul);
  font-size: 24px;
  font-weight: 900;
}

.service-report-comments {
  display: grid;
  gap: 10px;
  padding: 0 14px 14px;
}

.service-report-comments h3 {
  color: var(--azul);
  margin: 0;
}

.service-report-comments article {
  background: var(--branco);
  border: 1px solid var(--linha);
  border-radius: 8px;
  display: grid;
  gap: 5px;
  padding: 12px;
}

.service-report-comments time,
.service-report-comments small {
  color: var(--cinza);
  font-weight: 900;
}

.service-report-comments p {
  color: var(--azul);
  font-weight: 800;
  margin: 0;
}

.evaluation-filter-panel {
  margin-bottom: 18px;
}

.evaluation-filter-form {
  align-items: start;
  display: grid;
  column-gap: 12px;
  row-gap: 6px;
  grid-template-columns: 280px minmax(170px, 1fr) 140px;
  grid-template-rows: auto 40px;
  justify-content: stretch;
  width: 100%;
}

.evaluation-filter-form-vendedores {
  grid-template-columns: 280px minmax(170px, 1fr) 210px 140px;
}

.evaluation-filter-form-vendedores button[name="pesquisar"] {
  grid-column: 4;
  grid-row: 2;
}

.evaluation-filter-form-vendedores .evaluation-suspicious-button {
  grid-column: 3;
  grid-row: 2;
}

.evaluation-filter-form-produto,
.evaluation-filter-form-ambiente,
.evaluation-filter-form-ranking {
  grid-template-columns: minmax(170px, 1fr) 140px;
  justify-content: stretch;
}

.evaluation-filter-form-produto button[type="submit"],
.evaluation-filter-form-ambiente button[type="submit"],
.evaluation-filter-form-ranking button[type="submit"] {
  grid-column: 2;
  grid-row: 2;
}

.admin-avaliacoes .evaluation-filter-form label {
  color: var(--azul);
  display: contents;
  font-size: 13px;
  font-weight: 900;
  min-width: 0;
}

.admin-avaliacoes .evaluation-filter-form label > span:not(.history-date-control) {
  align-self: end;
  grid-row: 1;
  line-height: 1.2;
}

.admin-avaliacoes .evaluation-filter-form label > input,
.admin-avaliacoes .evaluation-filter-form label > select,
.admin-avaliacoes .evaluation-filter-form label > .history-date-control {
  grid-row: 2;
}

.admin-avaliacoes .evaluation-filter-form .history-date-control {
  max-width: 170px;
  width: 170px;
}

.admin-avaliacoes .evaluation-filter-form .history-date-icon {
  background: transparent !important;
  color: var(--azul) !important;
}

.admin-avaliacoes .evaluation-filter-form .history-date-native,
.admin-avaliacoes .evaluation-filter-form .history-date-native:hover,
.admin-avaliacoes .evaluation-filter-form .history-date-native:focus-visible {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  color: var(--azul) !important;
  filter: none !important;
  transform: none !important;
}

.admin-avaliacoes .evaluation-filter-form .history-date-control:has(.history-date-native:hover) .history-date-icon,
.admin-avaliacoes .evaluation-filter-form .history-date-control:has(.history-date-native:focus-visible) .history-date-icon {
  background: var(--amarelo) !important;
}

:root[data-theme="dark"] .admin-avaliacoes .evaluation-filter-form .history-date-icon {
  background: transparent !important;
  color: var(--azul) !important;
}

:root[data-theme="dark"] .admin-avaliacoes .evaluation-filter-form .history-date-control:has(.history-date-native:hover) .history-date-icon,
:root[data-theme="dark"] .admin-avaliacoes .evaluation-filter-form .history-date-control:has(.history-date-native:focus-visible) .history-date-icon {
  background: var(--amarelo) !important;
}

.admin-avaliacoes .evaluation-heading {
  gap: 10px;
  margin-bottom: 10px;
  padding: 12px 14px;
}

.admin-avaliacoes .evaluation-heading::before {
  background-size: 38px 38px;
  border-width: 2px;
  flex-basis: 52px;
  height: 52px;
}

.admin-avaliacoes .evaluation-heading h1 {
  font-size: 28px;
  margin-bottom: 2px;
}

.admin-avaliacoes .evaluation-heading h1::after {
  display: none;
}

.admin-avaliacoes .evaluation-heading p {
  font-size: 13px;
  line-height: 1.35;
  margin: 0;
}

.admin-avaliacoes .evaluation-filter-panel {
  margin-bottom: 10px;
  padding: 12px 14px;
}

.admin-avaliacoes .evaluation-filter-form input,
.admin-avaliacoes .evaluation-filter-form select {
  height: 40px;
  min-height: 40px;
  padding: 7px 10px;
  width: 100%;
}

.evaluation-filter-form button,
.evaluation-pdf-button {
  background: var(--amarelo) !important;
  color: var(--azul) !important;
  font-weight: 900;
}

.evaluation-filter-form button {
  align-self: start;
  height: 40px;
  min-height: 40px;
  padding: 0 14px;
  width: 100%;
}

.admin-avaliacoes .evaluation-filter-form .evaluation-suspicious-button,
.admin-avaliacoes .evaluation-filter-form .evaluation-suspicious-button:hover,
.admin-avaliacoes .evaluation-filter-form .evaluation-suspicious-button:focus,
.admin-avaliacoes .evaluation-filter-form .evaluation-suspicious-button:focus-visible,
.admin-avaliacoes .evaluation-filter-form .evaluation-suspicious-button:active,
:root[data-theme="dark"] .admin-avaliacoes .evaluation-filter-form .evaluation-suspicious-button,
:root[data-theme="dark"] .admin-avaliacoes .evaluation-filter-form .evaluation-suspicious-button:hover,
:root[data-theme="dark"] .admin-avaliacoes .evaluation-filter-form .evaluation-suspicious-button:focus,
:root[data-theme="dark"] .admin-avaliacoes .evaluation-filter-form .evaluation-suspicious-button:focus-visible,
:root[data-theme="dark"] .admin-avaliacoes .evaluation-filter-form .evaluation-suspicious-button:active {
  background: var(--erro) !important;
  border-color: var(--erro) !important;
  color: var(--branco) !important;
  filter: none !important;
  transform: none !important;
}

.evaluation-summary {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  padding: 0 10px 10px;
}

.evaluation-summary div {
  background: var(--azul);
  border: 3px solid var(--amarelo);
  border-radius: 8px;
  color: var(--branco);
  display: grid;
  gap: 3px;
  min-height: 68px;
  padding: 8px 10px;
}

.evaluation-summary small {
  color: var(--amarelo);
  font-weight: 900;
  text-transform: uppercase;
}

.evaluation-summary strong {
  color: var(--branco);
  font-size: 18px;
  line-height: 1.12;
}

.evaluation-comments {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 0 14px 14px;
}

.evaluation-detail-view[hidden] {
  display: none !important;
}

.evaluation-report-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-left: auto;
}

.evaluation-report-actions .button-mini {
  min-height: 36px;
  padding: 0 12px;
}

.evaluation-ranking-pdf-button,
.evaluation-ranking-pdf-button:hover,
.evaluation-ranking-pdf-button:focus-visible {
  background: var(--azul) !important;
  border-color: var(--azul) !important;
  color: var(--branco) !important;
  filter: none !important;
}

.evaluation-ranking-chart {
  display: grid;
  gap: 8px;
  padding: 4px 14px 18px;
}

.evaluation-ranking-chart-row {
  align-items: center;
  display: grid;
  gap: 10px;
  grid-template-columns: 42px minmax(130px, 210px) minmax(180px, 1fr) 42px 76px;
}

.evaluation-ranking-chart-row > strong,
.evaluation-ranking-chart-row > b,
.evaluation-ranking-chart-row > small {
  color: var(--azul);
}

.evaluation-ranking-position {
  align-items: center;
  background: var(--amarelo);
  border-radius: 999px;
  color: var(--azul);
  display: inline-flex;
  font-size: 13px;
  font-weight: 900;
  height: 34px;
  justify-content: center;
  width: 34px;
}

.evaluation-ranking-track {
  background: var(--linha);
  border-radius: 999px;
  display: block;
  height: 22px;
  overflow: hidden;
}

.evaluation-ranking-track > span {
  background: linear-gradient(90deg, var(--azul), var(--azul-2));
  border-right: 4px solid var(--amarelo);
  display: block;
  height: 100%;
  min-width: 4px;
}

.evaluation-ranking-table-wrap {
  margin: 0 14px 14px;
}

.evaluation-ranking-table {
  min-width: 860px;
}

.evaluation-ranking-table th:nth-child(n+4),
.evaluation-ranking-table td:nth-child(n+4) {
  text-align: center;
}

.evaluation-suspicious-table-wrap {
  margin: 0 14px 14px;
}

.evaluation-suspicious-table {
  min-width: 920px;
}

.evaluation-suspicious-table th:nth-child(1),
.evaluation-suspicious-table td:nth-child(1) {
  width: 112px;
}

.evaluation-suspicious-table th:nth-child(2),
.evaluation-suspicious-table td:nth-child(2) {
  text-align: center;
  width: 92px;
}

.evaluation-suspicious-table th:nth-child(3),
.evaluation-suspicious-table td:nth-child(3) {
  text-align: center;
  width: 120px;
}

.evaluation-suspicious-table td:nth-child(4) {
  max-width: 320px;
  white-space: normal;
}

.evaluation-suspicious-reasons {
  display: grid;
  gap: 4px;
  margin: 0;
  padding-left: 18px;
}

.evaluation-suspicious-reasons li {
  color: var(--erro);
  font-weight: 900;
}

:root[data-theme="dark"] .evaluation-suspicious-reasons li {
  color: #ff7378;
}

@media (min-width: 681px) and (max-width: 920px) {
  .evaluation-filter-form-vendedores {
    grid-template-columns: minmax(220px, 1fr) 170px;
    grid-template-rows: auto 40px 40px;
  }

  .evaluation-filter-form-vendedores .evaluation-suspicious-button {
    grid-column: 1;
    grid-row: 3;
    justify-self: end;
    width: 210px;
  }

  .evaluation-filter-form-vendedores button[name="pesquisar"] {
    grid-column: 2;
    grid-row: 3;
  }
}

:root[data-theme="dark"] .evaluation-ranking-chart-row > strong,
:root[data-theme="dark"] .evaluation-ranking-chart-row > b,
:root[data-theme="dark"] .evaluation-ranking-chart-row > small {
  color: var(--branco);
}

:root[data-theme="dark"] .evaluation-ranking-track {
  background: #26364f;
}

@media (max-width: 720px) {
  .evaluation-ranking-chart-row {
    gap: 6px;
    grid-template-columns: 36px minmax(100px, 1fr) 52px;
  }

  .evaluation-ranking-chart-row .evaluation-ranking-track {
    grid-column: 2 / -1;
    grid-row: 2;
  }

  .evaluation-ranking-chart-row > small {
    grid-column: 2;
    grid-row: 3;
  }
}

.admin-avaliacoes .evaluation-report-actions button[data-evaluation-view],
.admin-avaliacoes .evaluation-report-actions button[data-evaluation-view]:hover,
.admin-avaliacoes .evaluation-report-actions button[data-evaluation-view]:focus,
.admin-avaliacoes .evaluation-report-actions button[data-evaluation-view]:focus-visible,
.admin-avaliacoes .evaluation-report-actions button[data-evaluation-view]:active,
.admin-avaliacoes .evaluation-report-actions button[data-evaluation-view].is-active,
:root[data-theme="dark"] .admin-avaliacoes .evaluation-report-actions button[data-evaluation-view],
:root[data-theme="dark"] .admin-avaliacoes .evaluation-report-actions button[data-evaluation-view]:hover,
:root[data-theme="dark"] .admin-avaliacoes .evaluation-report-actions button[data-evaluation-view]:focus,
:root[data-theme="dark"] .admin-avaliacoes .evaluation-report-actions button[data-evaluation-view]:focus-visible,
:root[data-theme="dark"] .admin-avaliacoes .evaluation-report-actions button[data-evaluation-view]:active,
:root[data-theme="dark"] .admin-avaliacoes .evaluation-report-actions button[data-evaluation-view].is-active {
  background: var(--azul-botao) !important;
  border: 0 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 8px 18px rgba(3, 22, 49, 0.10) !important;
  color: var(--branco) !important;
  filter: none !important;
  outline: none !important;
  transform: none !important;
  transition: none !important;
}

.evaluation-ratings {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 0 10px 10px;
}

.evaluation-ratings h3,
.evaluation-ratings > .empty-state {
  grid-column: 1 / -1;
  margin: 0;
}

.evaluation-ratings article {
  background: var(--branco);
  border: 1px solid var(--amarelo);
  border-left-width: 5px;
  border-radius: 6px;
  display: grid;
  gap: 4px;
  padding: 7px 9px;
}

.evaluation-ratings article > div {
  display: flex;
  gap: 8px;
  justify-content: space-between;
}

.evaluation-ratings time,
.evaluation-ratings span,
.evaluation-ratings strong {
  color: var(--azul);
  font-size: 13px;
  font-weight: 900;
}

.evaluation-comments h3 {
  color: var(--azul);
  grid-column: 1 / -1;
  margin: 0;
}

.evaluation-comments > .empty-state {
  grid-column: 1 / -1;
}

.evaluation-comments article {
  background: var(--branco);
  border: 1px solid var(--linha);
  border-left: 7px solid var(--amarelo);
  border-radius: 8px;
  display: grid;
  gap: 8px;
  padding: 12px;
}

.evaluation-comments article > div {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: space-between;
}

.evaluation-comments time,
.evaluation-comments span,
.evaluation-comments small {
  color: var(--cinza);
  font-weight: 900;
}

.evaluation-comments p {
  color: var(--azul);
  font-weight: 800;
  margin: 0;
}

@media (max-width: 680px) {
  .employee-service-rating,
  .service-report-summary {
    grid-template-columns: 1fr;
  }

  .seller-choice {
    grid-template-columns: repeat(2, minmax(104.4px, 140.4px));
    justify-content: center;
  }

  .seller-card {
    min-height: 0;
    padding: 5.4px;
  }

  .seller-photo {
    aspect-ratio: 3 / 4;
    height: auto;
    width: 100%;
  }

  .service-rating-form.has-seller .seller-photo {
    aspect-ratio: 3 / 4;
    height: auto;
    width: 100%;
  }

  .score-scale {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .suggestion-target,
  .evaluation-filter-form {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    max-width: none;
  }

  .evaluation-filter-form-vendedores button[type="submit"],
  .evaluation-filter-form-produto button[type="submit"],
  .evaluation-filter-form-ambiente button[type="submit"] {
    grid-column: 1;
    grid-row: auto;
  }

  .admin-avaliacoes .evaluation-filter-form label {
    display: grid;
    gap: 6px;
  }

  .admin-avaliacoes .evaluation-filter-form label > span,
  .admin-avaliacoes .evaluation-filter-form label > input,
  .admin-avaliacoes .evaluation-filter-form label > select,
  .admin-avaliacoes .evaluation-filter-form label > .history-date-control {
    grid-row: auto;
  }

  .evaluation-comments,
  .evaluation-ratings {
    grid-template-columns: 1fr;
  }

}

/* Tablet Android em 1200 x 1920 ou 1920 x 1200, com viewport físico ou escalado. */
@media (min-width: 500px) and (max-width: 2000px) and (min-height: 600px) and (max-height: 2000px) and (hover: none) and (pointer: coarse),
       (min-width: 1000px) and (max-width: 2000px) and (min-height: 600px) and (max-height: 1300px) and (orientation: landscape) {
  .service-rating-shell {
    padding: 22px 12px 20px;
  }

  .service-rating-header {
    gap: 5px;
    margin-bottom: 8px;
  }

  .service-rating-logo {
    max-width: min(260px, 46vw);
  }

  .service-rating-callout {
    font-size: clamp(83.2px, 12.16vw, 134.4px);
  }

  .service-rating-brand {
    font-size: 19px;
    min-height: 38px;
    padding: 7px 15px 8px;
  }

  .service-rating-header h1 {
    font-size: clamp(22px, 3vw, 28px);
    line-height: 1;
  }

  .service-rating-header p {
    font-size: 14px;
    line-height: 1.2;
  }

  .seller-choice {
    gap: 5.4px;
    grid-template-columns: repeat(3, minmax(111.6px, 151.2px));
    justify-content: center;
  }

  .seller-card {
    border-width: 1.8px;
    border-radius: 7.2px;
    min-height: 0;
    padding: 2.7px;
  }

  .seller-card::before {
    height: 2.7px;
    left: 9px;
    right: 9px;
  }

  .seller-photo {
    border-width: 0.9px;
    border-radius: 6.3px 6.3px 3.6px 3.6px;
    font-size: 19.8px;
    aspect-ratio: 3 / 4;
    height: auto;
  }

  .seller-photo img {
    display: block;
    height: auto;
    max-height: 100%;
    max-width: 100%;
    object-fit: scale-down;
    object-position: center;
    width: auto;
  }

  .seller-card strong {
    border-width: 0.9px;
    border-radius: 0 0 6.3px 6.3px;
    font-family: "sans-serif-rounded", ui-rounded, "Nunito", "Quicksand", "Arial Rounded MT Bold", "Trebuchet MS", Arial, sans-serif;
    font-size: clamp(9.9px, 1.305vw, 12.6px);
    font-weight: 800;
    letter-spacing: 0.015em;
    line-height: 1.08;
    min-height: 27px;
    padding: 4.5px 3.6px 5.4px;
  }

  .service-rating-form.has-seller .seller-choice {
    grid-template-columns: minmax(129.6px, 165.6px);
  }

  .service-rating-form.has-seller .seller-photo {
    aspect-ratio: 3 / 4;
    height: auto;
  }

  .service-rating-form.has-seller .seller-card strong {
    font-size: 12.6px;
    padding: 6.3px 4.5px 7.2px;
  }

  .suggestion-target,
  .suggestion-target.is-visible {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 420px) {
  .seller-choice,
  .score-scale,
  .suggestion-choice {
    grid-template-columns: 1fr;
  }

  .seller-card {
    justify-self: center;
    width: 90%;
  }

  .service-rating-form.has-seller .seller-card.is-selected {
    width: 100%;
  }
}

.admin-compras .category-admin {
  border-left: 8px solid var(--categoria-cor, var(--amarelo));
}

.admin-compras .category-admin:not(.automatic-shopping-category) {
  border-top: 4px solid var(--categoria-cor, var(--amarelo));
  border-right: 4px solid var(--categoria-cor, var(--amarelo));
  border-bottom: 4px solid var(--categoria-cor, var(--amarelo));
}

.admin-compras .category-admin:not(.automatic-shopping-category) > .panel-heading {
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--categoria-cor, var(--amarelo)) 24%, transparent) 0%, color-mix(in srgb, var(--categoria-cor, var(--amarelo)) 24%, transparent) 50%, transparent 100%) !important;
}

.admin-compras .category-admin .current-shopping-table thead th,
.admin-compras .category-admin .automatic-shopping-table thead th {
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--categoria-cor, var(--amarelo)) 24%, transparent) 0%, color-mix(in srgb, var(--categoria-cor, var(--amarelo)) 24%, transparent) 50%, transparent 100%) !important;
}

.admin-compras .category-admin h2,
.admin-compras .category-admin .panel-heading h2,
.admin-compras .category-admin > .panel-heading h2 {
  text-decoration: none !important;
}

.admin-compras .category-admin .panel-heading h2::after {
  background: transparent !important;
  content: none !important;
  display: none !important;
  height: 0 !important;
  width: 0 !important;
}

.stock-entry-panel {
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--categoria-cor, var(--amarelo)) 11%, transparent), transparent 38%),
    var(--branco);
  border-color: color-mix(in srgb, var(--categoria-cor, var(--amarelo)) 28%, var(--linha));
  border-left: 8px solid var(--categoria-cor, var(--amarelo));
}

.stock-entry-panel .panel-heading h2::after {
  background: var(--amarelo);
}

.stock-entry-list {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  padding: 14px;
}

.stock-entry-row {
  align-items: center;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--categoria-cor) 12%, transparent), transparent 42%),
    linear-gradient(180deg, #ffffff, #f7faff);
  border: 1px solid color-mix(in srgb, var(--categoria-cor) 24%, var(--linha));
  border-left: 8px solid var(--categoria-cor);
  border-radius: 8px;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) 112px 92px;
  margin: 0;
  min-height: 58px;
  padding: 10px 10px 10px 14px;
}

.stock-entry-item {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.stock-entry-item strong {
  color: var(--azul);
  font-size: 16px;
  overflow-wrap: anywhere;
}

.stock-entry-item small {
  color: var(--cinza);
  font-weight: 800;
}

.stock-quantity-control {
  align-items: stretch;
  background: var(--branco);
  border: 1px solid var(--azul);
  border-radius: 8px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 52.5px;
  min-height: 50px;
  overflow: hidden;
  width: 112px;
}

.stock-quantity-control input {
  appearance: textfield;
  background: transparent;
  border: 0;
  min-height: 48px;
  padding: 10px 8px 10px 11px;
  -webkit-user-select: text;
  user-select: text;
  width: 100%;
}

.stock-quantity-control input::-webkit-inner-spin-button,
.stock-quantity-control input::-webkit-outer-spin-button {
  appearance: none;
  margin: 0;
}

.stock-stepper,
.stock-stepper * {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}

.stock-stepper,
.stock-stepper button {
  touch-action: manipulation;
}

.stock-stepper {
  background:
    linear-gradient(180deg, #1b2b45, #121f34);
  border-left: 1px solid var(--azul);
  display: grid;
  grid-template-rows: 1fr 1fr;
}

.stock-stepper button {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: #ffffff;
  display: inline-flex;
  justify-content: center;
  min-height: 0;
  min-width: 0;
  padding: 0;
  position: relative;
  transition: background-color 0.16s ease, color 0.16s ease;
  width: 100%;
}

.stock-stepper button::before {
  border-right: 2px solid currentColor;
  border-top: 2px solid currentColor;
  content: "";
  display: block;
  height: 6px;
  opacity: 0.9;
  transform: rotate(-45deg);
  width: 6px;
}

.stock-stepper button[data-stock-step="down"]::before {
  transform: rotate(135deg);
}

.stock-stepper button + button {
  border-top: 1px solid var(--azul);
}

.stock-stepper button:hover,
.stock-stepper button:focus-visible {
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--amarelo) 86%, #ffffff), var(--amarelo));
  color: var(--azul);
}

.stock-stepper button:active::before {
  transform: rotate(-45deg) translateY(1px);
}

.stock-stepper button[data-stock-step="down"]:active::before {
  transform: rotate(135deg) translateY(1px);
}

/* Etiquetas: o stepper padrão acompanha a largura e a altura de cada formulário. */
.admin-etiquetas .stock-quantity-control.label-number-control {
  --label-stepper-height: 50px;
  --label-stepper-width: 44px;
  grid-template-columns: minmax(0, 1fr) var(--label-stepper-width);
  max-width: 100%;
  min-height: var(--label-stepper-height);
  width: 100%;
}

.admin-etiquetas .label-number-control > input {
  min-height: calc(var(--label-stepper-height) - 2px);
  min-width: 0;
  padding: 8px 10px;
}

.admin-etiquetas input[type="number"][data-system-stepper="off"] {
  appearance: textfield;
}

.admin-etiquetas input[type="number"][data-system-stepper="off"]::-webkit-inner-spin-button,
.admin-etiquetas input[type="number"][data-system-stepper="off"]::-webkit-outer-spin-button {
  appearance: none;
  margin: 0;
}

.admin-etiquetas :is(.label-canvas-controls, .label-property-grid) .label-number-control {
  --label-stepper-height: 36px;
  --label-stepper-width: 36px;
}

.admin-etiquetas :is(.label-canvas-controls, .label-property-grid) .label-number-control > input {
  font-size: 12px;
  min-height: 34px;
  padding: 6px 8px;
}

.admin-etiquetas :is(.label-category-form, .label-report-form) .label-number-control {
  --label-stepper-height: 40px;
  --label-stepper-width: 38px;
}

.admin-etiquetas :is(.label-category-form, .label-report-form) .label-number-control > input {
  min-height: 38px;
  padding: 7px 9px;
}

.admin-etiquetas .label-number-control:focus-within {
  box-shadow: 0 0 0 3px rgba(0, 109, 255, 0.13);
}

.admin-etiquetas .label-number-control.is-control-disabled,
.admin-etiquetas .label-number-control:has(> input:disabled),
.admin-etiquetas .label-number-control:has(> input[readonly]) {
  border-color: var(--linha);
  box-shadow: none;
}

.admin-etiquetas .label-number-control.is-control-disabled .stock-stepper,
.admin-etiquetas .label-number-control:has(> input:disabled) .stock-stepper,
.admin-etiquetas .label-number-control:has(> input[readonly]) .stock-stepper {
  filter: saturate(0.55);
  opacity: 0.68;
}

.admin-etiquetas .label-number-control .stock-stepper button:disabled {
  cursor: not-allowed;
  opacity: 0.58;
  pointer-events: none;
}

.stock-entry-row > input[type="number"] {
  border-color: color-mix(in srgb, var(--categoria-cor) 34%, var(--linha));
  min-height: 40px;
  padding: 8px;
  width: 88px;
}

.stock-entry-row > button[type="submit"] {
  background: var(--azul);
  border-color: var(--azul);
  color: var(--branco);
  min-height: 40px;
  min-width: 92px;
  padding: 0 12px;
}

.stock-entry-row > button[type="submit"]:hover,
.stock-entry-row > button[type="submit"]:focus-visible {
  background: var(--amarelo);
  border-color: var(--amarelo);
  color: var(--azul);
}

.admin-estoque .stock-entry-row > button[type="submit"],
.admin-estoque .stock-entry-row > button[type="submit"]:hover,
.admin-estoque .stock-entry-row > button[type="submit"]:focus-visible {
  background: var(--azul) !important;
  border-color: var(--azul) !important;
  color: #ffffff !important;
  filter: none !important;
  transform: none !important;
}

.stock-history-filter {
  align-items: end;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  margin-left: auto;
}

.stock-history-filter label {
  color: var(--azul);
  display: grid;
  font-size: 11px;
  font-weight: 900;
  gap: 3px;
  margin: 0;
}

.stock-history-filter input {
  min-height: 32px;
  padding: 5px 8px;
  width: 118px;
}

.stock-history-filter select {
  min-height: 32px;
}

.stock-history-filter button,
.stock-history-filter .button-mini {
  min-height: 32px;
  min-width: 72px;
  padding: 0 10px;
}

.stock-entry-row.stock-band-row-alert {
  border-color: transparent;
  border-left-color: var(--faixa-cor);
}

.stock-entry-row.stock-band-row-alert .stock-entry-item strong,
.stock-entry-row.stock-band-row-alert .stock-entry-item small {
  color: var(--azul);
}

.stock-entry-row-green {
  --faixa-cor: #26ff00;
  background:
    linear-gradient(90deg, rgba(38, 255, 0, 0.32) 0%, rgba(38, 255, 0, 0.18) 48%, rgba(38, 255, 0, 0.08) 100%),
    linear-gradient(180deg, #ffffff, #f7faff);
  border-left-color: #26ff00;
}

.stock-entry-row-empty {
  background:
    linear-gradient(90deg, rgba(100, 116, 139, 0.14) 0%, rgba(100, 116, 139, 0.08) 44%, transparent 100%),
    linear-gradient(180deg, #ffffff, #f7faff);
  border-left-color: #94a3b8;
}

.category-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.registered-picker {
  min-width: 0;
}

.registered-picker summary {
  list-style: none;
  background:
    linear-gradient(135deg, rgba(255, 223, 0, 0.12), transparent 46%),
    linear-gradient(135deg, var(--azul), var(--azul-2));
  color: var(--branco);
  border-radius: 8px;
  box-shadow: 0 12px 20px rgba(3, 22, 49, 0.14);
  min-height: 54px;
  min-width: 142px;
  padding: 11px 15px;
  cursor: pointer;
  font-weight: 900;
  text-align: center;
}

.registered-picker summary::-webkit-details-marker {
  display: none;
}

.registered-picker form {
  display: grid;
  grid-template-columns: minmax(170px, 1fr) 96px minmax(180px, 1.1fr) auto;
  gap: 8px;
  margin-top: 10px;
  align-items: center;
}

.item-entry {
  display: grid;
  grid-template-columns: 1.1fr 1fr 1fr 1.1fr auto;
  gap: 8px;
}

.item-list {
  margin-top: 12px;
  display: grid;
  gap: 8px;
}

.purchase-item {
  display: grid;
  grid-template-columns: auto 1.2fr 0.9fr 1fr 1.2fr;
  gap: 14px;
  align-items: center;
  min-height: 62px;
  background: linear-gradient(180deg, #ffffff, #f7faff);
  border: 1px solid #dfe7f3;
  border-left: 5px solid rgba(255, 230, 0, 0.88);
  border-radius: 8px;
  padding: 10px 12px;
}

.stock-band {
  --categoria-cor: #2563eb;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--categoria-cor) 16%, transparent), transparent 42%),
    linear-gradient(180deg, #ffffff, #f7faff) !important;
  border-left-color: var(--categoria-cor) !important;
  border-left-width: 8px !important;
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--categoria-cor) 18%, transparent),
    0 8px 18px rgba(3, 22, 49, 0.05);
}

.stock-band-row {
  --categoria-cor: #2563eb;
}

.stock-band-row td {
  background: color-mix(in srgb, var(--categoria-cor) 8%, var(--branco));
}

.stock-band-row td:first-child {
  box-shadow: inset 8px 0 0 var(--categoria-cor);
  padding-left: 16px;
}

.admin-compras .stock-band-row td {
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--categoria-cor) 14%, transparent), transparent 48%),
    color-mix(in srgb, var(--categoria-cor) 7%, var(--branco));
}

.admin-compras .stock-band-row td:first-child {
  box-shadow: inset 8px 0 0 var(--categoria-cor);
  padding-left: 16px;
}

.stock-band-row-alert.stock-band-row-yellow {
  --faixa-cor: var(--amarelo);
  background:
    linear-gradient(90deg, rgba(255, 223, 0, 0.78) 0%, rgba(255, 223, 0, 0.44) 48%, rgba(255, 223, 0, 0.20) 100%),
    #ffdf00 !important;
}

.stock-band-row-alert.stock-band-row-red {
  --faixa-cor: #dc2626;
  background:
    linear-gradient(90deg, rgba(220, 38, 38, 0.54) 0%, rgba(220, 38, 38, 0.30) 48%, rgba(220, 38, 38, 0.14) 100%),
    #dc2626 !important;
}

.stock-band-row-alert td {
  background: transparent !important;
}

.stock-band-row-alert td:first-child {
  box-shadow: inset 8px 0 0 var(--faixa-cor);
}

.stock-band-row-alert small {
  color: var(--azul);
  font-weight: 900;
}

.admin-estoque .stock-entry-row.stock-band-row-red .stock-entry-item strong,
.admin-estoque .stock-entry-row.stock-band-row-red .stock-entry-item small,
:root[data-theme="dark"] .admin-estoque .stock-entry-row.stock-band-row-red .stock-entry-item strong,
:root[data-theme="dark"] .admin-estoque .stock-entry-row.stock-band-row-red .stock-entry-item small {
  color: #ffffff !important;
}

.icon-form {
  margin: 0;
}

.icon-form button {
  min-height: 34px;
  background: var(--amarelo-2);
  color: var(--azul);
  padding: 0 10px;
  font-size: 12px;
}

@media (max-width: 920px) {
  .home-actions,
  .metric-grid,
  .admin-form {
    grid-template-columns: 1fr;
  }

  .admin-form .span-2 {
    grid-column: span 1;
  }

  .employee-birthday-strip {
    flex: 1 1 100%;
    justify-content: flex-start;
    margin-left: 0;
    min-width: 0;
    overflow-x: auto;
    padding-bottom: 2px;
  }

  .employee-form label,
  .employee-form label:has(input[name="nome"]),
  .employee-form label:has(select[name="cargo"]),
  .employee-form label:has(input[name="salario"]),
  .employee-form label:has(select[name="dia_vencimento"]),
  .employee-form label:has(input[name="data_admissao"]),
  .employee-form label:has(input[name="cpf"]),
  .employee-form label:has(input[name="rg"]),
  .employee-form label:has(input[name="data_nascimento"]),
  .employee-form label:has(input[name="endereco"]),
  .employee-form label:has(input[name="email"]),
  .employee-form label:has(input[name="contato_funcionario"]),
  .employee-form label:has(input[name="telefone_emergencia"]),
  .employee-form label:has(input[name="grau_escolaridade"]),
  .employee-form label:has(input[name="local_nascimento"]),
  .employee-form label:has(textarea[name="referencias_contato"]),
  .employee-form label:has(textarea[name="historico_familiar"]),
  .employee-form label:has(input[name="foto_perfil"]) {
    grid-column: 1 / -1;
  }

  .admin-usuarios .user-form {
    grid-template-columns: 1fr;
  }

  .admin-usuarios .user-field-name,
  .admin-usuarios .user-field-login,
  .admin-usuarios .user-field-password,
  .admin-usuarios .user-field-company,
  .admin-usuarios .user-field-type,
  .admin-usuarios .user-form .permission-grid,
  .admin-usuarios .user-form > button[type="submit"] {
    grid-column: 1 / -1;
  }

  .admin-usuarios .users-company-filter {
    margin-left: 0;
    width: 100%;
  }

  .admin-usuarios .users-company-filter select {
    min-width: 0;
    width: 100%;
  }

  .cover-inner,
  .home-cover-inner,
  .public-intro,
  .category-head {
    align-items: stretch;
    flex-direction: column;
  }

  .nav-inner {
    align-items: stretch;
    grid-template-columns: 1fr;
  }

  .nav-links a {
    flex: 0 0 calc(50% - 5px);
    width: calc(50% - 5px);
  }

  .module-subnav a {
    flex: 0 0 calc(50% - 5px);
    width: calc(50% - 5px);
  }

  .empresa-switch,
  .inline-form {
    width: 100%;
    min-width: 0;
  }

  .item-entry,
  .registered-picker form,
  .purchase-item,
  .public-form,
  .public-login-form:not(.public-login-form-auth),
  .public-login-form-auth {
    grid-template-columns: 1fr;
  }

  .public-login-form-auth button {
    grid-column: span 1;
  }

  .cover-user,
  .home-session-bar {
    justify-content: flex-start;
  }
}

@media (max-width: 560px) {
  .home-shell,
  .admin-main,
  .cover-inner,
  .home-cover-inner,
  .nav-inner {
    width: min(100% - 20px, 1180px);
  }

  .home-brand strong,
  .cover-brand strong {
    font-size: 36px;
  }

  .home-brand span,
  .cover-brand span {
    font-size: 24px;
  }

  .page-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .nav-links a {
    flex-basis: 100%;
    max-width: 100%;
    width: 100%;
  }

  .module-subnav a {
    flex-basis: 100%;
    max-width: 100%;
    width: 100%;
  }

  .document-row {
    align-items: stretch;
    flex-direction: column;
  }

  .document-row .actions-cell {
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}

.cover-brand strong,
.home-brand strong {
  color: var(--branco);
  text-shadow: 0 8px 20px rgba(0, 0, 0, 0.22);
}

.panel-heading h2,
.public-panel h2,
.category-head h2 {
  text-decoration: underline;
  text-decoration-color: var(--amarelo);
  text-decoration-thickness: 4px;
  text-underline-offset: 7px;
}

.compact-form {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.permission-grid {
  border: 1px solid var(--linha);
  border-radius: 8px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 14px;
}

.permission-grid legend {
  color: var(--azul);
  font-weight: 900;
  padding: 0 8px;
}

.permission-grid label {
  align-items: center;
  display: flex;
  gap: 8px;
  margin: 0;
}

.permission-grid input {
  min-height: auto;
  width: auto;
}

.form-hint {
  color: var(--cinza);
  font-size: 13px;
  font-weight: 800;
  grid-column: 1 / -1;
  margin: 0;
}

.device-unlink {
  min-width: 150px;
}

.device-unlink summary {
  background: var(--azul);
  border-radius: 8px;
  color: var(--branco);
  cursor: pointer;
  font-size: 12px;
  font-weight: 900;
  list-style: none;
  padding: 8px 10px;
  text-align: center;
}

.device-unlink summary::-webkit-details-marker {
  display: none;
}

.device-unlink form {
  background: #ffffff;
  border: 1px solid var(--linha);
  border-radius: 8px;
  display: grid;
  gap: 6px;
  margin-top: 6px;
  padding: 8px;
}

.device-unlink input {
  font-size: 12px;
  min-height: 34px;
  padding: 6px 8px;
  width: 100%;
}

.buy-form {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) 92px auto;
  gap: 8px;
  min-width: 390px;
}

.current-shopping-table {
  min-width: 860px;
}

.current-shopping-table th:nth-child(2),
.current-shopping-table td:nth-child(2),
.current-shopping-table th:nth-child(3),
.current-shopping-table td:nth-child(3),
.current-shopping-table th:nth-child(4),
.current-shopping-table td:nth-child(4),
.automatic-shopping-table th:nth-child(2),
.automatic-shopping-table td:nth-child(2),
.automatic-shopping-table th:nth-child(3),
.automatic-shopping-table td:nth-child(3),
.automatic-shopping-table th:nth-child(4),
.automatic-shopping-table td:nth-child(4) {
  width: 132px;
}

.current-shopping-table th:nth-child(5),
.current-shopping-table td:nth-child(5) {
  width: 390px;
}

.current-shopping-table td:nth-child(2),
.current-shopping-table td:nth-child(3),
.current-shopping-table td:nth-child(4),
.current-shopping-table td:nth-child(2) small {
  color: var(--cinza);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
}

.current-shopping-table .buy-form {
  grid-template-columns: repeat(4, 118px);
  justify-content: end;
  min-width: 0;
  width: max-content;
}

.current-shopping-table .buy-form select,
.current-shopping-table .buy-form input[name="preco_compra"],
.current-shopping-table .buy-form .purchase-money-control,
.current-shopping-table .buy-form .success-action-button {
  box-sizing: border-box;
  font-size: 12px;
  min-height: 38px;
  min-width: 0;
  padding-left: 8px;
  padding-right: 8px;
  width: 118px;
}

.current-shopping-table .buy-form select,
.automatic-shopping-table .buy-form select {
  min-height: 50px;
  width: 112px;
}

.current-shopping-table .buy-form select {
  text-overflow: ellipsis;
}

.current-shopping-table .buy-form .success-action-button {
  padding-left: 0;
  padding-right: 0;
}

.current-shopping-table td {
  padding-bottom: 7px;
  padding-top: 7px;
}

.current-shopping-table .buy-form .purchase-money-control {
  border-radius: 6px;
  min-height: 34px;
  overflow: hidden;
  padding: 0;
}

.current-shopping-table .buy-form .purchase-money-control input {
  box-sizing: border-box;
  font-size: 12px;
  min-height: 32px;
  min-width: 0;
  padding-bottom: 5px;
  padding-top: 5px;
  width: 100%;
}

.current-shopping-table .buy-form .purchase-money-control input::placeholder {
  font-size: 12px;
}

.current-shopping-table .buy-form .purchase-money-control .stock-stepper button {
  min-height: 0;
}

.current-shopping-table .buy-form .purchase-money-control .stock-stepper button:hover,
.current-shopping-table .buy-form .purchase-money-control .stock-stepper button:focus-visible {
  background: var(--amarelo);
  color: var(--azul);
}

.automatic-shopping-table .buy-form {
  grid-template-columns: repeat(4, 118px);
  justify-content: end;
  min-width: 0;
  width: max-content;
}

.automatic-shopping-table {
  min-width: 860px;
}

.automatic-shopping-table th:first-child,
.automatic-shopping-table td:first-child {
  width: 304px;
}

.automatic-shopping-table th:nth-child(5),
.automatic-shopping-table td:nth-child(5) {
  width: 510px;
}

.automatic-shopping-table td {
  padding-bottom: 7px;
  padding-top: 7px;
}

.automatic-shopping-table td:nth-child(2),
.automatic-shopping-table td:nth-child(3),
.automatic-shopping-table td:nth-child(4) {
  color: var(--cinza);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
}

.automatic-shopping-table .buy-form .purchase-step-control {
  border-radius: 6px;
  min-height: 34px;
  overflow: hidden;
  padding: 0;
  width: 118px;
}

.automatic-shopping-table .buy-form .purchase-step-control input {
  box-sizing: border-box;
  font-size: 12px;
  min-height: 32px;
  min-width: 0;
  padding-bottom: 5px;
  padding-top: 5px;
  width: 100%;
}

.automatic-shopping-table .buy-form .purchase-step-control input::placeholder {
  font-size: 12px;
}

.automatic-shopping-table .buy-form .purchase-step-control .stock-stepper button {
  min-height: 0;
}

.automatic-shopping-table .buy-form select,
.automatic-shopping-table .buy-form .success-action-button {
  box-sizing: border-box;
  font-size: 12px;
  min-height: 38px;
  min-width: 0;
  padding-left: 8px;
  padding-right: 8px;
  width: 118px;
}

.admin-compras .automatic-shopping-table .stock-band-row-red td:nth-child(-n + 4),
.admin-compras .automatic-shopping-table .stock-band-row-red td:nth-child(-n + 4) strong,
.admin-compras .automatic-shopping-table .stock-band-row-red td:nth-child(-n + 4) small {
  color: #ffffff;
}

.automatic-shopping-details {
  line-height: 1.25;
  white-space: nowrap;
}

.automatic-shopping-details span {
  color: var(--cinza);
  display: block;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.automatic-shopping-details strong {
  color: var(--cinza);
  font-size: 12px;
  font-weight: 800;
}

.purchase-quantity-input {
  font-size: 12px;
  text-align: center;
}

.buy-form .purchase-step-control {
  width: 112px;
}

.buy-form .purchase-money-control {
  width: 118px;
}

.buy-form input,
.buy-form select {
  min-height: 38px;
}

.buy-form button {
  background: var(--azul-3);
  color: var(--branco);
  min-height: 38px;
}

.success-action-button,
.buy-form .success-action-button,
.actions-cell .success-action-button,
.inline-upload-form .success-action-button {
  background: linear-gradient(180deg, var(--verde-fluor), var(--verde-fluor-2)) !important;
  border: 2px solid #17b900 !important;
  border-radius: 4px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35), 0 10px 18px rgba(57, 255, 20, 0.24) !important;
  color: var(--azul) !important;
  font-size: 14px;
  letter-spacing: 0;
  min-height: 46px;
  min-width: 104px;
  padding: 0 18px;
  text-transform: uppercase;
}

.success-action-button:hover {
  filter: brightness(1.02);
  transform: translateY(-1px);
}

.admin-compras .success-action-button {
  text-transform: none;
}

.current-shopping-table td,
.automatic-shopping-table td {
  padding-bottom: 14px;
  padding-top: 14px;
}

.current-shopping-table .buy-form,
.automatic-shopping-table .buy-form {
  align-items: center;
}

.current-shopping-table .buy-form select,
.current-shopping-table .buy-form input[name="preco_compra"],
.automatic-shopping-table .buy-form select {
  min-height: 57px;
}

.current-shopping-table .buy-form .purchase-money-control,
.automatic-shopping-table .buy-form .purchase-step-control {
  min-height: 51px;
}

.current-shopping-table .buy-form .purchase-money-control input,
.automatic-shopping-table .buy-form .purchase-step-control input {
  min-height: 49px;
  padding-bottom: 10px;
  padding-top: 10px;
}

.current-shopping-table .buy-form .success-action-button,
.automatic-shopping-table .buy-form .success-action-button {
  min-height: 38px;
}

.current-shopping-table .buy-form .purchase-money-control,
.automatic-shopping-table .buy-form .purchase-step-control {
  border: 1px solid var(--azul);
  border-radius: 8px;
  grid-template-columns: minmax(0, 1fr) 52.5px;
  min-height: 50px;
  padding: 0;
  width: 112px;
}

.current-shopping-table .buy-form .purchase-money-control input,
.automatic-shopping-table .buy-form .purchase-step-control input {
  font-size: inherit;
  min-height: 48px;
  padding: 10px 8px 10px 11px;
}

.current-shopping-table .buy-form .purchase-money-control input::placeholder,
.automatic-shopping-table .buy-form .purchase-step-control input::placeholder {
  font-size: inherit;
}

.current-shopping-table .buy-form .purchase-money-control .stock-stepper,
.automatic-shopping-table .buy-form .purchase-step-control .stock-stepper {
  border-left-color: var(--azul);
}

.current-shopping-table .buy-form .purchase-money-control .stock-stepper button,
.automatic-shopping-table .buy-form .purchase-step-control .stock-stepper button {
  background: transparent;
  box-shadow: none;
  color: #ffffff;
  min-height: 0;
}

.current-shopping-table .buy-form .purchase-money-control .stock-stepper button + button,
.automatic-shopping-table .buy-form .purchase-step-control .stock-stepper button + button {
  border-top-color: var(--azul);
}

.current-shopping-table .buy-form .purchase-money-control .stock-stepper button:hover,
.current-shopping-table .buy-form .purchase-money-control .stock-stepper button:focus-visible,
.automatic-shopping-table .buy-form .purchase-step-control .stock-stepper button:hover,
.automatic-shopping-table .buy-form .purchase-step-control .stock-stepper button:focus-visible {
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--amarelo) 86%, #ffffff), var(--amarelo));
  box-shadow: none;
  color: var(--azul);
}

:root[data-theme="dark"] .current-shopping-table .buy-form .purchase-money-control .stock-stepper button,
:root[data-theme="dark"] .automatic-shopping-table .buy-form .purchase-step-control .stock-stepper button,
:root[data-theme="dark"] .current-shopping-table .buy-form .purchase-money-control .stock-stepper button:hover,
:root[data-theme="dark"] .current-shopping-table .buy-form .purchase-money-control .stock-stepper button:focus-visible,
:root[data-theme="dark"] .automatic-shopping-table .buy-form .purchase-step-control .stock-stepper button:hover,
:root[data-theme="dark"] .automatic-shopping-table .buy-form .purchase-step-control .stock-stepper button:focus-visible,
:root[data-theme="dark"] .current-shopping-table .buy-form .purchase-money-control .stock-stepper button::before,
:root[data-theme="dark"] .automatic-shopping-table .buy-form .purchase-step-control .stock-stepper button::before,
:root[data-theme="dark"] .current-shopping-table .buy-form .purchase-money-control .stock-stepper button:hover::before,
:root[data-theme="dark"] .automatic-shopping-table .buy-form .purchase-step-control .stock-stepper button:hover::before,
:root[data-theme="dark"] .current-shopping-table .buy-form .purchase-money-control .stock-stepper button:focus-visible::before,
:root[data-theme="dark"] .automatic-shopping-table .buy-form .purchase-step-control .stock-stepper button:focus-visible::before {
  color: #ffffff !important;
}

:root[data-theme="dark"] .current-shopping-table .buy-form .purchase-money-control .stock-stepper button::before,
:root[data-theme="dark"] .automatic-shopping-table .buy-form .purchase-step-control .stock-stepper button::before,
:root[data-theme="dark"] .current-shopping-table .buy-form .purchase-money-control .stock-stepper button:hover::before,
:root[data-theme="dark"] .automatic-shopping-table .buy-form .purchase-step-control .stock-stepper button:hover::before,
:root[data-theme="dark"] .current-shopping-table .buy-form .purchase-money-control .stock-stepper button:focus-visible::before,
:root[data-theme="dark"] .automatic-shopping-table .buy-form .purchase-step-control .stock-stepper button:focus-visible::before {
  border-color: #ffffff !important;
}

.admin-compras .buy-form .purchase-standard-control {
  background: var(--branco) !important;
  border: 1px solid var(--azul) !important;
  border-radius: 8px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78) !important;
  grid-template-columns: minmax(0, 1fr) 52.5px !important;
  min-height: 50px !important;
  overflow: hidden !important;
  padding: 0 !important;
  width: 112px !important;
}

.admin-compras .buy-form select[name="fornecedor_id"] {
  min-height: 50px !important;
  width: 112px !important;
}

.admin-compras .buy-form .purchase-standard-control input {
  background: transparent !important;
  border: 0 !important;
  min-height: 48px !important;
  padding: 10px 8px 10px 11px !important;
}

.admin-compras .buy-form .purchase-standard-control .stock-stepper {
  background:
    linear-gradient(180deg, #1b2b45, #121f34) !important;
  border-left: 1px solid var(--azul) !important;
}

.admin-compras .buy-form .purchase-standard-control .stock-stepper button {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #ffffff !important;
  min-height: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

.admin-compras .buy-form .purchase-standard-control .stock-stepper button + button {
  border-top: 1px solid var(--azul) !important;
}

.admin-compras .buy-form .purchase-standard-control .stock-stepper button:hover,
.admin-compras .buy-form .purchase-standard-control .stock-stepper button:focus-visible {
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--amarelo) 86%, #ffffff), var(--amarelo)) !important;
  box-shadow: none !important;
  color: var(--azul) !important;
  filter: none !important;
}

:root[data-theme="dark"] .admin-compras .buy-form .purchase-standard-control {
  background: #101b2e !important;
  border-color: var(--azul) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07) !important;
}

:root[data-theme="dark"] .admin-compras .buy-form .purchase-standard-control input {
  color: var(--branco) !important;
}

:root[data-theme="dark"] .admin-compras .buy-form .purchase-standard-control .stock-stepper {
  background:
    linear-gradient(180deg, #1b2b45, #121f34) !important;
  border-left-color: var(--azul) !important;
}

:root[data-theme="dark"] .admin-compras .buy-form .purchase-standard-control .stock-stepper button,
:root[data-theme="dark"] .admin-compras .buy-form .purchase-standard-control .stock-stepper button:hover,
:root[data-theme="dark"] .admin-compras .buy-form .purchase-standard-control .stock-stepper button:focus-visible,
:root[data-theme="dark"] .admin-compras .buy-form .purchase-standard-control .stock-stepper button::before,
:root[data-theme="dark"] .admin-compras .buy-form .purchase-standard-control .stock-stepper button:hover::before,
:root[data-theme="dark"] .admin-compras .buy-form .purchase-standard-control .stock-stepper button:focus-visible::before {
  color: #ffffff !important;
}

:root[data-theme="dark"] .admin-compras .buy-form .purchase-standard-control .stock-stepper button::before,
:root[data-theme="dark"] .admin-compras .buy-form .purchase-standard-control .stock-stepper button:hover::before,
:root[data-theme="dark"] .admin-compras .buy-form .purchase-standard-control .stock-stepper button:focus-visible::before {
  border-color: #ffffff !important;
}

.undo-payment-button {
  background: #f1f4f8 !important;
  border: 1px solid #cbd6e5 !important;
  color: var(--azul) !important;
  min-height: 40px;
}

.undo-payment-danger-button {
  background: var(--erro) !important;
  border: 1px solid var(--erro) !important;
  border-radius: 10px !important;
  color: var(--branco) !important;
  font-weight: 900;
  min-height: 38px;
  padding: 0 12px;
}

.category-card {
  border-left-width: 8px;
}

.registered-picker summary {
  background:
    linear-gradient(135deg, rgba(255, 223, 0, 0.12), transparent 46%),
    linear-gradient(135deg, var(--azul), var(--azul-2));
}

.public-gate {
  margin: 44px auto;
  max-width: 640px;
  border-bottom: 8px solid var(--amarelo);
  overflow: hidden;
  padding: 30px;
  position: relative;
  box-shadow: 0 24px 48px rgba(3, 22, 49, 0.16);
}

.public-gate::before {
  background:
    linear-gradient(90deg, var(--amarelo), transparent 32%),
    linear-gradient(135deg, var(--azul), var(--azul-3));
  content: "";
  height: 10px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.public-gate h1 {
  color: var(--azul);
  font-size: 30px;
  margin: 2px 0 0;
}

.public-access-card {
  background:
    linear-gradient(135deg, rgba(255, 230, 0, 0.12), transparent 38%),
    var(--branco);
}

.public-gate-heading {
  align-items: center;
  display: grid;
  gap: 16px;
  grid-template-columns: 64px 1fr;
}

.public-gate-mark {
  align-items: center;
  background:
    linear-gradient(145deg, rgba(255, 223, 0, 0.16), transparent 45%),
    linear-gradient(135deg, var(--azul), var(--azul-2));
  border: 4px solid var(--amarelo);
  border-radius: 8px;
  color: var(--branco);
  display: flex;
  font-size: 24px;
  font-weight: 900;
  height: 64px;
  justify-content: center;
  width: 64px;
}

.return-home-button {
  margin-top: 14px;
}

.public-only-list .public-item {
  grid-template-columns: 1fr auto;
  background:
    linear-gradient(180deg, #ffffff, #f7faff);
  border-left-color: rgba(255, 223, 0, 0.95);
}

.purchase-public .public-category-card .public-only-list .public-item {
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--categoria-cor, #2563eb) 16%, transparent), transparent 42%),
    linear-gradient(180deg, #ffffff, #f7faff);
  border-left-color: var(--categoria-cor, #2563eb);
}

.purchase-public .public-category-picker-page .product-pick-row {
  border-left: 8px solid var(--categoria-cor, #2563eb);
}

.purchase-public .public-category-card .empty-inline {
  background: color-mix(in srgb, var(--categoria-cor) 10%, #ffffff);
  border: 1px solid color-mix(in srgb, var(--categoria-cor) 20%, var(--linha));
  border-radius: 8px;
  margin: 0;
  padding: 12px;
}

.trash-button {
  background: linear-gradient(135deg, #ef233c, #c9182b);
  border: 1px solid rgba(255, 255, 255, 0.24);
  color: var(--branco);
  min-height: 44px;
  gap: 8px;
  min-width: 44px;
  padding: 0;
  width: 44px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 10px 18px rgba(215, 25, 32, 0.18);
}

.trash-button span {
  height: 1px;
  margin: -1px;
  overflow: hidden;
  position: absolute;
  width: 1px;
}

.trash-icon-svg {
  fill: none;
  height: 19px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.4;
  width: 19px;
}

.trash-icon {
  border: 2px solid currentColor;
  border-top: 0;
  display: inline-block;
  height: 16px;
  position: relative;
  width: 14px;
}

.trash-icon::before {
  background: currentColor;
  content: "";
  height: 2px;
  left: -4px;
  position: absolute;
  top: -5px;
  width: 22px;
}

.trash-icon::after {
  background: currentColor;
  content: "";
  height: 3px;
  left: 3px;
  position: absolute;
  top: -9px;
  width: 8px;
}

.history-tabs,
.subbar {
  background: #f3f7ff;
  border-bottom: 1px solid var(--linha);
  display: flex;
  gap: 8px;
  padding: 12px;
  position: static !important;
  top: auto !important;
}

.history-tabs a,
.subbar span {
  border-radius: 8px;
  color: var(--azul);
  font-weight: 900;
  padding: 10px 14px;
  text-decoration: none;
}

.history-tabs a.active,
.subbar span.active {
  background: var(--amarelo);
}

.history-search .admin-form {
  align-items: end;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.history-search .admin-form .span-2 {
  grid-column: auto;
}

.history-search button {
  min-height: 54px;
  width: 100%;
}

.history-search .admin-form label,
.history-search .admin-form select,
.history-search .admin-form input[type="date"] {
  min-width: 0;
  width: 100%;
}

.history-search .history-search-form {
  align-items: end;
  gap: 10px;
  grid-template-columns: 142px minmax(170px, 0.72fr) 148px 148px 112px;
  padding: 14px;
}

.history-search-form .history-target-field.is-hidden,
.history-search-form .history-report-action.is-hidden {
  display: none;
}

.history-search-form .history-mode-select {
  max-width: none;
}

.history-search-form .history-target-field {
  min-width: 0;
}

.history-search-form .history-target-field select {
  max-width: none;
}

.history-search-form .history-date-field input {
  max-width: 148px;
}

.history-date-control {
  display: block;
  position: relative;
  width: 100%;
}

.history-search-form .history-date-control {
  max-width: 148px;
}

.history-date-control > input[data-mask="date"],
.history-date-control > input[data-mask="month-year"] {
  max-width: none;
  padding-right: 40px;
  width: 100%;
}

.history-date-control .history-date-native {
  background: transparent;
  border: 0;
  border-radius: 0 8px 8px 0;
  box-shadow: none;
  cursor: pointer;
  height: 100%;
  min-height: 0;
  min-width: 0;
  padding: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 36px;
  z-index: 2;
}

.history-date-icon {
  align-items: center;
  border-left: 1px solid rgba(3, 22, 49, 0.16);
  border-radius: 0 8px 8px 0;
  color: var(--azul);
  display: inline-flex;
  height: 100%;
  justify-content: center;
  pointer-events: auto;
  position: absolute;
  right: 0;
  top: 0;
  transition: background-color 0.15s ease;
  width: 36px;
}

.history-date-icon:hover {
  background: var(--amarelo);
}

.history-date-control .history-date-native:hover,
.history-date-control .history-date-native:focus-visible {
  background: transparent;
  box-shadow: none;
}

.history-date-control:has(.history-date-native:hover) .history-date-icon,
.history-date-control:has(.history-date-native:focus-visible) .history-date-icon {
  background: var(--amarelo);
}

.history-date-icon::before {
  border: 2px solid currentColor;
  border-radius: 4px;
  content: "";
  height: 17px;
  width: 17px;
}

.history-date-icon::after {
  background:
    linear-gradient(currentColor, currentColor) 4px 3px / 9px 2px no-repeat,
    linear-gradient(currentColor, currentColor) 4px 8px / 9px 2px no-repeat;
  content: "";
  height: 17px;
  position: absolute;
  width: 17px;
}

.history-calendar-popover {
  background: #ffffff;
  border: 1px solid rgba(255, 208, 0, 0.82);
  border-top: 3px solid var(--amarelo);
  border-radius: 7px;
  box-shadow: 0 10px 22px rgba(3, 22, 49, 0.2);
  color: var(--azul);
  padding: 7px;
  position: fixed;
  width: 220px;
  z-index: 10000;
}

.history-calendar-overlay-root {
  height: 100vh;
  inset: 0;
  pointer-events: none;
  position: fixed;
  width: 100vw;
  z-index: 10000;
  zoom: var(--app-page-zoom-inverse, 1);
}

.history-calendar-overlay-root .history-calendar-popover {
  pointer-events: auto;
  position: absolute;
}

.history-calendar-popover[data-placement="above-icon"]::after {
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 7px solid var(--amarelo);
  bottom: -7px;
  content: "";
  left: var(--history-calendar-pointer-left, calc(100% - 18px));
  pointer-events: none;
  position: absolute;
  transform: translateX(-50%);
}

.history-calendar-popover[hidden] {
  display: none !important;
}

.history-calendar-header {
  align-items: center;
  border-bottom: 1px solid rgba(3, 22, 49, 0.1);
  display: grid;
  gap: 6px;
  grid-template-columns: 34px 1fr 34px;
  margin-bottom: 5px;
  padding-bottom: 5px;
}

.history-calendar-header strong {
  color: var(--azul);
  font-size: 1.08rem;
  font-weight: 800;
  text-align: center;
}

.history-calendar-header button,
.history-calendar-grid button {
  align-items: center;
  border-radius: 6px;
  display: inline-flex;
  justify-content: center;
}

.history-calendar-header button {
  background: var(--azul);
  border: 0;
  border-radius: 5px;
  color: #ffffff;
  font-size: 1.1rem;
  height: 34px;
  min-height: 0;
  min-width: 0;
  padding: 0;
  width: 34px;
}

.history-calendar-weekdays,
.history-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.history-month-grid {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.history-calendar-weekdays span {
  color: var(--azul);
  font-size: 0.85rem;
  font-weight: 700;
  opacity: 0.78;
  padding: 2px 0;
  text-align: center;
}

.history-calendar-grid button {
  background: transparent;
  border: 0;
  border-radius: 4px;
  color: var(--azul);
  font-size: 1.03rem;
  font-weight: 700;
  height: 31px;
  min-height: 0;
  min-width: 0;
  padding: 0;
}

.history-month-grid button {
  background: transparent;
  border: 0;
  border-radius: 5px;
  color: var(--azul);
  font-size: 0.92rem;
  font-weight: 800;
  height: 36px;
  min-height: 0;
  min-width: 0;
  padding: 0;
}

.history-calendar-grid button:hover,
.history-calendar-grid button:focus-visible,
.history-month-grid button:hover,
.history-month-grid button:focus-visible {
  background: rgba(255, 208, 0, 0.3);
  box-shadow: none;
  color: var(--azul);
}

.history-calendar-grid button.is-muted {
  color: rgba(3, 22, 49, 0.36);
}

.history-calendar-grid button.is-disabled,
.history-calendar-grid button:disabled {
  background: transparent !important;
  box-shadow: none !important;
  color: rgba(3, 22, 49, 0.24);
  cursor: not-allowed;
  opacity: 0.55;
}

.history-calendar-grid button.is-today {
  box-shadow: inset 0 0 0 2px var(--amarelo);
}

.history-calendar-grid button.is-selected {
  background: var(--amarelo);
  color: var(--azul);
}

.history-month-grid button.is-selected {
  background: var(--amarelo);
  color: var(--azul);
}

:root[data-theme="dark"] .history-calendar-popover {
  background: var(--azul);
  border-color: rgba(255, 208, 0, 0.9);
  border-top-color: var(--amarelo);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.48);
  color: #ffffff;
}

:root[data-theme="dark"] .history-calendar-header {
  border-bottom-color: rgba(255, 255, 255, 0.2);
}

:root[data-theme="dark"] .history-calendar-header strong,
:root[data-theme="dark"] .history-calendar-weekdays span,
:root[data-theme="dark"] .history-calendar-grid button,
:root[data-theme="dark"] .history-month-grid button {
  color: #ffffff;
}

:root[data-theme="dark"] .history-calendar-header button {
  background: var(--amarelo);
  color: var(--azul);
}

:root[data-theme="dark"] .history-calendar-header button:hover,
:root[data-theme="dark"] .history-calendar-header button:focus-visible {
  background: #ffffff;
  box-shadow: none;
  color: var(--azul);
}

:root[data-theme="dark"] .history-calendar-weekdays span {
  color: #ffffff;
  opacity: 1;
}

:root[data-theme="dark"] .history-calendar-grid button:hover,
:root[data-theme="dark"] .history-calendar-grid button:focus-visible,
:root[data-theme="dark"] .history-month-grid button:hover,
:root[data-theme="dark"] .history-month-grid button:focus-visible {
  background: rgba(255, 208, 0, 0.24);
  color: #ffffff;
}

:root[data-theme="dark"] .history-calendar-grid button.is-muted {
  color: #ffffff;
}

:root[data-theme="dark"] .history-calendar-grid button.is-disabled,
:root[data-theme="dark"] .history-calendar-grid button:disabled {
  background: transparent !important;
  box-shadow: none !important;
  color: rgba(255, 255, 255, 0.42);
  cursor: not-allowed;
  opacity: 0.55;
}

:root[data-theme="dark"] .history-calendar-grid button.is-today {
  box-shadow: inset 0 0 0 2px var(--amarelo);
  color: #ffffff;
}

:root[data-theme="dark"] .history-calendar-grid button.is-selected {
  background: var(--amarelo);
  color: var(--azul);
}

:root[data-theme="dark"] .history-month-grid button.is-selected {
  background: var(--amarelo);
  color: var(--azul);
}

.history-search .history-search-form button {
  margin-left: 56px;
  min-height: 42px;
  min-width: 112px;
  padding: 0 12px;
  width: 112px;
}

.employee-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.employee-card {
  align-items: center;
  background:
    linear-gradient(100deg, color-mix(in srgb, var(--cargo-cor, var(--amarelo)) 38%, #ffffff) 0%, color-mix(in srgb, var(--cargo-cor, var(--amarelo)) 24%, #ffffff) 48%, color-mix(in srgb, var(--cargo-cor, var(--amarelo)) 16%, #ffffff) 100%),
    var(--branco);
  border: 1px solid color-mix(in srgb, var(--cargo-cor, var(--amarelo)) 34%, var(--linha));
  border-left: 8px solid var(--cargo-cor, var(--amarelo));
  border-radius: 8px;
  box-shadow: 0 12px 24px rgba(3, 22, 49, 0.08);
  display: grid;
  gap: 16px;
  grid-template-columns: 90px 1fr auto;
  padding: 16px;
}

.employee-card.inactive {
  opacity: 0.62;
}

.employee-photo,
.profile-photo {
  align-items: center;
  background: linear-gradient(135deg, var(--azul), var(--azul-3));
  border: 4px solid var(--amarelo);
  border-radius: 8px;
  color: var(--branco);
  display: flex;
  font-size: 36px;
  font-weight: 900;
  aspect-ratio: 3 / 4;
  height: auto;
  justify-content: center;
  overflow: hidden;
  width: 90px;
}

.employee-photo img,
.profile-photo img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.employee-info h2 {
  margin: 0 0 8px;
}

.employee-info p {
  color: var(--azul);
  font-weight: 800;
  margin: 4px 0;
}

.employee-role-badge {
  align-items: center;
  display: inline-flex;
  gap: 8px;
}

.employee-role-badge span {
  background: var(--cargo-cor, var(--amarelo));
  border: 1px solid rgba(3, 22, 49, 0.14);
  border-radius: 999px;
  display: inline-block;
  flex: 0 0 13px;
  height: 13px;
  width: 13px;
}

.employee-role-form {
  align-items: end;
  grid-template-columns: minmax(180px, 260px) 90px auto;
}

.employee-role-form label:first-of-type {
  max-width: 190px;
}

.employee-role-form input[type="text"] {
  min-height: 36px;
  padding: 7px 10px;
  width: 190px;
}

.employee-role-form input[type="color"] {
  min-height: 36px;
  padding: 4px;
}

.employee-role-form button {
  min-height: 38px;
  min-width: 104px;
  padding: 0 12px;
}

.role-list {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 14px;
}

.role-row {
  align-items: center;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--cargo-cor) 60%, transparent), color-mix(in srgb, var(--cargo-cor) 20%, transparent) 58%, transparent 100%),
    #ffffff;
  border: 1px solid var(--linha);
  border-left: 6px solid var(--cargo-cor);
  border-radius: 8px;
  display: grid;
  gap: 6px;
  grid-template-columns: 1fr auto;
  padding: 8px;
}

.role-row.inactive {
  opacity: 0.58;
}

.role-edit-form {
  align-items: center;
  display: grid;
  gap: 6px;
  grid-template-columns: minmax(0, 1fr) 42px 64px;
  margin: 0;
}

.role-edit-form input[type="text"] {
  max-width: none;
  min-height: 34px;
  padding: 6px 10px;
  width: 100%;
}

.role-edit-form input[type="color"] {
  min-height: 34px;
  padding: 3px;
  width: 42px;
}

.employee-schedule-form {
  padding: 16px;
}

.employee-schedule-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.employee-schedule-day {
  background: #ffffff;
  border: 1px solid var(--linha);
  border-radius: 8px;
  box-shadow: 0 10px 20px rgba(3, 22, 49, 0.07);
  overflow: hidden;
}

.employee-schedule-day-header {
  align-items: end;
  background: linear-gradient(90deg, #ffffff, #f3f8ff);
  border-bottom: 1px solid var(--linha);
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 14px;
}

.employee-schedule-day-header strong {
  color: var(--azul);
  display: block;
  font-size: 18px;
  font-weight: 900;
}

.employee-schedule-day-header span {
  color: var(--azul);
  display: block;
  font-weight: 800;
  margin-top: 4px;
}

.employee-company-hours {
  align-items: end;
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, 86px) minmax(104px, auto);
}

.employee-company-hours label,
.employee-schedule-row label {
  color: var(--azul);
  font-size: 12px;
  font-weight: 900;
  gap: 4px;
}

.employee-company-hours input,
.employee-schedule-row input {
  min-height: 36px;
  padding: 6px 8px;
  text-align: center;
}

.employee-company-same-week {
  align-items: center;
  border: 0;
  border-radius: 0;
  display: inline-flex;
  gap: 6px;
  justify-content: center;
  min-height: 36px;
  padding: 6px 0;
}

.employee-company-same-week input {
  accent-color: var(--azul);
  height: 16px;
  min-height: 0;
  padding: 0;
  width: 16px;
}

.employee-schedule-rows {
  display: grid;
  gap: 8px;
  padding: 12px;
}

.employee-schedule-row {
  align-items: end;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--cargo-cor, var(--amarelo)) 24%, #ffffff), #ffffff 62%);
  border: 1px solid color-mix(in srgb, var(--cargo-cor, var(--amarelo)) 32%, var(--linha));
  border-left: 6px solid var(--cargo-cor, var(--amarelo));
  border-radius: 8px;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) 82px 82px;
  padding: 8px;
}

.employee-schedule-name {
  color: var(--azul);
  font-weight: 900;
  min-width: 0;
  padding-bottom: 8px;
}

.employee-schedule-actions {
  display: flex;
  justify-content: flex-end;
  padding-top: 14px;
}

.employee-schedule-actions button {
  min-width: 150px;
}

@media (max-width: 980px) {
  .employee-schedule-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .employee-schedule-day-header {
    grid-template-columns: 1fr;
  }

  .employee-company-hours {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .employee-schedule-row {
    grid-template-columns: 1fr 76px 76px;
  }
}

.role-edit-form button {
  min-height: 36px;
  min-width: 64px;
  padding: 0 8px;
  width: auto;
}

.role-row .trash-button.icon-only {
  border-radius: 8px;
  min-height: 36px;
  min-width: 36px;
  padding: 0;
  width: 36px;
}

.role-row .trash-button.icon-only .trash-icon-svg {
  height: 18px;
  width: 18px;
}

@media (max-width: 1180px) {
  .role-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .role-list {
    grid-template-columns: 1fr;
  }
}

.employee-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.profile-layout {
  display: grid;
  gap: 18px;
  grid-template-columns: 1.2fr 0.8fr;
}

.employee-profile {
  display: grid;
  gap: 18px;
  grid-template-columns: 140px 1fr;
  padding: 18px;
}

.employee-profile-theme > .panel,
.employee-profile-theme .document-panel {
  background: var(--branco);
  border-color: var(--linha);
  border-left: 8px solid var(--cargo-cor, var(--amarelo));
  box-shadow: 0 14px 24px rgba(3, 22, 49, 0.06);
}

.profile-photo {
  width: 140px;
}

.profile-facts dl {
  display: grid;
  grid-template-columns: 150px 1fr;
  margin: 0;
}

.profile-facts dt {
  color: var(--cinza);
  font-weight: 900;
  padding: 8px 0;
}

.profile-facts dd {
  margin: 0;
  padding: 8px 0;
}

.document-tabs,
.mindmap-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.finance-category-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 18px;
}

.document-row {
  align-items: center;
  border-bottom: 1px solid var(--linha);
  display: flex;
  gap: 14px;
  justify-content: space-between;
  padding: 14px 16px;
}

.document-row > div:first-child {
  min-width: 0;
}

.document-row .actions-cell {
  flex: 0 0 auto;
  flex-wrap: nowrap;
  justify-content: flex-end;
}

.document-row span,
.document-row small {
  color: var(--cinza);
  display: block;
  font-weight: 800;
  margin-top: 3px;
}

.commitment-block {
  --categoria-cor: var(--amarelo);
  background: var(--branco);
  border: 1px solid var(--amarelo);
  border-left: 8px solid var(--amarelo);
  border-radius: 8px;
  box-shadow: 0 12px 24px rgba(3, 22, 49, 0.08);
  overflow: hidden;
}

.commitment-title {
  background: linear-gradient(135deg, #f8fbff, #ffffff);
  color: var(--azul);
  display: flex;
  justify-content: space-between;
  width: 100%;
}

.commitment-list {
  display: grid;
  gap: 8px;
  padding: 12px;
}

.category-total-strip,
.history-summary,
.finance-summary-line {
  align-items: center;
  background: #f5f9ff;
  border-top: 1px solid var(--linha);
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
  padding: 12px 14px;
}

.category-total-strip span,
.history-summary span,
.finance-summary-line span {
  color: var(--cinza);
  font-size: 13px;
  font-weight: 900;
}

.category-total-strip strong,
.history-summary strong,
.finance-summary-line strong {
  color: var(--azul);
  display: block;
  font-size: 15px;
}

.finance-summary-line {
  border-top: 1px solid var(--linha);
  gap: 0;
  justify-content: flex-end;
}

.finance-summary-line::before {
  content: "";
  flex: 1 1 auto;
}

.finance-summary-line span {
  background: var(--verde-fluor);
  border-radius: 0;
  box-decoration-break: clone;
  color: var(--azul) !important;
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  padding: 6px 4px 6px 12px;
  margin-right: 0;
  position: relative;
  z-index: 1;
}

.finance-summary-line span::before {
  background: var(--verde-fluor);
  border-radius: 0;
  box-shadow: 0 0 0 2px rgba(57, 255, 20, 0.22), 0 8px 16px rgba(57, 255, 20, 0.24);
  content: "";
  inset: -3px -142px -3px -5px;
  position: absolute;
  z-index: -1;
}

.finance-summary-line .finance-paid-total {
  background: var(--verde-fluor);
  border-radius: 0;
  color: var(--azul) !important;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  min-height: 34px;
  min-width: 142px;
  padding: 6px 16px 6px 10px;
  font-size: 16px;
  text-shadow: none;
  position: relative;
  z-index: 1;
}

.category-total-strip span {
  background: var(--verde-fluor);
  border-radius: 0;
  box-shadow: 0 0 0 2px rgba(57, 255, 20, 0.24), 0 8px 16px rgba(57, 255, 20, 0.24);
  color: var(--azul) !important;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 6px 12px;
}

.category-total-strip .category-total-open {
  background: var(--amarelo);
  box-shadow: 0 0 0 2px rgba(255, 223, 0, 0.24), 0 8px 16px rgba(255, 223, 0, 0.24);
}

.category-total-strip .category-total-all {
  background: var(--azul-botao);
  box-shadow: 0 0 0 2px rgba(7, 17, 93, 0.28), 0 0 18px rgba(7, 17, 93, 0.42), 0 8px 16px rgba(7, 17, 93, 0.26);
  color: var(--branco) !important;
}

.category-total-strip strong {
  color: var(--azul) !important;
  display: inline-block;
  font-size: 15px;
  text-shadow: none;
}

.category-total-strip .category-total-all strong {
  color: var(--branco) !important;
}

.finance-category-form-panel {
  background: linear-gradient(135deg, rgba(255, 230, 0, 0.10), #fff 36%);
}

.finance-category-form-panel .finance-category-form {
  align-items: end;
  gap: 10px;
  grid-template-columns: minmax(170px, 230px) minmax(96px, 120px) auto;
  padding: 14px;
}

.finance-category-form label {
  min-width: 0;
}

.finance-category-form input[type="text"],
.finance-category-form select {
  min-height: 36px;
  padding: 7px 10px;
}

.finance-category-form input[type="color"] {
  min-height: 36px;
  padding: 4px;
}

.finance-category-form button[type="submit"] {
  min-height: 38px;
  min-width: 104px;
  padding: 0 12px;
}

@media (max-width: 920px) {
  .finance-category-form-panel .finance-category-form {
    grid-template-columns: 1fr;
  }
}

.product-dashboard {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 18px;
}

.product-dashboard article {
  background: linear-gradient(135deg, var(--azul), var(--azul-2));
  border-bottom: 6px solid var(--amarelo);
  border-radius: 8px;
  box-shadow: 0 14px 28px rgba(3, 22, 49, 0.12);
  color: var(--branco);
  min-height: 104px;
  padding: 18px;
}

.product-dashboard span {
  color: var(--amarelo);
  display: block;
  font-size: 34px;
  font-weight: 900;
  line-height: 1;
}

.product-dashboard strong {
  display: block;
  margin-top: 10px;
}

.product-action-panel {
  border-left: 8px solid var(--amarelo);
}

.commitment-item {
  background: #f7f9fd;
  border-left: 7px solid var(--amarelo);
  border-radius: 8px;
  padding: 10px;
}

.commitment-item.commitment-state-paid {
  background: color-mix(in srgb, var(--verde-fluor) 60%, #ffffff);
  border-color: color-mix(in srgb, var(--verde-fluor) 48%, var(--linha));
  border-left-color: var(--verde-fluor);
}

.commitment-item.commitment-state-open {
  background: color-mix(in srgb, var(--amarelo) 60%, #ffffff);
  border-color: color-mix(in srgb, var(--amarelo) 48%, var(--linha));
  border-left-color: var(--amarelo);
}

.commitment-item.commitment-state-overdue {
  background: color-mix(in srgb, #ef4444 60%, #ffffff);
  border-color: color-mix(in srgb, #ef4444 44%, var(--linha));
  border-left-color: #dc2626;
}

.admin-encomendas .order-item.order-state-other-day {
  background: #d9dee7;
  border-color: #b8c0ce;
  border-left-color: #8f9aae;
}

.admin-encomendas .order-item.order-state-removed {
  background: #cfd6df;
  border-color: #aeb8c5;
  border-left-color: #64748b;
}

.admin-encomendas .order-item.order-state-late {
  background: #ef4444;
  border-color: #b91c1c;
  border-left-color: #7f1d1d;
}

.admin-encomendas .order-item.order-state-today {
  background: var(--amarelo);
  border-color: #d6a900;
  border-left-color: var(--amarelo);
}

.admin-encomendas .order-item.order-state-produced {
  background: var(--verde-fluor);
  border-color: #17b900;
  border-left-color: #0f7a00;
}

.admin-encomendas .order-item.order-state-delivered {
  background: #1280ff;
  border-color: #0758c9;
  border-left-color: var(--azul);
}

.admin-encomendas .order-item.order-state-late,
.admin-encomendas .order-item.order-state-delivered,
.admin-encomendas .order-item.order-state-late strong,
.admin-encomendas .order-item.order-state-late small,
.admin-encomendas .order-item.order-state-late .order-summary-meta,
.admin-encomendas .order-item.order-state-delivered strong,
.admin-encomendas .order-item.order-state-delivered small,
.admin-encomendas .order-item.order-state-delivered .order-summary-meta {
  color: #ffffff;
}

.admin-encomendas .order-item.order-state-today,
.admin-encomendas .order-item.order-state-produced,
.admin-encomendas .order-item.order-state-other-day,
.admin-encomendas .order-item.order-state-removed,
.admin-encomendas .order-item.order-state-today strong,
.admin-encomendas .order-item.order-state-produced strong,
.admin-encomendas .order-item.order-state-other-day strong,
.admin-encomendas .order-item.order-state-removed strong {
  color: var(--azul);
}

.admin-encomendas .order-item.order-state-produced,
.admin-encomendas .order-item.order-state-produced summary,
.admin-encomendas .order-item.order-state-produced summary *,
.admin-encomendas .order-item.order-state-produced .order-detail-grid,
.admin-encomendas .order-item.order-state-produced .order-detail-grid *,
.admin-encomendas .order-item.order-state-produced .order-items-table,
.admin-encomendas .order-item.order-state-produced .order-items-table * {
  color: var(--azul) !important;
}

.commitment-item summary {
  cursor: pointer;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.commitment-locked-summary {
  align-items: center;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) auto auto;
}

.commitment-item-locked {
  cursor: default;
}

.commitment-body {
  align-items: end;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(190px, 0.72fr) minmax(410px, 1.28fr);
}

.commitment-details p {
  margin: 8px 0;
}

.order-board-list {
  display: grid;
  gap: 9px;
  padding: 12px;
}

.order-board-panel > .panel-heading {
  min-height: 94px;
  position: relative;
}

.order-board-clock {
  align-items: center;
  color: var(--azul);
  display: inline-flex;
  font-size: clamp(34px, 4vw, 50px);
  font-weight: 900;
  gap: 12px;
  left: 50%;
  line-height: 1;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}

.order-board-clock-icon {
  border: 4px solid currentColor;
  border-radius: 50%;
  display: inline-block;
  height: 35px;
  position: relative;
  width: 35px;
}

.order-board-clock-icon::before,
.order-board-clock-icon::after {
  background: currentColor;
  border-radius: 999px;
  content: "";
  left: 50%;
  position: absolute;
  top: 50%;
  transform-origin: left center;
}

.order-board-clock-icon::before {
  height: 4px;
  transform: translate(-1px, -50%) rotate(-90deg);
  width: 10px;
}

.order-board-clock-icon::after {
  height: 4px;
  transform: translate(-1px, -50%) rotate(25deg);
  width: 13px;
}

.order-board-panel .order-item {
  min-height: 74px;
  padding: 13px 12px;
}

.order-board-panel .order-item summary {
  min-height: 47px;
}

.order-board-panel .order-summary-main {
  column-gap: 21px;
  row-gap: 7px;
}

.order-board-panel .order-summary-main strong {
  font-size: 22px;
  line-height: 1.05;
}

.order-board-panel .order-summary-main small,
.order-board-panel .order-summary-time,
.order-board-panel .order-summary-meta {
  font-size: 19px;
  line-height: 1.08;
}

.order-item summary {
  align-items: center;
}

.order-summary-main,
.order-summary-meta {
  align-items: center;
  display: flex;
  gap: 10px;
  min-width: 0;
}

.order-summary-main {
  flex: 1 1 auto;
  flex-wrap: wrap;
  column-gap: 22px;
  row-gap: 8px;
}

.order-summary-main strong {
  color: var(--azul);
  font-size: 17px;
}

.order-summary-main small {
  color: var(--azul);
  font-size: 15px;
  font-weight: 900;
  line-height: 1.25;
  margin-left: 12px;
  margin-top: 4px;
}

.order-summary-time {
  color: var(--azul);
  font-size: 15px;
  font-weight: 900;
  line-height: 1.25;
}

.order-summary-meta {
  flex: 0 0 auto;
  font-weight: 900;
}

.order-detail-grid {
  display: grid;
  gap: 10px;
  grid-template-areas: "detail-client detail-phone detail-seller detail-value detail-notes";
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: 14px;
}

.order-detail-card {
  background: transparent;
  border: 1px solid var(--linha);
  border-radius: 8px;
  min-height: 78px;
  padding: 12px;
}

.order-detail-card strong {
  color: var(--azul);
  display: block;
  font-size: 12px;
  text-transform: uppercase;
}

.order-detail-card p {
  margin: 7px 0 0;
}

.order-detail-card.span-2 {
  grid-column: span 2;
}

.order-detail-card.order-detail-notes {
  grid-column: auto;
}

.order-detail-card.order-detail-client {
  grid-area: detail-client;
}

.order-detail-card.order-detail-phone {
  grid-area: detail-phone;
}

.order-detail-card.order-detail-seller {
  grid-area: detail-seller;
}

.order-detail-card.order-detail-value {
  grid-area: detail-value;
}

.order-detail-card.order-detail-notes {
  grid-area: detail-notes;
}

.order-detail-card.order-detail-notes p {
  overflow-wrap: anywhere;
}

.order-items-table {
  margin-top: 12px;
}

.order-board-panel .order-item[open] {
  padding-bottom: 10px;
}

.order-board-panel .order-item[open] .order-detail-grid {
  gap: 6px;
  grid-template-areas: "detail-client detail-phone detail-seller detail-value detail-notes";
  grid-template-columns:
    minmax(140px, 1fr)
    minmax(140px, 1fr)
    minmax(140px, 1fr)
    minmax(126px, 0.92fr)
    minmax(140px, 1fr);
  margin-top: 8px;
}

.order-board-panel.order-board-panel-values-hidden .order-item[open] .order-detail-grid {
  grid-template-areas: "detail-client detail-phone detail-seller detail-notes";
  grid-template-columns:
    minmax(140px, 1fr)
    minmax(140px, 1fr)
    minmax(140px, 1fr)
    minmax(180px, 1.2fr);
}

.order-board-panel .order-item[open] .order-detail-card {
  align-content: start;
  background: rgba(255, 255, 255, 0.28);
  display: grid;
  gap: 2px;
  min-height: 46px;
  padding: 7px 9px;
}

.order-board-panel .order-item[open] .order-detail-card strong {
  font-size: 10.5px;
  line-height: 1.1;
}

.order-board-panel .order-item[open] .order-detail-card p {
  font-size: 13px;
  line-height: 1.2;
  margin: 2px 0 0;
}

.order-board-panel .order-item[open] .order-detail-card.span-2 {
  grid-column: span 2;
}

.order-board-panel .order-item[open] .order-items-table {
  margin-top: 8px;
}

.order-board-panel .order-item[open] .order-items-table table {
  margin: 0;
}

.order-board-panel .order-item[open] .order-items-table th,
.order-board-panel .order-item[open] .order-items-table td {
  font-size: 13px;
  line-height: 1.2;
  padding: 6px 8px;
}

.admin-encomendas .order-board-panel .order-item.is-theme-refreshing .order-detail-grid,
.admin-encomendas .order-board-panel .order-item.is-theme-refreshing .order-items-table,
.admin-encomendas .order-board-panel .order-item.is-theme-refreshing .order-actions {
  transform: translateZ(0);
}

.order-actions {
  align-items: end;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
  margin-top: 12px;
}

.order-actions form {
  align-items: end;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
}

.order-status-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.order-actions label {
  color: var(--azul);
  font-weight: 900;
  margin: 0;
  min-width: 180px;
}

.order-actions button {
  min-height: 44px;
}

.order-produced-button,
.order-produced-button:hover,
.order-produced-button:focus-visible {
  background: var(--amarelo) !important;
  border: 1px solid var(--azul) !important;
  color: var(--azul) !important;
  filter: none !important;
  min-height: 44px;
  min-width: 132px;
  padding: 0 16px;
  transform: none !important;
}

.order-produced-button.is-locked,
.order-produced-button.is-locked:hover,
.order-produced-button.is-locked:focus-visible,
.order-produced-button:disabled {
  background: #d7dde7 !important;
  border-color: #b8c2d2 !important;
  color: #59677a !important;
  filter: none !important;
  transform: none !important;
}

.order-delivered-button,
.order-delivered-button:hover,
.order-delivered-button:focus-visible {
  background: linear-gradient(180deg, var(--verde-fluor), var(--verde-fluor-2)) !important;
  border: 2px solid #17b900 !important;
  border-radius: 8px !important;
  color: var(--azul) !important;
  filter: none !important;
  min-height: 44px;
  min-width: 132px;
  padding: 0 16px;
  text-transform: none;
  transform: none !important;
}

.order-delivered-button:disabled,
.order-delivered-button.is-locked {
  cursor: default;
  opacity: 0.78;
}

.order-actions .order-remove-button {
  min-height: 44px;
  min-width: 132px;
  padding: 0 16px;
  width: auto;
}

.order-items-fieldset {
  border: 1px solid var(--linha);
  border-radius: 8px;
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 14px;
}

.order-items-fieldset legend {
  align-items: center;
  color: var(--azul);
  display: flex;
  gap: 10px;
  font-weight: 900;
  padding: 0 8px;
}

.order-add-item-button {
  align-items: center;
  background: var(--amarelo) !important;
  border: 2px solid var(--azul) !important;
  border-radius: 8px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55), 0 8px 14px rgba(3, 22, 49, 0.14);
  color: var(--azul) !important;
  display: inline-flex;
  font-size: 24px;
  font-weight: 900;
  height: 44px;
  justify-content: center;
  line-height: 1;
  justify-self: start;
  min-height: 44px;
  min-width: 44px;
  padding: 0;
  width: 44px;
}

.order-form .order-add-item-button {
  height: 44px !important;
  min-height: 44px !important;
  min-width: 44px !important;
  width: 44px !important;
}

.order-add-item-button:hover,
.order-add-item-button:focus-visible {
  background: var(--amarelo) !important;
  border-color: var(--azul) !important;
  color: var(--azul) !important;
  filter: none !important;
  transform: none !important;
}

.order-add-item-button:disabled {
  cursor: default;
  filter: grayscale(0.6);
  opacity: 0.55;
}

.order-item-input-row {
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(130px, 0.72fr) 128px minmax(180px, 1fr);
}

.order-item-detail-fields {
  align-items: start;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
}

.order-item-input-row.is-order-personalized-snack .order-item-detail-fields {
  grid-template-columns: minmax(0, 1fr) 142px;
}

.order-item-description-field {
  min-width: 0;
}

.order-item-unit-price-field {
  min-width: 0;
}

.order-item-unit-price-field[hidden] {
  display: none;
}

.order-item-description-field > small {
  display: block;
  font-size: 11px;
  font-weight: 800;
  margin-top: 4px;
}

.order-item-description-field > small[hidden] {
  display: none;
}

.order-quantity-control {
  grid-template-columns: minmax(0, 1fr) 52.5px;
  min-height: 34px;
  width: 100%;
}

.order-quantity-control input {
  min-height: 32px;
  padding-bottom: 5px;
  padding-left: 8px;
  padding-right: 6px;
  padding-top: 5px;
}

.order-unit-price-control input {
  font-variant-numeric: tabular-nums;
}

.order-form {
  align-items: end;
  gap: 9px;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  padding: 14px;
}

.order-form label,
.order-form fieldset {
  font-size: 13px;
  min-width: 0;
}

.order-form input,
.order-form select,
.order-form textarea {
  font-size: 13px;
  min-height: 34px;
  padding: 6px 9px;
}

.order-form textarea {
  min-height: 44px;
}

.order-form .order-field-client {
  grid-column: span 3;
}

.order-form .order-field-phone,
.order-form .order-field-date,
.order-form .order-field-status,
.order-form .order-field-attendant,
.order-form .order-field-value {
  grid-column: span 2;
}

.order-form .order-field-time {
  grid-column: span 1;
}

.order-form .order-items-fieldset,
.order-form > button[type="submit"] {
  grid-column: 1 / -1;
}

.order-form .order-field-notes {
  grid-column: span 10;
}

.order-form .order-field-snack-total {
  grid-column: span 2;
}

.order-form .order-field-snack-total input {
  font-weight: 900;
  text-align: center;
}

.order-form > button[type="submit"] {
  font-size: 14px;
  min-height: 44px;
  min-width: 132px;
  padding: 0 16px;
}

.order-debug-bubble {
  background: #fff4f4;
  border: 2px solid #dc2626;
  border-left-width: 8px;
  border-radius: 8px;
  color: #7f1d1d;
  display: grid;
  gap: 8px;
  grid-column: 1 / -1;
  line-height: 1.35;
  padding: 12px 14px;
}

.order-debug-bubble[hidden] {
  display: none;
}

.order-debug-bubble strong {
  color: #7f1d1d;
  font-size: 14px;
  font-weight: 900;
}

.order-debug-bubble p {
  margin: 0;
}

.order-debug-bubble ul {
  display: grid;
  gap: 4px;
  margin: 0;
  padding-left: 18px;
}

.order-form .is-order-invalid input,
.order-form .is-order-invalid select,
.order-form .is-order-invalid textarea,
.order-form input.is-order-invalid,
.order-form select.is-order-invalid,
.order-form textarea.is-order-invalid {
  border-color: #dc2626 !important;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.16) !important;
}

.order-item-input-row.is-order-invalid {
  background: rgba(220, 38, 38, 0.06);
  border-radius: 8px;
  padding: 6px;
}

.order-form > button[type="submit"].is-blocked {
  background: #dc2626 !important;
  border-color: #991b1b !important;
  color: #ffffff !important;
}

.order-history-filter {
  align-items: end;
  grid-template-columns: 170px 170px 132px;
  justify-content: start;
}

.order-history-filter .order-history-date,
.order-history-filter .order-history-status {
  grid-column: auto;
}

.order-history-filter > button[type="submit"] {
  grid-column: auto;
  justify-self: stretch;
  min-height: 44px;
  min-width: 0;
  width: 100%;
}

.order-history-list {
  display: grid;
  gap: 12px;
  padding: 14px;
}

.order-snack-form {
  align-items: end;
  grid-template-columns:
    minmax(130px, 3fr)
    minmax(92px, 1.6fr)
    minmax(130px, 2.5fr)
    360px
    minmax(130px, 2fr);
}

.order-snack-form .snack-field-name,
.order-snack-form .snack-field-value,
.order-snack-form .snack-field-description {
  grid-column: auto;
}

.order-snack-form > .company-association-field {
  align-self: end;
  border: 0;
  border-radius: 0;
  box-sizing: border-box;
  grid-column: auto !important;
  height: 56px;
  max-width: 100%;
  min-height: 56px;
  min-inline-size: 0;
  min-width: 0;
  padding: 16px 0 0;
  position: relative;
  width: min(360px, 100%);
}

.order-snack-form > .company-association-field > legend {
  font-size: 13px;
  left: 0;
  line-height: 16px;
  padding: 0;
  position: absolute;
  top: 0;
}

.order-snack-form > .company-association-field > .company-association-options {
  align-items: center;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--linha);
  border-radius: 8px;
  box-sizing: border-box;
  display: grid;
  grid-auto-columns: minmax(125px, max-content);
  grid-auto-flow: column;
  grid-template-rows: 1fr;
  height: 40px;
  justify-content: start;
  max-width: 100%;
  min-inline-size: 0;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 3px 6px;
  width: 100%;
}

.order-snack-form > .company-association-field .company-association-option {
  min-height: 32px;
  min-width: 125px;
  padding-block: 4px !important;
  width: max-content;
}

.order-snack-form > .company-association-field .company-association-option span {
  white-space: nowrap;
}

:root[data-theme="dark"] .order-snack-form > .company-association-field > .company-association-options {
  border-color: #26364f;
}

@media (max-width: 1080px) {
  .order-snack-form > .company-association-field {
    grid-column: 1 / -1 !important;
    max-width: 100%;
    width: 100%;
  }
}

.order-snack-form > button[type="submit"] {
  align-self: end;
  grid-column: auto;
  height: 34px;
  justify-self: stretch;
  min-height: 34px;
  min-width: 0;
  padding-block: 0;
  width: 100%;
}

.snack-name-cell {
  align-items: center;
  display: flex;
  gap: 10px;
  min-width: 180px;
}

.snack-photo-link {
  border-radius: 6px;
  display: inline-flex;
  flex: 0 0 auto;
  outline-offset: 3px;
}

.snack-photo-thumb {
  aspect-ratio: 1 / 1;
  border: 1px solid var(--linha);
  border-radius: 6px;
  display: block;
  height: 48px;
  object-fit: cover;
  width: 48px;
}

@media (min-width: 921px) and (max-width: 940px) {
  .order-snack-form {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .order-snack-form {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 920px) {
  .compact-form,
  .permission-grid,
  .employee-grid,
  .profile-layout,
  .employee-profile,
  .document-tabs,
  .mindmap-grid,
  .finance-category-grid,
  .product-dashboard,
  .order-detail-grid,
  .order-item-input-row,
  .history-search .admin-form,
  .supplier-profile-grid {
    grid-template-columns: 1fr;
  }

  .order-detail-grid {
    grid-template-areas:
      "detail-client"
      "detail-phone"
      "detail-seller"
      "detail-value"
      "detail-notes";
  }

  .admin-encomendas .order-board-panel.order-board-panel-values-hidden .order-item[open] .order-detail-grid,
  .order-board-panel.order-board-panel-values-hidden .order-item[open] .order-detail-grid {
    grid-template-areas:
      "detail-client"
      "detail-phone"
      "detail-seller"
      "detail-notes";
    grid-template-columns: 1fr;
  }

  .order-board-panel > .panel-heading {
    align-items: flex-start;
    flex-direction: column;
    min-height: 0;
  }

  .order-board-clock {
    font-size: 36px;
    left: auto;
    position: relative;
    top: auto;
    transform: none;
  }

  .order-board-clock-icon {
    height: 30px;
    width: 30px;
  }

  .order-history-filter {
    grid-template-columns: 1fr;
  }

  .supplier-profile-grid .span-2,
  .order-detail-card.span-2 {
    grid-column: span 1;
  }

  .order-item summary,
  .order-summary-meta {
    align-items: flex-start;
    flex-direction: column;
  }

  .order-form .order-field-client,
  .order-form .order-field-phone,
  .order-form .order-field-date,
  .order-form .order-field-time,
  .order-form .order-field-status,
  .order-form .order-field-attendant,
  .order-form .order-field-value,
  .order-form .order-field-notes,
  .order-form .order-field-snack-total,
  .order-form .order-items-fieldset,
  .order-form > button[type="submit"],
  .order-history-filter .order-history-date,
  .order-history-filter .order-history-status,
    .order-history-filter > button[type="submit"],
    .order-snack-form .snack-field-name,
    .order-snack-form .snack-field-value,
    .order-snack-form .snack-field-description,
    .order-snack-form > .company-association-field {
    grid-column: 1 / -1;
  }

  .order-snack-form > .company-association-field {
    grid-column: 1 / -1 !important;
  }

  .employee-card {
    grid-template-columns: 1fr;
  }

  .employee-role-form,
  .role-row,
  .role-edit-form {
    grid-template-columns: 1fr;
  }

  .buy-form {
    grid-template-columns: 1fr;
    min-width: 0;
  }

  .current-shopping-table .buy-form {
    grid-template-columns: repeat(3, 118px);
    min-width: 0;
    width: max-content;
  }

  .history-search .history-search-form button,
  .history-search-form .history-mode-select,
  .history-search-form .history-target-field select,
  .history-search-form .history-date-field input {
    max-width: none;
    width: 100%;
  }

  .history-search .history-search-form button {
    margin-left: 0;
  }

  .order-item-input-row.is-order-personalized-snack .order-item-detail-fields {
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) 132px;
  }
}

@media (max-width: 360px) {
  .order-item-input-row.is-order-personalized-snack .order-item-detail-fields {
    grid-template-columns: 1fr;
  }
}

.admin-page .page-heading {
  background: linear-gradient(135deg, #ffffff 0%, #f7fbff 100%);
  border: 1px solid var(--linha);
  border-left: 8px solid var(--amarelo);
  border-radius: 8px;
  box-shadow: 0 12px 24px rgba(3, 22, 49, 0.07);
  padding: 16px;
}

.admin-page .page-heading::before {
  background-color: var(--azul);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 58px 58px;
  border: 4px solid var(--azul);
  border-radius: 8px;
  content: "";
  display: block;
  flex: 0 0 78px;
  height: 78px;
  box-shadow: inset 0 0 0 6px rgba(255, 255, 255, 0.55);
}

.admin-home .page-heading::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect width='64' height='64' rx='10' fill='%23010b22'/%3E%3Cpath d='M14 34 32 18l18 16v17H18V34' fill='none' stroke='%23ffdf00' stroke-width='5' stroke-linejoin='round'/%3E%3Cpath d='M27 51V39h10v12' fill='none' stroke='%23fff' stroke-width='5'/%3E%3C/svg%3E");
}

.admin-compras .page-heading::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect width='64' height='64' rx='10' fill='%23010b22'/%3E%3Cpath d='M13 17h7l5 26h24l5-17H26' fill='none' stroke='%23ffdf00' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='31' cy='51' r='4' fill='%23fff'/%3E%3Ccircle cx='48' cy='51' r='4' fill='%23fff'/%3E%3C/svg%3E");
}

.admin-pedidos .page-heading::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect width='64' height='64' rx='10' fill='%23010b22'/%3E%3Crect x='16' y='13' width='32' height='39' rx='5' fill='none' stroke='%23ffdf00' stroke-width='5'/%3E%3Cpath d='M25 13v-3h14v3M24 26h16M24 36h16M24 46h11' fill='none' stroke='%23fff' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.admin-historico .page-heading::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect width='64' height='64' rx='10' fill='%23010b22'/%3E%3Cpath d='M18 21a18 18 0 1 1-2 20' fill='none' stroke='%23ffdf00' stroke-width='5' stroke-linecap='round'/%3E%3Cpath d='M14 21h11v11' fill='none' stroke='%23ffdf00' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M33 22v12l9 6' fill='none' stroke='%23fff' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E");
}

.admin-funcionarios .page-heading::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect width='64' height='64' rx='10' fill='%23010b22'/%3E%3Ccircle cx='32' cy='22' r='9' fill='none' stroke='%23ffdf00' stroke-width='5'/%3E%3Cpath d='M17 50c3-11 27-11 30 0' fill='none' stroke='%23fff' stroke-width='5' stroke-linecap='round'/%3E%3Cpath d='M21 41h22' stroke='%23ffdf00' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E");
}

.admin-fornecedores .page-heading::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect width='64' height='64' rx='10' fill='%23010b22'/%3E%3Cpath d='M12 24h29v20H12z' fill='none' stroke='%23ffdf00' stroke-width='5' stroke-linejoin='round'/%3E%3Cpath d='M41 30h8l6 8v6H41' fill='none' stroke='%23fff' stroke-width='5' stroke-linejoin='round'/%3E%3Ccircle cx='22' cy='48' r='4' fill='%23ffdf00'/%3E%3Ccircle cx='48' cy='48' r='4' fill='%23ffdf00'/%3E%3C/svg%3E");
}

.admin-produtos .page-heading::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect width='64' height='64' rx='10' fill='%23010b22'/%3E%3Cpath d='M18 23 32 15l14 8v18L32 49 18 41z' fill='none' stroke='%23ffdf00' stroke-width='5' stroke-linejoin='round'/%3E%3Cpath d='M18 23 32 31l14-8M32 31v18' fill='none' stroke='%23fff' stroke-width='5' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.admin-estoque .page-heading::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect width='64' height='64' rx='10' fill='%23010b22'/%3E%3Cpath d='M16 21h32v30H16z' fill='none' stroke='%23ffdf00' stroke-width='5' stroke-linejoin='round'/%3E%3Cpath d='M22 21v-6h20v6M23 31h18M23 40h12' fill='none' stroke='%23fff' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M45 37l5 5 8-10' fill='none' stroke='%23ffdf00' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.admin-compromissos .page-heading::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect width='64' height='64' rx='10' fill='%23010b22'/%3E%3Crect x='14' y='13' width='36' height='40' rx='5' fill='none' stroke='%23ffdf00' stroke-width='5'/%3E%3Cpath d='M22 24h20' stroke='%23ffffff' stroke-width='5' stroke-linecap='round'/%3E%3Cpath d='M23 34h1M32 34h1M41 34h1M23 43h1M32 43h1M41 43h1' stroke='%23ffdf00' stroke-width='6' stroke-linecap='round'/%3E%3Cpath d='M18 51l10-10 7 5 12-15' fill='none' stroke='%23ffffff' stroke-width='4.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.admin-financas_pessoais .page-heading::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect width='64' height='64' rx='10' fill='%23010b22'/%3E%3Cpath d='M14 25h35a6 6 0 0 1 6 6v16H14z' fill='none' stroke='%23ffdf00' stroke-width='5' stroke-linejoin='round'/%3E%3Cpath d='M14 25l8-10h25l2 10' fill='none' stroke='%23ffffff' stroke-width='5' stroke-linejoin='round'/%3E%3Ccircle cx='44' cy='37' r='4' fill='%23ffffff'/%3E%3Cpath d='M25 33v10M31 29v14M37 35v8' stroke='%23ffdf00' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E");
}

.admin-pagamento_funcionarios .page-heading::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect width='64' height='64' rx='10' fill='%23010b22'/%3E%3Ccircle cx='21' cy='21' r='7' fill='none' stroke='%23ffdf00' stroke-width='5'/%3E%3Cpath d='M10 48c2-10 20-10 23 0' fill='none' stroke='%23ffffff' stroke-width='5' stroke-linecap='round'/%3E%3Crect x='33' y='18' width='20' height='26' rx='4' fill='none' stroke='%23ffffff' stroke-width='5'/%3E%3Cpath d='M38 28h10M38 35h7' stroke='%23ffdf00' stroke-width='4' stroke-linecap='round'/%3E%3Cpath d='M44 15v8M44 40v8' stroke='%23ffdf00' stroke-width='4' stroke-linecap='round'/%3E%3Cpath d='M29 39h8' stroke='%23ffdf00' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E");
}

.admin-encomendas .page-heading::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect width='64' height='64' rx='10' fill='%23010b22'/%3E%3Crect x='17' y='12' width='30' height='40' rx='5' fill='none' stroke='%23ffdf00' stroke-width='5'/%3E%3Cpath d='M25 12h14v8H25z' fill='%23010b22' stroke='%23ffffff' stroke-width='4' stroke-linejoin='round'/%3E%3Cpath d='M25 29h15M25 38h11' stroke='%23ffffff' stroke-width='5' stroke-linecap='round'/%3E%3Cpath d='M42 34h9l3 17H36l3-17h3z' fill='%23010b22' stroke='%23ffdf00' stroke-width='4' stroke-linejoin='round'/%3E%3Cpath d='M42 34c0-4 6-4 6 0' fill='none' stroke='%23ffffff' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E");
}

.admin-avaliacoes .page-heading::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect width='64' height='64' rx='10' fill='%23010b22'/%3E%3Cpath d='M16 46V22M30 46V14M44 46V30' stroke='%23ffdf00' stroke-width='7' stroke-linecap='round'/%3E%3Cpath d='M12 50h40' stroke='%23fff' stroke-width='5' stroke-linecap='round'/%3E%3Ccircle cx='44' cy='18' r='8' fill='none' stroke='%23fff' stroke-width='5'/%3E%3Cpath d='M50 24l5 5' stroke='%23fff' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E");
}

.admin-usuarios .page-heading::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect width='64' height='64' rx='10' fill='%23010b22'/%3E%3Ccircle cx='25' cy='23' r='7' fill='none' stroke='%23ffdf00' stroke-width='5'/%3E%3Ccircle cx='43' cy='26' r='6' fill='none' stroke='%23fff' stroke-width='5'/%3E%3Cpath d='M13 50c2-10 22-10 25 0M34 48c2-7 14-7 17 0' fill='none' stroke='%23ffdf00' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E");
}

.admin-documentos .page-heading::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect width='64' height='64' rx='10' fill='%23010b22'/%3E%3Cpath d='M20 13h18l9 9v29H20z' fill='none' stroke='%23ffdf00' stroke-width='5' stroke-linejoin='round'/%3E%3Cpath d='M38 13v11h10M27 34h14M27 43h10' fill='none' stroke='%23fff' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.admin-page .page-heading > div {
  flex: 1;
}

.admin-page .page-heading h1 {
  color: var(--azul);
  font-size: 38px;
  line-height: 1.05;
  position: relative;
}

.admin-page .page-heading h1::after {
  background: linear-gradient(90deg, var(--amarelo), var(--azul-3));
  border-radius: 999px;
  content: "";
  display: block;
  height: 5px;
  margin-top: 10px;
  width: min(210px, 70%);
}

.panel-heading {
  background: linear-gradient(90deg, #ffffff, #f3f8ff);
}

.panel-heading h2,
.category-head h2,
.commitment-title span {
  color: var(--azul);
  font-weight: 900;
  position: relative;
}

.panel-heading h2::after,
.category-head h2::after {
  background: var(--amarelo);
  border-radius: 999px;
  content: "";
  display: block;
  height: 4px;
  margin-top: 7px;
  width: 74px;
}

.product-picker-list {
  background:
    linear-gradient(180deg, #ffffff, #f5f8ff);
  border: 1px solid var(--linha);
  border-radius: 8px;
  margin-top: 10px;
  padding: 12px;
  box-shadow: 0 14px 28px rgba(3, 22, 49, 0.08);
}

.product-pick-row {
  align-items: center;
  background: var(--branco);
  border: 1px solid #e6edf7;
  border-radius: 8px;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(130px, 1fr) 110px minmax(170px, 1.1fr) auto;
  margin-top: 8px;
  padding: 10px;
}

.product-pick-row button {
  min-height: 44px;
  min-width: 112px;
}

.public-product-picker-list .product-pick-row button {
  min-height: 38px;
  min-width: 92px;
  padding: 8px 12px;
}

.product-pick-row strong {
  color: var(--azul);
}

.product-pick-row.already-active {
  background: #eef3fa;
  opacity: 0.82;
}

.product-pick-row button:disabled {
  background: #d8e0ec;
  color: var(--cinza);
  cursor: not-allowed;
}

.return-link {
  color: var(--azul-2);
  display: inline-flex;
  font-weight: 900;
  margin-top: 14px;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.return-to-list {
  margin-top: 12px;
}

.color-swatch {
  background: var(--swatch, var(--azul));
  border: 2px solid #fff;
  border-radius: 999px;
  box-shadow: 0 0 0 1px var(--linha), 0 6px 12px rgba(3, 22, 49, 0.12);
  display: inline-block;
  height: 18px;
  margin-right: 8px;
  vertical-align: middle;
  width: 18px;
}

.provider-products-form {
  display: grid;
  gap: 12px;
  padding: 16px;
}

.provider-products-form > label {
  max-width: 250px;
}

.provider-products-form > label select {
  min-height: 34px;
  padding: 6px 9px;
}

.provider-products-form button {
  justify-self: start;
}

.provider-products-form table th:first-child,
.provider-products-form table td:first-child {
  text-align: center;
  width: 86px;
}

.provider-products-form table th:nth-child(3),
.provider-products-form table td:nth-child(3) {
  width: 112px;
}

.provider-products-form table th:nth-child(4),
.provider-products-form table td:nth-child(4) {
  width: 180px;
}

.provider-products-form table input[type="text"] {
  min-height: 32px;
  padding: 5px 8px;
  width: 100%;
}

.supplier-add-switch {
  display: inline-block;
  height: 38px;
  margin: 0;
  position: relative;
  width: 70px;
}

.supplier-add-switch input {
  height: 1px;
  opacity: 0;
  position: absolute;
  width: 1px;
}

.supplier-add-switch span {
  background: var(--erro) !important;
  border: 2px solid rgba(255, 255, 255, 0.42);
  border-radius: 999px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.20), 0 8px 18px rgba(0, 0, 0, 0.16);
  cursor: pointer;
  display: block;
  height: 38px;
  position: relative;
  width: 70px;
}

.supplier-add-switch span::before {
  background: var(--branco);
  border: 1px solid rgba(3, 22, 49, 0.08);
  border-radius: 50%;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.26);
  content: "";
  display: block;
  height: 30px;
  left: 3px;
  position: absolute;
  top: 2px;
  transform: translateX(0);
  transition: transform 0.2s ease;
  width: 30px;
}

.supplier-add-switch input:checked + span {
  background: var(--amarelo) !important;
}

.supplier-add-switch input:checked + span::before {
  transform: translateX(32px);
}

.supplier-add-switch input:focus-visible + span {
  outline: 3px solid rgba(18, 128, 255, 0.28);
  outline-offset: 2px;
}

.supplier-product-form {
  align-items: end;
  gap: 10px;
  grid-template-columns: minmax(210px, 280px) minmax(96px, 120px) minmax(180px, 260px);
  padding: 16px;
}

.supplier-product-form label {
  min-width: 0;
}

.supplier-product-form input[type="text"],
.supplier-product-form select {
  min-height: 34px;
  padding: 6px 9px;
}

.supplier-product-form .span-2 {
  grid-column: span 1;
}

.supplier-product-form .supplier-button-grid {
  grid-column: 1 / -1;
}

@media (max-width: 920px) {
  .supplier-product-form {
    grid-template-columns: 1fr;
  }

  .supplier-product-form .span-2,
  .supplier-product-form .supplier-button-grid {
    grid-column: 1 / -1;
  }
}

.supplier-button-grid {
  border: 1px solid var(--linha);
  border-left: 6px solid var(--amarelo);
  border-radius: 8px;
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 14px;
}

.supplier-button-grid legend {
  color: var(--azul);
  font-weight: 900;
  padding: 0 8px;
}

.supplier-option {
  margin: 0;
}

.supplier-option input {
  height: 1px;
  opacity: 0;
  position: absolute;
  width: 1px;
}

.supplier-option span {
  align-items: center;
  background:
    linear-gradient(135deg, rgba(255, 230, 0, 0.08), transparent 34%),
    linear-gradient(135deg, #ffffff, #f5f9ff);
  border: 1px solid #cddcf0;
  border-radius: 8px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), 0 8px 16px rgba(3, 22, 49, 0.07);
  color: var(--azul);
  cursor: pointer;
  display: flex;
  font-weight: 900;
  justify-content: flex-start;
  font-size: 13px;
  min-height: 48px;
  padding: 10px 12px 10px 42px;
  position: relative;
  text-align: left;
}

.supplier-option span::before {
  border: 2px solid var(--azul-2);
  border-radius: 8px;
  content: "";
  height: 20px;
  left: 12px;
  position: absolute;
  width: 20px;
}

.supplier-option input:checked + span {
  background: linear-gradient(135deg, var(--amarelo), var(--amarelo-2));
  border-color: var(--amarelo);
  color: var(--azul);
}

.supplier-option input:checked + span::before {
  background: var(--azul);
  border-color: var(--azul);
  box-shadow: inset 0 0 0 5px var(--amarelo);
}

.supplier-option input:focus + span {
  outline: 3px solid rgba(18, 128, 255, 0.28);
}

.supplier-profile-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 18px;
}

.supplier-profile-grid > div {
  background: #f7fbff;
  border: 1px solid var(--linha);
  border-left: 5px solid var(--amarelo);
  border-radius: 8px;
  padding: 14px;
}

.supplier-profile-grid strong {
  color: var(--azul);
  display: block;
  margin-bottom: 8px;
}

.supplier-profile-grid p {
  color: var(--cinza);
  font-weight: 800;
  margin: 4px 0;
}

.supplier-profile-grid .span-2 {
  grid-column: span 3;
}

.mini-tabs {
  border: 0;
  border-radius: 8px;
  padding: 8px;
}

.day-panorama {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 18px;
}

.day-card {
  background: var(--branco);
  border: 1px solid var(--linha);
  border-left: 8px solid var(--amarelo);
  border-radius: 8px;
  box-shadow: 0 12px 24px rgba(3, 22, 49, 0.07);
  min-height: 170px;
  padding: 16px;
}

.day-card h2 {
  color: var(--azul);
  margin: 0 0 4px;
}

.day-card > strong {
  color: var(--azul-3);
  display: block;
  margin-bottom: 12px;
}

.day-item {
  background: #f6f9fe;
  border: 1px solid #e5edf8;
  border-left: 7px solid var(--amarelo);
  border-radius: 8px;
  display: grid;
  gap: 4px;
  margin-top: 8px;
  padding: 10px;
}

.day-item.commitment-state-paid {
  background: color-mix(in srgb, var(--verde-fluor) 60%, #ffffff);
  border-color: color-mix(in srgb, var(--verde-fluor) 48%, var(--linha));
  border-left-color: var(--verde-fluor);
}

.day-item.commitment-state-open {
  background: color-mix(in srgb, var(--amarelo) 60%, #ffffff);
  border-color: color-mix(in srgb, var(--amarelo) 48%, var(--linha));
  border-left-color: var(--amarelo);
}

.day-item.commitment-state-overdue {
  background: color-mix(in srgb, #ef4444 60%, #ffffff);
  border-color: color-mix(in srgb, #ef4444 44%, var(--linha));
  border-left-color: #dc2626;
}

.day-item span {
  color: var(--azul);
  font-weight: 900;
}

.day-item small {
  color: var(--cinza);
  font-weight: 800;
}

.day-item-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 6px;
}

.day-item-actions form {
  margin: 0;
}

.day-item-actions button {
  min-height: 32px;
  padding: 0 10px;
  font-size: 12px;
}

.inline-upload-form {
  background: var(--branco);
  border: 1px solid var(--linha);
  border-left: 4px solid var(--amarelo);
  border-radius: 8px;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(180px, 1fr) auto;
  margin: 8px 0;
  max-width: 460px;
  padding: 8px;
}

.inline-upload-form label {
  color: var(--azul);
  font-size: 13px;
  font-weight: 900;
  margin: 0;
}

.inline-upload-form input[type="file"] {
  min-height: 36px;
  padding: 6px;
}

.inline-upload-form button {
  align-self: end;
  background: var(--amarelo) !important;
  border: 2px solid var(--amarelo) !important;
  color: var(--azul) !important;
  min-height: 36px;
  padding: 0 12px;
}

.inline-upload-form .success-action-button {
  background: linear-gradient(180deg, var(--verde-fluor), var(--verde-fluor-2)) !important;
  border-color: #17b900 !important;
}

.commitment-action-band {
  align-items: end;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(150px, 1fr) minmax(150px, 1fr) 104px;
  margin: 0;
}

.commitment-action-band .inline-upload-form {
  border-left-color: var(--amarelo);
  gap: 6px;
  grid-template-columns: minmax(0, 1fr) 104px;
  margin: 0;
  max-width: none;
  padding: 7px;
}

.commitment-action-band .inline-upload-form label {
  font-size: 12px;
  min-width: 0;
}

.commitment-action-band .inline-upload-form input[type="file"] {
  font-size: 12px;
  max-width: 100%;
  min-height: 32px;
  padding: 4px;
}

.commitment-action-band button,
.commitment-action-band .success-action-button,
.commitment-action-band .trash-button {
  border-radius: 10px !important;
  font-size: 13px;
  font-weight: 900;
  height: 48px;
  min-height: 48px;
  min-width: 104px;
  padding: 0 12px;
  text-transform: none;
  width: 104px;
}

.commitment-action-band .trash-button {
  justify-content: center;
}

.commitment-action-band .commitment-remove-form {
  margin: 0;
}

.actions-cell .pay-commitment-form {
  align-items: end;
  border-left-color: var(--amarelo);
  grid-template-columns: minmax(0, 1fr) 104px;
  margin: 0;
  max-width: none;
  padding: 7px;
}

.actions-cell .pay-commitment-form label {
  min-width: 0;
}

.actions-cell .pay-commitment-form .success-action-button {
  min-height: 48px;
  min-width: 104px;
  padding: 0 12px;
}

.commitment-item > div > .actions-cell {
  gap: 8px;
}

.commitment-body {
  align-items: start;
  grid-template-columns: minmax(240px, 0.82fr) minmax(260px, 0.72fr);
  padding-top: 12px;
}

.commitment-body-no-actions {
  grid-template-columns: 1fr;
}

.commitment-details {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.commitment-details p {
  color: var(--azul);
  font-weight: 900;
  margin: 0;
}

.commitment-details small {
  color: var(--cinza);
  display: block;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.2;
}

.commitment-details strong,
.commitment-description span {
  color: var(--azul);
  display: block;
  font-size: 16px;
  line-height: 1.35;
}

.commitment-description {
  min-height: 44px;
}

.commitment-attachment-panel {
  align-self: start;
  display: grid;
  gap: 8px;
  justify-self: end;
  max-width: 360px;
  width: 100%;
}

.commitment-attachment-panel-empty {
  margin-top: 8px;
  transform: none;
}

.commitment-attachment-links {
  display: grid;
  gap: 6px;
}

.commitment-attachment-row {
  align-items: center;
  display: grid;
  gap: 6px;
  grid-template-columns: 36px minmax(0, 1fr);
}

.commitment-attachment-row form {
  margin: 0;
}

.commitment-attachment-row .button-mini {
  justify-content: center;
  min-height: 36px;
  min-width: 0;
  overflow-wrap: anywhere;
  padding: 0 10px;
  width: 100%;
}

.commitment-attachment-row > .commitment-attachment-link:only-child {
  grid-column: 1 / -1;
}

.commitment-attachment-link {
  gap: 7px;
}

.commitment-attachment-link::before {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffdf00' stroke-width='2.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.4 11.6 12 21a6 6 0 0 1-8.5-8.5l9.7-9.7a4 4 0 0 1 5.7 5.7l-9.8 9.8a2.1 2.1 0 0 1-3-3l8.9-8.9'/%3E%3C/svg%3E") center / contain no-repeat;
  content: "";
  flex: 0 0 18px;
  height: 18px;
  width: 18px;
}

.attachment-delete-button {
  align-items: center;
  background: var(--erro) !important;
  border: 1px solid var(--erro) !important;
  border-radius: 8px !important;
  color: #ffffff !important;
  display: inline-flex;
  height: 36px;
  justify-content: center;
  min-height: 36px;
  min-width: 36px;
  padding: 0;
  width: 36px;
}

.attachment-delete-button svg {
  height: 16px;
  width: 16px;
}

.commitment-attachments-form {
  align-items: end;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) 46px;
  margin: 0;
}

.commitment-attachments-form .file-pick-control input[type="file"] {
  inset: 0;
  width: 100%;
}

.commitment-attachment-slots {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.commitment-attachment-slot {
  background: #ffffff;
  border: 1px solid var(--linha);
  border-left: 5px solid var(--amarelo);
  border-radius: 8px;
  display: grid;
  gap: 6px;
  grid-template-columns: minmax(115px, 0.82fr) minmax(120px, 1fr);
  padding: 8px;
}

.commitment-attachment-slot.is-hidden {
  display: none;
}

.commitment-attachment-slot label {
  color: var(--azul);
  font-size: 12px;
  font-weight: 900;
  margin: 0;
  min-width: 0;
}

.commitment-attachment-slot input {
  font-size: 12px;
  min-height: 34px;
  padding: 5px 7px;
}

.commitment-add-attachment {
  align-items: center;
  align-self: start;
  background: var(--amarelo) !important;
  border: 2px solid var(--amarelo) !important;
  border-radius: 8px !important;
  color: var(--azul) !important;
  display: inline-flex;
  font-size: 24px;
  font-weight: 900;
  height: 46px;
  justify-content: center;
  min-height: 46px;
  min-width: 46px;
  padding: 0;
  width: 46px;
}

.admin-password-modal {
  align-items: center;
  background: rgba(1, 12, 34, 0.56);
  display: none;
  inset: 0;
  justify-content: center;
  padding: 18px;
  position: fixed;
  z-index: 3000;
}

.admin-password-modal.is-open {
  display: flex;
}

.admin-password-dialog {
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 24px 60px rgba(1, 12, 34, 0.28);
  color: var(--azul);
  padding: 22px;
  width: min(420px, 100%);
}

.admin-password-dialog h2 {
  font-size: 1.25rem;
  margin: 0 0 8px;
}

.admin-password-dialog p {
  color: #5b6b83;
  font-weight: 700;
  margin: 0 0 14px;
}

.admin-password-dialog input {
  border: 1px solid #cbd7e6;
  border-radius: 8px;
  color: var(--azul);
  font-size: 1.1rem;
  font-weight: 800;
  min-height: 50px;
  padding: 0 14px;
  width: 100%;
}

.admin-password-dialog input + input {
  margin-top: 10px;
}

.admin-password-actions {
  display: grid;
  gap: 12px;
  grid-template-columns: 1fr 1fr;
  margin-top: 16px;
}

.admin-password-actions button {
  background: var(--azul);
  border: 0;
  border-radius: 8px;
  color: #ffffff;
  cursor: pointer;
  font-weight: 900;
  min-height: 46px;
}

.admin-password-actions button.secondary {
  background: #eef4fb;
  color: var(--azul);
}

.commitment-primary-actions {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(104px, 1fr));
  margin-top: 8px;
  max-width: 470px;
}

.commitment-primary-actions > * {
  min-width: 0;
}

.commitment-primary-actions form {
  margin: 0;
}

.commitment-primary-actions button {
  border-radius: 10px !important;
  color: var(--azul) !important;
  font-family: "Inter", "Segoe UI", Arial, sans-serif;
  font-size: 15.5px;
  font-weight: 800;
  height: 50px;
  letter-spacing: 0;
  line-height: 1;
  min-height: 50px;
  padding: 0 14px;
  text-transform: none;
  width: 100%;
}

.commitment-primary-actions button:disabled {
  cursor: not-allowed;
  opacity: 0.68;
}

.commitment-primary-actions .success-action-button {
  background: var(--verde-fluor) !important;
  border-color: #17b900 !important;
}

.commitment-primary-actions .commitment-attach-submit {
  background: var(--amarelo) !important;
  border-color: var(--amarelo) !important;
}

.commitment-primary-actions .trash-button {
  background: var(--erro) !important;
  border-color: var(--erro) !important;
  color: #ffffff !important;
  justify-content: center;
}

.commitment-primary-actions .trash-button svg {
  height: 19px;
  width: 19px;
}

.attachment-slot {
  background: linear-gradient(180deg, #ffffff, #f8fbff);
  border: 1px solid var(--linha);
  border-left: 5px solid var(--amarelo);
  border-radius: 8px;
  display: grid;
  gap: 10px 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  min-width: 0;
  padding: 12px 14px 14px;
}

.attachment-slot.is-hidden {
  display: none;
}

.attachment-slots {
  display: grid;
  gap: 14px;
}

.attachment-slot legend {
  color: var(--azul);
  font-weight: 900;
  line-height: 1.2;
  padding: 0 8px;
}

.attachments-form {
  align-items: start;
}

.attachments-form button {
  grid-column: auto;
}

.attachments-form input[type="file"] {
  background: #f8fbff;
  max-width: 520px;
  min-height: 38px;
  padding: 6px 8px;
}

.business-doc-form {
  align-items: end;
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.business-doc-form label {
  grid-column: span 3;
}

.business-doc-form .field-wide {
  grid-column: span 6;
}

.business-doc-form .field-address {
  grid-column: span 8;
}

.business-doc-form .field-medium {
  grid-column: span 3;
}

.business-doc-form .field-small {
  grid-column: span 2;
}

.business-doc-form .field-uf {
  grid-column: span 1;
}

.business-doc-form .span-2 {
  grid-column: 1 / -1;
}

.business-doc-form .field-observations textarea {
  min-height: 42px;
  resize: vertical;
}

.business-doc-form button[type="submit"] {
  grid-column: 1 / span 3;
  justify-self: start;
  min-width: 220px;
}

.business-attachment-form {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.business-attachment-form .attachment-slots,
.business-attachment-form .attachment-form-actions {
  grid-column: 1 / -1;
}

.business-attachment-form .single-attachment-slot {
  align-items: end;
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.business-attachment-form .single-attachment-slot legend {
  grid-column: 1 / -1;
}

.business-attachment-form .single-attachment-slot label {
  grid-column: span 4;
}

.business-attachment-form .single-attachment-slot .field-title {
  grid-column: span 3;
}

.business-attachment-form .single-attachment-slot .field-description {
  grid-column: span 4;
}

.business-attachment-form .single-attachment-slot .field-file {
  grid-column: span 3;
}

.business-attachment-form .single-attachment-slot .attachment-form-actions {
  grid-column: span 2;
  align-self: end;
}

.business-attachment-form .single-attachment-slot .file-pick-control {
  min-height: 42px;
}

.business-attachment-form .single-attachment-slot .submit-attachments-button {
  min-width: 0;
  width: 100%;
}

.attachment-form-actions {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: flex-start;
}

.add-attachment-button,
.submit-attachments-button {
  justify-self: start;
  min-height: 46px;
  min-width: 156px;
  padding: 0 16px;
}

.add-attachment-button {
  background: var(--amarelo) !important;
  border: 2px solid var(--azul) !important;
  border-radius: 6px;
  box-shadow: none;
  color: var(--azul) !important;
  min-height: 42px;
  min-width: 42px;
  padding: 0;
  width: 42px;
}

.add-attachment-button span {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--azul);
  display: inline-flex;
  font-size: 20px;
  font-weight: 1000;
  height: 100%;
  justify-content: center;
  line-height: 1;
  width: 100%;
}

.add-attachment-button em {
  height: 1px;
  margin: -1px;
  overflow: hidden;
  position: absolute;
  width: 1px;
}

.document-list {
  border-top: 1px solid var(--linha);
}

@media (max-width: 920px) {
  .day-panorama,
  .product-pick-row,
  .inline-upload-form,
  .attachment-slot,
  .supplier-button-grid {
    grid-template-columns: 1fr;
  }

  .business-doc-form,
  .business-attachment-form .single-attachment-slot {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .business-doc-form label,
  .business-doc-form .field-medium,
  .business-doc-form .field-small,
  .business-doc-form .field-uf,
  .business-attachment-form .single-attachment-slot label,
  .business-attachment-form .single-attachment-slot .field-title,
  .business-attachment-form .single-attachment-slot .field-description,
  .business-attachment-form .single-attachment-slot .field-file,
  .business-attachment-form .single-attachment-slot .attachment-form-actions {
    grid-column: span 3;
  }

  .business-doc-form .field-wide,
  .business-doc-form .field-address,
  .business-doc-form .span-2,
  .business-attachment-form .single-attachment-slot .span-2 {
    grid-column: 1 / -1;
  }

  .business-doc-form button[type="submit"] {
    grid-column: 1 / -1;
    width: 100%;
  }

  .business-attachment-form .single-attachment-slot .submit-attachments-button {
    width: 100%;
  }

  .admin-page .page-heading::before {
    flex-basis: 64px;
    height: 64px;
    width: 64px;
  }

  .admin-page .page-heading h1 {
    font-size: 30px;
  }
}

@media (max-width: 620px) {
  .business-doc-form,
  .business-attachment-form .single-attachment-slot {
    grid-template-columns: 1fr;
  }

  .business-doc-form label,
  .business-doc-form .field-wide,
  .business-doc-form .field-address,
  .business-doc-form .field-medium,
  .business-doc-form .field-small,
  .business-doc-form .field-uf,
  .business-doc-form .span-2,
  .business-attachment-form .single-attachment-slot label,
  .business-attachment-form .single-attachment-slot .field-title,
  .business-attachment-form .single-attachment-slot .field-description,
  .business-attachment-form .single-attachment-slot .field-file,
  .business-attachment-form .single-attachment-slot .attachment-form-actions {
    grid-column: 1 / -1;
  }
}

button,
.button-link,
.button-mini {
  border-radius: 10px;
  font-size: 14px;
  min-height: 44px;
  min-width: 132px;
  padding: 0 16px;
}

.button-mini,
.actions-cell .button-mini,
.actions-cell button {
  min-height: 40px;
  min-width: 118px;
  width: auto;
}

.finance-category-manager .finance-category-edit-button:hover {
  background: var(--amarelo);
  color: var(--azul) !important;
  filter: none;
}

.finance-category-manager .finance-category-deactivate-button:hover {
  background: var(--azul-botao);
  color: var(--branco) !important;
  filter: none;
}

.actions-cell {
  align-items: center;
}

.status.warning {
  background: #fff6cf;
  color: #8a5a00;
}

.status.danger {
  background: #ffe8ec;
  color: var(--erro);
}

.product-name-with-stock {
  align-items: center;
  display: inline-flex;
  gap: 9px;
}

.stock-square {
  border: 1px solid #b9c7d9;
  border-radius: 5px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65), 0 5px 10px rgba(3, 22, 49, 0.08);
  display: inline-block;
  flex: 0 0 18px;
  height: 18px;
  width: 18px;
}

.stock-square-empty {
  background: #fff;
}

.stock-square-red {
  background: #d71920;
  border-color: #b8121a;
}

.stock-square-yellow {
  background: var(--amarelo);
  border-color: #d7ba00;
}

.stock-square-green {
  background: #26ff00;
  border-color: #16b800;
}

.employee-actions {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 232px;
}

.employee-actions > a,
.employee-actions > form {
  margin: 0;
}

.employee-actions button,
.employee-actions .button-link,
.employee-actions .button-mini {
  font-size: 12px;
  font-weight: 900;
  min-height: 48px;
  min-width: 0;
  padding-inline: 8px;
  width: 100%;
}

.employee-actions .trash-button.icon-only {
  min-width: 0;
  width: 100%;
}

.trash-button {
  background: linear-gradient(135deg, #ef233c, #b91324);
  border: 1px solid rgba(255, 255, 255, 0.26);
  color: #fff;
}

.trash-button.icon-only {
  min-width: 44px;
  padding: 0;
  width: 44px;
}

.public-only-list .trash-button {
  border-radius: 10px;
  height: 38px;
  min-height: 38px;
  min-width: 60px;
  padding: 0;
  width: 60px;
}

.public-only-list .trash-button span {
  display: none;
}

.public-only-list .trash-button .trash-icon-svg {
  height: 18px;
  width: 18px;
}

.public-gate {
  max-width: 680px;
}

.public-login-form,
.public-login-form-auth {
  align-items: end;
  gap: 14px;
}

.public-login-form button,
.return-home-button {
  min-height: 54px;
  min-width: 174px;
}

.public-login-form-auth {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 174px;
}

.public-login-form:not(.public-login-form-auth) {
  grid-template-columns: minmax(0, 1fr) 174px;
}

.registered-picker summary {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  line-height: 1.12;
  min-height: 62px;
  min-width: 126px;
  padding: 10px 12px;
  width: 132px;
}

.finance-commitment-form {
  align-items: end;
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.finance-form-column {
  display: contents;
}

.finance-form-column label,
.finance-full {
  margin: 0;
}

.finance-field-title {
  grid-column: span 5;
}

.finance-field-category {
  grid-column: span 3;
}

.finance-field-value,
.finance-field-status {
  grid-column: span 2;
}

.finance-field-owner {
  grid-column: span 4;
}

.finance-field-date,
.finance-field-time,
.finance-field-day,
.finance-field-recurrence {
  grid-column: span 2;
}

.finance-field-file {
  grid-column: span 2;
}

.finance-field-description {
  grid-column: span 4;
}

.finance-form-actions {
  grid-column: span 4;
}

.finance-form-actions {
  display: flex;
  gap: 10px;
}

.finance-commitment-form input,
.finance-commitment-form select,
.finance-commitment-form textarea {
  min-height: 42px;
  padding: 9px 10px;
}

.finance-form-actions button {
  min-height: 42px;
  padding: 9px 14px;
  width: 100%;
}

.finance-form-actions .finance-create-commitment-button {
  width: 60%;
}

.finance-detail-back-button,
.finance-detail-back-button:hover,
.finance-detail-back-button:focus-visible,
:root[data-theme="dark"] .finance-detail-back-button,
:root[data-theme="dark"] .finance-detail-back-button:hover,
:root[data-theme="dark"] .finance-detail-back-button:focus-visible {
  background: var(--azul) !important;
  border-color: var(--azul) !important;
  color: var(--branco) !important;
  filter: none !important;
  transform: none !important;
}

.finance-commitment-form .finance-field-description textarea {
  min-height: 42px;
  resize: vertical;
}

.finance-commitment-form .finance-field-file .file-pick-control {
  grid-template-columns: 32px minmax(0, 1fr);
  min-height: 42px;
  padding-right: 6px;
}

.finance-commitment-form .finance-field-file .file-pick-control input[type="file"] {
  border: 0;
  height: 100%;
  inset: 0;
  margin: 0;
  min-height: 0;
  opacity: 0.001;
  padding: 0;
  width: 100%;
  z-index: 3;
}

.finance-commitment-form .finance-field-file .file-pick-button {
  min-height: 32px;
  min-width: 32px;
}

.finance-commitment-form .finance-field-file .file-pick-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.file-pick-control {
  align-items: center;
  background: var(--fundo);
  border: 1px solid #c9d4e5;
  border-radius: 8px;
  cursor: default;
  display: grid;
  gap: 8px;
  grid-template-columns: 36px minmax(0, 1fr);
  min-height: 36px;
  padding: 0 8px 0 0;
  position: relative;
  width: 100%;
}

.file-pick-control input[type="file"] {
  cursor: pointer;
  height: 100%;
  inset: 0;
  opacity: 0;
  position: absolute;
  width: 100%;
  z-index: 2;
}

.file-pick-button {
  align-items: center;
  align-self: stretch;
  background: var(--amarelo);
  border-right: 1px solid rgba(2, 22, 58, 0.18);
  border-radius: 7px;
  color: var(--azul);
  display: inline-flex;
  font-size: 26px;
  font-weight: 900;
  justify-content: center;
  line-height: 1;
  pointer-events: none;
}

.file-pick-button.icon-attachment {
  background:
    var(--amarelo)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2302183a' stroke-width='2.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.4 11.6 12 21a6 6 0 0 1-8.5-8.5l9.7-9.7a4 4 0 0 1 5.7 5.7l-9.8 9.8a2.1 2.1 0 0 1-3-3l8.9-8.9'/%3E%3C/svg%3E")
    center / 21px 21px no-repeat;
  font-size: 0;
}

.employee-attachment-picker {
  max-width: 260px;
}

.employee-photo-picker {
  background: var(--fundo);
  aspect-ratio: 3 / 4;
  max-width: 180px;
  min-height: 220px;
}

.file-pick-text {
  align-self: stretch;
  align-items: center;
  background: var(--fundo);
  color: var(--azul);
  display: flex;
  font-size: 12px;
  font-weight: 900;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.employee-photo-picker .file-pick-text {
  background: var(--fundo);
}

.employee-form .employee-photo-picker {
  aspect-ratio: auto;
  max-width: none;
  min-height: 34px;
}

.employee-form .employee-photo-picker .file-pick-button {
  min-height: 32px;
}

.admin-funcionarios .panel-heading .button-link.secondary,
:root[data-theme="dark"] .admin-funcionarios .panel-heading .button-link.secondary {
  color: var(--branco);
}

.delete-edit-form {
  padding: 0 20px 20px;
}

.commitment-item summary {
  align-items: center;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
}

.commitment-meta {
  color: var(--cinza);
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
}

.finance-search-form {
  align-items: end;
  gap: 10px;
  grid-template-columns: minmax(220px, 1fr) 150px 170px 170px 118px;
}

.finance-search-form button {
  min-height: 42px;
  min-width: 118px;
  padding: 9px 14px;
}

.finance-search-form input[type="search"],
.finance-search-form select,
.finance-search-form .history-date-control > input[data-mask="date"] {
  min-height: 42px;
  padding: 8px 10px;
}

.finance-date-fields,
.finance-date-fields.is-active {
  display: contents;
}

.finance-date-fields label {
  margin: 0;
}

.finance-search-panel .finance-search-form {
  align-items: end;
  grid-template-columns: minmax(220px, 1fr) 150px 170px 170px 118px;
}

.finance-search-panel .finance-search-form .finance-search-text,
.finance-search-panel .finance-search-form label:has(select[name="campo"]) {
  max-width: none;
}

.finance-search-panel .finance-search-form .history-date-control {
  max-width: 170px;
  width: 170px;
}

.finance-search-panel .finance-search-form button[type="submit"] {
  justify-self: end;
  width: 118px;
}

.finance-search-panel .finance-search-form input[type="search"],
.finance-search-panel .finance-search-form select,
.finance-search-panel .finance-search-form .history-date-control,
.finance-search-panel .finance-search-form .history-date-control > input[data-mask="date"] {
  min-height: 42px;
}

.finance-search-panel .finance-search-form input[type="search"],
.finance-search-panel .finance-search-form select,
.finance-search-panel .finance-search-form .history-date-control > input[data-mask="date"] {
  padding: 8px 10px;
}

.submit-attachments-button {
  background:
    linear-gradient(135deg, rgba(255, 223, 0, 0.16), transparent 42%),
    linear-gradient(135deg, var(--azul), var(--azul-2));
  border: 2px solid var(--azul);
  color: var(--branco);
  min-height: 46px;
  min-width: 154px;
}

.add-attachment-button {
  background: var(--amarelo) !important;
  border: 2px solid var(--azul) !important;
  color: var(--azul) !important;
  min-height: 42px;
  min-width: 42px;
  padding: 0;
  width: 42px;
}

.add-attachment-button span {
  background: transparent;
  border: 0;
  border-radius: 0;
  color: var(--azul);
  font-size: 20px;
  height: 100%;
  width: 100%;
}

.add-attachment-button em {
  height: 1px;
  margin: -1px;
  overflow: hidden;
  position: absolute;
  width: 1px;
}

.toggle-field {
  align-items: center;
  background: #f7fbff;
  border: 1px solid var(--linha);
  border-radius: 8px;
  display: flex;
  gap: 10px;
  min-height: 42px;
  padding: 10px 12px;
}

.toggle-field input {
  min-height: auto;
  width: auto;
}

@media (max-width: 920px) {
  .public-login-form-auth,
  .public-login-form:not(.public-login-form-auth),
  .finance-commitment-form,
  .finance-search-form {
    grid-template-columns: 1fr;
  }

  .finance-full,
  .finance-form-actions,
  .finance-field-title,
  .finance-field-category,
  .finance-field-owner,
  .finance-field-file,
  .finance-field-value,
  .finance-field-status,
  .finance-field-date,
  .finance-field-time,
  .finance-field-day,
  .finance-field-recurrence,
  .finance-field-description {
    grid-column: auto;
  }

  .finance-field-value input,
  .finance-field-time input,
  .finance-field-day select,
  .finance-field-recurrence select,
  .finance-field-status select,
  .finance-field-date input,
  .finance-field-file input {
    max-width: none;
  }

  .employee-actions {
    justify-self: end;
    max-width: 100%;
    width: 232px;
  }

  .commitment-item summary {
    grid-template-columns: 1fr;
  }

  .commitment-action-band {
    grid-template-columns: 1fr;
  }

  .commitment-body {
    grid-template-columns: 1fr;
  }

  .commitment-attachment-panel {
    justify-self: stretch;
    max-width: none;
  }

  .commitment-attachment-slot,
  .commitment-attachments-form {
    grid-template-columns: 1fr;
  }

  .commitment-primary-actions {
    gap: 6px;
    grid-template-columns: repeat(3, minmax(72px, 1fr));
  }

  .commitment-primary-actions button {
    font-size: 12px;
    padding: 0 6px;
  }

  .commitment-action-band .inline-upload-form {
    grid-template-columns: 1fr;
  }

  .commitment-action-band button,
  .commitment-action-band .success-action-button,
  .commitment-action-band .trash-button {
    width: 100%;
  }

  .commitment-meta {
    white-space: normal;
  }
}

.public-login-body .login-page,
.public-login-page {
  background:
    linear-gradient(180deg, var(--azul) 0, var(--azul-2) 45%, var(--fundo) 45%);
}

.public-login-card {
  width: min(450px, 100%);
}

.public-login-card .brand {
  background: var(--azul);
}

.public-login-admin-form {
  display: grid;
  gap: 10px;
}

.public-login-admin-form label {
  margin: 4px 0 0;
}

.public-login-admin-form button {
  justify-self: start;
  min-height: 50px;
  min-width: 176px;
  width: auto;
}

.public-login-admin-form select,
.public-login-admin-form input {
  min-height: 48px;
}

.icon-search::before {
  background: transparent;
  border: 3px solid currentColor;
  border-radius: 50%;
  height: 13px;
  left: 4px;
  top: 4px;
  width: 13px;
}

.icon-search::after {
  border-radius: 3px;
  height: 4px;
  right: 4px;
  bottom: 5px;
  transform: rotate(45deg);
  width: 11px;
}

.registered-picker summary,
.buy-form button,
.submit-attachments-button {
  background: var(--azul-botao) !important;
  border-color: var(--azul-botao) !important;
  color: var(--branco) !important;
}

.add-attachment-button {
  background: var(--amarelo) !important;
  border-color: var(--azul) !important;
  color: var(--azul) !important;
}

.registered-picker summary {
  border-radius: 10px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 8px 18px rgba(3, 22, 49, 0.12);
}

.trash-button,
.danger-button {
  background: var(--erro) !important;
  border-color: var(--erro) !important;
  color: var(--branco) !important;
}

.theme-toggle {
  align-items: center;
  background: var(--amarelo) !important;
  border: 2px solid rgba(255, 255, 255, 0.42);
  border-radius: 999px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.20), 0 8px 18px rgba(0, 0, 0, 0.16);
  display: inline-block;
  height: 38px;
  min-height: 38px;
  min-width: 70px;
  padding: 0;
  position: relative;
  transition: background 0.2s ease, box-shadow 0.2s ease;
  width: 70px;
}

.theme-toggle span {
  background: var(--branco);
  border: 1px solid rgba(3, 22, 49, 0.08);
  border-radius: 50%;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.26);
  display: block;
  height: 30px;
  left: 3px;
  position: absolute;
  top: 2px;
  transform: translateX(0);
  transition: transform 0.2s ease;
  width: 30px;
}

.theme-toggle[aria-pressed="true"] {
  background: var(--azul-2) !important;
}

.theme-toggle[aria-pressed="true"] span {
  background: var(--branco);
  transform: translateX(32px);
}

.home-theme-toggle,
.login-theme-toggle {
  margin: 0;
}

.public-bar-actions {
  align-items: center;
  display: flex;
  gap: 10px;
}

.registered-picker-link {
  line-height: 1.15;
  min-height: 44px;
  min-width: 122px;
  padding: 8px 12px;
  text-align: center;
  white-space: normal;
  width: 122px;
}

.public-category-toolbar {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  margin-bottom: 14px;
}

.public-category-toolbar h2 {
  color: var(--azul);
  margin: 0 0 6px;
}

.public-category-toolbar p {
  color: var(--cinza);
  font-weight: 800;
  margin: 0;
}

.public-product-picker-list {
  box-shadow: none;
  margin-top: 0;
}

.advance-list {
  display: grid;
  gap: 10px;
  padding: 14px;
}

.advance-row {
  align-items: center;
  background: linear-gradient(180deg, #ffffff, #f7faff);
  border: 1px solid var(--linha);
  border-left: 6px solid var(--cargo-cor, var(--amarelo));
  border-radius: 8px;
  display: grid;
  gap: 10px;
  grid-template-columns: 88px minmax(160px, 0.65fr) minmax(650px, 2.4fr) auto;
  padding: 12px;
}

.advance-action-button {
  align-items: center;
  align-self: center;
  background: #052a63 !important;
  border-color: #052a63 !important;
  border-radius: 10px;
  color: #ffffff !important;
  display: inline-flex;
  height: 72px;
  justify-content: center;
  justify-self: end;
  min-height: 72px;
  min-width: 78px;
  width: 78px;
}

.advance-action-group {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  justify-self: end;
}

.advance-action-group .advance-action-button {
  justify-self: auto;
}

.advance-action-button:hover {
  background: var(--amarelo) !important;
  border-color: var(--amarelo) !important;
  color: var(--azul) !important;
}

.payment-submit-button {
  background: #39ff14 !important;
  border-color: #39ff14 !important;
  box-shadow: 0 14px 28px rgba(57, 255, 20, 0.28);
  color: var(--azul) !important;
}

.payment-submit-button:hover {
  background: #b6ff00 !important;
  border-color: #b6ff00 !important;
  color: var(--azul) !important;
}

.advance-action-button,
.advance-action-button:hover,
.advance-action-button:focus-visible,
.payment-submit-button,
.payment-submit-button:hover,
.payment-submit-button:focus-visible,
:root[data-theme="dark"] .advance-action-button,
:root[data-theme="dark"] .advance-action-button:hover,
:root[data-theme="dark"] .advance-action-button:focus-visible,
:root[data-theme="dark"] .payment-submit-button,
:root[data-theme="dark"] .payment-submit-button:hover,
:root[data-theme="dark"] .payment-submit-button:focus-visible {
  background: linear-gradient(180deg, var(--verde-fluor), var(--verde-fluor-2)) !important;
  border-color: #17b900 !important;
  border-style: solid !important;
  border-width: 2px !important;
  border-radius: 8px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35), 0 10px 18px rgba(57, 255, 20, 0.24) !important;
  color: var(--azul) !important;
  filter: none;
  letter-spacing: 0;
}

.advance-action-button:hover,
.advance-action-button:focus-visible,
.payment-submit-button:hover,
.payment-submit-button:focus-visible,
:root[data-theme="dark"] .advance-action-button:hover,
:root[data-theme="dark"] .advance-action-button:focus-visible,
:root[data-theme="dark"] .payment-submit-button:hover,
:root[data-theme="dark"] .payment-submit-button:focus-visible {
  filter: brightness(1.02);
  transform: translateY(-1px);
}

.advance-row .employee-photo,
.advance-profile .employee-photo {
  width: 76px;
}

.advance-row strong,
.advance-profile strong {
  color: var(--azul);
  display: block;
  font-weight: 900;
}

.advance-row span,
.advance-row small,
.advance-profile small {
  color: var(--cinza);
  display: block;
  font-weight: 800;
  margin-top: 4px;
}

.advance-profile {
  align-items: center;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(260px, 1fr) minmax(420px, 1.5fr);
  padding: 18px;
}

.advance-profile-main {
  align-items: center;
  display: grid;
  gap: 14px;
  grid-template-columns: 86px minmax(0, 1fr);
  min-width: 0;
}

.advance-metrics {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  min-width: 0;
}

.advance-profile-metrics {
  grid-template-columns: repeat(4, minmax(130px, 1fr));
}

.advance-metrics-five {
  grid-template-columns: repeat(5, minmax(118px, 1fr));
}

.advance-metrics-four {
  grid-template-columns: repeat(4, minmax(130px, 1fr));
}

.advance-metric {
  background: #f7fbff;
  border: 1px solid var(--linha);
  border-left: 5px solid var(--amarelo);
  border-radius: 8px;
  min-height: 70px;
  padding: 10px 12px;
}

.advance-metric strong {
  overflow-wrap: anywhere;
}

.advance-form {
  align-items: end;
}

.advance-form-pagamento {
  column-gap: 8px;
  grid-template-columns: 154px minmax(24px, 1fr) 220px auto auto;
}

.advance-form-pagamento .payment-date-placeholder {
  display: none;
}

.advance-form-pagamento .payment-field-value,
.advance-form-pagamento label:has(input[name="valor"]) {
  justify-self: start;
  max-width: 154px;
  width: 154px;
}

.advance-form-pagamento .payment-field-attachment {
  align-self: end;
  justify-self: start;
  max-width: 220px;
  width: 220px;
}

.advance-form-pagamento .payment-field-value input,
.advance-form-pagamento input[name="valor"] {
  width: 100%;
}

.advance-form-pagamento .payment-field-attachment .file-pick-control {
  grid-template-columns: 32px minmax(0, 1fr);
  min-height: 42px;
}

.advance-form-pagamento .payment-field-attachment .file-pick-button {
  min-height: 32px;
  min-width: 32px;
}

.advance-form-pagamento .signature-actions {
  align-self: end;
  grid-column: auto;
}

.advance-form-pagamento .signature-field {
  grid-column: 1 / -1;
}

.advance-form-pagamento .signature-field canvas {
  aspect-ratio: 720 / 220;
  height: auto;
  max-width: 720px;
  width: 100%;
}

.advance-form-pagamento > button[type="submit"] {
  align-self: end;
  justify-self: start;
}

.signature-field {
  background: #f7fbff;
  border: 1px solid var(--linha);
  border-left: 6px solid var(--amarelo);
  border-radius: 8px;
  display: grid;
  gap: 10px;
  padding: 14px;
}

.signature-field strong {
  color: var(--azul);
}

:root[data-theme="dark"] .admin-funcionarios .signature-field strong {
  color: var(--branco) !important;
}

.signature-field canvas {
  background: var(--branco);
  border: 1px solid #c7d5e8;
  border-radius: 8px;
  height: 220px;
  touch-action: none;
  width: 100%;
}

.signature-actions {
  align-items: center;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.signature-open-button,
.signature-actions .signature-open-button,
button[data-signature-open] {
  background: var(--azul-botao) !important;
  border-color: var(--azul-botao) !important;
  color: var(--branco) !important;
}

.signature-open-button:hover,
.signature-open-button:focus-visible,
.signature-actions .signature-open-button:hover,
.signature-actions .signature-open-button:focus-visible,
button[data-signature-open]:hover,
button[data-signature-open]:focus-visible {
  background: var(--amarelo) !important;
  border-color: var(--amarelo) !important;
  color: var(--azul) !important;
}

.admin-funcionarios button[data-signature-repeat],
.admin-funcionarios button[data-signature-repeat]:hover,
.admin-funcionarios button[data-signature-repeat]:focus,
.admin-funcionarios button[data-signature-repeat]:focus-visible,
.admin-funcionarios button[data-signature-repeat]:active,
:root[data-theme="dark"] .admin-funcionarios button[data-signature-repeat],
:root[data-theme="dark"] .admin-funcionarios button[data-signature-repeat]:hover,
:root[data-theme="dark"] .admin-funcionarios button[data-signature-repeat]:focus,
:root[data-theme="dark"] .admin-funcionarios button[data-signature-repeat]:focus-visible,
:root[data-theme="dark"] .admin-funcionarios button[data-signature-repeat]:active {
  background: var(--azul) !important;
  border-color: var(--azul) !important;
  color: var(--branco) !important;
  filter: none !important;
  transform: none !important;
  transition: none !important;
}

.is-hidden {
  display: none !important;
}

.field-required-missing input,
.field-required-missing select,
.field-required-missing textarea,
input.field-required-missing,
select.field-required-missing,
textarea.field-required-missing,
.signature-field.field-required-missing {
  border-color: var(--erro) !important;
  box-shadow: 0 0 0 3px rgba(215, 25, 32, 0.14);
}

.admin-etiquetas .field-required-missing .label-number-control,
.admin-etiquetas .label-number-control:has(> input.field-required-missing) {
  border-color: var(--erro) !important;
  box-shadow: 0 0 0 3px rgba(215, 25, 32, 0.14);
}

.admin-etiquetas .field-required-missing .label-number-control > input,
.admin-etiquetas .label-number-control > input.field-required-missing {
  border: 0 !important;
  box-shadow: none !important;
}

.field-required-alert-host {
  position: relative;
  z-index: auto;
}

.field-required-alert {
  align-items: center;
  background: #ffffff;
  border: 1px solid #f2c94c;
  border-radius: 8px;
  box-shadow: 0 16px 34px rgba(3, 31, 79, 0.20);
  color: #031f4f;
  display: inline-flex;
  font-size: 13px;
  font-weight: 900;
  gap: 8px;
  left: 0;
  line-height: 1.25;
  margin: 0;
  max-width: min(360px, 100%);
  padding: 9px 12px;
  pointer-events: none;
  position: absolute;
  top: 0;
  z-index: 2147483647;
}

.field-required-alert-viewport {
  font-family: "Trebuchet MS", "Segoe UI", Arial, sans-serif;
  position: fixed;
}

.field-required-alert-icon {
  align-items: center;
  background: #ffdf00;
  border: 1px solid #e7b800;
  border-radius: 999px;
  color: #031f4f;
  display: inline-flex;
  flex: 0 0 18px;
  font-size: 13px;
  font-weight: 1000;
  height: 18px;
  justify-content: center;
  line-height: 1;
  width: 18px;
}

.field-required-alert::after {
  background: #ffffff;
  border-bottom: 1px solid #f2c94c;
  border-right: 1px solid #f2c94c;
  bottom: -6px;
  content: "";
  height: 10px;
  left: 14px;
  position: absolute;
  transform: rotate(45deg);
  width: 10px;
}

.finance-commitment-validation-alert {
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  white-space: normal;
}

.finance-commitment-validation-alert::after {
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
}

.finance-commitment-form .file-pick-control.finance-commitment-invalid,
.finance-commitment-form .history-date-control.finance-commitment-invalid {
  border-color: var(--erro) !important;
  box-shadow: 0 0 0 3px rgba(215, 25, 32, 0.14);
}

.form-required-message {
  background: #fff0f3;
  border: 1px solid #ffc2ce;
  border-radius: 8px;
  color: var(--erro);
  font-weight: 900;
  grid-column: 1 / -1;
  margin: 0;
  padding: 12px 14px;
}

.muted-text {
  color: var(--cinza);
  font-size: 13px;
  font-weight: 800;
}

.profile-signature-actions {
  margin: 6px 0 14px;
}

:root[data-theme="dark"] body {
  background: #071225;
  color: #ffffff;
}

:root[data-theme="dark"] .service-rating-page {
  background:
    linear-gradient(135deg, transparent 0 58%, rgba(255, 255, 255, 0.08) 58% 63%, transparent 63%),
    linear-gradient(180deg, #071225 0, #071225 280px, #ffffff 280px, #ffffff 328px, var(--amarelo) 328px, var(--amarelo) 100%);
}

:root[data-theme="dark"] .seller-card,
:root[data-theme="dark"] .rating-step,
:root[data-theme="dark"] .service-rating-done {
  background: #101b2e;
  border-color: #26364f;
}

:root[data-theme="dark"] .seller-card {
  background:
    linear-gradient(180deg, var(--azul) 0, var(--azul) 68%, var(--azul-2) 100%) padding-box,
    linear-gradient(150deg, var(--amarelo) 0 18%, var(--azul) 18% 48%, var(--amarelo) 48% 62%, var(--azul) 62% 82%, var(--amarelo) 82% 100%) border-box;
  border-color: transparent;
}

:root[data-theme="dark"] .service-rating-done strong {
  color: #ffffff;
}

:root[data-theme="dark"] .seller-card strong {
  color: var(--azul);
}

:root[data-theme="dark"] .rating-step h2 {
  color: var(--azul);
}

:root[data-theme="dark"] .seller-card:has(input:checked) {
  box-shadow:
    0 0 0 3.6px rgba(255, 223, 0, 0.42),
    0 16.2px 30.6px rgba(0, 0, 0, 0.28);
}

:root[data-theme="dark"] .suggestion-choice label {
  background: #1b2b45;
  border: 1px solid #304362;
}

:root[data-theme="dark"] .suggestion-submit-button,
:root[data-theme="dark"] .suggestion-submit-button:hover,
:root[data-theme="dark"] .suggestion-submit-button:focus-visible {
  background: var(--azul) !important;
  border-color: rgba(255, 255, 255, 0.86) !important;
  box-shadow: 0 14px 26px rgba(3, 22, 49, 0.18) !important;
  color: var(--amarelo) !important;
  filter: none !important;
  transform: none !important;
}

:root[data-theme="dark"] .evaluation-filter-panel,
:root[data-theme="dark"] .evaluation-report-panel {
  background: #101b2e;
  border-color: #26364f;
}

:root[data-theme="dark"] .admin-avaliacoes .evaluation-filter-form label,
:root[data-theme="dark"] .evaluation-comments h3,
:root[data-theme="dark"] .evaluation-comments p {
  color: #ffffff;
}

:root[data-theme="dark"] .evaluation-comments article {
  background: #071225;
  border-color: #26364f;
}

:root[data-theme="dark"] .service-rating-total,
:root[data-theme="dark"] .service-report-summary div,
:root[data-theme="dark"] .service-report-comments article {
  background: #101b2e;
  border-color: #26364f;
}

:root[data-theme="dark"] .service-rating-total,
:root[data-theme="dark"] .service-report-summary strong,
:root[data-theme="dark"] .service-report-comments h3,
:root[data-theme="dark"] .service-report-comments p,
:root[data-theme="dark"] .service-report-month .panel-heading span {
  color: #ffffff;
}

:root[data-theme="dark"] .service-report-button {
  background: var(--azul-botao);
  color: #ffffff;
}

:root[data-theme="dark"] .file-pick-control {
  background: #071225;
  border-color: #26364f;
}

:root[data-theme="dark"] .employee-photo-picker {
  background: #071225;
}

:root[data-theme="dark"] .file-pick-text {
  background: #071225;
  color: var(--branco);
}

:root[data-theme="dark"] .employee-photo-picker .file-pick-text {
  background: #071225;
}

:root[data-theme="dark"] .home-page,
:root[data-theme="dark"] .login-page,
:root[data-theme="dark"] .public-login-body .login-page,
:root[data-theme="dark"] .public-login-page,
:root[data-theme="dark"] .purchase-public {
  background:
    linear-gradient(180deg, #010817 0, #071225 46%, #0d182a 46%);
}

:root[data-theme="dark"] .panel,
:root[data-theme="dark"] .metric-card,
:root[data-theme="dark"] .login-card,
:root[data-theme="dark"] .category-card,
:root[data-theme="dark"] .public-panel,
:root[data-theme="dark"] .admin-page .page-heading,
:root[data-theme="dark"] .purchase-public .page-heading,
:root[data-theme="dark"] .employee-card,
:root[data-theme="dark"] .role-row,
:root[data-theme="dark"] .commitment-block,
:root[data-theme="dark"] .day-card,
:root[data-theme="dark"] .advance-row {
  background: #101b2e;
  border-color: #26364f;
  color: #ffffff;
}

:root[data-theme="dark"] .login-card {
  border-bottom-color: var(--amarelo);
}

:root[data-theme="dark"] .admin-compromissos .day-card,
:root[data-theme="dark"] .admin-financas_pessoais .day-card {
  border-left-color: var(--amarelo);
}

:root[data-theme="dark"] .role-row {
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--cargo-cor) 60%, transparent), color-mix(in srgb, var(--cargo-cor) 22%, transparent) 58%, transparent 100%),
    #101b2e;
  border-left-color: var(--cargo-cor);
}

:root[data-theme="dark"] .employee-card {
  background:
    linear-gradient(100deg, var(--cargo-cor, var(--amarelo)) 0%, color-mix(in srgb, var(--cargo-cor, var(--amarelo)) 72%, transparent) 48%, color-mix(in srgb, var(--cargo-cor, var(--amarelo)) 54%, transparent) 100%);
  border-color: var(--cargo-cor, var(--amarelo));
  border-left-color: var(--cargo-cor, var(--amarelo));
}

:root[data-theme="dark"] .employee-schedule-day {
  background: #101b2e;
  border-color: #26364f;
}

:root[data-theme="dark"] .employee-schedule-day-header {
  background: #0e1a2c;
  border-color: #26364f;
}

:root[data-theme="dark"] .employee-schedule-day-header strong,
:root[data-theme="dark"] .employee-schedule-day-header span,
:root[data-theme="dark"] .employee-company-hours label,
:root[data-theme="dark"] .employee-schedule-row label,
:root[data-theme="dark"] .employee-schedule-name {
  color: #ffffff;
}

:root[data-theme="dark"] .employee-schedule-row {
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--cargo-cor, var(--amarelo)) 30%, #101b2e), #101b2e 64%);
  border-color: #26364f;
}

:root[data-theme="dark"] .employee-info p,
:root[data-theme="dark"] .employee-role-badge {
  color: var(--branco);
}

:root[data-theme="dark"] .admin-funcionarios .employee-actions .button-mini,
:root[data-theme="dark"] .admin-funcionarios .employee-actions .button-mini:hover,
:root[data-theme="dark"] .admin-funcionarios .employee-actions .button-mini:focus-visible {
  background: var(--azul-botao) !important;
  color: var(--branco) !important;
  filter: none !important;
}

:root[data-theme="dark"] .birthday-strip-title {
  color: var(--branco);
}

:root[data-theme="dark"] .birthday-chip {
  background: var(--amarelo);
  border-color: color-mix(in srgb, var(--amarelo) 72%, var(--azul));
  color: var(--azul);
}

:root[data-theme="dark"] .birthday-chip small {
  color: var(--azul);
}

:root[data-theme="dark"] .employee-profile-theme > .panel,
:root[data-theme="dark"] .employee-profile-theme .document-panel {
  background: #101b2e;
  border-color: #26364f;
  border-left-color: var(--cargo-cor, var(--amarelo));
}

:root[data-theme="dark"] .advance-metric {
  background: #152238;
  border-color: #2a3d5a;
  border-left-color: var(--amarelo);
}

:root[data-theme="dark"] .home-option:not(.primary) {
  background: #101b2e;
  border-color: #26364f;
  border-left-color: var(--amarelo);
  color: #ffffff;
}

:root[data-theme="dark"] .home-option.primary {
  background: var(--amarelo);
  color: var(--azul);
}

:root[data-theme="dark"] .home-option.primary span,
:root[data-theme="dark"] .home-option.primary small {
  color: var(--azul) !important;
}

:root[data-theme="dark"] .home-option small,
:root[data-theme="dark"] .home-option:not(.primary) small {
  color: #d8e6ff;
}

:root[data-theme="dark"] .module-home-option,
:root[data-theme="dark"] .module-home-option span,
:root[data-theme="dark"] .module-home-option small {
  color: #ffffff !important;
}

:root[data-theme="dark"] .purchase-public .page-heading h1 {
  color: #ffffff;
}

:root[data-theme="dark"] input,
:root[data-theme="dark"] select,
:root[data-theme="dark"] textarea,
:root[data-theme="dark"] .admin-form,
:root[data-theme="dark"] .product-picker-list,
:root[data-theme="dark"] .product-pick-row,
:root[data-theme="dark"] .purchase-item,
:root[data-theme="dark"] .commitment-item,
:root[data-theme="dark"] .day-item,
:root[data-theme="dark"] .document-row,
:root[data-theme="dark"] .supplier-profile-grid > div,
:root[data-theme="dark"] .signature-field,
:root[data-theme="dark"] .toggle-field,
:root[data-theme="dark"] .document-list,
:root[data-theme="dark"] .attachment-slot,
:root[data-theme="dark"] .inline-upload-form,
:root[data-theme="dark"] .attachments-form input[type="file"] {
  background: #152238;
  border-color: #2a3d5a;
  color: #ffffff;
}

:root[data-theme="dark"] .commitment-attachment-slot {
  background: #071225;
  border-color: #26364f;
  border-left-color: var(--amarelo);
}

:root[data-theme="dark"] .commitment-attachment-slot label {
  color: var(--branco);
}

:root[data-theme="dark"] .commitment-attachment-slot input {
  background: #071225;
  border-color: #26364f;
  color: var(--branco);
}

:root[data-theme="dark"] input:-webkit-autofill,
:root[data-theme="dark"] input:-webkit-autofill:hover,
:root[data-theme="dark"] input:-webkit-autofill:focus,
:root[data-theme="dark"] input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 1000px #152238 inset !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #2a3d5a !important;
  caret-color: #ffffff;
  color: #ffffff !important;
  transition: background-color 9999s ease-out 0s;
}

:root[data-theme="dark"] .admin-usuarios input[name="usuario"],
:root[data-theme="dark"] .admin-usuarios input[name="senha"] {
  background: #152238 !important;
  color: #ffffff !important;
}

:root[data-theme="dark"] .attachment-slot {
  border-left-color: var(--amarelo);
}

:root[data-theme="dark"] .attachment-slot legend {
  background: #152238;
  color: #ffffff;
}

:root[data-theme="dark"] .panel-heading,
:root[data-theme="dark"] .category-total-strip,
:root[data-theme="dark"] .history-summary,
:root[data-theme="dark"] .finance-summary-line,
:root[data-theme="dark"] .subbar,
:root[data-theme="dark"] .history-tabs {
  background: #0e1a2c;
  border-color: #26364f;
}

:root[data-theme="dark"] .admin-compromissos .commitment-title,
:root[data-theme="dark"] .admin-financas_pessoais .commitment-title {
  background: #071225;
  border-color: #26364f;
}

:root[data-theme="dark"] .admin-compromissos .commitment-title strong,
:root[data-theme="dark"] .admin-financas_pessoais .commitment-title strong {
  color: #ffffff !important;
}

:root[data-theme="dark"] .admin-compromissos .panel-heading h2,
:root[data-theme="dark"] .admin-compromissos .category-head h2,
:root[data-theme="dark"] .admin-compromissos .commitment-title span,
:root[data-theme="dark"] .admin-compromissos .finance-summary-line,
:root[data-theme="dark"] .admin-compromissos .finance-summary-line strong,
:root[data-theme="dark"] .admin-compromissos .commitment-meta,
:root[data-theme="dark"] .admin-compromissos .day-item span,
:root[data-theme="dark"] .admin-compromissos .day-item small,
:root[data-theme="dark"] .admin-compromissos .commitment-detail-grid strong,
:root[data-theme="dark"] .admin-compromissos .commitment-detail-grid p,
:root[data-theme="dark"] .admin-compromissos .commitment-details p,
:root[data-theme="dark"] .admin-compromissos .commitment-details small,
:root[data-theme="dark"] .admin-compromissos .commitment-details strong,
:root[data-theme="dark"] .admin-compromissos .commitment-description span,
:root[data-theme="dark"] .admin-financas_pessoais .panel-heading h2,
:root[data-theme="dark"] .admin-financas_pessoais .category-head h2,
:root[data-theme="dark"] .admin-financas_pessoais .commitment-title span,
:root[data-theme="dark"] .admin-financas_pessoais .finance-summary-line,
:root[data-theme="dark"] .admin-financas_pessoais .finance-summary-line strong,
:root[data-theme="dark"] .admin-financas_pessoais .commitment-meta,
:root[data-theme="dark"] .admin-financas_pessoais .day-item span,
:root[data-theme="dark"] .admin-financas_pessoais .day-item small,
:root[data-theme="dark"] .admin-financas_pessoais .commitment-detail-grid strong,
:root[data-theme="dark"] .admin-financas_pessoais .commitment-detail-grid p,
:root[data-theme="dark"] .admin-financas_pessoais .commitment-details p,
:root[data-theme="dark"] .admin-financas_pessoais .commitment-details small,
:root[data-theme="dark"] .admin-financas_pessoais .commitment-details strong,
:root[data-theme="dark"] .admin-financas_pessoais .commitment-description span,
:root[data-theme="dark"] .inline-upload-form label {
  color: #ffffff;
}

:root[data-theme="dark"] .admin-page .page-heading h1,
:root[data-theme="dark"] .metric-card span,
:root[data-theme="dark"] .metric-card strong,
:root[data-theme="dark"] .panel-heading h2,
:root[data-theme="dark"] .category-head h2,
:root[data-theme="dark"] .commitment-title span,
:root[data-theme="dark"] .product-pick-row strong,
:root[data-theme="dark"] .advance-row strong,
:root[data-theme="dark"] .advance-profile strong,
:root[data-theme="dark"] .admin-form label,
:root[data-theme="dark"] .public-category-toolbar h2 {
  color: #f8fbff;
}

:root[data-theme="dark"] .status.neutral,
:root[data-theme="dark"] .home-option.primary,
:root[data-theme="dark"] .cover-user a {
  background: var(--amarelo);
  color: var(--azul);
}

:root[data-theme="dark"] .public-bar a {
  background: var(--azul-botao);
  border-color: rgba(255, 255, 255, 0.28);
  color: var(--branco);
}

:root[data-theme="dark"] .public-bar a:hover {
  background: var(--amarelo);
  color: var(--azul);
}

:root[data-theme="dark"] .admin-compromissos .day-card h2,
:root[data-theme="dark"] .admin-compromissos .day-card > strong,
:root[data-theme="dark"] .admin-financas_pessoais .day-card h2,
:root[data-theme="dark"] .admin-financas_pessoais .day-card > strong {
  color: #ffffff;
}

:root[data-theme="dark"] .commitment-block {
  border-color: var(--amarelo);
  border-left-color: var(--amarelo);
  box-shadow: inset 0 0 0 1px rgba(255, 223, 0, 0.32), 0 12px 24px rgba(0, 0, 0, 0.22);
}

:root[data-theme="dark"] .commitment-title {
  border-left: 0;
}

:root[data-theme="dark"] .commitment-item,
:root[data-theme="dark"] .day-item {
  border-left-color: var(--amarelo);
}

:root[data-theme="dark"] .commitment-item.commitment-state-paid {
  background: color-mix(in srgb, var(--verde-fluor) 60%, #101b2e);
  border-color: color-mix(in srgb, var(--verde-fluor) 42%, #26364f);
  border-left-color: var(--verde-fluor);
}

:root[data-theme="dark"] .day-item.commitment-state-paid {
  background: color-mix(in srgb, var(--verde-fluor) 60%, #101b2e);
  border-color: color-mix(in srgb, var(--verde-fluor) 42%, #26364f);
  border-left-color: var(--verde-fluor);
}

:root[data-theme="dark"] .commitment-item.commitment-state-open {
  background: color-mix(in srgb, var(--amarelo) 60%, #101b2e);
  border-color: color-mix(in srgb, var(--amarelo) 42%, #26364f);
  border-left-color: var(--amarelo);
}

:root[data-theme="dark"] .day-item.commitment-state-open {
  background: color-mix(in srgb, var(--amarelo) 60%, #101b2e);
  border-color: color-mix(in srgb, var(--amarelo) 42%, #26364f);
  border-left-color: var(--amarelo);
}

:root[data-theme="dark"] .commitment-item.commitment-state-overdue {
  background: color-mix(in srgb, #ef4444 60%, #101b2e);
  border-color: color-mix(in srgb, #ef4444 42%, #26364f);
  border-left-color: #dc2626;
}

:root[data-theme="dark"] .day-item.commitment-state-overdue {
  background: color-mix(in srgb, #ef4444 60%, #101b2e);
  border-color: color-mix(in srgb, #ef4444 42%, #26364f);
  border-left-color: #dc2626;
}

:root[data-theme="dark"] .admin-encomendas .order-item.order-state-other-day {
  background: #d9dee7;
  border-color: #b8c0ce;
  border-left-color: #8f9aae;
}

:root[data-theme="dark"] .admin-encomendas .order-item.order-state-removed {
  background: #cfd6df;
  border-color: #aeb8c5;
  border-left-color: #64748b;
}

:root[data-theme="dark"] .admin-encomendas .order-item.order-state-late {
  background: #ef4444;
  border-color: #b91c1c;
  border-left-color: #7f1d1d;
}

:root[data-theme="dark"] .admin-encomendas .order-item.order-state-today {
  background: var(--amarelo);
  border-color: #d6a900;
  border-left-color: var(--amarelo);
}

:root[data-theme="dark"] .admin-encomendas .order-item.order-state-produced {
  background: var(--verde-fluor);
  border-color: #17b900;
  border-left-color: #0f7a00;
}

:root[data-theme="dark"] .admin-encomendas .order-item.order-state-delivered {
  background: #1280ff;
  border-color: #0758c9;
  border-left-color: var(--azul);
}

:root[data-theme="dark"] .admin-encomendas .order-item.order-state-late,
:root[data-theme="dark"] .admin-encomendas .order-item.order-state-delivered,
:root[data-theme="dark"] .admin-encomendas .order-item.order-state-late strong,
:root[data-theme="dark"] .admin-encomendas .order-item.order-state-late small,
:root[data-theme="dark"] .admin-encomendas .order-item.order-state-late .order-summary-meta,
:root[data-theme="dark"] .admin-encomendas .order-item.order-state-delivered strong,
:root[data-theme="dark"] .admin-encomendas .order-item.order-state-delivered small,
:root[data-theme="dark"] .admin-encomendas .order-item.order-state-delivered .order-summary-meta {
  color: #ffffff;
}

:root[data-theme="dark"] .admin-encomendas .order-item.order-state-today,
:root[data-theme="dark"] .admin-encomendas .order-item.order-state-produced,
:root[data-theme="dark"] .admin-encomendas .order-item.order-state-other-day,
:root[data-theme="dark"] .admin-encomendas .order-item.order-state-removed,
:root[data-theme="dark"] .admin-encomendas .order-item.order-state-today strong,
:root[data-theme="dark"] .admin-encomendas .order-item.order-state-produced strong,
:root[data-theme="dark"] .admin-encomendas .order-item.order-state-other-day strong,
:root[data-theme="dark"] .admin-encomendas .order-item.order-state-removed strong {
  color: var(--azul);
}

:root[data-theme="dark"] .admin-encomendas .order-item.order-state-produced,
:root[data-theme="dark"] .admin-encomendas .order-item.order-state-produced summary,
:root[data-theme="dark"] .admin-encomendas .order-item.order-state-produced summary *,
:root[data-theme="dark"] .admin-encomendas .order-item.order-state-produced .order-detail-grid,
:root[data-theme="dark"] .admin-encomendas .order-item.order-state-produced .order-detail-grid *,
:root[data-theme="dark"] .admin-encomendas .order-item.order-state-produced .order-items-table,
:root[data-theme="dark"] .admin-encomendas .order-item.order-state-produced .order-items-table * {
  color: var(--azul) !important;
}

:root[data-theme="dark"] .admin-encomendas .order-item.order-state-today .order-detail-grid,
:root[data-theme="dark"] .admin-encomendas .order-item.order-state-today .order-detail-grid *,
:root[data-theme="dark"] .admin-encomendas .order-item.order-state-today .order-items-table,
:root[data-theme="dark"] .admin-encomendas .order-item.order-state-today .order-items-table *,
:root[data-theme="dark"] .admin-encomendas .order-item.order-state-today .order-detail-card strong,
:root[data-theme="dark"] .admin-encomendas .order-item.order-state-today .order-detail-card p {
  color: var(--azul) !important;
}

:root[data-theme="dark"] .category-total-strip {
  border-top: 1px solid rgba(255, 223, 0, 0.32);
}

:root[data-theme="dark"] .purchase-public .public-category-card {
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--categoria-cor) 18%, transparent), transparent 40%),
    #101b2e;
  border-left-color: var(--categoria-cor);
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--categoria-cor) 38%, transparent),
    0 16px 28px rgba(0, 0, 0, 0.24);
}

:root[data-theme="dark"] .purchase-public .public-category-picker-page {
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--categoria-cor) 18%, transparent), transparent 40%),
    #101b2e;
  border-left-color: var(--categoria-cor);
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--categoria-cor) 38%, transparent),
    0 16px 28px rgba(0, 0, 0, 0.24);
}

:root[data-theme="dark"] .purchase-public .public-category-card .category-head {
  border-bottom-color: color-mix(in srgb, var(--amarelo) 58%, #26364f);
}

:root[data-theme="dark"] .purchase-public .public-category-picker-page .public-category-toolbar {
  border-bottom-color: color-mix(in srgb, var(--amarelo) 58%, #26364f);
}

:root[data-theme="dark"] .purchase-public .public-category-card .public-only-list .public-item,
:root[data-theme="dark"] .purchase-public .public-category-picker-page .product-pick-row {
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--categoria-cor, #2a3d5a) 20%, transparent), transparent 44%),
    #152238;
  border-color: color-mix(in srgb, var(--categoria-cor, #2a3d5a) 34%, #2a3d5a);
  border-left-color: var(--categoria-cor, #2a3d5a);
}

:root[data-theme="dark"] .purchase-public .public-category-card .empty-inline {
  background: color-mix(in srgb, var(--categoria-cor) 12%, #152238);
  border-color: color-mix(in srgb, var(--categoria-cor) 34%, #2a3d5a);
  border-left-color: var(--categoria-cor);
}

:root[data-theme="dark"] .stock-band {
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--categoria-cor) 16%, transparent), transparent 42%),
    linear-gradient(180deg, #ffffff, #f7faff) !important;
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--categoria-cor) 18%, transparent),
    0 8px 18px rgba(3, 22, 49, 0.05);
}

:root[data-theme="dark"] .stock-band-row td {
  background: color-mix(in srgb, var(--categoria-cor) 8%, var(--branco));
}

:root[data-theme="dark"] .stock-band-row-alert.stock-band-row-yellow {
  background:
    linear-gradient(90deg, rgba(255, 223, 0, 0.78) 0%, rgba(255, 223, 0, 0.44) 48%, rgba(255, 223, 0, 0.20) 100%),
    #ffdf00 !important;
}

:root[data-theme="dark"] .stock-band-row-alert.stock-band-row-red {
  background:
    linear-gradient(90deg, rgba(220, 38, 38, 0.54) 0%, rgba(220, 38, 38, 0.30) 48%, rgba(220, 38, 38, 0.14) 100%),
    #dc2626 !important;
}

:root[data-theme="dark"] .stock-band-row-alert td {
  background: transparent !important;
}

:root[data-theme="dark"] .stock-band-row-alert td:nth-child(-n + 4),
:root[data-theme="dark"] .stock-band-row-alert td:nth-child(-n + 4) strong {
  color: var(--azul);
}

:root[data-theme="dark"] .stock-band-row-alert small {
  color: var(--azul);
}

:root[data-theme="dark"] .admin-compras .automatic-shopping-table .stock-band-row-red td:nth-child(-n + 4),
:root[data-theme="dark"] .admin-compras .automatic-shopping-table .stock-band-row-red td:nth-child(-n + 4) strong,
:root[data-theme="dark"] .admin-compras .automatic-shopping-table .stock-band-row-red td:nth-child(-n + 4) small {
  color: #ffffff;
}

:root[data-theme="dark"] .stock-entry-row {
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--categoria-cor) 12%, transparent), transparent 42%),
    linear-gradient(180deg, #ffffff, #f7faff);
  border-color: color-mix(in srgb, var(--categoria-cor) 24%, var(--linha));
}

:root[data-theme="dark"] .stock-quantity-control {
  background: #101b2e;
  border-color: var(--azul);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07);
}

:root[data-theme="dark"] .stock-quantity-control input {
  color: var(--branco);
}

:root[data-theme="dark"] .stock-stepper {
  background:
    linear-gradient(180deg, #1b2b45, #121f34);
  border-left-color: var(--azul);
}

:root[data-theme="dark"] .stock-stepper button {
  background: transparent;
  color: var(--amarelo);
}

:root[data-theme="dark"] .admin-estoque .stock-stepper button {
  color: #ffffff;
}

:root[data-theme="dark"] .stock-stepper button + button {
  border-top-color: var(--azul);
}

:root[data-theme="dark"] .stock-stepper button:hover,
:root[data-theme="dark"] .stock-stepper button:focus-visible {
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--amarelo) 88%, #ffffff), var(--amarelo));
  color: var(--azul);
}

:root[data-theme="dark"] .admin-estoque .stock-stepper button,
:root[data-theme="dark"] .admin-estoque .stock-stepper button:hover,
:root[data-theme="dark"] .admin-estoque .stock-stepper button:focus-visible,
:root[data-theme="dark"] .admin-estoque .stock-stepper button::before,
:root[data-theme="dark"] .admin-estoque .stock-stepper button:hover::before,
:root[data-theme="dark"] .admin-estoque .stock-stepper button:focus-visible::before {
  color: #ffffff !important;
}

:root[data-theme="dark"] .admin-estoque .stock-stepper button::before,
:root[data-theme="dark"] .admin-estoque .stock-stepper button:hover::before,
:root[data-theme="dark"] .admin-estoque .stock-stepper button:focus-visible::before {
  border-color: #ffffff !important;
}

:root[data-theme="dark"] .stock-entry-row > button[type="submit"] {
  background: var(--amarelo);
  border-color: var(--amarelo);
  color: var(--azul);
}

:root[data-theme="dark"] .stock-entry-row > button[type="submit"]:hover,
:root[data-theme="dark"] .stock-entry-row > button[type="submit"]:focus-visible {
  background: var(--azul);
  border-color: var(--azul);
  color: var(--branco);
}

:root[data-theme="dark"] .admin-estoque .stock-entry-row > button[type="submit"]:hover,
:root[data-theme="dark"] .admin-estoque .stock-entry-row > button[type="submit"]:focus-visible {
  background: var(--azul) !important;
  border-color: var(--azul) !important;
  color: #ffffff !important;
  filter: none !important;
  transform: none !important;
}

:root[data-theme="dark"] .stock-entry-row.stock-band-row-alert .stock-entry-item strong,
:root[data-theme="dark"] .stock-entry-row.stock-band-row-alert .stock-entry-item small {
  color: var(--azul);
}

:root[data-theme="dark"] .admin-estoque .stock-entry-row.stock-band-row-red .stock-entry-item strong,
:root[data-theme="dark"] .admin-estoque .stock-entry-row.stock-band-row-red .stock-entry-item small {
  color: #ffffff !important;
}

:root[data-theme="dark"] .admin-estoque .stock-history-filter label {
  color: #ffffff !important;
}

:root[data-theme="dark"] .stock-entry-row.stock-band-row-alert {
  border-color: transparent;
  border-left-color: var(--faixa-cor);
}

:root[data-theme="dark"] .stock-entry-row-green {
  background:
    linear-gradient(90deg, rgba(38, 255, 0, 0.32) 0%, rgba(38, 255, 0, 0.18) 48%, rgba(38, 255, 0, 0.08) 100%),
    linear-gradient(180deg, #ffffff, #f7faff);
  border-left-color: #26ff00;
}

:root[data-theme="dark"] .stock-entry-row-empty {
  background:
    linear-gradient(90deg, rgba(100, 116, 139, 0.14) 0%, rgba(100, 116, 139, 0.08) 44%, transparent 100%),
    linear-gradient(180deg, #ffffff, #f7faff);
  border-left-color: #94a3b8;
}

:root[data-theme="dark"] .stock-entry-item strong {
  color: var(--azul);
}

:root[data-theme="dark"] .stock-entry-item small {
  color: var(--cinza);
}

:root[data-theme="dark"] .eyebrow,
:root[data-theme="dark"] .button-link.secondary,
:root[data-theme="dark"] .button-mini.secondary,
:root[data-theme="dark"] a:not(.button-link):not(.button-mini) {
  color: #9fd0ff;
}

:root[data-theme="dark"] .eyebrow {
  color: var(--branco);
}

:root[data-theme="dark"] .public-bar a {
  color: var(--branco);
}

:root[data-theme="dark"] .public-bar a:hover {
  color: var(--azul);
}

:root[data-theme="dark"] .module-subnav a:not(.active):not(:hover) {
  color: var(--branco) !important;
}

:root[data-theme="dark"] .module-subnav a.active,
:root[data-theme="dark"] .module-subnav a:hover {
  color: var(--azul) !important;
}

:root[data-theme="dark"] .button-mini,
:root[data-theme="dark"] .button-link,
:root[data-theme="dark"] button {
  color: var(--branco);
}

:root[data-theme="dark"] .return-to-list.button-mini.secondary {
  color: #ffffff !important;
}

:root[data-theme="dark"] .admin-password-actions button:not(.secondary) {
  color: #ffffff !important;
}

:root[data-theme="dark"] button:not(.danger-button):not(.trash-button):not(.theme-toggle):not(.button-mini),
:root[data-theme="dark"] .button-link:not(.secondary) {
  color: var(--azul);
}

:root[data-theme="dark"] button:not(.danger-button):not(.trash-button):hover,
:root[data-theme="dark"] .button-link:hover,
:root[data-theme="dark"] .button-mini:hover,
:root[data-theme="dark"] .nav-links a:hover,
:root[data-theme="dark"] .nav-links a.active,
:root[data-theme="dark"] .module-subnav a:hover,
:root[data-theme="dark"] .module-subnav a.active {
  color: var(--azul);
}

:root[data-theme="dark"] .admin-pagamento_funcionarios .button-mini.secondary,
:root[data-theme="dark"] .admin-pagamento_funcionarios .button-mini.secondary:hover,
:root[data-theme="dark"] .admin-pagamento_funcionarios .button-mini.secondary:focus-visible {
  color: var(--branco) !important;
}

:root[data-theme="dark"] .admin-historico button.button-mini.secondary,
:root[data-theme="dark"] .admin-historico button.button-mini.secondary:hover,
:root[data-theme="dark"] .admin-historico button.button-mini.secondary:focus-visible {
  color: #ffffff !important;
}

:root[data-theme="dark"] .admin-historico .history-tabs a:not(.active),
:root[data-theme="dark"] .admin-historico .history-tabs a:not(.active):hover,
:root[data-theme="dark"] .admin-historico .history-tabs a:not(.active):focus-visible {
  color: var(--branco) !important;
}

:root[data-theme="dark"] .admin-historico .history-tabs a.active {
  color: var(--azul) !important;
}

:root[data-theme="dark"] .admin-historico .history-category-report .history-category-total strong {
  color: #ffffff !important;
}

:root[data-theme="dark"] .admin-historico .history-product-summary,
:root[data-theme="dark"] .admin-historico .history-product-summary span,
:root[data-theme="dark"] .admin-historico .history-product-summary strong {
  color: #ffffff !important;
}

:root[data-theme="dark"] .admin-financas_pessoais .commitment-attachment-row .button-mini,
:root[data-theme="dark"] .admin-financas_pessoais .commitment-attachment-row .button-mini:hover,
:root[data-theme="dark"] .admin-financas_pessoais .commitment-attachment-row .button-mini:focus-visible,
:root[data-theme="dark"] .admin-financas_pessoais .finance-access-button,
:root[data-theme="dark"] .admin-financas_pessoais .finance-access-button:hover,
:root[data-theme="dark"] .admin-financas_pessoais .finance-access-button:focus-visible,
:root[data-theme="dark"] .admin-compromissos .commitment-attachment-row .button-mini,
:root[data-theme="dark"] .admin-compromissos .commitment-attachment-row .button-mini:hover,
:root[data-theme="dark"] .admin-compromissos .commitment-attachment-row .button-mini:focus-visible,
:root[data-theme="dark"] .admin-compromissos .finance-access-button,
:root[data-theme="dark"] .admin-compromissos .finance-access-button:hover,
:root[data-theme="dark"] .admin-compromissos .finance-access-button:focus-visible,
:root[data-theme="dark"] .payment-attachment-cell .button-mini,
:root[data-theme="dark"] .payment-attachment-cell .button-mini:hover,
:root[data-theme="dark"] .payment-attachment-cell .button-mini:focus-visible {
  color: var(--branco) !important;
  filter: none !important;
}

:root[data-theme="dark"] .eyebrow,
:root[data-theme="dark"] .vazio,
:root[data-theme="dark"] .empty-state,
:root[data-theme="dark"] .empty-inline,
:root[data-theme="dark"] .document-row span,
:root[data-theme="dark"] .document-row small,
:root[data-theme="dark"] .advance-row span,
:root[data-theme="dark"] .advance-row small,
:root[data-theme="dark"] .advance-profile small,
:root[data-theme="dark"] .public-category-toolbar p,
:root[data-theme="dark"] th {
  color: #b9c6d8;
}

:root[data-theme="dark"] .eyebrow {
  color: var(--branco);
}

:root[data-theme="dark"] td,
:root[data-theme="dark"] th {
  border-color: #26364f;
}

:root[data-theme="dark"] .payment-deleted-row td {
  background: transparent !important;
  border-color: #7f1d1d !important;
  color: #fecaca;
}

:root[data-theme="dark"] .payment-deleted-row {
  background:
    linear-gradient(90deg, rgba(220, 38, 38, 0.50) 0%, rgba(220, 38, 38, 0.25) 48%, rgba(220, 38, 38, 0.12) 100%),
    #7f1d1d !important;
}

:root[data-theme="dark"] .payment-signature-cell .button-mini {
  background: var(--azul);
  border-color: var(--azul);
  color: var(--branco) !important;
}

:root[data-theme="dark"] .payment-signature-cell .button-mini:hover,
:root[data-theme="dark"] .payment-signature-cell .button-mini:focus-visible {
  background: var(--amarelo);
  border-color: var(--amarelo);
  color: var(--azul) !important;
}

:root[data-theme="dark"] .signature-field canvas {
  background: #ffffff;
}

@media (max-width: 920px) {
  .purchase-public {
    padding-top: 132px;
  }

  .purchase-public .public-bar {
    align-items: stretch;
  }

  .public-category-toolbar,
  .advance-profile,
  .advance-row {
    align-items: stretch;
    grid-template-columns: 1fr;
  }

  .advance-metrics,
  .advance-profile-metrics {
    grid-template-columns: 1fr;
  }

  .advance-action-group {
    justify-content: stretch;
    justify-self: stretch;
  }

  .advance-action-group .advance-action-button {
    flex: 1 1 0;
    width: auto;
  }
}

/* Ajustes solicitados para login unico, modulos e telas operacionais */
.page-heading-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.module-subnav a {
  flex: 0 0 240px;
  justify-content: flex-start;
  padding-left: 54px;
  padding-right: 14px;
  text-align: left;
  width: 240px;
}

.public-bar-actions .public-home-button,
.public-home-button {
  align-items: center;
  background: var(--amarelo);
  border-radius: 8px;
  color: var(--azul);
  display: inline-flex;
  height: 46px;
  justify-content: center;
  min-width: 54px;
  padding: 0;
}

.public-home-button svg {
  fill: none;
  height: 25px;
  stroke: var(--azul);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.4;
  width: 25px;
}

.home-session-bar a,
.home-session-bar .home-secure-logout-button,
.cover-user .cover-logout-button,
.cover-user .cover-home-button,
.public-bar-actions .public-home-button,
.public-home-button,
.return-home-button {
  color: var(--azul) !important;
}

.public-home-button svg,
.cover-home-button svg,
.return-home-button svg {
  stroke: var(--azul) !important;
}

.public-product-picker-list {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.public-product-picker-list .product-pick-row {
  grid-template-columns: 1fr 72px;
  margin-top: 0;
  min-height: 88px;
}

.public-product-picker-list .product-pick-row strong {
  min-width: 0;
}

.public-product-picker-list .product-pick-row input[type="number"] {
  min-height: 38px;
  padding-inline: 8px;
  text-align: center;
}

.public-product-picker-list .product-pick-row button {
  min-height: 38px;
  min-width: 92px;
  padding: 8px 12px;
  width: auto;
}

.color-field {
  max-width: 160px;
}

.color-field input[type="color"] {
  min-height: 42px;
  padding: 4px;
}

.category-pill {
  align-items: center;
  display: inline-flex;
  font-weight: 900;
}

.product-category-row {
  box-shadow: inset 7px 0 0 var(--category-color, #2563eb);
}

.product-category-row td:first-child {
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--category-color, #2563eb) 60%, transparent),
    color-mix(in srgb, var(--category-color, #2563eb) 28%, transparent) 68%,
    transparent 100%
  );
}

.product-category-row .actions-cell > .button-mini,
.product-category-row .actions-cell > .button-mini:hover,
.product-category-row .actions-cell > .button-mini:focus-visible,
:root[data-theme="dark"] .product-category-row .actions-cell > .button-mini,
:root[data-theme="dark"] .product-category-row .actions-cell > .button-mini:hover,
:root[data-theme="dark"] .product-category-row .actions-cell > .button-mini:focus-visible {
  background: var(--azul-botao) !important;
  color: var(--branco) !important;
  filter: none !important;
}

.product-category-create-button,
.product-category-create-button:hover,
.product-category-create-button:focus-visible,
:root[data-theme="dark"] .product-category-create-button,
:root[data-theme="dark"] .product-category-create-button:hover,
:root[data-theme="dark"] .product-category-create-button:focus-visible {
  background: var(--amarelo) !important;
  border-color: var(--amarelo) !important;
  color: var(--azul) !important;
  filter: none !important;
}

:root[data-theme="dark"] .admin-produtos .product-category-edit-button,
:root[data-theme="dark"] .admin-produtos .product-category-edit-button:hover,
:root[data-theme="dark"] .admin-produtos .product-category-edit-button:focus-visible {
  background: var(--azul-botao) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 8px 18px rgba(3, 22, 49, 0.10) !important;
  color: var(--branco) !important;
  filter: none !important;
  transform: none !important;
}

.finance-category-row td:first-child {
  background: linear-gradient(90deg, var(--amarelo) 0%, rgba(255, 223, 0, 0.46) 48%, rgba(255, 223, 0, 0) 100%);
  box-shadow: inset 7px 0 0 var(--amarelo);
  padding-left: 18px;
}

.product-action-panel .admin-form {
  grid-template-columns: minmax(220px, 1.35fr) repeat(3, minmax(120px, .8fr));
}

.admin-produtos #categoria-produto.product-action-panel {
  border-left-color: var(--azul);
}

:root[data-theme="dark"] .admin-produtos #categoria-produto.product-action-panel {
  border-left-color: var(--amarelo);
}

.product-action-panel .product-category-form {
  align-items: end;
  grid-template-columns: minmax(160px, 205px) 78px minmax(320px, 360px);
}

.product-action-panel .product-category-form label.span-2 {
  grid-column: auto;
  max-width: 205px;
}

.product-action-panel .product-category-form input[type="text"] {
  min-height: 38px;
  padding: 7px 10px;
  width: 205px;
}

.product-action-panel .product-category-form input[type="color"] {
  min-height: 38px;
  padding: 4px;
}

.product-action-panel .product-category-form .company-association-field {
  align-self: end;
  grid-column: auto !important;
  justify-self: start;
}

.product-action-panel .product-category-form button[type="submit"] {
  min-height: 40px;
  min-width: 156px;
  padding: 0 14px;
}

.product-action-panel .panel-heading .product-category-back-button {
  min-height: 40px;
  max-width: 110px;
  min-width: 110px;
  padding: 0 12px;
  width: 110px;
}

@media (max-width: 920px) {
  .product-action-panel .product-category-form {
    grid-template-columns: 1fr;
  }

  .product-action-panel .product-category-form label.span-2,
  .product-action-panel .product-category-form input[type="text"],
  .product-action-panel .product-category-form button[type="submit"] {
    max-width: none;
    width: 100%;
  }

  .product-action-panel .product-category-form .company-association-field {
    grid-column: 1 / -1 !important;
  }
}

.product-action-panel .product-form {
  align-items: end;
  gap: 9px;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  padding: 14px;
}

.product-form label {
  font-size: 13px;
  min-width: 0;
}

.product-form input[type="text"],
.product-form input[type="number"],
.product-form select {
  min-height: 34px;
  padding: 6px 9px;
}

.product-form label:has(select[name="categoria_id"]) {
  grid-column: span 3;
}

.product-form label:has(input[name="nome"]) {
  grid-column: span 3;
}

.product-form label:has(select[name="unidade_padrao"]) {
  grid-column: span 2;
}

.product-form .compact-number-field {
  grid-column: span 2;
}

.product-form .toggle-field {
  align-self: end;
  grid-column: span 2;
  min-height: 34px;
  padding: 6px 9px;
}

.product-action-panel .product-form label:has(input[name="descricao"]) {
  grid-column: span 4;
}

.product-form .compact-number-field input {
  width: 100%;
}

.product-form .product-stock-control {
  grid-template-columns: minmax(0, 1fr) 52.5px;
  margin-top: 4px;
  min-height: 34px;
  width: 100%;
}

.product-form .product-stock-control input {
  min-height: 32px;
  padding: 6px 8px 6px 9px;
}

.product-form .product-stock-control .stock-stepper button {
  min-height: 0;
}

.product-form button[type="submit"] {
  grid-column: span 2;
  justify-self: stretch;
  min-height: 40px;
  min-width: 0;
  padding: 0 14px;
  width: 100%;
}

.employee-grid {
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.employee-card {
  gap: 12px;
  min-height: 0;
  padding: 14px;
}

.employee-photo {
  width: 82px;
}

.employee-info h2 {
  font-size: 20px;
  margin-bottom: 6px;
}

.employee-info p {
  margin: 4px 0;
}

.employee-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  width: 232px;
}

.employee-actions > a,
.employee-actions > form,
.employee-actions button {
  width: 100%;
}

.employee-actions .trash-button.icon-only {
  min-width: 0;
  width: 100%;
}

.actions-cell .success-action-button {
  border-radius: 8px !important;
  min-height: 38px;
  padding-inline: 12px;
}

.buy-form .success-action-button {
  border-radius: 8px !important;
}

.actions-cell .success-action-button {
  font-size: 0;
}

.actions-cell .success-action-button::after {
  content: "Comprado";
  font-size: 14px;
}

:root[data-theme="dark"] .admin-usuarios .permission-grid legend,
:root[data-theme="dark"] .supplier-button-grid legend,
:root[data-theme="dark"] .supplier-profile-grid strong,
:root[data-theme="dark"] .supplier-profile-grid p,
:root[data-theme="dark"] .supplier-profile-grid small,
:root[data-theme="dark"] .admin-fornecedores .panel-heading h2 {
  color: #ffffff;
}

.supplier-profile-grid > div,
.document-row,
.purchase-item {
  min-height: auto;
}

.supplier-button-grid,
.supplier-profile-grid {
  gap: 10px;
}

.admin-fornecedores .admin-form select,
.admin-fornecedores .admin-form input[type="text"],
.admin-fornecedores .admin-form input[type="email"],
.admin-fornecedores .admin-form input[type="number"] {
  min-height: 40px;
}

.admin-fornecedores .supplier-form {
  align-items: end;
  gap: 9px;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  padding: 14px;
}

.admin-fornecedores .panel:has(.supplier-form) {
  overflow: visible;
}

.admin-fornecedores .supplier-form label {
  font-size: 13px;
  grid-column: span 2;
  min-width: 0;
}

.admin-fornecedores .supplier-form input[type="text"],
.admin-fornecedores .supplier-form input[type="email"],
.admin-fornecedores .supplier-form select {
  min-height: 34px;
  padding: 6px 9px;
}

.admin-fornecedores .supplier-form select[multiple] {
  min-height: 112px;
  padding: 6px;
}

.admin-fornecedores .supplier-delivery-days-field {
  display: grid;
  gap: 6px;
  grid-column: span 3;
  min-width: 0;
  position: relative;
  z-index: 4;
}

.admin-fornecedores .supplier-delivery-days-field > span {
  color: #ffffff;
  font-size: 13px;
  font-weight: 800;
}

.admin-fornecedores .supplier-delivery-days-field details {
  position: relative;
}

.admin-fornecedores .supplier-delivery-days-field details[open] {
  z-index: 20;
}

.admin-fornecedores .supplier-delivery-days-field summary {
  align-items: center;
  background: var(--azul);
  border: 1px solid var(--linha);
  border-radius: 8px;
  color: #ffffff;
  cursor: pointer;
  display: flex;
  font-weight: 800;
  min-height: 34px;
  padding: 6px 9px;
}

.admin-fornecedores .supplier-delivery-days-field details[open] summary {
  border-color: var(--linha);
}

.admin-fornecedores .supplier-delivery-options {
  background: var(--azul);
  border: 1px solid var(--azul-2);
  border-radius: 8px;
  box-shadow: 0 14px 28px rgba(3, 31, 79, 0.16);
  left: 0;
  max-height: none;
  overflow-y: visible;
  padding: 7px 9px;
  position: absolute;
  right: 0;
  top: calc(100% + 6px);
  z-index: 30;
}

.admin-fornecedores .supplier-delivery-options label {
  align-items: center;
  color: #ffffff;
  display: flex;
  font-size: 13px;
  gap: 8px;
  grid-column: auto;
  min-height: 28px;
  padding: 5px 2px;
}

:root[data-theme="dark"] .admin-fornecedores .supplier-delivery-days-field > span,
:root[data-theme="dark"] .admin-fornecedores .supplier-delivery-days-field summary,
:root[data-theme="dark"] .admin-fornecedores .supplier-delivery-options label {
  color: #ffffff !important;
}

:root[data-theme="dark"] .admin-fornecedores .supplier-delivery-days-field summary,
:root[data-theme="dark"] .admin-fornecedores .supplier-delivery-options {
  background: var(--azul) !important;
}

.admin-fornecedores .supplier-delivery-options input {
  min-height: auto;
  width: auto;
}

.admin-fornecedores .supplier-form label:has(input[name="nome"]),
.admin-fornecedores .supplier-form label:has(input[name="email"]),
.admin-fornecedores .supplier-form label:has(input[name="vendedor_responsavel"]),
.admin-fornecedores .supplier-form label:has(input[name="horario_funcionamento"]) {
  grid-column: span 3;
}

.admin-fornecedores .supplier-form .supplier-address-field {
  grid-column: 1 / span 6;
}

.admin-fornecedores .supplier-form .supplier-delivery-notes-field,
.admin-fornecedores .supplier-form label:has(input[name="observacoes_entrega"]) {
  grid-column: span 6;
}

.admin-fornecedores .supplier-form button[type="submit"] {
  grid-column: 1 / span 3;
  justify-self: start;
  min-height: 36px;
  min-width: 156px;
  padding: 0 12px;
}

@media (max-width: 920px) {
  .admin-fornecedores .supplier-form {
    grid-template-columns: 1fr;
  }

  .admin-fornecedores .supplier-form label,
  .admin-fornecedores .supplier-form label:has(input[name="nome"]),
  .admin-fornecedores .supplier-form label:has(input[name="observacoes_entrega"]),
  .admin-fornecedores .supplier-form label:has(input[name="email"]),
  .admin-fornecedores .supplier-form label:has(input[name="vendedor_responsavel"]),
  .admin-fornecedores .supplier-form label:has(input[name="horario_funcionamento"]),
  .admin-fornecedores .supplier-form .supplier-address-field,
  .admin-fornecedores .supplier-form .supplier-delivery-notes-field,
  .admin-fornecedores .supplier-delivery-days-field,
  .admin-fornecedores .supplier-form label.span-2,
  .admin-fornecedores .supplier-form button[type="submit"] {
    grid-column: 1 / -1;
  }
}

.admin-fornecedores .panel-heading .button-mini,
.admin-fornecedores .panel-heading a,
.admin-fornecedores .supplier-association-tabs a {
  color: var(--azul) !important;
}

.admin-fornecedores .panel-heading .system-back-button,
.admin-fornecedores .panel-heading .system-back-button:hover,
.admin-fornecedores .panel-heading .system-back-button:focus-visible,
:root[data-theme="dark"] .admin-fornecedores .panel-heading .system-back-button,
:root[data-theme="dark"] .admin-fornecedores .panel-heading .system-back-button:hover,
:root[data-theme="dark"] .admin-fornecedores .panel-heading .system-back-button:focus-visible {
  color: var(--branco) !important;
}

.admin-fornecedores .panel-heading .supplier-profile-edit-button,
.admin-fornecedores .panel-heading .supplier-profile-edit-button:hover,
.admin-fornecedores .panel-heading .supplier-profile-edit-button:focus-visible,
:root[data-theme="dark"] .admin-fornecedores .panel-heading .supplier-profile-edit-button,
:root[data-theme="dark"] .admin-fornecedores .panel-heading .supplier-profile-edit-button:hover,
:root[data-theme="dark"] .admin-fornecedores .panel-heading .supplier-profile-edit-button:focus-visible {
  background: var(--azul) !important;
  border-color: var(--azul) !important;
  color: #ffffff !important;
}

:root[data-theme="dark"] .admin-fornecedores button:not(.danger-button):not(.trash-button):not(.theme-toggle):not(.button-mini),
:root[data-theme="dark"] .admin-fornecedores .button-link:not(.secondary),
:root[data-theme="dark"] .admin-fornecedores button:not(.danger-button):not(.trash-button):not(.theme-toggle):not(.button-mini):hover,
:root[data-theme="dark"] .admin-fornecedores button:not(.danger-button):not(.trash-button):not(.theme-toggle):not(.button-mini):focus-visible,
:root[data-theme="dark"] .admin-fornecedores .button-link:not(.secondary):hover,
:root[data-theme="dark"] .admin-fornecedores .button-link:not(.secondary):focus-visible {
  background: var(--amarelo) !important;
  color: var(--azul) !important;
  filter: none !important;
}

:root[data-theme="dark"] .admin-fornecedores .button-link.secondary,
:root[data-theme="dark"] .admin-fornecedores .button-mini,
:root[data-theme="dark"] .admin-fornecedores .button-link.secondary:hover,
:root[data-theme="dark"] .admin-fornecedores .button-link.secondary:focus-visible,
:root[data-theme="dark"] .admin-fornecedores .button-mini:hover,
:root[data-theme="dark"] .admin-fornecedores .button-mini:focus-visible {
  background: var(--azul-botao) !important;
  color: var(--branco) !important;
  filter: none !important;
}

:root[data-theme="dark"] .admin-fornecedores .history-tabs a:not(.active),
:root[data-theme="dark"] .admin-fornecedores .history-tabs a:not(.active):hover,
:root[data-theme="dark"] .admin-fornecedores .history-tabs a:not(.active):focus-visible {
  color: var(--branco) !important;
}

.monthly-paid-total,
.paid-total,
.commitment-paid-total {
  color: var(--verde-fluor) !important;
  font-size: clamp(30px, 4vw, 48px);
  text-shadow: 0 0 18px rgba(38, 255, 0, .28);
}

:root[data-theme="dark"] .login-card .brand h1 {
  color: #ffffff !important;
}

.admin-usuarios .actions-cell {
  display: grid;
  grid-template-columns: minmax(74px, 1fr) minmax(84px, 1fr) 38px;
  gap: 5px;
  min-width: 210px;
}

.admin-usuarios .actions-cell .button-mini,
.admin-usuarios .actions-cell button {
  font-size: 11px;
  min-height: 32px;
  min-width: 0;
  padding: 0 8px;
  width: 100%;
}

.admin-usuarios .actions-cell .user-edit-button,
.admin-usuarios .actions-cell .user-edit-button:hover,
.admin-usuarios .actions-cell .user-edit-button:focus-visible,
:root[data-theme="dark"] .admin-usuarios .actions-cell .user-edit-button,
:root[data-theme="dark"] .admin-usuarios .actions-cell .user-edit-button:hover,
:root[data-theme="dark"] .admin-usuarios .actions-cell .user-edit-button:focus-visible {
  background: var(--amarelo) !important;
  border-color: var(--amarelo) !important;
  color: var(--azul) !important;
  filter: none !important;
  transform: none !important;
}

.admin-usuarios .actions-cell .trash-button.icon-only {
  min-width: 38px;
  padding: 0;
}

@media (max-width: 980px) {
  .public-product-picker-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .cover-user {
    justify-content: flex-start;
  }

  .purchase-public {
    padding-top: 158px;
  }

  .purchase-public .public-bar {
    gap: 10px;
    min-height: 130px;
  }

  .public-product-picker-list,
  .public-category-grid,
  .product-action-panel .admin-form {
    grid-template-columns: 1fr;
  }

  .employee-grid {
    grid-template-columns: 1fr;
  }

  .employee-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .stock-entry-row {
    grid-template-columns: 1fr;
  }

  .stock-entry-list {
    grid-template-columns: 1fr;
  }

  .stock-entry-row > button[type="submit"],
  .stock-entry-row > input[type="number"],
  .stock-quantity-control {
    width: 100%;
  }

  .module-subnav a {
    flex: 1 1 100%;
    max-width: 100%;
    width: 100%;
  }

  .employee-birthday-strip {
    align-items: stretch;
    flex-wrap: nowrap;
    width: 100%;
  }

  .birthday-strip-title {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
  }
}

.public-shopping-heading h1 {
  font-size: clamp(30px, 4vw, 46px);
}

.public-shopping-user-bar {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  margin: 0 0 14px;
}

.public-shopping-user-bar .theme-toggle {
  flex: 0 0 70px;
  margin: 0;
  min-width: 70px;
  width: 70px;
}

.public-shopping-home-button,
.public-shopping-logout-button {
  align-items: center;
  background: var(--amarelo) !important;
  border: 2px solid var(--amarelo) !important;
  border-radius: 8px;
  color: var(--azul) !important;
  display: inline-flex;
  font-weight: 900;
  height: 44px;
  justify-content: center;
  min-height: 44px;
  text-decoration: none;
}

.public-shopping-home-button {
  flex: 0 0 44px;
  font-family: "Trebuchet MS", "Segoe UI", Arial, sans-serif;
  padding: 0;
  width: 44px;
}

.public-shopping-home-button span {
  color: var(--azul);
  font-size: 27px;
  font-weight: 900;
  line-height: 1;
}

.public-shopping-logout-button {
  min-width: 84px;
  padding: 0 16px;
}

.public-shopping-home-button:hover,
.public-shopping-home-button:focus-visible,
.public-shopping-logout-button:hover,
.public-shopping-logout-button:focus-visible {
  background: var(--amarelo) !important;
  border-color: var(--amarelo) !important;
  color: var(--azul) !important;
}

.public-shopping-list {
  display: grid;
  gap: 16px;
}

.public-shopping-category {
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--categoria-cor) 12%, transparent), transparent 42%),
    var(--branco);
  border-color: color-mix(in srgb, var(--categoria-cor) 28%, var(--linha));
  border-top: 4px solid var(--categoria-cor);
  border-right: 4px solid var(--categoria-cor);
  border-bottom: 4px solid var(--categoria-cor);
  border-left: 8px solid var(--categoria-cor);
}

.public-shopping-category-head {
  align-items: center;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--categoria-cor) 24%, transparent) 0%, color-mix(in srgb, var(--categoria-cor) 24%, transparent) 50%, transparent 100%);
  border-bottom: 1px solid color-mix(in srgb, var(--categoria-cor) 28%, var(--linha));
  display: flex;
  gap: 14px;
  justify-content: space-between;
  min-height: 64px;
  padding: 16px 18px;
}

.public-shopping-category-head h2 {
  color: var(--azul);
  font-size: 22px;
  line-height: 1.2;
  margin: 0;
}

.public-shopping-add-button,
.public-product-card button {
  align-items: center;
  background: var(--amarelo) !important;
  border: 2px solid var(--amarelo) !important;
  border-radius: 8px;
  color: var(--azul) !important;
  display: inline-flex;
  font-weight: 900;
  justify-content: center;
  min-height: 44px;
  min-width: 132px;
  padding: 0 16px;
  text-decoration: none;
}

.public-shopping-add-button:hover,
.public-shopping-add-button:focus-visible,
.public-product-card button:hover,
.public-product-card button:focus-visible {
  background: var(--amarelo) !important;
  border-color: var(--amarelo) !important;
  color: var(--azul) !important;
}

.public-shopping-back-button {
  align-items: center;
  background: var(--azul) !important;
  border: 2px solid var(--azul) !important;
  border-radius: 8px;
  color: #ffffff !important;
  display: inline-flex;
  font-weight: 900;
  justify-content: center;
  min-height: 44px;
  min-width: 112px;
  padding: 0 16px;
  text-decoration: none;
}

.public-shopping-back-button:hover,
.public-shopping-back-button:focus-visible {
  background: var(--azul) !important;
  border-color: var(--azul) !important;
  color: #ffffff !important;
}

.system-back-button,
.system-back-button:hover,
.system-back-button:focus-visible,
:root[data-theme="dark"] .system-back-button,
:root[data-theme="dark"] .system-back-button:hover,
:root[data-theme="dark"] .system-back-button:focus-visible {
  background: var(--azul) !important;
  border-color: var(--azul) !important;
  color: #ffffff !important;
  filter: none !important;
}

.system-save-button,
.system-save-button:hover,
.system-save-button:focus-visible,
:root[data-theme="dark"] .system-save-button,
:root[data-theme="dark"] .system-save-button:hover,
:root[data-theme="dark"] .system-save-button:focus-visible {
  background: var(--amarelo) !important;
  border-color: var(--amarelo) !important;
  color: var(--azul) !important;
  filter: none !important;
}

.cover-user .cover-home-button,
.cover-user .cover-home-button:hover,
.cover-user .cover-home-button:focus-visible,
:root[data-theme="dark"] .cover-user .cover-home-button,
:root[data-theme="dark"] .cover-user .cover-home-button:hover,
:root[data-theme="dark"] .cover-user .cover-home-button:focus-visible {
  background: var(--amarelo) !important;
  border-color: var(--amarelo) !important;
  color: var(--azul) !important;
  filter: none !important;
}

.cover-user .cover-home-button svg,
.cover-user .cover-home-button:hover svg,
.cover-user .cover-home-button:focus-visible svg,
:root[data-theme="dark"] .cover-user .cover-home-button svg,
:root[data-theme="dark"] .cover-user .cover-home-button:hover svg,
:root[data-theme="dark"] .cover-user .cover-home-button:focus-visible svg {
  stroke: var(--azul) !important;
}

.public-shopping-items {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 14px;
}

.public-shopping-item {
  display: grid;
  gap: 4px;
  align-items: center;
  grid-template-columns: minmax(0, 1fr) 42px;
  min-height: 54px;
  padding: 12px 14px 12px 18px;
}

.public-shopping-item strong,
.public-shopping-item small {
  color: var(--azul);
}

.public-shopping-item form {
  display: flex;
  justify-content: flex-end;
  margin: 0;
}

.public-shopping-remove-button {
  align-items: center;
  background: linear-gradient(135deg, #ef233c, #c9182b) !important;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 8px;
  color: #ffffff !important;
  display: inline-flex;
  height: 38px;
  justify-content: center;
  min-height: 38px;
  min-width: 38px;
  padding: 0;
  width: 38px;
}

.public-shopping-remove-button:hover,
.public-shopping-remove-button:focus-visible {
  background: linear-gradient(135deg, #ff3048, #b91324) !important;
  color: #ffffff !important;
}

.public-shopping-remove-button .trash-icon-svg {
  fill: none !important;
  height: 18px;
  stroke: #ffffff !important;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 18px;
}

.public-shopping-remove-button .trash-icon-svg path {
  fill: none !important;
  stroke: #ffffff !important;
}

.public-shopping-empty {
  color: var(--cinza);
  font-weight: 900;
  padding: 16px;
}

.public-product-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 16px;
}

.public-product-card {
  align-items: center;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--categoria-cor) 18%, transparent), transparent 48%),
    linear-gradient(180deg, #ffffff, #f7faff);
  border: 1px solid color-mix(in srgb, var(--categoria-cor) 30%, var(--linha));
  border-left: 8px solid var(--categoria-cor);
  border-radius: 8px;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) 104px;
  min-height: 68px;
  padding: 12px;
}

.public-product-card strong {
  color: var(--azul);
  font-size: 16px;
  line-height: 1.25;
}

.public-product-card small {
  color: var(--cinza);
  font-weight: 900;
}

.public-product-card form {
  margin: 0;
}

.public-product-card button {
  min-height: 38px;
  min-width: 104px;
  padding: 0 10px;
  width: 100%;
}

.public-product-card.is-added {
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--categoria-cor) 45%, transparent);
  opacity: 0.78;
}

.public-product-card.is-added button,
.public-product-card.is-added button:hover,
.public-product-card.is-added button:focus-visible {
  cursor: default;
}

:root[data-theme="dark"] .public-shopping-category {
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--categoria-cor) 28%, #101b31) 0%, #0f1b30 58%),
    #0f1b30;
  border-color: color-mix(in srgb, var(--categoria-cor) 46%, #243653);
  border-top-color: var(--categoria-cor);
  border-right-color: var(--categoria-cor);
  border-bottom-color: var(--categoria-cor);
  border-left-color: var(--categoria-cor);
}

:root[data-theme="dark"] .public-shopping-category-head h2,
:root[data-theme="dark"] .public-shopping-item strong,
:root[data-theme="dark"] .public-shopping-item small,
:root[data-theme="dark"] .public-product-card strong {
  color: #ffffff;
}

:root[data-theme="dark"] .admin-encomendas .order-items-fieldset,
:root[data-theme="dark"] .admin-encomendas .order-items-fieldset legend,
:root[data-theme="dark"] .admin-encomendas .order-items-fieldset label {
  color: #ffffff;
}

:root[data-theme="dark"] .admin-encomendas .order-add-item-button,
:root[data-theme="dark"] .admin-encomendas .order-add-item-button:hover,
:root[data-theme="dark"] .admin-encomendas .order-add-item-button:focus-visible {
  background: var(--amarelo) !important;
  border-color: var(--azul) !important;
  color: var(--azul) !important;
  filter: none !important;
  transform: none !important;
}

:root[data-theme="dark"] .admin-encomendas .order-summary-main strong {
  color: #ffffff;
}

:root[data-theme="dark"] .public-shopping-category-head {
  border-bottom-color: color-mix(in srgb, var(--categoria-cor) 56%, #2d3f61);
}

:root[data-theme="dark"] .public-shopping-item.stock-band {
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--categoria-cor) 44%, #111d33) 0%, color-mix(in srgb, var(--categoria-cor) 24%, #111d33) 48%, #111d33 100%) !important;
  border-color: color-mix(in srgb, var(--categoria-cor) 58%, #2d3f61) !important;
  box-shadow:
    inset 8px 0 0 var(--categoria-cor),
    inset 0 0 0 1px color-mix(in srgb, var(--categoria-cor) 22%, transparent),
    0 8px 18px rgba(0, 0, 0, 0.16);
}

:root[data-theme="dark"] .admin-compras .stock-band-row:not(.stock-band-row-alert) td {
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--categoria-cor) 34%, #111d33), color-mix(in srgb, var(--categoria-cor) 16%, #111d33) 58%, #111d33 100%) !important;
  color: #ffffff;
}

:root[data-theme="dark"] .admin-compras .stock-band-row:not(.stock-band-row-alert) td:first-child {
  box-shadow: inset 8px 0 0 var(--categoria-cor);
}

.admin-compras .current-shopping-table .stock-band-row:not(.stock-band-row-alert) td:first-child,
:root[data-theme="dark"] .admin-compras .current-shopping-table .stock-band-row:not(.stock-band-row-alert) td:first-child {
  box-shadow: none !important;
}

:root[data-theme="dark"] .admin-compras .stock-band-row:not(.stock-band-row-alert) td strong,
:root[data-theme="dark"] .admin-compras .stock-band-row:not(.stock-band-row-alert) td small {
  color: #ffffff;
}

:root[data-theme="dark"] .public-product-card {
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--categoria-cor) 24%, transparent), transparent 50%),
    #111d33;
}

@media (max-width: 920px) {
  .public-shopping-items,
  .public-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .public-shopping-category-head {
    align-items: stretch;
    flex-direction: column;
  }

  .public-shopping-user-bar {
    justify-content: flex-start;
  }

  .public-shopping-add-button,
  .public-shopping-back-button {
    width: 100%;
  }

  .public-product-grid {
    grid-template-columns: 1fr;
  }

  .public-shopping-items {
    grid-template-columns: 1fr;
  }

  .public-product-card {
    grid-template-columns: 1fr;
  }

  .public-product-card button {
    width: 100%;
  }
}

@media (max-width: 920px) {
  .product-action-panel .product-form,
  .product-form label,
  .product-form .compact-number-field,
  .product-form .toggle-field,
  .product-form label:has(select[name="categoria_id"]),
  .product-form label:has(input[name="nome"]),
  .product-form label:has(select[name="unidade_padrao"]),
  .product-form label:has(input[name="descricao"]),
  .product-form button[type="submit"] {
    grid-column: 1 / -1;
  }

  .product-action-panel .product-form {
    grid-template-columns: 1fr;
  }
}

.finance-commitment-form,
.finance-search-form,
.advance-form-pagamento,
.admin-usuarios .user-form,
.business-doc-form,
.business-attachment-form,
.employee-form,
.history-search .history-search-form,
.stock-history-filter,
.sales-history-filter,
.stock-report-filter {
  align-items: end;
  gap: 9px;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  padding: 14px;
}

.finance-commitment-form label,
.finance-search-form label,
.advance-form-pagamento label,
.admin-usuarios .user-form label,
.business-doc-form label,
.business-attachment-form label,
.employee-form label,
.history-search .history-search-form label,
.stock-history-filter label,
.sales-history-filter label,
.stock-report-filter label {
  font-size: 13px;
  min-width: 0;
}

.finance-commitment-form input,
.finance-commitment-form select,
.finance-commitment-form textarea,
.finance-search-form input,
.finance-search-form select,
.advance-form-pagamento input,
.advance-form-pagamento select,
.advance-form-pagamento .file-pick-control,
.admin-usuarios .user-form input,
.admin-usuarios .user-form select,
.business-doc-form input,
.business-doc-form select,
.business-doc-form textarea,
.business-attachment-form input,
.business-attachment-form select,
.business-attachment-form textarea,
.business-attachment-form .file-pick-control,
.employee-form input,
.employee-form select,
.employee-form textarea,
.employee-form .file-pick-control,
.history-search .history-search-form input,
.history-search .history-search-form select,
.stock-history-filter input,
.stock-history-filter select,
.sales-history-filter input,
.sales-history-filter select,
.stock-report-filter input,
.stock-report-filter select {
  min-height: 34px;
  padding: 6px 9px;
}

.finance-commitment-form textarea,
.business-doc-form textarea,
.business-attachment-form textarea,
.employee-form textarea {
  min-height: 58px;
}

.finance-commitment-form button[type="submit"],
.finance-search-form button,
.advance-form-pagamento button[type="submit"],
.admin-usuarios .user-form > button[type="submit"],
.business-doc-form button[type="submit"],
.business-attachment-form .submit-attachments-button,
.employee-form > button[type="submit"],
.history-search .history-search-form button,
.stock-history-filter button,
.sales-history-filter button,
.stock-report-filter button {
  min-height: 40px;
  padding: 0 14px;
}

.finance-search-panel .finance-search-form {
  grid-template-columns: minmax(220px, 1fr) 150px 170px 170px 118px;
}

.finance-search-panel .finance-search-form input[type="search"],
.finance-search-panel .finance-search-form select,
.finance-search-panel .finance-search-form .history-date-control,
.finance-search-panel .finance-search-form .history-date-control > input[data-mask="date"],
.finance-search-panel .finance-search-form button[type="submit"] {
  box-sizing: border-box;
  height: 42px !important;
  min-height: 42px !important;
}

.finance-search-panel .finance-search-form input[type="search"],
.finance-search-panel .finance-search-form select,
.finance-search-panel .finance-search-form .history-date-control > input[data-mask="date"] {
  padding: 9px 10px !important;
}

.finance-search-panel .finance-search-form button[type="submit"] {
  padding: 9px 14px !important;
}

.finance-search-panel .finance-search-form .history-date-control {
  max-width: 170px;
  width: 170px;
}

.finance-search-panel .finance-search-form button[type="submit"] {
  justify-self: end;
  width: 118px;
}

.business-attachment-form .single-attachment-slot {
  gap: 9px;
  padding: 14px;
}

.business-attachment-form .single-attachment-slot legend {
  font-size: 13px;
}

.advance-form-pagamento {
  align-items: end;
  grid-template-columns: 154px minmax(24px, 1fr) 220px auto auto;
}

.advance-form-pagamento .payment-date-placeholder {
  display: none;
}

.advance-form-pagamento .payment-field-value {
  grid-column: 1;
  justify-self: start;
  max-width: 154px;
  width: 154px;
}

.advance-form-pagamento .payment-field-attachment {
  align-self: end;
  grid-column: 3;
  justify-self: start;
  max-width: 220px;
  width: 220px;
}

.advance-form-pagamento .payment-field-attachment .file-pick-control {
  box-sizing: border-box;
  grid-template-columns: 32px minmax(0, 1fr);
  min-height: 42px;
  height: 42px;
  overflow: hidden;
  padding: 0 10px 0 0;
}

.advance-form-pagamento .payment-field-attachment .file-pick-control input[type="file"] {
  width: 100%;
}

.advance-form-pagamento .payment-field-attachment .file-pick-button {
  min-height: 32px;
  min-width: 32px;
  width: 32px;
}

.advance-form-pagamento .payment-field-attachment .file-pick-button.icon-attachment {
  background-size: 18px 18px;
}

.advance-form-pagamento .signature-actions {
  align-self: end;
  display: block;
  gap: 9px;
  grid-column: 4;
  justify-self: start;
  width: auto;
}

.advance-form-pagamento .signature-actions .button-mini {
  border-radius: 8px;
  min-height: 42px;
  width: auto;
}

.advance-form-pagamento button[type="submit"] {
  align-self: end;
  border-radius: 8px !important;
  grid-column: 5;
  justify-self: start;
  min-height: 42px;
  width: auto;
}

.admin-pagamento_funcionarios .advance-action-button,
.admin-pagamento_funcionarios .advance-action-button:hover,
.admin-pagamento_funcionarios .advance-action-button:focus-visible,
.admin-pagamento_funcionarios .advance-form-pagamento .payment-submit-button,
.admin-pagamento_funcionarios .advance-form-pagamento .payment-submit-button:hover,
.admin-pagamento_funcionarios .advance-form-pagamento .payment-submit-button:focus-visible,
:root[data-theme="dark"] .admin-pagamento_funcionarios .advance-action-button,
:root[data-theme="dark"] .admin-pagamento_funcionarios .advance-action-button:hover,
:root[data-theme="dark"] .admin-pagamento_funcionarios .advance-action-button:focus-visible,
:root[data-theme="dark"] .admin-pagamento_funcionarios .advance-form-pagamento .payment-submit-button,
:root[data-theme="dark"] .admin-pagamento_funcionarios .advance-form-pagamento .payment-submit-button:hover,
:root[data-theme="dark"] .admin-pagamento_funcionarios .advance-form-pagamento .payment-submit-button:focus-visible {
  background: linear-gradient(180deg, var(--verde-fluor), var(--verde-fluor-2)) !important;
  border-color: #17b900 !important;
  border-style: solid !important;
  border-width: 2px !important;
  border-radius: 8px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35), 0 10px 18px rgba(57, 255, 20, 0.24) !important;
  color: var(--azul) !important;
  letter-spacing: 0;
}

.admin-pagamento_funcionarios .advance-row {
  border-left-color: var(--cargo-cor, var(--amarelo)) !important;
  gap: 12px;
  grid-template-columns: 76px minmax(175px, 0.72fr) minmax(0, 1.8fr) 117px;
  padding: 12px 14px;
}

.admin-pagamento_funcionarios .advance-metrics {
  gap: 8px;
  grid-template-columns: repeat(4, minmax(136px, 1fr));
}

.admin-pagamento_funcionarios .advance-metric {
  min-height: 68px;
  padding: 9px 11px;
}

.admin-pagamento_funcionarios .advance-metric small {
  line-height: 1.15;
}

.admin-pagamento_funcionarios .advance-action-group {
  justify-self: stretch;
}

.admin-pagamento_funcionarios .advance-action-button,
.admin-pagamento_funcionarios .advance-action-button:hover,
.admin-pagamento_funcionarios .advance-action-button:focus-visible,
:root[data-theme="dark"] .admin-pagamento_funcionarios .advance-action-button,
:root[data-theme="dark"] .admin-pagamento_funcionarios .advance-action-button:hover,
:root[data-theme="dark"] .admin-pagamento_funcionarios .advance-action-button:focus-visible {
  border-radius: 8px !important;
  min-width: 117px;
  width: 117px;
}

.admin-pagamento_funcionarios .advance-action-button:hover,
.admin-pagamento_funcionarios .advance-action-button:focus-visible,
.admin-pagamento_funcionarios .advance-form-pagamento .payment-submit-button:hover,
.admin-pagamento_funcionarios .advance-form-pagamento .payment-submit-button:focus-visible,
:root[data-theme="dark"] .admin-pagamento_funcionarios .advance-action-button:hover,
:root[data-theme="dark"] .admin-pagamento_funcionarios .advance-action-button:focus-visible,
:root[data-theme="dark"] .admin-pagamento_funcionarios .advance-form-pagamento .payment-submit-button:hover,
:root[data-theme="dark"] .admin-pagamento_funcionarios .advance-form-pagamento .payment-submit-button:focus-visible {
  filter: brightness(1.02);
  transform: translateY(-1px);
}

.advance-form-pagamento .signature-field {
  grid-column: 1 / -1;
}

.admin-usuarios .user-form {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.admin-usuarios .user-field-name,
.admin-usuarios .user-field-login,
.admin-usuarios .user-field-password,
.admin-usuarios .user-field-company,
.admin-usuarios .user-field-type {
  grid-column: span 3;
}

.admin-usuarios .user-form .permission-grid {
  grid-column: 1 / -1;
}

.admin-usuarios .user-form > button[type="submit"] {
  grid-column: span 3;
  justify-self: stretch;
  min-width: 0;
  width: 100%;
}

.admin-usuarios .user-form > .user-create-button {
  justify-self: start;
  width: 70%;
}

.admin-usuarios .permission-grid .user-session-timeout-field {
  flex-wrap: wrap;
}

.admin-usuarios .user-session-timeout-control {
  flex: 0 0 138px;
  grid-template-columns: minmax(0, 1fr) 44px;
  min-height: 40px;
  width: 138px;
}

.admin-usuarios .user-session-timeout-control > input {
  min-height: 38px;
  padding: 6px 8px;
  width: 100%;
}

.history-search .history-search-form {
  grid-template-columns: 142px minmax(140px, 0.72fr) 148px 148px minmax(12px, 1fr) 112px 132px;
}

.history-search .history-search-form > button[type="submit"] {
  grid-column: 7;
  margin-left: 0;
}

.history-search .history-search-form > button[name="relatorio"] {
  grid-column: 6;
  min-width: 0;
}

.history-category-report > .panel-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
}

.history-category-report > .panel-heading > span:not(.history-category-total) {
  justify-self: center;
  text-align: center;
}

.history-category-report .history-category-total {
  justify-self: end;
  text-align: right;
}

.stock-history-filter {
  display: grid;
}

.panel-heading .stock-history-filter {
  align-items: end;
  display: grid;
  gap: 9px;
  grid-template-columns: 126px minmax(180px, 260px) 128px 128px 84px auto;
  justify-content: end;
  margin-left: auto;
  min-width: 0;
  padding: 0;
}

.panel-heading .stock-history-filter label {
  gap: 4px;
  min-width: 0;
}

.panel-heading .stock-history-filter input,
.panel-heading .stock-history-filter select {
  width: 100%;
}

.panel-heading .stock-history-filter button,
.panel-heading .stock-history-filter .button-mini {
  align-self: end;
  min-height: 34px;
  min-width: 0;
  padding: 0 12px;
  width: 100%;
}

.stock-report-filter {
  display: grid;
  grid-template-columns: minmax(180px, 260px) 132px minmax(16px, 1fr) 132px 132px;
}

.stock-report-filter label,
.stock-report-filter .history-date-control,
.stock-report-filter button {
  min-width: 0;
}

.stock-report-filter .history-date-control {
  height: 34px;
}

.stock-report-filter button {
  min-height: 40px;
  padding: 0 14px;
  width: 100%;
}

.stock-report-panel .panel-heading {
  align-items: center;
}

.stock-report-panel td:nth-child(3),
.stock-report-panel td:nth-child(4),
.stock-report-panel td:nth-child(5),
.stock-report-panel th:nth-child(3),
.stock-report-panel th:nth-child(4),
.stock-report-panel th:nth-child(5) {
  text-align: center;
}

@media (max-width: 920px) {
  .finance-commitment-form,
  .finance-search-form,
  .advance-form-pagamento,
  .admin-usuarios .user-form,
  .business-doc-form,
  .business-attachment-form,
  .employee-form,
  .history-search .history-search-form,
  .stock-history-filter,
  .stock-report-filter {
    grid-template-columns: 1fr;
  }

  .admin-pagamento_funcionarios .advance-row,
  .admin-pagamento_funcionarios .advance-metrics {
    grid-template-columns: 1fr;
  }

  .admin-pagamento_funcionarios .advance-action-group {
    justify-self: stretch;
  }

  .admin-pagamento_funcionarios .advance-action-group .advance-action-button {
    min-width: 0;
    width: 100%;
  }

  .finance-commitment-form > *,
  .finance-search-form > *,
  .advance-form-pagamento > *,
  .admin-usuarios .user-form > *,
  .business-doc-form > *,
  .business-attachment-form > *,
  .business-attachment-form .single-attachment-slot > *,
  .employee-form > *,
  .history-search .history-search-form > *,
  .stock-history-filter > *,
  .stock-report-filter > * {
    grid-column: 1 / -1 !important;
  }

  .panel-heading:has(.stock-history-filter) {
    align-items: stretch;
    flex-direction: column;
  }

  .panel-heading .stock-history-filter {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: stretch;
    margin-left: 0;
    width: 100%;
  }

  .panel-heading .stock-history-filter > * {
    grid-column: auto !important;
  }

  .stock-report-filter-spacer {
    display: none;
  }
}

@media (max-width: 520px) {
  .panel-heading .stock-history-filter {
    grid-template-columns: 1fr;
  }
}

@media print {
  @page {
    margin: 8mm;
    size: A4 portrait;
  }

  .admin-cover,
  .admin-nav,
  .module-subnav,
  .no-print,
  .theme-toggle {
    display: none !important;
  }

  .admin-main,
  .admin-page .page-heading,
  .panel {
    box-shadow: none !important;
    width: 100% !important;
  }

  .admin-main {
    min-height: auto !important;
    padding: 0 !important;
  }

  .admin-avaliacoes {
    background: #ffffff !important;
    color: #02163a !important;
    font-size: 9pt;
    line-height: 1.18;
  }

  .admin-avaliacoes .page-heading {
    margin: 0 0 5px !important;
    min-height: 0 !important;
    padding: 0 0 5px !important;
  }

  .admin-avaliacoes .page-heading .eyebrow,
  .admin-avaliacoes .page-heading > div > p:last-child {
    display: none !important;
  }

  .admin-avaliacoes .page-heading h1 {
    font-size: 17pt !important;
    line-height: 1 !important;
    margin: 0 !important;
  }

  .admin-avaliacoes .evaluation-report-panel {
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .admin-avaliacoes .evaluation-report-panel > .panel-heading {
    min-height: 0 !important;
    padding: 4px 0 6px !important;
  }

  .admin-avaliacoes .evaluation-report-panel > .panel-heading h2 {
    font-size: 12pt !important;
    line-height: 1.1 !important;
    margin: 0 !important;
  }

  .admin-avaliacoes .evaluation-summary {
    gap: 4px;
    grid-template-columns: repeat(auto-fit, minmax(95px, 1fr));
    padding: 0 0 6px;
  }

  .admin-avaliacoes .evaluation-summary div {
    background: #ffffff !important;
    border-color: var(--amarelo) !important;
    border-width: 1px;
    border-radius: 3px;
    color: var(--azul) !important;
    gap: 2px;
    min-height: 0;
    padding: 5px 6px;
  }

  .admin-avaliacoes .evaluation-summary small {
    color: var(--azul) !important;
    font-size: 7pt;
  }

  .admin-avaliacoes .evaluation-summary strong {
    color: var(--azul) !important;
    font-size: 10pt;
    line-height: 1.08;
  }

  .admin-avaliacoes .evaluation-comments {
    gap: 4px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 0;
  }

  .admin-avaliacoes .evaluation-comments h3 {
    font-size: 10pt;
    grid-column: 1 / -1;
    line-height: 1;
    margin: 2px 0 1px;
  }

  .admin-avaliacoes .evaluation-comments > .empty-state {
    grid-column: 1 / -1;
  }

  .admin-avaliacoes .evaluation-comments article {
    background: #ffffff !important;
    border-color: var(--amarelo) !important;
    border-left-width: 3px;
    border-radius: 2px;
    gap: 3px;
    padding: 5px 6px;
  }

  .admin-avaliacoes .evaluation-comments article > div {
    gap: 4px;
  }

  .admin-avaliacoes .evaluation-comments p {
    color: var(--azul) !important;
    font-size: 8.5pt;
    line-height: 1.18;
  }

  .admin-avaliacoes .evaluation-comments time,
  .admin-avaliacoes .evaluation-comments span,
  .admin-avaliacoes .evaluation-comments small {
    color: var(--azul) !important;
    font-size: 7.5pt;
    line-height: 1.1;
  }

  .evaluation-summary div,
  .evaluation-comments article {
    break-inside: avoid;
  }

  .admin-historico {
    background: #ffffff !important;
    color: #02163a !important;
    font-size: 8pt;
    line-height: 1.12;
  }

  .admin-historico .history-report-panel,
  .admin-historico .history-report-panel * {
    color: var(--azul) !important;
  }

  .admin-historico.history-report-print .page-heading,
  .admin-historico.history-report-print .history-search,
  .admin-historico.history-report-print .panel:not(.history-report-panel) {
    display: none !important;
  }

  .admin-historico .history-report-panel {
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .admin-historico .history-category-report .panel-heading {
    background: #ffffff !important;
    border-bottom: 2px solid var(--amarelo) !important;
    min-height: 0 !important;
    padding: 0 0 5px !important;
  }

  .admin-historico .history-category-report .panel-heading h2 {
    color: var(--azul) !important;
    font-size: 14pt !important;
    line-height: 1 !important;
    margin: 0 !important;
  }

  .admin-historico .history-category-report .panel-heading span {
    color: var(--azul) !important;
    font-size: 8pt !important;
    font-weight: 900;
  }

  .admin-historico .history-category-report .history-summary {
    gap: 4px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    padding: 6px 0 !important;
  }

  .admin-historico .history-category-report .history-summary span {
    border: 1px solid var(--linha) !important;
    border-left: 4px solid var(--amarelo) !important;
    min-height: 0 !important;
    padding: 4px 6px !important;
  }

  .admin-historico .history-category-report .history-summary strong {
    font-size: 9pt !important;
    line-height: 1.05 !important;
  }

  .admin-historico .history-report-panel .table-wrap {
    overflow: visible !important;
  }

  .admin-historico .history-report-panel table {
    border-collapse: collapse !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  .admin-historico .history-report-panel th,
  .admin-historico .history-report-panel td {
    border-bottom: 1px solid #d8e0ec !important;
    font-size: 7.4pt !important;
    line-height: 1.08 !important;
    padding: 3px 4px !important;
    white-space: normal !important;
  }

  .admin-historico .history-report-panel th {
    background: #eef2f7 !important;
    color: var(--azul) !important;
  }

  .admin-historico .history-report-panel td strong {
    color: var(--azul) !important;
  }

  .admin-estoque.stock-report-print {
    background: #ffffff !important;
    color: var(--azul) !important;
    font-size: 8pt;
    line-height: 1.12;
  }

  .admin-estoque.stock-report-print .page-heading,
  .admin-estoque.stock-report-print .stock-report-search,
  .admin-estoque.stock-report-print .panel:not(.stock-report-panel) {
    display: none !important;
  }

  .admin-estoque.stock-report-print .stock-report-panel,
  .admin-estoque.stock-report-print .stock-report-panel * {
    color: var(--azul) !important;
  }

  .admin-estoque.stock-report-print .stock-report-panel {
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .admin-estoque.stock-report-print .stock-report-panel .panel-heading {
    background: #ffffff !important;
    border-bottom: 2px solid var(--amarelo) !important;
    min-height: 0 !important;
    padding: 0 0 5px !important;
  }

  .admin-estoque.stock-report-print .stock-report-panel .panel-heading h2 {
    color: var(--azul) !important;
    font-size: 14pt !important;
    line-height: 1 !important;
    margin: 0 !important;
  }

  .admin-estoque.stock-report-print .stock-report-panel .panel-heading span {
    color: var(--azul) !important;
    font-size: 8pt !important;
    font-weight: 900;
  }

  .admin-estoque.stock-report-print .stock-report-panel .table-wrap {
    overflow: visible !important;
  }

  .admin-estoque.stock-report-print .stock-report-panel table {
    border-collapse: collapse !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  .admin-estoque.stock-report-print .stock-report-panel th,
  .admin-estoque.stock-report-print .stock-report-panel td {
    border-bottom: 1px solid #d8e0ec !important;
    font-size: 7.4pt !important;
    line-height: 1.08 !important;
    padding: 3px 4px !important;
    white-space: normal !important;
  }

  .admin-estoque.stock-report-print .stock-report-panel th {
    background: #eef2f7 !important;
    color: var(--azul) !important;
  }
}

.admin-encomendas button:hover,
.admin-encomendas button:focus-visible,
.admin-encomendas .button-link:hover,
.admin-encomendas .button-link:focus-visible,
.admin-encomendas .button-mini:hover,
.admin-encomendas .button-mini:focus-visible {
  filter: none !important;
  transform: none !important;
}

.admin-encomendas button:not(.danger-button):not(.trash-button):not(.theme-toggle):not(.button-mini):not(.history-date-native):not(.order-time-picker-backdrop):not(.order-time-wheel-option):not(.order-time-picker-cancel):not(.order-time-picker-apply):hover,
.admin-encomendas button:not(.danger-button):not(.trash-button):not(.theme-toggle):not(.button-mini):not(.history-date-native):not(.order-time-picker-backdrop):not(.order-time-wheel-option):not(.order-time-picker-cancel):not(.order-time-picker-apply):focus-visible,
.admin-encomendas .button-link:not(.secondary):hover,
.admin-encomendas .button-link:not(.secondary):focus-visible,
.admin-encomendas .order-add-item-button:hover,
.admin-encomendas .order-add-item-button:focus-visible {
  background: var(--amarelo) !important;
  border-color: var(--azul) !important;
  color: var(--azul) !important;
}

.admin-encomendas .button-link.secondary:hover,
.admin-encomendas .button-link.secondary:focus-visible,
.admin-encomendas .button-mini:hover,
.admin-encomendas .button-mini:focus-visible {
  background: var(--azul-botao) !important;
  color: var(--branco) !important;
}

:root[data-theme="dark"] .admin-encomendas .panel-heading .system-back-button,
:root[data-theme="dark"] .admin-encomendas .panel-heading .system-back-button:hover,
:root[data-theme="dark"] .admin-encomendas .panel-heading .system-back-button:focus-visible {
  color: var(--branco) !important;
}

.admin-encomendas .history-date-control button.history-date-native:hover,
.admin-encomendas .history-date-control button.history-date-native:focus-visible,
:root[data-theme="dark"] .admin-encomendas .history-date-control button.history-date-native:hover,
:root[data-theme="dark"] .admin-encomendas .history-date-control button.history-date-native:focus-visible {
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
}

.admin-encomendas .history-date-icon:hover,
.admin-encomendas .history-date-control:has(.history-date-native:hover) .history-date-icon,
.admin-encomendas .history-date-control:has(.history-date-native:focus-visible) .history-date-icon,
:root[data-theme="dark"] .admin-encomendas .history-date-icon:hover,
:root[data-theme="dark"] .admin-encomendas .history-date-control:has(.history-date-native:hover) .history-date-icon,
:root[data-theme="dark"] .admin-encomendas .history-date-control:has(.history-date-native:focus-visible) .history-date-icon {
  color: var(--azul) !important;
}

.admin-encomendas .module-floating-home-button,
.admin-encomendas .module-floating-home-button:hover,
.admin-encomendas .module-floating-home-button:focus-visible,
.admin-encomendas .module-floating-fullscreen-button,
.admin-encomendas .module-floating-fullscreen-button:hover,
.admin-encomendas .module-floating-fullscreen-button:focus-visible {
  background: var(--amarelo) !important;
  border-color: rgba(255, 255, 255, 0.72) !important;
  color: var(--azul) !important;
  filter: none !important;
  transform: none !important;
}

:root[data-theme="dark"] .admin-encomendas .module-floating-home-button,
:root[data-theme="dark"] .admin-encomendas .module-floating-home-button:hover,
:root[data-theme="dark"] .admin-encomendas .module-floating-home-button:focus-visible,
:root[data-theme="dark"] .admin-encomendas .module-floating-fullscreen-button,
:root[data-theme="dark"] .admin-encomendas .module-floating-fullscreen-button:hover,
:root[data-theme="dark"] .admin-encomendas .module-floating-fullscreen-button:focus-visible {
  background: var(--azul) !important;
  border-color: rgba(255, 255, 255, 0.28) !important;
  color: var(--amarelo) !important;
  filter: none !important;
  transform: none !important;
}

:root[data-theme="dark"] .admin-encomendas .module-floating-home-button span,
:root[data-theme="dark"] .admin-encomendas .module-floating-fullscreen-button::before {
  color: var(--amarelo) !important;
}

:root[data-theme="dark"] .admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active,
:root[data-theme="dark"] .admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active:hover,
:root[data-theme="dark"] .admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active:focus-visible {
  background: var(--azul) !important;
  border-color: rgba(255, 255, 255, 0.28) !important;
  color: var(--amarelo) !important;
  filter: none !important;
  transform: none !important;
}

:root[data-theme="dark"] .admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active::before,
:root[data-theme="dark"] .admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active:hover::before,
:root[data-theme="dark"] .admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active:focus-visible::before {
  color: var(--amarelo) !important;
}

.admin-encomendas.admin-encomendas-quadro-restrito .module-floating-home-button,
.admin-encomendas.admin-encomendas-quadro-restrito .module-floating-home-button:hover,
.admin-encomendas.admin-encomendas-quadro-restrito .module-floating-home-button:focus-visible,
.admin-encomendas.admin-encomendas-quadro-restrito .module-floating-home-button:active,
.admin-encomendas.admin-encomendas-quadro-restrito .module-floating-fullscreen-button,
.admin-encomendas.admin-encomendas-quadro-restrito .module-floating-fullscreen-button:hover,
.admin-encomendas.admin-encomendas-quadro-restrito .module-floating-fullscreen-button:focus-visible,
.admin-encomendas.admin-encomendas-quadro-restrito .module-floating-fullscreen-button:active,
.admin-encomendas.admin-encomendas-quadro-restrito .module-floating-fullscreen-button.is-fullscreen-active,
.admin-encomendas.admin-encomendas-quadro-restrito .module-floating-fullscreen-button.is-fullscreen-active:hover,
.admin-encomendas.admin-encomendas-quadro-restrito .module-floating-fullscreen-button.is-fullscreen-active:focus-visible,
.admin-encomendas.admin-encomendas-quadro-restrito .module-floating-fullscreen-button.is-fullscreen-active:active {
  background: var(--amarelo) !important;
  border-color: rgba(255, 255, 255, 0.72) !important;
  color: var(--azul) !important;
  filter: none !important;
  transform: none !important;
  transition: none !important;
}

.admin-encomendas.admin-encomendas-quadro-restrito .module-floating-home-button span,
.admin-encomendas.admin-encomendas-quadro-restrito .module-floating-home-button:hover span,
.admin-encomendas.admin-encomendas-quadro-restrito .module-floating-home-button:focus-visible span,
.admin-encomendas.admin-encomendas-quadro-restrito .module-floating-fullscreen-button::before,
.admin-encomendas.admin-encomendas-quadro-restrito .module-floating-fullscreen-button:hover::before,
.admin-encomendas.admin-encomendas-quadro-restrito .module-floating-fullscreen-button:focus-visible::before,
.admin-encomendas.admin-encomendas-quadro-restrito .module-floating-fullscreen-button.is-fullscreen-active::before,
.admin-encomendas.admin-encomendas-quadro-restrito .module-floating-fullscreen-button.is-fullscreen-active:hover::before,
.admin-encomendas.admin-encomendas-quadro-restrito .module-floating-fullscreen-button.is-fullscreen-active:focus-visible::before {
  color: var(--azul) !important;
}

:root[data-theme="dark"] .admin-encomendas.admin-encomendas-quadro-restrito .module-floating-home-button,
:root[data-theme="dark"] .admin-encomendas.admin-encomendas-quadro-restrito .module-floating-home-button:hover,
:root[data-theme="dark"] .admin-encomendas.admin-encomendas-quadro-restrito .module-floating-home-button:focus-visible,
:root[data-theme="dark"] .admin-encomendas.admin-encomendas-quadro-restrito .module-floating-home-button:active,
:root[data-theme="dark"] .admin-encomendas.admin-encomendas-quadro-restrito .module-floating-fullscreen-button,
:root[data-theme="dark"] .admin-encomendas.admin-encomendas-quadro-restrito .module-floating-fullscreen-button:hover,
:root[data-theme="dark"] .admin-encomendas.admin-encomendas-quadro-restrito .module-floating-fullscreen-button:focus-visible,
:root[data-theme="dark"] .admin-encomendas.admin-encomendas-quadro-restrito .module-floating-fullscreen-button:active,
:root[data-theme="dark"] .admin-encomendas.admin-encomendas-quadro-restrito .module-floating-fullscreen-button.is-fullscreen-active,
:root[data-theme="dark"] .admin-encomendas.admin-encomendas-quadro-restrito .module-floating-fullscreen-button.is-fullscreen-active:hover,
:root[data-theme="dark"] .admin-encomendas.admin-encomendas-quadro-restrito .module-floating-fullscreen-button.is-fullscreen-active:focus-visible,
:root[data-theme="dark"] .admin-encomendas.admin-encomendas-quadro-restrito .module-floating-fullscreen-button.is-fullscreen-active:active {
  background: var(--azul) !important;
  border-color: rgba(255, 255, 255, 0.28) !important;
  color: var(--amarelo) !important;
  filter: none !important;
  transform: none !important;
  transition: none !important;
}

:root[data-theme="dark"] .admin-encomendas.admin-encomendas-quadro-restrito .module-floating-home-button span,
:root[data-theme="dark"] .admin-encomendas.admin-encomendas-quadro-restrito .module-floating-home-button:hover span,
:root[data-theme="dark"] .admin-encomendas.admin-encomendas-quadro-restrito .module-floating-home-button:focus-visible span,
:root[data-theme="dark"] .admin-encomendas.admin-encomendas-quadro-restrito .module-floating-fullscreen-button::before,
:root[data-theme="dark"] .admin-encomendas.admin-encomendas-quadro-restrito .module-floating-fullscreen-button:hover::before,
:root[data-theme="dark"] .admin-encomendas.admin-encomendas-quadro-restrito .module-floating-fullscreen-button:focus-visible::before,
:root[data-theme="dark"] .admin-encomendas.admin-encomendas-quadro-restrito .module-floating-fullscreen-button.is-fullscreen-active::before,
:root[data-theme="dark"] .admin-encomendas.admin-encomendas-quadro-restrito .module-floating-fullscreen-button.is-fullscreen-active:hover::before,
:root[data-theme="dark"] .admin-encomendas.admin-encomendas-quadro-restrito .module-floating-fullscreen-button.is-fullscreen-active:focus-visible::before {
  color: var(--amarelo) !important;
}

.admin-encomendas .module-floating-home-button,
.admin-encomendas .module-floating-home-button:hover,
.admin-encomendas .module-floating-home-button:focus-visible,
.admin-encomendas .module-floating-home-button:active,
.admin-encomendas .module-floating-fullscreen-button,
.admin-encomendas .module-floating-fullscreen-button:hover,
.admin-encomendas .module-floating-fullscreen-button:focus-visible,
.admin-encomendas .module-floating-fullscreen-button:active,
.admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active,
.admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active:hover,
.admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active:focus-visible,
.admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active:active {
  box-shadow: 0 12px 24px rgba(3, 22, 49, 0.24) !important;
  filter: none !important;
  outline: none !important;
  text-decoration: none !important;
  transform: none !important;
  transition: none !important;
}

.admin-encomendas .module-floating-home-button span,
.admin-encomendas .module-floating-home-button:hover span,
.admin-encomendas .module-floating-home-button:focus-visible span,
.admin-encomendas .module-floating-home-button:active span,
.admin-encomendas .module-floating-fullscreen-button::before,
.admin-encomendas .module-floating-fullscreen-button:hover::before,
.admin-encomendas .module-floating-fullscreen-button:focus-visible::before,
.admin-encomendas .module-floating-fullscreen-button:active::before,
.admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active::before,
.admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active:hover::before,
.admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active:focus-visible::before,
.admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active:active::before {
  filter: none !important;
  transform: none !important;
  transition: none !important;
}

.admin-encomendas .trash-button:hover,
.admin-encomendas .trash-button:focus-visible {
  background: var(--erro) !important;
  border-color: var(--erro) !important;
  color: var(--branco) !important;
}

.admin-encomendas .order-actions .order-remove-button,
.admin-encomendas .order-actions .order-remove-button:hover,
.admin-encomendas .order-actions .order-remove-button:focus-visible {
  min-height: 44px !important;
  min-width: 132px !important;
  padding: 0 16px !important;
  width: auto !important;
}

.admin-encomendas .order-produced-button,
.admin-encomendas .order-produced-button:hover,
.admin-encomendas .order-produced-button:focus-visible,
:root[data-theme="dark"] .admin-encomendas .order-produced-button,
:root[data-theme="dark"] .admin-encomendas .order-produced-button:hover,
:root[data-theme="dark"] .admin-encomendas .order-produced-button:focus-visible {
  background: var(--amarelo) !important;
  border-color: var(--azul) !important;
  color: var(--azul) !important;
  filter: none !important;
  min-height: 44px !important;
  min-width: 132px !important;
  padding: 0 16px !important;
  transform: none !important;
}

.admin-encomendas .order-produced-button.is-locked,
.admin-encomendas .order-produced-button.is-locked:hover,
.admin-encomendas .order-produced-button.is-locked:focus-visible,
.admin-encomendas .order-produced-button:disabled,
:root[data-theme="dark"] .admin-encomendas .order-produced-button.is-locked,
:root[data-theme="dark"] .admin-encomendas .order-produced-button.is-locked:hover,
:root[data-theme="dark"] .admin-encomendas .order-produced-button.is-locked:focus-visible,
:root[data-theme="dark"] .admin-encomendas .order-produced-button:disabled {
  background: #d7dde7 !important;
  border-color: #b8c2d2 !important;
  color: #59677a !important;
}

.admin-encomendas .order-delivered-button,
.admin-encomendas .order-delivered-button:hover,
.admin-encomendas .order-delivered-button:focus-visible,
:root[data-theme="dark"] .admin-encomendas .order-delivered-button,
:root[data-theme="dark"] .admin-encomendas .order-delivered-button:hover,
:root[data-theme="dark"] .admin-encomendas .order-delivered-button:focus-visible {
  background: linear-gradient(180deg, var(--verde-fluor), var(--verde-fluor-2)) !important;
  border-color: #17b900 !important;
  border-radius: 8px !important;
  color: var(--azul) !important;
  filter: none !important;
  min-height: 44px !important;
  min-width: 132px !important;
  padding: 0 16px !important;
  text-transform: none !important;
  transform: none !important;
}

.admin-encomendas .order-produced-button.is-locked,
.admin-encomendas .order-produced-button.is-locked:hover,
.admin-encomendas .order-produced-button.is-locked:focus-visible,
.admin-encomendas .order-produced-button.is-locked:active,
.admin-encomendas .order-produced-button:disabled,
.admin-encomendas .order-produced-button:disabled:hover,
.admin-encomendas .order-produced-button:disabled:focus-visible,
.admin-encomendas .order-produced-button:disabled:active,
.admin-encomendas .order-delivered-button.is-locked,
.admin-encomendas .order-delivered-button.is-locked:hover,
.admin-encomendas .order-delivered-button.is-locked:focus-visible,
.admin-encomendas .order-delivered-button.is-locked:active,
.admin-encomendas .order-delivered-button:disabled,
.admin-encomendas .order-delivered-button:disabled:hover,
.admin-encomendas .order-delivered-button:disabled:focus-visible,
.admin-encomendas .order-delivered-button:disabled:active,
:root[data-theme="dark"] .admin-encomendas .order-produced-button.is-locked,
:root[data-theme="dark"] .admin-encomendas .order-produced-button.is-locked:hover,
:root[data-theme="dark"] .admin-encomendas .order-produced-button.is-locked:focus-visible,
:root[data-theme="dark"] .admin-encomendas .order-produced-button.is-locked:active,
:root[data-theme="dark"] .admin-encomendas .order-produced-button:disabled,
:root[data-theme="dark"] .admin-encomendas .order-produced-button:disabled:hover,
:root[data-theme="dark"] .admin-encomendas .order-produced-button:disabled:focus-visible,
:root[data-theme="dark"] .admin-encomendas .order-produced-button:disabled:active,
:root[data-theme="dark"] .admin-encomendas .order-delivered-button.is-locked,
:root[data-theme="dark"] .admin-encomendas .order-delivered-button.is-locked:hover,
:root[data-theme="dark"] .admin-encomendas .order-delivered-button.is-locked:focus-visible,
:root[data-theme="dark"] .admin-encomendas .order-delivered-button.is-locked:active,
:root[data-theme="dark"] .admin-encomendas .order-delivered-button:disabled,
:root[data-theme="dark"] .admin-encomendas .order-delivered-button:disabled:hover,
:root[data-theme="dark"] .admin-encomendas .order-delivered-button:disabled:focus-visible,
:root[data-theme="dark"] .admin-encomendas .order-delivered-button:disabled:active {
  background: #d7dde7 !important;
  border-color: #b8c2d2 !important;
  box-shadow: none !important;
  color: #59677a !important;
  cursor: default !important;
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
}

.admin-encomendas .order-board-panel .order-item[open] .order-actions {
  align-items: center;
  gap: 6px;
  margin-top: 8px;
}

.admin-encomendas .order-board-panel .order-item[open] .order-actions form,
.admin-encomendas .order-board-panel .order-item[open] .order-status-actions {
  gap: 6px;
}

.admin-encomendas .order-board-panel .order-item[open] .order-produced-button,
.admin-encomendas .order-board-panel .order-item[open] .order-produced-button:hover,
.admin-encomendas .order-board-panel .order-item[open] .order-produced-button:focus-visible,
.admin-encomendas .order-board-panel .order-item[open] .order-delivered-button,
.admin-encomendas .order-board-panel .order-item[open] .order-delivered-button:hover,
.admin-encomendas .order-board-panel .order-item[open] .order-delivered-button:focus-visible,
.admin-encomendas .order-board-panel .order-item[open] .order-actions .order-remove-button,
.admin-encomendas .order-board-panel .order-item[open] .order-actions .order-remove-button:hover,
.admin-encomendas .order-board-panel .order-item[open] .order-actions .order-remove-button:focus-visible {
  font-size: 13px !important;
  min-height: 34px !important;
  min-width: 104px !important;
  padding: 0 12px !important;
}

.admin-encomendas .order-board-panel .order-item.order-state-late .order-summary-main small,
.admin-encomendas .order-board-panel .order-item.order-state-late .order-summary-time,
.admin-encomendas .order-board-panel .order-item.order-state-delivered .order-summary-main small,
.admin-encomendas .order-board-panel .order-item.order-state-delivered .order-summary-time,
:root[data-theme="dark"] .admin-encomendas .order-board-panel .order-item.order-state-late .order-summary-main small,
:root[data-theme="dark"] .admin-encomendas .order-board-panel .order-item.order-state-late .order-summary-time,
:root[data-theme="dark"] .admin-encomendas .order-board-panel .order-item.order-state-delivered .order-summary-main small,
:root[data-theme="dark"] .admin-encomendas .order-board-panel .order-item.order-state-delivered .order-summary-time {
  color: #fff !important;
}

.admin-encomendas .order-board-panel .order-item.order-state-today .order-summary-main small,
.admin-encomendas .order-board-panel .order-item.order-state-today .order-summary-time,
.admin-encomendas .order-board-panel .order-item.order-state-produced .order-summary-main small,
.admin-encomendas .order-board-panel .order-item.order-state-produced .order-summary-time,
.admin-encomendas .order-board-panel .order-item.order-state-other-day .order-summary-main small,
.admin-encomendas .order-board-panel .order-item.order-state-other-day .order-summary-time,
.admin-encomendas .order-board-panel .order-item.order-state-removed .order-summary-main small,
.admin-encomendas .order-board-panel .order-item.order-state-removed .order-summary-time,
:root[data-theme="dark"] .admin-encomendas .order-board-panel .order-item.order-state-today .order-summary-main small,
:root[data-theme="dark"] .admin-encomendas .order-board-panel .order-item.order-state-today .order-summary-time,
:root[data-theme="dark"] .admin-encomendas .order-board-panel .order-item.order-state-produced .order-summary-main small,
:root[data-theme="dark"] .admin-encomendas .order-board-panel .order-item.order-state-produced .order-summary-time,
:root[data-theme="dark"] .admin-encomendas .order-board-panel .order-item.order-state-other-day .order-summary-main small,
:root[data-theme="dark"] .admin-encomendas .order-board-panel .order-item.order-state-other-day .order-summary-time,
:root[data-theme="dark"] .admin-encomendas .order-board-panel .order-item.order-state-removed .order-summary-main small,
:root[data-theme="dark"] .admin-encomendas .order-board-panel .order-item.order-state-removed .order-summary-time {
  color: var(--azul) !important;
}

.admin-encomendas .order-board-panel .order-item.order-state-produced,
.admin-encomendas .order-board-panel .order-item.order-state-produced summary,
.admin-encomendas .order-board-panel .order-item.order-state-produced summary *,
.admin-encomendas .order-board-panel .order-item.order-state-produced .order-detail-grid,
.admin-encomendas .order-board-panel .order-item.order-state-produced .order-detail-grid *,
.admin-encomendas .order-board-panel .order-item.order-state-produced .order-items-table,
.admin-encomendas .order-board-panel .order-item.order-state-produced .order-items-table *,
:root[data-theme="dark"] .admin-encomendas .order-board-panel .order-item.order-state-produced,
:root[data-theme="dark"] .admin-encomendas .order-board-panel .order-item.order-state-produced summary,
:root[data-theme="dark"] .admin-encomendas .order-board-panel .order-item.order-state-produced summary *,
:root[data-theme="dark"] .admin-encomendas .order-board-panel .order-item.order-state-produced .order-detail-grid,
:root[data-theme="dark"] .admin-encomendas .order-board-panel .order-item.order-state-produced .order-detail-grid *,
:root[data-theme="dark"] .admin-encomendas .order-board-panel .order-item.order-state-produced .order-items-table,
:root[data-theme="dark"] .admin-encomendas .order-board-panel .order-item.order-state-produced .order-items-table * {
  color: var(--azul) !important;
}

:root[data-theme="dark"] .admin-encomendas .order-board-panel .order-item[open] .order-detail-card {
  background: rgba(2, 22, 58, 0.1);
  border-color: rgba(2, 22, 58, 0.22);
}

:root[data-theme="dark"] .admin-encomendas .order-board-panel .order-item.order-state-late[open] .order-detail-card,
:root[data-theme="dark"] .admin-encomendas .order-board-panel .order-item.order-state-delivered[open] .order-detail-card {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.28);
}

:root[data-theme="dark"] .admin-encomendas .order-board-panel .order-item[open] .order-items-table table {
  background: rgba(255, 255, 255, 0.08);
}

:root[data-theme="dark"] .order-board-clock {
  color: var(--amarelo);
  text-shadow: 0 2px 10px rgba(255, 223, 0, 0.2);
}

@media (min-width: 641px) and (max-width: 920px) {
  .admin-encomendas .admin-main {
    width: min(100% - 24px, 900px);
  }

  .admin-encomendas .order-board-list,
  .admin-encomendas .order-history-list,
  .admin-encomendas .order-form {
    padding: 12px;
  }

  .admin-encomendas .order-board-panel .order-item {
    min-height: 59px;
    padding: 10px 9px;
  }

  .admin-encomendas .order-board-panel .order-item summary,
  .admin-encomendas .order-item summary {
    align-items: center;
    flex-direction: row;
    gap: 9px;
    min-height: 36px;
  }

  .admin-encomendas .order-summary-main {
    column-gap: 14px;
    row-gap: 5px;
  }

  .admin-encomendas .order-board-panel .order-summary-main strong {
    font-size: 17px;
    line-height: 1.08;
  }

  .admin-encomendas .order-board-panel .order-summary-main small,
  .admin-encomendas .order-board-panel .order-summary-time,
  .admin-encomendas .order-board-panel .order-summary-meta {
    font-size: 14.5px;
    line-height: 1.12;
  }

  .admin-encomendas .order-summary-main small {
    margin-left: 0;
    margin-top: 0;
  }

  .admin-encomendas .order-summary-meta {
    align-items: flex-end;
    flex-direction: column;
    gap: 4px;
    text-align: right;
  }

  .admin-encomendas .order-detail-grid {
    grid-template-areas:
      "detail-client detail-phone"
      "detail-seller detail-value"
      "detail-notes detail-notes";
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-encomendas .order-board-panel .order-item[open] .order-detail-grid {
    grid-template-areas: "detail-client detail-phone detail-seller detail-value detail-notes";
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .admin-encomendas .order-board-panel.order-board-panel-values-hidden .order-item[open] .order-detail-grid {
    grid-template-areas: "detail-client detail-phone detail-seller detail-notes";
    grid-template-columns:
      minmax(0, 1fr)
      minmax(0, 1fr)
      minmax(0, 1fr)
      minmax(0, 1.2fr);
  }

  .admin-encomendas .order-board-panel .order-item[open] .order-detail-card {
    min-width: 0;
    padding-inline: 7px;
  }

  .admin-encomendas .order-detail-card.span-2 {
    grid-column: span 2;
  }

  .admin-encomendas .order-form {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .admin-encomendas .order-form .order-field-client,
  .admin-encomendas .order-form .order-field-phone,
  .admin-encomendas .order-snack-form .snack-field-name,
  .admin-encomendas .order-snack-form .snack-field-description {
    grid-column: span 3;
  }

  .admin-encomendas .order-form .order-field-date,
  .admin-encomendas .order-form .order-field-status,
  .admin-encomendas .order-form .order-field-attendant,
  .admin-encomendas .order-form .order-field-value,
  .admin-encomendas .order-history-filter .order-history-date,
  .admin-encomendas .order-history-filter .order-history-status,
  .admin-encomendas .order-snack-form .snack-field-value,
  .admin-encomendas .order-snack-form .snack-field-photo {
    grid-column: span 2;
  }

  .admin-encomendas .order-form .order-field-time {
    grid-column: span 1;
  }

  .admin-encomendas .order-form .order-items-fieldset,
  .admin-encomendas .order-form > button[type="submit"] {
    grid-column: 1 / -1;
  }

  .admin-encomendas .order-form .order-field-notes {
    grid-column: span 4;
  }

  .admin-encomendas .order-form .order-field-snack-total {
    grid-column: span 2;
  }

  .admin-encomendas .order-history-filter {
    grid-template-columns: 170px 170px minmax(0, 1fr) 132px;
  }

  .admin-encomendas .order-history-filter > button[type="submit"],
  .admin-encomendas .order-snack-form > button[type="submit"] {
    grid-column: auto;
  }

  .admin-encomendas .order-history-filter > button[type="submit"] {
    grid-column: 4;
    justify-self: end;
    width: 132px;
  }

  .admin-encomendas .order-item-input-row {
    grid-template-columns: minmax(160px, 1fr) 118px minmax(180px, 1fr);
  }

  .admin-encomendas .order-item-input-row.is-order-personalized-snack {
    grid-template-columns: minmax(140px, 0.72fr) 118px minmax(250px, 1fr);
  }

  .admin-encomendas .module-subnav a {
    flex: 1 1 0;
    min-width: 0;
    padding-left: 42px;
    padding-right: 12px;
    width: auto;
  }
}

:root[data-theme="dark"] .history-calendar-popover .history-calendar-weekdays span,
:root[data-theme="dark"] .history-calendar-popover .history-calendar-grid button,
:root[data-theme="dark"] .history-calendar-popover .history-calendar-grid button:hover,
:root[data-theme="dark"] .history-calendar-popover .history-calendar-grid button:focus-visible,
:root[data-theme="dark"] .history-calendar-popover .history-calendar-grid button.is-muted,
:root[data-theme="dark"] .history-calendar-popover .history-calendar-grid button.is-today {
  color: #ffffff !important;
}

:root[data-theme="dark"] .history-calendar-popover .history-calendar-grid button.is-selected,
:root[data-theme="dark"] .history-calendar-popover .history-month-grid button.is-selected {
  color: var(--azul) !important;
}

/* Quadro de horários: reforço final para remover sublinhado/realce amarelo de "mesmo horário". */
.admin-funcionarios .employee-schedule-same-week,
.admin-funcionarios .employee-schedule-same-week:hover,
.admin-funcionarios .employee-schedule-same-week:focus,
.admin-funcionarios .employee-schedule-same-week:focus-within,
.admin-funcionarios .employee-schedule-same-week:active,
.admin-funcionarios .employee-schedule-same-week:has(input:checked),
.admin-funcionarios .employee-company-same-week,
.admin-funcionarios .employee-company-same-week:hover,
.admin-funcionarios .employee-company-same-week:focus,
.admin-funcionarios .employee-company-same-week:focus-within,
.admin-funcionarios .employee-company-same-week:active,
.admin-funcionarios .employee-company-same-week:has(input:checked),
.admin-funcionarios .employee-schedule-same-week input,
.admin-funcionarios .employee-schedule-same-week input:focus,
.admin-funcionarios .employee-schedule-same-week input:checked,
.admin-funcionarios .employee-company-same-week input,
.admin-funcionarios .employee-company-same-week input:focus,
.admin-funcionarios .employee-company-same-week input:checked {
  border-bottom: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  text-decoration: none !important;
}

/* Lista Atual: regra final absoluta para o modo escuro usar as bordas do modo claro. */
:root[data-theme="dark"] .admin-compras .category-admin:not(.automatic-shopping-category) {
  border-left: 8px solid var(--categoria-cor, var(--amarelo)) !important;
  border-top: 4px solid var(--categoria-cor, var(--amarelo)) !important;
  border-right: 4px solid var(--categoria-cor, var(--amarelo)) !important;
  border-bottom: 4px solid var(--categoria-cor, var(--amarelo)) !important;
}

/* Lista Automática: quantidade e valor com o mesmo tamanho de fonte da Lista Atual. */
.admin-compras .automatic-shopping-table .buy-form input[name="quantidade_compra"],
.admin-compras .automatic-shopping-table .buy-form input[name="preco_compra"],
.admin-compras .automatic-shopping-table .buy-form input[name="quantidade_compra"]::placeholder,
.admin-compras .automatic-shopping-table .buy-form input[name="preco_compra"]::placeholder {
  font-size: 12px !important;
}

/* Lista Atual: cabeçalho levemente mais forte para igualar visualmente às demais listas. */
.admin-compras .category-admin:not(.automatic-shopping-category) > .panel-heading,
.admin-compras .category-admin:not(.automatic-shopping-category) .current-shopping-table thead th {
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--categoria-cor, var(--amarelo)) 32%, transparent) 0%, color-mix(in srgb, var(--categoria-cor, var(--amarelo)) 32%, transparent) 50%, transparent 100%) !important;
}

/* Lista de Compras: intensidade unificada apenas nos cabeçalhos das categorias. */
.admin-compras .category-admin:not(.automatic-shopping-category) > .panel-heading,
.admin-compras .automatic-shopping-category > .panel-heading,
.purchase-public .public-shopping-category-head {
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--categoria-cor, var(--amarelo)) 24%, transparent) 0%, color-mix(in srgb, var(--categoria-cor, var(--amarelo)) 24%, transparent) 50%, transparent 100%) !important;
}

.admin-compras .category-admin:not(.automatic-shopping-category) > .panel-heading,
.admin-compras .category-admin:not(.automatic-shopping-category) .current-shopping-table thead th {
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--categoria-cor, var(--amarelo)) 32%, transparent) 0%, color-mix(in srgb, var(--categoria-cor, var(--amarelo)) 32%, transparent) 50%, transparent 100%) !important;
}

:root[data-theme="dark"] .admin-compras .category-admin:not(.automatic-shopping-category) > .panel-heading,
:root[data-theme="dark"] .admin-compras .category-admin:not(.automatic-shopping-category) .current-shopping-table thead th {
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--categoria-cor, var(--amarelo)) 42%, #101b31) 0%, color-mix(in srgb, var(--categoria-cor, var(--amarelo)) 24%, #101b31) 50%, transparent 100%) !important;
}

/* Lista Atual: linhas dos itens com degradê no modo claro iniciando em 50%. */
:root:not([data-theme="dark"]) .admin-compras .current-shopping-table .stock-band-row:not(.stock-band-row-alert) td {
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--categoria-cor, var(--amarelo)) 16%, transparent) 0%, color-mix(in srgb, var(--categoria-cor, var(--amarelo)) 16%, transparent) 50%, transparent 100%) !important;
}

/* Quadro de horários: "mesmo horário" não deve ganhar sublinhado amarelo ao clicar. */
.admin-funcionarios .employee-schedule-same-week,
.admin-funcionarios .employee-schedule-same-week:hover,
.admin-funcionarios .employee-schedule-same-week:focus,
.admin-funcionarios .employee-schedule-same-week:focus-within,
.admin-funcionarios .employee-schedule-same-week:active,
.admin-funcionarios .employee-schedule-same-week:has(input:checked),
.admin-funcionarios .employee-company-same-week,
.admin-funcionarios .employee-company-same-week:hover,
.admin-funcionarios .employee-company-same-week:focus,
.admin-funcionarios .employee-company-same-week:focus-within,
.admin-funcionarios .employee-company-same-week:active,
.admin-funcionarios .employee-company-same-week:has(input:checked) {
  border-bottom: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  text-decoration: none !important;
}

/* Lista Atual: reforço final para o modo escuro usar as bordas do modo claro. */
:root[data-theme="dark"] .admin-compras .category-admin:not(.automatic-shopping-category) {
  border-left: 8px solid var(--categoria-cor, var(--amarelo)) !important;
  border-top: 4px solid var(--categoria-cor, var(--amarelo)) !important;
}

/* Padrão global dos botões com o texto "Visualizar", sem alterar dimensões. */
a.button-mini.attachment-view-button[data-attachment-view],
a.button-mini.attachment-view-button[data-attachment-view]:link,
a.button-mini.attachment-view-button[data-attachment-view]:visited,
a.button-mini.attachment-view-button[data-attachment-view]:hover,
a.button-mini.attachment-view-button[data-attachment-view]:focus,
a.button-mini.attachment-view-button[data-attachment-view]:focus-visible,
a.button-mini.attachment-view-button[data-attachment-view]:active,
:root[data-theme="dark"] a.button-mini.attachment-view-button[data-attachment-view],
:root[data-theme="dark"] a.button-mini.attachment-view-button[data-attachment-view]:link,
:root[data-theme="dark"] a.button-mini.attachment-view-button[data-attachment-view]:visited,
:root[data-theme="dark"] a.button-mini.attachment-view-button[data-attachment-view]:hover,
:root[data-theme="dark"] a.button-mini.attachment-view-button[data-attachment-view]:focus,
:root[data-theme="dark"] a.button-mini.attachment-view-button[data-attachment-view]:focus-visible,
:root[data-theme="dark"] a.button-mini.attachment-view-button[data-attachment-view]:active {
  background: var(--azul-botao) !important;
  border-color: var(--azul-botao) !important;
  color: var(--branco) !important;
  filter: none !important;
  transform: none !important;
  transition: none !important;
}

/* Lista Atual: no modo escuro mantém as mesmas bordas do modo claro. */
:root[data-theme="dark"] .admin-compras .category-admin:not(.automatic-shopping-category) {
  border-left: 8px solid var(--categoria-cor, var(--amarelo)) !important;
  border-top: 4px solid var(--categoria-cor, var(--amarelo)) !important;
}

/* Lista de Compras: cabeçalhos de categorias padronizados. */
.admin-compras .category-admin > .panel-heading,
.purchase-public .public-shopping-category-head {
  align-items: center !important;
  box-sizing: border-box;
  display: flex !important;
  flex-direction: row !important;
  gap: 16px !important;
  justify-content: space-between !important;
  min-height: 64px !important;
  padding: 16px 18px !important;
}

.admin-compras .category-admin > .panel-heading h2,
.purchase-public .public-shopping-category-head h2 {
  font-size: 22px !important;
  font-weight: 900;
  line-height: 1.2 !important;
  margin: 0 !important;
}

.purchase-public .public-shopping-category-head .public-shopping-add-button,
.purchase-public .public-shopping-category-head .public-shopping-back-button {
  flex: 0 0 auto;
  width: auto !important;
}

:root[data-theme="dark"] .history-calendar-popover .history-calendar-grid button.is-muted:not(.is-selected):not(:hover):not(:focus-visible) {
  color: rgba(203, 213, 225, 0.46) !important;
  opacity: 0.72;
}

/* Página inicial: bordas dos módulos por tema, preservando a lateral esquerda amarela. */
.home-page .module-home-option {
  border-top-color: var(--azul-botao) !important;
  border-right-color: var(--azul-botao) !important;
  border-bottom-color: var(--azul-botao) !important;
}

:root[data-theme="dark"] .home-page .module-home-option {
  border-top-color: var(--branco) !important;
  border-right-color: var(--branco) !important;
  border-bottom-color: var(--branco) !important;
}

/* Área administrativa: bordas dos resumos por tema. */
.admin-page .metric-card,
.admin-page .product-dashboard article,
.admin-page .evaluation-summary div,
.admin-page .service-report-summary div,
.admin-page .history-summary,
.admin-page .finance-summary-line,
.admin-page .category-total-strip,
.admin-page .sales-history-summary {
  border: 1px solid var(--azul-botao) !important;
}

:root[data-theme="dark"] .admin-page .metric-card,
:root[data-theme="dark"] .admin-page .product-dashboard article,
:root[data-theme="dark"] .admin-page .evaluation-summary div,
:root[data-theme="dark"] .admin-page .service-report-summary div,
:root[data-theme="dark"] .admin-page .history-summary,
:root[data-theme="dark"] .admin-page .finance-summary-line,
:root[data-theme="dark"] .admin-page .category-total-strip,
:root[data-theme="dark"] .admin-page .sales-history-summary {
  border: 1px solid var(--branco) !important;
}

/* Finanças: as linhas de soma não usam borda nos dois temas. */
.admin-compromissos .finance-summary-line,
.admin-compromissos .category-total-strip,
.admin-financas_pessoais .finance-summary-line,
.admin-financas_pessoais .category-total-strip,
:root[data-theme="dark"] .admin-compromissos .finance-summary-line,
:root[data-theme="dark"] .admin-compromissos .category-total-strip,
:root[data-theme="dark"] .admin-financas_pessoais .finance-summary-line,
:root[data-theme="dark"] .admin-financas_pessoais .category-total-strip {
  border: 0 !important;
}

.admin-fornecedores .supplier-list-panel {
  border-top-color: var(--azul-botao) !important;
}

:root[data-theme="dark"] .admin-fornecedores .supplier-list-panel {
  border-top-color: var(--amarelo) !important;
}

/* Padrão Fornecedores: borda superior dos painéis por tema. */
.admin-fornecedores .panel,
.admin-produtos .panel,
.admin-funcionarios .panel,
.admin-avaliacoes .panel,
.admin-usuarios .panel,
.admin-encomendas .panel,
.admin-compromissos .panel,
.admin-financas_pessoais .panel,
.admin-pagamento_funcionarios .panel,
.admin-documentos .panel,
.admin-empresa .panel,
.admin-empresas .panel,
.employee-profile-theme > .panel,
.employee-profile-theme .document-panel {
  border-top-color: var(--azul-botao) !important;
}

:root[data-theme="dark"] .admin-fornecedores .panel,
:root[data-theme="dark"] .admin-produtos .panel,
:root[data-theme="dark"] .admin-funcionarios .panel,
:root[data-theme="dark"] .admin-avaliacoes .panel,
:root[data-theme="dark"] .admin-usuarios .panel,
:root[data-theme="dark"] .admin-encomendas .panel,
:root[data-theme="dark"] .admin-compromissos .panel,
:root[data-theme="dark"] .admin-financas_pessoais .panel,
:root[data-theme="dark"] .admin-pagamento_funcionarios .panel,
:root[data-theme="dark"] .admin-documentos .panel,
:root[data-theme="dark"] .admin-empresa .panel,
:root[data-theme="dark"] .admin-empresas .panel,
:root[data-theme="dark"] .employee-profile-theme > .panel,
:root[data-theme="dark"] .employee-profile-theme .document-panel {
  border-top-color: var(--amarelo) !important;
}

/* Histórico de Vendas de Encomendas. */
.admin-encomendas .sales-history-filter {
  align-items: end;
  gap: 9px;
  grid-template-columns: minmax(220px, 1.45fr) minmax(150px, 0.82fr) minmax(150px, 0.82fr) 148px 128px;
  padding: 14px;
}

.admin-encomendas .sales-history-filter label {
  font-size: 13px;
  min-width: 0;
}

.admin-encomendas .sales-history-filter select,
.admin-encomendas .sales-history-filter input {
  min-height: 34px;
  padding: 6px 9px;
  width: 100%;
}

.admin-encomendas .sales-history-filter > button[type="submit"] {
  filter: none !important;
  justify-self: stretch;
  min-height: 40px;
  min-width: 0;
  padding: 0 14px;
  transform: none !important;
  width: 100%;
}

.admin-encomendas .sales-history-filter .sales-history-report-button,
.admin-encomendas .sales-history-filter .sales-history-report-button:hover,
.admin-encomendas .sales-history-filter .sales-history-report-button:focus-visible {
  background: var(--azul) !important;
  border-color: var(--azul) !important;
  color: #ffffff !important;
}

.admin-encomendas .sales-history-filter .sales-history-search-button,
.admin-encomendas .sales-history-filter .sales-history-search-button:hover,
.admin-encomendas .sales-history-filter .sales-history-search-button:focus-visible {
  background: var(--amarelo) !important;
  border-color: var(--amarelo) !important;
  color: var(--azul) !important;
}

.admin-encomendas .sales-history-errors,
.admin-encomendas .sales-history-guidance {
  margin: 0 14px 14px;
}

.admin-encomendas .sales-history-errors {
  background: #fff0f3;
  border: 1px solid #ffc2ce;
  border-radius: 8px;
  color: #991b1b;
  display: grid;
  gap: 4px;
  padding: 11px 14px;
}

.admin-encomendas .sales-history-errors p,
.admin-encomendas .sales-history-guidance {
  font-weight: 800;
}

.admin-encomendas .sales-history-errors p {
  margin: 0;
}

.admin-encomendas .sales-history-guidance {
  color: var(--cinza);
  padding: 2px 0;
}

.admin-encomendas .sales-history-results-panel .panel-heading {
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 16px;
}

.admin-encomendas .sales-history-results-panel .panel-heading > span {
  color: var(--cinza);
  font-weight: 800;
}

.admin-encomendas .sales-history-summary {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 14px;
}

.admin-encomendas .sales-history-summary > span {
  background: #f6f9fd;
  border: 1px solid var(--linha);
  border-radius: 8px;
  color: var(--cinza);
  display: grid;
  font-size: 12px;
  font-weight: 800;
  gap: 4px;
  min-height: 64px;
  padding: 10px 12px;
}

.admin-encomendas .sales-history-summary strong {
  color: var(--azul);
  font-size: 17px;
  font-weight: 900;
}

.admin-encomendas .sales-history-table {
  min-width: 790px;
}

.admin-encomendas .sales-history-table th:first-child,
.admin-encomendas .sales-history-table td:first-child {
  width: 82px;
}

.admin-encomendas .sales-history-table th:nth-child(2),
.admin-encomendas .sales-history-table td:nth-child(2) {
  min-width: 210px;
}

.admin-encomendas .sales-history-table th:nth-child(n + 3),
.admin-encomendas .sales-history-table td:nth-child(n + 3) {
  text-align: center;
}

.admin-encomendas .sales-history-photo-cell {
  padding-bottom: 8px;
  padding-top: 8px;
}

.admin-encomendas .sales-history-photo,
.admin-encomendas .sales-history-photo-placeholder {
  border: 1px solid var(--linha);
  border-radius: 7px;
  display: grid;
  height: 54px;
  place-items: center;
  width: 54px;
}

.admin-encomendas .sales-history-photo {
  object-fit: cover;
}

.admin-encomendas .sales-history-photo-placeholder {
  background: linear-gradient(145deg, var(--azul-botao), var(--azul));
  color: #ffffff;
  font-size: 9px;
  font-weight: 900;
  line-height: 1.1;
  text-align: center;
  text-transform: uppercase;
}

.admin-encomendas .sales-history-name-cell strong,
.admin-encomendas .sales-history-percentage-cell strong {
  color: var(--azul);
}

.admin-encomendas .sales-history-percentage-cell {
  display: table-cell;
}

.admin-encomendas .sales-history-percentage-cell small {
  color: var(--cinza);
  display: block;
  font-size: 11px;
  font-weight: 800;
  margin-top: 3px;
}

:root[data-theme="dark"] .admin-encomendas .sales-history-summary > span {
  background: #152238;
  border-color: #2a3d5a;
  color: #d8e6ff;
}

:root[data-theme="dark"] .admin-encomendas .sales-history-summary strong,
:root[data-theme="dark"] .admin-encomendas .sales-history-name-cell strong,
:root[data-theme="dark"] .admin-encomendas .sales-history-percentage-cell strong {
  color: #ffffff;
}

:root[data-theme="dark"] .admin-encomendas .sales-history-results-panel .panel-heading > span,
:root[data-theme="dark"] .admin-encomendas .sales-history-guidance,
:root[data-theme="dark"] .admin-encomendas .sales-history-percentage-cell small {
  color: #d8e6ff;
}

:root[data-theme="dark"] .admin-encomendas .sales-history-table th {
  color: #ffffff !important;
}

@media (max-width: 1100px) {
  .admin-encomendas .sales-history-filter {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .admin-encomendas .sales-history-snack-field {
    grid-column: span 2;
  }

  .admin-encomendas .sales-history-date-field,
  .admin-encomendas .sales-history-filter > button[type="submit"] {
    grid-column: span 1;
  }
}

@media (max-width: 920px) {
  .admin-encomendas .sales-history-filter {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-encomendas .sales-history-snack-field {
    grid-column: 1 / -1;
  }

  .admin-encomendas .sales-history-date-field,
  .admin-encomendas .sales-history-filter > button[type="submit"] {
    grid-column: span 1;
  }

  .admin-encomendas .sales-history-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .admin-encomendas .sales-history-filter,
  .admin-encomendas .sales-history-summary {
    grid-template-columns: 1fr;
  }

  .admin-encomendas .sales-history-snack-field,
  .admin-encomendas .sales-history-date-field,
  .admin-encomendas .sales-history-filter > button[type="submit"] {
    grid-column: 1;
  }
}

@media print {
  .admin-encomendas.sales-history-report-print {
    background: #ffffff !important;
    color: var(--azul) !important;
    font-size: 8pt;
    line-height: 1.12;
  }

  .admin-encomendas.sales-history-report-print .page-heading,
  .admin-encomendas.sales-history-report-print .sales-history-search-panel,
  .admin-encomendas.sales-history-report-print .panel:not(.sales-history-results-panel) {
    display: none !important;
  }

  .admin-encomendas.sales-history-report-print .admin-main {
    margin: 0 !important;
    max-width: none !important;
    padding: 0 !important;
    width: 100% !important;
  }

  .admin-encomendas.sales-history-report-print .sales-history-results-panel,
  .admin-encomendas.sales-history-report-print .sales-history-results-panel * {
    color: var(--azul) !important;
  }

  .admin-encomendas.sales-history-report-print .sales-history-results-panel {
    background: #ffffff !important;
    border: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .admin-encomendas.sales-history-report-print .sales-history-results-panel .panel-heading {
    background: #ffffff !important;
    border-bottom: 2px solid var(--amarelo) !important;
    min-height: 0 !important;
    padding: 0 0 6px !important;
  }

  .admin-encomendas.sales-history-report-print .sales-history-results-panel .panel-heading h2 {
    color: var(--azul) !important;
    font-size: 14pt !important;
    margin: 0 !important;
  }

  .admin-encomendas.sales-history-report-print .sales-history-summary {
    gap: 4px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 6px 0;
  }

  .admin-encomendas.sales-history-report-print .sales-history-summary > span {
    background: #ffffff !important;
    border-color: #d8e0ec !important;
    min-height: 0;
    padding: 5px 6px;
  }

  .admin-encomendas.sales-history-report-print .table-wrap {
    overflow: visible !important;
  }

  .admin-encomendas.sales-history-report-print .sales-history-table {
    background: #ffffff !important;
    border-collapse: collapse !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  .admin-encomendas.sales-history-report-print .sales-history-table th,
  .admin-encomendas.sales-history-report-print .sales-history-table td {
    background: #ffffff !important;
    border-bottom: 1px solid #d8e0ec !important;
    font-size: 7.4pt !important;
    line-height: 1.08 !important;
    padding: 3px 4px !important;
    white-space: normal !important;
  }

  .admin-encomendas.sales-history-report-print .sales-history-table th {
    background: #eef2f7 !important;
  }

  .admin-encomendas.sales-history-report-print .sales-history-table tr {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .admin-encomendas.sales-history-report-print .sales-history-photo,
  .admin-encomendas.sales-history-report-print .sales-history-photo-placeholder {
    height: 32px !important;
    width: 32px !important;
  }

  .admin-encomendas.sales-history-report-print .sales-history-photo-placeholder {
    background: #eef2f7 !important;
    color: var(--azul) !important;
  }
}

/* Visualizador interno de anexos. */
.generated-report-close,
.generated-report-close:hover,
.generated-report-close:focus,
.generated-report-close:focus-visible,
.generated-report-close:active {
  align-items: center !important;
  appearance: none !important;
  background: var(--amarelo) !important;
  border: 2px solid #ffffff !important;
  border-radius: 8px !important;
  box-shadow: 0 6px 18px rgba(1, 12, 34, 0.34) !important;
  color: var(--azul) !important;
  cursor: pointer;
  display: inline-flex !important;
  font-family: Arial, sans-serif;
  font-size: 30px !important;
  font-weight: 800 !important;
  height: 42px !important;
  justify-content: center !important;
  line-height: 1 !important;
  min-height: 42px !important;
  min-width: 42px !important;
  padding: 0 0 3px !important;
  position: fixed !important;
  right: 18px;
  top: 18px;
  width: 42px !important;
  z-index: 2147483300;
}

.generated-report-close:focus-visible {
  outline: 3px solid var(--azul) !important;
  outline-offset: 2px !important;
}

@media print {
  .generated-report-close {
    display: none !important;
  }
}

body.has-attachment-viewer {
  overflow: hidden !important;
}

/* Associação de um cadastro operacional a várias empresas. */
.company-association-field {
  border: 1px solid var(--linha);
  border-radius: 8px;
  grid-column: 1 / -1 !important;
  justify-self: start;
  margin: 0;
  max-width: 360px;
  min-width: 0;
  padding: 3px 7px 5px;
  width: 360px;
}

.company-association-field legend {
  color: var(--azul);
  font-size: 11px;
  font-weight: 900;
  padding: 0 4px;
}

.company-association-options {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.company-association-option {
  align-items: center !important;
  background: color-mix(in srgb, var(--azul) 5%, var(--branco));
  border: 1px solid color-mix(in srgb, var(--azul) 22%, var(--linha));
  border-radius: 6px;
  display: grid !important;
  flex: 1 1 140px;
  font-size: 12px !important;
  gap: 1px 6px !important;
  grid-template-columns: auto minmax(0, 1fr);
  margin: 0 !important;
  max-width: none;
  min-height: 28px;
  padding: 2px 6px !important;
}

.company-association-option input {
  height: 15px !important;
  grid-row: 1 / span 2;
  margin: 0;
  min-height: auto !important;
  width: 15px !important;
}

.company-association-option span {
  font-weight: 800;
  max-width: none;
  overflow: visible;
  white-space: normal;
}

.company-association-option small {
  color: var(--cinza);
  font-size: 9px;
  font-weight: 800;
  line-height: 1.1;
}

.company-association-option.is-existing {
  border-color: color-mix(in srgb, var(--verde-fluor) 58%, var(--linha));
}

.company-association-field > p {
  display: none;
}

@media (max-width: 520px) {
  .company-association-field {
    max-width: 100%;
    width: min(300px, 100%);
  }

  .company-association-option {
    flex: 1 1 125px;
  }
}

:root[data-theme="dark"] .company-association-field legend,
:root[data-theme="dark"] .company-association-option span {
  color: #ffffff;
}

:root[data-theme="dark"] .company-association-option {
  background: #101d32;
  border-color: #344967;
}

.attachment-viewer-modal {
  align-items: center;
  background: rgba(1, 12, 34, 0.82);
  display: none;
  inset: 0;
  justify-content: center;
  padding: 8px;
  position: fixed;
  z-index: 2147483400;
}

.attachment-viewer-modal.is-open {
  display: flex;
}

.attachment-viewer-dialog {
  background: #ffffff;
  border: 2px solid rgba(255, 255, 255, 0.82);
  border-radius: 10px;
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.42);
  height: calc(100vh - 16px);
  height: calc(100dvh - 16px);
  max-height: none;
  max-width: none;
  overflow: hidden;
  position: relative;
  width: calc(100vw - 16px);
}

.attachment-viewer-frame,
.attachment-viewer-image,
.attachment-viewer-pdf,
.attachment-viewer-unsupported {
  background: #ffffff;
  border: 0;
  display: block;
  height: 100%;
  width: 100%;
}

.attachment-viewer-frame[hidden],
.attachment-viewer-image[hidden],
.attachment-viewer-pdf[hidden],
.attachment-viewer-unsupported[hidden] {
  display: none !important;
}

.attachment-viewer-image {
  object-fit: contain;
  object-position: center;
  padding: clamp(6px, 1.2vw, 16px);
}

.attachment-viewer-pdf {
  background: #525659;
  overflow: auto;
  overscroll-behavior: contain;
  padding: 58px 12px 24px;
  -webkit-overflow-scrolling: touch;
}

.attachment-viewer-pdf-pages {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 0 auto;
  width: 100%;
}

.attachment-viewer-pdf-page {
  background: #ffffff;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.34);
  flex: 0 0 auto;
  line-height: 0;
  max-width: 100%;
}

.attachment-viewer-pdf-page canvas {
  background: #ffffff;
  display: block;
  height: auto;
  max-width: 100%;
}

.attachment-viewer-pdf-status {
  background: rgba(1, 22, 58, 0.94);
  border: 2px solid var(--amarelo);
  border-radius: 8px;
  color: #ffffff;
  font-size: 0.95rem;
  font-weight: 700;
  left: 50%;
  margin: 0;
  max-width: calc(100% - 120px);
  padding: 8px 12px;
  position: absolute;
  text-align: center;
  top: 12px;
  transform: translateX(-50%);
  z-index: 1;
}

.attachment-viewer-pdf-status.is-error {
  background: #8f1d2c;
}

.attachment-viewer-unsupported {
  align-items: center;
  color: var(--azul);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 72px 24px 28px;
  text-align: center;
}

.attachment-viewer-unsupported-icon {
  align-items: center;
  background: var(--amarelo);
  border-radius: 50%;
  display: inline-flex;
  font-size: 1.8rem;
  font-weight: 900;
  height: 52px;
  justify-content: center;
  margin-bottom: 14px;
  width: 52px;
}

.attachment-viewer-unsupported p {
  color: inherit;
  font-size: 1.05rem;
  font-weight: 800;
  margin: 0 0 8px;
}

.attachment-viewer-unsupported small {
  color: #53627a;
  font-size: 0.92rem;
}

.attachment-viewer-actions {
  align-items: center;
  display: flex;
  flex-wrap: nowrap;
  gap: 6px;
  position: absolute;
  right: 10px;
  top: 10px;
  z-index: 2;
}

.attachment-viewer-action,
.attachment-viewer-action:hover,
.attachment-viewer-action:focus,
.attachment-viewer-action:focus-visible,
.attachment-viewer-action:active {
  align-items: center !important;
  appearance: none !important;
  background: var(--amarelo) !important;
  border: 2px solid #ffffff !important;
  border-radius: 8px !important;
  box-shadow: 0 6px 16px rgba(1, 12, 34, 0.32) !important;
  color: var(--azul) !important;
  cursor: pointer;
  display: inline-flex !important;
  filter: none !important;
  flex: 0 0 34px !important;
  height: 34px !important;
  justify-content: center !important;
  line-height: 1 !important;
  min-height: 34px !important;
  min-width: 34px !important;
  padding: 0 !important;
  position: static !important;
  text-decoration: none !important;
  transform: none !important;
  width: 34px !important;
}

.attachment-viewer-action:focus-visible {
  outline: 3px solid var(--azul) !important;
  outline-offset: 2px !important;
}

.attachment-viewer-action:disabled {
  cursor: wait;
  opacity: 0.68;
}

.attachment-viewer-action-icon {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: block;
  height: 20px;
  width: 20px;
}

.attachment-viewer-action-svg {
  display: block;
  height: 20px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.2;
  width: 20px;
}

.attachment-viewer-print-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2302163a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 8V3h10v5'/%3E%3Cpath d='M5 17H3V9h18v8h-2'/%3E%3Crect x='5' y='13' width='14' height='8' rx='1'/%3E%3Cpath d='M17 11h.01'/%3E%3C/svg%3E");
}

.attachment-viewer-download-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2302163a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12'/%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3Cpath d='M5 21h14'/%3E%3C/svg%3E");
}

.attachment-viewer-share-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2302163a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='18' cy='5' r='2.5'/%3E%3Ccircle cx='6' cy='12' r='2.5'/%3E%3Ccircle cx='18' cy='19' r='2.5'/%3E%3Cpath d='m8.2 10.8 7.6-4.5M8.2 13.2l7.6 4.5'/%3E%3C/svg%3E");
}

.attachment-viewer-close span {
  color: inherit !important;
  font-family: Arial, sans-serif;
  font-size: 27px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  padding-bottom: 2px;
}

.attachment-print-frame {
  border: 0;
  height: 100vh;
  left: -200vw;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  top: 0;
  width: 100vw;
}

@media (max-width: 640px) {
  .attachment-viewer-dialog {
    height: calc(100vh - 16px);
    height: calc(100dvh - 16px);
  }

  .attachment-viewer-actions {
    right: 8px;
    top: 8px;
  }

  .attachment-viewer-pdf {
    padding: 54px 6px 16px;
  }

  .attachment-viewer-pdf-pages {
    gap: 8px;
  }

  .attachment-viewer-pdf-status {
    left: 8px;
    max-width: calc(100% - 170px);
    overflow: hidden;
    right: auto;
    text-overflow: ellipsis;
    transform: none;
    white-space: nowrap;
  }
}

@media print {
  body.has-attachment-viewer > * {
    visibility: hidden !important;
  }

  body.has-attachment-viewer > .attachment-viewer-modal,
  body.has-attachment-viewer > .attachment-viewer-modal * {
    visibility: visible !important;
  }

  body.has-attachment-viewer > .attachment-viewer-modal {
    background: #ffffff !important;
    display: block !important;
    inset: 0 !important;
    padding: 0 !important;
    position: absolute !important;
  }

  body.has-attachment-viewer .attachment-viewer-dialog,
  body.has-attachment-viewer .attachment-viewer-pdf {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    height: auto !important;
    overflow: visible !important;
    padding: 0 !important;
    width: 100% !important;
  }

  body.has-attachment-viewer .attachment-viewer-actions,
  body.has-attachment-viewer .attachment-viewer-pdf-status {
    display: none !important;
  }

  body.has-attachment-viewer .attachment-viewer-pdf-pages {
    display: block !important;
  }

  body.has-attachment-viewer .attachment-viewer-pdf-page {
    break-after: page;
    box-shadow: none !important;
    margin: 0 auto;
    page-break-after: always;
    width: 100% !important;
  }

  body.has-attachment-viewer .attachment-viewer-pdf-page canvas {
    height: auto !important;
    width: 100% !important;
  }

  body.has-attachment-viewer .attachment-viewer-pdf-page:last-child {
    break-after: auto;
    page-break-after: auto;
  }
}

/* Lista Automática: a categoria usa sua cor; os itens usam somente a faixa de estoque. */
.admin-compras .automatic-shopping-category {
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--categoria-cor) 12%, transparent), transparent 42%),
    var(--branco) !important;
  border-color: color-mix(in srgb, var(--categoria-cor) 28%, var(--linha)) !important;
  border-top: 4px solid var(--categoria-cor, var(--amarelo)) !important;
  border-right: 4px solid var(--categoria-cor, var(--amarelo)) !important;
  border-bottom: 4px solid var(--categoria-cor, var(--amarelo)) !important;
  border-left: 8px solid var(--categoria-cor, var(--amarelo)) !important;
}

.admin-compras .automatic-shopping-category > .panel-heading {
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--categoria-cor, var(--amarelo)) 24%, transparent) 0%, color-mix(in srgb, var(--categoria-cor, var(--amarelo)) 24%, transparent) 50%, transparent 100%) !important;
  border-bottom: 1px solid #d8e0ec !important;
}

.admin-compras .automatic-shopping-table thead th,
.admin-compras .automatic-shopping-table tbody td {
  border-bottom: 1px solid #d8e0ec !important;
}

.admin-compras .automatic-shopping-category h2,
.admin-compras .automatic-shopping-category .panel-heading h2,
.admin-compras .automatic-shopping-category > .panel-heading h2 {
  text-decoration: none !important;
}

.admin-compras .automatic-shopping-category h2::after,
.admin-compras .automatic-shopping-category .panel-heading h2::after,
.admin-compras .automatic-shopping-category > .panel-heading h2::after {
  background: transparent !important;
  content: none !important;
  display: none !important;
  height: 0 !important;
  width: 0 !important;
}

:root[data-theme="dark"] .admin-compras .automatic-shopping-category {
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--categoria-cor) 28%, #101b31) 0%, #0f1b30 58%),
    #0f1b30 !important;
  border-color: color-mix(in srgb, var(--categoria-cor) 46%, #243653) !important;
  border-top-color: var(--categoria-cor, var(--amarelo)) !important;
  border-right-color: var(--categoria-cor, var(--amarelo)) !important;
  border-bottom-color: var(--categoria-cor, var(--amarelo)) !important;
  border-left: 8px solid var(--categoria-cor, var(--amarelo)) !important;
}

:root[data-theme="dark"] .admin-compras .automatic-shopping-category > .panel-heading {
  border-bottom-color: #071225 !important;
}

:root[data-theme="dark"] .admin-compras .automatic-shopping-table thead th,
:root[data-theme="dark"] .admin-compras .automatic-shopping-table tbody td {
  border-bottom-color: #071225 !important;
}

.admin-compras .automatic-shopping-table .stock-band-row-alert,
:root[data-theme="dark"] .admin-compras .automatic-shopping-table .stock-band-row-alert {
  background: transparent !important;
}

.admin-compras .automatic-shopping-table .stock-band-row-alert > td {
  background: var(--faixa-cor, var(--amarelo)) !important;
}

.admin-compras .automatic-shopping-table .stock-band-row-alert > td:first-child {
  box-shadow: none !important;
}

/* Quadro de horários: régua semanal ajustável por funcionário. */
.admin-funcionarios .employee-schedule-grid {
  grid-template-columns: minmax(0, 1fr) !important;
}

.admin-funcionarios .employee-schedule-day,
.admin-funcionarios .employee-schedule-rows,
.admin-funcionarios .employee-shift-workspace,
.admin-funcionarios .employee-shift-editor,
.admin-funcionarios .employee-shift-ruler,
.admin-funcionarios .employee-shift-scroll {
  min-width: 0;
}

.admin-funcionarios .employee-shift-columns,
.admin-funcionarios .employee-shift-row {
  display: grid;
  gap: 12px;
  grid-template-columns: 46px minmax(120px, 1fr) minmax(96px, 0.7fr) minmax(110px, 0.8fr) minmax(420px, 4fr) 78px;
}

.admin-funcionarios .employee-schedule-form.is-readonly .employee-shift-columns,
.admin-funcionarios .employee-schedule-form.is-readonly .employee-schedule-rows:not(.employee-weekly-rows) > .employee-shift-row {
  grid-template-columns: 46px minmax(120px, 1fr) minmax(96px, 0.7fr) minmax(110px, 0.8fr) minmax(420px, 4fr);
}

.admin-funcionarios .employee-schedule-form.is-readonly input:disabled {
  cursor: default;
  opacity: 1;
}

.admin-funcionarios .employee-schedule-form.is-readonly input[type="text"]:disabled {
  color: var(--azul);
  -webkit-text-fill-color: var(--azul);
}

.admin-funcionarios .employee-schedule-form.is-readonly .employee-company-same-week,
.admin-funcionarios .employee-schedule-form.is-readonly .employee-schedule-same-week {
  cursor: default;
}

.admin-funcionarios .employee-shift-columns {
  align-items: center;
  color: var(--azul);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.05em;
  min-height: 36px;
  padding: 0 12px 0 18px;
  text-transform: uppercase;
}

.admin-funcionarios .employee-shift-row {
  align-items: center;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--cargo-cor, var(--amarelo)) 20%, #ffffff), #ffffff 38%);
  border: 1px solid color-mix(in srgb, var(--cargo-cor, var(--amarelo)) 30%, var(--linha));
  border-left: 6px solid var(--cargo-cor, var(--amarelo));
  border-radius: 8px;
  box-shadow: 0 8px 18px rgba(3, 22, 49, 0.06);
  min-height: 88px;
  padding: 10px 12px;
}

.admin-funcionarios .employee-shift-photo {
  align-items: center;
  aspect-ratio: 3 / 4;
  background: linear-gradient(135deg, var(--azul), var(--azul-2));
  border: 2px solid var(--amarelo);
  border-radius: 7px;
  color: var(--branco);
  display: flex;
  font-size: 20px;
  font-weight: 900;
  justify-content: center;
  overflow: hidden;
  width: 46px;
}

.admin-funcionarios .employee-shift-photo img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.admin-funcionarios .employee-shift-name,
.admin-funcionarios .employee-shift-role {
  min-width: 0;
}

.admin-funcionarios .employee-schedule-same-week {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 0;
  color: var(--azul);
  cursor: pointer;
  display: inline-flex;
  font-size: 10px;
  font-weight: 900;
  gap: 6px;
  justify-content: flex-start;
  line-height: 1.1;
  min-height: 34px;
  padding: 0;
  text-align: left;
}

.admin-funcionarios .employee-schedule-same-week input {
  accent-color: var(--azul);
  flex: 0 0 auto;
  height: 16px;
  margin: 0;
  width: 16px;
}

.admin-funcionarios .employee-shift-name {
  color: var(--azul);
  font-size: 14px;
  font-weight: 900;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.admin-funcionarios .employee-shift-role {
  align-items: center;
  color: var(--azul);
  display: flex;
  font-size: 12px;
  font-weight: 900;
  gap: 7px;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.admin-funcionarios .employee-shift-role::before {
  background: var(--cargo-cor, var(--amarelo));
  border: 1px solid color-mix(in srgb, var(--cargo-cor, var(--amarelo)) 72%, var(--azul));
  border-radius: 999px;
  content: "";
  flex: 0 0 11px;
  height: 11px;
  width: 11px;
}

.admin-funcionarios .employee-shift-workspace {
  align-items: center;
  display: grid;
  min-height: 66px;
}

.admin-funcionarios .employee-shift-editor {
  display: grid;
  gap: 6px;
}

.admin-funcionarios .employee-shift-values {
  display: grid;
  gap: 5px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-funcionarios .employee-shift-values > * {
  background: rgba(3, 39, 95, 0.06);
  border: 1px solid rgba(3, 39, 95, 0.10);
  border-radius: 6px;
  color: var(--azul);
  font-size: 10px;
  font-weight: 900;
  line-height: 1.15;
  min-width: 0;
  padding: 3px 5px;
  text-align: center;
}

.admin-funcionarios .employee-shift-values strong,
.admin-funcionarios .employee-shift-values output {
  color: inherit;
  display: block;
  font-size: 11px;
}

.admin-funcionarios .employee-shift-scroll {
  overflow: visible;
}

.admin-funcionarios .employee-shift-ruler {
  width: 100%;
}

.admin-funcionarios .employee-shift-timeline {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 1px 12px 9px;
  position: relative;
  width: 100%;
}

.admin-funcionarios .employee-shift-scale {
  color: var(--azul);
  display: flex;
  font-size: 9px;
  font-weight: 900;
  justify-content: space-between;
  line-height: 1;
  margin: 8px 0 0;
  padding: 0 8px;
  user-select: none;
}

.admin-funcionarios .employee-shift-scale > * {
  flex: 0 0 auto;
  position: relative;
  text-align: center;
}

.admin-funcionarios .employee-shift-scale > *::after {
  background: rgba(3, 22, 58, 0.30);
  content: "";
  height: 5px;
  left: 50%;
  position: absolute;
  top: calc(100% + 3px);
  transform: translateX(-50%);
  width: 1px;
}

.admin-funcionarios .employee-shift-track {
  background: #d8e0ec;
  border: 1px solid #bdc9da;
  border-radius: 999px;
  box-shadow: inset 0 1px 3px rgba(3, 22, 49, 0.14);
  height: 12px;
  position: relative;
  width: 100%;
}

.admin-funcionarios .employee-shift-segment {
  background: linear-gradient(
    90deg,
    var(--cargo-cor, var(--amarelo)),
    color-mix(in srgb, var(--cargo-cor, var(--amarelo)) 72%, var(--azul))
  );
  border: 1px solid color-mix(in srgb, var(--cargo-cor, var(--amarelo)) 70%, var(--azul));
  border-radius: 999px;
  bottom: -1px;
  box-shadow: 0 2px 6px color-mix(in srgb, var(--cargo-cor, var(--amarelo)) 24%, transparent);
  left: var(--segment-start, 0%);
  pointer-events: none;
  position: absolute;
  top: -1px;
  width: var(--segment-size, 0%);
  z-index: 1;
}

.admin-funcionarios .employee-shift-timeline input[type="range"][data-schedule-handle] {
  -webkit-appearance: none !important;
  appearance: none !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  height: 28px !important;
  bottom: auto !important;
  left: 12px !important;
  margin: 0 !important;
  min-height: 0 !important;
  outline: 0 !important;
  padding: 0 !important;
  pointer-events: none;
  position: absolute !important;
  right: 12px !important;
  top: 50% !important;
  transform: translateY(-50%);
  width: calc(100% - 24px) !important;
  z-index: 2;
}

.admin-funcionarios .employee-shift-timeline input[type="range"][data-schedule-handle]::-webkit-slider-runnable-track {
  background: transparent;
  border: 0;
  height: 12px;
}

.admin-funcionarios .employee-shift-timeline input[type="range"][data-schedule-handle]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  background: var(--amarelo);
  border: 3px solid var(--azul);
  border-radius: 999px;
  box-shadow: 0 2px 7px rgba(3, 22, 49, 0.28);
  cursor: grab;
  height: 24px;
  margin-top: -6px;
  pointer-events: auto;
  touch-action: none;
  width: 24px;
}

.admin-funcionarios .employee-shift-timeline input[type="range"][data-schedule-handle]::-moz-range-track {
  background: transparent;
  border: 0;
  height: 12px;
}

.admin-funcionarios .employee-shift-timeline input[type="range"][data-schedule-handle]::-moz-range-progress {
  background: transparent;
  height: 12px;
}

.admin-funcionarios .employee-shift-timeline input[type="range"][data-schedule-handle]::-moz-range-thumb {
  background: var(--amarelo);
  border: 3px solid var(--azul);
  border-radius: 999px;
  box-shadow: 0 2px 7px rgba(3, 22, 49, 0.28);
  cursor: grab;
  height: 18px;
  pointer-events: auto;
  width: 18px;
}

.admin-funcionarios .employee-schedule-form.is-readonly .employee-shift-timeline input[type="range"][data-schedule-handle]::-webkit-slider-thumb,
.admin-funcionarios .employee-schedule-form.is-readonly .employee-shift-timeline input[type="range"][data-schedule-handle]::-moz-range-thumb {
  cursor: default;
  pointer-events: none;
}

.admin-funcionarios .employee-shift-timeline input[type="range"][data-schedule-handle]:active::-webkit-slider-thumb {
  cursor: grabbing;
}

.admin-funcionarios .employee-shift-timeline input[type="range"][data-schedule-handle]:active::-moz-range-thumb {
  cursor: grabbing;
}

.admin-funcionarios .employee-shift-timeline input[type="range"][data-schedule-handle]:focus-visible::-webkit-slider-thumb {
  outline: 3px solid var(--amarelo);
  outline-offset: 3px;
}

.admin-funcionarios .employee-shift-timeline input[type="range"][data-schedule-handle]:focus-visible::-moz-range-thumb {
  outline: 3px solid var(--amarelo);
  outline-offset: 3px;
}

.admin-funcionarios .employee-shift-off-label {
  align-items: center;
  border: 1px dashed color-mix(in srgb, var(--azul) 40%, transparent);
  border-radius: 8px;
  color: var(--azul);
  display: none;
  font-size: 18px;
  font-weight: 900;
  justify-content: center;
  letter-spacing: 0.18em;
  min-height: 58px;
  text-align: center;
}

.admin-funcionarios .employee-shift-row.is-off .employee-shift-editor {
  display: none;
}

.admin-funcionarios .employee-shift-row.is-off .employee-shift-off-label {
  display: flex;
}

.admin-funcionarios .employee-shift-off-toggle,
.admin-funcionarios .employee-shift-off-toggle:hover,
.admin-funcionarios .employee-shift-off-toggle:focus,
.admin-funcionarios .employee-shift-off-toggle:focus-visible,
.admin-funcionarios .employee-shift-off-toggle:active,
:root[data-theme="dark"] .admin-funcionarios .employee-shift-off-toggle,
:root[data-theme="dark"] .admin-funcionarios .employee-shift-off-toggle:hover,
:root[data-theme="dark"] .admin-funcionarios .employee-shift-off-toggle:focus,
:root[data-theme="dark"] .admin-funcionarios .employee-shift-off-toggle:focus-visible,
:root[data-theme="dark"] .admin-funcionarios .employee-shift-off-toggle:active {
  align-self: center;
  background: var(--amarelo) !important;
  border: 1px solid var(--amarelo) !important;
  color: var(--azul) !important;
  filter: none !important;
  font-size: 12px;
  min-height: 38px;
  min-width: 72px;
  padding: 0 9px;
  width: 100%;
}

:root[data-theme="dark"] .admin-funcionarios .employee-shift-row {
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--cargo-cor, var(--amarelo)) 22%, #101b2e), #101b2e 38%);
  border-color: #26364f;
  border-left-color: var(--cargo-cor, var(--amarelo));
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
}

:root[data-theme="dark"] .admin-funcionarios .employee-shift-columns,
:root[data-theme="dark"] .admin-funcionarios .employee-shift-name,
:root[data-theme="dark"] .admin-funcionarios .employee-shift-role,
:root[data-theme="dark"] .admin-funcionarios .employee-shift-scale,
:root[data-theme="dark"] .admin-funcionarios .employee-shift-off-label {
  color: var(--branco);
}

:root[data-theme="dark"] .admin-funcionarios .employee-schedule-same-week {
  background: transparent;
  border: 0;
  color: var(--branco);
}

:root[data-theme="dark"] .admin-funcionarios .employee-schedule-form.is-readonly input[type="text"]:disabled {
  color: var(--branco);
  -webkit-text-fill-color: var(--branco);
}

:root[data-theme="dark"] .admin-funcionarios .employee-shift-values > * {
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(255, 255, 255, 0.13);
  color: var(--branco);
}

:root[data-theme="dark"] .admin-funcionarios .employee-shift-scale > *::after {
  background: rgba(255, 255, 255, 0.34);
}

:root[data-theme="dark"] .admin-funcionarios .employee-shift-track {
  background: #25344b;
  border-color: #3b4d68;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.34);
}

:root[data-theme="dark"] .admin-funcionarios .employee-shift-off-label {
  border-color: rgba(255, 255, 255, 0.30);
}

@media (max-width: 900px) {
  .admin-funcionarios .employee-shift-columns {
    display: none;
  }

  .admin-funcionarios .employee-shift-row {
    grid-template-areas:
      "photo name same toggle"
      "role role role role"
      "workspace workspace workspace workspace";
    grid-template-columns: 46px minmax(110px, 1fr) minmax(96px, 0.8fr) 78px;
  }

  .admin-funcionarios .employee-schedule-form.is-readonly .employee-schedule-rows:not(.employee-weekly-rows) > .employee-shift-row {
    grid-template-areas:
      "photo name same"
      "role role role"
      "workspace workspace workspace";
    grid-template-columns: 46px minmax(110px, 1fr) minmax(96px, 0.8fr);
  }

  .admin-funcionarios .employee-shift-photo {
    grid-area: photo;
  }

  .admin-funcionarios .employee-shift-name {
    grid-area: name;
  }

  .admin-funcionarios .employee-shift-role {
    grid-area: role;
  }

  .admin-funcionarios .employee-schedule-same-week {
    grid-area: same;
  }

  .admin-funcionarios .employee-shift-workspace {
    grid-area: workspace;
    width: 100%;
  }

  .admin-funcionarios .employee-shift-off-toggle {
    grid-area: toggle;
  }

  .admin-funcionarios .employee-shift-scroll {
    -webkit-overflow-scrolling: touch;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    padding: 4px 2px 8px;
    scrollbar-color: var(--amarelo) color-mix(in srgb, var(--azul) 18%, transparent);
    scrollbar-width: thin;
  }

  .admin-funcionarios .employee-shift-ruler {
    min-width: 680px;
  }
}

@media (max-width: 620px) {
  .admin-funcionarios .employee-schedule-form {
    padding: 10px;
  }

  .admin-funcionarios .employee-schedule-rows {
    padding: 9px;
  }

  .admin-funcionarios .employee-shift-row {
    gap: 8px 10px;
    grid-template-areas:
      "photo name toggle"
      "photo role toggle"
      "workspace workspace workspace";
    grid-template-columns: 46px minmax(0, 1fr) 72px;
    padding: 9px;
  }

  .admin-funcionarios .employee-schedule-form.is-readonly .employee-schedule-rows:not(.employee-weekly-rows) > .employee-shift-row {
    grid-template-areas:
      "photo name same"
      "photo role same"
      "workspace workspace workspace";
    grid-template-columns: 46px minmax(0, 1fr) minmax(88px, auto);
  }

  .admin-funcionarios .employee-shift-values > * {
    font-size: 9px;
    padding-inline: 3px;
  }
}

.admin-funcionarios .employee-schedule-weekly-header {
  grid-template-columns: minmax(0, 1fr);
}

.admin-funcionarios .employee-weekly-columns,
.admin-funcionarios .employee-weekly-row {
  display: grid;
  gap: 12px;
  grid-template-columns: 46px minmax(0, 1fr) minmax(112px, auto);
}

.admin-funcionarios .employee-weekly-columns {
  align-items: center;
  color: var(--azul);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.05em;
  min-height: 36px;
  padding: 0 12px 0 18px;
  text-transform: uppercase;
}

.admin-funcionarios .employee-weekly-columns > :last-child {
  text-align: right;
}

.admin-funcionarios .employee-weekly-row {
  grid-template-areas: none;
  min-height: 76px;
}

.admin-funcionarios .employee-weekly-identity {
  align-content: center;
  display: grid;
  gap: 5px;
  min-width: 0;
}

.admin-funcionarios .employee-weekly-row > .employee-shift-photo,
.admin-funcionarios .employee-weekly-identity .employee-shift-name,
.admin-funcionarios .employee-weekly-identity .employee-shift-role {
  grid-area: auto;
}

.admin-funcionarios .employee-weekly-total {
  align-items: center;
  background: var(--amarelo);
  border: 1px solid color-mix(in srgb, var(--amarelo) 76%, var(--azul));
  border-radius: 7px;
  color: var(--azul);
  display: inline-flex;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  font-weight: 900;
  justify-content: center;
  justify-self: end;
  min-height: 40px;
  min-width: 104px;
  padding: 7px 10px;
  white-space: nowrap;
}

:root[data-theme="dark"] .admin-funcionarios .employee-weekly-columns {
  color: var(--branco);
}

@media (max-width: 620px) {
  .admin-funcionarios .employee-weekly-columns,
  .admin-funcionarios .employee-weekly-row {
    gap: 8px;
    grid-template-areas: none;
    grid-template-columns: 46px minmax(0, 1fr) 88px;
  }

  .admin-funcionarios .employee-weekly-columns {
    padding-inline: 9px;
  }

  .admin-funcionarios .employee-weekly-total {
    font-size: 11px;
    min-width: 88px;
    padding-inline: 6px;
  }
}

/* Calendários: desenho amarelo no modo escuro, sem alterar o fundo. */
:root[data-theme="dark"] .history-date-control .history-date-icon.history-date-icon {
  color: var(--amarelo) !important;
}

:root[data-theme="dark"] .history-date-control .history-date-icon.history-date-icon::before {
  border-color: var(--amarelo) !important;
}

:root[data-theme="dark"] .history-date-control .history-date-icon.history-date-icon::after {
  background:
    linear-gradient(var(--amarelo), var(--amarelo)) 4px 3px / 9px 2px no-repeat,
    linear-gradient(var(--amarelo), var(--amarelo)) 4px 8px / 9px 2px no-repeat !important;
}

:root[data-theme="dark"] .history-date-control .history-date-icon.history-date-icon:hover,
:root[data-theme="dark"] .history-date-control:has(.history-date-native:hover) .history-date-icon.history-date-icon,
:root[data-theme="dark"] .history-date-control:has(.history-date-native:focus-visible) .history-date-icon.history-date-icon {
  color: var(--azul) !important;
}

:root[data-theme="dark"] .history-date-control .history-date-icon.history-date-icon:hover::before,
:root[data-theme="dark"] .history-date-control:has(.history-date-native:hover) .history-date-icon.history-date-icon::before,
:root[data-theme="dark"] .history-date-control:has(.history-date-native:focus-visible) .history-date-icon.history-date-icon::before {
  border-color: var(--azul) !important;
}

:root[data-theme="dark"] .history-date-control .history-date-icon.history-date-icon:hover::after,
:root[data-theme="dark"] .history-date-control:has(.history-date-native:hover) .history-date-icon.history-date-icon::after,
:root[data-theme="dark"] .history-date-control:has(.history-date-native:focus-visible) .history-date-icon.history-date-icon::after {
  background:
    linear-gradient(var(--azul), var(--azul)) 4px 3px / 9px 2px no-repeat,
    linear-gradient(var(--azul), var(--azul)) 4px 8px / 9px 2px no-repeat !important;
}

/* Steppers: inversão de cores durante o clique e por 0,5 s após soltar. */
.stock-stepper.stock-stepper button[data-stock-step][data-stock-step]:active,
.stock-stepper.stock-stepper button[data-stock-step][data-stock-step].is-step-feedback {
  background: var(--amarelo) !important;
  color: var(--azul) !important;
}

.stock-stepper.stock-stepper button[data-stock-step][data-stock-step]:active::before,
.stock-stepper.stock-stepper button[data-stock-step][data-stock-step].is-step-feedback::before {
  border-color: var(--azul) !important;
}

:root[data-theme="dark"] .stock-stepper.stock-stepper button[data-stock-step][data-stock-step]:active,
:root[data-theme="dark"] .stock-stepper.stock-stepper button[data-stock-step][data-stock-step].is-step-feedback {
  background: var(--amarelo) !important;
  color: var(--azul) !important;
}

:root[data-theme="dark"] .stock-stepper.stock-stepper button[data-stock-step][data-stock-step]:active::before,
:root[data-theme="dark"] .stock-stepper.stock-stepper button[data-stock-step][data-stock-step].is-step-feedback::before {
  border-color: var(--azul) !important;
}

/* Hover segue a mesma paleta do feedback de clique em cada tema. */
.stock-stepper.stock-stepper button[data-stock-step][data-stock-step]:hover {
  background: var(--amarelo) !important;
  color: var(--azul) !important;
}

.stock-stepper.stock-stepper button[data-stock-step][data-stock-step]:hover::before {
  border-color: var(--azul) !important;
}

:root[data-theme="dark"] .stock-stepper.stock-stepper button[data-stock-step][data-stock-step]:hover {
  background: var(--amarelo) !important;
  color: var(--azul) !important;
}

:root[data-theme="dark"] .stock-stepper.stock-stepper button[data-stock-step][data-stock-step]:hover::before {
  border-color: var(--azul) !important;
}

/* Estoque: cor da faixa solida ate 50% e degradando para transparente. */
.admin-estoque .stock-entry-panel {
  border-color: var(--categoria-cor, var(--amarelo)) !important;
  border-top: 4px solid var(--categoria-cor, var(--amarelo)) !important;
  border-right: 4px solid var(--categoria-cor, var(--amarelo)) !important;
  border-bottom: 4px solid var(--categoria-cor, var(--amarelo)) !important;
  border-left: 8px solid var(--categoria-cor, var(--amarelo)) !important;
}

.admin-estoque .stock-entry-panel .panel-heading {
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--categoria-cor, var(--amarelo)) 24%, transparent) 0%, color-mix(in srgb, var(--categoria-cor, var(--amarelo)) 24%, transparent) 50%, transparent 100%) !important;
  border-bottom-color: transparent !important;
}

.admin-estoque .stock-entry-panel .panel-heading h2,
.admin-estoque .stock-entry-panel .panel-heading h2:hover,
.admin-estoque .stock-entry-panel .panel-heading h2:focus {
  border-bottom: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

.admin-estoque .stock-entry-panel .panel-heading h2::after {
  background: transparent !important;
  content: none !important;
  display: none !important;
  height: 0 !important;
  width: 0 !important;
}

.admin-estoque .stock-entry-row.stock-entry-row-red.stock-band-row-red {
  --faixa-cor: #dc2626;
}

.admin-estoque .stock-entry-row.stock-entry-row-yellow.stock-band-row-yellow {
  --faixa-cor: var(--amarelo);
}

.admin-estoque .stock-entry-row.stock-entry-row-green {
  --faixa-cor: #26ff00;
}

.admin-estoque .stock-entry-row.stock-entry-row-red.stock-band-row-red,
.admin-estoque .stock-entry-row.stock-entry-row-yellow.stock-band-row-yellow,
.admin-estoque .stock-entry-row.stock-entry-row-green {
  background: linear-gradient(
    90deg,
    var(--faixa-cor) 0%,
    var(--faixa-cor) 50%,
    transparent 100%
  ) !important;
  border-color: var(--faixa-cor) !important;
}

.admin-encomendas .module-floating-home-button,
.admin-encomendas .module-floating-home-button:link,
.admin-encomendas .module-floating-home-button:visited,
.admin-encomendas .module-floating-home-button:hover,
.admin-encomendas .module-floating-home-button:focus,
.admin-encomendas .module-floating-home-button:focus-visible,
.admin-encomendas .module-floating-home-button:active,
.admin-encomendas .module-floating-fullscreen-button,
.admin-encomendas .module-floating-fullscreen-button:hover,
.admin-encomendas .module-floating-fullscreen-button:focus,
.admin-encomendas .module-floating-fullscreen-button:focus-visible,
.admin-encomendas .module-floating-fullscreen-button:active,
.admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active,
.admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active:hover,
.admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active:focus,
.admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active:focus-visible,
.admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active:active {
  -webkit-tap-highlight-color: transparent !important;
  appearance: none !important;
  background: var(--amarelo) !important;
  border-color: rgba(255, 255, 255, 0.72) !important;
  box-shadow: 0 12px 24px rgba(3, 22, 49, 0.24) !important;
  color: var(--azul) !important;
  filter: none !important;
  outline: none !important;
  text-decoration: none !important;
  transform: none !important;
  transition: none !important;
  user-select: none !important;
}

.admin-encomendas .module-floating-home-button span,
.admin-encomendas .module-floating-home-button:hover span,
.admin-encomendas .module-floating-home-button:focus span,
.admin-encomendas .module-floating-home-button:focus-visible span,
.admin-encomendas .module-floating-home-button:active span,
.admin-encomendas .module-floating-fullscreen-button::before,
.admin-encomendas .module-floating-fullscreen-button:hover::before,
.admin-encomendas .module-floating-fullscreen-button:focus::before,
.admin-encomendas .module-floating-fullscreen-button:focus-visible::before,
.admin-encomendas .module-floating-fullscreen-button:active::before,
.admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active::before,
.admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active:hover::before,
.admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active:focus::before,
.admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active:focus-visible::before,
.admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active:active::before {
  color: var(--azul) !important;
  filter: none !important;
  font-size: 28px !important;
  transform: none !important;
  transition: none !important;
}

.admin-encomendas .module-floating-fullscreen-button::before,
.admin-encomendas .module-floating-fullscreen-button:hover::before,
.admin-encomendas .module-floating-fullscreen-button:focus::before,
.admin-encomendas .module-floating-fullscreen-button:focus-visible::before,
.admin-encomendas .module-floating-fullscreen-button:active::before,
.admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active::before,
.admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active:hover::before,
.admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active:focus::before,
.admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active:focus-visible::before,
.admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active:active::before {
  content: "⛶" !important;
}

:root[data-theme="dark"] .admin-encomendas .module-floating-home-button,
:root[data-theme="dark"] .admin-encomendas .module-floating-home-button:link,
:root[data-theme="dark"] .admin-encomendas .module-floating-home-button:visited,
:root[data-theme="dark"] .admin-encomendas .module-floating-home-button:hover,
:root[data-theme="dark"] .admin-encomendas .module-floating-home-button:focus,
:root[data-theme="dark"] .admin-encomendas .module-floating-home-button:focus-visible,
:root[data-theme="dark"] .admin-encomendas .module-floating-home-button:active,
:root[data-theme="dark"] .admin-encomendas .module-floating-fullscreen-button,
:root[data-theme="dark"] .admin-encomendas .module-floating-fullscreen-button:hover,
:root[data-theme="dark"] .admin-encomendas .module-floating-fullscreen-button:focus,
:root[data-theme="dark"] .admin-encomendas .module-floating-fullscreen-button:focus-visible,
:root[data-theme="dark"] .admin-encomendas .module-floating-fullscreen-button:active,
:root[data-theme="dark"] .admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active,
:root[data-theme="dark"] .admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active:hover,
:root[data-theme="dark"] .admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active:focus,
:root[data-theme="dark"] .admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active:focus-visible,
:root[data-theme="dark"] .admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active:active {
  background: var(--azul) !important;
  border-color: rgba(255, 255, 255, 0.28) !important;
  color: var(--amarelo) !important;
}

:root[data-theme="dark"] .admin-encomendas .module-floating-home-button span,
:root[data-theme="dark"] .admin-encomendas .module-floating-home-button:hover span,
:root[data-theme="dark"] .admin-encomendas .module-floating-home-button:focus span,
:root[data-theme="dark"] .admin-encomendas .module-floating-home-button:focus-visible span,
:root[data-theme="dark"] .admin-encomendas .module-floating-home-button:active span,
:root[data-theme="dark"] .admin-encomendas .module-floating-fullscreen-button::before,
:root[data-theme="dark"] .admin-encomendas .module-floating-fullscreen-button:hover::before,
:root[data-theme="dark"] .admin-encomendas .module-floating-fullscreen-button:focus::before,
:root[data-theme="dark"] .admin-encomendas .module-floating-fullscreen-button:focus-visible::before,
:root[data-theme="dark"] .admin-encomendas .module-floating-fullscreen-button:active::before,
:root[data-theme="dark"] .admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active::before,
:root[data-theme="dark"] .admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active:hover::before,
:root[data-theme="dark"] .admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active:focus::before,
:root[data-theme="dark"] .admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active:focus-visible::before,
:root[data-theme="dark"] .admin-encomendas .module-floating-fullscreen-button.is-fullscreen-active:active::before {
  color: var(--amarelo) !important;
}

html:fullscreen .admin-encomendas .module-floating-fullscreen-button,
html:-webkit-full-screen .admin-encomendas .module-floating-fullscreen-button {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

:root[data-theme="dark"] .history-calendar-popover .history-calendar-grid button.is-disabled,
:root[data-theme="dark"] .history-calendar-popover .history-calendar-grid button:disabled,
:root[data-theme="dark"] .history-calendar-popover .history-calendar-grid button.is-disabled:hover,
:root[data-theme="dark"] .history-calendar-popover .history-calendar-grid button:disabled:hover,
:root[data-theme="dark"] .history-calendar-popover .history-calendar-grid button.is-disabled:focus-visible,
:root[data-theme="dark"] .history-calendar-popover .history-calendar-grid button:disabled:focus-visible {
  background: transparent !important;
  box-shadow: none !important;
  color: rgba(255, 255, 255, 0.42) !important;
  cursor: not-allowed;
  opacity: 0.55;
}

.module-subnav a:not(.active):not(:hover):not(:focus-visible),
:root[data-theme="dark"] .module-subnav a:not(.active):not(:hover):not(:focus-visible) {
  background: var(--azul-botao) !important;
  border-color: rgba(255, 255, 255, 0.28) !important;
  color: var(--branco) !important;
}

.module-subnav a.active,
.module-subnav a:hover,
.module-subnav a:focus-visible,
:root[data-theme="dark"] .module-subnav a.active,
:root[data-theme="dark"] .module-subnav a:hover,
:root[data-theme="dark"] .module-subnav a:focus-visible {
  background: var(--amarelo) !important;
  color: var(--azul) !important;
}

/* Identidade e navegação próprias do módulo de Etiquetas. */
.icon-label {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffdf00' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12 12 3h8v8l-9 9-8-8Z'/%3E%3Ccircle cx='16.5' cy='6.5' r='1.2' fill='%23fff' stroke='none'/%3E%3Cpath d='m8 12 4 4m-1-7 4 4' stroke='%23fff'/%3E%3C/svg%3E");
}

.admin-etiquetas .page-heading::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect width='64' height='64' rx='10' fill='%23010b22'/%3E%3Cpath d='M12 28 29 11h22v22L34 50 12 28Z' fill='none' stroke='%23ffdf00' stroke-width='5' stroke-linejoin='round'/%3E%3Ccircle cx='42' cy='20' r='4' fill='%23fff'/%3E%3Cpath d='m23 30 11 11M28 25l11 11M19 34l10 10' stroke='%23fff' stroke-width='3.5' stroke-linecap='round'/%3E%3C/svg%3E");
}

:root[data-theme="dark"] .history-calendar-popover .history-month-grid button,
:root[data-theme="dark"] .history-calendar-popover .history-month-grid button:hover,
:root[data-theme="dark"] .history-calendar-popover .history-month-grid button:focus-visible {
  color: #ffffff !important;
}

:root[data-theme="dark"] .history-calendar-popover .history-calendar-grid button.is-selected,
:root[data-theme="dark"] .history-calendar-popover .history-month-grid button.is-selected {
  color: var(--azul) !important;
}

/* Lista Atual: regra final real para o modo escuro usar as bordas do modo claro. */
:root[data-theme="dark"] .admin-compras .category-admin:not(.automatic-shopping-category) {
  border-left: 8px solid var(--categoria-cor, var(--amarelo)) !important;
  border-top: 4px solid var(--categoria-cor, var(--amarelo)) !important;
}

/* Garantia final: o tema escuro nunca é levado aos PDFs de relatórios. */
@media print {
  .admin-historico.history-report-print,
  .admin-estoque.stock-report-print,
  .admin-encomendas.sales-history-report-print {
    background: #ffffff !important;
    color: #02163a !important;
    color-scheme: light !important;
  }

  .admin-historico.history-report-print .history-report-panel,
  .admin-historico.history-report-print .history-report-panel *,
  .admin-estoque.stock-report-print .stock-report-panel,
  .admin-estoque.stock-report-print .stock-report-panel *,
  .admin-encomendas.sales-history-report-print .sales-history-results-panel,
  .admin-encomendas.sales-history-report-print .sales-history-results-panel * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .admin-historico.history-report-print .admin-main,
  .admin-historico.history-report-print .history-report-panel,
  .admin-historico.history-report-print .history-report-panel .table-wrap,
  .admin-historico.history-report-print .history-report-panel table,
  .admin-historico.history-report-print .history-report-panel tbody,
  .admin-estoque.stock-report-print .admin-main,
  .admin-estoque.stock-report-print .stock-report-panel,
  .admin-estoque.stock-report-print .stock-report-panel .table-wrap,
  .admin-estoque.stock-report-print .stock-report-panel table,
  .admin-estoque.stock-report-print .stock-report-panel tbody,
  .admin-encomendas.sales-history-report-print .admin-main,
  .admin-encomendas.sales-history-report-print .sales-history-results-panel,
  .admin-encomendas.sales-history-report-print .sales-history-results-panel .table-wrap,
  .admin-encomendas.sales-history-report-print .sales-history-table,
  .admin-encomendas.sales-history-report-print .sales-history-table tbody {
    background: #ffffff !important;
    color: #02163a !important;
  }

  .admin-historico.history-report-print .history-report-panel .panel-heading,
  .admin-estoque.stock-report-print .stock-report-panel .panel-heading,
  .admin-encomendas.sales-history-report-print .sales-history-results-panel .panel-heading {
    background: #02163a !important;
    border-color: #ffdf00 !important;
    color: #ffffff !important;
  }

  .admin-historico.history-report-print .history-report-panel .panel-heading h2,
  .admin-estoque.stock-report-print .stock-report-panel .panel-heading h2,
  .admin-encomendas.sales-history-report-print .sales-history-results-panel .panel-heading h2 {
    color: #ffffff !important;
  }

  .admin-historico.history-report-print .history-report-panel .panel-heading > span,
  .admin-estoque.stock-report-print .stock-report-panel .panel-heading > span,
  .admin-encomendas.sales-history-report-print .sales-history-results-panel .panel-heading > span {
    color: #ffdf00 !important;
  }

  .admin-historico.history-report-print .history-report-panel .panel-heading > span strong,
  .admin-encomendas.sales-history-report-print .sales-history-results-panel .panel-heading > span strong {
    color: #ffffff !important;
  }

  .admin-historico.history-report-print .history-summary > span,
  .admin-encomendas.sales-history-report-print .sales-history-summary > span {
    background: #02163a !important;
    border-color: #ffdf00 !important;
    color: #ffdf00 !important;
  }

  .admin-historico.history-report-print .history-summary > span strong,
  .admin-encomendas.sales-history-report-print .sales-history-summary > span strong {
    color: #ffffff !important;
  }

  .admin-historico.history-report-print .history-report-panel th,
  .admin-estoque.stock-report-print .stock-report-panel th,
  .admin-encomendas.sales-history-report-print .sales-history-table th {
    background: #02163a !important;
    border-color: #ffffff !important;
    color: #ffffff !important;
  }

  .admin-historico.history-report-print .history-report-panel tbody td,
  .admin-estoque.stock-report-print .stock-report-panel tbody td,
  .admin-encomendas.sales-history-report-print .sales-history-table tbody td {
    border-color: #d1d9e6 !important;
    color: #02163a !important;
  }

  .admin-historico.history-report-print .history-report-panel tbody tr:nth-child(odd) td,
  .admin-estoque.stock-report-print .stock-report-panel tbody tr:nth-child(odd) td,
  .admin-encomendas.sales-history-report-print .sales-history-table tbody tr:nth-child(odd) td {
    background: #f6f8fc !important;
  }

  .admin-historico.history-report-print .history-report-panel tbody tr:nth-child(even) td,
  .admin-estoque.stock-report-print .stock-report-panel tbody tr:nth-child(even) td,
  .admin-encomendas.sales-history-report-print .sales-history-table tbody tr:nth-child(even) td {
    background: #ffffff !important;
  }

  .admin-historico.history-report-print .history-report-panel tbody td strong,
  .admin-estoque.stock-report-print .stock-report-panel tbody td strong,
  .admin-encomendas.sales-history-report-print .sales-history-table tbody td strong {
    color: #02163a !important;
  }

  .admin-encomendas.sales-history-report-print .sales-history-table tbody td small {
    color: #596b85 !important;
  }

  .admin-encomendas.sales-history-report-print .sales-history-photo-placeholder {
    background: #dae0ec !important;
    color: #02163a !important;
  }

  .admin-historico.history-report-print .history-summary,
  .admin-encomendas.sales-history-report-print .sales-history-summary,
  :root[data-theme="dark"] .admin-historico.history-report-print .history-summary,
  :root[data-theme="dark"] .admin-encomendas.sales-history-report-print .sales-history-summary {
    background: #ffffff !important;
    border-color: #ffffff !important;
    color: #02163a !important;
  }

  :root[data-theme="dark"] .admin-historico.history-report-print,
  :root[data-theme="dark"] .admin-estoque.stock-report-print,
  :root[data-theme="dark"] .admin-encomendas.sales-history-report-print,
  :root[data-theme="dark"] .admin-historico.history-report-print .admin-main,
  :root[data-theme="dark"] .admin-historico.history-report-print .history-report-panel,
  :root[data-theme="dark"] .admin-historico.history-report-print .history-report-panel .table-wrap,
  :root[data-theme="dark"] .admin-historico.history-report-print .history-report-panel table,
  :root[data-theme="dark"] .admin-historico.history-report-print .history-report-panel tbody,
  :root[data-theme="dark"] .admin-estoque.stock-report-print .admin-main,
  :root[data-theme="dark"] .admin-estoque.stock-report-print .stock-report-panel,
  :root[data-theme="dark"] .admin-estoque.stock-report-print .stock-report-panel .table-wrap,
  :root[data-theme="dark"] .admin-estoque.stock-report-print .stock-report-panel table,
  :root[data-theme="dark"] .admin-estoque.stock-report-print .stock-report-panel tbody,
  :root[data-theme="dark"] .admin-encomendas.sales-history-report-print .admin-main,
  :root[data-theme="dark"] .admin-encomendas.sales-history-report-print .sales-history-results-panel,
  :root[data-theme="dark"] .admin-encomendas.sales-history-report-print .sales-history-results-panel .table-wrap,
  :root[data-theme="dark"] .admin-encomendas.sales-history-report-print .sales-history-table,
  :root[data-theme="dark"] .admin-encomendas.sales-history-report-print .sales-history-table tbody {
    background: #ffffff !important;
    color: #02163a !important;
    color-scheme: light !important;
  }

  :root[data-theme="dark"] .admin-historico.history-report-print .history-report-panel .panel-heading,
  :root[data-theme="dark"] .admin-estoque.stock-report-print .stock-report-panel .panel-heading,
  :root[data-theme="dark"] .admin-encomendas.sales-history-report-print .sales-history-results-panel .panel-heading {
    background: #02163a !important;
    border-color: #ffdf00 !important;
    color: #ffffff !important;
  }

  :root[data-theme="dark"] .admin-historico.history-report-print .history-report-panel .panel-heading h2,
  :root[data-theme="dark"] .admin-estoque.stock-report-print .stock-report-panel .panel-heading h2,
  :root[data-theme="dark"] .admin-encomendas.sales-history-report-print .sales-history-results-panel .panel-heading h2 {
    color: #ffffff !important;
  }

  :root[data-theme="dark"] .admin-historico.history-report-print .history-report-panel .panel-heading > span,
  :root[data-theme="dark"] .admin-estoque.stock-report-print .stock-report-panel .panel-heading > span,
  :root[data-theme="dark"] .admin-encomendas.sales-history-report-print .sales-history-results-panel .panel-heading > span {
    color: #ffdf00 !important;
  }

  :root[data-theme="dark"] .admin-historico.history-report-print .history-report-panel .panel-heading > span strong,
  :root[data-theme="dark"] .admin-encomendas.sales-history-report-print .sales-history-results-panel .panel-heading > span strong {
    color: #ffffff !important;
  }

  :root[data-theme="dark"] .admin-historico.history-report-print .history-summary > span,
  :root[data-theme="dark"] .admin-encomendas.sales-history-report-print .sales-history-summary > span {
    background: #02163a !important;
    border-color: #ffdf00 !important;
    color: #ffdf00 !important;
  }

  :root[data-theme="dark"] .admin-historico.history-report-print .history-summary > span strong,
  :root[data-theme="dark"] .admin-encomendas.sales-history-report-print .sales-history-summary > span strong {
    color: #ffffff !important;
  }

  :root[data-theme="dark"] .admin-historico.history-report-print .history-report-panel th,
  :root[data-theme="dark"] .admin-estoque.stock-report-print .stock-report-panel th,
  :root[data-theme="dark"] .admin-encomendas.sales-history-report-print .sales-history-table th {
    background: #02163a !important;
    border-color: #ffffff !important;
    color: #ffffff !important;
  }

  :root[data-theme="dark"] .admin-historico.history-report-print .history-report-panel tbody td,
  :root[data-theme="dark"] .admin-estoque.stock-report-print .stock-report-panel tbody td,
  :root[data-theme="dark"] .admin-encomendas.sales-history-report-print .sales-history-table tbody td {
    border-color: #d1d9e6 !important;
    color: #02163a !important;
  }

  :root[data-theme="dark"] .admin-historico.history-report-print .history-report-panel tbody tr:nth-child(odd) td,
  :root[data-theme="dark"] .admin-estoque.stock-report-print .stock-report-panel tbody tr:nth-child(odd) td,
  :root[data-theme="dark"] .admin-encomendas.sales-history-report-print .sales-history-table tbody tr:nth-child(odd) td {
    background: #f6f8fc !important;
  }

  :root[data-theme="dark"] .admin-historico.history-report-print .history-report-panel tbody tr:nth-child(even) td,
  :root[data-theme="dark"] .admin-estoque.stock-report-print .stock-report-panel tbody tr:nth-child(even) td,
  :root[data-theme="dark"] .admin-encomendas.sales-history-report-print .sales-history-table tbody tr:nth-child(even) td {
    background: #ffffff !important;
  }

  :root[data-theme="dark"] .admin-historico.history-report-print .history-report-panel tbody td strong,
  :root[data-theme="dark"] .admin-estoque.stock-report-print .stock-report-panel tbody td strong,
  :root[data-theme="dark"] .admin-encomendas.sales-history-report-print .sales-history-table tbody td strong {
    color: #02163a !important;
  }

  :root[data-theme="dark"] .admin-encomendas.sales-history-report-print .sales-history-table tbody td small {
    color: #596b85 !important;
  }

  :root[data-theme="dark"] .admin-encomendas.sales-history-report-print .sales-history-photo-placeholder {
    background: #dae0ec !important;
    color: #02163a !important;
  }

  /* Escala tipográfica dos relatórios, baseada no PDF de Ranking. */
  .admin-historico.history-report-print,
  .admin-estoque.stock-report-print,
  .admin-encomendas.sales-history-report-print,
  :root[data-theme="dark"] .admin-historico.history-report-print,
  :root[data-theme="dark"] .admin-estoque.stock-report-print,
  :root[data-theme="dark"] .admin-encomendas.sales-history-report-print {
    font-size: 8pt !important;
    line-height: 1.15 !important;
  }

  .admin-historico.history-report-print .history-report-panel .panel-heading,
  .admin-estoque.stock-report-print .stock-report-panel .panel-heading,
  .admin-encomendas.sales-history-report-print .sales-history-results-panel .panel-heading,
  :root[data-theme="dark"] .admin-historico.history-report-print .history-report-panel .panel-heading,
  :root[data-theme="dark"] .admin-estoque.stock-report-print .stock-report-panel .panel-heading,
  :root[data-theme="dark"] .admin-encomendas.sales-history-report-print .sales-history-results-panel .panel-heading {
    align-items: center !important;
    box-sizing: border-box !important;
    flex-wrap: wrap !important;
    gap: 6pt 12pt !important;
    min-height: 56pt !important;
    padding: 10pt 12pt !important;
  }

  .admin-historico.history-report-print .history-report-panel .panel-heading h2,
  .admin-estoque.stock-report-print .stock-report-panel .panel-heading h2,
  .admin-encomendas.sales-history-report-print .sales-history-results-panel .panel-heading h2,
  :root[data-theme="dark"] .admin-historico.history-report-print .history-report-panel .panel-heading h2,
  :root[data-theme="dark"] .admin-estoque.stock-report-print .stock-report-panel .panel-heading h2,
  :root[data-theme="dark"] .admin-encomendas.sales-history-report-print .sales-history-results-panel .panel-heading h2 {
    font-size: 14pt !important;
    line-height: 1.05 !important;
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
  }

  .admin-historico.history-report-print .history-report-panel .panel-heading > span,
  .admin-estoque.stock-report-print .stock-report-panel .panel-heading > span,
  .admin-encomendas.sales-history-report-print .sales-history-results-panel .panel-heading > span,
  :root[data-theme="dark"] .admin-historico.history-report-print .history-report-panel .panel-heading > span,
  :root[data-theme="dark"] .admin-estoque.stock-report-print .stock-report-panel .panel-heading > span,
  :root[data-theme="dark"] .admin-encomendas.sales-history-report-print .sales-history-results-panel .panel-heading > span {
    font-size: 8pt !important;
    line-height: 1.15 !important;
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
  }

  .admin-historico.history-report-print .history-report-panel .panel-heading > span strong,
  .admin-estoque.stock-report-print .stock-report-panel .panel-heading > span strong,
  .admin-encomendas.sales-history-report-print .sales-history-results-panel .panel-heading > span strong,
  :root[data-theme="dark"] .admin-historico.history-report-print .history-report-panel .panel-heading > span strong,
  :root[data-theme="dark"] .admin-estoque.stock-report-print .stock-report-panel .panel-heading > span strong,
  :root[data-theme="dark"] .admin-encomendas.sales-history-report-print .sales-history-results-panel .panel-heading > span strong {
    font-size: 10pt !important;
    line-height: 1.05 !important;
  }

  .admin-historico.history-report-print .history-summary > span,
  .admin-encomendas.sales-history-report-print .sales-history-summary > span,
  :root[data-theme="dark"] .admin-historico.history-report-print .history-summary > span,
  :root[data-theme="dark"] .admin-encomendas.sales-history-report-print .sales-history-summary > span {
    font-size: 6.5pt !important;
    line-height: 1.15 !important;
  }

  .admin-historico.history-report-print .history-summary > span strong,
  .admin-encomendas.sales-history-report-print .sales-history-summary > span strong,
  :root[data-theme="dark"] .admin-historico.history-report-print .history-summary > span strong,
  :root[data-theme="dark"] .admin-encomendas.sales-history-report-print .sales-history-summary > span strong {
    font-size: 10pt !important;
    line-height: 1.05 !important;
  }

  .admin-historico.history-report-print .history-report-panel th,
  .admin-estoque.stock-report-print .stock-report-panel th,
  .admin-encomendas.sales-history-report-print .sales-history-table th,
  :root[data-theme="dark"] .admin-historico.history-report-print .history-report-panel th,
  :root[data-theme="dark"] .admin-estoque.stock-report-print .stock-report-panel th,
  :root[data-theme="dark"] .admin-encomendas.sales-history-report-print .sales-history-table th {
    font-size: 6.5pt !important;
    line-height: 1.1 !important;
  }

  .admin-historico.history-report-print .history-report-panel tbody td,
  .admin-estoque.stock-report-print .stock-report-panel tbody td,
  .admin-encomendas.sales-history-report-print .sales-history-table tbody td,
  :root[data-theme="dark"] .admin-historico.history-report-print .history-report-panel tbody td,
  :root[data-theme="dark"] .admin-estoque.stock-report-print .stock-report-panel tbody td,
  :root[data-theme="dark"] .admin-encomendas.sales-history-report-print .sales-history-table tbody td {
    font-size: 7.5pt !important;
    line-height: 1.15 !important;
  }

  .admin-historico.history-report-print .history-report-panel tbody td strong,
  .admin-estoque.stock-report-print .stock-report-panel tbody td strong,
  .admin-encomendas.sales-history-report-print .sales-history-table tbody td strong,
  :root[data-theme="dark"] .admin-historico.history-report-print .history-report-panel tbody td strong,
  :root[data-theme="dark"] .admin-estoque.stock-report-print .stock-report-panel tbody td strong,
  :root[data-theme="dark"] .admin-encomendas.sales-history-report-print .sales-history-table tbody td strong {
    font-size: 7.5pt !important;
    line-height: 1.15 !important;
  }

  .admin-encomendas.sales-history-report-print .sales-history-table tbody td small,
  :root[data-theme="dark"] .admin-encomendas.sales-history-report-print .sales-history-table tbody td small {
    font-size: 6.5pt !important;
    line-height: 1.1 !important;
  }

  .admin-encomendas.sales-history-report-print .module-floating-home-button,
  .admin-encomendas.sales-history-report-print .module-floating-fullscreen-button,
  :root[data-theme="dark"] .admin-encomendas.sales-history-report-print .module-floating-home-button,
  :root[data-theme="dark"] .admin-encomendas.sales-history-report-print .module-floating-fullscreen-button {
    display: none !important;
  }
}

/* Atalho Home operacional: transparente e alinhado ao canto inferior direito. */
.admin-encomendas .module-floating-home-button,
.admin-encomendas .module-floating-home-button:link,
.admin-encomendas .module-floating-home-button:visited,
.admin-encomendas .module-floating-home-button:hover,
.admin-encomendas .module-floating-home-button:focus,
.admin-encomendas .module-floating-home-button:focus-visible,
.admin-encomendas .module-floating-home-button:active,
body.admin-encomendas.admin-encomendas-quadro-restrito .module-floating-home-button,
body.admin-encomendas.admin-encomendas-quadro-restrito .module-floating-home-button:hover,
body.admin-encomendas.admin-encomendas-quadro-restrito .module-floating-home-button:focus-visible,
body.admin-encomendas.admin-encomendas-quadro-restrito .module-floating-home-button:active {
  background: transparent !important;
  border: 2px solid var(--azul) !important;
  box-shadow: none !important;
  color: var(--azul) !important;
  filter: none !important;
  left: auto !important;
  right: 18px !important;
  transform: none !important;
}

.admin-encomendas .module-floating-home-button span,
.admin-encomendas .module-floating-home-button:hover span,
.admin-encomendas .module-floating-home-button:focus-visible span,
.admin-encomendas .module-floating-home-button:active span,
body.admin-encomendas.admin-encomendas-quadro-restrito .module-floating-home-button span {
  color: var(--azul) !important;
}

.admin-encomendas .module-floating-home-button:focus-visible,
body.admin-encomendas.admin-encomendas-quadro-restrito .module-floating-home-button:focus-visible {
  outline: 2px solid var(--azul) !important;
  outline-offset: 2px;
}

:root[data-theme="dark"] .admin-encomendas .module-floating-home-button,
:root[data-theme="dark"] .admin-encomendas .module-floating-home-button:link,
:root[data-theme="dark"] .admin-encomendas .module-floating-home-button:visited,
:root[data-theme="dark"] .admin-encomendas .module-floating-home-button:hover,
:root[data-theme="dark"] .admin-encomendas .module-floating-home-button:focus,
:root[data-theme="dark"] .admin-encomendas .module-floating-home-button:focus-visible,
:root[data-theme="dark"] .admin-encomendas .module-floating-home-button:active,
:root[data-theme="dark"] body.admin-encomendas.admin-encomendas-quadro-restrito .module-floating-home-button,
:root[data-theme="dark"] body.admin-encomendas.admin-encomendas-quadro-restrito .module-floating-home-button:hover,
:root[data-theme="dark"] body.admin-encomendas.admin-encomendas-quadro-restrito .module-floating-home-button:focus-visible,
:root[data-theme="dark"] body.admin-encomendas.admin-encomendas-quadro-restrito .module-floating-home-button:active {
  background: transparent !important;
  border-color: var(--branco) !important;
  color: var(--branco) !important;
}

:root[data-theme="dark"] .admin-encomendas .module-floating-home-button span,
:root[data-theme="dark"] .admin-encomendas .module-floating-home-button:hover span,
:root[data-theme="dark"] .admin-encomendas .module-floating-home-button:focus-visible span,
:root[data-theme="dark"] .admin-encomendas .module-floating-home-button:active span,
:root[data-theme="dark"] body.admin-encomendas.admin-encomendas-quadro-restrito .module-floating-home-button span {
  color: var(--branco) !important;
}

:root[data-theme="dark"] .admin-encomendas .module-floating-home-button:focus-visible,
:root[data-theme="dark"] body.admin-encomendas.admin-encomendas-quadro-restrito .module-floating-home-button:focus-visible {
  outline-color: var(--branco) !important;
}

/* Atalho Home da Avaliação de Atendimento segue o padrão operacional. */
.service-rating-page .service-rating-home-button,
.service-rating-page .service-rating-home-button:link,
.service-rating-page .service-rating-home-button:visited,
.service-rating-page .service-rating-home-button:hover,
.service-rating-page .service-rating-home-button:focus,
.service-rating-page .service-rating-home-button:focus-visible,
.service-rating-page .service-rating-home-button:active {
  background: transparent !important;
  border: 2px solid var(--azul) !important;
  box-shadow: none !important;
  color: var(--azul) !important;
  filter: none !important;
  left: auto !important;
  right: 18px !important;
  text-shadow: none !important;
  transform: none !important;
}

.service-rating-page .service-rating-home-button span,
.service-rating-page .service-rating-home-button:hover span,
.service-rating-page .service-rating-home-button:focus-visible span,
.service-rating-page .service-rating-home-button:active span {
  color: var(--azul) !important;
}

.service-rating-page .service-rating-home-button:focus-visible {
  outline: 2px solid var(--azul) !important;
  outline-offset: 2px;
}

:root[data-theme="dark"] .service-rating-page .service-rating-home-button,
:root[data-theme="dark"] .service-rating-page .service-rating-home-button:link,
:root[data-theme="dark"] .service-rating-page .service-rating-home-button:visited,
:root[data-theme="dark"] .service-rating-page .service-rating-home-button:hover,
:root[data-theme="dark"] .service-rating-page .service-rating-home-button:focus,
:root[data-theme="dark"] .service-rating-page .service-rating-home-button:focus-visible,
:root[data-theme="dark"] .service-rating-page .service-rating-home-button:active {
  background: transparent !important;
  border-color: var(--branco) !important;
  color: var(--branco) !important;
}

:root[data-theme="dark"] .service-rating-page .service-rating-home-button span,
:root[data-theme="dark"] .service-rating-page .service-rating-home-button:hover span,
:root[data-theme="dark"] .service-rating-page .service-rating-home-button:focus-visible span,
:root[data-theme="dark"] .service-rating-page .service-rating-home-button:active span {
  color: var(--branco) !important;
}

:root[data-theme="dark"] .service-rating-page .service-rating-home-button:focus-visible {
  outline-color: var(--branco) !important;
}

/* Seletor de horario das encomendas: duas roletas independentes de hora e minuto. */
.admin-encomendas .order-time-control {
  display: block;
  position: relative;
}

.admin-encomendas .order-time-control input[data-order-time-input] {
  caret-color: transparent;
  cursor: pointer;
  font-variant-numeric: tabular-nums;
  font-weight: 900;
  letter-spacing: 0.08em;
  padding-right: 46px;
  text-align: center;
}

.admin-encomendas .order-time-open-button,
.admin-encomendas .order-time-open-button:hover,
.admin-encomendas .order-time-open-button:focus,
.admin-encomendas .order-time-open-button:focus-visible,
.admin-encomendas .order-time-open-button:active {
  align-items: center;
  background: transparent !important;
  border: 0 !important;
  border-radius: 50%;
  box-shadow: none !important;
  display: flex;
  filter: none !important;
  height: 36px;
  justify-content: center;
  margin: 0;
  min-width: 0;
  padding: 0;
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%) !important;
  width: 36px;
}

.admin-encomendas .order-time-open-button:focus-visible {
  outline: 2px solid var(--azul) !important;
  outline-offset: 1px;
}

.admin-encomendas .order-time-open-button > span {
  border: 2px solid var(--azul);
  border-radius: 50%;
  display: block;
  height: 19px;
  position: relative;
  width: 19px;
}

.admin-encomendas .order-time-open-button > span::before,
.admin-encomendas .order-time-open-button > span::after {
  background: var(--azul);
  border-radius: 99px;
  content: "";
  left: 50%;
  position: absolute;
  top: 50%;
  transform-origin: 0 50%;
}

.admin-encomendas .order-time-open-button > span::before {
  height: 2px;
  transform: translateY(-1px) rotate(-90deg);
  width: 5px;
}

.admin-encomendas .order-time-open-button > span::after {
  height: 2px;
  transform: translateY(-1px) rotate(25deg);
  width: 6px;
}

.order-time-picker-layer[hidden] {
  display: none !important;
}

.order-time-picker-layer {
  align-items: center;
  display: grid;
  inset: 0;
  justify-items: center;
  overscroll-behavior: none;
  padding: 12px;
  position: fixed;
  z-index: 18000;
}

.order-time-picker-backdrop,
.order-time-picker-backdrop:hover,
.order-time-picker-backdrop:focus,
.order-time-picker-backdrop:focus-visible,
.order-time-picker-backdrop:active {
  -webkit-appearance: none;
  -webkit-tap-highlight-color: transparent;
  appearance: none;
  background: rgba(3, 12, 27, 0.76) !important;
  border: 0 !important;
  border-radius: 0;
  box-shadow: none !important;
  filter: none !important;
  inset: 0;
  margin: 0;
  min-height: 0;
  padding: 0;
  position: absolute;
  transform: none !important;
  width: auto;
}

.order-time-picker-dialog {
  background: #ffffff;
  border: 2px solid #16375f;
  border-radius: 18px;
  border-top: 5px solid #16375f;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.42);
  max-height: calc(100dvh - 24px);
  max-width: 440px;
  overflow: hidden;
  position: relative;
  width: 100%;
  z-index: 1;
}

.order-time-picker-heading {
  align-items: center;
  background: #f3f7fc;
  border-bottom: 1px solid #ccd7e5;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  padding: 14px 16px;
}

.order-time-picker-heading h2 {
  color: #0b2341;
  font-size: 1.05rem;
  line-height: 1.2;
  margin: 0;
}

.order-time-picker-heading div > span {
  color: #51657e;
  font-size: 0.78rem;
  font-weight: 800;
  text-align: right;
}

.order-time-picker-preview {
  background: #0b2341;
  color: #ffdf00;
  font-size: clamp(1.65rem, 8vw, 2.2rem);
  font-variant-numeric: tabular-nums;
  font-weight: 950;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 14px 16px;
  text-align: center;
}

.order-time-picker-wheels {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 14px 16px 16px;
}

.order-time-picker-column {
  min-width: 0;
}

.order-time-picker-column h3 {
  color: #0b2341;
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  margin: 0 0 8px;
  text-align: center;
  text-transform: uppercase;
}

.order-time-wheel-shell {
  position: relative;
}

.order-time-wheel {
  --order-time-item-height: 48px;
  --order-time-wheel-height: 240px;
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 22%, #000 78%, transparent);
  -webkit-overflow-scrolling: touch;
  background: #f2f5f9;
  border: 1px solid #c7d3e1;
  border-radius: 14px;
  height: var(--order-time-wheel-height);
  mask-image: linear-gradient(to bottom, transparent, #000 22%, #000 78%, transparent);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: none;
  overscroll-behavior-y: none;
  padding-block: calc((var(--order-time-wheel-height) - var(--order-time-item-height)) / 2);
  scroll-snap-type: y mandatory;
  scrollbar-width: none;
  touch-action: pan-y;
}

.order-time-wheel::-webkit-scrollbar {
  display: none;
}

.order-time-wheel-option,
.order-time-wheel-option:hover,
.order-time-wheel-option:focus,
.order-time-wheel-option:focus-visible,
.order-time-wheel-option:active {
  align-items: center;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0;
  box-shadow: none !important;
  color: #687b92 !important;
  display: flex;
  filter: none !important;
  font-size: 1.2rem;
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  height: var(--order-time-item-height);
  justify-content: center;
  margin: 0;
  min-height: var(--order-time-item-height);
  min-width: 0;
  opacity: 0.74;
  padding: 0;
  scroll-snap-align: center;
  transform: none !important;
  transition: color 120ms ease, font-size 120ms ease, opacity 120ms ease;
  width: 100%;
}

.order-time-wheel-option.is-selected,
.order-time-wheel-option.is-selected:hover,
.order-time-wheel-option.is-selected:focus,
.order-time-wheel-option.is-selected:active {
  color: #0b2341 !important;
  font-size: 1.65rem;
  opacity: 1;
}

.order-time-wheel-option:focus-visible {
  outline: 2px solid #16375f !important;
  outline-offset: -4px;
}

.order-time-wheel-selection {
  background: rgba(57, 255, 20, 0.1);
  border-bottom: 2px solid #39ff14;
  border-top: 2px solid #39ff14;
  height: var(--order-time-item-height);
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.order-time-picker-actions {
  background: #f3f7fc;
  border-top: 1px solid #ccd7e5;
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 12px 16px 14px;
}

.order-time-picker-actions button,
.order-time-picker-actions button:hover,
.order-time-picker-actions button:focus,
.order-time-picker-actions button:active {
  border-radius: 9px;
  box-shadow: none !important;
  filter: none !important;
  font-weight: 900;
  margin: 0;
  min-height: 44px;
  padding: 10px 14px;
  transform: none !important;
  width: 100%;
}

.order-time-picker-actions [data-order-time-cancel],
.order-time-picker-actions [data-order-time-cancel]:hover,
.order-time-picker-actions [data-order-time-cancel]:focus,
.order-time-picker-actions [data-order-time-cancel]:active {
  background: #16375f !important;
  border: 2px solid #16375f !important;
  color: #ffffff !important;
}

.order-time-picker-actions [data-order-time-apply],
.order-time-picker-actions [data-order-time-apply]:hover,
.order-time-picker-actions [data-order-time-apply]:focus,
.order-time-picker-actions [data-order-time-apply]:active {
  background: #ffdf00 !important;
  border: 2px solid #d0ad00 !important;
  color: #0b2341 !important;
}

.order-time-picker-actions button:focus-visible {
  outline: 2px solid #0b2341 !important;
  outline-offset: 2px;
}

:root[data-theme="dark"] .admin-encomendas .order-time-open-button > span {
  border-color: #ffffff;
}

:root[data-theme="dark"] .admin-encomendas .order-time-open-button > span::before,
:root[data-theme="dark"] .admin-encomendas .order-time-open-button > span::after {
  background: #ffffff;
}

:root[data-theme="dark"] .admin-encomendas .order-time-open-button:focus-visible {
  outline-color: #ffdf00 !important;
}

:root[data-theme="dark"] .order-time-picker-dialog {
  background: #0d192a;
  border-color: #2b3d55;
  border-top-color: #ffdf00;
}

:root[data-theme="dark"] .order-time-picker-heading,
:root[data-theme="dark"] .order-time-picker-actions {
  background: #111f32;
  border-color: #2b3d55;
}

:root[data-theme="dark"] .order-time-picker-heading h2,
:root[data-theme="dark"] .order-time-picker-column h3 {
  color: #ffffff;
}

:root[data-theme="dark"] .order-time-picker-heading div > span {
  color: #cad5e2;
}

:root[data-theme="dark"] .order-time-picker-preview {
  background: #071225;
  color: #ffdf00;
}

:root[data-theme="dark"] .order-time-wheel {
  background: #071225;
  border-color: #2b3d55;
}

:root[data-theme="dark"] .order-time-wheel-option,
:root[data-theme="dark"] .order-time-wheel-option:hover,
:root[data-theme="dark"] .order-time-wheel-option:focus,
:root[data-theme="dark"] .order-time-wheel-option:active {
  color: #aab9ca !important;
}

:root[data-theme="dark"] .order-time-wheel-option.is-selected,
:root[data-theme="dark"] .order-time-wheel-option.is-selected:hover,
:root[data-theme="dark"] .order-time-wheel-option.is-selected:focus,
:root[data-theme="dark"] .order-time-wheel-option.is-selected:active {
  color: #ffffff !important;
}

:root[data-theme="dark"] .order-time-wheel-selection {
  background: rgba(57, 255, 20, 0.1);
  border-color: #39ff14;
}

:root[data-theme="dark"] .order-time-wheel-option:focus-visible {
  outline-color: #ffdf00 !important;
}

:root[data-theme="dark"] .order-time-picker-actions button:focus-visible {
  outline-color: #ffffff !important;
}

@media (max-width: 430px) {
  .order-time-picker-dialog {
    border-radius: 14px;
  }

  .order-time-picker-heading {
    padding: 12px 14px;
  }

  .order-time-picker-heading div > span {
    max-width: 112px;
  }

  .order-time-picker-preview {
    padding: 11px 14px;
  }

  .order-time-picker-wheels {
    gap: 10px;
    padding: 12px 12px 14px;
  }

  .order-time-wheel {
    --order-time-wheel-height: 216px;
  }

  .order-time-picker-actions {
    padding: 10px 12px 12px;
  }
}
