:root {
  --app-bg: #d9e5ef;
  --window-bg: #f4f5f7;
  --surface: #ffffff;
  --surface-muted: #f7f8fa;
  --surface-soft: #eef2f6;
  --title-start: #d8ebf8;
  --title-end: #a9c9e4;
  --title-text: #18364e;
  --border: #c9d2dc;
  --border-strong: #a8b6c4;
  --text: #16212b;
  --text-soft: #5c6a78;
  --link: #1f5d96;
  --selected: #d6ebff;
  --selected-border: #99bfdf;
  --stripe: #f3f5f7;
  --success: #2e7d32;
  --warning: #b07a00;
  --danger: #c4552f;
  --shadow: 0 14px 30px rgba(47, 72, 97, 0.12);
  --shadow-lg: 0 20px 55px rgba(45, 77, 108, 0.16);
  --radius: 14px;
}

/* Camada visual moderna: mantém a paleta azul original, com superfícies mais leves. */
.icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

html,
body {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 13px;
  background: radial-gradient(circle at 12% 0%, #edf7ff 0, transparent 30%), linear-gradient(145deg, #dce8f1 0%, #cbd9e5 100%);
}

.app-shell { padding: 18px; }

.window-frame {
  overflow: hidden;
  border: 1px solid rgba(127, 160, 187, .62);
  border-radius: 18px;
  background: rgba(248, 251, 253, .86);
  box-shadow: var(--shadow-lg);
}

.window-titlebar {
  min-height: 64px;
  padding: 0 22px;
  background: linear-gradient(110deg, #e5f4ff, #c9e4f6 55%, #b5d4eb);
  border-bottom-color: rgba(128, 166, 193, .55);
}

.window-company-logo { width: 40px; height: 40px; border-radius: 10px; border: 0; box-shadow: 0 3px 10px rgba(46, 81, 110, .15); }
.window-company-meta strong { font-size: 14px; letter-spacing: -.01em; }
.window-company-meta small { font-size: 11px; }

.workspace-shell { grid-template-columns: 260px minmax(0, 1fr); min-height: calc(100vh - 100px); }
.window-frame.sidebar-collapsed .workspace-shell { grid-template-columns: 82px minmax(0, 1fr); }

.sidebar { gap: 18px; padding: 16px 12px; background: linear-gradient(180deg, #f9fcff 0%, #eaf2f8 100%); border-right-color: rgba(143, 171, 193, .38); }
.sidebar__header { padding: 0 6px; }
.sidebar__brand-icon { width: 30px; height: 30px; padding: 5px; color: #1972af; border: 0; border-radius: 9px; background: #d7edfc; }
.sidebar__brand-icon::before { display: none; }
.sidebar__brand-copy strong { font-size: 14px; color: #1f4664; }
.sidebar__brand-copy small { font-size: 11px; }

.sidebar-toggle { width: 32px; height: 32px; border-radius: 9px; border-color: transparent; background: transparent; }
.sidebar-toggle:hover { background: #dfeefa; border-color: transparent; }
.sidebar-nav { gap: 5px; }
.sidebar-nav a { min-height: 44px; padding: 9px 11px; border: 0; border-radius: 10px; background: transparent; color: #45617a; font-weight: 600; transition: background .18s ease, color .18s ease, transform .18s ease; }
.sidebar-nav a:hover { border: 0; background: #e2f0fb; color: #1c5d8d; transform: translateX(2px); }
.sidebar-nav a.is-active { border: 0; background: linear-gradient(100deg, #cae8fa, #e7f4fd); color: #15537f; box-shadow: inset 3px 0 #237cb8; }
.sidebar-nav__icon { width: 25px; height: 25px; padding: 4px; border: 0; border-radius: 7px; background: #e9f3fa; color: #397eaf; }
.sidebar-nav a.is-active .sidebar-nav__icon { background: #fff; color: #1972ad; }

.workspace-header { min-height: 68px; padding: 10px 24px; background: rgba(255, 255, 255, .72); border-bottom-color: rgba(143, 171, 193, .3); }
.workspace-caption { color: #284d6b; font-size: 14px; }
.workspace-caption__icon { width: 28px; height: 28px; padding: 5px; border: 0; border-radius: 8px; background: #e3f1fb; color: #2a78ae; }
.workspace-caption__icon::before { display: none; }
.workspace-user strong { font-size: 13px; }

.page { gap: 18px; padding: 24px; }
.window-statusbar { padding: 10px 20px; background: rgba(255, 255, 255, .65); border-top-color: rgba(143, 171, 193, .3); }

.legacy-group { overflow: hidden; border: 1px solid rgba(154, 179, 198, .45); border-radius: var(--radius); background: rgba(255,255,255,.92); box-shadow: 0 4px 14px rgba(70, 100, 125, .06); }
.legacy-group__legend { padding: 15px 18px; border-bottom: 1px solid #e5eef4; background: transparent; color: #294f6e; font-size: 14px; font-weight: 700; }
.legacy-group__actionbar { padding: 14px 18px; }

.dashboard-panel { padding: 0; }
.dashboard-grid { padding: 18px; gap: 14px; }
.dashboard-card { position: relative; min-height: 126px; padding: 21px; border: 1px solid #e2edf4; border-radius: 14px; background: linear-gradient(145deg, #fff, #f5faff); box-shadow: 0 5px 16px rgba(65, 103, 135, .07); overflow: hidden; }
.dashboard-card::after { content: ""; position: absolute; right: -25px; bottom: -38px; width: 108px; height: 108px; border-radius: 50%; background: currentColor; opacity: .055; }
.dashboard-card span:not(.dashboard-card__icon) { display: block; color: #60758a; font-weight: 600; }
.dashboard-card strong { display: block; margin-top: 10px; color: #244b68; font-size: 32px; letter-spacing: -.04em; }
.dashboard-card__icon { position: absolute; right: 17px; top: 17px; width: 38px; height: 38px; padding: 9px; border-radius: 11px; }
.dashboard-card--blue { color: #287bb4; }.dashboard-card--blue .dashboard-card__icon { background: #e1f2fd; }
.dashboard-card--slate { color: #647a90; }.dashboard-card--slate .dashboard-card__icon { background: #edf1f5; }
.dashboard-card--amber { color: #ba8215; }.dashboard-card--amber .dashboard-card__icon { background: #fff3d8; }
.dashboard-card--green { color: #398363; }.dashboard-card--green .dashboard-card__icon { background: #e4f6ed; }
.dashboard-card--purple { color: #8064ac; }.dashboard-card--purple .dashboard-card__icon { background: #f0eafd; }

input, select, textarea { min-height: 38px; border: 1px solid #cbdbe7; border-radius: 8px; background: #fff; padding: 8px 10px; transition: border-color .18s ease, box-shadow .18s ease; }
input:focus, select:focus, textarea:focus { border-color: #5c9fca; box-shadow: 0 0 0 3px rgba(82, 150, 197, .16); outline: 0; }
.button { min-height: 36px; border: 0; border-radius: 8px; padding: 8px 13px; background: linear-gradient(135deg, #287bb4, #1f689e); box-shadow: 0 3px 7px rgba(30, 99, 150, .18); font-weight: 650; transition: transform .15s ease, box-shadow .15s ease; }
.button:hover { transform: translateY(-1px); box-shadow: 0 5px 12px rgba(30, 99, 150, .24); }
.button-secondary { background: #edf4f8; color: #315b7b; box-shadow: none; border: 1px solid #d5e2eb; }
.button-secondary:hover { background: #e0eff9; }
.data-grid { border-collapse: separate; border-spacing: 0; }
.data-grid th { padding: 12px; background: #edf5fa; color: #47647b; font-size: 11px; letter-spacing: .025em; text-transform: uppercase; }
.data-grid td { padding: 12px; border-bottom-color: #e8eff4; }
.data-grid tbody tr:hover td { background: #f1f8fd; }
.badge { border-radius: 999px; padding: 4px 8px; font-weight: 700; }
.modal__dialog { border: 0; border-radius: 16px; box-shadow: 0 25px 80px rgba(21, 51, 75, .28); overflow: hidden; }
.modal__header { padding: 18px 20px; background: #f4f9fc; border-bottom: 1px solid #e1ebf2; }

@media (max-width: 760px) {
  .app-shell { padding: 0; }
  .window-frame { border: 0; border-radius: 0; }
  .page { padding: 16px; }
  .workspace-header { padding: 10px 16px; }
  .window-titlebar { padding: 0 16px; }
}

/* Direção visual 2: interface de operação contemporânea. */
:root {
  --navy-950: #102b43;
  --navy-900: #173f60;
  --navy-800: #1d527b;
  --blue-500: #3a99d4;
}

body {
  background: #edf3f7;
}

.app-shell {
  padding: 0;
}

.window-frame {
  min-height: 100vh;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: #edf3f7;
}

.window-titlebar {
  display: none;
}

.workspace-shell,
.window-frame.sidebar-collapsed .workspace-shell {
  min-height: 100vh;
}

.workspace-shell {
  grid-template-columns: 264px minmax(0, 1fr);
}

.window-frame.sidebar-collapsed .workspace-shell {
  grid-template-columns: 78px minmax(0, 1fr);
}

.sidebar {
  position: relative;
  gap: 26px;
  padding: 22px 14px;
  color: #d7e9f6;
  background: linear-gradient(165deg, var(--navy-950) 0%, var(--navy-900) 52%, #1c5279 100%);
  border: 0;
}

.sidebar::after {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: #65b9e8;
  content: "";
  filter: blur(2px);
  opacity: .08;
  transform: translate(45%, 42%);
  pointer-events: none;
}

.sidebar__header {
  position: relative;
  z-index: 1;
  padding: 0 8px 10px;
}

.sidebar__brand-icon {
  width: 34px;
  height: 34px;
  color: #fff;
  background: linear-gradient(135deg, #58b4e7, #2f85bf);
  box-shadow: 0 8px 18px rgba(2, 25, 44, .28);
}

.sidebar__brand-copy strong,
.sidebar__brand-copy small {
  color: #fff;
}

.sidebar__brand-copy strong {
  font-size: 15px;
  letter-spacing: .01em;
}

.sidebar__brand-copy small {
  color: #9ec5dd;
}

.sidebar-toggle {
  color: #c3e0f1;
}

.sidebar-toggle span,
.sidebar-toggle span::before,
.sidebar-toggle span::after {
  background: currentColor;
}

.sidebar-toggle:hover {
  color: #fff;
  background: rgba(255,255,255,.12);
}

.sidebar-nav {
  position: relative;
  z-index: 1;
  gap: 7px;
}

.sidebar-nav a {
  color: #bed6e7;
  font-size: 13px;
  font-weight: 560;
}

.sidebar-nav a:hover {
  color: #fff;
  background: rgba(126, 195, 232, .13);
  transform: none;
}

.sidebar-nav a.is-active {
  color: #fff;
  background: linear-gradient(90deg, rgba(100,186,231,.32), rgba(82,163,211,.18));
  box-shadow: inset 3px 0 #75c7f0;
}

.sidebar-nav__icon {
  color: #a9d8f1;
  background: rgba(255,255,255,.08);
}

.sidebar-nav a.is-active .sidebar-nav__icon {
  color: #fff;
  background: rgba(106, 193, 237, .25);
}

.workspace-header {
  min-height: 76px;
  padding: 14px 32px;
  background: rgba(255,255,255,.94);
  border-bottom: 1px solid #dce7ee;
}

.workspace-caption {
  color: #173f60;
  font-size: 15px;
  font-weight: 750;
}

.workspace-user {
  padding-right: 10px;
}

.workspace-user strong {
  color: #173f60;
}

.page {
  width: min(1480px, 100%);
  margin: 0 auto;
  padding: 32px;
}

.window-statusbar {
  display: none;
}

.legacy-group {
  border: 1px solid #e0eaf0;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(35, 74, 104, .055);
}

.legacy-group__legend {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 62px;
  padding: 18px 22px;
  color: #1d4869;
  font-size: 15px;
}

.legacy-group__legend small {
  color: #8297a7;
  font-size: 11px;
  font-weight: 500;
}

.legacy-layout,
.legacy-layout--double {
  gap: 20px;
}

.dashboard-hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 190px;
  padding: 30px 34px;
  overflow: hidden;
  border-radius: 18px;
  color: #fff;
  background: linear-gradient(118deg, #123957 0%, #1e628f 58%, #2c8ec7 100%);
  box-shadow: 0 14px 30px rgba(24, 83, 121, .18);
}

.dashboard-hero::after,
.dashboard-hero::before {
  position: absolute;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.dashboard-hero::before { width: 310px; height: 310px; right: -95px; top: -165px; }
.dashboard-hero::after { width: 230px; height: 230px; right: 68px; bottom: -155px; }
.dashboard-hero > * { position: relative; z-index: 1; }
.dashboard-hero__eyebrow { display: block; margin-bottom: 8px; color: #a8dcfa; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.dashboard-hero h1 { margin: 0; font-size: clamp(26px, 3vw, 38px); line-height: 1.08; letter-spacing: -.045em; }
.dashboard-hero p { max-width: 520px; margin: 11px 0 0; color: #d1eafb; font-size: 14px; }
.dashboard-hero__action { display: inline-flex; align-items: center; gap: 18px; padding: 13px 16px 13px 18px; border-radius: 10px; color: #124465; background: #fff; font-weight: 700; box-shadow: 0 7px 18px rgba(4, 38, 63, .15); }
.dashboard-hero__action span:last-child { display: grid; width: 23px; height: 23px; place-items: center; border-radius: 50%; color: #fff; background: #277eb6; }
.dashboard-hero__action:hover { color: #124465; transform: translateY(-2px); }

.dashboard-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  padding: 20px 22px 24px;
}

.dashboard-card {
  min-height: 148px;
  border: 1px solid #e3edf3;
  box-shadow: none;
}

.dashboard-card:hover {
  border-color: #c7dfed;
  box-shadow: 0 10px 20px rgba(52, 104, 138, .09);
  transform: translateY(-3px);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.button {
  border-radius: 9px;
}

.data-grid th {
  background: #f4f8fb;
}

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

@media (max-width: 900px) {
  .workspace-shell,
  .window-frame.sidebar-collapsed .workspace-shell { grid-template-columns: 1fr; }
  .sidebar { padding: 14px; }
  .sidebar-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .window-frame.sidebar-collapsed .sidebar { display: none; }
}

@media (max-width: 700px) {
  .workspace-header { min-height: auto; padding: 12px 18px; }
  .page { padding: 18px; }
  .dashboard-hero { align-items: flex-start; flex-direction: column; min-height: 0; padding: 28px 24px; }
  .dashboard-grid { grid-template-columns: 1fr 1fr; padding: 14px; }
  .dashboard-card { min-height: 120px; padding: 17px; }
  .dashboard-card strong { font-size: 27px; }
}

/* Padrão ERP: interface compacta, orientada a dados e ações rápidas. */
:root {
  --erp-blue: #1b5f91;
  --erp-blue-dark: #174b72;
  --erp-teal: #087d82;
  --erp-line: #b6c4ce;
  --erp-panel: #f8fafb;
}

body {
  background: #dbe3e8;
  font-family: Tahoma, "Segoe UI", Arial, sans-serif;
  font-size: 12px;
}

.window-frame {
  min-height: calc(100vh - 12px);
  margin: 6px;
  border: 1px solid #7890a1;
  border-radius: 2px;
  background: #f3f5f6;
  box-shadow: 0 2px 8px rgba(36, 57, 73, .2);
}

.window-titlebar {
  display: flex;
  min-height: 30px;
  padding: 0 10px;
  color: #183b56;
  background: linear-gradient(#e9f3f9, #c8d9e5);
  border-bottom: 1px solid #8ca6b8;
}

.window-company-logo { width: 24px; height: 24px; padding: 1px; border-radius: 0; box-shadow: none; }
.window-company-meta { display: flex; align-items: baseline; gap: 8px; }
.window-company-meta strong { font-size: 12px; }
.window-company-meta small { font-size: 10px; }

.workspace-shell { grid-template-columns: 198px minmax(0, 1fr); min-height: calc(100vh - 48px); }
.window-frame.sidebar-collapsed .workspace-shell { grid-template-columns: 54px minmax(0, 1fr); }

.sidebar {
  gap: 7px;
  padding: 7px;
  background: #eef2f5;
  border-right: 1px solid var(--erp-line);
}

.sidebar__header {
  padding: 0 3px 7px;
  border-bottom: 1px solid #cbd6dd;
}

.sidebar__brand-icon { width: 22px; height: 22px; padding: 4px; border-radius: 2px; background: var(--erp-blue); }
.sidebar__brand-copy strong { color: #274c67; font-size: 12px; }
.sidebar__brand-copy small { color: #6c8090; font-size: 10px; }
.sidebar-toggle { width: 25px; height: 25px; border: 1px solid #afbfca; border-radius: 2px; color: #45677e; background: linear-gradient(#fff, #e5edf2); }
.sidebar-toggle:hover { border-color: #8aa8bb; background: #dcecf5; }

.sidebar-nav { gap: 2px; }
.sidebar-nav a { min-height: 31px; padding: 5px 7px; border-radius: 2px; color: #2c5879; font-size: 12px; font-weight: 400; }
.sidebar-nav a:hover { color: #124e78; background: #dbeef9; }
.sidebar-nav a.is-active { color: #0f5278; background: #cfe8f6; box-shadow: inset 2px 0 #16838d; font-weight: 700; }
.sidebar-nav__icon { width: 20px; height: 20px; padding: 3px; border-radius: 2px; color: #2773a1; background: #fff; border: 1px solid #c2d3df; }
.sidebar-nav a.is-active .sidebar-nav__icon { color: #176b98; background: #f6fcff; }

.workspace-header {
  min-height: 42px;
  padding: 5px 10px;
  background: linear-gradient(#fff, #edf2f5);
  border-bottom: 1px solid #b9c8d2;
}
.workspace-caption { font-size: 12px; color: #234e6a; }
.workspace-caption__icon { width: 22px; height: 22px; padding: 4px; border: 1px solid #abc4d4; border-radius: 2px; background: #e5f2f9; }
.workspace-user { padding: 0 6px; }
.workspace-user strong { font-size: 11px; }
.workspace-user small { font-size: 10px; }
.workspace-header .button { min-height: 26px; padding: 4px 8px; }

.page { width: 100%; padding: 10px; background: #f6f7f8; }
.window-statusbar { display: flex; padding: 4px 8px; font-size: 10px; }

.dashboard-hero {
  min-height: auto;
  padding: 7px 10px;
  border: 1px solid #bdcbd4;
  border-left: 3px solid var(--erp-teal);
  border-radius: 0;
  background: #fff;
}
.dashboard-hero__eyebrow { margin-bottom: 2px; color: var(--erp-teal); font-size: 10px; }
.dashboard-hero h1 { font-size: 15px; letter-spacing: 0; }
.dashboard-hero p { margin-top: 2px; font-size: 11px; }
.dashboard-hero__action { padding: 5px 8px; border-color: #8caec4; border-radius: 2px; color: #174e74; font-size: 11px; }

.legacy-group { overflow: visible; border: 1px solid #aebfc9; border-radius: 0; background: #fff; box-shadow: none; }
.legacy-group__legend { position: relative; min-height: 29px; padding: 7px 10px; color: #065e78; font-size: 12px; border-bottom: 1px solid #c6d3db; background: linear-gradient(#f9fcfd, #edf3f5); }
.legacy-group__legend::before { width: 3px; height: 14px; margin-right: 7px; background: var(--erp-teal); content: ""; }
.legacy-group__legend small { margin-left: auto; font-size: 10px; }
.legacy-group__actionbar { padding: 8px 10px; }
.legacy-layout, .legacy-layout--double { gap: 10px; }

.dashboard-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; padding: 10px; }
.dashboard-card { min-height: 76px; padding: 10px; border: 1px solid #c4d1d9; border-radius: 1px; background: linear-gradient(#fff, #f6f9fa); }
.dashboard-card strong { margin-top: 4px; color: #1c4e70; font-size: 24px; }
.dashboard-card span:not(.dashboard-card__icon) { font-size: 11px; }
.dashboard-card__icon { right: 8px; top: 8px; width: 24px; height: 24px; padding: 5px; border-radius: 2px; }
.dashboard-card:hover { border-color: #89aec6; box-shadow: none; }

.legacy-form-grid, .legacy-filter-grid { gap: 8px 10px; padding: 10px; }
label { color: #294a60; font-size: 11px; }
input, select, textarea { min-height: 27px; padding: 4px 6px; border: 1px solid #78929f; border-radius: 0; font-family: Tahoma, "Segoe UI", Arial, sans-serif; font-size: 12px; }
input:focus, select:focus, textarea:focus { border-color: #137a98; box-shadow: 0 0 0 1px #b8e0e8; }
.button { min-height: 27px; padding: 5px 10px; border: 1px solid #39779e; border-radius: 2px; color: #fff; background: linear-gradient(#4b91bb, #216887); box-shadow: none; font-family: Tahoma, "Segoe UI", Arial, sans-serif; font-size: 11px; }
.button:hover { border-color: #225d7e; background: linear-gradient(#5da4ce, #277393); }
.button-secondary { color: #2c5977; border-color: #a8bbc7; background: linear-gradient(#fff, #e7eef2); }
.button-small { min-height: 24px; padding: 3px 7px; }

.data-grid { border: 1px solid #9bb2bf; }
.data-grid th, .data-grid td { padding: 6px 8px; border-right: 1px solid #d3dde3; }
.data-grid th { color: #164e70; background: linear-gradient(#f6fbfd, #dceaf1); font-size: 10px; }
.data-grid tbody tr:nth-child(even) td { background: #f6f9fa; }
.data-grid tbody tr:hover td { background: #e4f3f8; }
.badge { padding: 2px 6px; border-radius: 2px; font-size: 10px; }
.modal__dialog { border: 1px solid #7092a6; border-radius: 2px; box-shadow: 0 12px 34px rgba(22, 48, 65, .28); }
.modal__header { padding: 9px 12px; background: linear-gradient(#e9f4fa, #c9e0ef); border-bottom: 1px solid #97b2c3; }

@media (max-width: 1100px) { .dashboard-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 900px) {
  .window-frame { margin: 0; }
  .workspace-shell, .window-frame.sidebar-collapsed .workspace-shell { grid-template-columns: 1fr; }
  .sidebar { border-right: 0; border-bottom: 1px solid var(--erp-line); }
  .sidebar-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .page { padding: 6px; }
  .workspace-header { align-items: flex-start; padding: 6px; }
  .workspace-header__right { flex-wrap: wrap; }
  .dashboard-hero { align-items: flex-start; }
  .dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 6px; }
}

/* Tokens inspirados no Monitor NF-e: Lato, azul profundo, verde de ação e vermelho de navegação. */
:root {
  --nfe-navy: #233e59;
  --nfe-blue: #32638b;
  --nfe-teal: #08c89a;
  --nfe-teal-dark: #05ab84;
  --nfe-red: #ee3024;
  --nfe-lilac: #f0f0ff;
  --nfe-canvas: #f5f7f9;
}

body,
button,
input,
select,
textarea {
  font-family: Lato, Arial, sans-serif;
}

body { color: var(--nfe-navy); background: var(--nfe-canvas); }
.window-titlebar { min-height: 64px; padding: 0 28px; }
.window-company-meta strong { color: #697988; font-size: 18px; font-weight: 700; }
.window-company-logo { width: 30px; height: 30px; }

.sidebar { padding-top: 14px; }
.sidebar__header { border-bottom: 0; }
.sidebar-toggle { width: 30px; height: 30px; border-radius: 9px; background: var(--nfe-red); box-shadow: 0 2px 4px rgba(193, 44, 35, .2); }
.sidebar-toggle:hover { background: #d9251a; }
.sidebar-nav { gap: 10px; margin-top: 8px; }
.sidebar-nav a { min-height: 34px; color: #31516e; }
.sidebar-nav a.is-active { color: var(--nfe-red); background: #fff4f2; }
.sidebar-nav a:hover { color: #12a39d; background: #eefafa; }
.sidebar-nav__icon { width: 22px; height: 22px; stroke-width: 1.7; }

.workspace-header { min-height: 56px; padding-inline: 28px; }
.workspace-caption { color: var(--nfe-navy); font-size: 14px; font-weight: 700; }
.workspace-caption__icon { color: #33628b; background: #f2f6f9; }
.workspace-user strong { color: #657486; font-weight: 700; }

.page { padding: 10px 10px 48px; }
.legacy-group { border-color: #e1e7ec; border-radius: 6px; box-shadow: 0 3px 10px rgba(38, 62, 87, .065); }
.legacy-group__legend { min-height: 46px; color: var(--nfe-navy); font-size: 18px; font-weight: 900; }
.legacy-group__actionbar { min-height: 51px; padding: 8px 10px; }

.button { border-color: var(--nfe-teal); border-radius: 3px; background: var(--nfe-teal); font-weight: 700; }
.button:hover { border-color: var(--nfe-teal-dark); background: var(--nfe-teal-dark); }
.button-secondary { color: #315a7b; border-color: #aabfd0; background: #fff; }
.button-secondary:hover { color: #244d6c; border-color: #8eafc8; background: #f8fbfd; }

.data-grid th { color: var(--nfe-navy); border-bottom-color: #bdcedb; font-size: 12px; font-weight: 900; }
.data-grid td { color: #29465e; font-size: 12px; }
.data-grid tbody tr.is-selected td { background: var(--nfe-lilac); }
.data-grid tbody tr:hover td { background: #ecfbf8; }
.data-grid a { color: #3c68df; }

input, select, textarea { border-color: #b7c8d6; color: #2b4760; }
input:focus, select:focus, textarea:focus { border-color: #3e9dcb; box-shadow: 0 0 0 2px rgba(62,157,203,.13); }
.badge-success { color: #087e65; background: #dbfaef; }
.badge-warning { color: #827000; background: #f1ff9b; }

@media (max-width: 620px) {
  .window-titlebar { min-height: 54px; padding-inline: 14px; }
  .window-company-meta strong { font-size: 15px; }
  .workspace-header { padding-inline: 14px; }
}

/* Interface baseada na referência: aplicação web operacional, limpa e orientada a listas. */
:root {
  --ref-bg: #f4f6f8;
  --ref-text: #29445b;
  --ref-muted: #708092;
  --ref-border: #d9e1e8;
  --ref-primary: #10cda0;
  --ref-primary-dark: #08aa83;
  --ref-purple: #6672ea;
}

body { background: var(--ref-bg); color: var(--ref-text); font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; font-size: 13px; }
.window-frame { min-height: 100vh; margin: 0; border: 0; background: var(--ref-bg); box-shadow: none; }
.window-titlebar { display: flex; min-height: 56px; padding: 0 22px; background: #fff; border-bottom: 1px solid var(--ref-border); }
.window-titlebar__caption--company { gap: 12px; }
.window-company-logo { width: 28px; height: 28px; border-radius: 7px; }
.window-company-meta strong { color: #657487; font-size: 16px; font-weight: 650; }
.window-company-meta small { display: none; }

.workspace-shell { grid-template-columns: 64px minmax(0, 1fr); min-height: calc(100vh - 56px); }
.window-frame.sidebar-collapsed .workspace-shell { grid-template-columns: 64px minmax(0, 1fr); }
.sidebar { gap: 14px; padding: 12px 8px; background: #fff; border-right: 1px solid var(--ref-border); }
.sidebar__header { justify-content: center; padding: 0 0 12px; border-bottom: 1px solid #edf1f4; }
.sidebar__brand { display: none; }
.sidebar-toggle { width: 32px; height: 32px; border: 0; border-radius: 9px; color: #fff; background: #ef3125; }
.sidebar-toggle:hover { color: #fff; background: #d9251b; }
.sidebar-nav { gap: 8px; }
.sidebar-nav a { position: relative; justify-content: center; min-height: 36px; padding: 6px; border-radius: 8px; color: #627387; }
.sidebar-nav a:hover { background: #f0f7f7; color: #159e9b; }
.sidebar-nav a.is-active { color: #12aaa4; background: #eafafa; box-shadow: none; }
.sidebar-nav__icon { width: 23px; height: 23px; padding: 3px; border: 0; background: transparent; color: currentColor; }
.sidebar-nav a.is-active .sidebar-nav__icon { background: transparent; color: currentColor; }
.sidebar-nav__label { display: none; }
.window-frame.sidebar-collapsed .sidebar { display: flex; }
.window-frame.sidebar-collapsed .sidebar-nav a { justify-content: center; }

.workspace-main { background: var(--ref-bg); }
.workspace-header { min-height: 56px; padding: 0 24px; background: #fff; border-bottom: 1px solid var(--ref-border); }
.workspace-caption { color: #2a455d; font-size: 14px; font-weight: 700; }
.workspace-caption__icon { width: 27px; height: 27px; padding: 5px; border: 0; border-radius: 7px; color: #20aaa5; background: #eafafa; }
.workspace-user { display: flex; align-items: center; gap: 8px; padding: 0 8px 0 0; }
.workspace-user::before { width: 27px; height: 27px; border-radius: 50%; background: #2f4e68; content: ""; }
.workspace-user strong { color: #657487; font-size: 12px; }
.workspace-user small { display: none; }
.workspace-header .button { min-height: 32px; padding: 6px 10px; }

.page { width: 100%; max-width: none; padding: 18px 10px 40px; }
.window-statusbar { display: none; }
.flash { border-radius: 6px; }

.dashboard-hero { display: none; }
.legacy-group { margin: 0; border: 1px solid #e0e6eb; border-radius: 7px; background: #fff; box-shadow: 0 2px 8px rgba(26, 46, 65, .07); }
.legacy-group__legend { min-height: 48px; padding: 13px 18px; color: #2d465d; font-size: 18px; font-weight: 700; border-bottom: 1px solid #e5ebef; background: #fff; }
.legacy-group__legend::before { display: none; }
.legacy-group__legend small { color: var(--ref-muted); font-weight: 500; }
.legacy-group__actionbar { gap: 6px; padding: 10px; border-bottom: 1px solid #e8edf1; background: #fff; }
.legacy-layout, .legacy-layout--double { gap: 14px; }

.dashboard-grid { gap: 12px; padding: 14px; }
.dashboard-card { min-height: 98px; border: 1px solid #e4eaee; border-radius: 6px; background: #fff; }
.dashboard-card strong { color: #2d455e; font-size: 27px; }
.dashboard-card__icon { border-radius: 7px; }

.legacy-form-grid, .legacy-filter-grid { gap: 12px 14px; padding: 16px; }
label { color: #445d70; font-size: 12px; font-weight: 600; }
input, select, textarea { min-height: 34px; padding: 7px 9px; border: 1px solid #b8c9d7; border-radius: 3px; color: #334e65; background: #fff; font-family: inherit; font-size: 12px; }
input:focus, select:focus, textarea:focus { border-color: #48a7ce; box-shadow: 0 0 0 2px rgba(71,169,207,.14); }

.button { min-height: 32px; padding: 6px 11px; border: 1px solid var(--ref-primary); border-radius: 3px; color: #fff; background: var(--ref-primary); font-family: inherit; font-size: 12px; font-weight: 650; }
.button:hover { border-color: var(--ref-primary-dark); background: var(--ref-primary-dark); }
.button-secondary { color: #42617a; border-color: #b8cada; background: #fff; }
.button-secondary:hover { color: #2d526d; border-color: #91b6cf; background: #f5fafc; }
.button-small { min-height: 29px; padding: 5px 9px; }

.table-scroll { border: 0; }
.data-grid { border: 0; }
.data-grid th { padding: 10px 12px; color: #2b465d; background: #fff; border-bottom: 3px solid #c6d4dd; font-size: 11px; font-weight: 700; text-transform: none; }
.data-grid td { padding: 10px 12px; color: #405c73; border-bottom: 1px solid #dde5eb; border-right: 0; }
.data-grid tbody tr:nth-child(even) td { background: #fafcfd; }
.data-grid tbody tr.is-selected td { background: #f0f1ff; }
.data-grid tbody tr:hover td { background: #eef9f7; }
.badge { border-radius: 3px; padding: 3px 6px; }
.modal__dialog { border: 0; border-radius: 8px; box-shadow: 0 14px 38px rgba(24, 48, 68, .24); }
.modal__header { padding: 15px 18px; background: #fff; border-bottom: 1px solid #e0e7ec; }

@media (max-width: 900px) {
  .workspace-shell, .window-frame.sidebar-collapsed .workspace-shell { grid-template-columns: 54px minmax(0, 1fr); }
  .sidebar { padding-inline: 6px; }
  .sidebar-nav { display: grid; grid-template-columns: 1fr; }
  .workspace-header { padding: 0 14px; }
}
@media (max-width: 620px) {
  .window-titlebar { min-height: 50px; padding: 0 12px; }
  .window-company-meta strong { font-size: 14px; }
  .workspace-shell, .window-frame.sidebar-collapsed .workspace-shell { grid-template-columns: 1fr; }
  .sidebar { display: none; }
  .window-frame.sidebar-collapsed .sidebar { display: none; }
  .sidebar-toggle--inline { display: none; }
  .page { padding: 10px; }
  .workspace-header { min-height: 48px; }
  .workspace-user { display: none; }
  .legacy-group__legend { font-size: 16px; }
}

/* Refinamento: linguagem visual sóbria, consistente e focada na operação. */
body { background: #f5f8fa; }

.workspace-shell { grid-template-columns: 248px minmax(0, 1fr); }
.window-frame.sidebar-collapsed .workspace-shell { grid-template-columns: 72px minmax(0, 1fr); }

.sidebar {
  gap: 20px;
  padding: 18px 12px;
  background: #fff;
  color: #294b66;
  border-right: 1px solid #e0e8ed;
}
.sidebar::after { display: none; }
.sidebar__header { padding: 0 8px 12px; border-bottom: 1px solid #edf1f4; }
.sidebar__brand-icon { width: 30px; height: 30px; color: #fff; background: #2177ac; box-shadow: none; }
.sidebar__brand-copy strong { color: #183c59; font-size: 14px; }
.sidebar__brand-copy small { color: #7790a3; }
.sidebar-toggle { color: #5e7c94; }
.sidebar-toggle:hover { color: #2177ac; background: #edf6fb; }

.sidebar-nav { gap: 3px; }
.sidebar-nav a { min-height: 42px; color: #587188; font-size: 13px; font-weight: 600; }
.sidebar-nav a:hover { color: #21628e; background: #f2f7fa; }
.sidebar-nav a.is-active { color: #1c628f; background: #e8f4fb; box-shadow: inset 3px 0 #2985bc; }
.sidebar-nav__icon { width: 24px; height: 24px; color: #5a91b7; background: transparent; }
.sidebar-nav a.is-active .sidebar-nav__icon { color: #2177ac; background: #d9edf8; }

.workspace-header { min-height: 66px; padding: 12px 30px; background: #fff; }
.workspace-caption { font-size: 14px; font-weight: 700; }
.workspace-caption__icon { width: 26px; height: 26px; background: #e7f3f9; }
.page { width: min(1360px, 100%); padding: 28px 30px 40px; }

.dashboard-hero {
  min-height: auto;
  padding: 0 0 22px;
  border-radius: 0;
  color: #173f5d;
  background: transparent;
  box-shadow: none;
  border-bottom: 1px solid #dfe8ee;
}
.dashboard-hero::before, .dashboard-hero::after { display: none; }
.dashboard-hero__eyebrow { margin-bottom: 4px; color: #4389b4; font-size: 10px; letter-spacing: .1em; }
.dashboard-hero h1 { color: #183f5d; font-size: 26px; letter-spacing: -.03em; }
.dashboard-hero p { margin-top: 6px; color: #71899b; font-size: 13px; }
.dashboard-hero__action { gap: 9px; padding: 9px 12px; border: 1px solid #cfe0ea; border-radius: 8px; color: #236890; background: #fff; box-shadow: none; font-size: 12px; }
.dashboard-hero__action span:last-child { width: auto; height: auto; color: inherit; background: transparent; }
.dashboard-hero__action:hover { color: #174d6d; background: #f2f8fb; transform: none; }

.legacy-group { border: 1px solid #dfe8ed; border-radius: 10px; box-shadow: none; }
.legacy-group__legend { min-height: 56px; padding: 14px 18px; font-size: 14px; }
.dashboard-grid { gap: 12px; padding: 16px 18px 18px; }
.dashboard-card { min-height: 118px; padding: 17px; border-radius: 9px; background: #fff; }
.dashboard-card::after { display: none; }
.dashboard-card:hover { border-color: #c9dce7; box-shadow: none; transform: none; }
.dashboard-card strong { margin-top: 6px; font-size: 29px; }
.dashboard-card__icon { right: 14px; top: 14px; width: 32px; height: 32px; padding: 8px; border-radius: 8px; }

.button { min-height: 34px; border-radius: 7px; box-shadow: none; font-weight: 650; }
.button:hover { box-shadow: none; transform: none; filter: brightness(.97); }
.button-secondary { background: #fff; }
.data-grid th { background: #f6f9fb; }
.data-grid td { padding: 11px 12px; }

@media (max-width: 900px) {
  .sidebar { border-right: 0; border-bottom: 1px solid #e0e8ed; }
  .sidebar-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .page { padding: 20px 16px 32px; }
  .workspace-header { padding: 11px 16px; }
  .dashboard-hero { align-items: flex-start; }
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  min-height: 100%;
  background: linear-gradient(180deg, #dfe9f1 0%, #cfdae4 100%);
  color: var(--text);
  font: 12px/1.35 Tahoma, Verdana, "Segoe UI", sans-serif;
}

body.modal-open {
  overflow: hidden;
}

a {
  color: var(--link);
  text-decoration: none;
}

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

code {
  font-family: Consolas, monospace;
  font-size: 12px;
}

.app-shell {
  min-height: 100vh;
  padding: 6px;
}

.window-frame {
  min-height: calc(100vh - 12px);
  border: 1px solid #8ea6ba;
  background: var(--window-bg);
  box-shadow: var(--shadow);
}

.window-titlebar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 44px;
  padding: 0 4px 0 8px;
  color: var(--title-text);
  background: linear-gradient(180deg, var(--title-start) 0%, #c7ddf0 40%, var(--title-end) 100%);
  border-bottom: 1px solid #95b4cd;
}

.window-titlebar__caption {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 700;
}

.window-titlebar__caption--company {
  gap: 10px;
  min-width: 0;
}

.window-company-logo {
  width: 34px;
  height: 34px;
  object-fit: contain;
  flex: 0 0 auto;
  border: 1px solid rgba(106, 145, 176, 0.7);
  background: rgba(255, 255, 255, 0.9);
  padding: 2px;
}

.window-company-meta {
  display: grid;
  gap: 1px;
  min-width: 0;
}

.window-company-meta strong,
.window-company-meta small {
  display: block;
}

.window-company-meta strong {
  color: #14324b;
  line-height: 1.1;
}

.window-company-meta small {
  color: #36536b;
  font-weight: 600;
  line-height: 1.1;
}

.workspace-shell {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  min-height: calc(100vh - 40px);
}

.window-frame.sidebar-collapsed .workspace-shell {
  grid-template-columns: 74px minmax(0, 1fr);
}

.sidebar {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 10px;
  border-right: 1px solid #d7dee6;
  background: linear-gradient(180deg, #f7f9fb 0%, #edf2f6 100%);
}

.sidebar__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.sidebar__brand {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.sidebar__brand-icon {
  width: 18px;
  height: 18px;
  border: 1px solid #9fb6ca;
  background: linear-gradient(180deg, #ffffff 0%, #e4eef6 100%);
  position: relative;
  flex: 0 0 auto;
}

.sidebar__brand-icon::before {
  content: "";
  position: absolute;
  inset: 3px;
  border: 1px solid #7ea9cd;
  background: #d7ebfb;
}

.sidebar__brand-copy {
  display: grid;
  min-width: 0;
}

.sidebar__brand-copy strong {
  color: #35506b;
}

.sidebar__brand-copy small {
  color: var(--text-soft);
}

.sidebar-toggle {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border);
  background: linear-gradient(180deg, #ffffff 0%, #f1f4f7 100%);
  color: #27445f;
  cursor: pointer;
  flex: 0 0 auto;
}

.sidebar-toggle:hover {
  border-color: #93b8d8;
  background: linear-gradient(180deg, #ffffff 0%, #e9f2fb 100%);
}

.sidebar-toggle span {
  position: relative;
  display: block;
  width: 12px;
  height: 2px;
  background: #5b7894;
}

.sidebar-toggle span::before,
.sidebar-toggle span::after {
  content: "";
  position: absolute;
  left: 0;
  width: 12px;
  height: 2px;
  background: #5b7894;
}

.sidebar-toggle span::before {
  top: -4px;
}

.sidebar-toggle span::after {
  top: 4px;
}

.sidebar-toggle--inline {
  display: none;
}

.sidebar-nav {
  display: grid;
  gap: 6px;
}

.sidebar-nav a {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 38px;
  padding: 7px 9px;
  border: 1px solid var(--border);
  background: linear-gradient(180deg, #ffffff 0%, #f2f5f8 100%);
  color: #284964;
}

.sidebar-nav a:hover {
  border-color: #93b8d8;
  background: linear-gradient(180deg, #fefefe 0%, #e9f2fb 100%);
}

.sidebar-nav a.is-active {
  border-color: #93b8d8;
  background: linear-gradient(180deg, #edf6fe 0%, #dcecff 100%);
  color: #163c5f;
}

.sidebar-nav__icon {
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  border: 1px solid #a8bed2;
  background: #ffffff;
  color: #3c79aa;
  font-weight: 700;
  font-size: 11px;
  flex: 0 0 auto;
}

.sidebar-nav__label {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.window-frame.sidebar-collapsed .sidebar {
  padding-inline: 8px;
}

.window-frame.sidebar-collapsed .sidebar__header {
  flex-direction: column-reverse;
  align-items: center;
}

.window-frame.sidebar-collapsed .sidebar__brand-copy,
.window-frame.sidebar-collapsed .sidebar-nav__label {
  display: none;
}

.window-frame.sidebar-collapsed .sidebar-nav a {
  justify-content: center;
  padding-inline: 0;
}

.workspace-main {
  display: grid;
  grid-template-rows: auto 1fr auto;
  min-width: 0;
}

.workspace-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 6px 10px;
  border-bottom: 1px solid #d7dee6;
  background: linear-gradient(180deg, #fafbfd 0%, #eff3f7 100%);
}

.workspace-header__left {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.workspace-header__right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-width: 0;
}

.workspace-caption {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  font-weight: 600;
  color: #38516a;
}

.workspace-caption__icon {
  width: 16px;
  height: 16px;
  border: 1px solid #9fb6ca;
  background: linear-gradient(180deg, #ffffff 0%, #e4eef6 100%);
  position: relative;
  flex: 0 0 auto;
}

.workspace-caption__icon::before {
  content: "";
  position: absolute;
  inset: 3px;
  border: 1px solid #7ea9cd;
  background: #d7ebfb;
}

.workspace-user {
  display: grid;
  gap: 1px;
  min-width: 0;
  text-align: right;
}

.workspace-user strong {
  color: #2a465f;
}

.workspace-user small {
  color: var(--text-soft);
}

.header-inline-form {
  margin: 0;
}

.page {
  display: grid;
  gap: 10px;
  padding: 10px;
  min-width: 0;
}

.window-statusbar {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 5px 8px;
  border-top: 1px solid #d7dee6;
  background: linear-gradient(180deg, #fafbfd 0%, #eff3f7 100%);
  color: var(--text-soft);
}

.flash {
  padding: 7px 10px;
  border: 1px solid #cfd8df;
  background: #fffdf2;
  color: #35516d;
}

.flash-success {
  border-color: #bfd8c6;
  background: #f2fbf4;
  color: #2f6b37;
}

.flash-error,
.flash-danger {
  border-color: #e0c1b7;
  background: #fff6f2;
  color: #9a472c;
}

.desktop-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  padding: 0 0 2px;
}

.toolbar-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  padding: 4px 10px;
  border: 1px solid var(--border);
  background: linear-gradient(180deg, #ffffff 0%, #f1f4f7 100%);
  color: #27445f;
  cursor: pointer;
}

.toolbar-button:hover {
  border-color: #93b8d8;
  background: linear-gradient(180deg, #fefefe 0%, #e9f2fb 100%);
}

.toolbar-button.is-active {
  border-color: #93b8d8;
  background: linear-gradient(180deg, #edf6fe 0%, #dcecff 100%);
  color: #163c5f;
}

.toolbar-button__badge {
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 18px;
  padding: 0 5px;
  border: 2px solid #fff;
  border-radius: 999px;
  background: #e7663a;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  text-align: center;
}

.toolbar-button__badge:empty {
  display: none;
}

.toolbar-icon {
  position: relative;
  width: 18px;
  height: 18px;
  border: 1px solid #a8bed2;
  background: linear-gradient(180deg, #ffffff 0%, #edf3f8 100%);
}

.toolbar-icon::before {
  content: attr(data-icon);
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-size: 11px;
  font-weight: 700;
}

.toolbar-icon--green::before {
  color: var(--success);
}

.toolbar-icon--gold::before {
  color: var(--warning);
}

.toolbar-icon--gray::before,
.toolbar-icon--steel::before {
  color: #6f7d8c;
}

.toolbar-icon--blue::before {
  color: #3d7baa;
}

.legacy-layout {
  display: grid;
  gap: 10px;
}

.legacy-layout--double {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.legacy-layout--triple {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.legacy-group {
  position: relative;
  padding: 15px 10px 10px;
  border: 1px solid var(--border);
  background: var(--surface);
  min-width: 0;
}

.legacy-group__legend {
  position: absolute;
  top: -9px;
  left: 10px;
  padding: 0 5px;
  background: var(--window-bg);
  color: #466078;
  font-weight: 600;
}

.legacy-group__actionbar {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 10px;
}

.dashboard-panel {
  display: grid;
  gap: 12px;
}

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

.dashboard-card {
  display: grid;
  gap: 6px;
  min-height: 94px;
  padding: 12px;
  border: 1px solid #d5dfe8;
  background: linear-gradient(180deg, #ffffff 0%, #edf3f8 100%);
  align-content: space-between;
}

.dashboard-card span {
  color: #536475;
  font-weight: 600;
}

.dashboard-card strong {
  font-size: 28px;
  line-height: 1;
  color: #214463;
}

.window-company-bar-preview {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid #95b4cd;
  background: linear-gradient(180deg, #d8ebf8 0%, #c7ddf0 40%, #a9c9e4 100%);
  color: #18364e;
}

.window-company-bar-preview--empty {
  border-style: dashed;
}

.window-company-bar-preview__brand {
  display: grid;
  place-items: center;
}

.window-company-bar-preview__meta {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.window-company-bar-preview__meta strong,
.window-company-bar-preview__meta small {
  display: block;
}

.window-company-bar-preview__meta strong {
  color: #14324b;
}

.window-company-bar-preview__meta small {
  color: #36536b;
  font-weight: 600;
}

.company-logo-preview {
  width: 100%;
  max-width: 220px;
  max-height: 92px;
  object-fit: contain;
  margin-top: 8px;
  border: 1px solid #d3dbe3;
  background: #fff;
  padding: 8px;
}

.legacy-form-grid,
.legacy-stack {
  display: grid;
  gap: 8px;
}

.legacy-form-grid--import {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
}

.legacy-form-grid--import .helper {
  grid-column: 1 / -1;
}

.legacy-inline-form {
  display: grid;
  grid-template-columns: minmax(180px, 1.5fr) 120px 120px 100px auto;
  gap: 8px;
  align-items: end;
  padding: 8px;
  border: 1px solid #e1e6eb;
  background: var(--surface-muted);
}

label {
  display: grid;
  gap: 4px;
  color: #263647;
}

input,
select,
textarea {
  width: 100%;
  min-height: 28px;
  padding: 4px 7px;
  border: 1px solid var(--border-strong);
  background: #fff;
  color: var(--text);
  outline: none;
}

input:focus,
select:focus,
textarea:focus {
  border-color: #8fb8dd;
  box-shadow: 0 0 0 2px rgba(129, 180, 223, 0.18);
}

textarea {
  min-height: 88px;
  resize: vertical;
}

input[type="file"] {
  min-height: 32px;
  padding: 3px;
}

input[type="checkbox"] {
  width: auto;
  min-height: auto;
  margin: 0;
}

.checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 4px 14px;
  border: 1px solid #b4c4d1;
  background: linear-gradient(180deg, #ffffff 0%, #eef3f7 100%);
  color: #24445e;
  cursor: pointer;
}

.button:hover {
  border-color: #8fb8dd;
  background: linear-gradient(180deg, #ffffff 0%, #e6f1fb 100%);
}

.button.is-active {
  border-color: #7fa9cf;
  background: linear-gradient(180deg, #fefefe 0%, #dfeefe 100%);
  color: #193954;
}

.button-secondary {
  background: linear-gradient(180deg, #ffffff 0%, #f3f5f8 100%);
}

.button-small {
  min-height: 26px;
  padding: 3px 10px;
}

.helper {
  color: var(--text-soft);
}

.legacy-summary-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 8px;
}

.legacy-summary-strip > div {
  padding: 8px;
  border: 1px solid #dde4ea;
  background: var(--surface-soft);
}

.legacy-summary-strip strong {
  display: block;
  margin-top: 2px;
  font-size: 16px;
  color: #2c4a64;
}

.badge {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 2px 8px;
  border: 1px solid #bcc8d3;
  font-size: 11px;
  font-weight: 700;
}

.badge-neutral {
  background: #f1f3f5;
  color: #4f5c68;
}

.badge-warning {
  background: #fff5d8;
  color: #8b6300;
}

.badge-danger {
  background: #fff0ea;
  color: #a34c30;
}

.badge-success {
  background: #ecf8ef;
  color: #2b6d35;
}

.badge-accent {
  background: #ebf5ff;
  color: #2a5f8e;
}

.legacy-search-strip {
  padding: 0 2px;
}

.legacy-search-strip label {
  gap: 3px;
}

.legacy-filter-grid {
  display: grid;
  grid-template-columns: minmax(200px, 1.2fr) 160px minmax(260px, 1.6fr);
  gap: 12px;
  align-items: end;
}

.legacy-date-range {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto auto;
  gap: 6px;
  align-items: center;
}

.legacy-info-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 12px;
}

.legacy-info-grid > div {
  padding: 7px 8px;
  border: 1px solid #e0e6ec;
  background: var(--surface-muted);
}

.legacy-info-grid__item--danger {
  border-color: rgba(196, 85, 47, 0.35);
  background: #fff2ee;
}

.legacy-info-grid strong,
.legacy-info-grid small,
.legacy-info-grid span {
  display: block;
}

.legacy-info-grid strong {
  margin-top: 2px;
}

.summary-value--danger {
  color: var(--danger);
}

.legacy-info-grid__wide {
  grid-column: span 2;
}

.legacy-link-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

.summary-actionbar {
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 8px;
}

.summary-actionbar__back {
  margin-left: auto;
}

.summary-actionbar .button:not(.button-disabled) {
  border-color: var(--nfe-teal);
  background: var(--nfe-teal);
  color: #fff;
}

.summary-actionbar .button:not(.button-disabled):hover {
  border-color: var(--nfe-teal-dark);
  background: var(--nfe-teal-dark);
  color: #fff;
}

.summary-actionbar .button.is-active {
  border-color: #5367d6;
  background: #5367d6;
  color: #fff;
}

.summary-people-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.summary-people-card {
  border: 1px solid #dbe3ea;
  background: linear-gradient(180deg, #fbfcfd 0%, #f1f4f7 100%);
}

.summary-people-card__title {
  display: block;
  padding: 8px 10px;
  border-bottom: 1px solid #d8e0e6;
  color: #294560;
}

.summary-people-card__body {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 10px;
}

.summary-people-card__body > div {
  min-width: 0;
}

.summary-people-card__body span,
.summary-people-card__body strong,
.summary-people-card__body small {
  display: block;
}

.summary-people-card__body span {
  color: var(--text-soft);
}

.summary-people-card__body strong {
  margin-top: 2px;
  overflow-wrap: anywhere;
}

.summary-detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px 12px;
}

.summary-detail-grid > div {
  padding: 7px 8px;
  border: 1px solid #e0e6ec;
  background: var(--surface-muted);
  min-width: 0;
}

.summary-detail-grid span,
.summary-detail-grid strong,
.summary-detail-grid small {
  display: block;
}

.summary-detail-grid span {
  color: var(--text-soft);
}

.summary-detail-grid strong {
  margin-top: 2px;
  overflow-wrap: anywhere;
}

.delivery-highlight-card {
  display: grid;
  gap: 4px;
  margin-top: 12px;
  padding: 10px 12px;
  border: 1px solid #d3ae58;
  background: linear-gradient(180deg, #fff9df 0%, #fff1bf 100%);
}

.delivery-highlight-card__label {
  color: #7e5b00;
  font-weight: 600;
}

.table-scroll {
  overflow: auto;
  border: 1px solid #d9e0e6;
  background: #fff;
}

.table-scroll--tall {
  max-height: 320px;
}

.data-grid {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
}

.data-grid th,
.data-grid td {
  padding: 4px 6px;
  border-right: 1px solid #e6ebef;
  border-bottom: 1px solid #eef1f4;
  text-align: left;
  vertical-align: top;
}

.data-grid th:last-child,
.data-grid td:last-child {
  border-right: none;
}

.data-grid th {
  background: #ffffff;
  border-bottom: 1px solid #d8e0e6;
  color: #35506b;
  font-weight: 600;
  white-space: nowrap;
}

.data-grid tbody tr:nth-child(even) td {
  background: var(--stripe);
}

.data-grid td strong,
.data-grid td small {
  display: block;
}

.data-grid tbody tr.is-selected td {
  background: var(--selected);
  color: var(--text);
  box-shadow: inset 0 0 0 1px var(--selected-border);
}

.data-grid tbody tr.is-selected a,
.data-grid tbody tr.is-selected small {
  color: inherit;
}

.data-grid tbody tr:hover td {
  background: #ebf5ff;
}

.data-grid tbody tr.is-selected:hover td {
  background: var(--selected);
}

.data-grid tbody tr[data-row-link] {
  cursor: pointer;
}

.data-grid tbody tr[data-row-link]:focus-visible td {
  outline: 1px solid #7da7ca;
  outline-offset: -1px;
}

.table-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.table-action-form {
  margin: 0;
}

.table-observations {
  display: grid;
  gap: 3px;
}

.table-observation--danger {
  color: var(--danger);
  font-weight: 700;
}

.table-observation--schedule {
  color: var(--primary);
  font-weight: 700;
}

.table-link-list {
  display: grid;
  gap: 3px;
}

.table-link-list a {
  width: fit-content;
}

.action-icon-button {
  width: 30px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid var(--border);
  background: linear-gradient(180deg, #ffffff 0%, #f3f5f8 100%);
  color: #27445f;
  cursor: pointer;
}

.action-icon-button:hover {
  border-color: #8fb8dd;
  background: linear-gradient(180deg, #ffffff 0%, #e6f1fb 100%);
}

.action-icon-button svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.9;
}

.action-icon-button:disabled {
  cursor: not-allowed;
  opacity: .45;
}

.action-icon-button--open { color: #2e6589; }
.action-icon-button--dispatch { color: #0d8a66; }
.action-icon-button--pdf { color: #5264a9; }
.action-icon-button--cancel { color: #b14343; }

.action-icon-button--cancel:hover {
  border-color: #e2a5a5;
  background: linear-gradient(180deg, #ffffff 0%, #fff0f0 100%);
}

.action-icon-button__glyph {
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.2px;
}

.action-icon-button--extra .action-icon-button__glyph {
  font-size: 12px;
}

.action-icon-button--delivery .action-icon-button__glyph,
.action-icon-button--return .action-icon-button__glyph,
.action-icon-button--edit .action-icon-button__glyph {
  font-size: 11px;
}

.action-icon-button--remove {
  color: #b14343;
}

.action-icon-button--remove:hover {
  border-color: #e2a5a5;
  background: linear-gradient(180deg, #ffffff 0%, #fff0f0 100%);
}

.action-icon-button--remove svg { stroke-width: 2; }

.button-disabled {
  opacity: 0.55;
  cursor: default;
  pointer-events: none;
}

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

.legacy-note {
  display: grid;
  gap: 3px;
  padding: 10px;
  border: 1px solid #e0e6ec;
  background: var(--surface-muted);
}

.legacy-note--plain {
  min-height: 100%;
}

.manifest-stack {
  display: grid;
  gap: 12px;
}

.manifest-card {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid #d7e0e8;
  background: linear-gradient(180deg, #ffffff 0%, #f4f7fa 100%);
}

.manifest-card--link {
  color: inherit;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.45);
}

.manifest-card--link:hover {
  border-color: #93b8d8;
  background: linear-gradient(180deg, #ffffff 0%, #eaf3fb 100%);
}

.manifest-card.is-selected {
  border-color: #8fb7d8;
  background: linear-gradient(180deg, #f9fcff 0%, #e4eff9 100%);
}

.data-grid tbody tr.manifest-row--return td {
  background-color: #fff7f7;
}

.data-grid tbody tr.manifest-row--return td:first-child {
  border-left: 4px solid var(--nfe-red);
}

.manifest-return-badge {
  margin-right: 5px;
}

.manifest-kind-badge {
  display: inline-flex;
  width: fit-content;
  margin-top: 5px;
  padding: 3px 7px;
  border: 1px solid rgba(196, 44, 54, .35);
  border-radius: 3px;
  color: #a6212b;
  background: #fff0f1;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
}

.manifest-card__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.manifest-card__copy {
  display: grid;
  gap: 3px;
}

.manifest-card__copy strong {
  color: #27445f;
}

.manifest-card__copy small {
  color: var(--text-soft);
}

.manifest-card__summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 8px;
}

.manifest-card__summary > div {
  padding: 8px;
  border: 1px solid #dde4ea;
  background: var(--surface-soft);
}

.manifest-card__summary span,
.manifest-card__summary strong {
  display: block;
}

.manifest-card__summary strong {
  margin-top: 2px;
  color: #284964;
}

.manifest-card__summary--detail {
  margin-top: 10px;
}

.manifest-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-top: 10px;
  border-top: 1px solid #dce5ec;
  color: #45627b;
}

.manifest-card__footer span,
.manifest-card__footer strong {
  display: block;
}

.manifest-card__footer strong {
  color: #24445e;
}

.empty-panel {
  display: grid;
  gap: 4px;
  padding: 16px;
  border: 1px solid #dde4ea;
  background: var(--surface-soft);
}

.modal[hidden] {
  display: none;
}

.modal {
  --modal-standard-width: min(840px, calc(100vw - 24px));
  --modal-standard-min-height: 260px;
  position: fixed;
  inset: 0;
  z-index: 50;
  display: grid;
  place-items: center;
  padding: 20px;
}

.modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(18, 33, 48, 0.38);
}

.modal__dialog {
  position: relative;
  width: var(--modal-standard-width);
  min-height: var(--modal-standard-min-height);
  max-height: calc(100vh - 24px);
  display: grid;
  grid-template-rows: auto 1fr auto;
  border: 1px solid #8ea6ba;
  background: var(--window-bg);
  box-shadow: 0 20px 40px rgba(31, 54, 76, 0.26);
}

.modal__dialog--wide,
.modal__dialog--dispatch {
  width: var(--modal-standard-width);
  min-height: var(--modal-standard-min-height);
}

.modal__dialog--dispatch {
  height: min(620px, calc(100vh - 48px));
}

[data-confirm-entry-modal] .modal__dialog--summary {
  width: min(1440px, calc(100vw - 12px));
  height: min(940px, calc(100vh - 12px));
  max-height: calc(100vh - 12px);
}

.modal__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid #d7dee6;
  background: linear-gradient(180deg, #fafbfd 0%, #eff3f7 100%);
}

.modal__heading {
  display: grid;
  gap: 3px;
}

.modal__heading strong {
  color: #294560;
}

.modal__heading small {
  color: var(--text-soft);
}

.button--success {
  border-color: var(--success);
  background: var(--success);
}

.button--success:hover {
  border-color: #226126;
  background: #226126;
}

.confirmation-modal__import-action {
  display: flex;
  justify-content: flex-end;
  padding: 12px 20px 18px;
}

.modal__close {
  min-width: 28px;
  min-height: 28px;
  border: 1px solid var(--border);
  background: linear-gradient(180deg, #ffffff 0%, #f1f4f7 100%);
  color: #27445f;
  cursor: pointer;
}

.modal__close:hover {
  border-color: #93b8d8;
  background: linear-gradient(180deg, #ffffff 0%, #e9f2fb 100%);
}

.modal__feedback {
  padding: 0 12px 12px;
  color: #35516d;
  font-weight: 600;
  line-height: 1.35;
}

.modal__feedback--error,
.modal__feedback--danger {
  color: #9a472c;
}

.modal__content {
  display: grid;
  gap: 12px;
  min-height: 0;
  padding: 12px;
}

.modal__content--summary {
  grid-template-columns: minmax(0, 1.9fr) minmax(360px, 430px);
  align-items: start;
  gap: 18px;
  overflow: hidden;
  padding: 18px;
}

.dispatch-modal {
  grid-template-columns: 1fr;
  align-items: start;
  gap: 18px;
  overflow: auto;
  scrollbar-width: none;
  padding: 18px;
}

.dispatch-modal::-webkit-scrollbar { width: 0; height: 0; }

.dispatch-modal:not(.dispatch-modal--has-invoice) { overflow: hidden; }
.dispatch-modal:not(.dispatch-modal--has-invoice) .modal__section--summary,
.dispatch-modal:not(.dispatch-modal--has-invoice) .modal__section--form { display: none; }

.dispatch-modal--manifest .modal__section--form label,
.dispatch-modal--manifest .modal__section--form datalist { display: none; }

.manifest-preview { border: 1px solid #66717d; background: #fff; }
.manifest-preview__heading { padding: 7px 10px; color: #111827; background: #e5e7eb; font-size: 12px; font-weight: 800; text-transform: uppercase; }
.manifest-preview__table th { background: #eef0f2; font-size: 11px; }
.manifest-preview__table td { min-height: 38px; font-size: 12px; }

.modal__dialog--dispatch-confirm {
  display: flex;
  width: min(780px, calc(100vw - 24px));
  height: min(640px, calc(100vh - 24px));
  max-height: calc(100vh - 24px);
  flex-direction: column;
  background: #fff;
}

.manifest-dialog { width:min(1360px,calc(100vw - 24px)); height:min(880px,calc(100vh - 24px)); max-height:calc(100vh - 24px); display:flex; flex-direction:column; background:#fff; }
.manifest-sheet { display:grid; gap:12px; min-height:0; overflow:auto; padding:18px 22px; font-size:12px; }
.manifest-sheet__header { display:flex; justify-content:space-between; gap:20px; padding-bottom:12px; border-bottom:2px solid #1f2937; }.manifest-sheet__company { display:flex; min-width:0; align-items:center; gap:12px; }.manifest-sheet__company-copy,.manifest-sheet__document-heading { display:grid; gap:3px; }.manifest-sheet__logo { width:100px; height:48px; flex:0 0 auto; object-fit:contain; object-position:left center; }.manifest-sheet__header b,.manifest-sheet__header strong { font-size:16px; }.manifest-sheet__document-heading { text-align:right; }
.manifest-sheet__meta { display:grid; grid-template-columns:1.2fr 1fr .8fr; gap:8px; }.manifest-sheet__meta label,.manifest-sheet__footer label { display:grid; gap:4px; font-weight:700; }
.manifest-sheet__section-title { padding:7px 9px; background:#e5e7eb; border:1px solid #66717d; font-weight:800; text-transform:uppercase; }.manifest-sheet__add { display:grid; grid-template-columns:1fr auto; gap:8px; padding:8px; border:1px solid #66717d; border-top:0; }.manifest-sheet__details { display:grid; grid-template-columns:1fr 1fr; gap:0; }.manifest-sheet__details div { min-height:76px; padding:9px; border:1px solid #66717d; }.manifest-sheet__details b { display:block; margin:-9px -9px 8px; padding:6px 9px; background:#e5e7eb; text-transform:uppercase; }.manifest-sheet__details p { margin:0; }.manifest-sheet__footer { display:grid; grid-template-columns:1fr 180px; gap:10px; align-items:end; }.manifest-sheet__footer > div { display:grid; gap:6px; padding:10px; border:1px solid #66717d; }.manifest-sheet__footer strong { font-size:16px; }.manifest-sheet__submit { justify-self:end; min-width:210px; }

.manifest-sheet__invoice-grid { min-width:980px; table-layout:fixed; }
.manifest-sheet__invoice-grid col:nth-child(1) { width:5%; }
.manifest-sheet__invoice-grid col:nth-child(2) { width:7%; }
.manifest-sheet__invoice-grid col:nth-child(3) { width:9%; }
.manifest-sheet__invoice-grid col:nth-child(4),
.manifest-sheet__invoice-grid col:nth-child(5) { width:17%; }
.manifest-sheet__invoice-grid col:nth-child(6) { width:13%; }
.manifest-sheet__invoice-grid col:nth-child(7) { width:9%; }
.manifest-sheet__invoice-grid col:nth-child(8) { width:7%; }
.manifest-sheet__invoice-grid col:nth-child(9) { width:16%; }
.manifest-sheet__invoice-grid th,
.manifest-sheet__invoice-grid td { padding:6px 7px; font-size:11px; line-height:1.25; vertical-align:middle; word-break:break-word; }
.manifest-sheet__draft-actions { display:flex; justify-content:flex-end; gap:10px; padding-top:4px; }
.manifest-sheet__invoice-grid--draft { min-width:1080px; }

.modal__feedback--info {
  margin: 0 22px 16px;
  padding: 10px 12px;
  border: 1px solid #d6a62b;
  border-left: 4px solid #d09a12;
  border-radius: 3px;
  background: #fff8df;
  color: #75570a;
  font-weight: 700;
}

.dispatch-modal__search {
  grid-column: 1 / -1;
  display: grid;
  gap: 12px;
  padding: 0;
}

.dispatch-modal__lookup-form {
  grid-template-columns: minmax(240px, 1fr) minmax(320px, 1.4fr) auto;
  align-items: end;
  gap: 10px;
}

.dispatch-modal__lookup-form .button {
  min-width: 120px;
}

.dispatch-modal__lookup-form--single {
  grid-template-columns: 1fr;
}

.modal__info-grid {
  gap: 8px;
}

.modal__form {
  padding: 12px 12px 8px;
  align-content: start;
}

.modal__form--embedded {
  padding: 0;
}

.return-note-lookup-form {
  display: grid;
  flex: 1 1 auto;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto 1fr auto;
  width: 100%;
  min-height: 100%;
  gap: 18px;
}

.return-note-lookup-form > label {
  grid-column: 1 / -1;
  align-self: start;
  width: 100%;
}

.return-note-lookup-form input {
  display: block;
  min-width: 100%;
  width: 100%;
  box-sizing: border-box;
}

.return-note-lookup-form__actions {
  display: flex;
  grid-column: 1 / -1;
  align-self: end;
  justify-content: flex-end;
  padding-top: 12px;
  border-top: 1px solid #e4ebef;
}

#return-note-api-form {
  display: grid;
  flex: 1 1 auto;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto 1fr auto;
  width: 100%;
  min-height: 100%;
  gap: 16px;
}

#return-note-api-form > label,
#return-note-api-form textarea {
  width: 100%;
  box-sizing: border-box;
}

#return-note-api-form .modal__actions {
  align-self: end;
  justify-content: flex-end;
  padding-top: 12px;
  border-top: 1px solid #e4ebef;
}

#return-note-form {
  display: grid;
  flex: 1 1 auto;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto 1fr auto;
  width: 100%;
  min-height: 100%;
  gap: 16px;
}

#return-note-form > label,
#return-note-form input,
#return-note-form textarea {
  width: 100%;
  box-sizing: border-box;
}

#return-note-form .modal__actions {
  align-self: end;
  justify-content: flex-end;
  padding-top: 12px;
  border-top: 1px solid #e4ebef;
}

.modal__field-pair {
  gap: 8px;
}

.modal__section {
  min-width: 0;
}

.modal__section--summary,
.modal__section--form {
  padding: 20px 14px 14px;
}

.modal__section--form {
  display: grid;
  gap: 14px;
  align-self: start;
  min-height: 0;
  overflow: auto;
}

.modal__section--summary {
  min-height: 0;
  overflow: auto;
}

.modal__section-copy {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border: 1px solid #d3dee8;
  background: linear-gradient(180deg, #fcfdfe 0%, #eff4f8 100%);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.55);
}

.modal__section-copy strong,
.modal__section-copy small {
  display: block;
}

.modal__section-copy strong {
  color: #294560;
}

.modal__section-copy small {
  color: var(--text-soft);
}

.modal__dialog:not(.modal__dialog--summary) .legacy-info-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.modal__dialog:not(.modal__dialog--summary) .legacy-info-grid__wide {
  grid-column: 1 / -1;
}

.modal__dialog:not(.modal__dialog--summary) .summary-people-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.modal__dialog:not(.modal__dialog--summary) .summary-people-card__body {
  grid-template-columns: 1fr;
}

.modal__default-taker {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border: 1px solid #d9e2ea;
  background: var(--surface-soft);
}

.modal__default-taker span {
  color: var(--text-soft);
}

.modal__taker-toggle-row {
  display: flex;
  justify-content: flex-start;
}

.modal__taker-toggle-row .button {
  width: 100%;
  justify-content: flex-start;
}

.modal__form-block {
  display: grid;
  gap: 10px;
  padding: 12px 14px 14px;
  border: 1px solid #d9e2ea;
  background: linear-gradient(180deg, #fdfefe 0%, #f3f6f9 100%);
}

.modal__form-block-heading {
  display: grid;
  gap: 3px;
}

.modal__form-block-heading strong,
.modal__form-block-heading small {
  display: block;
}

.modal__form-block-heading strong {
  color: #294560;
}

.modal__form-block-heading small {
  color: var(--text-soft);
}

.modal__actions {
  display: flex;
  justify-content: stretch;
  padding-top: 12px;
  margin-top: 4px;
  border-top: 1px solid #dbe4eb;
}

.modal__actions--end {
  justify-content: flex-end;
}

.modal__actions .button {
  width: 100%;
  min-height: 36px;
  font-weight: 700;
}

.modal__actions--end .button {
  width: auto;
  min-width: 140px;
}

#import-form .modal__actions {
  grid-column: 1 / -1;
}

.customer-modal__actions {
  grid-column: 1 / -1;
}

.operations-list__actionbar.customer-page__actionbar {
  justify-content: flex-end;
}

.customers-grid {
  min-width: 1080px;
}

.customers-grid th:last-child,
.customers-grid td:last-child {
  white-space: nowrap;
  text-align: right;
}

#import-form > label {
  grid-column: 1 / -1;
}

#import-form input[name="accessKey"] {
  width: 100%;
}

.dispatch-modal__lookup-form--single > label,
.dispatch-modal__lookup-form--single > .modal__actions {
  grid-column: 1 / -1;
}

.dispatch-modal__lookup-form--single input[name="invoiceLookup"] {
  width: 100%;
}

.return-note-source-switch {
  display: grid;
  grid-template-columns: repeat(2, minmax(112px, 132px));
  justify-content: center;
  width: 100%;
  gap: 16px;
  padding: 18px 0;
}

.return-note-source-switch .button {
  width: 100%;
  min-width: 0;
  min-height: 94px;
  justify-content: center;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
  border: 1px solid #9bd8d0;
  border-radius: 10px;
  color: #087f7d;
  background: linear-gradient(145deg, #f8fffe, #e5f8f5);
  box-shadow: 0 7px 16px rgba(12, 135, 128, .11);
}

.return-note-source-switch .button:hover {
  border-color: #45bdb3;
  background: linear-gradient(145deg, #faffff, #d6f4ef);
}

.return-note-source-switch .button.button-secondary {
  border-color: #d5e1e7;
  color: #52728a;
  background: #fff;
  box-shadow: 0 5px 14px rgba(39, 76, 101, .08);
}

.return-note-source-switch .ui-icon {
  width: 32px;
  height: 32px;
  stroke-width: 1.9;
}

.return-note-source-switch__label {
  font-size: 12px;
  font-weight: 800;
}

.return-note-viewer {
  min-height: 62vh;
  border: 1px solid #d6e0e8;
  background: #eef2f6;
  overflow: hidden;
}

.return-note-viewer iframe {
  width: 100%;
  height: 62vh;
  border: 0;
  display: block;
  background: #ffffff;
}

.modal__form {
  gap: 10px;
}

.modal__form .helper {
  line-height: 1.35;
}

.auth-body {
  min-height: 100vh;
  background: radial-gradient(circle at top, #edf5fb 0%, #d6e2ec 38%, #c9d4df 100%);
}

.auth-app {
  min-height: 100vh;
  padding: 18px;
}

.auth-shell {
  min-height: calc(100vh - 36px);
  display: grid;
  place-items: center;
}

.auth-window {
  width: min(460px, 100%);
  border: 1px solid #8ea6ba;
  background: linear-gradient(180deg, #ffffff 0%, #f3f6f9 100%);
  box-shadow: 0 24px 40px rgba(31, 54, 76, 0.18);
}

.auth-window--selector {
  width: min(960px, 100%);
}

.auth-window--compact {
  width: min(420px, 100%);
}

.auth-window--selector.auth-window--compact {
  width: min(560px, 100%);
}

.auth-window__brand {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 18px 20px;
  border-bottom: 1px solid #d5dfe8;
  background: linear-gradient(180deg, #fafdff 0%, #e7eef5 100%);
}

.auth-window__logo {
  width: 56px;
  height: 56px;
  object-fit: contain;
  border: 1px solid rgba(106, 145, 176, 0.7);
  background: rgba(255, 255, 255, 0.95);
  padding: 4px;
}

.auth-window__company {
  display: grid;
  gap: 3px;
}

.auth-window__company strong {
  color: #173752;
  font-size: 16px;
}

.auth-window__company small {
  color: #48637a;
}

.auth-window__content {
  display: grid;
  gap: 12px;
  padding: 20px;
}

.auth-window__copy {
  display: grid;
  gap: 2px;
}

.auth-window__copy strong {
  color: #173752;
  font-size: 20px;
}

.auth-window__copy small {
  color: var(--text-soft);
}

.auth-form {
  gap: 12px;
}

.auth-form .button {
  width: 100%;
  min-height: 36px;
  font-weight: 700;
}

.auth-inline-note {
  color: var(--text-soft);
}

.auth-hint,
.auth-placeholder {
  display: grid;
  gap: 6px;
  padding: 14px;
  border: 1px solid #d8e2eb;
  background: linear-gradient(180deg, #fbfdff 0%, #eef4f8 100%);
}

.auth-hint strong,
.auth-placeholder strong {
  color: #27445f;
}

.auth-placeholder p {
  margin: 0;
  color: #4c6174;
}

.auth-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.auth-actions--end {
  justify-content: flex-end;
}

.auth-user-chip {
  display: grid;
  gap: 2px;
  padding: 10px 12px;
  border: 1px solid #d6dfe8;
  background: #fff;
}

.auth-user-chip strong {
  color: #27445f;
}

.auth-user-chip small {
  color: var(--text-soft);
}

@media (max-width: 1320px) {
  .modal__dialog--summary {
    width: min(1240px, calc(100vw - 12px));
    height: min(900px, calc(100vh - 12px));
  }
}

/* Faturamento: seleção de notas e composição em colunas. */
.billing-filter-form,
#composer {
  margin: 0;
}

.billing-filter-bar {
  padding: 0 10px 12px;
  border-top: 1px solid #e8edf1;
  background: #fff;
}

.billing-filter-grid {
  display: grid;
  grid-template-columns: minmax(200px, 0.85fr) minmax(300px, 1.2fr) auto;
  align-items: end;
  gap: 12px;
  padding-top: 12px;
}

.billing-filter-grid label {
  display: grid;
  gap: 5px;
}

.billing-date-range {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 7px;
}

.billing-date-range > span {
  color: var(--text-soft);
  font-size: 12px;
  font-weight: 700;
}

.billing-filter-bar__actions {
  display: flex;
  justify-content: flex-end;
}

.billing-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(330px, 0.85fr);
  align-items: start;
  gap: 14px;
}

.billing-workspace > .legacy-group {
  margin: 0;
}

.billing-selection-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 10px 12px;
  border-bottom: 1px solid #e4ebef;
  background: #fff;
  color: #537087;
  font-size: 12px;
  font-weight: 700;
}

.billing-select-all {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #31556f;
  cursor: pointer;
}

.billing-select-all input {
  width: 15px;
  height: 15px;
}

.billing-ready-list__hint {
  color: #557282;
  font-size: 12px;
  font-weight: 700;
}

.note-tabs--finance .note-tabs__panel {
  display: grid;
  gap: 14px;
  padding: 14px;
}

.finance-panel-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.finance-panel-heading > div {
  display: grid;
  gap: 3px;
}

.finance-panel-heading small {
  color: #698095;
}

.finance-payable-form {
  margin: 0;
}

.badge-muted {
  color: #557282;
  background: #e9eff3;
}

.billing-ready-list .operations-list__actionbar {
  justify-content: space-between;
}

.billing-vehicle-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 8px;
}

.billing-vehicle-summary > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid #d7e6e9;
  background: #f5fbfa;
  color: #31556f;
  font-size: 12px;
}

.billing-vehicle-summary strong {
  color: #087d65;
  font-size: 14px;
}

.table-scroll--billing {
  max-height: 520px;
}

.billing-invoices-grid,
.billing-manifests-grid {
  min-width: 980px;
}

.billing-invoices-grid th:first-child,
.billing-invoices-grid td:first-child,
.billing-manifests-grid th:first-child,
.billing-manifests-grid td:first-child {
  width: 42px;
  text-align: center;
}

.billing-invoices-grid tbody tr[data-billing-invoice-row],
.billing-manifests-grid tbody tr[data-billing-manifest-row] {
  cursor: pointer;
}

.billing-invoices-grid tbody tr[data-billing-invoice-row]:focus-visible td,
.billing-manifests-grid tbody tr[data-billing-manifest-row]:focus-visible td {
  outline: 2px solid rgba(31, 158, 157, 0.55);
  outline-offset: -2px;
}

.billing-invoices-grid tbody tr.is-selected td,
.billing-manifests-grid tbody tr.is-selected td {
  background: #eef9f7;
}

.billing-composer {
  display: grid;
  gap: 14px;
  padding: 14px;
}

.billing-composer > label {
  display: grid;
  gap: 5px;
}

.note-tabs--billing .note-tabs__panel {
  display: grid;
  gap: 14px;
  padding: 14px 0 0;
}

.note-tabs--billing .note-tabs__panel > label {
  display: grid;
  gap: 5px;
}

.billing-composer textarea {
  min-height: 112px;
  resize: vertical;
}

.billing-composer__notice {
  display: grid;
  gap: 4px;
  padding: 11px 12px;
  border: 1px solid #d7e6e9;
  background: #f5fbfa;
}

.billing-composer__notice strong {
  color: #1c6d72;
}

.billing-composer__notice span {
  color: #557282;
  font-size: 12px;
  line-height: 1.4;
}

.billing-composer__summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  border: 1px solid #dce5ea;
  background: #dce5ea;
}

.billing-composer__summary > div {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px 11px;
  background: #fff;
}

.billing-composer__summary dt,
.billing-composer__summary dd {
  margin: 0;
}

.billing-composer__summary dt {
  color: #698095;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.billing-composer__summary dd {
  color: #294b65;
  font-size: 14px;
  font-weight: 800;
}

.billing-composer__summary-total {
  grid-column: 1 / -1;
  background: #eef9f7 !important;
}

.billing-composer__summary-total dd {
  color: #087d65;
  font-size: 18px;
}

.billing-composer__actions {
  display: flex;
  justify-content: flex-end;
  padding-top: 12px;
  border-top: 1px solid #dfe7eb;
}

.billing-composer__actions .button {
  min-width: 180px;
}

.billing-composer__actions .button:disabled {
  border-color: #adc8c7;
  background: #adc8c7;
  color: #fff;
  opacity: 0.72;
  cursor: not-allowed;
}

.modal__dialog.billing-modal__dialog {
  width: min(1320px, calc(100vw - 32px));
  height: min(800px, calc(100vh - 32px));
  max-height: calc(100vh - 32px);
  grid-template-rows: auto minmax(0, 1fr);
}

.billing-modal__form {
  display: grid;
  min-height: 0;
  overflow: hidden;
}

.billing-modal__content {
  display: grid;
  min-height: 0;
  grid-template-columns: minmax(0, 1.65fr) minmax(330px, 0.85fr);
  overflow: hidden;
}

.billing-modal__content.note-tabs--billing-full {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto minmax(0, 1fr);
  gap: 0;
  padding: 0;
}

.note-tabs--billing-full > .note-tabs__list {
  padding: 10px 14px 0;
}

.note-tabs--billing-full > .note-tabs__list {
  gap: 8px;
  padding-bottom: 8px;
}

.note-tabs--billing-full > .note-tabs__list button {
  min-height: 29px;
  padding: 5px 9px;
  border: 1px solid var(--nfe-teal);
  border-radius: 3px;
  color: #fff;
  background: var(--nfe-teal);
  font: inherit;
  font-size: 12px;
  font-weight: 650;
}

.note-tabs--billing-full > .note-tabs__list button:hover {
  border-color: var(--nfe-teal-dark);
  color: #fff;
  background: var(--nfe-teal-dark);
}

.note-tabs--billing-full > .note-tabs__list button.is-active {
  border-color: #5367d6;
  color: #fff;
  background: #5367d6;
}

.note-tabs--billing-full > .billing-modal__section {
  overflow: auto;
}

.note-tabs--billing-full > .billing-modal__section--composer {
  border-left: 0;
}

.billing-modal__section {
  display: flex;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  background: #fff;
}

.billing-modal__section--composer {
  overflow: auto;
  border-left: 1px solid #dfe7eb;
}

.billing-modal__section-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  min-height: 48px;
  padding: 13px 16px;
  border-bottom: 1px solid #e1e8ed;
  color: #294b65;
}

.billing-modal__section-heading strong {
  font-size: 14px;
}

.billing-modal__section-heading small {
  color: #6d8395;
  font-size: 11px;
  font-weight: 700;
}

.billing-modal__section .empty-panel {
  margin: 12px;
}

.billing-modal__section .table-scroll--billing {
  min-height: 0;
  max-height: none;
  flex: 1 1 auto;
  border: 0;
}

.billing-modal__section .billing-selection-toolbar {
  flex: 0 0 auto;
}

.operations-list__actionbar.process-detail__actionbar {
  justify-content: flex-end;
}

.process-detail-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(300px, 0.75fr);
  align-items: start;
  gap: 14px;
}

.process-detail-workspace > .legacy-group {
  margin: 0;
}

.process-detail__notes {
  min-height: 100%;
}

.process-detail__notes .legacy-note {
  min-height: 144px;
  white-space: pre-wrap;
}

.process-detail__summary-total strong {
  color: #087d65;
}

.process-detail__container {
  overflow: hidden;
}

.process-detail__container > .legacy-group__legend {
  margin-bottom: 0;
}

.process-detail__fields {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  border-top: 1px solid #dce5ea;
  background: #dce5ea;
}

.process-detail__fields > div {
  min-height: 78px;
  padding: 14px 16px;
  background: #fff;
}

.process-detail__fields dt {
  color: #698095;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .03em;
}

.process-detail__fields dd {
  margin-top: 7px;
  color: #294b65;
  font-size: 14px;
  font-weight: 700;
}

.process-detail__fields--customer > div:first-child,
.process-detail__fields--customer > div:last-child {
  grid-column: span 2;
}

.process-detail__fields--invoice > div:last-child {
  background: #eef9f7;
}

.process-detail__fields--invoice > div:last-child dd {
  color: #087d65;
  font-size: 17px;
}

@media (max-width: 1050px) {
  .billing-workspace {
    grid-template-columns: 1fr;
  }

  .modal__dialog.billing-modal__dialog {
    width: min(980px, calc(100vw - 20px));
    height: min(860px, calc(100vh - 20px));
    max-height: calc(100vh - 20px);
  }

  .billing-modal__content {
    grid-template-columns: 1fr;
    overflow: auto;
  }

  .billing-modal__section {
    min-height: 360px;
  }

  .billing-modal__section--composer {
    overflow: visible;
    border-top: 1px solid #dfe7eb;
    border-left: 0;
  }

  .process-detail-workspace {
    grid-template-columns: 1fr;
  }

  .billing-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .billing-filter-bar__actions {
    grid-column: 1 / -1;
  }
}

@media (max-width: 700px) {
  .billing-filter-grid,
  .billing-composer__summary {
    grid-template-columns: 1fr;
  }

  .billing-date-range {
    grid-template-columns: 1fr;
  }

  .billing-date-range > span {
    display: none;
  }

  .billing-filter-bar__actions {
    grid-column: auto;
  }

  .billing-filter-bar__actions .button,
  .billing-composer__actions .button {
    width: 100%;
  }

  .billing-composer__summary-total {
    grid-column: auto;
  }

  .modal__dialog.billing-modal__dialog {
    width: calc(100vw - 16px);
    height: calc(100vh - 16px);
    max-height: calc(100vh - 16px);
  }

  .billing-modal__section-heading {
    padding-inline: 12px;
  }
}

@media (max-width: 1180px) {
  .modal__dialog--summary {
    width: min(980px, calc(100vw - 20px));
    height: auto;
  }

  .modal__content--summary {
    grid-template-columns: 1fr;
    overflow: auto;
  }

  .dispatch-modal__lookup-form {
    grid-template-columns: 1fr;
  }

  .modal__section--form {
    overflow: visible;
  }

  .modal__section--summary {
    overflow: visible;
  }
}

@media (max-width: 900px) {
  .modal__dialog:not(.modal__dialog--summary) .legacy-info-grid,
  .modal__dialog:not(.modal__dialog--summary) .summary-people-grid,
  .modal__dialog:not(.modal__dialog--summary) .summary-people-card__body {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1100px) {
  .legacy-layout--double,
  .legacy-layout--triple,
  .legacy-filter-grid,
  .legacy-info-grid,
  .legacy-inline-form,
  .summary-people-grid,
  .summary-people-card__body,
  .summary-detail-grid {
    grid-template-columns: 1fr;
  }

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

  .legacy-date-range {
    grid-template-columns: 1fr;
  }

  .legacy-info-grid__wide {
    grid-column: auto;
  }
}

@media (max-width: 900px) {
  .workspace-shell,
  .window-frame.sidebar-collapsed .workspace-shell {
    grid-template-columns: 1fr;
  }

  .sidebar {
    border-right: none;
    border-bottom: 1px solid #d7dee6;
  }

  .sidebar-toggle--inline {
    display: inline-flex;
  }

  .window-frame.sidebar-collapsed .sidebar {
    display: none;
  }
}

@media (max-width: 760px) {
  .app-shell {
    padding: 0;
  }

  .window-frame {
    min-height: 100vh;
  }

  .workspace-header {
    align-items: stretch;
    flex-direction: column;
  }

  .workspace-header__left,
  .window-company-bar-preview {
    grid-template-columns: 1fr;
    justify-items: start;
  }

  .dashboard-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-card {
    min-height: 82px;
  }

  .modal {
    padding: 10px;
  }

  .desktop-toolbar {
    gap: 4px;
  }

  .toolbar-button {
    width: 100%;
    justify-content: flex-start;
  }

  .legacy-form-grid--import {
    grid-template-columns: 1fr;
  }

  .table-scroll {
    border-width: 0;
  }
}

/* Tema final — inserido no fim do arquivo para substituir a interface anterior. */
:root { --nfe-navy:#263f58; --nfe-ink:#344e65; --nfe-muted:#718092; --nfe-border:#d9e1e7; --nfe-bg:#f4f6f8; --nfe-teal:#08c99b; --nfe-teal-dark:#06ac84; --nfe-red:#ec3025; --nfe-lilac:#f0f0ff; }
html, body { background:var(--nfe-bg); color:var(--nfe-ink); font-family:Lato,Arial,sans-serif; font-size:14px; }
.app-shell { min-height:100vh; padding:0; }
.window-frame { min-height:100vh; margin:0; border:0; border-radius:0; background:var(--nfe-bg); box-shadow:none; }
.window-titlebar { display:flex; min-height:96px; padding:0 24px; background:#fff; border-bottom:1px solid var(--nfe-border); }
.window-titlebar__caption--company { gap:12px; }
.window-company-logo { width:82px; height:82px; padding:2px; border:0; border-radius:8px; background:#fff; box-shadow:none; }
.window-company-meta strong { color:#687789; font-family:Lato,Arial,sans-serif; font-size:18px; font-weight:700; }
.window-company-meta small { display:none; }
.workspace-shell, .window-frame.sidebar-collapsed .workspace-shell { grid-template-columns:64px minmax(0,1fr); min-height:calc(100vh - 64px); }
.sidebar { gap:14px; padding:12px 8px; background:#fff; border-right:1px solid var(--nfe-border); }
.sidebar__header { justify-content:center; padding:0 0 12px; border:0; }
.sidebar__brand { display:none; }
.sidebar-toggle { width:30px; height:30px; border:0; border-radius:9px; color:#fff; background:var(--nfe-red); box-shadow:0 2px 5px rgba(213,42,32,.22); }
.sidebar-toggle:hover { color:#fff; border:0; background:#d92118; }
.sidebar-toggle span, .sidebar-toggle span::before, .sidebar-toggle span::after { background:currentColor; }
.sidebar-nav { gap:9px; margin-top:4px; }
.sidebar-nav a, .window-frame.sidebar-collapsed .sidebar-nav a { position:relative; justify-content:center; min-height:36px; padding:6px; border:0; border-radius:7px; color:#355572; background:transparent; }
.sidebar-nav a:hover { color:#0caaa0; border:0; background:#effafa; transform:none; }
.sidebar-nav a.is-active { color:var(--nfe-red); border:0; background:#fff4f3; box-shadow:none; }
.sidebar-nav__icon { width:23px; height:23px; padding:3px; border:0; border-radius:0; background:transparent; color:currentColor; }
.sidebar-nav a.is-active .sidebar-nav__icon { background:transparent; color:currentColor; }
.sidebar-nav__label, .window-frame.sidebar-collapsed .sidebar-nav__label { display:none; }
.workspace-main { background:var(--nfe-bg); }
.workspace-header { min-height:56px; padding:0 26px; background:#fff; border-bottom:1px solid var(--nfe-border); }
.workspace-caption { color:var(--nfe-navy); font-size:14px; font-weight:700; }
.workspace-caption__icon { width:27px; height:27px; padding:5px; border:0; border-radius:7px; color:#316287; background:#eff5f8; }
.workspace-user { display:flex; align-items:center; gap:8px; padding:0 7px 0 0; }
.workspace-user::before { width:27px; height:27px; border-radius:50%; background:#2e4c65; content:""; }
.workspace-user strong { color:#657487; font-size:12px; font-weight:700; }
.workspace-user small { display:none; }
.workspace-header .button { min-height:31px; padding:6px 10px; }
.page { width:100%; max-width:none; padding:10px 10px 48px; background:var(--nfe-bg); }
.window-statusbar { display:none; }
.dashboard-hero { display:none; }
.legacy-group { overflow:visible; border:1px solid #e0e6eb; border-radius:7px; background:#fff; box-shadow:0 2px 8px rgba(28,49,67,.07); }
.legacy-group__legend { display:flex; min-height:48px; padding:13px 18px; color:var(--nfe-navy); border-bottom:1px solid #e3e9ed; background:#fff; font-size:18px; font-weight:900; }
.legacy-group__legend::before { display:none; }
.legacy-group__legend small { color:var(--nfe-muted); font-size:11px; font-weight:500; }
.legacy-group__actionbar { gap:6px; padding:9px 10px; border-bottom:1px solid #e8edf1; background:#fff; }
.legacy-layout, .legacy-layout--double { gap:14px; }
.dashboard-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; padding:14px; }
.dashboard-card { min-height:96px; padding:14px; border:1px solid #e5eaee; border-radius:6px; background:#fff; box-shadow:none; }
.dashboard-card::after { display:none; }
.dashboard-card strong { margin-top:4px; color:var(--nfe-navy); font-size:27px; }
.dashboard-card__icon { width:30px; height:30px; padding:7px; border-radius:6px; }
.legacy-form-grid, .legacy-filter-grid { gap:12px 14px; padding:16px; }
label { color:#435d73; font-size:13px; font-weight:600; }
input,select,textarea { min-height:34px; padding:7px 9px; border:1px solid #b7c8d6; border-radius:3px; color:#2d4961; background:#fff; font-family:Lato,Arial,sans-serif; font-size:13px; }
input:focus,select:focus,textarea:focus { border-color:#44a5ce; box-shadow:0 0 0 2px rgba(68,165,206,.13); outline:0; }
.button { min-height:32px; padding:6px 11px; border:1px solid var(--nfe-teal); border-radius:3px; color:#fff; background:var(--nfe-teal); box-shadow:none; font-family:Lato,Arial,sans-serif; font-size:13px; font-weight:700; }
.button:hover { border-color:var(--nfe-teal-dark); background:var(--nfe-teal-dark); box-shadow:none; transform:none; }
.button-secondary { color:#3b607e; border-color:#aec1d0; background:#fff; }
.button-secondary:hover { color:#2b526f; border-color:#90b3ca; background:#f8fbfc; }
.button-small { min-height:29px; padding:5px 9px; }
.table-scroll { border:0; }
.data-grid { border:0; }
.data-grid th { padding:10px 12px; color:var(--nfe-navy); border-bottom:3px solid #bfced9; background:#fff; font-size:13px; font-weight:900; text-transform:none; }
.data-grid td { padding:10px 12px; color:#3b576e; border-right:0; border-bottom:1px solid #dfe7ec; font-size:13px; }
.data-grid tbody tr:nth-child(even) td { background:#fbfcfd; }
.data-grid tbody tr.is-selected td { background:var(--nfe-lilac); }
.data-grid tbody tr:hover td { background:#edfbf8; }
.data-grid a { color:#4468dd; }
.badge { border-radius:3px; padding:3px 6px; font-size:10px; }
.badge-success { color:#087d65; background:#ddfaef; }.badge-warning { color:#766b00; background:#efff9b; }
.modal__dialog { border:0; border-radius:8px; box-shadow:0 14px 38px rgba(24,48,68,.24); }.modal__header { padding:15px 18px; background:#fff; border-bottom:1px solid #e0e7ec; }
@media (max-width:900px) { .workspace-shell,.window-frame.sidebar-collapsed .workspace-shell { grid-template-columns:54px minmax(0,1fr); }.sidebar { padding-inline:5px; }.workspace-header { padding-inline:14px; }.dashboard-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
  @media (max-width:620px) { .window-titlebar { min-height:54px; padding-inline:14px; }.window-company-meta strong { font-size:15px; }.workspace-shell,.window-frame.sidebar-collapsed .workspace-shell { grid-template-columns:1fr; }.sidebar,.window-frame.sidebar-collapsed .sidebar { display:none; }.workspace-header { min-height:50px; padding-inline:14px; }.workspace-user { display:none; }.page { padding:10px; }.dashboard-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.legacy-group__legend { font-size:16px; } }

/* Dashboard operacional */
.operations-dashboard { display:grid; gap:18px; }
.operations-dashboard__header { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; padding:4px 2px 2px; }
.operations-dashboard__eyebrow { display:block; margin-bottom:5px; color:#228c8a; font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.operations-dashboard__header h1 { margin:0; color:#1e4058; font-size:25px; line-height:1.1; }
.operations-dashboard__header p { margin:6px 0 0; color:#71889a; }
.operations-kpis { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }
.operations-kpi { position:relative; min-height:122px; padding:16px; overflow:hidden; border:1px solid #e1e9ed; border-radius:10px; background:#fff; }
.operations-kpi::before { position:absolute; top:0; left:0; width:100%; height:4px; background:#3e849d; content:""; }
.operations-kpi span { display:block; min-height:29px; color:#597185; font-size:11px; font-weight:700; }
.operations-kpi strong { display:block; margin:4px 0; color:#1e4058; font-size:30px; line-height:1; }
.operations-kpi small { color:#8194a2; font-size:10px; }
.operations-kpi--warehouse::before { background:#397ca1; }.operations-kpi--return::before { background:#8a72b7; }.operations-kpi--route::before { background:#e58b31; }.operations-kpi--scheduled::before { background:#20a188; }.operations-kpi--overdue::before { background:#d95a54; }.operations-kpi--issue::before { background:#b94962; }
.operations-dashboard__grid { display:grid; grid-template-columns:1.15fr .85fr; gap:16px; }
.operations-panel { min-width:0; border:1px solid #e0e9ed; border-radius:10px; background:#fff; overflow:hidden; }
.operations-panel--map { grid-row:span 2; }
.operations-panel__title { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:62px; padding:13px 16px; border-bottom:1px solid #e7edf0; }
.operations-panel__title span:first-child { display:block; color:#284b62; font-size:13px; font-weight:800; }.operations-panel__title small { display:block; margin-top:2px; color:#80919d; font-size:10px; }
.operations-panel__title a { color:#168b87; font-size:11px; font-weight:800; text-decoration:none; }.operations-panel__count { color:#668396; font-size:10px; font-weight:700; white-space:nowrap; }
.delivery-map { position:relative; height:285px; overflow:hidden; border:1px solid #dce9e8; border-radius:8px; background:#edf4f4; box-shadow:inset 0 0 0 1px rgba(255,255,255,.7); z-index:0; }.delivery-map__empty { position:relative; z-index:500; display:grid; height:100%; place-items:center; color:#6b8292; font-size:12px; }.delivery-map .leaflet-control-zoom { overflow:hidden; border:0; border-radius:7px; box-shadow:0 4px 12px rgba(40,78,91,.18); }.delivery-map .leaflet-control-zoom a { width:30px; height:30px; border:0; color:#087d65; background:#fff; line-height:30px; }.delivery-map .leaflet-control-zoom a:hover { color:#fff; background:#0aa982; }.delivery-map-marker { background:transparent; border:0; }.delivery-map-marker span { display:block; width:16px; height:16px; border:4px solid #fff; border-radius:50%; background:#0aa982; box-shadow:0 0 0 4px rgba(10,169,130,.22), 0 3px 9px rgba(6,91,73,.35); }.delivery-map .leaflet-popup-content-wrapper { border-radius:8px; box-shadow:0 8px 24px rgba(28,61,71,.2); }.delivery-map .leaflet-popup-content { margin:11px 13px; color:#36576a; font:600 12px Lato,Arial,sans-serif; }
.tocantins-map { position:relative; width:100%; height:100%; overflow:hidden; background:radial-gradient(circle at 50% 42%, #f9fffd 0, #e2f4ef 46%, #c9e8df 100%); }.tocantins-map__grid { position:absolute; inset:0; opacity:.45; background-image:linear-gradient(rgba(18,139,114,.13) 1px, transparent 1px),linear-gradient(90deg,rgba(18,139,114,.13) 1px,transparent 1px); background-size:28px 28px; }.tocantins-map__state { position:absolute; top:5%; left:50%; height:90%; transform:translateX(-50%); filter:drop-shadow(0 10px 12px rgba(15,109,86,.2)); }.tocantins-map__state path { fill:#d6f0e6; stroke:#159576; stroke-width:3; }.tocantins-map__label { position:absolute; top:16px; left:18px; display:grid; gap:2px; color:#176854; }.tocantins-map__label strong { font-size:18px; letter-spacing:.02em; }.tocantins-map__label span { font-size:10px; font-weight:700; text-transform:uppercase; }.tocantins-map__marker { position:absolute; z-index:2; display:grid; place-items:center; width:22px; height:22px; padding:0; border:3px solid #fff; border-radius:50%; color:#fff; background:#ef3125; box-shadow:0 0 0 4px rgba(239,49,37,.18),0 4px 10px rgba(127,35,30,.3); cursor:pointer; transform:translate(-50%,-50%); }.tocantins-map__marker:hover { z-index:3; background:#c8231c; transform:translate(-50%,-50%) scale(1.15); }.tocantins-map__marker b { font-size:9px; }.tocantins-map__marker small { position:absolute; top:25px; left:50%; min-width:max-content; padding:3px 6px; border-radius:3px; color:#285d50; background:rgba(255,255,255,.9); box-shadow:0 2px 5px rgba(38,84,72,.12); font:700 9px Lato,Arial,sans-serif; transform:translateX(-50%); }.tocantins-map__empty { position:absolute; inset:0; z-index:2; display:grid; place-items:center; padding:50px; color:#397663; font-weight:700; text-align:center; }
.delivery-locations { padding:8px 16px 12px; }.delivery-locations a { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 0; border-bottom:1px solid #edf1f3; color:#455f72; font-size:11px; text-decoration:none; }.delivery-locations a:last-child { border-bottom:0; }.delivery-locations a:hover { color:#158b87; }.delivery-locations i { display:inline-block; width:7px; height:7px; margin-right:8px; border-radius:50%; background:#20a188; }.delivery-locations strong { color:#527184; font-size:10px; white-space:nowrap; }
.operations-alert-list,.operations-route-list,.operations-schedule-list { padding:5px 16px 12px; }.operations-alert,.operations-route-list a,.operations-schedule-list a { display:flex; align-items:center; gap:10px; padding:11px 0; border-bottom:1px solid #edf1f3; color:#3e596d; text-decoration:none; }.operations-alert:last-child,.operations-route-list a:last-child,.operations-schedule-list a:last-child { border-bottom:0; }.operations-alert:hover,.operations-route-list a:hover,.operations-schedule-list a:hover { color:#168b87; }
.operations-alert > span { flex:0 0 58px; padding:4px 3px; border-radius:4px; color:#fff; background:#d95a54; font-size:8px; font-weight:800; text-align:center; }.operations-alert--issue > span { background:#b94962; }.operations-alert div,.operations-route-list div,.operations-schedule-list div { min-width:0; }.operations-alert strong,.operations-route-list strong,.operations-schedule-list strong { display:block; font-size:11px; }.operations-alert small,.operations-route-list small,.operations-schedule-list small { display:block; overflow:hidden; margin-top:2px; color:#84949e; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.operations-route-list__icon { display:grid; flex:0 0 30px; width:30px; height:30px; place-items:center; border-radius:7px; color:#db852e; background:#fff2df; }.operations-route-list__icon .ui-icon { width:17px; height:17px; }.operations-schedule-list time { display:grid; flex:0 0 35px; width:35px; height:38px; place-content:center; border-radius:6px; color:#178b87; background:#e6f7f4; text-align:center; }.operations-schedule-list time strong { font-size:14px; line-height:13px; }.operations-schedule-list time span { font-size:9px; font-weight:800; text-transform:uppercase; }
.operations-empty { margin:0; padding:20px 0; color:#81919c; font-size:11px; text-align:center; }
@media (max-width:1050px) { .operations-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); }.operations-dashboard__grid { grid-template-columns:1fr; }.operations-panel--map { grid-row:auto; } }
@media (max-width:620px) { .operations-dashboard__header { align-items:flex-start; flex-direction:column; }.operations-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }.operations-kpi { min-height:108px; padding:13px; }.operations-dashboard__header .button { width:100%; }.delivery-map { height:235px; } }

/* Estrutura do Sempre Lite: uma única barra global e área de trabalho contínua. */
.window-frame { position:relative; }
.window-titlebar__caption--company::before { display:grid; width:28px; height:28px; place-items:center; border-radius:7px; color:#fff; background:#31b7b7; content:"↗"; font-size:18px; font-weight:700; }
.window-titlebar__caption--company:has(.window-company-logo)::before { display:none; }
.workspace-header { position:absolute; top:0; right:0; z-index:3; width:auto; height:64px; min-height:64px; padding:0 22px; border:0; background:transparent; }
.workspace-header__left { display:none; }
.workspace-header__right { gap:12px; }
.workspace-header .button { border:0; background:transparent; color:#66778a; font-size:11px; }
.workspace-header .button:hover { color:#1f9e9d; background:#eff9f8; }
.workspace-header form .button { color:#d55a5a; }
.workspace-shell, .window-frame.sidebar-collapsed .workspace-shell { min-height:calc(100vh - 64px); }
.page { padding-top:12px; }
.legacy-group__legend { min-height:50px; }
.legacy-group__legend + .legacy-group__actionbar { border-top:0; }
.desktop-toolbar { min-height:42px; padding:6px 0 2px; }
.toolbar-button { min-height:31px; border-color:#b8cada; border-radius:3px; color:#3b607e; background:#fff; font-size:12px; }
.toolbar-button:hover, .toolbar-button.is-active { color:#087f7d; border-color:#84cfc9; background:#effbfa; }
@media (max-width:620px) { .workspace-header { position:static; width:100%; height:48px; min-height:48px; padding:0 12px; background:#fff; border-bottom:1px solid var(--nfe-border); }.workspace-header__right { width:100%; justify-content:flex-end; }.workspace-header .button-secondary { display:none; } }

/* Menu retrátil: aberto mostra ícones e nomes; fechado mantém somente os ícones. */
@media (min-width: 621px) {
  .workspace-shell {
    grid-template-columns: 248px minmax(0, 1fr);
    transition: grid-template-columns .2s ease;
  }

  .window-frame.sidebar-collapsed .workspace-shell {
    grid-template-columns: 64px minmax(0, 1fr);
  }

  .sidebar {
    overflow: hidden;
    transition: padding .2s ease;
  }

  .sidebar__header {
    justify-content: space-between;
  }

  .sidebar__brand {
    display: flex;
  }

  .sidebar-nav a,
  .window-frame.sidebar-collapsed .sidebar-nav a {
    justify-content: flex-start;
    gap: 11px;
    padding: 7px 9px;
  }

  .sidebar-nav__label {
    display: block;
    white-space: nowrap;
    opacity: 1;
    transition: opacity .12s ease;
  }

  .window-frame.sidebar-collapsed .sidebar {
    padding-inline: 8px;
  }

  .window-frame.sidebar-collapsed .sidebar__header {
    justify-content: center;
  }

  .window-frame.sidebar-collapsed .sidebar__brand {
    display: none;
  }

  .window-frame.sidebar-collapsed .sidebar-nav a {
    justify-content: center;
    padding-inline: 6px;
  }

  .window-frame.sidebar-collapsed .sidebar-nav__label {
    display: none;
    opacity: 0;
  }
}

/* Título operacional compacto para a tela de monitoramento. */
/* Cabeçalhos de painel: um único padrão compacto em todo o sistema. */
.legacy-group__legend {
  min-height: 34px;
  padding: 8px 12px;
  color: #36546d;
  font-size: 12px;
  font-weight: 700;
  line-height: 16px;
}

.legacy-group__legend small {
  font-size: 10px;
}

/* Títulos sem faixa: somente texto antes do conteúdo. */
.legacy-group__legend {
  display: block;
  min-height: 0;
  margin: 0;
  padding: 10px 12px 6px;
  color: #36546d;
  border: 0;
  background: transparent;
  font-size: 12px;
  font-weight: 700;
}

.legacy-group__legend + .legacy-group__actionbar {
  border-top: 0;
}

/* Conferência inicial: conteúdo contínuo, sem caixas internas. */
[data-confirm-entry-modal] .modal__section.legacy-group {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

[data-confirm-entry-modal] .modal__dialog,
[data-confirm-entry-modal] .modal__content,
[data-confirm-entry-modal] .modal__section,
[data-confirm-entry-modal] .modal__section-copy,
[data-confirm-entry-modal] .legacy-group,
[data-confirm-entry-modal] .legacy-group__legend {
  border: 0;
  box-shadow: none;
}

[data-confirm-entry-modal] .modal__section-copy {
  background: transparent;
}

.invoice-products-panel {
  margin-top: 12px;
}

.label-quantity-input {
  width: 78px;
  min-height: 28px;
  text-align: center;
}
.product-labels-form__actions { display:flex; justify-content:flex-end; margin-top:12px; }
.sidebar-nav a[href="/conferencia"] { display:none; }

.label-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
}

.label-actions small {
  color: #718092;
}

/* O tomador não faz mais parte da inclusão de notas. */
[data-different-taker-input],
.modal__form-block:has([data-different-taker-toggle]) {
  display: none;
}

/* Estrutura única: telas em fluxo vertical, com painéis de largura total. */
.page {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.page > .legacy-layout,
.page > .legacy-group,
.page > .dashboard-hero,
.page > .desktop-toolbar,
.page > .legacy-summary-strip {
  width: 100%;
  margin: 0;
}

.legacy-layout,
.legacy-layout--double,
.legacy-layout--triple {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
}

.legacy-group {
  width: 100%;
}

.legacy-form-grid,
.legacy-filter-grid,
.legacy-inline-form {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 12px;
}

.legacy-form-grid > .button,
.legacy-form-grid > .helper,
.legacy-filter-grid > .button,
.legacy-inline-form > .button,
.legacy-inline-form > .helper {
  align-self: end;
}

.legacy-summary-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 1px;
}

@media (max-width: 620px) {
  .page { gap: 10px; }
  .legacy-form-grid,
  .legacy-filter-grid,
  .legacy-inline-form,
  .legacy-summary-strip {
    grid-template-columns: 1fr;
  }
}

.labels-print-page {
  margin: 0;
  background: #edf1f4;
  color: #1e3549;
  font-family: Lato, Arial, sans-serif;
}

.labels-print-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 14px 20px;
  background: #fff;
  border-bottom: 1px solid #d7e0e6;
}

.labels-print-toolbar strong,
.labels-print-toolbar span {
  display: block;
}

.labels-print-toolbar strong { font-size: 15px; }
.labels-print-toolbar span { margin-top: 2px; color: #687d8e; font-size: 12px; }
.labels-print-toolbar__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }

.labels-sheet {
  display: grid;
  justify-content: center;
  gap: 18px;
  padding: 24px;
}

.labels-a4-sheet {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 6mm;
  width: 277mm;
  height: 190mm;
  box-sizing: border-box;
  padding: 0;
  background: #fff;
  box-shadow: 0 8px 24px rgba(35, 60, 78, .14);
}

.product-label {
  display: grid;
  grid-template-rows: 27mm minmax(0, 1fr);
  min-width: 0;
  min-height: 0;
  box-sizing: border-box;
  overflow: hidden;
  border: .25mm solid #627887;
  background: #fff;
  color: #172f42;
}

.product-label__carrier-strip {
  display: grid;
  grid-template-columns: 30mm minmax(0, 1fr);
  align-items: center;
  min-width: 0;
  gap: 3mm;
  padding: 2.4mm 4mm;
  border-bottom: .25mm solid #98b8c5;
  background: linear-gradient(90deg, #edf8f7 0%, #f8fbfc 100%);
}

.product-label__carrier-brand {
  display: grid;
  place-items: center;
  min-height: 18mm;
}

.product-label__carrier-logo {
  display: block;
  width: 100%;
  height: 18mm;
  box-sizing: border-box;
  object-fit: contain;
  border: .2mm solid #c7dee2;
  border-radius: 1.2mm;
  background: #fff;
}

.product-label__carrier-logo--fallback {
  display: grid;
  place-items: center;
  color: #fff;
  background: #087f7d;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .08em;
}

.product-label__carrier-copy {
  display: grid;
  grid-template-areas:
    "label label"
    "name name"
    "document registration"
    "address address";
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap: .45mm 3mm;
  min-width: 0;
  color: #38586a;
}

.product-label__carrier-copy > span {
  grid-area: label;
  color: #087f7d;
  font-size: 6.6px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.product-label__carrier-copy strong {
  grid-area: name;
  display: -webkit-box;
  overflow: hidden;
  color: #18384c;
  font-size: 8.5px;
  font-weight: 900;
  line-height: 1.13;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.product-label__carrier-copy small {
  display: -webkit-box;
  overflow: hidden;
  color: #5e7788;
  font-size: 6.8px;
  font-weight: 700;
  line-height: 1.1;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.product-label__carrier-document { grid-area: document; }
.product-label__carrier-registration { grid-area: registration; }
.product-label__carrier-address {
  grid-area: address;
  -webkit-line-clamp: 2 !important;
}

.product-label__content {
  display: grid;
  grid-template-rows: auto minmax(5mm, 7mm) minmax(18mm, 20mm) auto minmax(16mm, 19mm);
  align-content: center;
  gap: .8mm;
  min-width: 0;
  padding: 2.2mm 4mm;
}

.product-label__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  gap: 4mm;
  padding-bottom: 1mm;
  border-bottom: .3mm solid #09a88b;
}

.product-label__header--volume {
  justify-content: flex-end;
}

.product-label__volume {
  flex: 0 0 auto;
  padding: .65mm 1.3mm;
  border-radius: 1mm;
  color: #fff;
  background: #087f7d;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .04em;
  line-height: 1.05;
  white-space: nowrap;
}

.product-label__description {
  display: -webkit-box;
  overflow: hidden;
  color: #18364c;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .01em;
  line-height: 1.12;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.product-label__codes {
  display: grid;
  grid-template-columns: minmax(0, 90mm) 18mm;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  min-height: 18mm;
}

.product-label__barcode-cluster {
  display: grid;
  grid-template-rows: 11mm;
  align-content: center;
  align-self: center;
  min-width: 0;
}

.product-label__barcode {
  min-width: 0;
  height: 11mm;
  overflow: hidden;
  background: #fff;
}

.product-label__barcode svg {
  display: block;
  width: 100%;
  height: 100%;
  shape-rendering: crispEdges;
}

.product-label__qr {
  display: grid;
  place-items: center;
  width: 18mm;
  height: 18mm;
  box-sizing: border-box;
  padding: .7mm;
  overflow: hidden;
  border: .2mm solid #98b8c5;
  background: #fff;
}

.product-label__qr svg {
  display: block;
  width: 100%;
  height: 100%;
  shape-rendering: crispEdges;
}

.product-label__facts {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1mm 3mm;
  min-width: 0;
  color: #38576a;
  font-size: 7.3px;
  font-weight: 700;
  line-height: 1.1;
}

.product-label__facts span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-label__facts b,
.product-label__party b {
  color: #087f7d;
  font-weight: 900;
  text-transform: uppercase;
}

.product-label__facts-location {
  grid-column: 1 / -1;
}

.product-label__fact--invoice,
.product-label__fact--delivery {
  display: flex;
  align-items: baseline;
  gap: 1.2mm;
  min-width: 0;
  padding-left: .9mm;
  border-left: .6mm solid #09a88b;
}

.product-label__fact--invoice b,
.product-label__fact--delivery b {
  flex: 0 0 auto;
  font-size: 8.2px;
  letter-spacing: .04em;
}

.product-label__fact--invoice strong,
.product-label__fact--delivery strong {
  display: block;
  min-width: 0;
  overflow: hidden;
  color: #18384c;
  font-size: 9.2px;
  font-weight: 900;
  letter-spacing: .015em;
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-label__parties {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2mm;
  min-width: 0;
}

.product-label__party {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: .5mm;
  min-width: 0;
  overflow: hidden;
  color: #304c60;
  font-weight: 700;
  border-top: .2mm solid #c7dee2;
  padding-top: .65mm;
}

.product-label__party-heading {
  display: grid;
  gap: .25mm;
  min-width: 0;
}

.product-label__party-heading b {
  color: #087f7d;
  font-size: 6.5px;
  font-weight: 900;
  letter-spacing: .045em;
  line-height: 1;
  text-transform: uppercase;
}

.product-label__party-heading strong {
  display: -webkit-box;
  overflow: hidden;
  color: #18364c;
  font-size: 7.4px;
  font-weight: 900;
  line-height: 1.1;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.product-label__party-meta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: .4mm 1.2mm;
  min-width: 0;
}

.product-label__party-meta span {
  display: -webkit-box;
  overflow: hidden;
  color: #506979;
  font-size: 6.25px;
  font-weight: 700;
  line-height: 1.1;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.product-label__party-meta b {
  color: #087f7d;
  font-weight: 900;
  text-transform: uppercase;
}

.product-label__party-address {
  grid-column: 1 / -1;
  -webkit-line-clamp: 2 !important;
}

/* Etiquetas: impressão monocromática, sem alterar as cores do restante do sistema. */
.labels-print-page--a4 {
  background: #fff;
  color: #000;
}

.labels-print-page--a4 .labels-print-toolbar {
  background: #fff;
  border-color: #000;
  color: #000;
}

.labels-print-page--a4 .labels-print-toolbar span {
  color: #000;
}

.labels-print-page--a4 .labels-print-toolbar .button {
  border-color: #000;
  background: #000;
  color: #fff;
}

.labels-print-page--a4 .labels-print-toolbar .button-secondary {
  background: #fff;
  color: #000;
}

.labels-print-page--a4 .labels-a4-sheet {
  background: #fff;
  box-shadow: none;
}

.labels-print-page--a4 .product-label {
  border-color: #000;
  background: #fff;
  color: #000;
}

.labels-print-page--a4 .product-label__carrier-strip {
  border-color: #000;
  background: #fff;
}

.labels-print-page--a4 .product-label__carrier-logo {
  border-color: #000;
}

.labels-print-page--a4 .product-label__carrier-logo--fallback,
.labels-print-page--a4 .product-label__volume {
  background: #000;
  color: #fff;
}

.labels-print-page--a4 .product-label__carrier-copy,
.labels-print-page--a4 .product-label__carrier-copy > span,
.labels-print-page--a4 .product-label__carrier-copy strong,
.labels-print-page--a4 .product-label__carrier-copy small,
.labels-print-page--a4 .product-label__description,
.labels-print-page--a4 .product-label__facts,
.labels-print-page--a4 .product-label__fact--invoice strong,
.labels-print-page--a4 .product-label__fact--delivery strong,
.labels-print-page--a4 .product-label__party,
.labels-print-page--a4 .product-label__party-heading strong,
.labels-print-page--a4 .product-label__party-meta span {
  color: #000;
}

.labels-print-page--a4 .product-label__header,
.labels-print-page--a4 .product-label__party,
.labels-print-page--a4 .product-label__qr {
  border-color: #000;
}

.labels-print-page--a4 .product-label__facts b,
.labels-print-page--a4 .product-label__party b,
.labels-print-page--a4 .product-label__party-heading b,
.labels-print-page--a4 .product-label__party-meta b {
  color: #000;
}

.labels-print-page--a4 .product-label__fact--invoice,
.labels-print-page--a4 .product-label__fact--delivery {
  border-left-color: #000;
}

@page {
  size: A4 landscape;
  margin: 10mm;
}

@media print {
  .labels-print-toolbar { display: none; }
  .labels-print-page {
    width: 277mm;
    margin: 0;
    background: #fff;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .labels-sheet { display: block; margin: 0; padding: 0; }
  .labels-a4-sheet {
    width: 277mm;
    height: 190mm;
    margin: 0;
    box-shadow: none;
    break-after: page;
    page-break-after: always;
    break-inside: avoid;
  }
  .labels-a4-sheet:last-child {
    break-after: auto;
    page-break-after: auto;
  }
}

@media screen and (max-width: 1180px) {
  .labels-sheet { padding: 12px; }
  .labels-a4-sheet {
    width: calc(100vw - 24px);
    height: auto;
    aspect-ratio: 277 / 190;
  }
}

@media screen and (max-width: 680px) {
  .labels-print-toolbar { align-items: stretch; flex-direction: column; }
  .labels-print-toolbar__actions { justify-content: stretch; }
  .labels-print-toolbar__actions .button { flex: 1 1 auto; }
  .labels-a4-sheet {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(4, minmax(220px, 1fr));
    height: auto;
    aspect-ratio: auto;
  }
}

/* Conferência de entrada reconstruída: somente os dados necessários. */
[data-confirm-entry-modal] .modal__dialog--summary {
  width: min(1120px, calc(100vw - 48px));
  height: min(760px, calc(100vh - 48px));
  max-height: calc(100vh - 48px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: none !important;
  outline: none !important;
  border-radius: 8px;
  background: #fff;
  box-shadow: none !important;
}

[data-confirm-entry-modal] .modal__header {
  padding: 16px 20px 10px;
  border: 0;
  background: #fff;
}

.confirmation-basic {
  padding: 8px 20px 20px;
}

.confirmation-basic__title {
  margin-bottom: 10px;
  color: #36546d;
  font-size: 12px;
  font-weight: 700;
}

.confirmation-basic__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px 18px;
  margin: 0 0 18px;
  padding: 14px 0;
  border-top: 0;
  border-bottom: 1px solid #e4ebef;
}

.confirmation-basic__grid div { min-width: 0; }
.confirmation-basic__grid dt { color: #7a8c9a; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.confirmation-basic__grid dd { margin: 3px 0 0; color: #2d495f; font-size: 13px; font-weight: 700; overflow-wrap: anywhere; }
.confirmation-basic__wide { grid-column: span 2; }
.confirmation-basic__number dt { color:var(--nfe-red); }
.confirmation-fields .confirmation-delivery-location dt { color:var(--nfe-red); }
.confirmation-fields .confirmation-delivery-location dd { font-size:13px; text-transform:uppercase; }
.confirmation-basic__form .confirmation-delivery-location { color:var(--nfe-red); text-transform:uppercase; }
.confirmation-basic__form .confirmation-delivery-location select { color:#2d495f; font-family:inherit; font-size:13px; font-weight:700; text-transform:uppercase; }

.confirmation-basic__form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 120px auto;
  align-items: end;
  gap: 12px;
}
.confirmation-basic__form:has([data-delivery-location-input]) { grid-template-columns:minmax(0, 1fr); }

.confirmation-basic__form label { display: grid; gap: 5px; }
.confirmation-basic__actions { display: flex; justify-content: flex-end; }

@media (max-width: 640px) {
  .confirmation-basic__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .confirmation-basic__wide { grid-column: span 2; }
  .confirmation-basic__form { grid-template-columns: 1fr; }
  .confirmation-basic__actions { justify-content: stretch; }
  .confirmation-basic__actions .button { width: 100%; }
}

.note-tabs {
  padding: 0 20px 20px;
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
}

.note-tabs__list {
  display: flex;
  gap: 2px;
  overflow-x: auto;
  border-bottom: 2px solid #0fc692;
}

.note-tabs__list button {
  flex: 0 0 auto;
  min-height: 34px;
  padding: 8px 14px;
  border: 0;
  border-bottom: 2px solid transparent;
  color: #65798b;
  background: transparent;
  font: 700 11px Lato, Arial, sans-serif;
  cursor: pointer;
}

.note-tabs__list button:hover { color: #1e8b88; background: #f2fbfa; }
.note-tabs__list button.is-active { color: #22516e; border-color: transparent; background: #f7fbfd; }
.note-tabs__panel { min-height: 0; flex: 1; overflow: auto; padding: 14px 2px 0; }
.note-tabs__panel[hidden] { display: none; }

.note-tabs__persistent-delivery {
  margin-top: 18px;
  padding: 16px 2px 0;
  border-top: 1px solid #e3ebef;
}

.note-tabs__persistent-delivery[hidden] {
  display: none;
}

.note-tabs__persistent-delivery .confirmation-fields {
  margin: 0;
}
.note-tabs__panel .confirmation-basic__grid { margin: 0; }

.note-tabs--summary {
  min-height: 440px;
  padding: 0;
}

.note-tabs--summary .note-tabs__panel { min-height: 360px; }
.note-tabs__panel--inline,
.note-tabs--summary .note-tabs__panel--inline { min-height:0; margin-top:18px; padding:16px 0 0; border-top:1px solid #e3ebef; }
.note-tabs--summary .note-tabs__list button[data-note-tab="recipient"] { display:none; }
.modal__dialog--summary .note-tabs__list button[data-note-tab="recipient"] { display:none; }

.invoice-parties-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px; margin-top:16px; }
.invoice-party-card { min-width:0; padding:14px; background:transparent; }
.invoice-party-card + .invoice-party-card { border-left:1px solid #d7e0e5; }
.invoice-party-card h3 { margin:0 0 12px; color:#31546a; font-size:12px; }
.invoice-party-card .confirmation-fields { grid-template-columns:repeat(2, minmax(0, 1fr)); }
.invoice-party-card .invoice-party-card__identity dd { font-weight:800; }

.dispatch-modal .note-tabs--summary,
.dispatch-modal .note-tabs--summary .note-tabs__panel {
  min-height: 0;
}

.confirmation-tab-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 14px;
}

.delivery-difference-alert {
  display: grid;
  gap: 3px;
  margin: 0 0 14px;
  padding: 11px 13px;
  border: 1px solid #f1b1ac;
  border-left: 4px solid #d63b35;
  border-radius: 4px;
  background: #fff3f2;
  color: #9f2924;
  font-size: 12px;
}

.delivery-difference-alert strong { color: #c9322d; }
.delivery-difference-alert span { color: #9f2924; }

/* Mantém a confirmação no rodapé da aba Entrega, alinhada ao canto direito do modal. */
.note-tabs__panel[data-note-panel="delivery"]:not([hidden]) {
  display: flex;
  flex-direction: column;
}

.confirmation-modal__footer {
  display: flex;
  justify-content: flex-end;
  padding: 11px 20px 14px;
  border-top: 1px solid #e4ebef;
  background: #fff;
}

.confirmation-modal__footer[hidden],
.manifest-sheet__draft-actions[hidden] {
  display: none;
}

.confirmation-modal__footer .button:disabled {
  cursor: not-allowed;
  opacity: .5;
}

.confirmation-warning-modal {
  position: fixed;
  inset: 0;
  z-index: 20;
  display: grid;
  place-items: center;
  padding: 20px;
}

.confirmation-warning-modal[hidden] { display: none; }

.confirmation-warning-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(21, 36, 48, .38);
}

.confirmation-warning-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(460px, 100%);
  padding: 20px;
  border: 0;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 20px 46px rgba(20, 38, 54, .24);
}

.confirmation-warning-modal__header { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.confirmation-warning-modal__header strong { color:var(--nfe-navy); font-size:15px; }
.confirmation-warning-modal__intro-spacer { display:none; }
.confirmation-warning-modal__locations { display:grid; grid-template-columns:minmax(0, 1fr); gap:10px; margin:0; text-align:center; }
.confirmation-warning-modal__locations div { padding:0; background:transparent; }
.confirmation-warning-modal__locations dt { color:#708899; font-size:10px; font-weight:700; text-transform:uppercase; }
.confirmation-warning-modal__locations dd { margin:4px 0 0; color:#61798a; font-size:13px; font-weight:600; overflow-wrap:anywhere; }
.confirmation-warning-modal__locations dd strong { color:#38556a; font-size:16px; font-weight:800; }
.confirmation-warning-modal__locations dd span { color:#38556a; font-size:16px; font-weight:800; }
.confirmation-warning-modal__actions { display:flex; justify-content:flex-end; gap:8px; margin-top:0; }

.manifest-cancel-modal { z-index: 60; }
.manifest-cancel-modal__reason { display: grid; gap: 6px; color: #455f73; font-size: 12px; font-weight: 700; }
.manifest-cancel-modal__reason textarea { min-height: 96px; resize: vertical; }

.confirmation-section + .confirmation-section {
  margin-top: 16px;
}

.confirmation-section h3 {
  margin: 0 0 8px;
  color: #36546d;
  font-size: 12px;
}

.confirmation-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 14px;
  margin: 0;
}

.confirmation-fields div {
  min-width: 0;
}

.confirmation-fields dt {
  color: #7a8c9a;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
}

.confirmation-fields dd {
  margin: 3px 0 0;
  color: #2d495f;
  font-size: 12px;
  overflow-wrap: anywhere;
}

.confirmation-table th,
.confirmation-table td {
  white-space: nowrap;
}

@media (max-width: 640px) {
  [data-confirm-entry-modal] .modal__dialog--summary {
    width: calc(100vw - 20px);
    height: min(680px, calc(100vh - 20px));
  }
  .note-tabs { padding: 0 14px 16px; }
  .note-tabs__list button { padding-inline: 10px; }
  .confirmation-fields { grid-template-columns: 1fr; }
  .invoice-parties-grid { grid-template-columns:1fr; }
  .invoice-party-card + .invoice-party-card { border-top:1px solid #d7e0e5; border-left:0; }
  .invoice-party-card .confirmation-fields { grid-template-columns:1fr; }
}

/* Tela de login no padrão visual do sistema. */
.auth-body {
  min-height: 100vh;
  background:
    radial-gradient(circle at 12% 10%, rgba(8, 201, 155, .12), transparent 28rem),
    radial-gradient(circle at 88% 88%, rgba(68, 165, 206, .13), transparent 30rem),
    #f4f6f8;
}

.auth-app { min-height: 100vh; padding: clamp(20px, 4vw, 54px); }

.login-screen {
  min-height: calc(100vh - clamp(40px, 8vw, 108px));
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 18px;
}

.login-card {
  width: min(960px, 100%);
  min-height: 500px;
  display: grid;
  grid-template-columns: minmax(300px, .92fr) minmax(390px, 1.08fr);
  overflow: hidden;
  border: 1px solid #dbe4e9;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 22px 62px rgba(32, 59, 82, .16);
}

.login-card__intro {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: clamp(28px, 4vw, 48px);
  color: #fff;
  background:
    linear-gradient(145deg, rgba(8, 201, 155, .13), transparent 44%),
    linear-gradient(155deg, #263f58 0%, #1b4f69 100%);
}

.login-card__company { display: flex; align-items: center; gap: 12px; min-width: 0; }
.login-card__logo-wrap { width: 132px; height: 64px; display: grid; flex: 0 0 auto; place-items: center; overflow: hidden; border-radius: 10px; background: #fff; box-shadow: 0 4px 12px rgba(4, 30, 44, .2); }
.login-card__logo-wrap--fallback { width: 52px; height: 52px; color: #08a982; background: #e8fffa; }
.login-card__logo-wrap svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.login-card__logo { width: 100%; height: 100%; object-fit: contain; padding: 4px; }
.login-card__company > div { display: grid; min-width: 0; gap: 3px; }
.login-card__eyebrow { color: #a7ece0; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.login-card__company strong { overflow: hidden; color: #fff; font-size: 17px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }

.login-card__intro-copy { margin: auto 0; }
.login-card__intro-icon { width: 46px; height: 46px; display: grid; place-items: center; margin-bottom: 18px; border: 1px solid rgba(194, 255, 244, .34); border-radius: 12px; color: #84f3df; background: rgba(255, 255, 255, .08); }
.login-card__intro-icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.login-card__intro-copy h1 { max-width: 330px; margin: 0; color: #fff; font-size: clamp(24px, 3vw, 31px); line-height: 1.16; letter-spacing: -.03em; }
.login-card__intro-copy p { max-width: 310px; margin: 14px 0 0; color: #c5dce9; font-size: 14px; line-height: 1.55; }
.login-card__access-status { display: flex; align-items: center; gap: 8px; color: #c4dbe7; font-size: 12px; font-weight: 700; }
.login-card__access-status span { width: 8px; height: 8px; border-radius: 50%; background: #65ebc9; box-shadow: 0 0 0 4px rgba(101, 235, 201, .13); }

.login-card__form-panel { display: grid; align-content: center; gap: 22px; padding: clamp(34px, 5vw, 64px); background: #fff; }
.login-card__form-heading > span { color: #08a982; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.login-card__form-heading h2 { margin: 6px 0 4px; color: #263f58; font-size: 29px; line-height: 1.1; letter-spacing: -.025em; }
.login-card__form-heading p { margin: 0; color: #718092; font-size: 14px; }
.login-card__form-panel .flash { margin: 0; }

.login-form { display: grid; gap: 16px; }
.login-form label { display: grid; gap: 7px; color: #405a70; font-size: 12px; font-weight: 800; }
.login-field { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 12px; border: 1px solid #c9d7e0; border-radius: 6px; color: #6c8192; background: #fff; transition: border-color .16s ease, box-shadow .16s ease; }
.login-field:focus-within { border-color: #2cb89d; box-shadow: 0 0 0 3px rgba(8, 201, 155, .13); }
.login-field svg { width: 19px; height: 19px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.8; }
.login-field input { width: 100%; min-height: 44px; padding: 8px 0; border: 0; border-radius: 0; color: #263f58; background: transparent; box-shadow: none; font-size: 14px; }
.login-field input:focus { box-shadow: none; }
.login-field input::placeholder { color: #9aabb7; }
.login-hcaptcha { display: flex; align-items: flex-start; justify-content: center; height: 64px; padding: 0; overflow: hidden; }
.login-hcaptcha .h-captcha { transform: scale(.8); transform-origin: center top; }
.login-form__submit { min-height: 46px; display: flex; align-items: center; justify-content: center; gap: 9px; margin-top: 4px; border: 1px solid #08c99b; border-radius: 6px; color: #fff; background: #08c99b; box-shadow: 0 5px 12px rgba(8, 175, 137, .2); font-family: inherit; font-size: 14px; font-weight: 800; cursor: pointer; transition: background .16s ease, border-color .16s ease, transform .16s ease; }
.login-form__submit:hover { border-color: #06ac84; background: #06ac84; transform: translateY(-1px); }
.login-form__submit svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 2; }

.login-bootstrap-note { display: grid; gap: 3px; padding: 10px 12px; border: 1px solid #d9e7ec; border-radius: 6px; color: #627589; background: #f7fbfc; font-size: 12px; }
.login-bootstrap-note strong { color: #3f5e73; }
.login-bootstrap-note code { color: #087f7d; font-family: inherit; font-weight: 800; }
.login-credit { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px 9px; color: #758493; font-size: 12px; text-align: center; }
.login-credit strong { color: #4d6375; }
.login-credit a { color: #087f7d; font-weight: 700; text-decoration: none; }
.login-credit a:hover { color: #06ac84; text-decoration: underline; }

@media (max-width: 760px) {
  .auth-app { padding: 18px; }
  .login-screen { min-height: calc(100vh - 36px); gap: 14px; }
  .login-card { min-height: 0; grid-template-columns: 1fr; }
  .login-card__intro { min-height: 255px; padding: 28px; }
  .login-card__intro-copy { margin: 34px 0 0; }
  .login-card__intro-copy h1 { font-size: 25px; }
  .login-card__form-panel { padding: 34px 28px; }
}

@media (max-width: 420px) {
  .auth-app { padding: 12px; }
  .login-screen { min-height: calc(100vh - 24px); }
  .login-card__intro { min-height: 230px; padding: 24px; }
  .login-card__form-panel { padding: 28px 22px; }
  .login-card__form-heading h2 { font-size: 26px; }
}

/* Login: apresentação clara e credenciais em painel escuro. */
.login-card__intro {
  color: #263f58;
  align-items: center;
  text-align: center;
  background:
    radial-gradient(circle at 16% 12%, rgba(8, 201, 155, .16), transparent 18rem),
    linear-gradient(145deg, #ffffff 0%, #eef7f8 100%);
}

.login-card__company { flex-direction: column; justify-content: center; gap: 10px; text-align: center; }
.login-card__company > div { justify-items: center; }
.login-card__logo-wrap { width: 166px; height: 76px; border: 1px solid #dce8ec; box-shadow: 0 5px 16px rgba(38, 63, 88, .12); }
.login-card__logo-wrap--fallback { width: 58px; height: 58px; border-color: #bdeee3; }
.login-card__eyebrow { color: #078e79; }
.login-card__company strong { color: #263f58; }
.login-card__intro-icon { border-color: #bdeee3; color: #079d84; background: #e6fbf6; }
.login-card__intro-copy { display: grid; justify-items: center; }
.login-card__intro-copy h1 { color: #263f58; text-align: center; }

.login-card__form-panel {
  background:
    radial-gradient(circle at 94% 5%, rgba(8, 201, 155, .22), transparent 17rem),
    linear-gradient(155deg, #263f58 0%, #1a4c65 100%);
}

.login-card__form-heading > span { color: #79ead4; }
.login-card__form-heading h2 { color: #fff; }
.login-card__form-heading p { color: #c4dce8; }
.login-form label { color: #d7e8f1; font-weight: 500; }
.login-field { border-color: rgba(255, 255, 255, .24); color: #5f788b; background: #fff; }
.login-field:focus-within { border-color: #72efd3; box-shadow: 0 0 0 3px rgba(114, 239, 211, .18); }
.login-bootstrap-note { border-color: rgba(181, 233, 225, .28); color: #d8e7ee; background: rgba(255, 255, 255, .08); }
.login-bootstrap-note strong { color: #fff; }
.login-bootstrap-note code { color: #83f1db; }

/* Listagens operacionais: mesma paleta e dimensões para busca e ações. */
.operations-list__actionbar {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.operations-list__search,
.operations-list__actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Navegação de configurações no mesmo padrão das ações das telas operacionais. */
.settings-navigation__actionbar {
  justify-content: flex-start;
  padding-bottom: 8px;
  border-bottom: 2px solid #0fc692;
}

.settings-navigation__actions {
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 8px;
}

.settings-navigation__button {
  min-height: 29px;
  padding: 5px 9px;
  border: 1px solid var(--nfe-teal);
  border-radius: 3px;
  color: #fff;
  background: var(--nfe-teal);
  font-size: 12px;
  font-weight: 650;
  white-space: nowrap;
}

.settings-navigation__button.button-secondary,
.settings-navigation__button.button-secondary:hover {
  border-color: var(--nfe-teal);
  color: #fff;
  background: var(--nfe-teal);
}

.settings-navigation__button:hover {
  border-color: var(--nfe-teal-dark);
  color: #fff;
  background: var(--nfe-teal-dark);
}

.settings-navigation__button[aria-current="page"] {
  border-color: #5367d6;
  color: #fff;
  background: #5367d6;
}

.sidebar-nav__group {
  display: grid;
  gap: 3px;
}

.sidebar-nav__group + .sidebar-nav__group {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #dbe5eb;
}

.sidebar__footer {
  display: grid;
  gap: 8px;
  margin-top: auto;
  margin-bottom: 0;
  padding-top: 10px;
  border-top: 1px solid #dbe5eb;
  transform: translateY(-88px);
}

.sidebar-user,
.sidebar-logout {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 36px;
  padding: 6px;
  border: 0;
  border-radius: 7px;
  color: #355572;
  background: transparent;
}

.sidebar-user strong {
  display: block;
  max-width: 100%;
  overflow-wrap: anywhere;
  color: #355572;
  font: 800 10px Lato, Arial, sans-serif;
  line-height: 1.2;
  text-align: center;
}

.sidebar-logout {
  cursor: pointer;
  color: var(--nfe-red);
  font: 400 14px Lato, Arial, sans-serif;
}

.sidebar-logout span { display: block; }

.sidebar-logout:hover { color: #ef3125; background: #fff4f3; }
.sidebar-logout .ui-icon { width: 22px; height: 22px; }

.window-statusbar {
  display: flex;
  justify-content: center;
  align-self: end;
  padding: 9px 16px;
  color: #7890a2;
  border-top: 1px solid #e0e8ed;
  background: #fff;
  font-size: 11px;
}

.window-statusbar__credit {
  font-weight: 700;
}

.workspace-main {
  min-height: calc(100vh - 64px);
}

html,
body {
  height: 100%;
  overflow: hidden;
}

.app-shell {
  height: 100vh;
  padding: 0;
  overflow: hidden;
}

.window-frame {
  display: flex;
  flex-direction: column;
  height: 100vh;
  min-height: 0;
  margin: 0;
}

.workspace-shell,
.window-frame.sidebar-collapsed .workspace-shell {
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
}

.workspace-main {
  min-height: 0;
  height: 100%;
  grid-template-rows: auto minmax(0, 1fr) auto;
}

.page {
  min-height: 0;
  overflow: auto;
}

/* O rodapé faz parte da estrutura fixa da área de trabalho; apenas o conteúdo da página rola. */
.workspace-main {
  display: grid;
  grid-template-rows: 56px minmax(0, 1fr) 38px;
  min-height: 0;
  overflow: hidden;
}

.window-statusbar {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 200;
  display: flex;
  width: 100%;
  min-height: 38px;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  color: #596d80;
  border-top: 1px solid #d9e1e7;
  background: #fff;
  overflow: hidden;
}

.page {
  grid-row: 2;
  min-height: 0;
  padding-bottom: 54px;
  overflow: auto;
}

/* Thermal label: 100 x 150 mm, portrait orientation. */
.labels-print-page--thermal { background: #f1f3f5; color: #000; }
.labels-print-page--thermal .labels-print-toolbar { color: #000; background: #fff; border-color: #000; }
.labels-print-page--thermal .labels-print-toolbar span { color: #000; }
.labels-print-page--thermal .labels-print-toolbar .button { color: #fff; border-color: #000; background: #000; }
.labels-print-page--thermal .labels-print-toolbar .button-secondary { color: #000; background: #fff; }
.labels-print-page--thermal .labels-sheet { padding: 20px; }

.labels-print-page--thermal .labels-a4-sheet {
  position: relative;
  display: block;
  width: 100mm;
  height: 150mm;
  gap: 0;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .16);
}

.labels-print-page--thermal .product-label {
  position: absolute;
  top: 143mm;
  left: 7mm;
  width: 136mm;
  height: 86mm;
  grid-template-rows: 31mm minmax(0, 1fr);
  transform: rotate(-90deg);
  transform-origin: top left;
  border-color: #000;
  color: #000;
}

.labels-print-page--thermal .product-label__carrier-strip { grid-template-columns: 38mm minmax(0, 1fr); gap: 3mm; padding: 2.4mm 4mm; border-color: #000; background: #fff; }
.labels-print-page--thermal .product-label__carrier-logo { height: 24mm; border: 0; border-radius: 0; }
.labels-print-page--thermal .product-label__carrier-logo--fallback,
.labels-print-page--thermal .product-label__volume { color: #fff; background: #000; }
.labels-print-page--thermal .product-label__carrier-copy,
.labels-print-page--thermal .product-label__carrier-copy > span,
.labels-print-page--thermal .product-label__carrier-copy strong,
.labels-print-page--thermal .product-label__carrier-copy small,
.labels-print-page--thermal .product-label__description,
.labels-print-page--thermal .product-label__facts,
.labels-print-page--thermal .product-label__fact--invoice strong,
.labels-print-page--thermal .product-label__fact--delivery strong,
.labels-print-page--thermal .product-label__party,
.labels-print-page--thermal .product-label__party-heading strong,
.labels-print-page--thermal .product-label__party-meta span,
.labels-print-page--thermal .product-label__facts b,
.labels-print-page--thermal .product-label__party b,
.labels-print-page--thermal .product-label__party-heading b,
.labels-print-page--thermal .product-label__party-meta b { color: #000; }

.labels-print-page--thermal .product-label__content { grid-template-rows: auto minmax(5mm, 7mm) minmax(20mm, 22mm) auto minmax(16mm, 19mm); gap: .8mm; padding: 2.2mm 4mm; }
.labels-print-page--thermal .product-label__header,
.labels-print-page--thermal .product-label__party,
.labels-print-page--thermal .product-label__qr { border-color: #000; }
.labels-print-page--thermal .product-label__facts { gap: 1mm 3mm; font-size: 7.3px; }
.labels-print-page--thermal .product-label__codes { grid-template-columns: minmax(0, 110mm) 18mm; min-height: 18mm; }
.labels-print-page--thermal .product-label__codes--qr-only { grid-template-columns: 1fr; justify-items: end; }
.labels-print-page--thermal .product-label__barcode-cluster { grid-template-rows: 11mm; }
.labels-print-page--thermal .product-label__barcode { height: 11mm; }
.labels-print-page--thermal .product-label__qr { width: 18mm; height: 18mm; }
.labels-print-page--thermal .product-label__parties { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2mm; }
.labels-print-page--thermal .product-label__party { padding-top: .65mm; }
.labels-print-page--thermal .product-label__party-heading b { font-size: 7.4px; }
.labels-print-page--thermal .product-label__party-heading strong { font-size: 9.4px; -webkit-line-clamp: 1; }
.labels-print-page--thermal .product-label__party-meta span { font-size: 7.1px; }
.labels-print-page--thermal .product-label__content { position: relative; }
.labels-print-page--thermal .product-label__header--volume {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  padding: 0;
  border-bottom: 0;
}
.labels-print-page--thermal .product-label__description {
  display: flex;
  align-items: baseline;
  gap: 1.5mm;
  overflow: hidden;
  font-size: 10px;
  white-space: nowrap;
  padding-right: 28mm;
}
.labels-print-page--thermal .product-label__description-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.labels-print-page--thermal .product-label__description-code { flex: 0 0 auto; font-size: 8.5px; }
.labels-print-page--thermal .product-label__volume { font-size: 15px; }
.labels-print-page--thermal .product-label__fact--invoice strong { font-size: 18px; }
.labels-print-page--thermal .product-label__fact--volumes {
  display: flex;
  align-items: baseline;
  gap: 1.2mm;
  min-width: 0;
  padding-left: .9mm;
  border-left: .6mm solid #000;
}
.labels-print-page--thermal .product-label__fact--volumes strong { font-size: 18px; line-height: 1; }
.labels-print-page--thermal .product-label__fact--delivery strong {
  font-size: 18px;
  line-height: 1;
  letter-spacing: .02em;
}

/* Grade fixa para impedir sobreposição entre produto, volume, QR Code e dados da nota. */
.labels-print-page--thermal .product-label__content {
  grid-template-rows: 9mm 16mm minmax(0, 1fr);
  gap: .7mm;
  padding: 2mm 4mm;
}

.labels-print-page--thermal .product-label__description {
  position: absolute;
  top: 0;
  left: 0;
  right: 29mm;
  z-index: 3;
  height: 7mm;
  padding: 0;
}

.labels-print-page--thermal .product-label__codes--qr-only {
  position: absolute;
  top: 10mm;
  right: 0;
  z-index: 2;
  min-height: 0;
}

.labels-print-page--thermal .product-label__qr { width: 16mm; height: 16mm; }
.labels-print-page--thermal .product-label__facts { grid-column: 1 / -1; grid-row: 2; padding-right: 21mm; }
.labels-print-page--thermal .product-label__parties { grid-column: 1 / -1; grid-row: 3; }

@page { size: 100mm 150mm; margin: 0; }

@media print {
  html,
  body,
  body.labels-print-page--thermal {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  .labels-print-page--thermal { width: 100mm; margin: 0; background: #fff; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .labels-print-page--thermal .labels-print-toolbar { display: none; }
  .labels-print-page--thermal .labels-sheet { display: block !important; width: 100mm !important; height: auto !important; margin: 0; padding: 0; overflow: visible !important; }
  .labels-print-page--thermal .labels-a4-sheet {
    position: relative !important;
    display: block !important;
    width: 100mm !important;
    min-width: 100mm !important;
    max-width: 100mm !important;
    height: 150mm !important;
    min-height: 150mm !important;
    max-height: 150mm !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-shadow: none;
    break-before: auto;
    break-inside: avoid;
    break-after: page;
    page-break-before: auto;
    page-break-inside: avoid;
    page-break-after: always;
  }
  .labels-print-page--thermal .product-label { isolation: isolate; contain: none; }
  .labels-print-page--thermal .labels-a4-sheet:last-child { break-after: auto; page-break-after: auto; }
}

.company-config-form {
  width: min(920px, 100%);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: end;
}

.company-config-form__full,
.company-config-form__logo,
.company-config-form__location {
  grid-column: 1 / -1;
}

.company-config-form__location {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 140px;
  gap: 14px;
}

.company-config-form__location label {
  min-width: 0;
}

.company-config-form__submit {
  grid-column: 2;
  justify-self: end;
  min-width: 130px;
}

@media (max-width: 620px) {
  .company-config-form { grid-template-columns: minmax(0, 1fr); }
  .company-config-form__location { grid-template-columns: minmax(0, 1fr); }
  .company-config-form__submit { grid-column: 1; width: 100%; }
}

.operations-list__search-field {
  position: relative;
  display: block;
}

.operations-list__search-field svg {
  position: absolute;
  top: 50%;
  left: 10px;
  width: 15px;
  height: 15px;
  pointer-events: none;
  color: #698096;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  transform: translateY(-50%);
}

.operations-list__search input {
  width: 220px;
  padding-left: 31px;
}

.manifest-dialog--viewer {
  width: min(1360px, calc(100vw - 24px));
  height: min(880px, calc(100vh - 24px));
  max-height: calc(100vh - 24px);
}

.manifest-sheet--viewer {
  padding: 16px 20px 20px;
}

.manifest-sheet--closed {
  position: relative;
  isolation: isolate;
}

.manifest-sheet--closed::before {
  content: "ENCERRADO";
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  place-items: center;
  color: rgba(22, 132, 84, 0.14);
  font-size: clamp(48px, 8vw, 116px);
  font-weight: 900;
  letter-spacing: 0.12em;
  line-height: 1;
  pointer-events: none;
  white-space: nowrap;
}

.manifest-sheet--closed .manifest-viewer__meta {
  gap: 8px;
  border: 0;
}

.manifest-sheet--closed .manifest-viewer__meta > div {
  border: 0;
  border-radius: 4px;
  background: #f7fafb;
}

.manifest-sheet--closed .manifest-sheet__section-title {
  border: 0;
  border-bottom: 2px solid #0fc692;
  background: #f7fafb;
}

.manifest-sheet--closed .manifest-sheet__details {
  gap: 8px;
}

.manifest-sheet--closed .manifest-sheet__details div {
  border: 0;
  border-radius: 4px;
  background: #f7fafb;
}

.manifest-sheet--closed .manifest-sheet__details b {
  background: transparent;
  border-bottom: 1px solid #e4ebef;
}

.manifest-sheet--closed .manifest-viewer__invoice-grid th,
.manifest-sheet--closed .manifest-viewer__invoice-grid td {
  border-bottom-color: #edf1f3;
}

.manifest-sheet--draft {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
}

.manifest-sheet--draft .manifest-sheet__draft-actions {
  margin-top: auto;
}

.note-tabs--manifest {
  min-height: 0;
  padding: 0;
}

.manifest-sheet--draft .note-tabs--manifest {
  display: block;
  flex: 0 0 auto;
}

.note-tabs--manifest .note-tabs__panel {
  flex: 0 0 auto;
  min-height: 0;
  padding-top: 18px;
}

.manifest-sheet__tab-total {
  display: grid;
  justify-content: end;
  gap: 4px;
  margin-top: 14px;
  padding: 10px 12px;
  border-left: 3px solid var(--nfe-red);
  background: var(--surface-soft);
  text-align: right;
}

.manifest-sheet__tab-total b {
  font-size: 11px;
  text-transform: uppercase;
}

.manifest-sheet__tab-total strong {
  font-size: 16px;
}

.note-tabs--manifest .manifest-field-tab {
  padding-top: 26px;
}

.note-tabs--manifest .note-tabs__list button {
  min-height: 29px;
  padding: 5px 9px;
  border: 1px solid var(--nfe-teal);
  border-radius: 3px;
  border-color: var(--nfe-teal);
  color: #fff;
  background: var(--nfe-teal);
  font: inherit;
  font-size: 12px;
  font-weight: 650;
}

.note-tabs--manifest .note-tabs__list button:hover {
  border-color: var(--nfe-teal-dark);
  color: #fff;
  background: var(--nfe-teal-dark);
}

.note-tabs--manifest .note-tabs__list button.is-active {
  border-color: #5367d6;
  color: #fff;
  background: #5367d6;
  box-shadow: none;
}

.note-tabs--manifest .note-tabs__list {
  gap: 8px;
  margin-top: -6px;
  padding-bottom: 8px;
  border-bottom: 2px solid #0fc692;
}

.manifest-field-tab > label {
  display: grid;
  width: min(420px, 100%);
  gap: 6px;
  margin: 0 auto;
  color: var(--nfe-navy);
  font-size: 12px;
  font-weight: 800;
}

.manifest-field-tab select {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

/* Mantém a Conferência inicial no mesmo enquadramento do Novo romaneio. */
.modal__dialog--summary {
  width: min(1360px, calc(100vw - 24px));
  height: min(880px, calc(100vh - 24px));
  max-height: calc(100vh - 24px);
}

[data-confirm-entry-modal] .modal__dialog--summary {
  width: min(1360px, calc(100vw - 24px));
  height: min(880px, calc(100vh - 24px));
  max-height: calc(100vh - 24px);
}

.modal__dialog--return-note {
  display: flex;
  width: min(780px, calc(100vw - 24px));
  height: min(640px, calc(100vh - 24px));
  max-height: calc(100vh - 24px);
  flex-direction: column;
  background: #fff;
}

.modal__dialog--return-note .modal__content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  overflow: auto;
}

.modal__dialog--return-note [data-return-note-panel="api-lookup"]:not([hidden]) {
  display: flex;
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
}

.modal__dialog--return-note [data-return-note-panel="api-save"]:not([hidden]) {
  display: flex;
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
}

.modal__dialog--return-note [data-return-note-panel="local-save"]:not([hidden]) {
  display: flex;
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
}

.modal__dialog--return-note:has(.return-note-viewer:not([hidden])) {
  width: min(1360px, calc(100vw - 24px));
  height: min(880px, calc(100vh - 24px));
}

.modal__dialog--return-note:has(.return-note-viewer:not([hidden])) .modal__section:has(.return-note-viewer) {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
  flex-direction: column;
}

.modal__dialog--return-note:has(.return-note-viewer:not([hidden])) .return-note-viewer {
  flex: 1 1 auto;
  min-height: 0;
}

.modal__dialog--return-note:has(.return-note-viewer:not([hidden])) .return-note-viewer iframe {
  height: 100%;
}

.modal__dialog--return-note:has(.return-note-viewer:not([hidden])) .return-note-viewer + .modal__actions {
  flex: 0 0 auto;
  margin-top: 12px;
}

.modal__dialog--occurrence {
  display: flex;
  width: min(780px, calc(100vw - 24px));
  height: min(640px, calc(100vh - 24px));
  max-height: calc(100vh - 24px);
  flex-direction: column;
  background: #fff;
}

.modal__dialog--occurrence .modal__header {
  border-bottom: 2px solid #0fc692;
}

.modal__dialog--return-note .modal__header {
  border-bottom: 2px solid #0fc692;
}

.modal__dialog--delivery,
.modal__dialog--extra-cost {
  width: min(1360px, calc(100vw - 24px));
  height: min(880px, calc(100vh - 24px));
  max-height: calc(100vh - 24px);
  background: #fff;
}

.modal__dialog--delivery {
  display: flex;
  width: min(780px, calc(100vw - 24px));
  height: min(640px, calc(100vh - 24px));
  flex-direction: column;
}

.modal__dialog--delivery .modal__header {
  border-bottom: 2px solid #0fc692;
}

.modal__dialog--extra-cost {
  display: flex;
  width: min(780px, calc(100vw - 24px));
  height: min(640px, calc(100vh - 24px));
  flex-direction: column;
}

.modal__dialog--extra-cost .modal__header {
  border-bottom: 2px solid #0fc692;
}

.extra-cost-form {
  display: grid;
  flex: 1 1 auto;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto auto 1fr auto;
  width: 100%;
  min-height: 0;
  gap: 16px;
}

.extra-cost-form > label,
.extra-cost-form input,
.delivery-form textarea {
  width: 100%;
  box-sizing: border-box;
}

.extra-cost-form .helper {
  align-self: start;
  margin: 0;
}

.extra-cost-form__actions {
  display: flex;
  align-self: end;
  justify-content: flex-end;
  padding-top: 12px;
  border-top: 1px solid #e4ebef;
}

.occurrence-form {
  display: grid;
  width: 100%;
  margin: 0;
  padding: 22px 24px 0;
  grid-template-columns: minmax(0, 1.15fr) minmax(190px, .85fr);
  grid-template-areas:
    "type date"
    "title title"
    "description description"
    "attachment attachment"
    "actions actions";
  gap: 16px;
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  box-sizing: border-box;
}

.occurrence-form label {
  display: grid;
  gap: 7px;
  color: var(--nfe-navy);
  font-size: 12px;
  font-weight: 800;
}

.occurrence-form__type { grid-area: type; }
.occurrence-form__schedule { display:grid; grid-area:date; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; }
.occurrence-form__schedule label { min-width:0; }
.occurrence-form__title { grid-area: title; }
.occurrence-form__description { grid-area: description; }
.occurrence-form__attachment { grid-area: attachment; }

.occurrence-form textarea {
  min-height: 116px;
  resize: vertical;
}

.occurrence-form__actions {
  grid-area: actions;
  display: flex;
  justify-content: flex-end;
  margin: 2px -24px 0;
  padding: 12px 24px 16px;
  border-top: 1px solid #e4ebef;
  background: #fff;
}

@media (max-width: 620px) {
  .modal__dialog--occurrence { width: min(100%, calc(100vw - 20px)); }
  .occurrence-form {
    grid-template-columns: 1fr;
    grid-template-areas:
      "type"
      "date"
      "title"
      "description"
      "attachment"
      "actions";
    padding-inline: 16px;
  }

  .occurrence-form__actions {
    margin-inline: -16px;
    padding-inline: 16px;
  }
}
  padding: 0;
}

.note-tabs--manifest .manifest-sheet__meta--draft {
  display: grid;
  width: min(680px, 100%);
  margin: 12px auto 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  align-content: start;
  box-sizing: border-box;
}

.note-tabs--manifest .manifest-sheet__meta--draft label:last-child {
  grid-column: 1 / -1;
}

.note-tabs--manifest .manifest-sheet__meta--draft select,
.note-tabs--manifest .manifest-sheet__meta--draft input {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.note-tabs--manifest .manifest-sheet__footer--compact {
  width: min(680px, 100%);
  margin: 12px auto 0;
  grid-template-columns: minmax(0, 1fr) 170px;
  box-sizing: border-box;
}

.manifest-sheet--new {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
}

.manifest-sheet--new .manifest-sheet__submit {
  margin: 0;
  align-self: center;
}

.manifest-sheet__submit-row {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  margin-top: auto;
}

.manifest-sheet__submit-row .manifest-sheet__tab-total {
  margin: 0;
}

.manifest-sheet--draft .manifest-sheet__draft-footer {
  margin-top: auto;
}

.manifest-sheet--draft .manifest-sheet__draft-footer .manifest-sheet__draft-actions {
  margin-top: 0;
  padding-top: 0;
}

/* Novo romaneio: versão operacional, compacta e alinhada aos demais modais. */
.manifest-sheet--new {
  gap: 16px;
  padding: 20px 22px 22px;
}

.manifest-sheet__meta--compact {
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  padding: 14px;
  border: 1px solid var(--nfe-border);
  border-radius: 10px;
  background: var(--surface-soft);
}

.manifest-sheet__meta--draft {
  grid-template-columns: 1fr 1fr 1fr;
}

.manifest-sheet__notes--compact {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  min-height: 0;
  gap: 10px;
}

.manifest-sheet__notes--compact .table-scroll {
  min-height: 0;
  align-self: stretch;
}

.manifest-sheet__notes--compact .manifest-sheet__tab-total {
  align-self: end;
  margin-top: 0;
}

.manifest-sheet__notes--compact .manifest-sheet__section-title {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--nfe-navy);
  font-size: 13px;
}

.manifest-sheet__notes--compact .manifest-sheet__add {
  padding: 0;
  border: 0;
}

.manifest-sheet__invoice-grid--compact {
  min-width: 680px;
}

.manifest-sheet__invoice-grid--compact col:nth-child(1) { width: 13%; }
.manifest-sheet__invoice-grid--compact col:nth-child(2) { width: 34%; }
.manifest-sheet__invoice-grid--compact col:nth-child(3) { width: 21%; }
.manifest-sheet__invoice-grid--compact col:nth-child(4) { width: 12%; }
.manifest-sheet__invoice-grid--compact col:nth-child(5) { width: 20%; }

.manifest-sheet__invoice-grid--draft th:last-child,
.manifest-sheet__invoice-grid--draft td:last-child {
  width: 58px;
  text-align: center;
}

.manifest-sheet__footer--compact {
  grid-template-columns: 1fr auto;
  gap: 14px;
  padding-top: 4px;
  border-top: 1px solid var(--nfe-border);
}

.manifest-sheet__footer--compact > div {
  min-width: 190px;
  border: 0;
  border-left: 3px solid var(--nfe-red);
  border-radius: 0;
  background: transparent;
}

.manifest-sheet__footer--compact label span {
  color: var(--nfe-muted);
  font-weight: 500;
}

.history-manifest-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--nfe-red);
  font-weight: 800;
  text-decoration: none;
}

.history-manifest-link .ui-icon {
  width: 18px;
  height: 18px;
}

.history-manifest-link:hover {
  text-decoration: underline;
}

.scheduled-delivery-date {
  color: var(--nfe-red);
  font-weight: 800;
}

.occurrence--superseded td {
  color: var(--nfe-muted);
  text-decoration: line-through;
  opacity: .62;
}

.occurrence--superseded .scheduled-delivery-date {
  color: var(--nfe-muted);
}

.note-tabs:has(.scheduled-delivery-watermark) {
  position: relative;
}

.scheduled-delivery-watermark {
  position: absolute;
  top: 56%;
  left: 50%;
  z-index: 4;
  color: var(--nfe-red);
  font-size: clamp(42px, 6vw, 82px);
  font-weight: 900;
  letter-spacing: .12em;
  opacity: .11;
  pointer-events: none;
  transform: translate(-50%, -50%);
}

.return-history-summary {
  position: relative;
}

.return-history-summary__watermark {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 4;
  color: var(--nfe-red);
  font-size: clamp(42px, 6vw, 82px);
  font-weight: 900;
  letter-spacing: .12em;
  opacity: .11;
  pointer-events: none;
  transform: translate(-50%, -50%);
}

.return-history-summary__watermark--returned {
  color: #2a5f8e;
}

.event-history-table { width: 100%; table-layout: fixed; }
.event-history-table th:nth-child(1) { width: 6%; }
.event-history-table th:nth-child(2) { width: 13%; }
.event-history-table th:nth-child(3) { width: 14%; }
.event-history-table th:nth-child(4) { width: 16%; }
.event-history-table th:nth-child(5) { width: 13%; }
.event-history-table th:nth-child(6) { width: 31%; }
.event-history-table th:nth-child(7) { width: 7%; }

.manifest-viewer__header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.manifest-viewer__meta {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border: 1px solid #66717d;
}

.manifest-viewer__meta > div {
  display: grid;
  gap: 4px;
  min-height: 56px;
  padding: 9px 10px;
  border-right: 1px solid #66717d;
}

.manifest-viewer__meta > div:last-child {
  border-right: 0;
}

.manifest-viewer__meta span {
  color: #5e6d79;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.manifest-viewer__meta strong {
  color: #24384a;
  font-size: 13px;
}

.manifest-viewer__invoice-grid {
  min-width: 1060px;
}

.manifest-viewer__invoice-link {
  color: #087d65;
  font-weight: 800;
  text-decoration: none;
}

.manifest-viewer__invoice-link:hover {
  text-decoration: underline;
}

.manifest-invoice-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
}

.manifest-invoice-summary > a:first-child {
  color: #3c68df;
  font-weight: 700;
}

.manifest-grouped-invoices-link {
  color: #087d65;
  font-weight: 700;
  text-decoration: none;
}

.manifest-grouped-invoices-link:hover {
  text-decoration: underline;
}

.manifest-invoice-popover[hidden] {
  display: none;
}

.manifest-invoice-popover {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 80;
  width: min(620px, calc(100vw - 32px));
  max-height: min(580px, calc(100vh - 32px));
  border: 1px solid #b9cbd7;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 16px 36px rgba(24, 48, 68, .22);
  transform: translate(-50%, -50%);
}

.manifest-invoice-popover.is-positioned {
  transform: none;
}

.manifest-invoice-popover.is-positioned::before {
  position: absolute;
  top: calc(var(--manifest-popover-arrow-top) - 7px);
  width: 14px;
  height: 14px;
  background: #fff;
  content: "";
  transform: rotate(45deg);
}

.manifest-invoice-popover[data-side="right"]::before {
  left: -8px;
  border-bottom: 1px solid #b9cbd7;
  border-left: 1px solid #b9cbd7;
}

.manifest-invoice-popover[data-side="left"]::before {
  right: -8px;
  border-top: 1px solid #b9cbd7;
  border-right: 1px solid #b9cbd7;
}

.manifest-invoice-list-dialog {
  display: flex;
  max-height: min(580px, calc(100vh - 32px));
  flex-direction: column;
}

.manifest-invoice-list {
  display: grid;
  gap: 12px;
  overflow: auto;
  padding: 16px 18px 18px;
}

.manifest-invoice-list__table {
  min-width: 620px;
}

.manifest-invoice-list__note-link {
  color: #087d65;
  font-weight: 800;
  text-decoration: none;
}

.manifest-invoice-list__note-link:hover {
  text-decoration: underline;
}

.manifest-viewer__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

body:has([data-manifest-viewer]:not([hidden])) {
  overflow: hidden;
}

.manifest-viewer__details p {
  white-space: pre-wrap;
}

@media (max-width: 700px) {
  .operations-list__actionbar {
    align-items: stretch;
    flex-wrap: wrap;
  }

  .operations-list__search,
  .operations-list__actions {
    width: 100%;
    flex-wrap: wrap;
  }

  .operations-list__search-field {
    flex: 1 1 190px;
  }

  .operations-list__search input {
    width: 100%;
  }

  .operations-list__actions {
    justify-content: flex-end;
  }

  .manifest-dialog--viewer {
    width: calc(100vw - 24px);
    height: min(880px, calc(100vh - 24px));
    max-height: calc(100vh - 24px);
  }

  .manifest-viewer__meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .manifest-viewer__header-actions,
  .manifest-sheet__draft-actions {
    flex-wrap: wrap;
  }

  .manifest-sheet__draft-actions .button {
    flex: 1 1 180px;
  }

  .note-tabs--manifest .manifest-sheet__meta--draft,
  .note-tabs--manifest .manifest-sheet__footer--compact {
    width: 100%;
    margin-inline: 0;
  }

  .note-tabs--manifest .manifest-sheet__meta--draft {
    grid-template-columns: 1fr;
  }

  .note-tabs--manifest .manifest-sheet__meta--draft label:last-child {
    grid-column: auto;
  }

  .note-tabs--manifest .manifest-sheet__footer--compact {
    grid-template-columns: 1fr;
  }

  .manifest-viewer__meta > div:nth-child(even) {
    border-right: 0;
  }

  .manifest-viewer__meta > div:nth-child(-n + 4) {
    border-bottom: 1px solid #66717d;
  }

  .manifest-invoice-popover {
    width: calc(100vw - 16px);
    max-height: calc(100vh - 16px);
  }

  .manifest-invoice-popover.is-positioned::before {
    display: none;
  }
}

/* Sistema unificado de ícones: traço moderno, leve e consistente. */
.ui-icon-sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  pointer-events: none;
}

.ui-icon {
  width: var(--ui-icon-size, 18px);
  height: var(--ui-icon-size, 18px);
  display: inline-block;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  vertical-align: middle;
}

.sidebar-nav__icon .ui-icon,
.workspace-caption__icon .ui-icon,
.dashboard-card__icon .ui-icon,
.workspace-user__icon .ui-icon,
.window-company-fallback .ui-icon {
  width: 100%;
  height: 100%;
}

.button--with-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}

.button--with-icon .ui-icon {
  width: 16px;
  height: 16px;
}

.action-icon-button {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid #d9e4ea;
  border-radius: 8px;
  background: #fff;
  box-shadow: none;
  color: #365a73;
  text-decoration: none;
  transition: color .16s ease, border-color .16s ease, background .16s ease, transform .16s ease;
}

.action-icon-button .ui-icon {
  width: 17px;
  height: 17px;
  stroke-width: 1.8;
}

.action-icon-button:hover {
  border-color: #a9cbd7;
  background: #f2f9fa;
  color: #087f7d;
  transform: translateY(-1px);
}

.action-icon-button:focus-visible {
  outline: 2px solid rgba(13, 170, 160, .45);
  outline-offset: 2px;
}

.action-icon-button:disabled {
  cursor: not-allowed;
  opacity: .42;
  transform: none;
}

.action-icon-button--open,
.action-icon-button--edit { color: #2e668b; }

.table-action-buttons {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.action-icon-button--dispatch { color: #078d70; }
.action-icon-button--pdf { color: #5869a6; }
.action-icon-button--cancel,
.action-icon-button--remove { color: #c34742; }

.action-icon-button--cancel:hover,
.action-icon-button--remove:hover {
  border-color: #e6b2ae;
  background: #fff4f3;
  color: #b43833;
}

.toolbar-icon--svg {
  display: grid;
  place-items: center;
}

.toolbar-icon--svg::before { display: none; }
.toolbar-icon--svg .ui-icon { width: 13px; height: 13px; }

.window-titlebar__caption--company::before { display: none; }
.window-company-fallback {
  width: 30px;
  height: 30px;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  padding: 7px;
  border-radius: 8px;
  color: #fff;
  background: #31b7b7;
}

.workspace-user::before { display: none; }
.workspace-user__icon {
  width: 28px;
  height: 28px;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  padding: 6px;
  border-radius: 50%;
  color: #fff;
  background: #2e4c65;
}

.sidebar-toggle .ui-icon {
  width: 16px;
  height: 16px;
}

.modal__close {
  position: relative;
  display: inline-grid;
  place-items: center;
  font-size: 0;
}

.modal__close::before,
.modal__close::after {
  position: absolute;
  width: 13px;
  height: 1.6px;
  border-radius: 2px;
  background: currentColor;
  content: "";
}

.modal__close::before { transform: rotate(45deg); }
.modal__close::after { transform: rotate(-45deg); }

.dashboard-hero__action > span {
  display: inline;
  width: auto;
  height: auto;
  color: inherit;
  background: transparent;
}

.dashboard-hero__action .ui-icon {
  width: 17px;
  height: 17px;
}

.toolbar-icon--green { color: var(--success); }
.toolbar-icon--gold { color: var(--warning); }
.toolbar-icon--blue { color: #3d7baa; }

.login-form__submit .ui-icon,
.operations-list__search-field .ui-icon,
.action-icon-button--remove .ui-icon {
  stroke-width: 1.8;
}

/* Fila e conferência física de mercadorias. */
.conference-list__counter {
  color: #527087;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.conference-grid tbody tr[data-conference-row-link] {
  cursor: pointer;
}

.conference-grid tbody tr[data-conference-row-link]:hover td {
  background: #f3fbfb;
}

.conference-grid td small {
  display: block;
  margin-top: 3px;
  color: #6e8495;
  font-size: 11px;
}

.conference-detail .legacy-group__legend {
  margin-bottom: 0;
}

.conference-note-summary {
  display: grid;
  grid-template-columns: .7fr .55fr minmax(190px, 1.25fr) minmax(190px, 1.25fr) minmax(140px, .9fr);
  gap: 0;
  margin: 0 0 14px;
  border-bottom: 1px solid #d9e6ec;
  background: #f7fafc;
}

.conference-note-summary > div {
  display: grid;
  min-width: 0;
  gap: 3px;
  padding: 11px 13px;
  border-right: 1px solid #e2ebef;
}

.conference-note-summary > div:last-child {
  border-right: 0;
}

.conference-note-summary span {
  color: #708699;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.conference-note-summary strong {
  overflow: hidden;
  color: #294b62;
  font-size: 12px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.conference-delivery-confirmation {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 12px;
  padding: 10px 13px;
  border: 1px solid #b9ddd8;
  border-radius: 8px;
  background: #f2fbf9;
}

.conference-delivery-confirmation > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.conference-delivery-confirmation > div > span {
  color: #607d8e;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.conference-delivery-confirmation strong {
  color: #235b5a;
  font-size: 13px;
}

.conference-delivery-confirmation > label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #2b5e60;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.conference-delivery-confirmation input {
  width: 17px;
  height: 17px;
  margin: 0;
  accent-color: #08a889;
}

.conference-delivery-confirmation.is-missing {
  border-color: #e5b5b0;
  background: #fff5f4;
}

.conference-delivery-confirmation.is-missing strong,
.conference-delivery-confirmation.is-missing > label {
  color: #a4403b;
}

.conference-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 10px;
}

.conference-toolbar > span {
  color: #516f82;
  font-size: 12px;
  font-weight: 700;
}

.conference-grid--products th:first-child,
.conference-grid--products td:first-child {
  width: 126px;
}

.conference-product-check {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #4f6d81;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.conference-product-check input {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: #08a889;
}

.conference-grid--products tr.is-checked td {
  background: #effbf7;
}

.conference-grid--products tr.is-checked td:first-child {
  box-shadow: inset 3px 0 0 #19b68c;
}

.conference-grid--products .label-quantity-input {
  width: 84px;
  min-width: 84px;
}

.conference-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 14px;
  padding: 14px 0 0;
  border-top: 1px solid #dce8ed;
}

.conference-actions .button {
  margin: 0;
}

.conference-occurrence-form {
  grid-template-columns: minmax(0, 1fr) minmax(170px, .72fr);
}

.conference-occurrence-form__description,
.conference-occurrence-form .modal__actions {
  grid-column: 1 / -1;
}

.conference-occurrence-form textarea {
  min-height: 94px;
  resize: vertical;
}

.conference-start-confirmation {
  display: grid;
  gap: 6px;
  margin: 2px 0 16px;
  padding: 12px 13px;
  border-left: 3px solid #0ba88d;
  background: #f3faf9;
}

.conference-start-confirmation strong {
  color: #294f67;
  font-size: 13px;
}

.conference-start-confirmation span,
.conference-finish-form__hint {
  color: #627c8e;
  font-size: 12px;
  line-height: 1.45;
}

.conference-finish-form {
  grid-template-columns: minmax(0, 1fr);
}

.conference-finish-form [data-finish-conference-values] {
  display: contents;
}

.conference-finish-form label,
.conference-finish-form__hint,
.conference-finish-form .modal__actions {
  grid-column: 1 / -1;
}

.dispatch-without-conference {
  display: grid;
  gap: 14px;
  padding-top: 2px;
}

.dispatch-without-conference__alert {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 13px 14px;
  border: 1px solid #f1d59f;
  border-left: 3px solid #d98916;
  border-radius: 6px;
  background: #fff9ec;
}

.dispatch-without-conference__alert .ui-icon {
  flex: 0 0 auto;
  width: 19px;
  height: 19px;
  color: #bd720d;
}

.dispatch-without-conference__alert div {
  display: grid;
  gap: 3px;
}

.dispatch-without-conference__alert strong {
  color: #784a12;
  font-size: 13px;
}

.dispatch-without-conference__alert span,
.dispatch-without-conference__invoices > span {
  color: #6d5a3d;
  font-size: 12px;
  line-height: 1.45;
}

.dispatch-without-conference__invoices {
  display: grid;
  gap: 7px;
}

.dispatch-without-conference__invoices > span {
  color: #3d586d;
  font-weight: 700;
}

.dispatch-without-conference__invoices ul {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.dispatch-without-conference__invoices li {
  padding: 6px 9px;
  border: 1px solid #e1e9ed;
  border-radius: 4px;
  color: #4d6070;
  background: #f8fafb;
  font-size: 12px;
}

.dispatch-without-conference__invoices li strong {
  color: #1d4058;
}

.system-feedback-modal {
  z-index: 90;
}

.system-feedback-modal__dialog {
  width: min(440px, calc(100vw - 32px));
  min-height: 200px;
  grid-template-rows: auto auto auto;
}

.system-feedback-modal__content {
  display: grid;
  justify-items: center;
  gap: 12px;
  padding: 22px 24px 14px;
  text-align: center;
}

.system-feedback-modal__icon {
  display: grid;
  width: 72px;
  height: 72px;
  place-items: center;
  border-radius: 50%;
  color: #098b77;
  background: radial-gradient(circle at 35% 30%, #f5fffc 0 22%, #d5f4eb 23% 100%);
  border: 1px solid #a9e2d2;
  box-shadow: 0 8px 20px rgba(9, 139, 119, .16);
}

.system-feedback-modal__icon .ui-icon {
  width: 42px;
  height: 42px;
  stroke-width: 2.2;
}

.system-feedback-modal__content p {
  max-width: 320px;
  margin: 0;
  color: #38556a;
  font-size: 13px;
  line-height: 1.5;
}

.system-feedback-modal__actions {
  margin-top: 0;
  padding: 0 20px 20px;
}

.system-feedback-modal__actions--right {
  display: flex;
  justify-content: flex-end;
}

.system-feedback-modal[data-feedback-type="error"] .system-feedback-modal__icon {
  color: #c73f42;
  background: radial-gradient(circle at 35% 30%, #fff8f8 0 22%, #f9dfe2 23% 100%);
  border-color: #efb9c0;
  box-shadow: 0 8px 20px rgba(199, 63, 66, .14);
}

.system-feedback-modal[data-feedback-type="info"] .system-feedback-modal__icon,
.system-feedback-modal[data-feedback-type="warning"] .system-feedback-modal__icon {
  color: #537691;
  background: radial-gradient(circle at 35% 30%, #fbfdfe 0 22%, #e0edf3 23% 100%);
  border-color: #c5dce8;
  box-shadow: 0 8px 20px rgba(83, 118, 145, .13);
}

.manifest-dispatch-confirm-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.manifest-dispatch-confirm-form__datetime,
.manifest-dispatch-confirm-form__actions {
  grid-column: 1 / -1;
}

@media (max-width: 1100px) {
  .conference-note-summary {
    grid-template-columns: repeat(3, minmax(160px, 1fr));
  }

  .conference-note-summary > div:nth-child(3n) {
    border-right: 0;
  }

  .conference-note-summary > div:nth-child(n + 4) {
    border-top: 1px solid #e2ebef;
  }
}

@media (max-width: 700px) {
  .conference-list__counter {
    display: none;
  }

  .conference-note-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .conference-note-summary > div {
    border-top: 1px solid #e2ebef;
  }

  .conference-note-summary > div:nth-child(odd) {
    border-right: 1px solid #e2ebef;
  }

  .conference-note-summary > div:nth-child(even) {
    border-right: 0;
  }

  .conference-toolbar,
  .conference-delivery-confirmation,
  .conference-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .conference-occurrence-form {
    grid-template-columns: 1fr;
  }

  .manifest-dispatch-confirm-form {
    grid-template-columns: 1fr;
  }

  .conference-actions .button {
    width: 100%;
  }
}

@media (min-width: 621px) {
  .sidebar__header,
  .window-frame.sidebar-collapsed .sidebar__header {
    justify-content: flex-end;
  }
}
